SUMO - Simulation of Urban MObility

GUILane Class Reference

Representation of a lane in the micro simulation (gui-version) More...

#include <GUILane.h>

Inheritance diagram for GUILane:
MSLane Named

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)
GUILaneWrapper * buildLaneWrapper (unsigned int index)
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
 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
 Returns the leader and the distance to him.
MSLane * getLeftLane () const
const MSLinkCont & getLinkCont () const
 returns the container with all links !!!
MSLane * getLogicalPredecessorLane () const
MSLane * getRightLane () const
 GUILane (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)
 Constructor.
bool isApproachedFrom (MSEdge *const edge, MSLane *const lane)
bool isApproachedFrom (MSEdge *const edge)
bool isLinkEnd (MSLinkCont::iterator &i)
bool isLinkEnd (MSLinkCont::const_iterator &i) const
void leftByLaneChange (MSVehicle *v)
MSVehicle * removeVehicle (MSVehicle *remVehicle)
void setAllowedClasses (const SUMOVehicleClasses &classes)
void setID (const std::string &newID)
 resets the id
void setLength (SUMOReal val)
void setMaxSpeed (SUMOReal val)
void setNotAllowedClasses (const SUMOVehicleClasses &classes)
virtual MSLinkCont::const_iterator succLinkSec (const SUMOVehicle &veh, unsigned int nRouteSuccs, const MSLane &succLinkSource, const std::vector< MSLane * > &conts) const
 ~GUILane ()
 Destructor.
Access to vehicles
const VehCont & getVehiclesSecure () const
 Returns the vehicles container; locks it for microsimulation.
void releaseVehicles () const
 Allows to use the container for microsimulation again.
Vehicle movement (longitudinal)
bool moveCritical (SUMOTime t)
bool setCritical (SUMOTime t, std::vector< MSLane * > &into)
bool integrateNewVehicle (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)
 Add a move-reminder to move-reminder container.
const std::vector
< MSMoveReminder * > & 
getMoveReminders () const
 Return the list of this lane's move reminders.
Vehicle insertion
bool insertVehicle (MSVehicle &v)
 Tries to insert the given vehicle.
virtual bool isInsertionSuccess (MSVehicle *vehicle, SUMOReal speed, SUMOReal pos, bool recheckNextLanes, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED)
 Tries to insert the given vehicle with the given state (speed and pos)
bool pWagGenericInsertion (MSVehicle &veh, SUMOReal speed, SUMOReal maxPos, SUMOReal minPos)
bool pWagSimpleInsertion (MSVehicle &veh, SUMOReal speed, SUMOReal maxPos, SUMOReal minPos)
bool maxSpeedGapInsertion (MSVehicle &veh, SUMOReal mspeed)
bool freeInsertion (MSVehicle &veh, SUMOReal speed, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED)
 Tries to insert the given vehicle on any place.
void forceVehicleInsertion (MSVehicle *veh, SUMOReal pos)
 Inserts the given vehicle at the given position.
Handling vehicles lapping into lanes
SUMOReal setPartialOccupation (MSVehicle *v, SUMOReal leftVehicleLength)
 Sets the information about a vehicle lapping into this lane.
void resetPartialOccupation (MSVehicle *v)
 Removes the information about a vehicle lapping into this lane.
MSVehicle * getPartialOccupator () const
 Returns the vehicle which laps into this lane.
SUMOReal getPartialOccupatorEnd () const
 Returns the position of the in-lapping vehicle's end.
std::pair< MSVehicle *, SUMOReal > getLastVehicleInformation () const
 Returns the last vehicle which is still on the lane.
Access to vehicles
unsigned int getVehicleNumber () const
 Returns the number of vehicles on this lane.
Atomar value getter
size_t getNumericalID () const
 Returns this lane's numerical id.
const PositionVector & getShape () const
 Returns this lane's shape.
SUMOReal getMaxSpeed () const
 Returns the lane's maximum speed.
SUMOReal getLength () const
 Returns the lane's length.
