SUMO - Simulation of Urban MObility

MSInternalLane Class Reference

Representation of a lane over a junction. More...

#include <MSInternalLane.h>

Inheritance diagram for MSInternalLane:
MSLane Named GUIInternalLane

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)
 MSInternalLane (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 ~MSInternalLane () throw ()
 Destructor.
Additional initialisation
void setParentJunctionInformation (MSLogicJunction::InnerState *const foescont, unsigned int foesIdx) throw ()
 Sets the information where to report vehicles being on this lane to.
void setPassPosition (SUMOReal passPos) throw ()
 Sets the position that must be free so that vehicles can pass.
Vehicle movement (longitudinal)
virtual bool moveCritical (SUMOTime t)
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 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

 MSInternalLane (const MSInternalLane &s)
 invalidated copy constructor
MSInternalLane & operator= (const MSInternalLane &s)
 invalidated assignment operator

Private Attributes

MSLogicJunction::InnerState * myFoesCont
 The container of junction-internal vehicle-occupied lanes.
int myFoesIndex
 The index on which to write into this container.
SUMOReal myPassPosition
 The position that must be free so that vehicles can pass.

Friends

class GUILaneWrapper
class MSLaneChanger
 needs access to myTmpVehicles (this maybe should be done via SUMOReal-buffering!!!)
class MSXMLRawOut

Detailed Description

Representation of a lane over a junction.

Junction-internal conflicts are managed by this class by setting the information about a vehicle being on an internal lane to the junction logic ("myFoesCont", the lane's index is stored in "myFoesIndex"). This logic than decides whether further vehicles may approach the junction.

The simulation shall be able to use these lanes only when needed and work as previously thought without considering any junction-internal things.

Todo:

Complete work on pass position

Join with MSLane

Definition at line 75 of file MSInternalLane.h.


Member Typedef Documentation

typedef std::map< std::string, MSLane* > MSLane::DictType [protected, inherited]

definition of the tatic dictionary type

Definition at line 706 of file MSLane.h.

typedef std::deque< MSVehicle* > MSLane::VehCont [inherited]

Container for vehicles.

Definition at line 444 of file MSLane.h.


Constructor & Destructor Documentation

MSInternalLane::MSInternalLane ( 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.

Parameters:
[in]idThe lane's id
[in]maxSpeedThe speed allowed on this lane
[in]lengthThe lane's length
[in]edgeThe edge this lane belongs to
[in]numericalIDThe numerical id of the lane
[in]shapeThe shape of the lane
[in]widthThe width of the lane
[in]allowedVehicle classes that explicitly may drive on this lane
[in]disallowedVehicle classes that are explicitly forbidden on this lane
See also:
SUMOVehicleClass
MSLane

Definition at line 57 of file MSInternalLane.cpp.

MSInternalLane::~MSInternalLane ( ) throw () [virtual]

Destructor.

Definition at line 66 of file MSInternalLane.cpp.

MSInternalLane::MSInternalLane ( const MSInternalLane &  s) [private]

invalidated copy constructor


Member Function Documentation

void MSLane::addApproachingLane ( MSLane *  lane) [inherited]
void MSLane::addLink ( MSLink *  link) [inherited]

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.

Parameters:
[in]linkAn outgoing link

Definition at line 100 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by NLHandler::addConnection().

void MSLane::addMoveReminder ( MSMoveReminder *  rem) throw () [virtual, inherited]

Add a move-reminder to move-reminder container.

The move reminder will not be deleted by the lane.

Parameters:
[in]remThe move reminder to add

Definition at line 107 of file MSLane.cpp.

bool MSLane::allowsVehicleClass ( SUMOVehicleClass  vclass) const [inherited]

Definition at line 961 of file MSLane.cpp.

References MSLane::myAllowedClasses, MSLane::myNotAllowedClasses, and SVC_UNKNOWN.

bool MSLane::appropriate ( const MSVehicle *  veh) [virtual, inherited]

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(), MSLane::myEdge, MSLane::myLinks, and MSLane::succLinkSec().

GUILaneWrapper * MSLane::buildLaneWrapper ( unsigned int  index) [virtual, inherited]

Reimplemented in GUIInternalLane, and GUILane.

Definition at line 929 of file MSLane.cpp.

void MSLane::clear ( ) [static, inherited]

Clears the dictionary

Definition at line 777 of file MSLane.cpp.

References MSLane::myDict.

Referenced by MSNet::clearAll().

MSLane * MSLane::dictionary ( std::string  id) [static, inherited]

Returns the MSLane associated to the key id if exists Otherwise returns 0.

Definition at line 766 of file MSLane.cpp.

References MSLane::myDict.

static size_t MSLane::dictSize ( ) [inline, static, inherited]

Definition at line 437 of file MSLane.h.

References MSLane::myDict.

bool MSLane::empty ( ) const [inline, inherited]

Returns true if there is not a single vehicle on the lane.

Definition at line 404 of file MSLane.h.

References MSLane::myVehBuffer, and MSLane::myVehicles.

void MSLane::enteredByLaneChange ( MSVehicle *  v) [inherited]
void MSLane::forceVehicleInsertion ( MSVehicle *  veh,
SUMOReal  pos 
) throw () [inherited]

Inserts the given vehicle at the given position.

No checks are done, vehicle insertion using this method may generate collisions (possibly delayed).

Parameters:
[in]vehThe vehicle to insert
[in]posThe 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 () [inherited]

Tries to insert the given vehicle on any place.

Parameters:
[in]vehThe vehicle to insert
[in]speedThe maximum insertion speed
[in]notificationThe cause of insertion (i.e. departure, teleport, parking) defaults to departure
Returns:
Whether the vehicle could be inserted

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, inherited]

Returns vehicle classes explicitly allowed on this lane.

Returns:
This lane's allowed vehicle classes

Definition at line 352 of file MSLane.h.

References MSLane::myAllowedClasses.

Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().

const MSVehicle * MSLane::getFirstVehicle ( ) const [virtual, inherited]

Definition at line 839 of file MSLane.cpp.

References MSLane::myVehicles.

Referenced by MSLane::getFollowerOnConsecutive().

std::pair< MSVehicle *const, SUMOReal > MSLane::getFollowerOnConsecutive ( SUMOReal  dist,
SUMOReal  seen,
SUMOReal  leaderSpeed,
SUMOReal  backOffset,
SUMOReal  predMaxDecel 
) const [inherited]
SUMOReal MSLane::getHarmonoise_NoiseEmissions ( ) const throw () [inherited]

Returns the sum of last step noise emissions.

Returns:
noise emissions of vehicles on this lane during the last step

Definition at line 1280 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), HelpersHarmonoise::sum(), and SUMOReal.

Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getHBEFA_CO2Emissions ( ) const throw () [inherited]

Returns the sum of last step CO2 emissions.

Returns:
CO2 emissions of vehicles on this lane during the last step

Definition at line 1208 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by GUILaneWrapper::getNormedHBEFA_CO2Emissions(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getHBEFA_COEmissions ( ) const throw () [inherited]

Returns the sum of last step CO emissions.

Returns:
CO emissions of vehicles on this lane during the last step

Definition at line 1220 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by GUILaneWrapper::getNormedHBEFA_COEmissions(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getHBEFA_FuelConsumption ( ) const throw () [inherited]

Returns the sum of last step fuel consumption.

Returns:
fuel consumption of vehicles on this lane during the last step

Definition at line 1268 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by GUILaneWrapper::getNormedHBEFA_FuelConsumption(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getHBEFA_HCEmissions ( ) const throw () [inherited]

Returns the sum of last step HC emissions.

Returns:
HC emissions of vehicles on this lane during the last step

Definition at line 1256 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by GUILaneWrapper::getNormedHBEFA_HCEmissions(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getHBEFA_NOxEmissions ( ) const throw () [inherited]

Returns the sum of last step NOx emissions.

Returns:
NOx emissions of vehicles on this lane during the last step

Definition at line 1244 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by GUILaneWrapper::getNormedHBEFA_NOxEmissions(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getHBEFA_PMxEmissions ( ) const throw () [inherited]

Returns the sum of last step PMx emissions.

Returns:
PMx emissions of vehicles on this lane during the last step

Definition at line 1232 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::releaseVehicles(), and SUMOReal.

Referenced by GUILaneWrapper::getNormedHBEFA_PMxEmissions(), and TraCIServerAPI_Lane::processGet().

const std::string& Named::getID ( ) const [inline, inherited]

Returns the id.

Returns:
The stored 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(), MSLane::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(), MSLane::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(), MSLane::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, inherited]
MSVehicle * MSLane::getLastVehicle ( ) const [virtual, inherited]
std::pair< MSVehicle *, SUMOReal > MSLane::getLastVehicleInformation ( ) const throw () [inherited]

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.

Returns:
Information about the last vehicle and it's back position

Definition at line 603 of file MSLane.cpp.

References MSVehicleType::getLengthWithGap(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getVehicleType(), MSLane::myInlappingVehicle, MSLane::myInlappingVehicleEnd, MSLane::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 () [inherited]

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.

Todo:
: There are some oddities:
  • what about crossing a link at red, or if a link is closed? Has a following vehicle to be regarded or not?
Parameters:
[in]distThe distance to investigate
[in]seenThe already seen place (normally the place in front on own lane)
[in]speedThe speed of the vehicle used for determining whether a subsequent link will be opened at arrival time
[in]vehThe vehicle for which the information shall be computed
[in]bestLaneContsThe lanes the vehicle will use in future
Returns:

Definition at line 1076 of file MSLane.cpp.

References MSCFModel::brakeGap(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSNet::getInstance(), MSLane::getLastVehicle(), MSLane::getLength(), MSLane::getMaxSpeed(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSLane::isLinkEnd(), LINKSTATE_TL_RED, MSLane::succLinkSec(), and TIME2STEPS.

Referenced by MSCFModel_PWag2009::moveHelper().

MSLane * MSLane::getLeftLane ( ) const [inherited]

Definition at line 949 of file MSLane.cpp.

References MSEdge::leftLane(), and MSLane::myEdge.

MSLane * MSLane::getLogicalPredecessorLane ( ) const throw () [inherited]
SUMOReal MSLane::getMeanSpeed ( ) const throw () [inherited]

Returns the mean speed on this lane.

Returns:
The average speed of vehicles during the last step; default speed if no vehicle was on this lane

Definition at line 1192 of file MSLane.cpp.

References MSLane::getVehiclesSecure(), MSLane::myMaxSpeed, MSLane::myVehicles, MSLane::releaseVehicles(), and SUMOReal.

Referenced by TraCIServerAPI_Lane::processGet().

const std::vector< MSMoveReminder* >& MSLane::getMoveReminders ( ) const throw () [inline, inherited]

Return the list of this lane's move reminders.

Returns:
Previously added move reminder

Definition at line 156 of file MSLane.h.

References MSLane::myMoveReminders.

Referenced by MSVehicle::enterLaneAtLaneChange().

const SUMOVehicleClasses& MSLane::getNotAllowedClasses ( ) const throw () [inline, inherited]

Returns vehicle classes explicitly disallowed on this lane.

Returns:
This lane's disallowed vehicle classes

Definition at line 360 of file MSLane.h.

References MSLane::myNotAllowedClasses.

Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().

size_t MSLane::getNumericalID ( ) const throw () [inline, inherited]

Returns this lane's numerical id.

Returns:
This lane's numerical id

Definition at line 320 of file MSLane.h.

References MSLane::myNumericalID.

SUMOReal MSLane::getOccupancy ( ) const throw () [inherited]

Returns the occupancy of this lane during the last step.

Returns:
The occupancy during the last step

Definition at line 1180 of file MSLane.cpp.

References MSLane::myLength, and MSLane::myVehicleLengthSum.

Referenced by GUILaneWrapper::getColorValue(), and TraCIServerAPI_Lane::processGet().

MSVehicle* MSLane::getPartialOccupator ( ) const throw () [inline, inherited]

Returns the vehicle which laps into this lane.

Returns:
The vehicle which laps into this lane, 0 if there is no such

Definition at line 258 of file MSLane.h.

References MSLane::myInlappingVehicle.

Referenced by MSVehicle::checkRewindLinkLanes(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), MSLaneChanger::getRealThisLeader(), MSLane::isInsertionSuccess(), and MSE2Collector::by_vehicle_position_sorter::operator()().

SUMOReal MSLane::getPartialOccupatorEnd ( ) const throw () [inline, inherited]

Returns the position of the in-lapping vehicle's end.

Returns:
Information about how far the vehicle laps into this lane

Definition at line 266 of file MSLane.h.

References MSLane::myInlappingVehicleEnd.

Referenced by MSVehicle::checkRewindLinkLanes(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), and MSLaneChanger::getRealThisLeader().

MSLane * MSLane::getRightLane ( ) const [inherited]

Definition at line 955 of file MSLane.cpp.

References MSLane::myEdge, and MSEdge::rightLane().

unsigned int MSLane::getVehicleNumber ( ) const throw () [inline, inherited]

Returns the number of vehicles on this lane.

Returns:
The number of vehicles on this lane

Definition at line 290 of file MSLane.h.

References MSLane::myVehicles.

Referenced by MSVehicle::checkRewindLinkLanes(), MSEdge::getFreeLane(), and TraCIServerAPI_Lane::processGet().

virtual const std::deque< MSVehicle* >& MSLane::getVehiclesSecure ( ) const throw () [inline, virtual, inherited]

Returns the vehicles container; locks it for microsimulation.

Please note that it is necessary to release the vehicles container afterwards using "releaseVehicles".

Returns:
The vehicles on this lane

Reimplemented in GUIInternalLane, and GUILane.

Definition at line 301 of file MSLane.h.

References MSLane::myVehicles.

Referenced by MSLane::getHarmonoise_NoiseEmissions(), MSLane::getHBEFA_CO2Emissions(), MSLane::getHBEFA_COEmissions(), MSLane::getHBEFA_FuelConsumption(), MSLane::getHBEFA_HCEmissions(), MSLane::getHBEFA_NOxEmissions(), MSLane::getHBEFA_PMxEmissions(), MSLane::getMeanSpeed(), and TraCIServerAPI_Lane::processGet().

SUMOReal MSLane::getVehLenSum ( ) const throw () [inherited]

Returns the sum of lengths of vehicles which were on the lane during the last step.

Returns:
The sum of vehicle lengths of vehicles in the last step

Definition at line 1186 of file MSLane.cpp.

References MSLane::myVehicleLengthSum.

Referenced by MSVehicle::checkRewindLinkLanes().

SUMOReal MSLane::getWidth ( ) const throw () [inline, inherited]
void MSLane::incorporateVehicle ( MSVehicle *  veh,
SUMOReal  pos,
SUMOReal  speed,
const MSLane::VehCont::iterator &  at,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
) throw (ProcessError) [protected, virtual, inherited]

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

Parameters:
[in]vehThe vehicle to be incorporated
[in]posThe position of the vehicle
[in]speedThe speed of the vehicle
[in]at
[in]notificationThe 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) [inherited]

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.

Parameters:
[in]succsThe list of (outgoing) links
Todo:
Why are succs not const?

Definition at line 93 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by NLSucceedingLaneBuilder::closeSuccLane().

void MSLane::insertIDs ( std::vector< std::string > &  into) throw () [static, inherited]

Definition at line 786 of file MSLane.cpp.

Referenced by TraCIServerAPI_Lane::processGet().

bool MSLane::insertVehicle ( MSVehicle &  v) throw (ProcessError) [inherited]

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.

Parameters:
[in]vThe vehicle to insert
Returns:
Whether the vehicle could be inserted
See also:
isInsertionSuccess
MSVehicle::getDepartureDefinition
MSVehicle::DepartArrivalDefinition

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().

bool MSLane::integrateNewVehicle ( SUMOTime  t) [virtual, inherited]

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(), MSLane::myVehBuffer, MSLane::myVehicleLengthSum, and MSLane::myVehicles.

bool MSLane::isApproachedFrom ( MSEdge *const  edge,
MSLane *const  lane 
) [inherited]

Definition at line 1008 of file MSLane.cpp.

References MSLane::myApproachingLanes.

bool MSLane::isApproachedFrom ( MSEdge *const  edge) [inherited]

Definition at line 1002 of file MSLane.cpp.

References MSLane::myApproachingLanes.

bool MSLane::isInsertionSuccess ( MSVehicle *  vehicle,
SUMOReal  speed,
SUMOReal  pos,
bool  recheckNextLanes,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
) throw (ProcessError) [virtual, inherited]

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.

Parameters:
[in]vehicleThe vehicle to insert
[in]speedThe speed with which it shall be inserted
[in]posThe position at which it shall be inserted
[in]recheckNextLanesForces patching the speed for not being too fast on next lanes
[in]notificationThe cause of insertion (i.e. departure, teleport, parking) defaults to departure
Returns:
Whether the vehicle could be inserted
See also:
MSVehicle::enterLaneAtInsertion

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(), MSLane::getLastVehicle(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSLane::getMaxSpeed(), MSLane::getPartialOccupator(), MSVehicle::getPositionOnLane(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSLane::isLinkEnd(), LINKSTATE_TL_RED, MIN2(), SPEED2DIST, MSLane::succLinkSec(), SUMOReal, TIME2STEPS, and WRITE_ERROR.

Referenced by MSVehicleTransfer::checkInsertions().

bool MSLane::isLinkEnd ( MSLinkCont::iterator &  i) [inherited]

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 MSLane::myLinks.

bool MSLane::isLinkEnd ( MSLinkCont::const_iterator &  i) const [inherited]

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 MSLane::myLinks.

Referenced by MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealThisLeader(), MSLane::isInsertionSuccess(), and MSVehicle::vsafeCriticalCont().

void MSLane::leftByLaneChange ( MSVehicle *  v) [inherited]
bool MSLane::maxSpeedGapInsertion ( MSVehicle &  veh,
SUMOReal  mspeed 
) throw () [inherited]
bool MSInternalLane::moveCritical ( SUMOTime  t) [virtual]

Reimplemented from MSLane.

Reimplemented in GUIInternalLane.

Definition at line 84 of file MSInternalLane.cpp.

References myFoesIndex, and MSLane::myVehicles.

MSInternalLane& MSInternalLane::operator= ( const MSInternalLane &  s) [private]

invalidated assignment operator

bool MSLane::pWagGenericInsertion ( MSVehicle &  veh,
SUMOReal  speed,
SUMOReal  maxPos,
SUMOReal  minPos 
) throw () [inherited]
bool MSLane::pWagSimpleInsertion ( MSVehicle &  veh,
SUMOReal  speed,
SUMOReal  maxPos,
SUMOReal  minPos 
) throw () [inherited]
virtual void MSLane::releaseVehicles ( ) const throw () [inline, virtual, inherited]
void MSLane::resetPartialOccupation ( MSVehicle *  v) throw () [inherited]

Removes the information about a vehicle lapping into this lane.

Parameters:
[in]vThe 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, inherited]

Definition at line 488 of file MSLane.h.

References MSLane::myAllowedClasses.

Referenced by TraCIServerAPI_Lane::processSet().

void Named::setID ( const std::string &  newID) [inline, inherited]

resets the id

Definition at line 65 of file Named.h.

References Named::myID.

void MSLane::setLength ( SUMOReal  val) throw () [inline, inherited]

Definition at line 413 of file MSLane.h.

References MSLane::myLength.

Referenced by TraCIServerAPI_Lane::processSet().

void MSLane::setMaxSpeed ( SUMOReal  val) throw () [inline, inherited]

Definition at line 409 of file MSLane.h.

References MSLane::myMaxSpeed.

Referenced by TraCIServerAPI_Lane::processSet().

void MSLane::setNotAllowedClasses ( const SUMOVehicleClasses &  classes) throw () [inline, inherited]

Definition at line 493 of file MSLane.h.

References MSLane::myNotAllowedClasses.

Referenced by TraCIServerAPI_Lane::processSet().

void MSInternalLane::setParentJunctionInformation ( MSLogicJunction::InnerState *const  foescont,
unsigned int  foesIdx 
) throw ()

Sets the information where to report vehicles being on this lane to.

In addition to a lane's normal initialization (MSLane::initialize), an internal lane needs to know which junction has to be informed about a vehicle being on the internal lane. This information is set herein.

Parameters:
[in]foescontThe junction inner state to set information about vehicles into
[in]foesIdxThis lane's index within this state

Definition at line 70 of file MSInternalLane.cpp.

Referenced by MSRightOfWayJunction::postloadInit(), and MSNoLogicJunction::postloadInit().

SUMOReal MSLane::setPartialOccupation ( MSVehicle *  v,
SUMOReal  leftVehicleLength 
) throw () [inherited]

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.

Parameters:
[in]vThe vehicle which laps into this lane
[in]leftVehicleLengthThe distance the vehicle laps into this lane
Returns:
This lane's length

Definition at line 582 of file MSLane.cpp.

void MSInternalLane::setPassPosition ( SUMOReal  passPos) throw ()

Sets the position that must be free so that vehicles can pass.

Todo:
!!! incomplete usage; check

Definition at line 78 of file MSInternalLane.cpp.

MSLinkCont::const_iterator MSLane::succLinkSec ( const SUMOVehicle &  veh,
unsigned int  nRouteSuccs,
const MSLane &  succLinkSource,
const std::vector< MSLane * > &  conts 
) const [virtual, inherited]

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(), MSLane::myLinks, and SUMOVehicle::succEdge().

Referenced by MSLane::appropriate(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealThisLeader(), MSLane::isInsertionSuccess(), and MSVehicle::setBlinkerInformation().

void MSLane::swapAfterLaneChange ( SUMOTime  t) [protected, virtual, inherited]

moves myTmpVehicles int myVehicles after a lane change procedure

Reimplemented in GUIInternalLane, and GUILane.

Definition at line 920 of file MSLane.cpp.

References MSLane::myTmpVehicles, and MSLane::myVehicles.


Friends And Related Function Documentation

friend class GUILaneWrapper [friend, inherited]

Definition at line 77 of file MSLane.h.

Referenced by GUILane::buildLaneWrapper(), and GUIInternalLane::buildLaneWrapper().

friend class MSLaneChanger [friend, inherited]

needs access to myTmpVehicles (this maybe should be done via SUMOReal-buffering!!!)

Definition at line 75 of file MSLane.h.

friend class MSXMLRawOut [friend, inherited]

Definition at line 79 of file MSLane.h.


Field Documentation

The list of allowed vehicle classes.

Definition at line 675 of file MSLane.h.

Referenced by MSLane::allowsVehicleClass(), MSLane::getAllowedClasses(), and MSLane::setAllowedClasses().

std::map<MSEdge*, std::vector<MSLane*> > MSLane::myApproachingLanes [protected, inherited]

Definition at line 701 of file MSLane.h.

Referenced by MSLane::addApproachingLane(), and MSLane::isApproachedFrom().

SUMOReal MSLane::myBackDistance [protected, inherited]

Definition at line 666 of file MSLane.h.

MSLane::DictType MSLane::myDict [static, protected, inherited]

Static dictionary to associate string-ids with objects.

Definition at line 709 of file MSLane.h.

Referenced by MSLane::clear(), MSLane::dictionary(), and MSLane::dictSize().

MSEdge* MSLane::myEdge [protected, inherited]

The lane's edge, for routing only.

Definition at line 656 of file MSLane.h.

Referenced by MSLane::appropriate(), MSLane::getEdge(), MSLane::getLeftLane(), MSLane::getLogicalPredecessorLane(), and MSLane::getRightLane().

The container of junction-internal vehicle-occupied lanes.

Definition at line 135 of file MSInternalLane.h.

The index on which to write into this container.

Definition at line 138 of file MSInternalLane.h.

Referenced by moveCritical().

MSVehicle* MSLane::myInlappingVehicle [protected, inherited]

The vehicle which laps into this lane.

Definition at line 691 of file MSLane.h.

Referenced by MSLane::getLastVehicleInformation(), and MSLane::getPartialOccupator().

SUMOReal MSLane::myInlappingVehicleEnd [protected, inherited]

End position of a vehicle which laps into this lane.

Definition at line 688 of file MSLane.h.

Referenced by MSLane::getLastVehicleInformation(), and MSLane::getPartialOccupatorEnd().

SUMOReal MSLane::myLeftVehLength [protected, inherited]

Not yet seen vehicle lengths.

Definition at line 695 of file MSLane.h.

Referenced by MSLane::moveCritical().

SUMOReal MSLane::myLength [protected, inherited]

Lane length [m].

Definition at line 650 of file MSLane.h.

Referenced by MSLane::getLength(), MSLane::getOccupancy(), MSLane::moveCritical(), and MSLane::setLength().

MSLinkCont MSLane::myLinks [protected, inherited]

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 MSLane::addLink(), MSLane::appropriate(), MSLane::getLinkCont(), MSLane::initialize(), MSLane::isLinkEnd(), MSLane::succLinkSec(), and MSLane::~MSLane().

MSLane* MSLane::myLogicalPredecessorLane [mutable, protected, inherited]

Definition at line 681 of file MSLane.h.

Referenced by MSLane::getLogicalPredecessorLane().

SUMOReal MSLane::myMaxSpeed [protected, inherited]

Lane-wide speedlimit [m/s].

Definition at line 659 of file MSLane.h.

Referenced by MSLane::getMaxSpeed(), MSLane::getMeanSpeed(), and MSLane::setMaxSpeed().

The list of disallowed vehicle classes.

Definition at line 678 of file MSLane.h.

Referenced by MSLane::allowsVehicleClass(), MSLane::getNotAllowedClasses(), and MSLane::setNotAllowedClasses().

size_t MSLane::myNumericalID [protected, inherited]

Unique numerical ID (set on reading by netload)

Definition at line 638 of file MSLane.h.

Referenced by MSLane::getNumericalID().

SUMOReal MSInternalLane::myPassPosition [private]

The position that must be free so that vehicles can pass.

Todo:
!!! incomplete usage; check

Definition at line 143 of file MSInternalLane.h.

The shape of the lane.

Definition at line 477 of file MSLane.h.

Referenced by GUILane::buildLaneWrapper(), GUIInternalLane::buildLaneWrapper(), and MSLane::getShape().

VehCont MSLane::myTmpVehicles [protected, inherited]

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 MSLane::swapAfterLaneChange().

std::vector<MSVehicle*> MSLane::myVehBuffer [protected, inherited]

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 MSLane::empty(), MSLane::integrateNewVehicle(), and MSLane::setCritical().

VehCont MSLane::myVehicles [protected, inherited]

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 MSLane::detectCollisions(), MSLane::empty(), GUILaneWrapper::firstWaitingTime(), MSLane::getFirstVehicle(), MSLane::getLastVehicle(), MSLane::getLastVehicleInformation(), MSLane::getMeanSpeed(), MSLane::getVehicleNumber(), MSLane::getVehiclesSecure(), GUILane::getVehiclesSecure(), GUIInternalLane::getVehiclesSecure(), MSLane::integrateNewVehicle(), MSLane::moveCritical(), moveCritical(), MSLane::removeVehicle(), MSLane::setCritical(), and MSLane::swapAfterLaneChange().

SUMOReal MSLane::myWidth [protected, inherited]

Lane width [m].

Definition at line 653 of file MSLane.h.

Referenced by MSLane::getWidth().


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines