|
SUMO - Simulation of Urban MObility
|
Representation of a lane in the micro simulation. More...
#include <MSLane.h>
Data Structures | |
| class | by_connections_to_sorter |
| class | edge_finder |
| struct | IncomingLaneInfo |
| class | vehicle_position_sorter |
| Sorts vehicles by their position (descending) More... | |
| struct | VehPosition |
Public Types | |
| typedef std::deque< MSVehicle * > | VehCont |
| Container for vehicles. | |
Public Member Functions | |
| void | addApproachingLane (MSLane *lane) |
| void | addIncomingLane (MSLane *lane, MSLink *viaLink) |
| bool | allowsVehicleClass (SUMOVehicleClass vclass) const |
| virtual bool | appropriate (const MSVehicle *veh) |
| virtual GUILaneWrapper * | buildLaneWrapper (unsigned int index) |
| virtual void | detectCollisions (SUMOTime timestep) |
| Check if vehicles are too close. | |
| bool | empty () const |
| Returns true if there is not a single vehicle on the lane. | |
| void | enteredByLaneChange (MSVehicle *v) |
| MSEdge & | getEdge () const throw () |
| Returns the lane's edge. | |
| virtual const MSVehicle * | getFirstVehicle () const |
| std::pair< MSVehicle *const, SUMOReal > | getFollowerOnConsecutive (SUMOReal dist, SUMOReal seen, SUMOReal leaderSpeed, SUMOReal backOffset, SUMOReal predMaxDecel) const |
| const std::string & | getID () const |
| Returns the id. | |
| const std::vector < IncomingLaneInfo > & | getIncomingLanes () const |
| virtual MSVehicle * | getLastVehicle () const |
| returns the last vehicle | |
| std::pair< MSVehicle *const, SUMOReal > | getLeaderOnConsecutive (SUMOReal dist, SUMOReal seen, SUMOReal speed, const MSVehicle &veh, const std::vector< MSLane * > &bestLaneConts) const throw () |
| Returns the leader and the distance to him. | |
| MSLane * | getLeftLane () const |
| const MSLinkCont & | getLinkCont () const |
| returns the container with all links !!! | |
| MSLane * | getLogicalPredecessorLane () const throw () |
| MSLane * | getRightLane () const |
| bool | isApproachedFrom (MSEdge *const edge, MSLane *const lane) |
| bool | isApproachedFrom (MSEdge *const edge) |
| bool | isLinkEnd (MSLinkCont::const_iterator &i) const |
| bool | isLinkEnd (MSLinkCont::iterator &i) |
| void | leftByLaneChange (MSVehicle *v) |
| MSLane (const std::string &id, SUMOReal maxSpeed, SUMOReal length, MSEdge *const edge, unsigned int numericalID, const PositionVector &shape, SUMOReal width, const SUMOVehicleClasses &allowed, const SUMOVehicleClasses &disallowed) throw () | |
| Constructor. | |
| virtual MSVehicle * | removeVehicle (MSVehicle *remVehicle) |
| void | setAllowedClasses (const SUMOVehicleClasses &classes) throw () |
| void | setID (const std::string &newID) |
| resets the id | |
| void | setLength (SUMOReal val) throw () |
| void | setMaxSpeed (SUMOReal val) throw () |
| void | setNotAllowedClasses (const SUMOVehicleClasses &classes) throw () |
| virtual MSLinkCont::const_iterator | succLinkSec (const SUMOVehicle &veh, unsigned int nRouteSuccs, const MSLane &succLinkSource, const std::vector< MSLane * > &conts) const |
| virtual | ~MSLane () throw () |
| Destructor. | |
Additional initialisation | |
| void | initialize (MSLinkCont *succs) |
| Delayed initialization (deprecated) | |
| void | addLink (MSLink *link) |
| Delayed initialization. | |
interaction with MSMoveReminder | |
| virtual void | addMoveReminder (MSMoveReminder *rem) throw () |
| Add a move-reminder to move-reminder container. | |
| const std::vector < MSMoveReminder * > & | getMoveReminders () const throw () |
| Return the list of this lane's move reminders. | |
Vehicle insertion | |
| bool | insertVehicle (MSVehicle &v) throw (ProcessError) |
| Tries to insert the given vehicle. | |
| virtual bool | isInsertionSuccess (MSVehicle *vehicle, SUMOReal speed, SUMOReal pos, bool recheckNextLanes, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED) throw (ProcessError) |
| Tries to insert the given vehicle with the given state (speed and pos) | |
| bool | pWagGenericInsertion (MSVehicle &veh, SUMOReal speed, SUMOReal maxPos, SUMOReal minPos) throw () |
| bool | pWagSimpleInsertion (MSVehicle &veh, SUMOReal speed, SUMOReal maxPos, SUMOReal minPos) throw () |
| bool | maxSpeedGapInsertion (MSVehicle &veh, SUMOReal mspeed) throw () |
| bool | freeInsertion (MSVehicle &veh, SUMOReal speed, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED) throw () |
| Tries to insert the given vehicle on any place. | |
| void | forceVehicleInsertion (MSVehicle *veh, SUMOReal pos) throw () |
| Inserts the given vehicle at the given position. | |
Handling vehicles lapping into lanes | |
| SUMOReal | setPartialOccupation (MSVehicle *v, SUMOReal leftVehicleLength) throw () |
| Sets the information about a vehicle lapping into this lane. | |
| void | resetPartialOccupation (MSVehicle *v) throw () |
| Removes the information about a vehicle lapping into this lane. | |
| MSVehicle * | getPartialOccupator () const throw () |
| Returns the vehicle which laps into this lane. | |
| SUMOReal | getPartialOccupatorEnd () const throw () |
| Returns the position of the in-lapping vehicle's end. | |
| std::pair< MSVehicle *, SUMOReal > | getLastVehicleInformation () const throw () |
| Returns the last vehicle which is still on the lane. | |
Access to vehicles | |
| unsigned int | getVehicleNumber () const throw () |
| Returns the number of vehicles on this lane. | |
| virtual const std::deque < MSVehicle * > & | getVehiclesSecure () const throw () |
| Returns the vehicles container; locks it for microsimulation. | |
| virtual void | releaseVehicles () const throw () |
| Allows to use the container for microsimulation again. | |
Atomar value getter | |
| size_t | getNumericalID () const throw () |
| Returns this lane's numerical id. | |
| const PositionVector & | getShape () const throw () |
| Returns this lane's shape. | |
| SUMOReal | getMaxSpeed () const throw () |
| Returns the lane's maximum speed. | |
| SUMOReal | getLength () const throw () |
| Returns the lane's length. | |
| const SUMOVehicleClasses & | getAllowedClasses () const throw () |
| Returns vehicle classes explicitly allowed on this lane. | |
| const SUMOVehicleClasses & | getNotAllowedClasses () const throw () |
| Returns vehicle classes explicitly disallowed on this lane. | |
| SUMOReal | getWidth () const throw () |
| Returns the lane's width. | |
Vehicle movement (longitudinal) | |
| virtual bool | moveCritical (SUMOTime t) |
| virtual bool | setCritical (SUMOTime t, std::vector< MSLane * > &into) |
| virtual bool | integrateNewVehicle (SUMOTime t) |
| Insert buffered vehicle into the real lane. | |
Current state retrieval | |
| SUMOReal | getMeanSpeed () const throw () |
| Returns the mean speed on this lane. | |
| SUMOReal | getOccupancy () const throw () |
| Returns the occupancy of this lane during the last step. | |
| SUMOReal | getVehLenSum () const throw () |
| Returns the sum of lengths of vehicles which were on the lane during the last step. | |
| SUMOReal | getHBEFA_CO2Emissions () const throw () |
| Returns the sum of last step CO2 emissions. | |
| SUMOReal | getHBEFA_COEmissions () const throw () |
| Returns the sum of last step CO emissions. | |
| SUMOReal | getHBEFA_PMxEmissions () const throw () |
| Returns the sum of last step PMx emissions. | |
| SUMOReal | getHBEFA_NOxEmissions () const throw () |
| Returns the sum of last step NOx emissions. | |
| SUMOReal | getHBEFA_HCEmissions () const throw () |
| Returns the sum of last step HC emissions. | |
| SUMOReal | getHBEFA_FuelConsumption () const throw () |
| Returns the sum of last step fuel consumption. | |
| SUMOReal | getHarmonoise_NoiseEmissions () const throw () |
| Returns the sum of last step noise emissions. | |
Static Public Member Functions | |
| static void | clear () |
| static MSLane * | dictionary (std::string id) |
| Returns the MSLane associated to the key id if exists Otherwise returns 0. | |
| static bool | dictionary (std::string id, MSLane *lane) |
| Inserts a MSLane into the static dictionary Returns true if the key id isn't already in the dictionary. Otherwise returns false. | |
| static size_t | dictSize () |
| static void | insertIDs (std::vector< std::string > &into) throw () |
Data Fields | |
| PositionVector | myShape |
| The shape of the lane. | |
Protected Types | |
| typedef std::map< std::string, MSLane * > | DictType |
| definition of the tatic dictionary type | |
Protected Member Functions | |
| virtual void | incorporateVehicle (MSVehicle *veh, SUMOReal pos, SUMOReal speed, const MSLane::VehCont::iterator &at, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED) throw (ProcessError) |
| Inserts the vehicle into this lane, and informs it about entering the network. | |
| virtual void | swapAfterLaneChange (SUMOTime t) |
| moves myTmpVehicles int myVehicles after a lane change procedure | |
Protected Attributes | |
| SUMOVehicleClasses | myAllowedClasses |
| The list of allowed vehicle classes. | |
| std::map< MSEdge *, std::vector< MSLane * > > | myApproachingLanes |
| SUMOReal | myBackDistance |
| MSEdge * | myEdge |
| The lane's edge, for routing only. | |
| std::string | myID |
| The name of the object. | |
| std::vector< IncomingLaneInfo > | myIncomingLanes |
| MSVehicle * | myInlappingVehicle |
| The vehicle which laps into this lane. | |
| SUMOReal | myInlappingVehicleEnd |
| End position of a vehicle which laps into this lane. | |
| SUMOReal | myLeftVehLength |
| Not yet seen vehicle lengths. | |
| SUMOReal | myLength |
| Lane length [m]. | |
| MSLinkCont | myLinks |
| MSLane * | myLogicalPredecessorLane |
| SUMOReal | myMaxSpeed |
| Lane-wide speedlimit [m/s]. | |
| SUMOVehicleClasses | myNotAllowedClasses |
| The list of disallowed vehicle classes. | |
| size_t | myNumericalID |
| Unique numerical ID (set on reading by netload) | |
| VehCont | myTmpVehicles |
| std::vector< MSVehicle * > | myVehBuffer |
| SUMOReal | myVehicleLengthSum |
| The current length of all vehicles on this lane. | |
| VehCont | myVehicles |
| The lane's vehicles. The entering vehicles are inserted at the front of this container and the leaving ones leave from the back, e.g. the vehicle in front of the junction (often called first) is myVehicles.back() (if it exists). And if it is an iterator at a vehicle, ++it points to the vehicle in front. This is the interaction vehicle. | |
| SUMOReal | myWidth |
| Lane width [m]. | |
Static Protected Attributes | |
| static DictType | myDict |
| Static dictionary to associate string-ids with objects. | |
Private Member Functions | |
| MSLane (const MSLane &) | |
| invalidated copy constructor | |
| MSLane & | operator= (const MSLane &) |
| invalidated assignment operator | |
Private Attributes | |
| std::vector< MSMoveReminder * > | myMoveReminders |
| This lane's move reminder. | |
Friends | |
| class | GUILaneWrapper |
| class | MSLaneChanger |
| needs access to myTmpVehicles (this maybe should be done via SUMOReal-buffering!!!) | |
| class | MSXMLRawOut |
Representation of a lane in the micro simulation.
Class which represents a single lane. Somekind of the main class of the simulation. Allows moving vehicles.
typedef std::map< std::string, MSLane* > MSLane::DictType [protected] |
| typedef std::deque< MSVehicle* > MSLane::VehCont |
| MSLane::MSLane | ( | const std::string & | id, |
| SUMOReal | maxSpeed, | ||
| SUMOReal | length, | ||
| MSEdge *const | edge, | ||
| unsigned int | numericalID, | ||
| const PositionVector & | shape, | ||
| SUMOReal | width, | ||
| const SUMOVehicleClasses & | allowed, | ||
| const SUMOVehicleClasses & | disallowed | ||
| ) | throw () |
Constructor.
| [in] | id | The lane's id |
| [in] | maxSpeed | The speed allowed on this lane |
| [in] | length | The lane's length |
| [in] | edge | The edge this lane belongs to |
| [in] | numericalID | The numerical id of the lane |
| [in] | shape | The shape of the lane |
| [in] | width | The width of the lane |
| [in] | allowed | Vehicle classes that explicitly may drive on this lane |
| [in] | disallowed | Vehicle classes that are explicitly forbidden on this lane |
Definition at line 72 of file MSLane.cpp.
| MSLane::~MSLane | ( | ) | throw () [virtual] |
| MSLane::MSLane | ( | const MSLane & | ) | [private] |
invalidated copy constructor
| void MSLane::addApproachingLane | ( | MSLane * | lane | ) |
Definition at line 992 of file MSLane.cpp.
References getEdge(), and myApproachingLanes.
Referenced by NLHandler::addConnection(), and NLSucceedingLaneBuilder::addSuccLane().
Definition at line 982 of file MSLane.cpp.
References getLength(), MSLane::IncomingLaneInfo::lane, MSLane::IncomingLaneInfo::length, myIncomingLanes, and MSLane::IncomingLaneInfo::viaLink.
Referenced by NLHandler::addConnection(), and NLSucceedingLaneBuilder::addSuccLane().
| void MSLane::addLink | ( | MSLink * | link | ) |
Delayed initialization.
Not all lane-members are known at the time the lane is born, above all the pointers to other lanes, so we have to add them later.
| [in] | link | An outgoing link |
Definition at line 100 of file MSLane.cpp.
References myLinks.
Referenced by NLHandler::addConnection().
| void MSLane::addMoveReminder | ( | MSMoveReminder * | rem | ) | throw () [virtual] |
Add a move-reminder to move-reminder container.
The move reminder will not be deleted by the lane.
| [in] | rem | The move reminder to add |
Definition at line 107 of file MSLane.cpp.
| bool MSLane::allowsVehicleClass | ( | SUMOVehicleClass | vclass | ) | const |
Definition at line 961 of file MSLane.cpp.
References myAllowedClasses, myNotAllowedClasses, and SVC_UNKNOWN.
Returns the information whether this lane may be used to continue the current route
Definition at line 794 of file MSLane.cpp.
References MSEdge::EDGEFUNCTION_INTERNAL, MSVehicle::getBestLanesContinuation(), MSEdge::getPurpose(), myEdge, myLinks, and succLinkSec().
| GUILaneWrapper * MSLane::buildLaneWrapper | ( | unsigned int | index | ) | [virtual] |
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 929 of file MSLane.cpp.
| void MSLane::clear | ( | ) | [static] |
Clears the dictionary
Definition at line 777 of file MSLane.cpp.
References myDict.
Referenced by MSNet::clearAll().
| void MSLane::detectCollisions | ( | SUMOTime | timestep | ) | [virtual] |
Check if vehicles are too close.
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 653 of file MSLane.cpp.
References MSVehicleTransfer::addVeh(), Named::getID(), MSBaseVehicle::getID(), MSVehicleTransfer::getInstance(), MSNet::getInstance(), MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), myVehicleLengthSum, myVehicles, SUMOReal, time2string(), and WRITE_WARNING.
Inserts a MSLane into the static dictionary Returns true if the key id isn't already in the dictionary. Otherwise returns false.
Definition at line 754 of file MSLane.cpp.
References myDict.
Referenced by NLHandler::addConnection(), NLHandler::addLane(), NLHandler::addPOI(), MSVehicle::addStop(), MSRouteHandler::addStop(), NLSucceedingLaneBuilder::addSuccLane(), NLSucceedingLaneBuilder::closeSuccLane(), MSDevice_Tripinfo::generateOutput(), NLTriggerBuilder::getLane(), NLDetectorBuilder::getLaneChecking(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), NLHandler::parseLanes(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), and TraCIServerAPI_Lane::processSet().
| MSLane * MSLane::dictionary | ( | std::string | id | ) | [static] |
Returns the MSLane associated to the key id if exists Otherwise returns 0.
Definition at line 766 of file MSLane.cpp.
References myDict.
| static size_t MSLane::dictSize | ( | ) | [inline, static] |
| bool MSLane::empty | ( | ) | const [inline] |
Returns true if there is not a single vehicle on the lane.
Definition at line 404 of file MSLane.h.
References myVehBuffer, and myVehicles.
| void MSLane::enteredByLaneChange | ( | MSVehicle * | v | ) |
Definition at line 1173 of file MSLane.cpp.
References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), and myVehicleLengthSum.
| void MSLane::forceVehicleInsertion | ( | MSVehicle * | veh, |
| SUMOReal | pos | ||
| ) | throw () |
Inserts the given vehicle at the given position.
No checks are done, vehicle insertion using this method may generate collisions (possibly delayed).
| [in] | veh | The vehicle to insert |
| [in] | pos | The position at which the vehicle shall be inserted |
Definition at line 575 of file MSLane.cpp.
Referenced by TraCIServerAPI_Vehicle::processSet().
| bool MSLane::freeInsertion | ( | MSVehicle & | veh, |
| SUMOReal | speed, | ||
| MSMoveReminder::Notification | notification = MSMoveReminder::NOTIFICATION_DEPARTED |
||
| ) | throw () |
Tries to insert the given vehicle on any place.
| [in] | veh | The vehicle to insert |
| [in] | speed | The maximum insertion speed |
| [in] | notification | The cause of insertion (i.e. departure, teleport, parking) defaults to departure |
Definition at line 250 of file MSLane.cpp.
References MSVehicle::getCarFollowModel(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSVehicle::getPositionOnLane(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MIN2(), POSITION_EPS, and SUMOReal.
Referenced by MSVehicleTransfer::checkInsertions().
| const SUMOVehicleClasses& MSLane::getAllowedClasses | ( | ) | const throw () [inline] |
Returns vehicle classes explicitly allowed on this lane.
Definition at line 352 of file MSLane.h.
References myAllowedClasses.
Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().
| MSEdge& MSLane::getEdge | ( | ) | const throw () [inline] |
Returns the lane's edge.
Definition at line 421 of file MSLane.h.
References myEdge.
Referenced by addApproachingLane(), MSVehicle::addStop(), NLDetectorBuilder::buildInductLoop(), MSEdge::closeBuilding(), MSVehicle::enterLaneAtMove(), MS_E2_ZS_CollectorOverLanes::extendTo(), MSVehicle::getBestLanes(), GUILaneWrapper::getColorValue(), GUILaneWrapper::getEdgeLaneNumber(), getLogicalPredecessorLane(), MSVehicle::moveChecked(), GUI_E2_ZS_CollectorOverLanes::MyWrapper::MyWrapper(), MSLane::edge_finder::operator()(), MSLCM_DK2004::patchSpeed(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), TraCIServerAPI_Lane::processSet(), setCritical(), and MSVehicle::vsafeCriticalCont().
| const MSVehicle * MSLane::getFirstVehicle | ( | ) | const [virtual] |
Definition at line 839 of file MSLane.cpp.
References myVehicles.
Referenced by getFollowerOnConsecutive().
| std::pair< MSVehicle *const, SUMOReal > MSLane::getFollowerOnConsecutive | ( | SUMOReal | dist, |
| SUMOReal | seen, | ||
| SUMOReal | leaderSpeed, | ||
| SUMOReal | backOffset, | ||
| SUMOReal | predMaxDecel | ||
| ) | const |
Definition at line 1026 of file MSLane.cpp.
References MSVehicle::getCarFollowModel(), getFirstVehicle(), getIncomingLanes(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSLane::IncomingLaneInfo::lane, MSLane::IncomingLaneInfo::length, MSCFModel::maxNextSpeed(), myIncomingLanes, SUMOReal, and MSLane::IncomingLaneInfo::viaLink.
| SUMOReal MSLane::getHarmonoise_NoiseEmissions | ( | ) | const throw () |
Returns the sum of last step noise emissions.
Definition at line 1280 of file MSLane.cpp.
References getVehiclesSecure(), releaseVehicles(), HelpersHarmonoise::sum(), and SUMOReal.
Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLane::getHBEFA_CO2Emissions | ( | ) | const throw () |
Returns the sum of last step CO2 emissions.
Definition at line 1208 of file MSLane.cpp.
References getVehiclesSecure(), releaseVehicles(), and SUMOReal.
Referenced by GUILaneWrapper::getNormedHBEFA_CO2Emissions(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLane::getHBEFA_COEmissions | ( | ) | const throw () |
Returns the sum of last step CO emissions.
Definition at line 1220 of file MSLane.cpp.
References getVehiclesSecure(), releaseVehicles(), and SUMOReal.
Referenced by GUILaneWrapper::getNormedHBEFA_COEmissions(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLane::getHBEFA_FuelConsumption | ( | ) | const throw () |
Returns the sum of last step fuel consumption.
Definition at line 1268 of file MSLane.cpp.
References getVehiclesSecure(), releaseVehicles(), and SUMOReal.
Referenced by GUILaneWrapper::getNormedHBEFA_FuelConsumption(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLane::getHBEFA_HCEmissions | ( | ) | const throw () |
Returns the sum of last step HC emissions.
Definition at line 1256 of file MSLane.cpp.
References getVehiclesSecure(), releaseVehicles(), and SUMOReal.
Referenced by GUILaneWrapper::getNormedHBEFA_HCEmissions(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLane::getHBEFA_NOxEmissions | ( | ) | const throw () |
Returns the sum of last step NOx emissions.
Definition at line 1244 of file MSLane.cpp.
References getVehiclesSecure(), releaseVehicles(), and SUMOReal.
Referenced by GUILaneWrapper::getNormedHBEFA_NOxEmissions(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLane::getHBEFA_PMxEmissions | ( | ) | const throw () |
Returns the sum of last step PMx emissions.
Definition at line 1232 of file MSLane.cpp.
References getVehiclesSecure(), releaseVehicles(), and SUMOReal.
Referenced by GUILaneWrapper::getNormedHBEFA_PMxEmissions(), and TraCIServerAPI_Lane::processGet().
| const std::string& Named::getID | ( | ) | const [inline, inherited] |
Returns the id.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 59 of file Named.h.
References Named::myID.
Referenced by RORouteDef_Alternatives::addAlternative(), MSNet::addBusStop(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), NIImporter_SUMO::addPhase(), NBDistrict::addSink(), NBDistrict::addSource(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), NIVisumTL::build(), RORouteDef_Complete::buildCurrentRoute(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBNodeCont::buildOffRamp(), NBNodeCont::buildOnRamp(), ODDistrictHandler::closeDistrict(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBEdge::connections_sorter(), detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSVTypeProbe::execute(), Command_SaveTLSSwitches::execute(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSUnboundActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NIImporter_SUMO::initTrafficLightLogic(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_OpenDrive::loadNetwork(), moveCritical(), MSVehicle::MSVehicle(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), Named::ComparatorIdLess::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), NBLoadedTLDef::SignalGroup::patchTYellow(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_InductionLoop::processGet(), NWWriter_SUMO::prohibitionConnection(), NBNodeCont::remapEdge(), NBLoadedSUMOTLDef::removeConnection(), NBNode::removeDummyEdges(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBConnection::replaceFrom(), NBConnection::replaceTo(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), setCritical(), NBOwnTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NIXMLConnectionsHandler::validateLaneInfo(), MSInstantInductLoop::write(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), and MSRouteProbe::writeXMLOutput().
| const std::vector<IncomingLaneInfo>& MSLane::getIncomingLanes | ( | ) | const [inline] |
Definition at line 509 of file MSLane.h.
References myIncomingLanes.
Referenced by MSVehicle::enterLaneAtLaneChange(), and getFollowerOnConsecutive().
| MSVehicle * MSLane::getLastVehicle | ( | ) | const [virtual] |
returns the last vehicle
Definition at line 830 of file MSLane.cpp.
References myVehicles.
Referenced by MSVehicle::checkRewindLinkLanes(), getLeaderOnConsecutive(), MSLaneChanger::getRealThisLeader(), and isInsertionSuccess().
| std::pair< MSVehicle *, SUMOReal > MSLane::getLastVehicleInformation | ( | ) | const throw () |
Returns the last vehicle which is still on the lane.
The information about the last vehicle in this lane's que is returned. If there is no such vehicle, the information about the vehicle which laps into this lane is returned. If there is no such vehicle, the first returned member is 0.
Definition at line 603 of file MSLane.cpp.
References MSVehicleType::getLengthWithGap(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getVehicleType(), myInlappingVehicle, myInlappingVehicleEnd, myVehicles, and SUMOReal.
Referenced by MSVehicle::vsafeCriticalCont().
| std::pair< MSVehicle *const, SUMOReal > MSLane::getLeaderOnConsecutive | ( | SUMOReal | dist, |
| SUMOReal | seen, | ||
| SUMOReal | speed, | ||
| const MSVehicle & | veh, | ||
| const std::vector< MSLane * > & | bestLaneConts | ||
| ) | const throw () |
Returns the leader and the distance to him.
Goes along the vehicle's estimated used lanes (bestLaneConts). For each link, it is determined whether the vehicle will pass it. If so, the subsequent lane is investigated. If a vehicle (leader) is found, it is returned, together with the length of the investigated lanes until this vehicle's end, including the already seen place (seen).
If no leading vehicle was found, <0, -1> is returned.
Pretty slow, as it has to go along lanes.
| [in] | dist | The distance to investigate |
| [in] | seen | The already seen place (normally the place in front on own lane) |
| [in] | speed | The speed of the vehicle used for determining whether a subsequent link will be opened at arrival time |
| [in] | veh | The vehicle for which the information shall be computed |
| [in] | bestLaneConts | The lanes the vehicle will use in future |
Definition at line 1076 of file MSLane.cpp.
References MSCFModel::brakeGap(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSNet::getInstance(), getLastVehicle(), getLength(), getMaxSpeed(), getPartialOccupator(), getPartialOccupatorEnd(), isLinkEnd(), LINKSTATE_TL_RED, succLinkSec(), and TIME2STEPS.
Referenced by MSCFModel_PWag2009::moveHelper().
| MSLane * MSLane::getLeftLane | ( | ) | const |
Definition at line 949 of file MSLane.cpp.
References MSEdge::leftLane(), and myEdge.
| SUMOReal MSLane::getLength | ( | ) | const throw () [inline] |
Returns the lane's length.
Definition at line 344 of file MSLane.h.
References myLength.
Referenced by NLHandler::addConnection(), addIncomingLane(), NLHandler::addPOI(), MSVehicle::addStop(), NLSucceedingLaneBuilder::addSuccLane(), NLDetectorBuilder::buildInductLoop(), MSVehicle::checkRewindLinkLanes(), MS_E2_ZS_CollectorOverLanes::extendTo(), MSVehicle::getBestLanes(), TraCIDijkstraRouter< E >::getEffort(), TraCIServerAPI_Simulation::getLaneChecking(), getLeaderOnConsecutive(), getMaxSpeedRegardingNextLanes(), GUILaneWrapper::getNormedHBEFA_CO2Emissions(), GUILaneWrapper::getNormedHBEFA_COEmissions(), GUILaneWrapper::getNormedHBEFA_FuelConsumption(), GUILaneWrapper::getNormedHBEFA_HCEmissions(), GUILaneWrapper::getNormedHBEFA_NOxEmissions(), GUILaneWrapper::getNormedHBEFA_PMxEmissions(), GUILaneWrapper::getParameterWindow(), NLTriggerBuilder::getPosition(), MSNet::EdgeWeightsProxi::getTravelTime(), MSActuatedTrafficLightLogic::init(), isInsertionSuccess(), MSVehicle::moveChecked(), NLTriggerBuilder::parseAndBuildBusStop(), TraCIServerAPI_Lane::processGet(), MSVehicle::setBlinkerInformation(), setCritical(), MSVehicle::vsafeCriticalCont(), MSLCM_DK2004::wantsChangeToLeft(), and MSLCM_DK2004::wantsChangeToRight().
| const MSLinkCont & MSLane::getLinkCont | ( | ) | const |
returns the container with all links !!!
Definition at line 914 of file MSLane.cpp.
References myLinks.
Referenced by MSLinkContHelper::getConnectingLink(), GUILaneWrapper::getLinkNumber(), MSRightOfWayJunction::postloadInit(), TraCIServerAPI_Lane::processGet(), GUILaneWrapper::ROWdrawAction_drawArrows(), GUILaneWrapper::ROWdrawAction_drawLane2LaneConnections(), GUILaneWrapper::ROWdrawAction_drawLinkRules(), and MSVehicle::setBlinkerInformation().
| MSLane * MSLane::getLogicalPredecessorLane | ( | ) | const throw () |
Definition at line 1139 of file MSLane.cpp.
References getEdge(), MSEdge::getIncomingEdges(), myEdge, myIncomingLanes, and myLogicalPredecessorLane.
Referenced by MSVehicle::enterLaneAtInsertion().
| SUMOReal MSLane::getMaxSpeed | ( | ) | const throw () [inline] |
Returns the lane's maximum speed.
Definition at line 336 of file MSLane.h.
References myMaxSpeed.
Referenced by MSVehicleTransfer::checkInsertions(), MSAbstractLaneChangeModel::congested(), MSCFModel_IDM::desiredSpeed(), GUILaneWrapper::getColorValue(), TraCIDijkstraRouter< E >::getEffort(), getLeaderOnConsecutive(), getMaxSpeedRegardingNextLanes(), GUILaneWrapper::getParameterWindow(), MSNet::EdgeWeightsProxi::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSCFModel::interactionGap(), isInsertionSuccess(), MSCFModel_KraussOrig1::moveHelper(), MSCFModel::moveHelper(), MSVehicle::MSVehicle(), TraCIServerAPI_Lane::processGet(), MSVehicle::setBlinkerInformation(), MSVehicle::vsafeCriticalCont(), MSLCM_DK2004::wantsChangeToLeft(), and MSLCM_DK2004::wantsChangeToRight().
| SUMOReal MSLane::getMeanSpeed | ( | ) | const throw () |
Returns the mean speed on this lane.
Definition at line 1192 of file MSLane.cpp.
References getVehiclesSecure(), myMaxSpeed, myVehicles, releaseVehicles(), and SUMOReal.
Referenced by TraCIServerAPI_Lane::processGet().
| const std::vector< MSMoveReminder* >& MSLane::getMoveReminders | ( | ) | const throw () [inline] |
Return the list of this lane's move reminders.
Definition at line 156 of file MSLane.h.
References myMoveReminders.
Referenced by MSVehicle::enterLaneAtLaneChange().
| const SUMOVehicleClasses& MSLane::getNotAllowedClasses | ( | ) | const throw () [inline] |
Returns vehicle classes explicitly disallowed on this lane.
Definition at line 360 of file MSLane.h.
References myNotAllowedClasses.
Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().
| size_t MSLane::getNumericalID | ( | ) | const throw () [inline] |
Returns this lane's numerical id.
Definition at line 320 of file MSLane.h.
References myNumericalID.
| SUMOReal MSLane::getOccupancy | ( | ) | const throw () |
Returns the occupancy of this lane during the last step.
Definition at line 1180 of file MSLane.cpp.
References myLength, and myVehicleLengthSum.
Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().
| MSVehicle* MSLane::getPartialOccupator | ( | ) | const throw () [inline] |
Returns the vehicle which laps into this lane.
Definition at line 258 of file MSLane.h.
References myInlappingVehicle.
Referenced by MSVehicle::checkRewindLinkLanes(), getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), MSLaneChanger::getRealThisLeader(), isInsertionSuccess(), and MSE2Collector::by_vehicle_position_sorter::operator()().
| SUMOReal MSLane::getPartialOccupatorEnd | ( | ) | const throw () [inline] |
Returns the position of the in-lapping vehicle's end.
Definition at line 266 of file MSLane.h.
References myInlappingVehicleEnd.
Referenced by MSVehicle::checkRewindLinkLanes(), getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), and MSLaneChanger::getRealThisLeader().
| MSLane * MSLane::getRightLane | ( | ) | const |
Definition at line 955 of file MSLane.cpp.
References myEdge, and MSEdge::rightLane().
| const PositionVector& MSLane::getShape | ( | ) | const throw () [inline] |
Returns this lane's shape.
Definition at line 328 of file MSLane.h.
References myShape.
Referenced by NLHandler::addConnection(), NLHandler::addPOI(), NLSucceedingLaneBuilder::addSuccLane(), GUIE3Collector::MyWrapper::buildDefinition(), GUIVehicle::drawGL(), MSVTypeProbe::execute(), MSLane::by_connections_to_sorter::operator()(), TraCIServerAPI_Lane::processGet(), and GUILaneWrapper::ROWdrawAction_drawLane2LaneConnections().
| unsigned int MSLane::getVehicleNumber | ( | ) | const throw () [inline] |
Returns the number of vehicles on this lane.
Definition at line 290 of file MSLane.h.
References myVehicles.
Referenced by MSVehicle::checkRewindLinkLanes(), MSEdge::getFreeLane(), and TraCIServerAPI_Lane::processGet().
| virtual const std::deque< MSVehicle* >& MSLane::getVehiclesSecure | ( | ) | const throw () [inline, virtual] |
Returns the vehicles container; locks it for microsimulation.
Please note that it is necessary to release the vehicles container afterwards using "releaseVehicles".
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 301 of file MSLane.h.
References myVehicles.
Referenced by getHarmonoise_NoiseEmissions(), getHBEFA_CO2Emissions(), getHBEFA_COEmissions(), getHBEFA_FuelConsumption(), getHBEFA_HCEmissions(), getHBEFA_NOxEmissions(), getHBEFA_PMxEmissions(), getMeanSpeed(), and TraCIServerAPI_Lane::processGet().
| SUMOReal MSLane::getVehLenSum | ( | ) | const throw () |
Returns the sum of lengths of vehicles which were on the lane during the last step.
Definition at line 1186 of file MSLane.cpp.
References myVehicleLengthSum.
Referenced by MSVehicle::checkRewindLinkLanes().
| SUMOReal MSLane::getWidth | ( | ) | const throw () [inline] |
Returns the lane's width.
Definition at line 368 of file MSLane.h.
References myWidth.
Referenced by TraCIServerAPI_Lane::processGet(), GUILaneWrapper::ROWdrawAction_drawLinkNo(), GUILaneWrapper::ROWdrawAction_drawLinkRules(), and GUILaneWrapper::ROWdrawAction_drawTLSLinkNo().
| void MSLane::incorporateVehicle | ( | MSVehicle * | veh, |
| SUMOReal | pos, | ||
| SUMOReal | speed, | ||
| const MSLane::VehCont::iterator & | at, | ||
| MSMoveReminder::Notification | notification = MSMoveReminder::NOTIFICATION_DEPARTED |
||
| ) | throw (ProcessError) [protected, virtual] |
Inserts the vehicle into this lane, and informs it about entering the network.
Calls the vehicles enterLaneAtInsertion function, updates statistics and modifies the active state as needed
| [in] | veh | The vehicle to be incorporated |
| [in] | pos | The position of the vehicle |
| [in] | speed | The speed of the vehicle |
| [in] | at | |
| [in] | notification | The cause of insertion (i.e. departure, teleport, parking) defaults to departure |
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 118 of file MSLane.cpp.
References MSNet::getEdgeControl(), MSNet::getInstance(), and MSEdgeControl::gotActive().
Referenced by GUILane::incorporateVehicle(), and GUIInternalLane::incorporateVehicle().
| void MSLane::initialize | ( | MSLinkCont * | succs | ) |
Delayed initialization (deprecated)
Not all lane-members are known at the time the lane is born, above all the pointers to other lanes, so we have to initialize later.
| [in] | succs | The list of (outgoing) links |
Definition at line 93 of file MSLane.cpp.
References myLinks.
Referenced by NLSucceedingLaneBuilder::closeSuccLane().
| void MSLane::insertIDs | ( | std::vector< std::string > & | into | ) | throw () [static] |
Definition at line 786 of file MSLane.cpp.
Referenced by TraCIServerAPI_Lane::processGet().
| bool MSLane::insertVehicle | ( | MSVehicle & | v | ) | throw (ProcessError) |
Tries to insert the given vehicle.
The insertion position and speed are determined in dependence to the vehicle's departure definition, first.
Then, the vehicle is tried to be inserted into the lane using these values by a call to "isInsertionSuccess". The result of "isInsertionSuccess" is returned.
| [in] | v | The vehicle to insert |
Definition at line 317 of file MSLane.cpp.
References DEPART_POS_BASE, DEPART_POS_DEFAULT, DEPART_POS_FREE, DEPART_POS_GIVEN, DEPART_POS_MAX_SPEED_GAP, DEPART_POS_PWAG_GENERIC, DEPART_POS_PWAG_SIMPLE, DEPART_POS_RANDOM, DEPART_POS_RANDOM_FREE, DEPART_SPEED_DEFAULT, DEPART_SPEED_GIVEN, DEPART_SPEED_MAX, DEPART_SPEED_RANDOM, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, SUMOVehicleParameter::departSpeed, SUMOVehicleParameter::departSpeedProcedure, MAX2(), MIN2(), POSITION_EPS, RandHelper::rand(), and SUMOReal.
Referenced by MSEdge::insertVehicle().
Insert buffered vehicle into the real lane.
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 804 of file MSLane.cpp.
References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), myVehBuffer, myVehicleLengthSum, and myVehicles.
Definition at line 1002 of file MSLane.cpp.
References myApproachingLanes.
Definition at line 1008 of file MSLane.cpp.
References myApproachingLanes.
| bool MSLane::isInsertionSuccess | ( | MSVehicle * | vehicle, |
| SUMOReal | speed, | ||
| SUMOReal | pos, | ||
| bool | recheckNextLanes, | ||
| MSMoveReminder::Notification | notification = MSMoveReminder::NOTIFICATION_DEPARTED |
||
| ) | throw (ProcessError) [virtual] |
Tries to insert the given vehicle with the given state (speed and pos)
Checks whether the vehicle can be inserted at the given position with the given speed so that no collisions with leader/follower occur and the speed does not cause unexpected behaviour on consecutive lanes. Returns false if the vehicle can not be inserted.
If the insertion can take place, incorporateVehicleis called and true is returned.
| [in] | vehicle | The vehicle to insert |
| [in] | speed | The speed with which it shall be inserted |
| [in] | pos | The position at which it shall be inserted |
| [in] | recheckNextLanes | Forces patching the speed for not being too fast on next lanes |
| [in] | notification | The cause of insertion (i.e. departure, teleport, parking) defaults to departure |
Definition at line 389 of file MSLane.cpp.
References MSRoute::begin(), MSCFModel::brakeGap(), MSCFModel::followSpeed(), MSCFModel::freeSpeed(), MSVehicle::gap(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSNet::getInstance(), getLastVehicle(), getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), getMaxSpeed(), getPartialOccupator(), MSVehicle::getPositionOnLane(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), isLinkEnd(), LINKSTATE_TL_RED, MIN2(), SPEED2DIST, succLinkSec(), SUMOReal, TIME2STEPS, and WRITE_ERROR.
Referenced by MSVehicleTransfer::checkInsertions().
| bool MSLane::isLinkEnd | ( | MSLinkCont::const_iterator & | i | ) | const |
Returns the information whether the given link shows at the end of the list of links (is not valid)
Definition at line 818 of file MSLane.cpp.
References myLinks.
Referenced by getLeaderOnConsecutive(), MSLaneChanger::getRealThisLeader(), isInsertionSuccess(), and MSVehicle::vsafeCriticalCont().
| bool MSLane::isLinkEnd | ( | MSLinkCont::iterator & | i | ) |
Returns the information whether the given link shows at the end of the list of links (is not valid)
Definition at line 824 of file MSLane.cpp.
References myLinks.
| void MSLane::leftByLaneChange | ( | MSVehicle * | v | ) |
Definition at line 1167 of file MSLane.cpp.
References MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), and myVehicleLengthSum.
Definition at line 215 of file MSLane.cpp.
References MSVehicle::getCarFollowModel(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MIN2(), and SUMOReal.
Reimplemented in GUIInternalLane, GUILane, and MSInternalLane.
Definition at line 620 of file MSLane.cpp.
References MSVehicleTransfer::addVeh(), Named::getID(), MSVehicleTransfer::getInstance(), MSNet::getInstance(), myLeftVehLength, myLength, myVehicleLengthSum, myVehicles, time2string(), and WRITE_WARNING.
| bool MSLane::pWagGenericInsertion | ( | MSVehicle & | veh, |
| SUMOReal | speed, | ||
| SUMOReal | maxPos, | ||
| SUMOReal | minPos | ||
| ) | throw () |
Definition at line 135 of file MSLane.cpp.
References MSVehicle::getCarFollowModel(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), and SUMOReal.
| bool MSLane::pWagSimpleInsertion | ( | MSVehicle & | veh, |
| SUMOReal | speed, | ||
| SUMOReal | maxPos, | ||
| SUMOReal | minPos | ||
| ) | throw () |
Definition at line 183 of file MSLane.cpp.
References MSVehicleType::getLengthWithGap(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), and SUMOReal.
| virtual void MSLane::releaseVehicles | ( | ) | const throw () [inline, virtual] |
Allows to use the container for microsimulation again.
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 308 of file MSLane.h.
Referenced by getHarmonoise_NoiseEmissions(), getHBEFA_CO2Emissions(), getHBEFA_COEmissions(), getHBEFA_FuelConsumption(), getHBEFA_HCEmissions(), getHBEFA_NOxEmissions(), getHBEFA_PMxEmissions(), getMeanSpeed(), and TraCIServerAPI_Lane::processGet().
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 935 of file MSLane.cpp.
References MSBaseVehicle::getID(), MSVehicleType::getLengthWithGap(), MSBaseVehicle::getVehicleType(), MSVehicle::leaveLane(), myVehicleLengthSum, myVehicles, and MSMoveReminder::NOTIFICATION_ARRIVED.
| void MSLane::resetPartialOccupation | ( | MSVehicle * | v | ) | throw () |
Removes the information about a vehicle lapping into this lane.
| [in] | v | The vehicle which laps into this lane |
Definition at line 594 of file MSLane.cpp.
Referenced by MSVehicle::moveChecked().
| void MSLane::setAllowedClasses | ( | const SUMOVehicleClasses & | classes | ) | throw () [inline] |
Definition at line 488 of file MSLane.h.
References myAllowedClasses.
Referenced by TraCIServerAPI_Lane::processSet().
Moves the critical vehicles This step is done after the responds have been set
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 699 of file MSLane.cpp.
References MSVehicleTransfer::addVeh(), MSVehicle::ends(), getEdge(), Named::getID(), MSBaseVehicle::getID(), MSVehicleTransfer::getInstance(), MSNet::getInstance(), MSVehicle::getLane(), getLength(), MSVehicleType::getLengthWithGap(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSGlobals::gTimeToGridlock, MSVehicle::isParking(), MSEdge::isVaporizing(), MSVehicle::leaveLane(), MSVehicle::moveChecked(), myVehBuffer, myVehicleLengthSum, myVehicles, MSMoveReminder::NOTIFICATION_ARRIVED, MSMoveReminder::NOTIFICATION_JUNCTION, MSMoveReminder::NOTIFICATION_VAPORIZED, MSVehicle::onRemovalFromNet(), MSVehicleControl::scheduleVehicleRemoval(), SPEED2DIST, SUMOReal, time2string(), MSVehicle::workOnMoveReminders(), and WRITE_WARNING.
| void Named::setID | ( | const std::string & | newID | ) | [inline, inherited] |
| void MSLane::setLength | ( | SUMOReal | val | ) | throw () [inline] |
Definition at line 413 of file MSLane.h.
References myLength.
Referenced by TraCIServerAPI_Lane::processSet().
| void MSLane::setMaxSpeed | ( | SUMOReal | val | ) | throw () [inline] |
Definition at line 409 of file MSLane.h.
References myMaxSpeed.
Referenced by TraCIServerAPI_Lane::processSet().
| void MSLane::setNotAllowedClasses | ( | const SUMOVehicleClasses & | classes | ) | throw () [inline] |
Definition at line 493 of file MSLane.h.
References myNotAllowedClasses.
Referenced by TraCIServerAPI_Lane::processSet().
| SUMOReal MSLane::setPartialOccupation | ( | MSVehicle * | v, |
| SUMOReal | leftVehicleLength | ||
| ) | throw () |
Sets the information about a vehicle lapping into this lane.
The given left length of vehicle which laps into this lane is used to determine the vehicle's end position in regard to this lane's length. This information is set into myInlappingVehicleState; additionally, the vehicle pointer is stored in myInlappingVehicle; Returns this lane's length for subtracting it from the left vehicle length.
| [in] | v | The vehicle which laps into this lane |
| [in] | leftVehicleLength | The distance the vehicle laps into this lane |
Definition at line 582 of file MSLane.cpp.
| MSLinkCont::const_iterator MSLane::succLinkSec | ( | const SUMOVehicle & | veh, |
| unsigned int | nRouteSuccs, | ||
| const MSLane & | succLinkSource, | ||
| const std::vector< MSLane * > & | conts | ||
| ) | const [virtual] |
Same as succLink, but does not throw any assertions when the succeeding link could not be found; Returns the myLinks.end() instead; Further, the number of edges to look forward may be given
Definition at line 848 of file MSLane.cpp.
References MSEdge::allowedLanes(), MSVehicleType::getVehicleClass(), SUMOVehicle::getVehicleType(), myLinks, and SUMOVehicle::succEdge().
Referenced by appropriate(), getLeaderOnConsecutive(), MSLaneChanger::getRealThisLeader(), isInsertionSuccess(), and MSVehicle::setBlinkerInformation().
| void MSLane::swapAfterLaneChange | ( | SUMOTime | t | ) | [protected, virtual] |
moves myTmpVehicles int myVehicles after a lane change procedure
Reimplemented in GUIInternalLane, and GUILane.
Definition at line 920 of file MSLane.cpp.
References myTmpVehicles, and myVehicles.
friend class GUILaneWrapper [friend] |
Definition at line 77 of file MSLane.h.
Referenced by GUILane::buildLaneWrapper(), and GUIInternalLane::buildLaneWrapper().
friend class MSLaneChanger [friend] |
friend class MSXMLRawOut [friend] |
SUMOVehicleClasses MSLane::myAllowedClasses [protected] |
The list of allowed vehicle classes.
Definition at line 675 of file MSLane.h.
Referenced by allowsVehicleClass(), getAllowedClasses(), and setAllowedClasses().
std::map<MSEdge*, std::vector<MSLane*> > MSLane::myApproachingLanes [protected] |
Definition at line 701 of file MSLane.h.
Referenced by addApproachingLane(), and isApproachedFrom().
SUMOReal MSLane::myBackDistance [protected] |
MSLane::DictType MSLane::myDict [static, protected] |
Static dictionary to associate string-ids with objects.
Definition at line 709 of file MSLane.h.
Referenced by clear(), dictionary(), and dictSize().
MSEdge* MSLane::myEdge [protected] |
The lane's edge, for routing only.
Definition at line 656 of file MSLane.h.
Referenced by appropriate(), getEdge(), getLeftLane(), getLogicalPredecessorLane(), and getRightLane().
std::string Named::myID [protected, inherited] |
The name of the object.
Reimplemented in MS_E2_ZS_CollectorOverLanes.
Definition at line 81 of file Named.h.
Referenced by RORouteDef_OrigDest::buildCurrentRoute(), RORouteDef_Complete::buildCurrentRoute(), RORouteDef_Alternatives::buildCurrentRoute(), NBEdge::computeEdgeShape(), Named::getID(), NBEdge::getLaneID(), MSRoute::release(), Named::setID(), NBEdge::splitGeometry(), NBNode::writeLogic(), and MSMeanData::writeXMLOutput().
std::vector<IncomingLaneInfo> MSLane::myIncomingLanes [protected] |
Definition at line 680 of file MSLane.h.
Referenced by addIncomingLane(), getFollowerOnConsecutive(), getIncomingLanes(), and getLogicalPredecessorLane().
MSVehicle* MSLane::myInlappingVehicle [protected] |
The vehicle which laps into this lane.
Definition at line 691 of file MSLane.h.
Referenced by getLastVehicleInformation(), and getPartialOccupator().
SUMOReal MSLane::myInlappingVehicleEnd [protected] |
End position of a vehicle which laps into this lane.
Definition at line 688 of file MSLane.h.
Referenced by getLastVehicleInformation(), and getPartialOccupatorEnd().
SUMOReal MSLane::myLeftVehLength [protected] |
Not yet seen vehicle lengths.
Definition at line 695 of file MSLane.h.
Referenced by moveCritical().
SUMOReal MSLane::myLength [protected] |
Lane length [m].
Definition at line 650 of file MSLane.h.
Referenced by getLength(), getOccupancy(), moveCritical(), and setLength().
MSLinkCont MSLane::myLinks [protected] |
The lane's Links to it's succeeding lanes and the default right-of-way rule, i.e. blocked or not blocked.
Definition at line 699 of file MSLane.h.
Referenced by addLink(), appropriate(), getLinkCont(), initialize(), isLinkEnd(), succLinkSec(), and ~MSLane().
MSLane* MSLane::myLogicalPredecessorLane [mutable, protected] |
Definition at line 681 of file MSLane.h.
Referenced by getLogicalPredecessorLane().
SUMOReal MSLane::myMaxSpeed [protected] |
Lane-wide speedlimit [m/s].
Definition at line 659 of file MSLane.h.
Referenced by getMaxSpeed(), getMeanSpeed(), and setMaxSpeed().
std::vector< MSMoveReminder* > MSLane::myMoveReminders [private] |
This lane's move reminder.
Definition at line 713 of file MSLane.h.
Referenced by getMoveReminders().
SUMOVehicleClasses MSLane::myNotAllowedClasses [protected] |
The list of disallowed vehicle classes.
Definition at line 678 of file MSLane.h.
Referenced by allowsVehicleClass(), getNotAllowedClasses(), and setNotAllowedClasses().
size_t MSLane::myNumericalID [protected] |
Unique numerical ID (set on reading by netload)
Definition at line 638 of file MSLane.h.
Referenced by getNumericalID().
The shape of the lane.
Definition at line 477 of file MSLane.h.
Referenced by GUILane::buildLaneWrapper(), GUIInternalLane::buildLaneWrapper(), and getShape().
VehCont MSLane::myTmpVehicles [protected] |
Container for lane-changing vehicles. After completion of lane-change- process, the two containers will be swapped.
Definition at line 663 of file MSLane.h.
Referenced by swapAfterLaneChange().
std::vector<MSVehicle*> MSLane::myVehBuffer [protected] |
Vehicle-buffer for vehicle that was put onto this lane by a junction. The buffer is necessary, because of competing push- and pop-operations on myVehicles during Junction::moveFirst()
Definition at line 672 of file MSLane.h.
Referenced by empty(), integrateNewVehicle(), and setCritical().
SUMOReal MSLane::myVehicleLengthSum [protected] |
The current length of all vehicles on this lane.
Definition at line 685 of file MSLane.h.
Referenced by detectCollisions(), enteredByLaneChange(), getOccupancy(), getVehLenSum(), integrateNewVehicle(), leftByLaneChange(), moveCritical(), removeVehicle(), and setCritical().
VehCont MSLane::myVehicles [protected] |
The lane's vehicles. The entering vehicles are inserted at the front of this container and the leaving ones leave from the back, e.g. the vehicle in front of the junction (often called first) is myVehicles.back() (if it exists). And if it is an iterator at a vehicle, ++it points to the vehicle in front. This is the interaction vehicle.
Definition at line 647 of file MSLane.h.
Referenced by detectCollisions(), empty(), GUILaneWrapper::firstWaitingTime(), getFirstVehicle(), getLastVehicle(), getLastVehicleInformation(), getMeanSpeed(), getVehicleNumber(), getVehiclesSecure(), GUILane::getVehiclesSecure(), GUIInternalLane::getVehiclesSecure(), integrateNewVehicle(), moveCritical(), MSInternalLane::moveCritical(), removeVehicle(), setCritical(), and swapAfterLaneChange().
SUMOReal MSLane::myWidth [protected] |