const SUMOVehicleClasses & getAllowedClasses () const
 Returns vehicle classes explicitly allowed on this lane.
const SUMOVehicleClasses & getNotAllowedClasses () const
 Returns vehicle classes explicitly disallowed on this lane.
SUMOReal getWidth () const
 Returns the lane's width.
Current state retrieval
SUMOReal getMeanSpeed () const
 Returns the mean speed on this lane.
SUMOReal getOccupancy () const
 Returns the occupancy of this lane during the last step.
SUMOReal getVehLenSum () const
 Returns the sum of lengths of vehicles which were on the lane during the last step.
SUMOReal getHBEFA_CO2Emissions () const
 Returns the sum of last step CO2 emissions.
SUMOReal getHBEFA_COEmissions () const
 Returns the sum of last step CO emissions.
SUMOReal getHBEFA_PMxEmissions () const
 Returns the sum of last step PMx emissions.
SUMOReal getHBEFA_NOxEmissions () const
 Returns the sum of last step NOx emissions.
SUMOReal getHBEFA_HCEmissions () const
 Returns the sum of last step HC emissions.
SUMOReal getHBEFA_FuelConsumption () const
 Returns the sum of last step fuel consumption.
SUMOReal getHarmonoise_NoiseEmissions () const
 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)

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)
 Inserts the vehicle into this lane, and informs it about entering the network.
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 Attributes

MFXMutex myLock
 The mutex used to avoid concurrent updates of the vehicle buffer.

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 in the micro simulation (gui-version)

An extended MSLane. A mechanism to avoid concurrent visualisation and simulation what may cause problems when vehicles disappear is implemented using a mutex.

Definition at line 64 of file GUILane.h.


Member Typedef Documentation

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

definition of the tatic dictionary type

Definition at line 712 of file MSLane.h.

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

Container for vehicles.

Definition at line 450 of file MSLane.h.


Constructor & Destructor Documentation

GUILane::GUILane ( 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 
)

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 54 of file GUILane.cpp.

GUILane::~GUILane ( )

Destructor.

Definition at line 62 of file GUILane.cpp.

References MFXMutex::locked(), myLock, and MFXMutex::unlock().


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 107 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by NLHandler::addConnection().

void MSLane::addMoveReminder ( MSMoveReminder *  rem) [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 114 of file MSLane.cpp.

References MSLane::myMoveReminders, and MSLane::myVehicles.

Referenced by MSMoveReminder::MSMoveReminder().

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

Definition at line 979 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 812 of file MSLane.cpp.

References MSEdge::EDGEFUNCTION_INTERNAL, MSVehicle::getBestLanesContinuation(), MSEdge::getPurpose(), MSLane::myEdge, MSLane::myLinks, and MSLane::succLinkSec().

Referenced by MSVehicle::moveRegardingCritical().

GUILaneWrapper * GUILane::buildLaneWrapper ( unsigned int  index) [virtual]

Reimplemented from MSLane.

Definition at line 170 of file GUILane.cpp.

References MSLane::GUILaneWrapper, and MSLane::myShape.

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

Clears the dictionary

Definition at line 795 of file MSLane.cpp.

References MSLane::myDict.

Referenced by MSNet::clearAll().

void GUILane::detectCollisions ( SUMOTime  timestep) [virtual]

Check if vehicles are too close.

Reimplemented from MSLane.

Definition at line 176 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().

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

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

Definition at line 784 of file MSLane.cpp.

References MSLane::myDict.

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

Definition at line 443 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 410 of file MSLane.h.

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

void MSLane::enteredByLaneChange ( MSVehicle *  v) [inherited]
void MSLane::forceVehicleInsertion ( MSVehicle *  veh,
SUMOReal  pos 
) [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 593 of file MSLane.cpp.

References MSVehicle::getSpeed(), MSLane::incorporateVehicle(), and MSLane::myVehicles.

Referenced by TraCIServerAPI_Vehicle::processSet().

bool MSLane::freeInsertion ( MSVehicle &  veh,
SUMOReal  speed,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
) [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 261 of file MSLane.cpp.

References MSCFModel::followSpeed(), MSVehicle::getCarFollowModel(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSVehicle::getPositionOnLane(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSLane::isInsertionSuccess(), MIN2(), MSLane::myVehicles, POSITION_EPS, and SUMOReal.

Referenced by MSVehicleTransfer::checkInsertions(), and MSLane::insertVehicle().

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

Returns vehicle classes explicitly allowed on this lane.

Returns:
This lane's allowed vehicle classes

Definition at line 358 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 857 of file MSLane.cpp.

References MSLane::myVehicles.

Referenced by MSLane::getFollowerOnConsecutive(), and MSVehicle::vsafeCriticalCont().

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

Returns the sum of last step noise emissions.

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

Definition at line 1298 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 [inherited]

Returns the sum of last step CO2 emissions.

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

Definition at line 1226 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 [inherited]

Returns the sum of last step CO emissions.

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

Definition at line 1238 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 [inherited]

Returns the sum of last step fuel consumption.

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

Definition at line 1286 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 [inherited]

Returns the sum of last step HC emissions.

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

Definition at line 1274 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 [inherited]

Returns the sum of last step NOx emissions.

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

Definition at line 1262 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 [inherited]

Returns the sum of last step PMx emissions.

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

Definition at line 1250 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 61 of file Named.h.

References Named::myID.

Referenced by ShapeContainer::add(), MSDetectorControl::add(), RORouteDef_Alternatives::addAlternative(), MSNet::addBusStop(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), NIVisumTL::build(), MS_E2_ZS_CollectorOverLanes::buildCollector(), RORouteDef_Complete::buildCurrentRoute(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBNodeCont::buildOffRamp(), NBNodeCont::buildOnRamp(), ODDistrictHandler::closeDistrict(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBEdge::connections_sorter(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), MSVTypeProbe::execute(), Command_SaveTLSSwitches::execute(), NBTrafficLightLogicCont::extract(), NBNodeCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBEdgeCont::ignoreFilterMatch(), MSUnboundActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NIImporter_SUMO::initTrafficLightLogic(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBDistrictCont::insert(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), MSLane::moveCritical(), MSVehicle::MSVehicle(), RORDLoader_SUMOBase::myCharacters(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSTriggeredRerouter::myStartElement(), MSLaneSpeedTrigger::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), 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(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), MSLane::setCritical(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NBEdge::startShapeAt(), 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(), MSInductLoop::writeTypedXMLOutput(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

const std::vector<IncomingLaneInfo>& MSLane::getIncomingLanes ( ) const [inline, inherited]
MSVehicle * MSLane::getLastVehicle ( ) const [virtual, inherited]
std::pair< MSVehicle *, SUMOReal > MSLane::getLastVehicleInformation ( ) const [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 621 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 [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 1094 of file MSLane.cpp.

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

Referenced by MSCFModel_PWag2009::moveHelper(), MSLane::pWagGenericInsertion(), and MSLane::pWagSimpleInsertion().

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

Definition at line 967 of file MSLane.cpp.

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

SUMOReal MSLane::getLength ( ) const [inline, inherited]

Returns the lane's length.

Returns:
This lane's length

Definition at line 350 of file MSLane.h.

References MSLane::myLength.

Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), NLHandler::addConnection(), MSLane::addIncomingLane(), NLHandler::addPOI(), MSVehicle::addStop(), NLSucceedingLaneBuilder::addSuccLane(), MS_E2_ZS_CollectorOverLanes::buildCollector(), GUI_E2_ZS_CollectorOverLanes::buildCollector(), NLDetectorBuilder::buildInductLoop(), MSVehicle::checkRewindLinkLanes(), MS_E2_ZS_CollectorOverLanes::extendTo(), MSLane::freeInsertion(), MSVehicle::getBestLanes(), MSVehicle::getDistanceToPosition(), TraCIDijkstraRouter< E >::getEffort(), TraCIServerAPI_Simulation::getLaneChecking(), MSLane::getLeaderOnConsecutive(), getMaxSpeedRegardingNextLanes(), GUILaneWrapper::getNormedHBEFA_CO2Emissions(), GUILaneWrapper::getNormedHBEFA_COEmissions(), GUILaneWrapper::getNormedHBEFA_FuelConsumption(), GUILaneWrapper::getNormedHBEFA_HCEmissions(), GUILaneWrapper::getNormedHBEFA_NOxEmissions(), GUILaneWrapper::getNormedHBEFA_PMxEmissions(), GUILaneWrapper::getParameterWindow(), NLTriggerBuilder::getPosition(), MSVehicle::getSpaceTillLastStanding(), MSNet::EdgeWeightsProxi::getTravelTime(), MSActuatedTrafficLightLogic::init(), MS_E2_ZS_CollectorOverLanes::init(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), MSLane::maxSpeedGapInsertion(), MSVehicle::moveChecked(), MSVehicle::moveRegardingCritical(), NLTriggerBuilder::parseAndBuildBusStop(), TraCIServerAPI_Lane::processGet(), MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), MSVehicle::setBlinkerInformation(), MSLane::setCritical(), MSVehicle::vsafeCriticalCont(), MSLCM_DK2004::wantsChangeToLeft(), and MSLCM_DK2004::wantsChangeToRight().

MSLane * MSLane::getLogicalPredecessorLane ( ) const [inherited]
SUMOReal MSLane::getMeanSpeed ( ) const [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 1210 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 [inline, inherited]

Return the list of this lane's move reminders.

Returns:
Previously added move reminder

Definition at line 162 of file MSLane.h.

References MSLane::myMoveReminders.

Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), MSVehicle::enterLaneAtInsertion(), and MSVehicle::enterLaneAtLaneChange().

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

Returns vehicle classes explicitly disallowed on this lane.

Returns:
This lane's disallowed vehicle classes

Definition at line 366 of file MSLane.h.

References MSLane::myNotAllowedClasses.

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

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

Returns this lane's numerical id.

Returns:
This lane's numerical id

Definition at line 326 of file MSLane.h.

References MSLane::myNumericalID.

SUMOReal MSLane::getOccupancy ( ) const [inherited]

Returns the occupancy of this lane during the last step.

Returns:
The occupancy during the last step

Definition at line 1198 of file MSLane.cpp.

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

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

MSVehicle* MSLane::getPartialOccupator ( ) const [inline, inherited]
SUMOReal MSLane::getPartialOccupatorEnd ( ) const [inline, inherited]
MSLane * MSLane::getRightLane ( ) const [inherited]

Definition at line 973 of file MSLane.cpp.

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

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

Returns the number of vehicles on this lane.

Returns:
The number of vehicles on this lane

Definition at line 296 of file MSLane.h.

References MSLane::myVehicles.

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

const MSLane::VehCont & GUILane::getVehiclesSecure ( ) const [virtual]

Returns the vehicles container; locks it for microsimulation.

Locks "myLock" preventing usage by microsimulation.

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

Returns:
The vehicles on this lane
See also:
MSLane::getVehiclesSecure

Reimplemented from MSLane.

Definition at line 88 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MSLane::myVehicles.

SUMOReal MSLane::getVehLenSum ( ) const [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 1204 of file MSLane.cpp.

References MSLane::myVehicleLengthSum.

Referenced by MSVehicle::checkRewindLinkLanes().

SUMOReal MSLane::getWidth ( ) const [inline, inherited]
void GUILane::incorporateVehicle ( MSVehicle *  veh,
SUMOReal  pos,
SUMOReal  speed,
const MSLane::VehCont::iterator &  at,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
) [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

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
See also:
MSLane::incorporateVehicle

Reimplemented from MSLane.

Definition at line 72 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().

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 100 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by NLSucceedingLaneBuilder::closeSuccLane().

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

Definition at line 804 of file MSLane.cpp.

References MSLane::myDict.

Referenced by TraCIServerAPI_Lane::processGet().

bool MSLane::insertVehicle ( MSVehicle &  v) [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 328 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, MSLane::freeInsertion(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSLane::getMaxSpeed(), MSBaseVehicle::getMaxSpeed(), MSBaseVehicle::getParameter(), MSBaseVehicle::getVehicleType(), MSLane::isInsertionSuccess(), MSLane::maxSpeedGapInsertion(), MIN2(), MSLane::myLength, POSITION_EPS, MSLane::pWagGenericInsertion(), MSLane::pWagSimpleInsertion(), RandHelper::rand(), and SUMOReal.

Referenced by MSEdge::insertVehicle().

bool GUILane::integrateNewVehicle ( SUMOTime  t) [virtual]

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 156 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().

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

Definition at line 1020 of file MSLane.cpp.

References MSLane::myApproachingLanes.

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

Definition at line 1026 of file MSLane.cpp.

References MSLane::myApproachingLanes.

bool MSLane::isInsertionSuccess ( MSVehicle *  vehicle,
SUMOReal  speed,
SUMOReal  pos,
bool  recheckNextLanes,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
) [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 398 of file MSLane.cpp.

References MSRoute::begin(), MSCFModel::brakeGap(), MSCFModel::followSpeed(), MSCFModel::freeSpeed(), MSVehicle::gap(), MSVehicle::getBestLanes(), MSVehicle::getBestLanesContinuation(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLane::getFollowerOnConsecutive(), MSBaseVehicle::getID(), MSNet::getInstance(), MSLane::getLastVehicle(), MSLane::getLength(), MSVehicleType::getLengthWithGap(), MSCFModel::getMaxDecel(), MSLane::getMaxSpeed(), MSLane::getPartialOccupator(), MSLane::getPartialOccupatorEnd(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getRoute(), MSCFModel::getSecureGap(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSLane::incorporateVehicle(), MSLane::isLinkEnd(), LINKSTATE_TL_RED, MIN2(), MSLane::myLength, MSLane::myVehicles, SPEED2DIST, MSLane::succLinkSec(), SUMOReal, TIME2STEPS, and WRITE_ERROR.

Referenced by MSVehicleTransfer::checkInsertions(), MSLane::freeInsertion(), MSLane::insertVehicle(), and MSLane::maxSpeedGapInsertion().

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 836 of file MSLane.cpp.

References MSLane::myLinks.

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

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 842 of file MSLane.cpp.

References MSLane::myLinks.

void MSLane::leftByLaneChange ( MSVehicle *  v) [inherited]
bool GUILane::moveCritical ( SUMOTime  t) [virtual]

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 101 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().

void GUILane::releaseVehicles ( ) const [virtual]

Allows to use the container for microsimulation again.

Unlocks "myLock" preventing usage by microsimulation.

See also:
MSLane::releaseVehicles

Reimplemented from MSLane.

Definition at line 95 of file GUILane.cpp.

References myLock, and MFXMutex::unlock().

MSVehicle * GUILane::removeVehicle ( MSVehicle *  remVehicle) [virtual]

Reimplemented from MSLane.

Definition at line 129 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().

void MSLane::resetPartialOccupation ( MSVehicle *  v) [inherited]

Removes the information about a vehicle lapping into this lane.

Parameters:
[in]vThe vehicle which laps into this lane

Definition at line 612 of file MSLane.cpp.

References MSLane::myInlappingVehicle, and MSLane::myInlappingVehicleEnd.

Referenced by MSVehicle::moveChecked().

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

Definition at line 494 of file MSLane.h.

References MSLane::myAllowedClasses.

Referenced by TraCIServerAPI_Lane::processSet().

bool GUILane::setCritical ( SUMOTime  t,
std::vector< MSLane * > &  into 
) [virtual]

the same as in MSLane, but locks the access for the visualisation first; the access will be granted at the end of this method

Reimplemented from MSLane.

Definition at line 115 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().

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

resets the id

Definition at line 67 of file Named.h.

References Named::myID.

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

Definition at line 419 of file MSLane.h.

References MSLane::myLength.

Referenced by TraCIServerAPI_Lane::processSet().

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

Definition at line 415 of file MSLane.h.

References MSLane::myMaxSpeed.

Referenced by TraCIServerAPI_Lane::processSet().

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

Definition at line 499 of file MSLane.h.

References MSLane::myNotAllowedClasses.

Referenced by TraCIServerAPI_Lane::processSet().

SUMOReal MSLane::setPartialOccupation ( MSVehicle *  v,
SUMOReal  leftVehicleLength 
) [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 600 of file MSLane.cpp.

References MSLane::myInlappingVehicle, MSLane::myInlappingVehicleEnd, and MSLane::myLength.

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 866 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(), MSVehicle::setBlinkerInformation(), and MSVehicle::vsafeCriticalCont().

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

moves myTmpVehicles int myVehicles after a lane change procedure

Reimplemented from MSLane.

Definition at line 143 of file GUILane.cpp.

References MFXMutex::lock(), myLock, and MFXMutex::unlock().


Friends And Related Function Documentation

friend class GUILaneWrapper [friend, inherited]

Definition at line 83 of file MSLane.h.

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

friend class MSLaneChanger [friend, inherited]

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

Definition at line 81 of file MSLane.h.

friend class MSXMLRawOut [friend, inherited]

Definition at line 85 of file MSLane.h.


Field Documentation

The list of allowed vehicle classes.

Definition at line 681 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 707 of file MSLane.h.

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

SUMOReal MSLane::myBackDistance [protected, inherited]

Definition at line 672 of file MSLane.h.

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

Static dictionary to associate string-ids with objects.

Definition at line 715 of file MSLane.h.

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

MSEdge* MSLane::myEdge [protected, inherited]

The lane's edge, for routing only.

Definition at line 662 of file MSLane.h.

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

MSVehicle* MSLane::myInlappingVehicle [protected, inherited]

The vehicle which laps into this lane.

Definition at line 697 of file MSLane.h.

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

SUMOReal MSLane::myInlappingVehicleEnd [protected, inherited]

End position of a vehicle which laps into this lane.

Definition at line 694 of file MSLane.h.

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

SUMOReal MSLane::myLeftVehLength [protected, inherited]

Not yet seen vehicle lengths.

Definition at line 701 of file MSLane.h.

Referenced by MSLane::moveCritical().

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 705 of file MSLane.h.

Referenced by MSLane::addLink(), MSLane::appropriate(), MSLane::getLinkCont(), MSLane::initialize(), MSLane::isLinkEnd(), MSLane::succLinkSec(), and MSLane::~MSLane().

MFXMutex GUILane::myLock [mutable, private]

The mutex used to avoid concurrent updates of the vehicle buffer.

Definition at line 163 of file GUILane.h.

Referenced by detectCollisions(), getVehiclesSecure(), incorporateVehicle(), integrateNewVehicle(), moveCritical(), releaseVehicles(), removeVehicle(), setCritical(), swapAfterLaneChange(), and ~GUILane().

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

Definition at line 687 of file MSLane.h.

Referenced by MSLane::getLogicalPredecessorLane().

SUMOReal MSLane::myMaxSpeed [protected, inherited]

Lane-wide speedlimit [m/s].

Definition at line 665 of file MSLane.h.

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

The list of disallowed vehicle classes.

Definition at line 684 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 644 of file MSLane.h.

Referenced by MSLane::getNumericalID().

The shape of the lane.

Definition at line 483 of file MSLane.h.

Referenced by 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 669 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 678 of file MSLane.h.

Referenced by MSLane::empty(), MSLane::integrateNewVehicle(), MSLane::setCritical(), and MSXMLRawOut::writeLane().

SUMOReal MSLane::myWidth [protected, inherited]

Lane width [m].

Definition at line 659 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