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:
Inheritance graph
Collaboration diagram for GUILane:
Collaboration graph

Public Types

enum  CollisionAction { COLLISION_ACTION_NONE, COLLISION_ACTION_WARN, COLLISION_ACTION_TELEPORT, COLLISION_ACTION_REMOVE }
 
typedef std::vector< MSVehicle * > VehCont
 Container for vehicles. More...
 

Public Member Functions

void addApproachingLane (MSLane *lane, bool warnMultiCon)
 
void addIncomingLane (MSLane *lane, MSLink *viaLink)
 
void addParking (MSVehicle *veh)
 add parking vehicle. This should only used during state loading More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
bool allowsVehicleClass (SUMOVehicleClass vclass) const
 
virtual bool appropriate (const MSVehicle *veh)
 
void clearParameter ()
 Clears the parameter map. More...
 
void closeTraffic (bool rebuildAllowed=true)
 close this lane for traffic More...
 
void debugDrawFoeIntersections () const
 draw intersection positions of foe internal lanes with this one More...
 
void detectCollisions (SUMOTime timestep, const std::string &stage)
 
void drawBikeMarkings () const
 bike lane markings on top of an intersection More...
 
void drawDirectionIndicators (double exaggeration) const
 direction indicators for lanes More...
 
virtual void drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const
 Draws additional, user-triggered visualisations. More...
 
void drawMarkings (const GUIVisualizationSettings &s, double scale) const
 draw lane borders and white markings More...
 
void drawName (const Position &pos, const double scale, const GUIVisualizationTextSettings &settings, const double angle=0) const
 draw name of item More...
 
bool empty () const
 Returns true if there is not a single vehicle on the lane. More...
 
void enteredByLaneChange (MSVehicle *v)
 
double firstWaitingTime () const
 
MSLane * getCanonicalPredecessorLane () const
 
MSLane * getCanonicalSuccessorLane () const
 
double getCenterOnEdge () const
 
double getColorValue (int activeScheme) const
 gets the color value according to the current scheme index More...
 
std::pair< MSVehicle *const, double > getCriticalLeader (double dist, double seen, double speed, const MSVehicle &veh) const
 Returns the most dangerous leader and the distance to him. More...
 
int getCrossingIndex () const
 return the index of the link to the next crossing if this is walkingArea, else -1 More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
MSEdge & getEdge () const
 Returns the lane's edge. More...
 
double getEdgeLaneNumber () const
 
MSLink * getEntryLink () const
 Returns the entry link if this is an internal lane, else 0. More...
 
MSVehicle * getFirstAnyVehicle () const
 returns the first vehicle that is fully or partially on this lane More...
 
MSVehicle * getFirstFullVehicle () const
 returns the first vehicle for which this lane is responsible or 0 More...
 
const MSLane * getFirstInternalInConnection (double &offset) const
 Returns 0 if the lane is not internal. Otherwise the first part of the connection (sequence of internal lanes along junction) corresponding to the lane is returned and the offset is set to the distance of the begin of this lane to the begin of the returned. More...
 
std::pair< MSVehicle *const, double > getFollower (const MSVehicle *ego, double egoPos, double dist, bool ignoreMinorLinks) const
 Find follower vehicle for the given ego vehicle (which may be on the opposite direction lane) More...
 
MSLeaderDistanceInfo getFollowersOnConsecutive (const MSVehicle *ego, double backOffset, bool allSublanes, double searchDist=-1, bool ignoreMinorLinks=false) const
 return the sublane followers with the largest missing rear gap among all predecessor lanes (within dist) More...
 
const std::string & getID () const
 Returns the id. More...
 
const std::vector< IncomingLaneInfo > & getIncomingLanes () const
 
LinkState getIncomingLinkState () const
 get the state of the link from the logical predecessor to this lane More...
 
MSVehicle * getLastAnyVehicle () const
 returns the last vehicle that is fully or partially on this lane More...
 
MSVehicle * getLastFullVehicle () const
 returns the last vehicle for which this lane is responsible or 0 More...
 
std::pair< MSVehicle *const, double > getLeader (const MSVehicle *veh, const double vehPos, const std::vector< MSLane *> &bestLaneConts, double dist=-1, bool checkTmpVehicles=false) const
 Returns the immediate leader of veh and the distance to veh starting on this lane. More...
 
std::pair< MSVehicle *const, double > getLeaderOnConsecutive (double dist, double seen, double speed, const MSVehicle &veh, const std::vector< MSLane *> &bestLaneConts) const
 Returns the immediate leader and the distance to him. More...
 
void getLeadersOnConsecutive (double dist, double seen, double speed, const MSVehicle *ego, const std::vector< MSLane *> &bestLaneConts, MSLeaderDistanceInfo &result) const
 Returns the immediate leaders and the distance to them (as getLeaderOnConsecutive but for the sublane case) More...
 
const MSLinkCont & getLinkCont () const
 returns the container with all links !!! More...
 
MSLink * getLinkTo (const MSLane *) const
 returns the link to the given lane or 0, if it is not connected More...
 
double getLoadedEdgeWeight () const
 Returns the loaded weight (effort) for the edge of this lane. More...
 
MSLane * getLogicalPredecessorLane () const
 get the most likely precedecessor lane (sorted using by_connections_to_sorter). The result is cached in myLogicalPredecessorLane More...
 
MSLane * getLogicalPredecessorLane (const MSEdge &fromEdge) const
 return the (first) predecessor lane from the given edge More...
 
double getMissingRearGap (const MSVehicle *leader, double backOffset, double leaderSpeed) const
 return by how much further the leader must be inserted to avoid rear end collisions More...
 
const MSEdge * getNextNormal () const
 Returns the lane's follower if it is an internal lane, the edge of the lane otherwise. More...
 
MSLane * getOpposite () const
 return the opposite direction lane for lane changing or 0 More...
 
std::pair< MSVehicle *const, double > getOppositeFollower (const MSVehicle *ego) const
 
std::pair< MSVehicle *const, double > getOppositeLeader (const MSVehicle *ego, double dist, bool oppositeDir) const
 
double getOppositePos (double pos) const
 return the corresponding position on the opposite lane More...
 
const std::vector< std::pair< const MSLane *, const MSEdge * > > getOutgoingViaLanes () const
 get the list of outgoing lanes More...
 
MSLane * getParallelLane (int offset) const
 Returns the lane with the given offset parallel to this one or 0 if it does not exist. More...
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
std::string getParentName () const
 Returns the name of the parent object (if any) More...
 
const std::set< const MSVehicle * > & getParkingVehicles () const
 retrieve the parking vehicles (see GUIParkingArea) More...
 
MSVehicle * getPartialBehind (const MSVehicle *ego) const
 
MSLeaderInfo getPartialBeyond () const
 get all vehicles that are inlapping from consecutive edges More...
 
int getRightmostSublane () const
 
double getRightSideOnEdge () const
 
const PositionVector & getShape () const
 
const std::vector< double > & getShapeLengths () const
 
const std::vector< double > & getShapeRotations () const
 
double getStopOffset (const MSVehicle *veh) const
 Returns vehicle class specific stopOffset for the vehicle. More...
 
const std::map< SVCPermissions, double > & getStopOffsets () const
 Returns vehicle class specific stopOffsets. More...
 
double getStoredEdgeTravelTime () const
 Returns the stored traveltime for the edge of this lane. More...
 
 GUILane (const std::string &id, double maxSpeed, double length, MSEdge *const edge, int numericalID, const PositionVector &shape, double width, SVCPermissions permissions, int index, bool isRampAccel)
 Constructor. More...
 
void initRestrictions ()
 initialized vClass-specific speed limits More...
 
bool isApproachedFrom (MSEdge *const edge)
 
bool isApproachedFrom (MSEdge *const edge, MSLane *const lane)
 
bool isClosed () const
 
bool isEmpty () const
 
bool isInternal () const
 
bool isLinkEnd (MSLinkCont::const_iterator &i) const
 
bool isLinkEnd (MSLinkCont::iterator &i)
 
bool isSelected () const
 whether this lane is selected in the GUI More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
void leftByLaneChange (MSVehicle *v)
 
void removeParking (MSVehicle *veh)
 remove parking vehicle More...
 
MSVehicle * removeVehicle (MSVehicle *remVehicle, MSMoveReminder::Notification notification, bool notify)
 
void resetPartialOccupation (MSVehicle *v)
 Removes the information about a vehicle lapping into this lane. More...
 
void resetPermissions (long long transientID)
 
void setID (const std::string &newID)
 resets the id More...
 
void setLength (double val)
 Sets a new length for the lane (used by TraCI only) More...
 
void setMaxSpeed (double val)
 Sets a new maximum speed for the lane (used by TraCI and MSCalibrator) More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
double setPartialOccupation (MSVehicle *v)
 Sets the information about a vehicle lapping into this lane. More...
 
void setPermissions (SVCPermissions permissions, long long transientID)
 Sets the permissions to the given value. If a transientID is given, the permissions are recored as temporary. More...
 
void setRightSideOnEdge (double value, int rightmostSublane)
 
void setStopOffsets (std::map< SVCPermissions, double > stopOffsets)
 Set vehicle class specific stopOffsets. More...
 
void sortManeuverReservations ()
 sorts myManeuverReservations More...
 
void sortPartialVehicles ()
 sorts myPartialVehicles More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameter (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
void visit (const LaneStoringVisitor &cont) const
 Callback for visiting the lane when traversing an RTree. More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 
 ~GUILane ()
 Destructor. More...
 
Access to vehicles
const VehCont & getVehiclesSecure () const
 Returns the vehicles container; locks it for microsimulation. More...
 
void releaseVehicles () const
 Allows to use the container for microsimulation again. More...
 
Vehicle movement (longitudinal)
void planMovements (const SUMOTime t)
 
bool executeMovements (SUMOTime t, std::vector< MSLane *> &into)
 
bool integrateNewVehicle (SUMOTime t)
 
inherited from GUIGlObject
GUIGLObjectPopupMenu * getPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own popup-menu. More...
 
GUIParameterTableWindow * getParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own parameter window. More...
 
Boundary getCenteringBoundary () const
 Returns the boundary to which the view shall be centered in order to show the object. More...
 
void drawGL (const GUIVisualizationSettings &s) const
 Draws the object. More...
 
Additional initialisation
void addLink (MSLink *link)
 Delayed initialization. More...
 
void addNeigh (const std::string &id)
 Adds a neighbor to this lane. More...
 
interaction with MSMoveReminder
virtual void addMoveReminder (MSMoveReminder *rem)
 Add a move-reminder to move-reminder container. More...
 
const std::vector< MSMoveReminder *> & getMoveReminders () const
 Return the list of this lane's move reminders. More...
 
Vehicle insertion
bool insertVehicle (MSVehicle &v)
 Tries to insert the given vehicle. More...
 
bool isInsertionSuccess (MSVehicle *vehicle, double speed, double pos, double posLat, bool recheckNextLanes, MSMoveReminder::Notification notification)
 Tries to insert the given vehicle with the given state (speed and pos) More...
 
bool checkFailure (const MSVehicle *aVehicle, double &speed, double &dist, const double nspeed, const bool patchSpeed, const std::string errorMsg) const
 
bool lastInsertion (MSVehicle &veh, double mspeed, double posLat, bool patchSpeed)
 inserts vehicle as close as possible to the last vehicle on this lane (or at the end of the lane if there is no leader) More...
 
bool freeInsertion (MSVehicle &veh, double speed, double posLat, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED)
 Tries to insert the given vehicle on any place. More...
 
void forceVehicleInsertion (MSVehicle *veh, double pos, MSMoveReminder::Notification notification, double posLat=0)
 Inserts the given vehicle at the given position. More...
 
Handling vehicles lapping into several lanes (-> partial occupation)

or which committed a maneuver that will lead them into another (sublane case -> maneuver reservations)

virtual void setManeuverReservation (MSVehicle *v)
 Registers the lane change intentions (towards this lane) for the given vehicle. More...
 
virtual void resetManeuverReservation (MSVehicle *v)
 Unregisters a vehicle, which previously registered for maneuvering into this lane. More...
 
const MSLeaderInfo & getLastVehicleInformation (const MSVehicle *ego, double latOffset, double minPos=0, bool allowCached=true) const
 Returns the last vehicles on the lane. More...
 
const MSLeaderInfo & getFirstVehicleInformation (const MSVehicle *ego, double latOffset, bool onlyFrontOnLane, double maxPos=std::numeric_limits< double >::max(), bool allowCached=true) const
 analogue to getLastVehicleInformation but in the upstream direction More...
 
Access to vehicles
int getVehicleNumber () const
 Returns the number of vehicles on this lane (for which this lane is responsible) More...
 
int getVehicleNumberWithPartials () const
 Returns the number of vehicles on this lane (including partial occupators) More...
 
int getPartialVehicleNumber () const
 Returns the number of vehicles partially on this lane (for which this lane is not responsible) More...
 
AnyVehicleIterator anyVehiclesBegin () const
 begin iterator for iterating over all vehicles touching this lane in downstream direction More...
 
AnyVehicleIterator anyVehiclesEnd () const
 end iterator for iterating over all vehicles touching this lane in downstream direction More...
 
AnyVehicleIterator anyVehiclesUpstreamBegin () const
 begin iterator for iterating over all vehicles touching this lane in upstream direction More...
 
AnyVehicleIterator anyVehiclesUpstreamEnd () const
 end iterator for iterating over all vehicles touching this lane in upstream direction More...
 
Atomar value getter
int getNumericalID () const
 Returns this lane's numerical id. More...
 
double getLengthGeometryFactor () const
 return shape.length() / myLength More...
 
bool isAccelLane () const
 return whether this lane is an acceleration lane More...
 
double interpolateLanePosToGeometryPos (double lanePos) const
 
const Position geometryPositionAtOffset (double offset, double lateralOffset=0) const
 
double interpolateGeometryPosToLanePos (double geometryPos) const
 
double getVehicleMaxSpeed (const SUMOVehicle *const veh) const
 Returns the lane's maximum speed, given a vehicle's speed limit adaptation. More...
 
double getSpeedLimit () const
 Returns the lane's maximum allowed speed. More...
 
double getLength () const
 Returns the lane's length. More...
 
SVCPermissions getPermissions () const
 Returns the vehicle class permissions for this lane. More...
 
double getWidth () const
 Returns the lane's width. More...
 
int getIndex () const
 Returns the lane's index. More...
 
Vehicle movement (longitudinal)
void updateLeaderInfo (const MSVehicle *veh, VehCont::reverse_iterator &vehPart, VehCont::reverse_iterator &vehRes, MSLeaderInfo &ahead) const
 This updates the MSLeaderInfo argument with respect to the given MSVehicle. All leader-vehicles on the same edge, which are relevant for the vehicle (i.e. with position > vehicle's position) and not already integrated into the LeaderInfo, are integrated. The given iterators vehPart and vehRes give access to these vehicles which are either partial occupators or have issued a maneuver reservation for the lane (the latter occurs only for the sublane model). More...
 
Current state retrieval
double getMeanSpeed () const
 Returns the mean speed on this lane. More...
 
double getWaitingSeconds () const
 Returns the overall waiting time on this lane. More...
 
double getBruttoOccupancy () const
 Returns the brutto (including minGaps) occupancy of this lane during the last step. More...
 
double getNettoOccupancy () const
 Returns the netto (excluding minGaps) occupancy of this lane during the last step (including minGaps) More...
 
double getBruttoVehLenSum () const
 Returns the sum of lengths of vehicles, including their minGaps, which were on the lane during the last step. More...
 
double getCO2Emissions () const
 Returns the sum of last step CO2 emissions. More...
 
double getCOEmissions () const
 Returns the sum of last step CO emissions. More...
 
double getPMxEmissions () const
 Returns the sum of last step PMx emissions. More...
 
double getNOxEmissions () const
 Returns the sum of last step NOx emissions. More...
 
double getHCEmissions () const
 Returns the sum of last step HC emissions. More...
 
double getFuelConsumption () const
 Returns the sum of last step fuel consumption. More...
 
double getElectricityConsumption () const
 Returns the sum of last step electricity consumption. More...
 
double getHarmonoise_NoiseEmissions () const
 Returns the sum of last step noise emissions. More...
 
State saving/loading
void saveState (OutputDevice &out)
 Saves the state of this lane into the given stream. More...
 
void loadState (std::vector< std::string > &vehIDs, MSVehicleControl &vc)
 Loads the state of this segment with the given parameters. More...
 
Atomar getter methods

Returns the full name appearing in the tool tip

Returns
This object's typed id
const std::string & getFullName () const
 
GUIGlID getGlID () const
 Returns the numerical id of the object. More...
 
interfaces to be implemented by derived classes
virtual GUIParameterTableWindow * getTypeParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own type parameter window (optional) More...
 
virtual const std::string & getMicrosimID () const
 Returns the id of the object as known to microsim. More...
 
virtual void setMicrosimID (const std::string &newID)
 Changes the microsimID of the object. More...
 
GUIGlObjectType getType () const
 Returns the type of the object as coded in GUIGlObjectType. More...
 
Parameter table window I/O

Lets this object know a parameter window showing the object's values was opened

Parameters
[in]wThe opened parameter window
void addParameterTable (GUIParameterTableWindow *w)
 
void removeParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was closed. More...
 

Static Public Member Functions

static void clear ()
 Clears the dictionary. More...
 
static bool dictionary (const std::string &id, MSLane *lane)
 Static (sic!) container methods {. More...
 
static MSLane * dictionary (const std::string &id)
 Returns the MSLane associated to the key id. More...
 
static int dictSize ()
 Returns the number of stored lanes. More...
 
template<class RTREE >
static void fill (RTREE &into)
 Fills the given RTree with lane instances. More...
 
static CollisionAction getCollisionAction ()
 
template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null More...
 
static void initCollisionOptions (const OptionsCont &oc)
 
static void insertIDs (std::vector< std::string > &into)
 Adds the ids of all stored lanes into the given vector. More...
 
static MSLinkCont::const_iterator succLinkSec (const SUMOVehicle &veh, int nRouteSuccs, const MSLane &succLinkSource, const std::vector< MSLane *> &conts)
 
static bool teleportOnCollision ()
 

Static Public Attributes

static const long CHANGE_PERMISSIONS_GUI = 1
 
static const long CHANGE_PERMISSIONS_PERMANENT = 0
 
static const GUIGlID INVALID_ID = 0
 
static StringBijection< GUIGlObjectType > TypeNames
 associates object types with strings More...
 

Protected Types

typedef std::map< std::string, MSLane *> DictType
 definition of the static dictionary type More...
 

Protected Member Functions

void buildAdditionalsPopupOptions (GUIMainWindow &app, GUIGLObjectPopupMenu *ret, const std::string &type)
 build basic additional popup options. Used to unify pop-ups menu in netedit and SUMO-GUI More...
 
void buildShapePopupOptions (GUIMainWindow &app, GUIGLObjectPopupMenu *ret, const std::string &type)
 build basic shape popup options. Used to unify pop-ups menu in netedit and SUMO-GUI More...
 
bool checkForPedestrians (const MSVehicle *aVehicle, double &speed, double &dist, double pos, bool patchSpeed) const
 check whether pedestrians on this lane interfere with vehicle insertion More...
 
bool detectCollisionBetween (SUMOTime timestep, const std::string &stage, MSVehicle *collider, MSVehicle *victim, std::set< const MSVehicle *, ComparatorIdLess > &toRemove, std::set< const MSVehicle *> &toTeleport) const
 detect whether there is a collision between the two vehicles More...
 
void detectPedestrianJunctionCollision (const MSVehicle *collider, const PositionVector &colliderBoundary, const MSLane *foeLane, SUMOTime timestep, const std::string &stage)
 detect whether a vehicle collids with pedestrians on the junction More...
 
double getDepartPosLat (const MSVehicle &veh)
 
double getDepartSpeed (const MSVehicle &veh, bool &patchSpeed)
 
double getMaximumBrakeDist () const
 compute maximum braking distance on this lane More...
 
void handleCollisionBetween (SUMOTime timestep, const std::string &stage, MSVehicle *collider, MSVehicle *victim, double gap, double latGap, std::set< const MSVehicle *, ComparatorIdLess > &toRemove, std::set< const MSVehicle *> &toTeleport) const
 take action upon collision More...
 
virtual void incorporateVehicle (MSVehicle *veh, double pos, double speed, double posLat, const MSLane::VehCont::iterator &at, MSMoveReminder::Notification notification=MSMoveReminder::NOTIFICATION_DEPARTED)
 Inserts the vehicle into this lane, and informs it about entering the network. More...
 
double safeInsertionSpeed (const MSVehicle *veh, double seen, const MSLeaderInfo &leaders, double speed)
 return the maximum safe speed for insertion behind leaders (a negative value indicates that safe insertion is impossible) More...
 
void swapAfterLaneChange (SUMOTime t)
 moves myTmpVehicles int myVehicles after a lane change procedure More...
 
helper methods for building popup-menus
void buildPopupHeader (GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
 Builds the header. More...
 
void buildCenterPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to center to the object. More...
 
void buildNameCopyPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds entries which allow to copy the name / typed name into the clipboard. More...
 
void buildSelectionPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to (de)select the object. More...
 
void buildShowParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the parameter window. More...
 
void buildShowTypeParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the type parameter window. More...
 
void buildPositionCopyEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position. More...
 
void buildShowManipulatorPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the manipulator window. More...
 

Protected Attributes

std::map< MSEdge *, std::vector< MSLane * > > myApproachingLanes
 All direct internal and direct (disregarding internal predecessors) non-internal predecessor lanes of this lane. More...
 
double myBruttoVehicleLengthSum
 The current length of all vehicles on this lane, including their minGaps. More...
 
MSLane * myCanonicalPredecessorLane
 Similar to LogicalPredecessorLane,. More...
 
MSLane * myCanonicalSuccessorLane
 Main successor lane,. More...
 
MSEdge *const myEdge
 The lane's edge, for routing only. More...
 
MSLeaderInfo myFollowerInfo
 followers on all sublanes as seen by vehicles on consecutive lanes (cached) More...
 
SUMOTime myFollowerInfoTime
 time step for which myFollowerInfo was last updated More...
 
std::string myID
 The name of the object. More...
 
std::vector< IncomingLaneInfo > myIncomingLanes
 All direct predecessor lanes. More...
 
int myIndex
 The lane index. More...
 
const bool myIsRampAccel
 whether this lane is an acceleration lane More...
 
MSLeaderInfo myLeaderInfo
 leaders on all sublanes as seen by approaching vehicles (cached) More...
 
SUMOTime myLeaderInfoTime
 time step for which myLeaderInfo was last updated More...
 
MSLeaderInfo myLeaderInfoTmp
 
double myLength
 Lane length [m]. More...
 
const double myLengthGeometryFactor
 precomputed myShape.length / myLength More...
 
MSLinkCont myLinks
 
MSLane * myLogicalPredecessorLane
 
VehCont myManeuverReservations
 The vehicles which registered maneuvering into the lane within their current action step. This is currently only relevant for sublane simulation, since continuous lanechanging uses the partial vehicle mechanism. More...
 
double myMaxSpeed
 Lane-wide speedlimit [m/s]. More...
 
std::vector< std::string > myNeighs
 
double myNettoVehicleLengthSum
 The current length of all vehicles on this lane, excluding their minGaps. More...
 
int myNumericalID
 Unique numerical ID (set on reading by netload) More...
 
SVCPermissions myOriginalPermissions
 The original vClass permissions for this lane (before temporary modifications) More...
 
std::set< const MSVehicle * > myParkingVehicles
 
VehCont myPartialVehicles
 The lane's partial vehicles. This container holds all vehicles that are partially on this lane but which are in myVehicles of another lane. Reasons for partial occupancies include the following. More...
 
std::map< long long, SVCPermissions > myPermissionChanges
 
SVCPermissions myPermissions
 The vClass permissions for this lane. More...
 
const std::map< SUMOVehicleClass, double > * myRestrictions
 The vClass speed restrictions for this lane. More...
 
int myRightmostSublane
 the index of the rightmost sublane of this lane on myEdge More...
 
double myRightSideOnEdge
 the combined width of all lanes with lower index on myEdge More...
 
PositionVector myShape
 The shape of the lane. More...
 
std::map< SVCPermissions, double > myStopOffsets
 
VehCont myTmpVehicles
 Container for lane-changing vehicles. After completion of lane-change- process, the containers will be swapped with myVehicles. More...
 
VehCont myVehBuffer
 Buffer for vehicles that moved from their previous lane onto this one. Integrated after all vehicles executed their moves. More...
 
VehCont myVehicles
 The lane's vehicles. This container holds all vehicles that have their front (longitudinally) and their center (laterally) on this lane. These are the vehicles that this lane is 'responsibly' for (i.e. when executing movements) More...
 
const double myWidth
 Lane width [m]. More...
 

Static Protected Attributes

static DictType myDict
 Static dictionary to associate string-ids with objects. More...
 

Private Member Functions

void drawArrows () const
 
bool drawAsRailway (const GUIVisualizationSettings &s) const
 whether to draw this lane as a railway More...
 
bool drawAsWaterway (const GUIVisualizationSettings &s) const
 whether to draw this lane as a waterway More...
 
void drawLane2LaneConnections (double exaggeration) const
 
void drawLinkNo (const GUIVisualizationSettings &s) const
 helper methods More...
 
void drawLinkRule (const GUIVisualizationSettings &s, const GUINet &net, MSLink *link, const PositionVector &shape, double x1, double x2) const
 
void drawLinkRules (const GUIVisualizationSettings &s, const GUINet &net) const
 
void drawTLSLinkNo (const GUIVisualizationSettings &s, const GUINet &net) const
 
double getPendingEmits () const
 get number of vehicles waiting for departure on this lane More...
 
double getScaleValue (int activeScheme) const
 gets the scaling value according to the current scheme index More...
 
bool isLaneOrEdgeSelected () const
 whether this lane or its parent edge is selected in the GUI More...
 
RGBColor setColor (const GUIVisualizationSettings &s) const
 sets the color according to the currente settings More...
 
bool setFunctionalColor (int activeScheme, RGBColor &col) const
 sets the color according to the current scheme index and some lane function More...
 
bool setMultiColor (const GUIColorer &c, RGBColor &col) const
 sets multiple colors according to the current scheme index and some lane function More...
 
PositionVector splitAtSegments (const PositionVector &shape)
 add intermediate points at segment borders More...
 

Private Attributes

bool myAmClosed
 state for dynamic lane closings More...
 
double myHalfLaneWidth
 Half of lane width, for speed-up. More...
 
MFXMutex myLock
 The mutex used to avoid concurrent updates of the vehicle buffer. More...
 
double myQuarterLaneWidth
 Quarter of lane width, for speed-up. More...
 
std::vector< RGBColor > myShapeColors
 The color of the shape parts (cached) More...
 
std::vector< double > myShapeLengths
 The lengths of the shape parts. More...
 
std::vector< double > myShapeRotations
 The rotations of the shape parts. More...
 
std::vector< int > myShapeSegments
 the meso segment index for each geometry segment More...
 

Static Private Attributes

static const RGBColor MESO_USE_LANE_COLOR
 special color to signify alternative coloring scheme More...
 

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 63 of file GUILane.h.

Member Typedef Documentation

◆ DictType

typedef std::map< std::string, MSLane* > MSLane::DictType
protectedinherited

definition of the static dictionary type

Definition at line 1290 of file MSLane.h.

◆ VehCont

typedef std::vector<MSVehicle*> MSLane::VehCont
inherited

Container for vehicles.

Definition at line 83 of file MSLane.h.

Member Enumeration Documentation

◆ CollisionAction

enum MSLane::CollisionAction
inherited
Enumerator
COLLISION_ACTION_NONE 
COLLISION_ACTION_WARN 
COLLISION_ACTION_TELEPORT 
COLLISION_ACTION_REMOVE 

Definition at line 172 of file MSLane.h.

Constructor & Destructor Documentation

◆ GUILane()

GUILane::GUILane ( const std::string &  id,
double  maxSpeed,
double  length,
MSEdge *const  edge,
int  numericalID,
const PositionVector &  shape,
double  width,
SVCPermissions  permissions,
int  index,
bool  isRampAccel 
)

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]permissionsEncoding of vehicle classes that may drive on this lane
See also
SUMOVehicleClass
MSLane

Definition at line 73 of file GUILane.cpp.

References Position::distanceTo2D(), MSGlobals::gUseMesoSim, PositionVector::length(), myHalfLaneWidth, myQuarterLaneWidth, MSLane::myShape, myShapeColors, myShapeLengths, myShapeRotations, myShapeSegments, MSLane::myWidth, POSITION_EPS, RAD2DEG, splitAtSegments(), Position::x(), and Position::y().

◆ ~GUILane()

GUILane::~GUILane ( )

Destructor.

Definition at line 104 of file GUILane.cpp.

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

Member Function Documentation

◆ addApproachingLane()

void MSLane::addApproachingLane ( MSLane *  lane,
bool  warnMultiCon 
)
inherited

◆ addIncomingLane()

void MSLane::addIncomingLane ( MSLane *  lane,
MSLink *  viaLink 
)
inherited

◆ addLink()

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

References MSLane::myLinks.

Referenced by NLHandler::addConnection().

◆ addMoveReminder()

void MSLane::addMoveReminder ( MSMoveReminder *  rem)
virtualinherited

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

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

Referenced by MSMoveReminder::MSMoveReminder().

◆ addNeigh()

void MSLane::addNeigh ( const std::string &  id)
inherited

Adds a neighbor to this lane.

Parameters
[in]idThe lane's id

Definition at line 216 of file MSLane.cpp.

References MSLane::myNeighs.

◆ addParameterTable()

void GUIGlObject::addParameterTable ( GUIParameterTableWindow *  w)
inherited

◆ addParking()

void MSLane::addParking ( MSVehicle *  veh)
inherited

add parking vehicle. This should only used during state loading

Definition at line 2849 of file MSLane.cpp.

References MSLane::myParkingVehicles.

Referenced by MSLane::getCenterOnEdge(), and MSVehicleTransfer::loadState().

◆ addTo()

void Named::addTo ( const StoringVisitor &  cont) const
inlineinherited

Adds this object to the given container.

Parameters

Definition at line 114 of file Named.h.

References Named::StoringVisitor::add().

◆ allowsVehicleClass()

◆ anyVehiclesBegin()

AnyVehicleIterator MSLane::anyVehiclesBegin ( ) const
inlineinherited

◆ anyVehiclesEnd()

AnyVehicleIterator MSLane::anyVehiclesEnd ( ) const
inlineinherited

end iterator for iterating over all vehicles touching this lane in downstream direction

Definition at line 411 of file MSLane.h.

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

Referenced by MSLane::detectCollisions(), MSLane::getFollowersOnConsecutive(), MSLane::getLeader(), MSLink::getLeaderInfo(), and MSPModel_Striping::getVehicleObstacles().

◆ anyVehiclesUpstreamBegin()

AnyVehicleIterator MSLane::anyVehiclesUpstreamBegin ( ) const
inlineinherited

begin iterator for iterating over all vehicles touching this lane in upstream direction

Definition at line 417 of file MSLane.h.

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

Referenced by MSLane::getFirstVehicleInformation(), MSLane::getFollower(), and MSPModel_Striping::getVehicleObstacles().

◆ anyVehiclesUpstreamEnd()

AnyVehicleIterator MSLane::anyVehiclesUpstreamEnd ( ) const
inlineinherited

end iterator for iterating over all vehicles touching this lane in upstream direction

Definition at line 423 of file MSLane.h.

References MSLane::AnyVehicleIterator.

Referenced by MSLane::getFollower(), and MSPModel_Striping::getVehicleObstacles().

◆ appropriate()

bool MSLane::appropriate ( const MSVehicle *  veh)
virtualinherited

Returns the information whether this lane may be used to continue the current route

Definition at line 1764 of file MSLane.cpp.

References MSVehicle::getBestLanes(), MSVehicle::getBestLanesContinuation(), MSVehicle::getLaneIndex(), MSEdge::isInternal(), MSLane::myEdge, MSLane::myLinks, MSBaseVehicle::succEdge(), and MSLane::succLinkSec().

Referenced by MSLane::executeMovements(), and MSLane::getIndex().

◆ buildAdditionalsPopupOptions()

void GUIGlObject::buildAdditionalsPopupOptions ( GUIMainWindow &  app,
GUIGLObjectPopupMenu *  ret,
const std::string &  type 
)
protectedinherited

◆ buildCenterPopupEntry()

◆ buildNameCopyPopupEntry()

◆ buildPopupHeader()

◆ buildPositionCopyEntry()

◆ buildSelectionPopupEntry()

◆ buildShapePopupOptions()

void GUIGlObject::buildShapePopupOptions ( GUIMainWindow &  app,
GUIGLObjectPopupMenu *  ret,
const std::string &  type 
)
protectedinherited

◆ buildShowManipulatorPopupEntry()

void GUIGlObject::buildShowManipulatorPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the manipulator window.

Parameters

Definition at line 253 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_MANIP, and MID_MANIP.

Referenced by GUILaneSpeedTrigger::getPopUpMenu(), and GUITriggeredRerouter::getPopUpMenu().

◆ buildShowParamsPopupEntry()

◆ buildShowTypeParamsPopupEntry()

void GUIGlObject::buildShowTypeParamsPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the type parameter window.

Parameters

Definition at line 232 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_SHOWTYPEPARS.

Referenced by GUIPerson::getPopUpMenu(), and GUIBaseVehicle::getPopUpMenu().

◆ checkFailure()

bool MSLane::checkFailure ( const MSVehicle *  aVehicle,
double &  speed,
double &  dist,
const double  nspeed,
const bool  patchSpeed,
const std::string  errorMsg 
) const
inherited

◆ checkForPedestrians()

bool MSLane::checkForPedestrians ( const MSVehicle *  aVehicle,
double &  speed,
double &  dist,
double  pos,
bool  patchSpeed 
) const
protectedinherited

◆ clear()

void MSLane::clear ( )
staticinherited

Clears the dictionary.

Definition at line 1731 of file MSLane.cpp.

References MSLane::myDict.

Referenced by MSNet::clearAll(), and MSLane::getEdge().

◆ clearParameter()

◆ closeTraffic()

◆ debugDrawFoeIntersections()

void GUILane::debugDrawFoeIntersections ( ) const

◆ detectCollisionBetween()

◆ detectCollisions()

void GUILane::detectCollisions ( SUMOTime  timestep,
const std::string &  stage 
)
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 179 of file GUILane.cpp.

References MSLane::detectCollisions(), and myLock.

◆ detectPedestrianJunctionCollision()

void MSLane::detectPedestrianJunctionCollision ( const MSVehicle *  collider,
const PositionVector &  colliderBoundary,
const MSLane *  foeLane,
SUMOTime  timestep,
const std::string &  stage 
)
protectedinherited

◆ dictionary() [1/2]

bool MSLane::dictionary ( const std::string &  id,
MSLane *  lane 
)
staticinherited

Static (sic!) container methods {.

Inserts a MSLane into the static dictionary

Returns true if the key id isn't already in the dictionary. Otherwise returns false.

Parameters
[in]idThe id of the lane
[in]laneThe lane itself
Returns
Whether the lane was added
Todo:

make non-static

why is the id given? The lane is named

Definition at line 1708 of file MSLane.cpp.

References MSLane::myDict.

Referenced by NLHandler::addConnection(), NLHandler::addLane(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSLane::getEdge(), libsumo::Lane::getLane(), NLTriggerBuilder::getLane(), NLDetectorBuilder::getLaneChecking(), NLShapeHandler::getLanePos(), MSE2Collector::getLanes(), MSLane::getOpposite(), MSPedestrianPushButton::loadPushButtons(), MSVehicleTransfer::loadState(), libsumo::Vehicle::moveTo(), MSTriggeredRerouter::myStartElement(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), NLHandler::parseLanes(), TraCIServerAPI_Lane::processSet(), and MSE2Collector::recalculateDetectorLength().

◆ dictionary() [2/2]

MSLane * MSLane::dictionary ( const std::string &  id)
staticinherited

Returns the MSLane associated to the key id.

The lane is returned if exists, otherwise 0 is returned.

Parameters
[in]idThe id of the lane
Returns
The lane

Definition at line 1720 of file MSLane.cpp.

References MSLane::myDict.

◆ dictSize()

◆ drawArrows()

◆ drawAsRailway()

bool GUILane::drawAsRailway ( const GUIVisualizationSettings &  s) const
private

whether to draw this lane as a railway

Definition at line 1154 of file GUILane.cpp.

References GUIVisualizationSettings::drawForSelecting, isRailway(), MSLane::myPermissions, and GUIVisualizationSettings::showRails.

Referenced by drawGL(), and drawLinkRule().

◆ drawAsWaterway()

bool GUILane::drawAsWaterway ( const GUIVisualizationSettings &  s) const
private

◆ drawBikeMarkings()

void GUILane::drawBikeMarkings ( ) const

bike lane markings on top of an intersection

Definition at line 695 of file GUILane.cpp.

References getShape(), GLO_JUNCTION, myHalfLaneWidth, myShapeLengths, and myShapeRotations.

Referenced by drawGL().

◆ drawDirectionIndicators()

void GUILane::drawDirectionIndicators ( double  exaggeration) const

direction indicators for lanes

Definition at line 721 of file GUILane.cpp.

References getShape(), GLO_EDGE, MAX2(), MIN2(), myHalfLaneWidth, myQuarterLaneWidth, myShapeLengths, myShapeRotations, MSLane::myWidth, and POSITION_EPS.

Referenced by drawGL().

◆ drawGL()

void GUILane::drawGL ( const GUIVisualizationSettings &  s) const
virtual

Draws the object.

Parameters
[in]sThe settings for the current view (may influence drawing)
See also
GUIGlObject::drawGL

Implements GUIGlObject.

Definition at line 451 of file GUILane.cpp.

References GUIVisualizationSizeSettings::constantSize, debugDrawFoeIntersections(), GLHelper::debugVertices(), drawArrows(), drawAsRailway(), drawAsWaterway(), drawBikeMarkings(), GLHelper::drawBoxLines(), GUIVisualizationSettings::drawCrossingsAndWalkingareas, GLHelper::drawCrossTies(), drawDirectionIndicators(), GLHelper::drawFilledPoly(), GLHelper::drawFilledPolyTesselated(), GUIVisualizationSettings::drawForSelecting, GUIBaseVehicle::drawGL(), drawLane2LaneConnections(), GLHelper::drawLine(), GUIVisualizationSettings::drawLinkJunctionIndex, drawLinkNo(), drawLinkRules(), GUIVisualizationSettings::drawLinkTLIndex, drawMarkings(), drawTLSLinkNo(), GUIVisualizationSettings::edgeScaler, GUIVisualizationSizeSettings::exaggeration, GUIPropertySchemeStorage< T >::getActive(), MSEdge::getBidiEdge(), GUIPropertyScheme< T >::getColor(), GLHelper::getColor(), GUIVisualizationSizeSettings::getExaggeration(), GUIGlObject::getGlID(), MSNet::getInstance(), MSEdge::getNumericalID(), GUIEdge::getScaleValue(), getScaleValue(), GUIPropertySchemeStorage< T >::getScheme(), MSEdge::getToJunction(), MSJunction::getType(), GUIGlObject::getType(), getVehiclesSecure(), MSLane::getWidth(), MSGlobals::gLateralResolution, GLO_JUNCTION, gSelected, MSGlobals::gUseMesoSim, MSEdge::isCrossing(), MSEdge::isInternal(), MSLane::isInternal(), GUISelectedStorage::isSelected(), MSEdge::isWalkingArea(), isWaterway(), GUIVisualizationSettings::junctionSize, GUIVisualizationSettings::laneMinSize, GUIVisualizationSettings::laneScaler, GUIVisualizationSettings::laneShowBorders, GUIVisualizationSettings::laneWidthExaggeration, MAX2(), GUIVisualizationSizeSettings::minSize, MSLane::myEdge, myHalfLaneWidth, MSLane::myParkingVehicles, MSLane::myPermissions, myQuarterLaneWidth, MSLane::myShape, myShapeColors, myShapeLengths, myShapeRotations, myShapeSegments, MSLane::myWidth, NODETYPE_RAIL_CROSSING, releaseVehicles(), GUIVisualizationSettings::scale, GLHelper::setColor(), setColor(), GUIVisualizationTextSettings::show, GUIVisualizationSettings::showBikeMarkings, GUIVisualizationSettings::showLane2Lane, GUIVisualizationSettings::showLaneDirection, GUIVisualizationSettings::showLinkDecals, GUIVisualizationSettings::showLinkRules, GUIVisualizationSettings::showSublanes, SUMO_const_laneMarkWidth, SUMO_const_laneWidth, SVC_BICYCLE, SVC_PEDESTRIAN, and GUIVisualizationSettings::vehicleSize.

Referenced by GUIEdge::drawGL().

◆ drawGLAdditional()

void GUIGlObject::drawGLAdditional ( GUISUMOAbstractView *const  parent,
const GUIVisualizationSettings &  s 
) const
virtualinherited

Draws additional, user-triggered visualisations.

Parameters
[in]parentThe view
[in]sThe settings for the current view (may influence drawing)

Reimplemented in GUIBaseVehicle, GUIPerson, and GUIContainer.

Definition at line 161 of file GUIGlObject.cpp.

References UNUSED_PARAMETER.

◆ drawLane2LaneConnections()

◆ drawLinkNo()

◆ drawLinkRule()

◆ drawLinkRules()

◆ drawMarkings()

◆ drawName()

◆ drawTLSLinkNo()

◆ empty()

bool MSLane::empty ( ) const
inlineinherited

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

Definition at line 599 of file MSLane.h.

References MSLane::myVehBuffer, MSLane::myVehicles, MSLane::setLength(), and MSLane::setMaxSpeed().

Referenced by MSQueueExport::writeLane().

◆ enteredByLaneChange()

◆ executeMovements()

bool GUILane::executeMovements ( 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 144 of file GUILane.cpp.

References MSLane::executeMovements(), and myLock.

◆ fill()

template<class RTREE >
template void MSLane::fill< LANE_RTREE_QUAL > ( RTREE &  into)
staticinherited

◆ firstWaitingTime()

double GUILane::firstWaitingTime ( ) const

Definition at line 868 of file GUILane.cpp.

References MSLane::myVehicles.

Referenced by getColorValue(), and getScaleValue().

◆ forceVehicleInsertion()

void MSLane::forceVehicleInsertion ( MSVehicle *  veh,
double  pos,
MSMoveReminder::Notification  notification,
double  posLat = 0 
)
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
[in]notificationThe cause of insertion (i.e. departure, teleport, parking) defaults to departure
[in]posLatThe lateral position at which the vehicle shall be inserted

Definition at line 951 of file MSLane.cpp.

References MSLane::getDepartSpeed(), MSVehicle::getSpeed(), MSBaseVehicle::hasDeparted(), MSLane::incorporateVehicle(), MSLane::myVehicles, and MSVehicle::updateBestLanes().

Referenced by MSLaneChanger::changeOpposite(), MSLane::getMoveReminders(), libsumo::Vehicle::moveTo(), and MSVehicle::Influencer::postProcessRemoteControl().

◆ freeInsertion()

bool MSLane::freeInsertion ( MSVehicle &  veh,
double  speed,
double  posLat,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
)
inherited

◆ geometryPositionAtOffset()

◆ getBruttoOccupancy()

double MSLane::getBruttoOccupancy ( ) const
inherited

◆ getBruttoVehLenSum()

double MSLane::getBruttoVehLenSum ( ) const
inlineinherited

Returns the sum of lengths of vehicles, including their minGaps, which were on the lane during the last step.

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

Definition at line 920 of file MSLane.h.

References MSLane::getCO2Emissions(), MSLane::getCOEmissions(), MSLane::getElectricityConsumption(), MSLane::getFuelConsumption(), MSLane::getHarmonoise_NoiseEmissions(), MSLane::getHCEmissions(), MSLane::getNOxEmissions(), MSLane::getPMxEmissions(), and MSLane::myBruttoVehicleLengthSum.

Referenced by MSVehicle::checkRewindLinkLanes().

◆ getCanonicalPredecessorLane()

MSLane * MSLane::getCanonicalPredecessorLane ( ) const
inherited

Return the main predecessor lane for the current. If there are several incoming lanes, the first attempt is to return the priorized. If this does not yield an unambiguous lane, the one with the least angle difference to the current is selected.

Definition at line 2421 of file MSLane.cpp.

References MSLane::myCanonicalPredecessorLane, Named::myID, and MSLane::myIncomingLanes.

Referenced by MSLane::getEntryLink(), MSLane::getFirstInternalInConnection(), MSRailSignal::init(), MSE2Collector::selectLanes(), and MSLane::setStopOffsets().

◆ getCanonicalSuccessorLane()

MSLane * MSLane::getCanonicalSuccessorLane ( ) const
inherited

Return the main successor lane for the current. If there are several outgoing lanes, the first attempt is to return the priorized. If this does not yield an unambiguous lane, the one with the least angle difference to the current is selected.

Definition at line 2441 of file MSLane.cpp.

References MSLane::myCanonicalSuccessorLane, Named::myID, and MSLane::myLinks.

Referenced by MSDevice_SSM::classifyEncounter(), MSE2Collector::selectLanes(), and MSLane::setStopOffsets().

◆ getCenteringBoundary()

Boundary GUILane::getCenteringBoundary ( ) const
virtual

Returns the boundary to which the view shall be centered in order to show the object.

Returns
The boundary the object is within
See also
GUIGlObject::getCenteringBoundary

Implements GUIGlObject.

Definition at line 833 of file GUILane.cpp.

References Boundary::add(), Boundary::grow(), and MSLane::myShape.

◆ getCenterOnEdge()

◆ getCO2Emissions()

double MSLane::getCO2Emissions ( ) 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 2568 of file MSLane.cpp.

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

Referenced by MSLane::getBruttoVehLenSum(), libsumo::Lane::getCO2Emission(), getColorValue(), getScaleValue(), and MSFullExport::writeLane().

◆ getCOEmissions()

double MSLane::getCOEmissions ( ) 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 2580 of file MSLane.cpp.

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

Referenced by MSLane::getBruttoVehLenSum(), libsumo::Lane::getCOEmission(), getColorValue(), getScaleValue(), and MSFullExport::writeLane().

◆ getCollisionAction()

static CollisionAction MSLane::getCollisionAction ( )
inlinestaticinherited

Definition at line 1090 of file MSLane.h.

References MSLane::myCollisionAction.

Referenced by MSLane::executeMovements(), and MSVehicle::resumeFromStopping().

◆ getColorValue()

◆ getCriticalLeader()

std::pair< MSVehicle *const, double > MSLane::getCriticalLeader ( double  dist,
double  seen,
double  speed,
const MSVehicle &  veh 
) const
inherited

Returns the most dangerous leader and the distance to him.

Goes along the vehicle's estimated used lanes (bestLaneConts). For each link, it is determined whether the ego vehicle will pass it. If so, the subsequent lane is investigated. Check all lanes up to the stopping distance of ego. Return the leader vehicle (and the gap) which puts the biggest speed constraint on ego.

If no leading vehicle was found, <0, -1> is returned.

Pretty slow, as it has to go along lanes.

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 (ego) vehicle for which the information shall be computed
Returns

Definition at line 2309 of file MSLane.cpp.

References MSCFModel::brakeGap(), DEBUG_COND2, MSVehicle::getBackPositionOnLane(), MSVehicle::getBestLanesContinuation(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), Named::getID(), MSBaseVehicle::getID(), MSBaseVehicle::getImpatience(), MSNet::getInstance(), MSLane::getLastAnyVehicle(), MSVehicle::getLateralPositionOnLane(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSVehicle::getSafeFollowSpeed(), MSVehicle::getSpeed(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSCFModel::insertionFollowSpeed(), MSLane::isInternal(), MSLane::isLinkEnd(), MAX2(), NUMERICAL_EPS, SIMTIME, MSLane::succLinkSec(), and TIME2STEPS.

Referenced by MSLaneChanger::checkChange(), and MSLane::setStopOffsets().

◆ getCrossingIndex()

int MSLane::getCrossingIndex ( ) const
inherited

return the index of the link to the next crossing if this is walkingArea, else -1

Definition at line 2498 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by MSLane::getIndex().

◆ getDepartPosLat()

◆ getDepartSpeed()

◆ getDouble()

double Parameterised::getDouble ( const std::string &  key,
const double  defaultValue 
) const
inherited

Returns the value for a given key converted to a double.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Definition at line 82 of file Parameterised.cpp.

References TplConvert::_2double(), Parameterised::myMap, and WRITE_WARNING.

Referenced by MSDevice_Battery::buildVehicleDevices().

◆ getEdge()

MSEdge& MSLane::getEdge ( ) const
inlineinherited

Returns the lane's edge.

Returns
This lane's edge

Definition at line 617 of file MSLane.h.

References MSLane::clear(), MSLane::dictionary(), MSLane::getFirstInternalInConnection(), MSLane::getNextNormal(), and MSLane::myEdge.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), LaneStoringVisitor::add(), MSLane::addApproachingLane(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSEdge::allowedLanes(), MSSwarmTrafficLightLogic::allowLine(), MSSOTLE2Sensors::buildSensorForLane(), MSVehicle::canReverse(), MSLaneChanger::checkChange(), MSLink::checkContOff(), MSLane::checkForPedestrians(), MSVehicle::checkLinkLeader(), MSVehicle::checkRewindLinkLanes(), MSDevice_SSM::classifyEncounter(), MSEdge::closeBuilding(), closeTraffic(), MSDevice_Tripinfo::computeLengthAndDuration(), MSLCM_SL2015::computeSpeedGain(), GUIDetectorBuilder::createInductLoop(), NLDetectorBuilder::createInductLoop(), MSLane::detectPedestrianJunctionCollision(), MSLCM_LC2013::distanceAlongNextRoundabout(), drawLinkNo(), drawLinkRules(), drawTLSLinkNo(), MSVehicle::enterLaneAtMove(), MSVehicle::executeMove(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSStoppingPlace::getAccessDistance(), MSStoppingPlace::getAccessPos(), MSVehicle::getBestLanesContinuation(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), libsumo::Vehicle::getDistance(), MSVehicle::getDistanceToPosition(), libsumo::Vehicle::getDrivingDistance(), MSTransportable::Stage_Driving::getEdge(), libsumo::Lane::getEdgeID(), MSLinkContHelper::getInternalFollowingEdge(), MSEdge::getInternalFollowingEdge(), MSVehicle::getLaneIndex(), MSVehicle::getLatOffset(), MSLink::getLeaderInfo(), GUIVehicle::getLeftSublaneOnEdge(), MSLane::getLogicalPredecessorLane(), MSPModel_Striping::PState::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), libsumo::Vehicle::getNextTLS(), MSVehicle::getPosition(), GUIVehicle::getRightSublaneOnEdge(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutAheadInfo(), MSAbstractLaneChangeModel::getShadowDirection(), MSPModel_Remote::handlePedestrianLane(), MSVehicle::Influencer::implicitDeltaPosRemote(), MSVehicle::Influencer::implicitSpeedRemote(), MSVehicle::influenceChangeDecision(), MSRailSignal::init(), MSLink::isExitLink(), MSLane::isInsertionSuccess(), MSJunction::isLeader(), MSLCM_SL2015::keepLatGap(), MSLink::lastWasContMajor(), MSVehicle::leaveLane(), MESegment::limitedControlOverride(), MSPedestrianPushButton::loadPushButtons(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), libsumo::Vehicle::moveTo(), MSPModel_Striping::PState::moveToNextLane(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSTriggeredRerouter::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_SSM::notifyLeave(), GUIViewTraffic::onCmdAddRerouter(), GUIViewTraffic::onCmdCloseEdge(), MSLane::outgoing_lane_priority_sorter::operator()(), MSLane::edge_finder::operator()(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), MSVehicle::passingMinor(), MSLCM_DK2008::patchSpeed(), MSVehicle::planMoveInternal(), MSInternalJunction::postloadInit(), MSLCM_SL2015::prepareStep(), MSContainer::MSContainerStage_Driving::proceed(), MSPerson::MSPersonStage_Driving::proceed(), MSPerson::MSPersonStage_Access::proceed(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), MSPModel_Striping::PState::PState(), MSVehicle::replaceRoute(), MSTriggeredRerouter::rerouteParkingArea(), MSTransportable::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSVehicle::resumeFromStopping(), libsumo::Lane::setAllowed(), libsumo::Lane::setDisallowed(), MSLink::setRequestInformation(), MSAbstractLaneChangeModel::startLaneChangeManeuver(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSPModel_Striping::PState::walk(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSVehicle::willStop(), and MSFCDExport::write().

◆ getEdgeLaneNumber()

double GUILane::getEdgeLaneNumber ( ) const

Definition at line 874 of file GUILane.cpp.

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

Referenced by getColorValue(), and getScaleValue().

◆ getElectricityConsumption()

double MSLane::getElectricityConsumption ( ) const
inherited

Returns the sum of last step electricity consumption.

Returns
electricity consumption of vehicles on this lane during the last step

Definition at line 2640 of file MSLane.cpp.

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

Referenced by MSLane::getBruttoVehLenSum(), getColorValue(), libsumo::Lane::getElectricityConsumption(), getScaleValue(), and MSFullExport::writeLane().

◆ getEntryLink()

MSLink * MSLane::getEntryLink ( ) const
inherited

Returns the entry link if this is an internal lane, else 0.

Definition at line 1980 of file MSLane.cpp.

References MSLane::getCanonicalPredecessorLane(), MSLane::getLinkTo(), and MSLane::isInternal().

Referenced by MSDevice_SSM::classifyEncounter(), MSLane::getIndex(), and MSLink::getLengthBeforeCrossing().

◆ getFirstAnyVehicle()

MSVehicle * MSLane::getFirstAnyVehicle ( ) const
inherited

returns the first vehicle that is fully or partially on this lane

Definition at line 1889 of file MSLane.cpp.

References MSVehicle::getPositionOnLane(), MSLane::myPartialVehicles, and MSLane::myVehicles.

Referenced by MSLane::dictSize().

◆ getFirstFullVehicle()

MSVehicle * MSLane::getFirstFullVehicle ( ) const
inherited

returns the first vehicle for which this lane is responsible or 0

Definition at line 1866 of file MSLane.cpp.

References MSLane::myVehicles.

Referenced by MSLane::dictSize(), and MSLane::freeInsertion().

◆ getFirstInternalInConnection()

const MSLane * MSLane::getFirstInternalInConnection ( double &  offset) const
inherited

Returns 0 if the lane is not internal. Otherwise the first part of the connection (sequence of internal lanes along junction) corresponding to the lane is returned and the offset is set to the distance of the begin of this lane to the begin of the returned.

Definition at line 1690 of file MSLane.cpp.

References MSLane::getCanonicalPredecessorLane(), MSLane::getLength(), and MSLane::isInternal().

Referenced by MSDevice_SSM::classifyEncounter(), and MSLane::getEdge().

◆ getFirstVehicleInformation()

const MSLeaderInfo & MSLane::getFirstVehicleInformation ( const MSVehicle *  ego,
double  latOffset,
bool  onlyFrontOnLane,
double  maxPos = std::numeric_limits<double>::max(),
bool  allowCached = true 
) const
inherited

◆ getFollower()

std::pair< MSVehicle *const, double > MSLane::getFollower ( const MSVehicle *  ego,
double  egoPos,
double  dist,
bool  ignoreMinorLinks 
) const
inherited

Find follower vehicle for the given ego vehicle (which may be on the opposite direction lane)

Parameters
[in]egoThe ego vehicle
[in]egoPosThe ego position mapped to the current lane
[in]distThe look-back distance when looking at consecutive lanes
[in]ignoreMinorLinksWhether backward search should stop at minor links
Returns
the follower vehicle and it's gap to ego

Definition at line 3174 of file MSLane.cpp.

References MSLane::anyVehiclesUpstreamBegin(), MSLane::anyVehiclesUpstreamEnd(), DEBUG_COND2, MSLane::getFollowersOnConsecutive(), Named::getID(), MSBaseVehicle::getID(), MSVehicleType::getLength(), MSVehicle::getPositionOnLane(), and MSBaseVehicle::getVehicleType().

Referenced by MSLane::getCenterOnEdge(), MSLane::getOppositeFollower(), and MSLane::getOppositeLeader().

◆ getFollowersOnConsecutive()

◆ getFuelConsumption()

double MSLane::getFuelConsumption ( ) 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 2628 of file MSLane.cpp.

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

Referenced by MSLane::getBruttoVehLenSum(), getColorValue(), libsumo::Lane::getFuelConsumption(), getScaleValue(), and MSFullExport::writeLane().

◆ getFullName()

◆ getGlID()

GUIGlID GUIGlObject::getGlID ( ) const
inherited

Returns the numerical id of the object.

Returns
This object's gl-id

Definition at line 128 of file GUIGlObject.cpp.

References GUIGlObject::myGlID.

Referenced by GUIMessageWindow::appendMsg(), GNEAdditionalHandler::buildCalibrator(), GNEAdditionalHandler::buildRouteProbe(), GUIGlObject::buildSelectionPopupEntry(), GNEAdditionalHandler::buildVaporizer(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), GNEChargingStation::drawGL(), GNEDetectorE1Instant::drawGL(), GNEDetectorEntry::drawGL(), GNEDetectorExit::drawGL(), GNEDetectorE1::drawGL(), GNEBusStop::drawGL(), GNEContainerStop::drawGL(), GNEParkingArea::drawGL(), GNEDetectorE2::drawGL(), GNEVaporizer::drawGL(), GNERouteProbe::drawGL(), GNEDetectorE3::drawGL(), GNEJunction::drawGL(), GNECrossing::drawGL(), GNEInternalLane::drawGL(), GNEVariableSpeedSign::drawGL(), GNEAccess::drawGL(), GNERerouter::drawGL(), GUIMEInductLoop::MyWrapper::drawGL(), GNEParkingSpace::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIPolygon::drawGL(), GUIInstantInductLoop::MyWrapper::drawGL(), GUICalibrator::drawGL(), GUIContainer::drawGL(), GUIPerson::drawGL(), GUIJunctionWrapper::drawGL(), GNECalibrator::drawGL(), GUIPointOfInterest::drawGL(), GNELane::drawGL(), GNEConnection::drawGL(), GUIE3Collector::MyWrapper::drawGL(), GUIChargingStation::drawGL(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), GUIParkingArea::drawGL(), GUIEdge::drawGL(), GUIE2Collector::MyWrapper::drawGL(), GUIInductLoop::MyWrapper::drawGL(), GNEEdge::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), drawGL(), GUIContainer::drawGLAdditional(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), drawLinkRule(), GUIBaseVehicle::drawOnPos(), GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GUIContainer::getColorValue(), GUIPerson::getColorValue(), GNEPoly::getGlID(), GNEPOI::getGlID(), GUIEdge::getIDs(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIPerson::getPopUpMenu(), GUIBaseVehicle::getPopUpMenu(), GUIEdge::getScaleValue(), isLaneOrEdgeSelected(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GUIVehicle::isSelected(), GUIPerson::isSelected(), GUIEdge::isSelected(), isSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUIViewTraffic::onCmdAddRerouter(), GUIGLObjectPopupMenu::onCmdAddSelected(), GUIGLObjectPopupMenu::onCmdCenter(), GNEFrame::ACHierarchy::onCmdCenterItem(), GUIViewTraffic::onCmdCloseEdge(), GUIViewTraffic::onCmdCloseLane(), GUIApplicationWindow::onCmdEditChosen(), GNESelectorFrame::SelectionOperation::onCmdLoad(), GUIGLObjectPopupMenu::onCmdRemoveSelected(), GUIPerson::GUIPersonPopupMenu::onCmdStartTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStartTrack(), GUIDialog_GLObjChooser::refreshList(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), GNENetElement::selectAttributeCarrier(), GNEAdditional::selectAttributeCarrier(), GUIVehicle::selectBlockingFoes(), GUIPolygon::setColor(), GUIPointOfInterest::setColor(), GUIMessageWindow::setCursorPos(), GNENetElement::unselectAttributeCarrier(), GNEAdditional::unselectAttributeCarrier(), GUIBaseVehicle::~GUIBaseVehicle(), GUIGlObject::~GUIGlObject(), and GUIPerson::~GUIPerson().

◆ getHarmonoise_NoiseEmissions()

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

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

Referenced by MSLane::getBruttoVehLenSum(), getColorValue(), libsumo::Lane::getNoiseEmission(), getScaleValue(), and MSFullExport::writeLane().

◆ getHCEmissions()

double MSLane::getHCEmissions ( ) 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 2616 of file MSLane.cpp.

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

Referenced by MSLane::getBruttoVehLenSum(), getColorValue(), libsumo::Lane::getHCEmission(), getScaleValue(), and MSFullExport::writeLane().

◆ getID()

const std::string& Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 69 of file Named.h.

Referenced by NIImporter_SUMO::_loadNetwork(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), LaneStoringVisitor::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIXMLConnectionsHandler::addCrossing(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSRouteHandler::addPersonTrip(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), NBEdge::addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), NBEdge::addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), NBRailwayTopologyAnalyzer::allBroken(), NBEdge::append(), NBEdgeCont::appendRailwayTurnarounds(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NLDetectorBuilder::buildE2Detector(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSLane::checkForPedestrians(), NBEdge::checkGeometry(), NBEdgeCont::checkGrade(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), NBEdgeCont::checkOverlap(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBEdge::computeAngle(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), NBEdge::debugPrintConnections(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), NBEdge::divideOnEdges(), NBEdge::divideSelectedLanesOnEdges(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), GNEConnection::getAttribute(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), NBEdge::getConnection(), NBEdge::getConnectionRef(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBEdge::getCrossingAngle(), NBNodeShapeComputer::getDefaultRadius(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), MSMeanData::getEdgeID(), NBEdge::getFirstNonPedestrianLane(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), libsumo::Vehicle::getRouteID(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSNet::getStoppingPlaceID(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), NBEdgeCont::ignoreFilterMatch(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NBEdge::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicle(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSJunction::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), NBEdge::MainDirections::MainDirections(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), GNEJunction::markAsModified(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSPModel_Striping::nextBlocking(), MSDevice_BTsender::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_Example::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSDevice_BTsender::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), GNEViewNet::onLeftBtnPress(), MSLink::opened(), RORouteHandler::openRoute(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NLTriggerBuilder::parseAndBuildCalibrator(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), MSJunction::passedJunction(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), NBEdge::prepareEdgePriorities(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), TraCIServerAPI_Vehicle::processSet(), NBEdgeCont::processSplits(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdgeCont::recheckLanes(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), MSLink::removeApproaching(), GNEJunction::removeConnectionsFrom(), NBNodeCont::removeIsolatedRoads(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), GNEJunction::removeTLSConnections(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSTransportable::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), NBEdge::restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), NBPTLineCont::reviseStops(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), MSDevice_Vehroutes::saveState(), MSDevice::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Routing::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NBEdge::setControllingTLInformation(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBEdge::setStopOffsets(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), NBNode::sortEdges(), MSLane::sortManeuverReservations(), NBEdgeCont::splitAt(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSPModel_Striping::PState::walk(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSEmissionExport::write(), MSBatteryExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

◆ getIncomingLanes()

◆ getIncomingLinkState()

LinkState MSLane::getIncomingLinkState ( ) const
inherited

get the state of the link from the logical predecessor to this lane

Definition at line 2462 of file MSLane.cpp.

References MSLinkContHelper::getConnectingLink(), MSLane::getLogicalPredecessorLane(), MSLink::getState(), and LINKSTATE_DEADEND.

Referenced by MSLane::setStopOffsets().

◆ getIndex()

◆ getLastAnyVehicle()

MSVehicle * MSLane::getLastAnyVehicle ( ) const
inherited

returns the last vehicle that is fully or partially on this lane

Definition at line 1875 of file MSLane.cpp.

References MSLane::myPartialVehicles, and MSLane::myVehicles.

Referenced by MSVehicle::checkRewindLinkLanes(), MSLane::dictSize(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSLane::lastInsertion(), and MSLink::maybeOccupied().

◆ getLastFullVehicle()

MSVehicle * MSLane::getLastFullVehicle ( ) const
inherited

returns the last vehicle for which this lane is responsible or 0

Definition at line 1857 of file MSLane.cpp.

References MSLane::myVehicles.

Referenced by MSLane::dictSize().

◆ getLastVehicleInformation()

const MSLeaderInfo & MSLane::getLastVehicleInformation ( const MSVehicle *  ego,
double  latOffset,
double  minPos = 0,
bool  allowCached = true 
) const
inherited

Returns the last vehicles on the lane.

The information about the last vehicles in this lanes in all sublanes occupied by ego are returned. Partial occupators are included

Parameters
[in]egoThe vehicle for which to restrict the returned leaderInfo
[in]minPosThe minimum position from which to start search for leaders
[in]allowCachedWhether the cached value may be used
Returns
Information about the last vehicles

Definition at line 989 of file MSLane.cpp.

References MSLeaderInfo::addLeader(), MSLane::anyVehiclesBegin(), DEBUG_COND2, gDebugFlag1, MSNet::getCurrentTimeStep(), Named::getID(), MSBaseVehicle::getID(), MSNet::getInstance(), MSVehicle::getLatOffset(), MSVehicle::getPositionOnLane(), MSLane::myLeaderInfo, MSLane::myLeaderInfoTime, MSLane::myLeaderInfoTmp, and MSLeaderInfo::toString().

Referenced by MSLane::detectCollisions(), MSLane::getLeadersOnConsecutive(), MSLane::getMoveReminders(), MSLane::isInsertionSuccess(), and MSVehicle::planMoveInternal().

◆ getLeader()

std::pair< MSVehicle *const, double > MSLane::getLeader ( const MSVehicle *  veh,
const double  vehPos,
const std::vector< MSLane *> &  bestLaneConts,
double  dist = -1,
bool  checkTmpVehicles = false 
) const
inherited

Returns the immediate leader of veh and the distance to veh starting on this lane.

Iterates over the current lane to find a leader and then uses getLeaderOnConsecutive()

Parameters
[in]vehThe vehicle for which the information shall be computed
[in]vehPosThe vehicle position relative to this lane (may be negative)
[in]bestLaneContsThe succeding lanes that shall be checked (if any)
[in]distOptional distance to override default (ego stopDist)
[in]checkTmpVehiclesWhether myTmpVehicles should be used instead of myVehicles
Returns

Definition at line 2120 of file MSLane.cpp.

References MSLane::anyVehiclesBegin(), MSLane::anyVehiclesEnd(), MSCFModel::brakeGap(), DEBUG_COND2, MSVehicle::getBackPositionOnLane(), MSVehicle::getCarFollowModel(), Named::getID(), MSBaseVehicle::getID(), MSLane::getLeaderOnConsecutive(), MSLane::getLength(), MSVehicleType::getMinGap(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), gPrecision, MSLane::myTmpVehicles, MSLane::myVehicles, and toString().

Referenced by MSLaneChanger::checkChange(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::lastInsertion(), and MSLane::setStopOffsets().

◆ getLeaderOnConsecutive()

std::pair< MSVehicle *const, double > MSLane::getLeaderOnConsecutive ( double  dist,
double  seen,
double  speed,
const MSVehicle &  veh,
const std::vector< MSLane *> &  bestLaneConts 
) const
inherited

Returns the immediate 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 2185 of file MSLane.cpp.

References MSCFModel::brakeGap(), DEBUG_COND2, gDebugFlag1, MSVehicle::getBackPositionOnLane(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), Named::getID(), MSBaseVehicle::getID(), Named::getIDSecure(), MSBaseVehicle::getImpatience(), MSNet::getInstance(), MSVehicle::getLateralPositionOnLane(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSVehicle::getSpeed(), MSBaseVehicle::getVehicleType(), MSLane::isInternal(), MAX2(), MSLane::myPartialVehicles, NUMERICAL_EPS, MSLane::succLinkSec(), TIME2STEPS, and toString().

Referenced by MSLane::getLeader(), MSVehicle::getLeader(), and MSLane::setStopOffsets().

◆ getLeadersOnConsecutive()

◆ getLength()

double MSLane::getLength ( ) const
inlineinherited

Returns the lane's length.

Returns
This lane's length

Definition at line 507 of file MSLane.h.

References MSLane::myLength.

Referenced by MSVehicle::adaptLaneEntering2MoveReminder(), MSVehicle::adaptToLeaders(), NLTriggerBuilder::addAccess(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), MSLane::addIncomingLane(), MSVehicle::addStop(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NLDetectorBuilder::buildE2Detector(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChange(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSDevice_SSM::classifyEncounter(), debugDrawFoeIntersections(), MSLCM_LC2013::distanceAlongNextRoundabout(), MSPModel_Striping::PState::distToLaneEnd(), GUIVehicle::drawAction_drawRailCarriages(), GUIEdge::drawMesoVehicles(), MSVehicle::executeMove(), MSLane::executeMovements(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSLane::freeInsertion(), getColorValue(), MSLaneChanger::getColumnleader(), MSLane::getCriticalLeader(), MSVehicle::getDistanceToPosition(), MSE2Collector::getEstimateQueueLength(), MSLane::getFirstInternalInConnection(), MSLane::getFollowersOnConsecutive(), MSLink::getInternalLengthsAfter(), MSLink::getInternalLengthsBefore(), libsumo::Helper::getLaneChecking(), NLShapeHandler::getLanePos(), MSLane::getLeader(), MSVehicle::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), libsumo::Lane::getLength(), MSLink::getLengthBeforeCrossing(), MSLink::getLengthsBeforeCrossing(), MSPModel_Striping::getNextLaneObstacles(), libsumo::Vehicle::getNextTLS(), MSLane::getOppositePos(), NLTriggerBuilder::getPosition(), MSVehicle::getPositionAlongBestLanes(), NLDetectorBuilder::getPositionChecking(), MSLaneChanger::getRealLeader(), MSVehicle::getRerouteOrigin(), MSLCM_LC2013::getRoundaboutAheadInfo(), MSVehicle::getSafeFollowSpeed(), MSVehicle::getSpaceTillLastStanding(), libsumo::Lane::getTraveltime(), MSPModel_Striping::getVehicleObstacles(), MSLane::handleCollisionBetween(), MSLCM_LC2013::informFollower(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), MSPModel_Striping::initWalkingAreaPaths(), MSLane::insertVehicle(), MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLink::maybeOccupied(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSE2Collector::MSE2Collector(), NLTriggerBuilder::parseAndBeginParkingArea(), NLTriggerBuilder::parseAndBuildChargingStation(), MSRouteHandler::parseWalkPositions(), MSVehicle::planMoveInternal(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkAproaches(), MSVehicle::processNextStop(), MSE2Collector::recalculateDetectorLength(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSVehicle::setBlinkerInformation(), MSLink::setRequestInformation(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateBestLanes(), MSVehicle::validatePosition(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), MSMeanData::writeEdge(), and MSQueueExport::writeLane().

◆ getLengthGeometryFactor()

double MSLane::getLengthGeometryFactor ( ) const
inlineinherited

return shape.length() / myLength

Definition at line 454 of file MSLane.h.

References MSLane::myLengthGeometryFactor.

◆ getLinkCont()

const MSLinkCont & MSLane::getLinkCont ( ) const
inherited

returns the container with all links !!!

Definition at line 1952 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSPModel_Striping::addCrossingVehs(), MSDevice_SSM::classifyEncounter(), MSLCM_SL2015::computeSublaneShift(), MSLink::contIntersect(), debugDrawFoeIntersections(), MSLCM_LC2013::distanceAlongNextRoundabout(), MSDevice_SSM::findFoeConflictLane(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::getBestLanesContinuation(), MSLinkContHelper::getConnectingLink(), MSLink::getCorrespondingExitLink(), MSLane::getIndex(), libsumo::Lane::getInternalFoes(), MSLinkContHelper::getInternalFollowingEdge(), MSEdge::getInternalFollowingEdge(), MSLinkContHelper::getInternalFollowingLane(), MSLink::getInternalLengthsAfter(), MSLink::getLeaderInfo(), MSLink::getLengthsBeforeCrossing(), MESegment::getLink(), libsumo::Lane::getLinkNumber(), libsumo::Lane::getLinks(), MESegment::getMaxPenaltySeconds(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextWalkingArea(), MSVehicle::getPositionAlongBestLanes(), MSDevice_SSM::getVehiclesOnJunction(), MSRailSignal::init(), MSVehicle::planMoveInternal(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSVehicle::processLaneAdvances(), MSEdge::recalcCache(), MSVehicle::setBlinkerInformation(), MSLink::setRequestInformation(), MSVehicle::updateBestLanes(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().

◆ getLinkTo()

◆ getLoadedEdgeWeight()

double GUILane::getLoadedEdgeWeight ( ) const

Returns the loaded weight (effort) for the edge of this lane.

Definition at line 893 of file GUILane.cpp.

References MSNet::getInstance(), MSNet::getWeightsStorage(), MSEdgeWeightsStorage::knowsEffort(), MSLane::myEdge, MSEdgeWeightsStorage::retrieveExistingEffort(), and STEPS2TIME.

Referenced by getColorValue(), getParameterWindow(), and getScaleValue().

◆ getLogicalPredecessorLane() [1/2]

◆ getLogicalPredecessorLane() [2/2]

MSLane * MSLane::getLogicalPredecessorLane ( const MSEdge &  fromEdge) const
inherited

return the (first) predecessor lane from the given edge

Definition at line 2410 of file MSLane.cpp.

References MSLane::getEdge(), and MSLane::myIncomingLanes.

◆ getMaximumBrakeDist()

double MSLane::getMaximumBrakeDist ( ) const
protectedinherited

◆ getMeanSpeed()

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

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

Referenced by getColorValue(), libsumo::Lane::getLastStepMeanSpeed(), getScaleValue(), libsumo::Lane::getTraveltime(), MSLane::setStopOffsets(), and MSFullExport::writeLane().

◆ getMicrosimID()

const std::string & GUIGlObject::getMicrosimID ( ) const
virtualinherited

Returns the id of the object as known to microsim.

Definition at line 142 of file GUIGlObject.cpp.

References GUIGlObject::myMicrosimID.

Referenced by SUMORTree::addAdditionalGLObject(), GNEAdditional::changeAdditionalID(), GNEAdditional::changeEdge(), GNEAdditional::changeFirstAdditionalParent(), GNEAdditional::changeLane(), GNEAdditional::changeSecondAdditionalParent(), GNETLSEditorFrame::controlsEdge(), GUIGlObject::createFullName(), GNENet::deleteSingleEdge(), GNENet::deleteSingleJunction(), GUIGlObject::drawName(), GNEAdditional::getAdditionalID(), GNEConnection::getAttribute(), GNELane::getAttribute(), GNEJunction::getAttribute(), GNEEdge::getAttribute(), GNEVaporizer::getParentName(), GNERouteProbe::getParentName(), GNEDetectorE3::getParentName(), GNECalibratorRoute::getParentName(), GNEVariableSpeedSign::getParentName(), GNERerouter::getParentName(), GNELane::getParentName(), GNEParkingSpace::getParentName(), GNEStoppingPlace::getParentName(), GNECalibratorVehicleType::getParentName(), GNECalibrator::getParentName(), GNEDetector::getParentName(), GNEPoly::getParentName(), GNEPOI::getParentName(), GNETLSEditorFrame::handleMultiChange(), GNEEdge::isValid(), GNEViewNet::mergeJunctions(), GUIGLObjectPopupMenu::onCmdCopyName(), GNEInspectorFrame::TemplateEditor::onUpdCopyTemplate(), GUIDialog_GLObjChooser::refreshList(), GNENet::registerEdge(), GNENet::registerJunction(), SUMORTree::removeAdditionalGLObject(), GNEEdge::removeConnection(), GNEEdge::setAttribute(), GNENet::splitEdge(), GNEProhibitionFrame::updateDescription(), GNEConnectorFrame::updateDescription(), and GNEConnection::updateID().

◆ getMissingRearGap()

double MSLane::getMissingRearGap ( const MSVehicle *  leader,
double  backOffset,
double  leaderSpeed 
) const
inherited

return by how much further the leader must be inserted to avoid rear end collisions

Definition at line 2094 of file MSLane.cpp.

References MSVehicle::getCarFollowModel(), MSLane::getFollowersOnConsecutive(), MSCFModel::getMaxDecel(), MSCFModel::getSecureGap(), and MSVehicle::getSpeed().

Referenced by MSLane::freeInsertion(), MSLane::isInsertionSuccess(), and MSLane::setStopOffsets().

◆ getMoveReminders()

◆ getNettoOccupancy()

double MSLane::getNettoOccupancy ( ) const
inherited

◆ getNextNormal()

const MSEdge * MSLane::getNextNormal ( ) const
inherited

Returns the lane's follower if it is an internal lane, the edge of the lane otherwise.

Returns
This lane's follower

Definition at line 1680 of file MSLane.cpp.

References MSEdge::getSuccessors(), MSEdge::isInternal(), and MSLane::myEdge.

Referenced by MSVehicle::addStop(), MSLane::getEdge(), MSVehicle::getRerouteOrigin(), and MSVehicle::updateBestLanes().

◆ getNOxEmissions()

double MSLane::getNOxEmissions ( ) 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 2604 of file MSLane.cpp.

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

Referenced by MSLane::getBruttoVehLenSum(), getColorValue(), libsumo::Lane::getNOxEmission(), getScaleValue(), and MSFullExport::writeLane().

◆ getNumericalID()

int MSLane::getNumericalID ( ) const
inlineinherited

Returns this lane's numerical id.

Returns
This lane's numerical id

Definition at line 441 of file MSLane.h.

References MSLane::myNumericalID.

Referenced by MSPModel_Striping::lane_by_numid_sorter::operator()(), and MSPModel_Striping::walkingarea_path_sorter::operator()().

◆ getOpposite()

MSLane * MSLane::getOpposite ( ) const
inherited

◆ getOppositeFollower()

◆ getOppositeLeader()

◆ getOppositePos()

double MSLane::getOppositePos ( double  pos) const
inherited

◆ getOutgoingViaLanes()

const std::vector< std::pair< const MSLane *, const MSEdge * > > MSLane::getOutgoingViaLanes ( ) const
inherited

get the list of outgoing lanes

Definition at line 2473 of file MSLane.cpp.

References MSLane::myLinks.

Referenced by MSRailSignal::init(), MSVehicle::replaceRoute(), and MSLane::setStopOffsets().

◆ getParallelLane()

MSLane * MSLane::getParallelLane ( int  offset) const
inherited

Returns the lane with the given offset parallel to this one or 0 if it does not exist.

Parameters
[in]offsetThe offset of the result lane

Definition at line 2040 of file MSLane.cpp.

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

Referenced by MSLaneChanger::checkChange(), MSLink::computeParallelLink(), MSAbstractLaneChangeModel::determineTargetLane(), MSLane::dictSize(), MSAbstractLaneChangeModel::getShadowLane(), MSVehicle::lateralDistanceToLane(), MSVehicle::planMoveInternal(), and MSAbstractLaneChangeModel::updateTargetLane().

◆ getParameter()

const std::string Parameterised::getParameter ( const std::string &  key,
const std::string &  defaultValue = "" 
) const
inherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Definition at line 72 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NBEdge::addRestrictedLane(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSDevice::equippedByParameter(), libsumo::Simulation::findIntermodalRoute(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLRequestTrafficLightLogic::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Polygon::getParameter(), libsumo::Route::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_OpenStreetMap::insertEdge(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), MSTriggeredRerouter::notifyEnter(), MSSOTLPolicyDesirability::readParameter(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), GNECrossing::updateGenericParameter(), GNEConnection::updateGenericParameter(), GNEPoly::updateGenericParameter(), GNELane::updateGenericParameter(), GNEPOI::updateGenericParameter(), GNEJunction::updateGenericParameter(), GNEEdge::updateGenericParameter(), GNEAdditional::updateGenericParameter(), MSDevice_SSM::useGeoCoords(), and NWWriter_DlrNavteq::writeLinksUnsplitted().

◆ getParametersMap()

◆ getParameterWindow()

GUIParameterTableWindow * GUILane::getParameterWindow ( GUIMainWindow &  app,
GUISUMOAbstractView &  parent 
)
virtual

Returns an own parameter window.

Parameters
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns
The built parameter window
See also
GUIGlObject::getParameterWindow

Implements GUIGlObject.

Definition at line 807 of file GUILane.cpp.

References GUIParameterTableWindow::closeBuilding(), MSLane::getBruttoOccupancy(), MSEdge::getEdgeType(), getLoadedEdgeWeight(), MSLane::getNettoOccupancy(), getPendingEmits(), MSEdge::getPriority(), MSEdge::getRoutingSpeed(), MSLane::getSpeedLimit(), getStoredEdgeTravelTime(), MSEdge::getStreetName(), getVehicleClassNames(), GUIParameterTableWindow::mkItem(), MSLane::myEdge, MSLane::myLength, MSLane::myPermissions, and MSLane::myWidth.

◆ getParentName()

std::string GUILane::getParentName ( ) const
inlinevirtual

Returns the name of the parent object (if any)

Note
Inherited from GUIGlObject
Returns
This object's parent id

Reimplemented from GUIGlObject.

Definition at line 91 of file GUILane.h.

◆ getParkingVehicles()

const std::set<const MSVehicle*>& MSLane::getParkingVehicles ( ) const
inlineinherited

retrieve the parking vehicles (see GUIParkingArea)

Definition at line 1037 of file MSLane.h.

References MSLane::myParkingVehicles.

Referenced by GUIParkingArea::drawGL().

◆ getPartialBehind()

MSVehicle * MSLane::getPartialBehind ( const MSVehicle *  ego) const
inherited

◆ getPartialBeyond()

MSLeaderInfo MSLane::getPartialBeyond ( ) const
inherited

get all vehicles that are inlapping from consecutive edges

Definition at line 3138 of file MSLane.cpp.

References MSLeaderInfo::addLeader(), MSVehicle::getLatOffset(), MSVehicle::isFrontOnLane(), and MSLane::myPartialVehicles.

Referenced by MSLane::setStopOffsets().

◆ getPartialVehicleNumber()

int MSLane::getPartialVehicleNumber ( ) const
inlineinherited

Returns the number of vehicles partially on this lane (for which this lane is not responsible)

Returns
The number of vehicles touching this lane but with their front on another lane

Definition at line 388 of file MSLane.h.

References MSLane::myPartialVehicles.

◆ getPendingEmits()

double GUILane::getPendingEmits ( ) const
private

get number of vehicles waiting for departure on this lane

Definition at line 1232 of file GUILane.cpp.

References MSNet::getInsertionControl(), MSNet::getInstance(), and MSInsertionControl::getPendingEmits().

Referenced by getColorValue(), and getParameterWindow().

◆ getPermissions()

SVCPermissions MSLane::getPermissions ( ) const
inlineinherited

Returns the vehicle class permissions for this lane.

Returns
This lane's allowed vehicle classes

Definition at line 515 of file MSLane.h.

References MSLane::myPermissions.

Referenced by MSSwarmTrafficLightLogic::allowLine(), libsumo::Lane::getAllowed(), MSInternalJunction::indirectBicycleTurn(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), and GUIApplicationWindow::onCmdEditChosen().

◆ getPMxEmissions()

double MSLane::getPMxEmissions ( ) 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 2592 of file MSLane.cpp.

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

Referenced by MSLane::getBruttoVehLenSum(), getColorValue(), libsumo::Lane::getPMxEmission(), getScaleValue(), and MSFullExport::writeLane().

◆ getPopUpMenu()

◆ getRightmostSublane()

int MSLane::getRightmostSublane ( ) const
inlineinherited

Definition at line 985 of file MSLane.h.

References MSLane::myRightmostSublane.

Referenced by MSLCM_SL2015::_wantsChangeSublane().

◆ getRightSideOnEdge()

◆ getScaleValue()

◆ getShape()

◆ getShapeLengths()

const std::vector< double > & GUILane::getShapeLengths ( ) const

◆ getShapeRotations()

const std::vector< double > & GUILane::getShapeRotations ( ) const

◆ getSpeedLimit()

◆ getStopOffset()

double MSLane::getStopOffset ( const MSVehicle *  veh) const
inherited

Returns vehicle class specific stopOffset for the vehicle.

Definition at line 2886 of file MSLane.cpp.

References MSBaseVehicle::getVClass(), and MSLane::myStopOffsets.

Referenced by MSLane::getIncomingLanes(), and MSVehicle::planMoveInternal().

◆ getStopOffsets()

const std::map<SVCPermissions, double>& MSLane::getStopOffsets ( ) const
inlineinherited

Returns vehicle class specific stopOffsets.

Definition at line 775 of file MSLane.h.

References MSLane::myStopOffsets.

◆ getStoredEdgeTravelTime()

double GUILane::getStoredEdgeTravelTime ( ) const

◆ getType()

GUIGlObjectType GUIGlObject::getType ( ) const
inherited

Returns the type of the object as coded in GUIGlObjectType.

See also
GUIGlObjectType

Definition at line 155 of file GUIGlObject.cpp.

References GUIGlObject::myGLObjectType.

Referenced by GUIGlObject::buildSelectionPopupEntry(), GUIVehicle::drawAction_drawLinkItems(), GUIBaseVehicle::drawAction_drawPersonsAndContainers(), GUIVehicle::drawAction_drawRailCarriages(), GUIPerson::drawAction_drawWalkingareaPath(), GNEAdditional::drawChildConnections(), GNEChargingStation::drawGL(), GNEDetectorE1Instant::drawGL(), GNEDetectorE1::drawGL(), GNEDetectorEntry::drawGL(), GNEDetectorExit::drawGL(), GNEContainerStop::drawGL(), GNEBusStop::drawGL(), GNEParkingArea::drawGL(), GNEDetectorE2::drawGL(), GNEVaporizer::drawGL(), GNERouteProbe::drawGL(), GNEDetectorE3::drawGL(), GNEJunction::drawGL(), GNECrossing::drawGL(), GNEVariableSpeedSign::drawGL(), GNERerouter::drawGL(), GNEAccess::drawGL(), GUIMEInductLoop::MyWrapper::drawGL(), GNEParkingSpace::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIInstantInductLoop::MyWrapper::drawGL(), GUICalibrator::drawGL(), GUIContainer::drawGL(), GUIPerson::drawGL(), GNECalibrator::drawGL(), GUIJunctionWrapper::drawGL(), GNELane::drawGL(), GNEConnection::drawGL(), GUIChargingStation::drawGL(), GUIContainerStop::drawGL(), GUIBusStop::drawGL(), GUIParkingArea::drawGL(), GUIE2Collector::MyWrapper::drawGL(), GNEPoly::drawGL(), GNEPOI::drawGL(), GUIInductLoop::MyWrapper::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), drawGL(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), GNEAdditional::drawLockIcon(), GUIBaseVehicle::drawOnPos(), GNEJunction::getAttribute(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GNEViewNet::getConnectionAtPopupPosition(), GNEViewNet::getCrossingAtPopupPosition(), GNEViewNet::getEdgeAtPopupPosition(), GNEViewNet::getEdgesAtPopupPosition(), GNEViewNet::getJunctionAtPopupPosition(), GNEViewNet::getLaneAtPopupPosition(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIEdge::getScaleValue(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdBegin2TrackPhases(), GUIGLObjectPopupMenu::onCmdCopyEdgeName(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideAllRoutes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideBestLanes(), GUIPerson::GUIPersonPopupMenu::onCmdHideCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideLFLinkItems(), GUIPerson::GUIPersonPopupMenu::onCmdHideWalkingareaPath(), GNESelectorFrame::SelectionOperation::onCmdLoad(), GNESelectorFrame::SelectionOperation::onCmdSave(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowAllRoutes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowBestLanes(), GUIPerson::GUIPersonPopupMenu::onCmdShowCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowFoes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowLFLinkItems(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdShowPhases(), GUIPerson::GUIPersonPopupMenu::onCmdShowWalkingareaPath(), GUIPerson::GUIPersonPopupMenu::onCmdStartTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStartTrack(), GUIPerson::GUIPersonPopupMenu::onCmdStopTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStopTrack(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLS2Off(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLSLogic(), GNEViewNet::SelectingArea::processSelection(), LayeredRTree::selectLayer(), GNEJunction::setAttribute(), GUISelectedStorage::toggleSelection(), and GNEViewNet::ObjectsUnderCursor::updateObjectUnderCursor().

◆ getTypeParameterWindow()

GUIParameterTableWindow * GUIGlObject::getTypeParameterWindow ( GUIMainWindow &  app,
GUISUMOAbstractView &  parent 
)
virtualinherited

Returns an own type parameter window (optional)

Parameters
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns
The built parameter window

Reimplemented in GUIVehicle, GUIBaseVehicle, GUIMEVehicle, GUIPerson, and GUIContainer.

Definition at line 134 of file GUIGlObject.cpp.

References UNUSED_PARAMETER.

Referenced by GUIGLObjectPopupMenu::onCmdShowTypePars().

◆ getVehicleMaxSpeed()

◆ getVehicleNumber()

int MSLane::getVehicleNumber ( ) const
inlineinherited

Returns the number of vehicles on this lane (for which this lane is responsible)

Returns
The number of vehicles with their front on this lane

Definition at line 372 of file MSLane.h.

References MSLane::myVehicles.

Referenced by MSVehicle::checkRewindLinkLanes(), libsumo::Lane::getLastStepVehicleNumber(), MSVehicle::planMoveInternal(), MSFullExport::writeLane(), and MSXMLRawOut::writeLane().

◆ getVehicleNumberWithPartials()

int MSLane::getVehicleNumberWithPartials ( ) const
inlineinherited

Returns the number of vehicles on this lane (including partial occupators)

Returns
The number of vehicles with intersecting this lane

Definition at line 380 of file MSLane.h.

References MSLane::myPartialVehicles, and MSLane::myVehicles.

Referenced by MSPModel_Striping::getNextLaneObstacles(), MSPModel_Striping::moveInDirectionOnLane(), and MSPModel_Striping::PState::PState().

◆ getVehiclesSecure()

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

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

Referenced by drawGL().

◆ getWaitingSeconds()

double MSLane::getWaitingSeconds ( ) const
inherited

Returns the overall waiting time on this lane.

Returns
The sum of the waiting time of all vehicles during the last step;

Definition at line 2539 of file MSLane.cpp.

References MSLane::myVehicles.

Referenced by libsumo::Lane::getWaitingTime(), and MSLane::setStopOffsets().

◆ getWidth()

double MSLane::getWidth ( ) const
inlineinherited

◆ handleCollisionBetween()

void MSLane::handleCollisionBetween ( SUMOTime  timestep,
const std::string &  stage,
MSVehicle *  collider,
MSVehicle *  victim,
double  gap,
double  latGap,
std::set< const MSVehicle *, ComparatorIdLess > &  toRemove,
std::set< const MSVehicle *> &  toTeleport 
) const
protectedinherited

take action upon collision

Definition at line 1448 of file MSLane.cpp.

References MSVehicle::addStop(), GeomHelper::angleDiff(), MSCFModel::brakeGap(), SUMOVehicleParameter::Stop::busstop, SUMOVehicleParameter::Stop::chargingStation, MSLane::COLLISION_ACTION_REMOVE, MSLane::COLLISION_ACTION_TELEPORT, MSLane::COLLISION_ACTION_WARN, MSVehicle::collisionStopTime(), SUMOVehicleParameter::Stop::containerstop, SUMOVehicleParameter::Stop::containerTriggered, DEBUG_COND2, SUMOVehicleParameter::Stop::duration, SUMOVehicleParameter::Stop::endPos, MSVehicle::getAngle(), MSVehicle::getCarFollowModel(), MSCFModel::getEmergencyDecel(), Named::getID(), MSBaseVehicle::getID(), MSVehicle::getInfluencer(), MSNet::getInstance(), MSVehicle::getLane(), MSVehicle::getLaneChangeModel(), MSVehicleType::getLength(), MSLane::getLength(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSNet::getVehicleControl(), MSBaseVehicle::getVehicleType(), MSVehicle::hasInfluencer(), SUMOVehicleParameter::Stop::index, MSNet::informVehicleStateListener(), MSAbstractLaneChangeModel::isOpposite(), MSVehicle::Influencer::isRemoteAffected(), SUMOVehicleParameter::Stop::lane, MAX2(), MIN2(), MSLane::myCollisionAction, MSLane::myCollisionStopTime, SUMOVehicleParameter::Stop::parking, SUMOVehicleParameter::Stop::parkingarea, RAD2DEG, MSVehicleControl::registerCollision(), SUMOVehicleParameter::Stop::startPos, time2string(), toString(), SUMOVehicleParameter::Stop::triggered, SUMOVehicleParameter::Stop::until, MSNet::VEHICLE_STATE_COLLISION, and WRITE_WARNING.

Referenced by MSLane::detectCollisionBetween(), and MSLane::detectCollisions().

◆ incorporateVehicle()

void GUILane::incorporateVehicle ( MSVehicle *  veh,
double  pos,
double  speed,
double  posLat,
const MSLane::VehCont::iterator &  at,
MSMoveReminder::Notification  notification = MSMoveReminder::NOTIFICATION_DEPARTED 
)
protectedvirtual

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]posLatThe lateral position 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 114 of file GUILane.cpp.

References MSLane::incorporateVehicle(), and myLock.

◆ initCollisionOptions()

◆ initRestrictions()

void MSLane::initRestrictions ( )
inherited

initialized vClass-specific speed limits

Definition at line 202 of file MSLane.cpp.

References MSEdge::getEdgeType(), MSNet::getInstance(), MSNet::getRestrictions(), MSGlobals::gUnitTests, MSLane::myEdge, and MSLane::myRestrictions.

Referenced by MSLane::MSLane(), and MSLane::setRightSideOnEdge().

◆ insertIDs()

void MSLane::insertIDs ( std::vector< std::string > &  into)
staticinherited

Adds the ids of all stored lanes into the given vector.

Parameters

Definition at line 1740 of file MSLane.cpp.

References MSLane::myDict.

Referenced by MSLane::dictSize(), and libsumo::Lane::getIDList().

◆ insertVehicle()

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

References MSVehicle::basePos(), DEPART_POS_BASE, DEPART_POS_DEFAULT, DEPART_POS_FREE, DEPART_POS_GIVEN, DEPART_POS_LAST, DEPART_POS_RANDOM, DEPART_POS_RANDOM_FREE, DEPART_POSLAT_FREE, DEPART_POSLAT_RANDOM_FREE, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosLatProcedure, SUMOVehicleParameter::departPosProcedure, FALLTHROUGH, MSLane::freeInsertion(), MSLane::getDepartPosLat(), MSLane::getDepartSpeed(), MSLane::getLength(), MSBaseVehicle::getParameter(), MSBaseVehicle::getVehicleType(), MSVehicleType::getWidth(), MSLane::getWidth(), MSGlobals::gLateralResolution, MSLane::isInsertionSuccess(), MSLane::lastInsertion(), MSLane::myEdge, MSLane::myLength, MSMoveReminder::NOTIFICATION_DEPARTED, and RandHelper::rand().

Referenced by MSLane::getMoveReminders(), and MSEdge::insertVehicle().

◆ integrateNewVehicle()

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

References MSLane::integrateNewVehicle(), and myLock.

◆ interpolateGeometryPosToLanePos()

double MSLane::interpolateGeometryPosToLanePos ( double  geometryPos) const
inlineinherited

Definition at line 477 of file MSLane.h.

References MSLane::myLengthGeometryFactor.

Referenced by getPopUpMenu(), and MSLink::setRequestInformation().

◆ interpolateLanePosToGeometryPos()

◆ isAccelLane()

bool MSLane::isAccelLane ( ) const
inlineinherited

return whether this lane is an acceleration lane

Definition at line 459 of file MSLane.h.

References MSLane::myIsRampAccel.

Referenced by MSLCM_LC2013::informFollower().

◆ isApproachedFrom() [1/2]

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

Definition at line 2070 of file MSLane.cpp.

References MSLane::myApproachingLanes.

Referenced by MSLane::getIncomingLanes().

◆ isApproachedFrom() [2/2]

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

Definition at line 2076 of file MSLane.cpp.

References MSLane::myApproachingLanes.

◆ isClosed()

bool GUILane::isClosed ( ) const
inline

Definition at line 247 of file GUILane.h.

References MSMoveReminder::NOTIFICATION_DEPARTED.

Referenced by GUIEdge::closeTraffic().

◆ isEmpty()

bool MSLane::isEmpty ( ) const
inherited

Returns the information whether the lane is has no vehicle and no partial occupation

Definition at line 1847 of file MSLane.cpp.

References MSLane::myPartialVehicles, and MSLane::myVehicles.

Referenced by MSLane::dictSize().

◆ isInsertionSuccess()

bool MSLane::isInsertionSuccess ( MSVehicle *  vehicle,
double  speed,
double  pos,
double  posLat,
bool  recheckNextLanes,
MSMoveReminder::Notification  notification 
)
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, incorporateVehicle() is 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]posLatThe lateral 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 593 of file MSLane.cpp.

References ARRIVAL_SPEED_GIVEN, SUMOVehicleParameter::arrivalSpeed, SUMOVehicleParameter::arrivalSpeedProcedure, MSRoute::begin(), MSCFModel::brakeGap(), MSLane::checkFailure(), MSLane::checkForPedestrians(), DEBUG_COND2, MSInsertionControl::descheduleDeparture(), SUMOVehicleParameter::Stop::endPos, MSCFModel::freeSpeed(), MSVehicle::getBackPositionOnLane(), MSVehicle::getBestLanesContinuation(), MSVehicle::getCarFollowModel(), MSNet::getCurrentTimeStep(), MSLane::getEdge(), MSLane::getFollowersOnConsecutive(), Named::getID(), MSBaseVehicle::getID(), Named::getIDSecure(), MSBaseVehicle::getImpatience(), MSNet::getInsertionControl(), MSNet::getInstance(), MSVehicle::getLaneChangeModel(), MSRoute::getLastEdge(), MSLane::getLastVehicleInformation(), MSVehicleType::getLength(), MSLane::getLength(), MSCFModel::getMaxDecel(), MSVehicleType::getMinGap(), MSLane::getMissingRearGap(), MSVehicle::getNextStop(), MSBaseVehicle::getParameter(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getRoute(), MSCFModel::getSecureGap(), MSAbstractLaneChangeModel::getShadowLane(), MSVehicle::getSpeed(), MSLane::getVehicleMaxSpeed(), MSBaseVehicle::getVehicleType(), MSVehicle::hasStops(), MSLeaderInfo::hasVehicles(), MSLane::incorporateVehicle(), MSCFModel::insertionStopSpeed(), INVALID_SPEED, MSLane::isLinkEnd(), MSVehicle::Stop::lane, LINKSTATE_ALLWAY_STOP, LINKSTATE_EQUAL, LINKSTATE_MINOR, LINKSTATE_STOP, MAX2(), Named::myID, MSLane::myLength, MSLane::myManeuverReservations, MSLane::myPartialVehicles, MSLane::myVehicles, NUMERICAL_EPS, MSLeaderInfo::numFreeSublanes(), MSLeaderInfo::numSublanes(), MSVehicle::Stop::pars, MSLane::safeInsertionSpeed(), MSVehicle::setTentativeLaneAndPosition(), SIMTIME, MSCFModel::stopSpeed(), MSLane::succLinkSec(), SUMO_const_haltingSpeed, TIME2STEPS, toString(), MSLeaderInfo::toString(), MSVehicle::updateBestLanes(), WRITE_ERROR, and WRITE_WARNING.

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

◆ isInternal()

◆ isLaneOrEdgeSelected()

bool GUILane::isLaneOrEdgeSelected ( ) const
private

whether this lane or its parent edge is selected in the GUI

Definition at line 1227 of file GUILane.cpp.

References GUIGlObject::getGlID(), GLO_EDGE, gSelected, GUISelectedStorage::isSelected(), isSelected(), and MSLane::myEdge.

Referenced by getColorValue(), and getScaleValue().

◆ isLinkEnd() [1/2]

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

References MSLane::myLinks.

Referenced by MSLaneChanger::checkChange(), MSLane::dictSize(), MSLane::getCriticalLeader(), MSLane::getLeadersOnConsecutive(), libsumo::Vehicle::getNextTLS(), MSLane::isInsertionSuccess(), MSVehicle::planMoveInternal(), and MSVehicle::unsafeLinkAhead().

◆ isLinkEnd() [2/2]

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

References MSLane::myLinks.

◆ isSelected()

bool GUILane::isSelected ( ) const
virtual

whether this lane is selected in the GUI

Reimplemented from MSLane.

Definition at line 1222 of file GUILane.cpp.

References GUIGlObject::getGlID(), GLO_LANE, gSelected, and GUISelectedStorage::isSelected().

Referenced by isLaneOrEdgeSelected().

◆ knowsParameter()

bool Parameterised::knowsParameter ( const std::string &  key) const
inherited

Returns whether the parameter is known.

Parameters
[in]keyThe key to ask for
Returns
Whether the key is known

Definition at line 66 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEPoly::addGenericParameter(), GNELane::addGenericParameter(), GNEPOI::addGenericParameter(), GNEJunction::addGenericParameter(), GNEEdge::addGenericParameter(), GNEAdditional::addGenericParameter(), NBEdge::append(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSDevice::equippedByParameter(), MSDevice::getBoolParam(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_SSM::getOutputFilename(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), GNEPoly::removeGenericParameter(), GNELane::removeGenericParameter(), GNEPOI::removeGenericParameter(), GNEJunction::removeGenericParameter(), GNEEdge::removeGenericParameter(), GNEAdditional::removeGenericParameter(), MSDevice_SSM::requestsTrajectories(), GNEPoly::updateGenericParameter(), GNELane::updateGenericParameter(), GNEPOI::updateGenericParameter(), GNEJunction::updateGenericParameter(), GNEEdge::updateGenericParameter(), GNEAdditional::updateGenericParameter(), GNEPoly::updateGenericParameterValue(), GNEPOI::updateGenericParameterValue(), GNELane::updateGenericParameterValue(), GNEJunction::updateGenericParameterValue(), GNEEdge::updateGenericParameterValue(), GNEAdditional::updateGenericParameterValue(), and MSDevice_SSM::useGeoCoords().

◆ lastInsertion()

bool MSLane::lastInsertion ( MSVehicle &  veh,
double  mspeed,
double  posLat,
bool  patchSpeed 
)
inherited

◆ leftByLaneChange()

◆ loadState()

void MSLane::loadState ( std::vector< std::string > &  vehIDs,
MSVehicleControl &  vc 
)
inherited

Loads the state of this segment with the given parameters.

This method is called for every internal que the segment has. Every vehicle is retrieved from the given MSVehicleControl and added to this lane.

Parameters
[in]vehIDsThe vehicle ids for the current que
[in]vcThe vehicle control to retrieve references vehicles from
Todo:

What about throwing an IOError?

What about throwing an error if something else fails (a vehicle can not be referenced)?

Definition at line 2871 of file MSLane.cpp.

References MSVehicle::getLateralPositionOnLane(), MSVehicle::getPositionOnLane(), MSVehicle::getSpeed(), MSVehicleControl::getVehicle(), MSLane::incorporateVehicle(), MSLane::myVehicles, MSMoveReminder::NOTIFICATION_JUNCTION, MSVehicle::processNextStop(), and MSVehicle::updateBestLanes().

Referenced by MSLane::isSelected().

◆ planMovements()

void GUILane::planMovements ( const 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 137 of file GUILane.cpp.

References myLock, and MSLane::planMovements().

◆ releaseVehicles()

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

References myLock, and MFXMutex::unlock().

Referenced by drawGL().

◆ removeParameterTable()

void GUIGlObject::removeParameterTable ( GUIParameterTableWindow *  w)
inherited

Lets this object know a parameter window showing the object's values was closed.

Parameters
[in]wThe closed parameter window

Definition at line 268 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

◆ removeParking()

void GUILane::removeParking ( MSVehicle *  veh)
virtual

remove parking vehicle

Reimplemented from MSLane.

Definition at line 158 of file GUILane.cpp.

References myLock, and MSLane::removeParking().

◆ removeVehicle()

MSVehicle * GUILane::removeVehicle ( MSVehicle *  remVehicle,
MSMoveReminder::Notification  notification,
bool  notify 
)
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 151 of file GUILane.cpp.

References myLock, and MSLane::removeVehicle().

◆ resetManeuverReservation()

void MSLane::resetManeuverReservation ( MSVehicle *  v)
virtualinherited

Unregisters a vehicle, which previously registered for maneuvering into this lane.

Parameters
[in]vThe vehicle

Definition at line 276 of file MSLane.cpp.

References DEBUG_COND2, Named::getID(), MSBaseVehicle::getID(), MSLane::myManeuverReservations, and SIMTIME.

Referenced by MSAbstractLaneChangeModel::cleanupTargetLane(), MSLane::getMoveReminders(), and MSAbstractLaneChangeModel::updateTargetLane().

◆ resetPartialOccupation()

void GUILane::resetPartialOccupation ( MSVehicle *  v)
virtual

Removes the information about a vehicle lapping into this lane.

Parameters
[in]vThe vehicle which laps into this lane

Reimplemented from MSLane.

Definition at line 193 of file GUILane.cpp.

References myLock, and MSLane::resetPartialOccupation().

◆ resetPermissions()

void MSLane::resetPermissions ( long long  transientID)
inherited

◆ safeInsertionSpeed()

double MSLane::safeInsertionSpeed ( const MSVehicle *  veh,
double  seen,
const MSLeaderInfo &  leaders,
double  speed 
)
protectedinherited

◆ saveState()

void MSLane::saveState ( OutputDevice &  out)
inherited

Saves the state of this lane into the given stream.

Basically, a list of vehicle ids

Parameters

Definition at line 2860 of file MSLane.cpp.

References OutputDevice::closeTag(), Named::getID(), MSLane::myVehicles, OutputDevice::openTag(), SUMO_ATTR_VALUE, SUMO_TAG_LANE, SUMO_TAG_VIEWSETTINGS_VEHICLES, and OutputDevice::writeAttr().

Referenced by MSLane::isSelected().

◆ setColor()

◆ setFunctionalColor()

bool GUILane::setFunctionalColor ( int  activeScheme,
RGBColor &  col 
) const
private

◆ setID()

void Named::setID ( const std::string &  newID)
inlineinherited

◆ setLength()

void MSLane::setLength ( double  val)
inherited

Sets a new length for the lane (used by TraCI only)

Parameters
[in]valthe new length in m

Definition at line 2004 of file MSLane.cpp.

References MSLane::myEdge, MSLane::myLength, and MSEdge::recalcCache().

Referenced by MSLane::empty(), and libsumo::Lane::setLength().

◆ setManeuverReservation()

void MSLane::setManeuverReservation ( MSVehicle *  v)
virtualinherited

Registers the lane change intentions (towards this lane) for the given vehicle.

Definition at line 265 of file MSLane.cpp.

References DEBUG_COND2, Named::getID(), MSBaseVehicle::getID(), MSLane::myManeuverReservations, and SIMTIME.

Referenced by MSLane::getMoveReminders(), and MSAbstractLaneChangeModel::updateTargetLane().

◆ setMaxSpeed()

void MSLane::setMaxSpeed ( double  val)
inherited

Sets a new maximum speed for the lane (used by TraCI and MSCalibrator)

Parameters
[in]valthe new speed in m/s

Definition at line 1997 of file MSLane.cpp.

References MSLane::myEdge, MSLane::myMaxSpeed, and MSEdge::recalcCache().

Referenced by MSLane::empty(), MSCalibrator::execute(), and libsumo::Lane::setMaxSpeed().

◆ setMicrosimID()

void GUIGlObject::setMicrosimID ( const std::string &  newID)
virtualinherited

◆ setMultiColor()

bool GUILane::setMultiColor ( const GUIColorer &  c,
RGBColor &  col 
) const
private

sets multiple colors according to the current scheme index and some lane function

Definition at line 952 of file GUILane.cpp.

References GUIPropertySchemeStorage< T >::getActive(), GUIPropertyScheme< T >::getColor(), getColorValue(), GUIPropertySchemeStorage< T >::getScheme(), MAX2(), MSLane::myShape, myShapeColors, and POSITION_EPS.

Referenced by setColor().

◆ setParameter()

void Parameterised::setParameter ( const std::string &  key,
const std::string &  value 
)
inherited

Sets a parameter.

Parameters
[in]keyThe parameter's name
[in]valueThe parameter's value

Definition at line 46 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNECrossing::addGenericParameter(), GNEConnection::addGenericParameter(), GNEPoly::addGenericParameter(), GNELane::addGenericParameter(), GNEPOI::addGenericParameter(), GNEJunction::addGenericParameter(), GNEEdge::addGenericParameter(), GNEAdditional::addGenericParameter(), SUMORouteHandler::addParam(), NLHandler::addParam(), ShapeHandler::addPOI(), NIImporter_OpenStreetMap::insertNodeChecking(), NBEdge::Lane::Lane(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseGenericParameter(), GNEConnection::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::Edge::setParameter(), libsumo::Lane::setParameter(), GNEConnection::updateGenericParameter(), GNEPoly::updateGenericParameter(), GNELane::updateGenericParameter(), GNEPOI::updateGenericParameter(), GNEJunction::updateGenericParameter(), GNEEdge::updateGenericParameter(), GNEAdditional::updateGenericParameter(), GNECrossing::updateGenericParameterValue(), GNEConnection::updateGenericParameterValue(), GNEPoly::updateGenericParameterValue(), GNELane::updateGenericParameterValue(), GNEPOI::updateGenericParameterValue(), GNEJunction::updateGenericParameterValue(), GNEEdge::updateGenericParameterValue(), and GNEAdditional::updateGenericParameterValue().

◆ setPartialOccupation()

double GUILane::setPartialOccupation ( MSVehicle *  v)
virtual

Sets the information about a vehicle lapping into this lane.

This vehicle is added to myVehicles and may be distinguished from regular vehicles by the disparity between this lane and v->getLane()

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

Reimplemented from MSLane.

Definition at line 186 of file GUILane.cpp.

References myLock, and MSLane::setPartialOccupation().

◆ setPermissions()

void MSLane::setPermissions ( SVCPermissions  permissions,
long long  transientID 
)
inherited

Sets the permissions to the given value. If a transientID is given, the permissions are recored as temporary.

Parameters
[in]permissionsThe new permissions
[in]transientIDThe id of the permission-modification or the special value PERMANENT

Definition at line 3265 of file MSLane.cpp.

References MSLane::CHANGE_PERMISSIONS_PERMANENT, MSLane::myOriginalPermissions, MSLane::myPermissionChanges, MSLane::myPermissions, and MSLane::resetPermissions().

Referenced by closeTraffic(), MSLane::dictSize(), libsumo::Lane::setAllowed(), and libsumo::Lane::setDisallowed().

◆ setRightSideOnEdge()

void MSLane::setRightSideOnEdge ( double  value,
int  rightmostSublane 
)
inlineinherited

◆ setStopOffsets()

◆ sortManeuverReservations()

void MSLane::sortManeuverReservations ( )
inherited

sorts myManeuverReservations

Definition at line 1817 of file MSLane.cpp.

References DEBUG_COND, Named::getID(), MSLane::myManeuverReservations, and toString().

Referenced by MSLane::getCenterOnEdge().

◆ sortPartialVehicles()

void MSLane::sortPartialVehicles ( )
inherited

sorts myPartialVehicles

Definition at line 1809 of file MSLane.cpp.

References MSLane::myPartialVehicles.

Referenced by MSLane::getCenterOnEdge(), MSLane::integrateNewVehicle(), and MSLane::swapAfterLaneChange().

◆ splitAtSegments()

◆ succLinkSec()

MSLinkCont::const_iterator MSLane::succLinkSec ( const SUMOVehicle &  veh,
int  nRouteSuccs,
const MSLane &  succLinkSource,
const std::vector< MSLane *> &  conts 
)
staticinherited

◆ swapAfterLaneChange()

void GUILane::swapAfterLaneChange ( SUMOTime  t)
protectedvirtual

moves myTmpVehicles int myVehicles after a lane change procedure

Reimplemented from MSLane.

Definition at line 165 of file GUILane.cpp.

References myLock, and MSLane::swapAfterLaneChange().

◆ teleportOnCollision()

static bool MSLane::teleportOnCollision ( )
inlinestaticinherited

◆ unsetParameter()

◆ updateLeaderInfo()

void MSLane::updateLeaderInfo ( const MSVehicle *  veh,
VehCont::reverse_iterator &  vehPart,
VehCont::reverse_iterator &  vehRes,
MSLeaderInfo &  ahead 
) const
inherited

This updates the MSLeaderInfo argument with respect to the given MSVehicle. All leader-vehicles on the same edge, which are relevant for the vehicle (i.e. with position > vehicle's position) and not already integrated into the LeaderInfo, are integrated. The given iterators vehPart and vehRes give access to these vehicles which are either partial occupators or have issued a maneuver reservation for the lane (the latter occurs only for the sublane model).

Definition at line 1134 of file MSLane.cpp.

References MSLeaderInfo::addLeader(), DEBUG_COND, MSVehicle::getPositionOnLane(), MSLane::myManeuverReservations, and MSLane::myPartialVehicles.

Referenced by MSLane::getIndex(), and MSLane::planMovements().

◆ updateParameter()

void Parameterised::updateParameter ( const std::map< std::string, std::string > &  mapArg)
inherited

◆ visit()

void MSLane::visit ( const LaneStoringVisitor &  cont) const
inlineinherited

Callback for visiting the lane when traversing an RTree.

This is used in the TraCIServerAPI_Lane for context subscriptions.

Parameters
[in]contThe context doing all the work
See also
libsumo::Helper::LaneStoringVisitor::add

Definition at line 1080 of file MSLane.h.

References LaneStoringVisitor::add(), and MSLane::initCollisionOptions().

Referenced by libsumo::Helper::collectObjectsInRange().

◆ writeParams()

Field Documentation

◆ CHANGE_PERMISSIONS_GUI

const long MSLane::CHANGE_PERMISSIONS_GUI = 1
staticinherited

Definition at line 1095 of file MSLane.h.

Referenced by closeTraffic().

◆ CHANGE_PERMISSIONS_PERMANENT

const long MSLane::CHANGE_PERMISSIONS_PERMANENT = 0
staticinherited

◆ INVALID_ID

const GUIGlID GUIGlObject::INVALID_ID = 0
staticinherited

◆ MESO_USE_LANE_COLOR

const RGBColor GUILane::MESO_USE_LANE_COLOR
staticprivate

special color to signify alternative coloring scheme

Definition at line 346 of file GUILane.h.

Referenced by setColor().

◆ myAmClosed

bool GUILane::myAmClosed
private

state for dynamic lane closings

Definition at line 339 of file GUILane.h.

Referenced by closeTraffic(), and getPopUpMenu().

◆ myApproachingLanes

std::map<MSEdge*, std::vector<MSLane*> > MSLane::myApproachingLanes
protectedinherited

All direct internal and direct (disregarding internal predecessors) non-internal predecessor lanes of this lane.

Definition at line 1258 of file MSLane.h.

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

◆ myBruttoVehicleLengthSum

double MSLane::myBruttoVehicleLengthSum
protectedinherited

◆ myCanonicalPredecessorLane

MSLane* MSLane::myCanonicalPredecessorLane
mutableprotectedinherited

Similar to LogicalPredecessorLane,.

See also
getCanonicalPredecessorLane()

Definition at line 1242 of file MSLane.h.

Referenced by MSLane::getCanonicalPredecessorLane().

◆ myCanonicalSuccessorLane

MSLane* MSLane::myCanonicalSuccessorLane
mutableprotectedinherited

Main successor lane,.

See also
getCanonicalSuccessorLane()

Definition at line 1245 of file MSLane.h.

Referenced by MSLane::getCanonicalSuccessorLane().

◆ myDict

MSLane::DictType MSLane::myDict
staticprotectedinherited

Static dictionary to associate string-ids with objects.

Definition at line 1293 of file MSLane.h.

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

◆ myEdge

◆ myFollowerInfo

MSLeaderInfo MSLane::myFollowerInfo
mutableprotectedinherited

followers on all sublanes as seen by vehicles on consecutive lanes (cached)

Definition at line 1263 of file MSLane.h.

Referenced by MSLane::getFirstVehicleInformation().

◆ myFollowerInfoTime

SUMOTime MSLane::myFollowerInfoTime
mutableprotectedinherited

time step for which myFollowerInfo was last updated

Definition at line 1270 of file MSLane.h.

Referenced by MSLane::getFirstVehicleInformation().

◆ myHalfLaneWidth

double GUILane::myHalfLaneWidth
private

Half of lane width, for speed-up.

Definition at line 329 of file GUILane.h.

Referenced by drawBikeMarkings(), drawDirectionIndicators(), drawGL(), drawLinkNo(), drawLinkRule(), drawMarkings(), drawTLSLinkNo(), and GUILane().

◆ myID

◆ myIncomingLanes

std::vector<IncomingLaneInfo> MSLane::myIncomingLanes
protectedinherited

◆ myIndex

int MSLane::myIndex
protectedinherited

The lane index.

Definition at line 1161 of file MSLane.h.

Referenced by drawMarkings(), and MSLane::getIndex().

◆ myIsRampAccel

const bool MSLane::myIsRampAccel
protectedinherited

whether this lane is an acceleration lane

Definition at line 1276 of file MSLane.h.

Referenced by MSLane::isAccelLane().

◆ myLeaderInfo

MSLeaderInfo MSLane::myLeaderInfo
mutableprotectedinherited

leaders on all sublanes as seen by approaching vehicles (cached)

Definition at line 1261 of file MSLane.h.

Referenced by MSLane::getLastVehicleInformation().

◆ myLeaderInfoTime

SUMOTime MSLane::myLeaderInfoTime
mutableprotectedinherited

time step for which myLeaderInfo was last updated

Definition at line 1268 of file MSLane.h.

Referenced by MSLane::getLastVehicleInformation().

◆ myLeaderInfoTmp

MSLeaderInfo MSLane::myLeaderInfoTmp
mutableprotectedinherited

◆ myLength

◆ myLengthGeometryFactor

const double MSLane::myLengthGeometryFactor
protectedinherited

◆ myLinks

◆ myLock

MFXMutex GUILane::myLock
mutableprivate

◆ myLogicalPredecessorLane

MSLane* MSLane::myLogicalPredecessorLane
mutableprotectedinherited

Definition at line 1239 of file MSLane.h.

Referenced by MSLane::getLogicalPredecessorLane().

◆ myManeuverReservations

VehCont MSLane::myManeuverReservations
protectedinherited

The vehicles which registered maneuvering into the lane within their current action step. This is currently only relevant for sublane simulation, since continuous lanechanging uses the partial vehicle mechanism.

The entering vehicles are inserted at the front of this container and the leaving ones leave from the back.

Definition at line 1202 of file MSLane.h.

Referenced by MSLane::isInsertionSuccess(), MSLane::planMovements(), MSLane::resetManeuverReservation(), MSLane::setManeuverReservation(), MSLane::sortManeuverReservations(), and MSLane::updateLeaderInfo().

◆ myMaxSpeed

double MSLane::myMaxSpeed
protectedinherited

◆ myNeighs

std::vector<std::string> MSLane::myNeighs
protectedinherited

Definition at line 1284 of file MSLane.h.

Referenced by MSLane::addNeigh(), MSLane::getOpposite(), and MSLane::integrateNewVehicle().

◆ myNettoVehicleLengthSum

double MSLane::myNettoVehicleLengthSum
protectedinherited

The current length of all vehicles on this lane, excluding their minGaps.

Definition at line 1251 of file MSLane.h.

Referenced by MSLane::enteredByLaneChange(), MSLane::executeMovements(), MSLane::getNettoOccupancy(), MSLane::incorporateVehicle(), MSLane::integrateNewVehicle(), MSLane::leftByLaneChange(), and MSLane::removeVehicle().

◆ myNumericalID

int MSLane::myNumericalID
protectedinherited

Unique numerical ID (set on reading by netload)

Definition at line 1155 of file MSLane.h.

Referenced by MSLane::getNumericalID().

◆ myOriginalPermissions

SVCPermissions MSLane::myOriginalPermissions
protectedinherited

The original vClass permissions for this lane (before temporary modifications)

Definition at line 1230 of file MSLane.h.

Referenced by MSLane::resetPermissions(), and MSLane::setPermissions().

◆ myParkingVehicles

std::set<const MSVehicle*> MSLane::myParkingVehicles
protectedinherited

◆ myPartialVehicles

VehCont MSLane::myPartialVehicles
protectedinherited

The lane's partial vehicles. This container holds all vehicles that are partially on this lane but which are in myVehicles of another lane. Reasons for partial occupancies include the following.

  • the back is still on this lane during regular movement
  • the vehicle is performing a continuous lane-change maneuver
  • sub-lane simulation where vehicles can freely move laterally among the lanes of an edge

The entering vehicles are inserted at the front of this container and the leaving ones leave from the back.

Definition at line 1186 of file MSLane.h.

Referenced by MSLane::anyVehiclesBegin(), MSLane::anyVehiclesEnd(), MSLane::anyVehiclesUpstreamBegin(), MSLane::detectCollisions(), MSLane::freeInsertion(), MSLane::getBruttoOccupancy(), MSLane::getFirstAnyVehicle(), MSLane::getLastAnyVehicle(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLane::getNettoOccupancy(), MSLane::getPartialBehind(), MSLane::getPartialBeyond(), MSLane::getPartialVehicleNumber(), MSLaneChanger::getRealLeader(), MSLane::getVehicleNumberWithPartials(), MSLane::integrateNewVehicle(), MSLane::isEmpty(), MSLane::isInsertionSuccess(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSLane::AnyVehicleIterator::operator*(), MSLane::planMovements(), MSLane::resetPartialOccupation(), MSLane::setPartialOccupation(), MSLane::sortPartialVehicles(), and MSLane::updateLeaderInfo().

◆ myPermissionChanges

std::map<long long, SVCPermissions> MSLane::myPermissionChanges
protectedinherited

◆ myPermissions

SVCPermissions MSLane::myPermissions
protectedinherited

◆ myQuarterLaneWidth

double GUILane::myQuarterLaneWidth
private

Quarter of lane width, for speed-up.

Definition at line 332 of file GUILane.h.

Referenced by drawDirectionIndicators(), drawGL(), and GUILane().

◆ myRestrictions

const std::map<SUMOVehicleClass, double>* MSLane::myRestrictions
protectedinherited

The vClass speed restrictions for this lane.

Definition at line 1233 of file MSLane.h.

Referenced by MSLane::getVehicleMaxSpeed(), and MSLane::initRestrictions().

◆ myRightmostSublane

int MSLane::myRightmostSublane
protectedinherited

the index of the rightmost sublane of this lane on myEdge

Definition at line 1281 of file MSLane.h.

Referenced by MSLane::getRightmostSublane(), and MSLane::setRightSideOnEdge().

◆ myRightSideOnEdge

double MSLane::myRightSideOnEdge
protectedinherited

the combined width of all lanes with lower index on myEdge

Definition at line 1279 of file MSLane.h.

Referenced by MSLane::getCenterOnEdge(), MSLane::getRightSideOnEdge(), and MSLane::setRightSideOnEdge().

◆ myShape

PositionVector MSLane::myShape
protectedinherited

◆ myShapeColors

std::vector<RGBColor> GUILane::myShapeColors
mutableprivate

The color of the shape parts (cached)

Definition at line 323 of file GUILane.h.

Referenced by drawGL(), GUILane(), and setMultiColor().

◆ myShapeLengths

std::vector<double> GUILane::myShapeLengths
private

The lengths of the shape parts.

Definition at line 320 of file GUILane.h.

Referenced by drawBikeMarkings(), drawDirectionIndicators(), drawGL(), drawMarkings(), getShapeLengths(), and GUILane().

◆ myShapeRotations

std::vector<double> GUILane::myShapeRotations
private

The rotations of the shape parts.

Definition at line 317 of file GUILane.h.

Referenced by drawBikeMarkings(), drawDirectionIndicators(), drawGL(), drawMarkings(), getShapeRotations(), and GUILane().

◆ myShapeSegments

std::vector<int> GUILane::myShapeSegments
private

the meso segment index for each geometry segment

Definition at line 326 of file GUILane.h.

Referenced by drawGL(), GUILane(), and splitAtSegments().

◆ myStopOffsets

std::map<SVCPermissions, double> MSLane::myStopOffsets
protectedinherited

Lane's vClass specific stop offset [m]. The map is either of length 0, which means no special stopOffset was set, or of length 1, where the key is a bitset representing a subset of the SUMOVehicleClass Enum and the value is the offset in meters.

Definition at line 1218 of file MSLane.h.

Referenced by MSLane::getStopOffset(), MSLane::getStopOffsets(), and MSLane::setStopOffsets().

◆ myTmpVehicles

VehCont MSLane::myTmpVehicles
protectedinherited

Container for lane-changing vehicles. After completion of lane-change- process, the containers will be swapped with myVehicles.

Definition at line 1190 of file MSLane.h.

Referenced by MSLane::anyVehiclesBegin(), MSLane::anyVehiclesEnd(), MSLane::anyVehiclesUpstreamBegin(), MSLane::getLeader(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSLane::AnyVehicleIterator::operator*(), MSLaneChanger::ChangeElem::registerHop(), and MSLane::swapAfterLaneChange().

◆ myVehBuffer

VehCont MSLane::myVehBuffer
protectedinherited

Buffer for vehicles that moved from their previous lane onto this one. Integrated after all vehicles executed their moves.

Definition at line 1194 of file MSLane.h.

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

◆ myVehicles

VehCont MSLane::myVehicles
protectedinherited

The lane's vehicles. This container holds all vehicles that have their front (longitudinally) and their center (laterally) on this lane. These are the vehicles that this lane is 'responsibly' for (i.e. when executing movements)

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

Referenced by MSLane::addMoveReminder(), MSLane::anyVehiclesBegin(), MSLane::anyVehiclesEnd(), MSLane::anyVehiclesUpstreamBegin(), MSLane::detectCollisions(), MSLane::empty(), MSLane::executeMovements(), firstWaitingTime(), MSLane::forceVehicleInsertion(), MSLane::freeInsertion(), MSLane::getBruttoOccupancy(), MSLane::getFirstAnyVehicle(), MSLane::getFirstFullVehicle(), MSLane::getLastAnyVehicle(), MSLane::getLastFullVehicle(), MSLane::getLeader(), MSLane::getMeanSpeed(), MSLane::getNettoOccupancy(), MSLane::getVehicleNumber(), MSLane::getVehicleNumberWithPartials(), getVehiclesSecure(), MSLane::getVehiclesSecure(), MSLane::getWaitingSeconds(), MSLane::incorporateVehicle(), MSLane::integrateNewVehicle(), MSLane::isEmpty(), MSLane::isInsertionSuccess(), MSLane::loadState(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSLane::AnyVehicleIterator::operator*(), MSLane::planMovements(), MSLane::removeVehicle(), MSLane::saveState(), MSLane::swapAfterLaneChange(), MSQueueExport::writeLane(), and MSXMLRawOut::writeLane().

◆ myWidth

const double MSLane::myWidth
protectedinherited

◆ TypeNames

StringBijection< GUIGlObjectType > GUIGlObject::TypeNames
staticinherited

associates object types with strings

Definition at line 69 of file GUIGlObject.h.

Referenced by GUIGlObject::createFullName(), and GNESelectorFrame::SelectionOperation::onCmdSave().


The documentation for this class was generated from the following files: