Eclipse SUMO - Simulation of Urban MObility
MSEdge Class Reference

A road/street connecting two junctions. More...

#include <MSEdge.h>

Inheritance diagram for MSEdge:
[legend]
Collaboration diagram for MSEdge:
[legend]

Data Structures

class  by_id_sorter
 Sorts edges by their ids. More...
 
class  transportable_by_position_sorter
 Sorts transportables by their positions. More...
 

Public Types

typedef std::map< std::string, std::string > Map
 parameters map More...
 

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
virtual void addTransportable (MSTransportable *t) const
 
void addWaiting (SUMOVehicle *vehicle) const
 Adds a vehicle to the list of waiting vehicles. More...
 
bool allowsLaneChanging () const
 
void buildLaneChanger ()
 Has to be called after all sucessors and predecessors have been set (after closeBuilding()) More...
 
bool canChangeToOpposite () const
 whether this edge allows changing to the opposite direction edge More...
 
void changeLanes (SUMOTime t) const
 Performs lane changing on this edge. More...
 
void clearParameter ()
 Clears the parameter map. More...
 
void clearState ()
 Remove all transportables before quick-loading state. More...
 
virtual void closeBuilding ()
 
const std::vector< std::string > & getCrossingEdges () const
 Gets the crossed edge ids. More...
 
double getCurrentTravelTime (const double minSpeed=NUMERICAL_EPS) const
 Computes and returns the current travel time for this edge. More...
 
double getDistanceTo (const MSEdge *other, const bool doBoundaryEstimate=false) const
 optimistic air distance heuristic for use in routing More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
std::vector< double > getDoubles (const std::string &key, std::vector< double > defaultValue=std::vector< double >()) const
 Returns the value for a given key converted to a list of doubles. More...
 
const std::string & getID () const
 Returns the id. More...
 
const MSEdgegetInternalFollowingEdge (const MSEdge *followerAfterInternal, SUMOVehicleClass vClass) const
 
double getInternalFollowingLengthTo (const MSEdge *followerAfterInternal, SUMOVehicleClass vClass) const
 returns the length of all internal edges on the junction until reaching the non-internal edge followerAfterInternal. More...
 
double getLength () const
 return the length of the edge More...
 
double getLengthGeometryFactor () const
 return shape.length() / myLength More...
 
double getMeanFriction () const
 get the mean friction over the lanes More...
 
double getMeanSpeed () const
 get the mean speed More...
 
double getMeanSpeedBike () const
 get the mean speed of all bicycles on this edge More...
 
double getMinimumTravelTime (const SUMOVehicle *const veh) const
 returns the minimum travel time for the given vehicle More...
 
const MSEdgegetNormalBefore () const
 if this edge is an internal edge, return its first normal predecessor, otherwise the edge itself More...
 
const MSEdgegetNormalSuccessor () const
 if this edge is an internal edge, return its first normal successor, otherwise the edge itself More...
 
const MSEdgegetOppositeEdge () const
 Returns the opposite direction edge if on exists else a nullptr. More...
 
virtual const std::string getParameter (const std::string &key, const std::string defaultValue="") const
 Returns the value for a given key. More...
 
const Parameterised::MapgetParametersMap () const
 Returns the inner key/value map. More...
 
std::string getParametersStr (const std::string kvsep="=", const std::string sep="|") const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
SVCPermissions getPermissions () const
 Returns the combined permissions of all lanes of this edge. More...
 
RailEdge< MSEdge, SUMOVehicle > * getRailwayRoutingEdge () const
 
ReversedEdge< MSEdge, SUMOVehicle > * getReversedRoutingEdge () const
 
double getRoutingSpeed () const
 Returns the averaged speed used by the routing device. More...
 
double getSpeedLimit () const
 Returns the speed limit of the edge @caution The speed limit of the first lane is retured; should probably be the fastest edge. More...
 
const std::vector< double > getSubLaneSides () const
 Returns the right side offsets of this edge's sublanes. More...
 
double getTimePenalty () const
 
double getVehicleMaxSpeed (const SUMOTrafficObject *const veh) const
 Returns the maximum speed the vehicle may use on this edge. More...
 
SUMOVehiclegetWaitingVehicle (MSTransportable *transportable, const double position) const
 
double getWidth () const
 Returns the edges's width (sum over all lanes) More...
 
bool hasLaneChanger () const
 
bool hasMinorLink () const
 whether any lane has a minor link More...
 
bool hasParameter (const std::string &key) const
 Returns whether the parameter is set. More...
 
bool hasTransientPermissions () const
 
void initialize (const std::vector< MSLane * > *lanes)
 Initialize the edge. More...
 
bool isDelayed () const
 
bool isFringe () const
 return whether this edge is at the fringe of the network More...
 
bool isRoundabout () const
 
virtual bool isSelected () const
 whether this lane is selected in the GUI More...
 
virtual void lock () const
 grant exclusive access to the mesoscopic state More...
 
void markAsRoundabout ()
 
void markDelayed () const
 
void mergeParameters (const Parameterised::Map &mapArg, const std::string separator=" ", bool uniqueValues=true)
 Adds or appends all given parameters from the map. More...
 
 MSEdge (const std::string &id, int numericalID, const SumoXMLEdgeFunc function, const std::string &streetName, const std::string &edgeType, int priority, double distance)
 Constructor. More...
 
bool prohibits (const SUMOVehicle *const vehicle) const
 Returns whether the vehicle (class) is not allowed on the edge. More...
 
void rebuildAllowedLanes (const bool onInit=false)
 
void rebuildAllowedTargets (const bool updateVehicles=true)
 
void recalcCache ()
 Recalculates the cached values. More...
 
virtual void removeTransportable (MSTransportable *t) const
 
void removeWaiting (const SUMOVehicle *vehicle) const
 Removes a vehicle from the list of waiting vehicles. More...
 
bool restricts (const SUMOVehicle *const) const
 Returns whether this edge has restriction parameters forbidding the given vehicle to pass it The restriction mechanism is not implemented yet for the microsim, so it always returns false. More...
 
void setCrossingEdges (const std::vector< std::string > &crossingEdges)
 Sets the crossed edge ids for a crossing edge. More...
 
void setFrictionCoefficient (double val) const
 Sets a new friction coefficient COF for all lanes [later to be (used by TraCI and MSCalibrator)]. More...
 
virtual void setID (const std::string &newID)
 resets the id More...
 
void setMaxSpeed (double val, double jamThreshold=-1)
 Sets a new maximum speed for all lanes (used by TraCI and MSCalibrator) More...
 
virtual void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void setParameters (const Parameterised &params)
 set the inner key/value map in map<string, string> format More...
 
void setParametersStr (const std::string &paramsString, const std::string kvsep="=", const std::string sep="|")
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
virtual void unlock () const
 release exclusive access to the mesoscopic state More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateMesoType ()
 update meso segment parameters More...
 
void updateParameters (const Parameterised::Map &mapArg)
 Adds or updates all given parameters from the map. More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 
virtual ~MSEdge ()
 Destructor. More...
 
Access to the edge's lanes
MSLaneleftLane (const MSLane *const lane) const
 Returns the lane left to the one given, 0 if the given lane is leftmost. More...
 
MSLanerightLane (const MSLane *const lane) const
 Returns the lane right to the one given, 0 if the given lane is rightmost. More...
 
MSLaneparallelLane (const MSLane *const lane, int offset, bool includeOpposite=true) const
 Returns the lane with the given offset parallel to the given lane one or 0 if it does not exist. More...
 
const std::vector< MSLane * > & getLanes () const
 Returns this edge's lanes. More...
 
int getNumLanes () const
 
int getVehicleNumber () const
 return total number of vehicles on this edges lanes or segments More...
 
bool isEmpty () const
 whether this edge has no vehicles More...
 
std::vector< const SUMOVehicle * > getVehicles () const
 return vehicles on this edges lanes or segments More...
 
double getBruttoOccupancy () const
 
double getFlow () const
 return flow based on meanSpead More...
 
double getWaitingSeconds () const
 return accumated waiting time for all vehicles on this edges lanes or segments More...
 
double getOccupancy () const
 return mean occupancy on this edges lanes or segments More...
 
const std::set< MSTransportable *, ComparatorNumericalIdLess > & getPersons () const
 Returns this edge's persons set. More...
 
std::vector< MSTransportable * > getSortedPersons (SUMOTime timestep, bool includeRiding=false) const
 Returns this edge's persons sorted by pos. More...
 
std::vector< MSTransportable * > getSortedContainers (SUMOTime timestep, bool includeRiding=false) const
 Returns this edge's containers sorted by pos. More...
 
const std::vector< MSLane * > * allowedLanes (const MSEdge &destination, SUMOVehicleClass vclass=SVC_IGNORING, bool ignoreTransientPermissions=false) const
 Get the allowed lanes to reach the destination-edge. More...
 
const std::vector< MSLane * > * allowedLanes (SUMOVehicleClass vclass=SVC_IGNORING) const
 Get the allowed lanes for the given vehicle class. More...
 
bool isConnectedTo (const MSEdge &destination, SUMOVehicleClass vclass) const
 
Access to other edge attributes
SumoXMLEdgeFunc getFunction () const
 Returns the edge type (SumoXMLEdgeFunc) More...
 
bool isNormal () const
 return whether this edge is an internal edge More...
 
bool isInternal () const
 return whether this edge is an internal edge More...
 
bool isCrossing () const
 return whether this edge is a pedestrian crossing More...
 
void checkAndRegisterBiDirEdge (const std::string &bidiID="")
 check and register the opposite superposable edge if any More...
 
const MSEdgegetBidiEdge () const
 return opposite superposable/congruent edge, if it exist and 0 else More...
 
bool isWalkingArea () const
 return whether this edge is walking area More...
 
bool isTazConnector () const
 
void setOtherTazConnector (const MSEdge *edge)
 
const MSEdgegetOtherTazConnector () const
 
int getNumericalID () const
 Returns the numerical id of the edge. More...
 
const std::string & getStreetName () const
 Returns the street name of the edge. More...
 
const std::string & getEdgeType () const
 Returns the type of the edge. More...
 
void inferEdgeType ()
 
int getPriority () const
 Returns the priority of the edge. More...
 
double getDistance () const
 Returns the kilometrage/mileage encoding at the start of the edge (negative values encode descending direction) More...
 
double getDistanceAt (double pos) const
 Returns the kilometrage/mileage at the given offset along the edge. More...
 
bool hasDistance () const
 
Access to succeeding/predecessing edges
void addSuccessor (MSEdge *edge, const MSEdge *via=nullptr)
 Adds an edge to the list of edges which may be reached from this edge and to the incoming of the other edge. More...
 
void resetTAZ (MSJunction *junction)
 
int getNumSuccessors () const
 Returns the number of edges that may be reached from this edge. More...
 
const MSEdgeVectorgetSuccessors (SUMOVehicleClass vClass=SVC_IGNORING) const
 Returns the following edges, restricted by vClass. More...
 
const MSConstEdgePairVectorgetViaSuccessors (SUMOVehicleClass vClass=SVC_IGNORING, bool ignoreTransientPermissions=false) const
 Returns the following edges with internal vias, restricted by vClass. More...
 
int getNumPredecessors () const
 Returns the number of edges this edge is connected to. More...
 
const MSEdgeVectorgetPredecessors () const
 
const MSJunctiongetFromJunction () const
 
const MSJunctiongetToJunction () const
 
void setJunctions (MSJunction *from, MSJunction *to)
 
Access to vaporizing interface
bool isVaporizing () const
 Returns whether vehicles on this edge shall be vaporized. More...
 
SUMOTime incVaporization (SUMOTime t)
 Enables vaporization. More...
 
SUMOTime decVaporization (SUMOTime t)
 Disables vaporization. More...
 
Methods releated to vehicle insertion
bool insertVehicle (SUMOVehicle &v, SUMOTime time, const bool checkOnly=false, const bool forceCheck=false) const
 Tries to insert the given vehicle into the network. More...
 
bool validateDepartSpeed (SUMOVehicle &v) const
 check whether the given departSpeed is valid for this edge More...
 
MSLanegetFreeLane (const std::vector< MSLane * > *allowed, const SUMOVehicleClass vclass, double departPos) const
 Finds the emptiest lane allowing the vehicle class. More...
 
MSLanegetDepartLane (MSVehicle &veh) const
 Finds a depart lane for the given vehicle parameters. More...
 
MSLanegetDepartLaneMeso (SUMOVehicle &veh) const
 consider given departLane parameter (only for validating speeds) More...
 
SUMOTime getLastFailedInsertionTime () const
 Returns the last time a vehicle could not be inserted. More...
 
void setLastFailedInsertionTime (SUMOTime time) const
 Sets the last time a vehicle could not be inserted. More...
 

Static Public Member Functions

static bool areAttributesValid (const std::string &value, bool report=false, const std::string kvsep="=", const std::string sep="|")
 check if given string can be parsed to an attributes map "key1=value1|key2=value2|...|keyN=valueN" (used in generic datas) More...
 
static bool areParametersValid (const std::string &value, bool report=false, const std::string kvsep="=", const std::string sep="|")
 check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" More...
 
static void clear ()
 Clears the dictionary. More...
 
static MSEdgedictionary (const std::string &id)
 Returns the MSEdge associated to the key id if it exists, otherwise returns nullptr. More...
 
static bool dictionary (const std::string &id, MSEdge *edge)
 Inserts edge into the static dictionary Returns true if the key id isn't already in the dictionary. Otherwise returns false. More...
 
static MSEdgedictionaryHint (const std::string &id, const int startIdx)
 Returns the MSEdge associated to the key id giving a hint with a numerical id. More...
 
static const MSEdgeVectorgetAllEdges ()
 Returns all edges with a numerical id. More...
 
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 SVCPermissions getMesoPermissions (SVCPermissions p, SVCPermissions ignoreIgnored=0)
 
static const Position getStopPosition (const SUMOVehicleParameter::Stop &stop)
 return the coordinates of the center of the given stop More...
 
static double getTravelTimeAggregated (const MSEdge *const edge, const SUMOVehicle *const veh, double time)
 
static double getTravelTimeStatic (const MSEdge *const edge, const SUMOVehicle *const veh, double time)
 Returns the travel time for the given edge. More...
 
static void insertIDs (std::vector< std::string > &into)
 Inserts IDs of all known edges into the given vector. More...
 
static void setMesoIgnoredVClasses (SVCPermissions ignored)
 
Static parser helper
static void parseEdgesList (const std::string &desc, ConstMSEdgeVector &into, const std::string &rid)
 Parses the given string assuming it contains a list of edge ids divided by spaces. More...
 
static void parseEdgesList (const std::vector< std::string > &desc, ConstMSEdgeVector &into, const std::string &rid)
 Parses the given string vector assuming it edge ids. More...
 

Protected Member Functions

double getDepartPosBound (const MSVehicle &veh, bool upper=true) const
 return upper bound for the depart position on this edge More...
 

Protected Attributes

bool myAmDelayed
 whether this edge had a vehicle with less than max speed on it More...
 
bool myAmFringe
 whether this edge is at the network fringe More...
 
bool myAmRoundabout
 whether this edge belongs to a roundabout More...
 
Boundary myBoundary
 The bounding rectangle of end nodes incoming or outgoing edges for taz connectors or of my own start and end node for normal edges. More...
 
std::map< SUMOVehicleClass, MSEdgeVectormyClassesSuccessorMap
 The successors available for a given vClass. More...
 
std::map< SUMOVehicleClass, MSConstEdgePairVectormyClassesViaSuccessorMap
 The successors available for a given vClass. More...
 
std::set< MSTransportable *, ComparatorNumericalIdLessmyContainers
 Containers on the edge. More...
 
std::vector< std::string > myCrossingEdges
 The crossed edges id for a crossing edge. On not crossing edges it is empty. More...
 
const double myDistance
 the kilometrage/mileage at the start of the edge More...
 
std::string myEdgeType
 the type of the edge (optionally used during network creation) More...
 
double myEmptyTraveltime
 the traveltime on the empty edge (cached value for speedup) More...
 
std::set< int > myFailedInsertionMemory
 A cache for the rejected insertion attempts. Used to assure that no further insertion attempts are made on a lane where an attempt has already failed in the current time step if MSInsertionControl::myEagerInsertionCheck is off. More...
 
MSJunctionmyFromJunction
 the junctions for this edge More...
 
const SumoXMLEdgeFunc myFunction
 the purpose of the edge More...
 
std::string myID
 The name of the object. More...
 
MSLaneChangermyLaneChanger
 This member will do the lane-change. More...
 
std::shared_ptr< const std::vector< MSLane * > > myLanes
 Container for the edge's lane; should be sorted: (right-hand-traffic) the more left the lane, the higher the container-index. More...
 
SUMOTime myLastFailedInsertionTime
 The time of last insertion failure. More...
 
double myLength
 the length of the edge (cached value for speedup) More...
 
const int myNumericalID
 This edge's numerical id. More...
 
std::map< SUMOVehicleClass, MSConstEdgePairVectormyOrigClassesViaSuccessorMap
 
const MSEdgemyOtherTazConnector
 the other taz-connector if this edge isTazConnector, otherwise nullptr More...
 
std::set< MSTransportable *, ComparatorNumericalIdLessmyPersons
 Persons on the edge for drawing and pushbutton. More...
 
MSEdgeVector myPredecessors
 The preceeding edges. More...
 
const int myPriority
 the priority of the edge (used during network creation) More...
 
std::string myStreetName
 the real-world name of this edge (need not be unique) More...
 
std::vector< double > mySublaneSides
 the right side for each sublane on this edge More...
 
MSEdgeVector mySuccessors
 The succeeding edges. More...
 
double myTimePenalty
 flat penalty when computing traveltime More...
 
MSJunctionmyToJunction
 
int myVaporizationRequests
 Vaporizer counter. More...
 
MSConstEdgePairVector myViaSuccessors
 
std::vector< SUMOVehicle * > myWaiting
 List of waiting vehicles. More...
 
double myWidth
 Edge width [m]. More...
 
Storages for allowed lanes (depending on vehicle classes)
AllowedLanesCont myAllowed
 Associative container from vehicle class to allowed-lanes. More...
 
AllowedLanesCont myOrigAllowed
 
AllowedLanesByTarget myAllowedTargets
 From target edge to lanes allowed to be used to reach it. More...
 
AllowedLanesByTarget myOrigAllowedTargets
 
SVCPermissions myMinimumPermissions = SVCAll
 The intersection of lane permissions for this edge. More...
 
SVCPermissions myCombinedPermissions = 0
 The union of lane permissions for this edge. More...
 
SVCPermissions myOriginalMinimumPermissions = SVCAll
 The original intersection of lane permissions for this edge (before temporary modifications) More...
 
SVCPermissions myOriginalCombinedPermissions
 The original union of lane permissions for this edge (before temporary modifications) More...
 
bool myHaveTransientPermissions
 whether transient permission changes were applied to this edge or a predecessor More...
 

Private Types

typedef std::map< const MSEdge *, AllowedLanesContAllowedLanesByTarget
 Succeeding edges (keys) and allowed lanes to reach these edges (values). More...
 
typedef std::vector< std::pair< SVCPermissions, std::shared_ptr< const std::vector< MSLane * > > > > AllowedLanesCont
 "Map" from vehicle class to allowed lanes More...
 

Private Member Functions

void addToAllowed (const SVCPermissions permissions, std::shared_ptr< const std::vector< MSLane * > > allowedLanes, AllowedLanesCont &laneCont) const
 
bool isSuperposable (const MSEdge *other)
 
 MSEdge (const MSEdge &)
 Invalidated copy constructor. More...
 
MSEdgeoperator= (const MSEdge &)=delete
 assignment operator. More...
 
void setBidiLanes ()
 

Static Private Member Functions

static bool isParameterValid (const std::string &value, const std::string &kvsep, const std::string &sep)
 check if given string can be parsed to a parameter of type "key=value" More...
 

Private Attributes

const MSEdgemyBidiEdge
 the oppositing superposable edge More...
 
Parameterised::Map myMap
 The key->value map. More...
 
RailEdge< MSEdge, SUMOVehicle > * myRailwayRoutingEdge = nullptr
 
ReversedEdge< MSEdge, SUMOVehicle > * myReversedRoutingEdge = nullptr
 a reversed version for backward routing More...
 

Friends

class MSLaneChangerSublane
 

Static edge container

typedef std::map< std::string, MSEdge * > DictType
 definition of the static dictionary type More...
 
static DictType myDict
 Static dictionary to associate string-ids with objects. More...
 
static MSEdgeVector myEdges
 Static list of edges. More...
 
static SVCPermissions myMesoIgnoredVClasses
 

Detailed Description

A road/street connecting two junctions.

A single connection between two junctions. Holds lanes which are reponsible for vehicle movements.

Definition at line 77 of file MSEdge.h.

Member Typedef Documentation

◆ AllowedLanesByTarget

typedef std::map<const MSEdge*, AllowedLanesCont> MSEdge::AllowedLanesByTarget
private

Succeeding edges (keys) and allowed lanes to reach these edges (values).

Definition at line 83 of file MSEdge.h.

◆ AllowedLanesCont

typedef std::vector<std::pair<SVCPermissions, std::shared_ptr<const std::vector<MSLane*> > > > MSEdge::AllowedLanesCont
private

"Map" from vehicle class to allowed lanes

Definition at line 80 of file MSEdge.h.

◆ DictType

typedef std::map< std::string, MSEdge* > MSEdge::DictType
protected

definition of the static dictionary type

Definition at line 985 of file MSEdge.h.

◆ Map

typedef std::map<std::string, std::string> Parameterised::Map
inherited

parameters map

Definition at line 45 of file Parameterised.h.

Constructor & Destructor Documentation

◆ MSEdge() [1/2]

MSEdge::MSEdge ( const std::string &  id,
int  numericalID,
const SumoXMLEdgeFunc  function,
const std::string &  streetName,
const std::string &  edgeType,
int  priority,
double  distance 
)

Constructor.

After calling this constructor, the edge is not yet initialised completely. A call to "initialize" with proper values is needed for this.

Parameters
[in]idThe id of the edge
[in]numericalIDThe numerical id (index) of the edge
[in]functionA basic type of the edge
[in]streetNameThe street name for that edge

Definition at line 67 of file MSEdge.cpp.

◆ ~MSEdge()

MSEdge::~MSEdge ( )
virtual

Destructor.

Definition at line 94 of file MSEdge.cpp.

References myLaneChanger, myRailwayRoutingEdge, and myReversedRoutingEdge.

◆ MSEdge() [2/2]

MSEdge::MSEdge ( const MSEdge )
private

Invalidated copy constructor.

Member Function Documentation

◆ addSuccessor()

void MSEdge::addSuccessor ( MSEdge edge,
const MSEdge via = nullptr 
)

Adds an edge to the list of edges which may be reached from this edge and to the incoming of the other edge.

This is mainly used by the taz (district) parsing

Parameters
[in]edgeThe edge to add

Definition at line 1179 of file MSEdge.cpp.

References Boundary::add(), getFromJunction(), MSJunction::getPosition(), getToJunction(), isTazConnector(), myBoundary, myPredecessors, mySuccessors, and myViaSuccessors.

Referenced by NLHandler::addDistrict(), and NLBuilder::build().

Here is the caller graph for this function:

◆ addTo()

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

Adds this object to the given container.

Parameters
[in,filled]cont The container to add this item to

Definition at line 118 of file Named.h.

References Named::StoringVisitor::add().

◆ addToAllowed()

void MSEdge::addToAllowed ( const SVCPermissions  permissions,
std::shared_ptr< const std::vector< MSLane * > >  allowedLanes,
AllowedLanesCont laneCont 
) const
private

Definition at line 295 of file MSEdge.cpp.

References allowedLanes().

Referenced by rebuildAllowedLanes(), and rebuildAllowedTargets().

Here is the caller graph for this function:

◆ addTransportable()

void MSEdge::addTransportable ( MSTransportable t) const
virtual

Reimplemented in GUIEdge.

Definition at line 1124 of file MSEdge.cpp.

References MSTransportable::isPerson(), myContainers, and myPersons.

Referenced by GUIEdge::addTransportable(), MSStageWaiting::loadState(), MSStageWalking::loadState(), MSStageWaiting::proceed(), MSStageDriving::registerWaiting(), MSStageMoving::replaceRoute(), and MSStageMoving::setRouteIndex().

Here is the caller graph for this function:

◆ addWaiting()

void MSEdge::addWaiting ( SUMOVehicle vehicle) const

Adds a vehicle to the list of waiting vehicles.

Definition at line 1373 of file MSEdge.cpp.

References MSGlobals::gNumSimThreads, lock(), and myWaiting.

Referenced by MSVehicleControl::handleTriggeredDepart(), MSVehicle::processNextStop(), and MESegment::receive().

Here is the caller graph for this function:

◆ allowedLanes() [1/2]

const std::vector< MSLane * > * MSEdge::allowedLanes ( const MSEdge destination,
SUMOVehicleClass  vclass = SVC_IGNORING,
bool  ignoreTransientPermissions = false 
) const

Get the allowed lanes to reach the destination-edge.

If there is no such edge, return nullptr. Then you are on the wrong edge.

Parameters
[in]destinationThe edge to reach
[in]vclassThe vehicle class for which this information shall be returned
Returns
The lanes that may be used to reach the given edge, nullptr if no such lanes exist

Definition at line 474 of file MSEdge.cpp.

References myAllowedTargets, myHaveTransientPermissions, and myOrigAllowedTargets.

Referenced by addToAllowed(), MSVehicleTransfer::checkInsertions(), MSLane::executeMovements(), getDepartLane(), getFreeLane(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), MSDevice_Taxi::getStopLane(), getSuccessors(), getViaSuccessors(), isConnectedTo(), MESegment::MESegment(), MSDevice_Bluelight::notifyMove(), MSLane::by_connections_to_sorter::operator()(), rebuildAllowedLanes(), rebuildAllowedTargets(), MSBaseVehicle::reroute(), and MSVehicle::updateBestLanes().

Here is the caller graph for this function:

◆ allowedLanes() [2/2]

const std::vector< MSLane * > * MSEdge::allowedLanes ( SUMOVehicleClass  vclass = SVC_IGNORING) const

Get the allowed lanes for the given vehicle class.

If there is no such edge, return nullptr. Then you are on the wrong edge.

Parameters
[in]vclassThe vehicle class for which this information shall be returned
Returns
The lanes that may be used by the given vclass

Definition at line 489 of file MSEdge.cpp.

References myAllowed, myCombinedPermissions, myLanes, and myMinimumPermissions.

◆ allowsLaneChanging()

bool MSEdge::allowsLaneChanging ( ) const

Definition at line 273 of file MSEdge.cpp.

References MSLink::getState(), MSGlobals::gUsingInternalLanes, isInternal(), LINKSTATE_ALLWAY_STOP, LINKSTATE_DEADEND, LINKSTATE_EQUAL, LINKSTATE_MINOR, LINKSTATE_STOP, and myLanes.

Referenced by buildLaneChanger().

Here is the caller graph for this function:

◆ areAttributesValid()

bool Parameterised::areAttributesValid ( const std::string &  value,
bool  report = false,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
staticinherited

check if given string can be parsed to an attributes map "key1=value1|key2=value2|...|keyN=valueN" (used in generic datas)

Definition at line 219 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::isParameterValid(), TL, and WRITE_WARNINGF.

Referenced by GNEFrameAttributeModules::GenericDataAttributes::areAttributesValid(), GNEEdgeData::isValid(), GNEEdgeRelData::isValid(), and GNETAZRelData::isValid().

Here is the caller graph for this function:

◆ areParametersValid()

bool Parameterised::areParametersValid ( const std::string &  value,
bool  report = false,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
staticinherited

◆ buildLaneChanger()

void MSEdge::buildLaneChanger ( )

Has to be called after all sucessors and predecessors have been set (after closeBuilding())

Definition at line 253 of file MSEdge.cpp.

References allowsLaneChanging(), canChangeToOpposite(), MSGlobals::gLaneChangeDuration, MSGlobals::gLateralResolution, MSGlobals::gUsingInternalLanes, isInternal(), MSLaneChangerSublane, myLaneChanger, and myLanes.

◆ canChangeToOpposite()

bool MSEdge::canChangeToOpposite ( ) const

whether this edge allows changing to the opposite direction edge

Definition at line 1266 of file MSEdge.cpp.

References MSGlobals::gUsingInternalLanes, isInternal(), myLanes, and STRAIGHT.

Referenced by buildLaneChanger(), and MSLCM_SL2015::prepareStep().

Here is the caller graph for this function:

◆ changeLanes()

void MSEdge::changeLanes ( SUMOTime  t) const

Performs lane changing on this edge.

Definition at line 828 of file MSEdge.cpp.

References MSLaneChanger::laneChange(), and myLaneChanger.

Referenced by MSEdgeControl::changeLanes(), and MSLane::changeLanes().

Here is the caller graph for this function:

◆ checkAndRegisterBiDirEdge()

void MSEdge::checkAndRegisterBiDirEdge ( const std::string &  bidiID = "")

check and register the opposite superposable edge if any

Definition at line 1299 of file MSEdge.cpp.

References dictionary(), getFunction(), Named::getID(), MSJunction::getOutgoing(), isSuperposable(), myBidiEdge, myFromJunction, myToJunction, NORMAL, setBidiLanes(), TL, WRITE_ERRORF, and WRITE_WARNINGF.

◆ clear()

void MSEdge::clear ( )
static

Clears the dictionary.

Definition at line 1028 of file MSEdge.cpp.

References myDict, and myEdges.

Referenced by NLBuilder::buildNet(), and MSNet::clearAll().

Here is the caller graph for this function:

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 139 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing(), and GNESingleParametersDialog::onCmdAccept().

Here is the caller graph for this function:

◆ clearState()

void MSEdge::clearState ( )

Remove all transportables before quick-loading state.

Definition at line 1582 of file MSEdge.cpp.

References myContainers, myPersons, and myWaiting.

◆ closeBuilding()

void MSEdge::closeBuilding ( )
virtual
Todo:
Has to be called after all edges were built and all connections were set...; Still, is not very nice

Reimplemented in GUIEdge.

Definition at line 200 of file MSEdge.cpp.

References MSLane::getEdge(), MSLane::getWidth(), MSGlobals::gLateralResolution, myAmFringe, myLanes, myPredecessors, mySublaneSides, mySuccessors, myViaSuccessors, myWidth, MSLeaderInfo::numSublanes(), rebuildAllowedLanes(), recalcCache(), and TURN.

Referenced by GUIEdge::closeBuilding().

Here is the caller graph for this function:

◆ decVaporization()

SUMOTime MSEdge::decVaporization ( SUMOTime  t)

Disables vaporization.

The internal vaporization counter is decreased what disables the vaporization if it was only once enabled. Called from the event handler.

Parameters
[in]tThe current time (unused)
Returns
Time to next call (always 0)
Exceptions
ProcessErrornot thrown by this method, just derived

Definition at line 514 of file MSEdge.cpp.

References myVaporizationRequests.

Referenced by NLTriggerBuilder::buildVaporizer().

Here is the caller graph for this function:

◆ dictionary() [1/2]

MSEdge * MSEdge::dictionary ( const std::string &  id)
static

Returns the MSEdge associated to the key id if it exists, otherwise returns nullptr.

Definition at line 999 of file MSEdge.cpp.

References myDict.

◆ dictionary() [2/2]

bool MSEdge::dictionary ( const std::string &  id,
MSEdge edge 
)
static

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

Definition at line 983 of file MSEdge.cpp.

References getNumericalID(), myDict, and myEdges.

Referenced by LIBSUMO_NAMESPACE::Person::add(), LIBSUMO_NAMESPACE::Route::add(), NLHandler::addConflict(), NLHandler::addConnection(), NLHandler::addDistrict(), NLHandler::addDistrictEdge(), NLHandler::addEdgeLaneMeanData(), GUINet::EdgeFloatTimeLineRetriever_GUI::addEdgeRelWeight(), GUINet::EdgeFloatTimeLineRetriever_GUI::addEdgeWeight(), NLBuilder::EdgeFloatTimeLineRetriever_EdgeEffort::addEdgeWeight(), NLBuilder::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), MSRouteHandler::addRideOrTransport(), NLHandler::addRoundabout(), MSRouteHandler::addStop(), MSBaseVehicle::addStop(), MSRouteHandler::addTranship(), MSRouteHandler::addVehicleStopsToImplicitRoute(), LIBSUMO_NAMESPACE::Person::appendDrivingStage(), NLEdgeControlBuilder::beginEdgeParsing(), NLBuilder::build(), libsumo::Helper::buildStopParameters(), NLTriggerBuilder::buildVaporizer(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), checkAndRegisterBiDirEdge(), NLHandler::closeEdge(), MSRouteHandler::closeRoute(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), dictionaryHint(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), LIBSUMO_NAMESPACE::Simulation::findRoute(), LIBSUMO_NAMESPACE::Edge::getEdge(), libsumo::Helper::getEdge(), NLDetectorBuilder::getEdgeChecking(), libsumo::Helper::getLaneChecking(), MSDevice_Routing::getParameter(), MSDevice_SSM::initEdgeFilter(), MSDevice_FCD::initOnce(), MSBaseVehicle::interpretOppositeStop(), MSPedestrianPushButton::loadPushButtons(), MSDevice_Vehroutes::loadState(), MSDetectorFileOutput::MSDetectorFileOutput(), NLHandler::myEndElement(), MSDevice_FCDReplay::FCDHandler::myStartElement(), MSStateHandler::myStartElement(), MSTriggeredRerouter::myStartElement(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildRerouter(), parseEdgesList(), MSRouteHandler::parseFromViaTo(), MSBaseVehicle::reroute(), MSRouteHandler::retrieveEdge(), LIBSUMO_NAMESPACE::Vehicle::setAdaptedTraveltime(), LIBSUMO_NAMESPACE::Vehicle::setEffort(), and MSDevice_Routing::setParameter().

◆ dictionaryHint()

MSEdge * MSEdge::dictionaryHint ( const std::string &  id,
const int  startIdx 
)
static

Returns the MSEdge associated to the key id giving a hint with a numerical id.

Definition at line 1009 of file MSEdge.cpp.

References dictionary(), Named::getID(), and myEdges.

Referenced by NLHandler::addConnection().

Here is the caller graph for this function:

◆ getAllEdges()

◆ getBidiEdge()

const MSEdge* MSEdge::getBidiEdge ( ) const
inline

return opposite superposable/congruent edge, if it exist and 0 else

Definition at line 279 of file MSEdge.h.

References myBidiEdge.

Referenced by MSRailSignal::DriveWay::buildRoute(), MSVehicle::checkReversal(), GUIEdge::drawGL(), GUILane::drawGL(), MSLane::getFollowersOnConsecutive(), MSLane::handleCollisionBetween(), and MSRailSignal::hasOncomingRailTraffic().

Here is the caller graph for this function:

◆ getBruttoOccupancy()

double MSEdge::getBruttoOccupancy ( ) const

Definition at line 1514 of file MSEdge.cpp.

References MSGlobals::gMesoNet, and myLanes.

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

Here is the caller graph for this function:

◆ getCrossingEdges()

const std::vector<std::string>& MSEdge::getCrossingEdges ( ) const
inline

Gets the crossed edge ids.

Returns
The list of crossed edge ids in a crossing edge or an empty vector

Definition at line 356 of file MSEdge.h.

References myCrossingEdges.

Referenced by MSPedestrianPushButton::loadCrossingEdgeMap().

Here is the caller graph for this function:

◆ getCurrentTravelTime()

double MSEdge::getCurrentTravelTime ( const double  minSpeed = NUMERICAL_EPS) const

Computes and returns the current travel time for this edge.

The mean speed of all lanes is used to compute the travel time. To avoid infinite travel times, the given minimum speed is used.

Parameters
[in]minSpeedThe minimumSpeed to assume if traffic on this edge is stopped
Returns
The current effort (travel time) to pass the edge

Definition at line 967 of file MSEdge.cpp.

References getLength(), getMeanSpeed(), MAX2(), myAmDelayed, and myEmptyTraveltime.

Referenced by MSVehicleTransfer::checkInsertions(), and MSFullExport::writeEdge().

Here is the caller graph for this function:

◆ getDepartLane()

MSLane * MSEdge::getDepartLane ( MSVehicle veh) const

Finds a depart lane for the given vehicle parameters.

Depending on the depart lane procedure a depart lane is chosen. Repeated calls with the same vehicle may return different results if the procedure is "random" or "free". In case no appropriate lane was found, 0 is returned.

Parameters
[in]vehThe vehicle to get the depart lane for
Returns
a possible/chosen depart lane, 0 if no lane can be used

Definition at line 611 of file MSEdge.cpp.

References ALLOWED_FREE, allowedLanes(), MSRoute::begin(), BEST_FREE, BEST_LANE_LOOKAHEAD, DEFAULT, SUMOVehicleParameter::departLane, SUMOVehicleParameter::departLaneProcedure, FIRST_ALLOWED, FREE, MSVehicle::getBestLanes(), getDepartPosBound(), getFreeLane(), MSBaseVehicle::getParameter(), RandHelper::getRandomFrom(), MSBaseVehicle::getRoute(), MSVehicleType::getVehicleClass(), MSBaseVehicle::getVehicleType(), GIVEN, MIN2(), myLanes, RANDOM, MSRoute::size(), and MSVehicle::updateBestLanes().

Referenced by insertVehicle(), and validateDepartSpeed().

Here is the caller graph for this function:

◆ getDepartLaneMeso()

MSLane * MSEdge::getDepartLaneMeso ( SUMOVehicle veh) const

consider given departLane parameter (only for validating speeds)

Definition at line 600 of file MSEdge.cpp.

References SUMOVehicleParameter::departLane, SUMOVehicleParameter::departLaneProcedure, SUMOTrafficObject::getParameter(), MSVehicleType::getVehicleClass(), SUMOTrafficObject::getVehicleType(), GIVEN, and myLanes.

Referenced by validateDepartSpeed().

Here is the caller graph for this function:

◆ getDepartPosBound()

double MSEdge::getDepartPosBound ( const MSVehicle veh,
bool  upper = true 
) const
protected

return upper bound for the depart position on this edge

Definition at line 553 of file MSEdge.cpp.

References BASE, DEFAULT, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, FREE, getLength(), MSVehicleType::getLength(), MSBaseVehicle::getParameter(), MSVehicle::getPositionOnLane(), MSBaseVehicle::getVehicleType(), GIVEN, LAST, MIN2(), myLanes, myLength, RANDOM, and RANDOM_FREE.

Referenced by getDepartLane().

Here is the caller graph for this function:

◆ getDistance()

double MSEdge::getDistance ( ) const
inline

Returns the kilometrage/mileage encoding at the start of the edge (negative values encode descending direction)

Definition at line 332 of file MSEdge.h.

References myDistance.

Referenced by GUILane::getColorValue(), and GUILane::getParameterWindow().

Here is the caller graph for this function:

◆ getDistanceAt()

double MSEdge::getDistanceAt ( double  pos) const

Returns the kilometrage/mileage at the given offset along the edge.

Definition at line 1569 of file MSEdge.cpp.

References myDistance.

Referenced by MSFCDExport::write().

Here is the caller graph for this function:

◆ getDistanceTo()

double MSEdge::getDistanceTo ( const MSEdge other,
const bool  doBoundaryEstimate = false 
) const

optimistic air distance heuristic for use in routing

Parameters
[in]otherThe edge to which the distance shall be returned
[in]doBoundaryEstimatewhether the distance should be estimated by looking at the distance of the bounding boxes
Returns
The distance to the other edge

Definition at line 1069 of file MSEdge.cpp.

References Boundary::distanceTo2D(), getLanes(), isTazConnector(), and myBoundary.

◆ getDouble()

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

◆ getDoubles()

std::vector< double > Parameterised::getDoubles ( const std::string &  key,
std::vector< double >  defaultValue = std::vector<double>() 
) const
inherited

Returns the value for a given key converted to a list of doubles.

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 118 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::myMap, TL, StringUtils::toDouble(), WRITE_WARNING, and WRITE_WARNINGF.

Referenced by EnergyParams::EnergyParams().

Here is the caller graph for this function:

◆ getEdgeType()

const std::string& MSEdge::getEdgeType ( ) const
inline

Returns the type of the edge.

Definition at line 316 of file MSEdge.h.

References myEdgeType.

Referenced by MELoop::buildSegmentsFor(), GUILane::getParameterWindow(), GUIEdge::getTypeParameterWindow(), inferEdgeType(), MSTrafficLightLogic::initMesoTLSPenalties(), MSLane::initRestrictions(), recalcCache(), and MELoop::updateSegmentsForEdge().

Here is the caller graph for this function:

◆ getFlow()

double MSEdge::getFlow ( ) const

return flow based on meanSpead

Note
: may produced incorrect results when jammed

Definition at line 1501 of file MSEdge.cpp.

References MSGlobals::gMesoNet, and myLanes.

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

Here is the caller graph for this function:

◆ getFreeLane()

MSLane * MSEdge::getFreeLane ( const std::vector< MSLane * > *  allowed,
const SUMOVehicleClass  vclass,
double  departPos 
) const

Finds the emptiest lane allowing the vehicle class.

The emptiest lane is the one which vehicle insertion is most likely to succeed.

If there are no vehicles before departPos, then the lane with the largest gap between departPos and the last vehicle is Otheriwise the lane with lowes occupancy is selected If there is more than one, the first according to its index in the lane container is chosen.

If allowed==0, the lanes allowed for the given vehicle class will be used.

Parameters
[in]allowedThe lanes to choose from
[in]vclassThe vehicle class to look for
[in]departPosAn upper bound on vehicle depart position
Returns
the least occupied lane
See also
allowedLanes

Definition at line 521 of file MSEdge.cpp.

References allowedLanes(), MSVehicle::getPositionOnLane(), and myLength.

Referenced by MSVehicleTransfer::checkInsertions(), and getDepartLane().

Here is the caller graph for this function:

◆ getFromJunction()

◆ getFunction()

SumoXMLEdgeFunc MSEdge::getFunction ( ) const
inline

Returns the edge type (SumoXMLEdgeFunc)

Returns
This edge's SumoXMLEdgeFunc
See also
SumoXMLEdgeFunc

Definition at line 255 of file MSEdge.h.

References myFunction.

Referenced by checkAndRegisterBiDirEdge(), and GUIEdge::getColorValue().

Here is the caller graph for this function:

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 74 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_EIDM::_v(), MSCFModel_ACC::_v(), MSCFModel_IDM::_v(), MSCFModel_CACC::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSTransportableControl::abortAnyWaitingForVehicle(), MSLaneChangerSublane::abortLCManeuver(), MSTransportable::abortStage(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToJunctionLeader(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaderDistance(), MSVehicle::adaptToLeaders(), MSVehicle::adaptToOncomingLeader(), MSVehicleTransfer::add(), MSPModel_JuPedSim::add(), MSPModel_Striping::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSTractionSubstation::addChargeValueForOutput(), MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), NBNodeCont::addCluster2Join(), NLHandler::addConflict(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), NIXMLEdgesHandler::addEdge(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLane::addLeaders(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSLaneChangerSublane::addOutsideLeaders(), MSTractionSubstation::addOverheadWireClampToCircuit(), MSTractionSubstation::addOverheadWireInnerSegmentToCircuit(), MSTractionSubstation::addOverheadWireSegmentToCircuit(), MSTriggeredRerouter::addParkValues(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), MSDevice_Taxi::addReservation(), MSDispatch::addReservation(), MSRouteHandler::addRideOrTransport(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), RORouteHandler::addStop(), ROVehicle::addStop(), MSBaseVehicle::addStop(), MSNet::addStoppingPlace(), MSRouteHandler::addTranship(), MSVehicle::addTransportable(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), MSBaseVehicle::allowsBoarding(), MSTransportable::appendStage(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilterLateralDistanceSinglePass(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSDevice_ToC::awarenessRecoveryStep(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), MSVehicle::boardTransportables(), MSVehicle::brakeForOverlap(), NIVisumTL::build(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), MSTransportableDevice_FCDReplay::buildDevices(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), NLDetectorBuilder::buildInductLoop(), NBEdge::buildInnerEdges(), NLTriggerBuilder::buildInnerOverheadWireSegments(), GNETLSEditorFrame::buildInternalLanes(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), NBOwnTLDef::buildNemaPhases(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSPModel_JuPedSim::buildPedestrianNetwork(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), libsumo::Helper::buildStopParameters(), MSDevice_Bluelight::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_FCDReplay::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSDevice_SSM::buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Transportable::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), NEMALogic::calculateInitialPhases170(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSStageDriving::canLeaveVehicle(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLCHelper::canSaveBlockerLength(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), MSCFModel_CC::changeWholePlatoonLane(), MSTLLogicControl::check2Switch(), checkAndRegisterBiDirEdge(), MSLaneChanger::checkChange(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSDevice_ToC::checkDynamicToC(), MSLane::checkFailure(), MSRailSignal::DriveWay::checkFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSE2Collector::checkPositioning(), MSRoute::checkRemoval(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), MEVehicle::checkStop(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSLink::checkWalkingAreaFoe(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), MSDevice_SSM::closeEncounter(), RORouteHandler::closeRouteDistribution(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), MSLCM_SL2015::commitManoeuvre(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), ROJTRRouter::compute(), MSVehicle::computeAngle(), MSDispatch::computeDetourTime(), NBNodeShapeComputer::computeEdgeBoundaries(), MSVehicle::computeFurtherLanes(), MSDevice_SSM::computeGlobalMeasures(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), NBRampsComputer::computeRamps(), RODFNet::computeRoutesFor(), MSLaneChanger::computeSafeOppositeLength(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), MSLCM_LC2013::computeSpeedLat(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), MSLaneChanger::computeSurplusGap(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSRailSignal::DriveWay::conflictLaneOccupied(), NGNet::connect(), MSRailSignal::constraintsAllow(), NEMALogic::constructTimingAndPhaseDefs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), libsumo::Helper::convertCartesianToRoadMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), NBOwnTLDef::correctConflicting(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GNETLSEditorFrame::TLSDefinition::createTLS(), GUINet::createTLWrapper(), MSDevice_Taxi::customerArrived(), NBNodeCont::customTLID(), MSDevice_ToC::deactivateDeliberateLCs(), MSRailSignal::DriveWay::deadlockLaneOccupied(), libsumo::Helper::debugPrint(), MSLCM_SL2015::decideDirection(), MSActuatedTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSVehicleControl::deleteVehicle(), MSDevice_ElecHybrid::deleteVehicleFromCircuit(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSE3Collector::detectorUpdate(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), dictionaryHint(), NBNodeCont::discardTrafficLights(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSDevice_Taxi::dispatchShared(), GUILane::drawGL(), MSDevice_SSM::Encounter::Encounter(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), MSE3Collector::enter(), NEMAPhase::enter(), MSParkingArea::enter(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), MSTransportableControl::erase(), NEMALogic::error_handle_not_set(), METriggeredCalibrator::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), Command_RouteReplacement::execute(), MSDevice_BTreceiver::BTreceiverUpdate::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSCalibrator::execute(), MSPModel_JuPedSim::execute(), MSVehicle::executeFractionalMove(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::Person::filterReservation(), NBLoadedSUMOTLDef::finalChecks(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLaneChanger::findCandidate(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::flushGlobalMeasures(), MSCFModel_CACC::followSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_W99::followSpeed(), NBTrafficLightDefinition::forbids(), MSLaneChanger::foundHilltop(), MSCFModel_EIDM::freeSpeed(), NBNodeCont::generateNodeClusters(), MSDevice_Tripinfo::generateOutput(), MSStopOut::generateOutputForUnfinished(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), MSLaneChanger::getBestLanesOpposite(), NBOwnTLDef::getBestPair(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), LIBSUMO_NAMESPACE::Simulation::getCollisions(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSActuatedTrafficLightLogic::getConditions(), LIBSUMO_NAMESPACE::TrafficLight::getConstraintsByFoe(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), MSCalibrator::getCurrentStateInterval(), NBNodeShapeComputer::getDefaultRadius(), MSLink::getDescription(), MSStop::getDescription(), NBTrafficLightDefinition::getDescription(), MSStageTrip::getDestinationDescription(), GUIPerson::getDestinationEdgeID(), GUIPerson::getDestinationStopID(), MSDevice_SSM::getDetectionRange(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSRailSignal::LinkInfo::getDriveWay(), MSSimpleTrafficLightLogic::getEarliest(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), LIBSUMO_NAMESPACE::RouteProbe::getEdgeID(), MSDevice_SSM::getExtraTime(), MSLane::getFirstVehicleInformation(), MSDevice::getFloatParam(), MSBaseVehicle::getFlowID(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), NBEdge::getID(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSRailSignal::getJunctionLinkID(), LIBSUMO_NAMESPACE::Calibrator::getLaneID(), NEMALogic::getLaneInfoFromNEMAState(), MSParkingArea::getLastFreePos(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSSimpleTrafficLightLogic::getLatest(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSDevice_BTsender::getLocation(), MSDevice_SSM::getMDRAC_PRT(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSCalibrator::getNewVehicleID(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSStageTrip::getOriginDescription(), MSDevice_SSM::getOutputFilename(), MSDevice_ElecHybrid::getOverheadWireSegmentID(), MSOverheadWire::getOverheadWireSegmentName(), MSDevice_ToC::getParameter(), MSActuatedTrafficLightLogic::getParameter(), NEMALogic::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIContainer::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSimpleDriverState::getPerceivedHeadway(), MSSimpleDriverState::getPerceivedSpeedDifference(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), MSBaseVehicle::getPrefixedParameter(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), LIBSUMO_NAMESPACE::Vehicle::getRoadID(), MSLCHelper::getRoundaboutDistBonus(), LIBSUMO_NAMESPACE::Vehicle::getRouteID(), LIBSUMO_NAMESPACE::Calibrator::getRouteProbeID(), MSBaseVehicle::getRouteValidity(), GUIBaseVehicle::getScaleValue(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), LIBSUMO_NAMESPACE::Person::getStage(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSStageWaiting::getStageSummary(), MSStageWalking::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), MSDevice::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), LIBSUMO_NAMESPACE::Vehicle::getTeleportingIDList(), MSDevice::getTimeParam(), MSRailSignal::getTLLinkID(), NIImporter_OpenDrive::getTLSSecure(), MSDevice_ElecHybrid::getTractionSubstationID(), PedestrianEdge< E, L, N, V >::getTravelTime(), MSVehicle::getUpcomingLanesUntil(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), LIBSUMO_NAMESPACE::Person::getVehicle(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), GUIPerson::getVehicleID(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSRailSignalConstraint::getVehID(), MSStageDriving::getWaitingDescription(), getWaitingVehicle(), MSLink::getZipperSpeed(), GNEEdge::GNEEdge(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSRailSignal::hasInsertionConstraint(), MSRailSignal::hasOncomingRailTraffic(), MSBaseVehicle::hasValidRouteStart(), MSVehicle::hasValidRouteStart(), MSBaseVehicle::haveValidStopEdges(), LIBSUMO_NAMESPACE::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSIdling_TaxiStand::idle(), MSLink::ignoreFoe(), MSVehicle::ignoreFoe(), MSVehicle::ignoreRed(), MSVehicle::Influencer::implicitDeltaPosRemote(), NBNode::indirectLeftShape(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), MSCalibrator::init(), NBEdge::init(), MSDelayBasedTrafficLightLogic::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSRailSignal::init(), NEMALogic::init(), MSActuatedTrafficLightLogic::initAttributeOverride(), MSE2Collector::initAuxiliaries(), MESegment::initialise(), MSPModel_JuPedSim::initialize(), MSTrafficLightLogic::initMesoTLSPenalties(), NBOwnTLDef::initNeedsContRelation(), PolygonDynamics::initTrackedPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::insertEdge(), MSCFModel_IDM::insertionFollowSpeed(), MSBaseVehicle::insertStop(), MSLane::insertVehicle(), insertVehicle(), MSPModel_Striping::insertWalkArePaths(), MSLane::integrateNewVehicles(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isAllowed(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSBaseVehicle::isJumping(), MSVehicle::isLeader(), MESegment::isOpen(), MSCFModel_CC::isPlatoonLaneChangeSafe(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), RORoute::isValid(), MSStageDriving::isWaitingFor(), MESegment::jamThresholdForSpeed(), NBNodeCont::joinNodeCluster(), NBNodeCont::joinSameJunctions(), MSVehicle::joinTrainPartFront(), MSAbstractLaneChangeModel::laneChangeOutput(), MSVehicle::lateralDistanceToLane(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSVehicle::leaveLane(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), MSVehicle::loadState(), MSVehicleTransfer::loadState(), MSActuatedTrafficLightLogic::loadState(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), NWWriter_OpenDrive::mapmatchRoadObjects(), MEVehicle::mayProceed(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSDevice_FCDReplay::move(), MSTransportableDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSDevice_ToC::MRMExecutionStep(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSDevice_Taxi::MSDevice_Taxi(), MSDevice_ToC::MSDevice_ToC(), MSE2Collector::MSE2Collector(), MSLCM_LC2013::MSLCM_LC2013(), MSParkingArea::MSParkingArea(), MSSimpleDriverState::MSSimpleDriverState(), MSLCM_SL2015::mustOvertakeStopped(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSStateHandler::myStartElement(), MSCalibrator::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSDevice_ElecHybrid::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_GLOSA::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDevice_ElecHybrid::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDevice_ElecHybrid::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_GLOSA::notifyMove(), MSDevice_SSM::notifyMove(), MSDevice_StationFinder::notifyMove(), MSE2Collector::notifyMove(), MSInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_ToC::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::TLSDefinition::onCmdResetCurrentProgram(), MSVehicle::onRemovalFromNet(), MSLink::opened(), RORouteHandler::openRoute(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), MSEdge::transportable_by_position_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), MSLaneChangerSublane::outputLCStarted(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildOverheadWireSection(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), MSRoutingEngine::patchSpeedForTurns(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSCFModel_CC::performAutoLaneChange(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), PolygonDynamics::PolygonDynamics(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSVehicle::Influencer::postProcessRemoteControl(), MSLCM_SL2015::prepareStep(), MSDevice_Taxi::prepareStop(), MSLCM_SL2015::preventSliding(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSStageDriving::proceed(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MSVehicle::processTraCISpeedControl(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), NBNodeCont::pruneSlipLaneNodes(), MSPModel_Striping::PState::PState(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdge::reduceGeometry(), MSNet::registerCollision(), MSRailSignalControl::registerProtectedDriveway(), MSLink::removeApproaching(), LIBSUMO_NAMESPACE::TrafficLight::removeConstraints(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), MSDispatch::removeReservation(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), NBTrafficLightLogicCont::rename(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::replaceStop(), MSTransportable::replaceVehicleType(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_SSM::requestsTrajectories(), MSDevice_ToC::requestToC(), MSPerson::reroute(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSTransportable::rerouteParkingArea(), MSDevice_ToC::resetDeliberateLCs(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), MSDevice_Bluelight::resetVehicle(), MSLaneChanger::resolveDeadlock(), LIBSUMO_NAMESPACE::Vehicle::resume(), MEVehicle::resumeFromStopping(), MSVehicle::resumeFromStopping(), MSRailSignal::retrieveDriveWay(), NIImporter_OpenDrive::retrieveSignalEdges(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSStageDriving::routeOutput(), MSStageTranship::routeOutput(), MSStageTrip::routeOutput(), MSStageWaiting::routeOutput(), MSStageWalking::routeOutput(), MSLane::safeInsertionSpeed(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSLCM_LC2013::saveBlockerLength(), MSLane::saveState(), MSTransportable::saveState(), MESegment::saveState(), MSDevice::saveState(), MSDevice_Battery::saveState(), MSDevice_Routing::saveState(), MSDevice_Transportable::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), MSSimpleTrafficLightLogic::saveState(), MSStageDriving::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSVehicle::setAngle(), MSLink::setApproaching(), MSVehicle::setApproachingForAllLinks(), MSStageTrip::setArrived(), NBNodeCont::setAsTLControlled(), MSSimpleDriverState::setAwareness(), MSLane::setBidiLane(), setBidiLanes(), NLEdgeControlBuilder::setDefaultStopOffset(), MSBaseVehicle::setDepartAndArrivalEdge(), MSCalibrator::setFlow(), NBEdge::setGeometry(), MSBaseVehicle::setJunctionModelParameter(), MSTransportable::setJunctionModelParameter(), MSAbstractLaneChangeModel::setManeuverDist(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), MSLane::setOpposite(), MSLCM_SL2015::setOwnState(), MSDevice_ToC::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSLane::setPartialOccupation(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingThreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSVehicle::slowDownForSchedule(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSDispatch_TraCI::splitReservation(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSCFModel_EIDM::stopSpeed(), MSStopOut::stopStarted(), MSLane::succLinkSec(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), MSDevice_ToC::switchHolderType(), GNETLSEditorFrame::TLSDefinition::switchProgram(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::ToCPreparationStep(), libsumo::Helper::TransportableStateListener::transportableStateChanged(), TraCIServer::transportableStateChanged(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSTriggeredRerouter::triggerRouting(), MSDevice_ToC::triggerUpwardToC(), MSTransportable::tripInfoOutput(), MSPerson::MSPersonStage_Access::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSPModel_JuPedSim::tryPedestrianInsertion(), MSSOTLTrafficLightLogic::trySwitch(), MSActuatedTrafficLightLogic::trySwitch(), NEMALogic::trySwitch(), MSDevice_SSM::update(), MSSimpleDriverState::update(), PolygonDynamics::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSLCM_SL2015::updateCFRelated(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffset(), MSVehicle::updateDriveItems(), MSRailSignal::updateDriveway(), MSDevice_SSM::updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::updateFurtherLanes(), MSLCM_SL2015::updateGaps(), GNENetHelper::AttributeCarriers::updateJunctionID(), MSDevice_Taxi::updateMove(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSVehicle::Influencer::updateRemoteControlRoute(), MSDispatch::updateReservationFromPos(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateShadowLane(), MSVehicle::updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSDevice_SSM::useGeoCoords(), NEMALogic::validate_timing(), NBNodeTypeComputer::validateRailCrossings(), libsumo::Helper::VehicleStateListener::vehicleStateChanged(), TraCIServer::vehicleStateChanged(), MSDynamicShapeUpdater::vehicleStateChanged(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSInstantInductLoop::write(), NBParking::write(), MSElecHybridExport::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSRailSignalConstraint_Predecessor::write(), MSElecHybridExport::writeAggregated(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSMeanData::writeEdge(), NWWriter_SUMO::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), MSRoute::writeEdgeIDs(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), ROMAAssignments::writeInterval(), NWWriter_SUMO::writeJunction(), MSFullExport::writeLane(), MSQueueExport::writeLane(), MSXMLRawOut::writeLane(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSTractionSubstation::writeOut(), MSDevice_ToC::writeOutput(), MSNet::writeOutput(), MSDevice_Vehroutes::writeOutput(), MSOverheadWire::writeOverheadWireSegmentOutput(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_SUMO::writeRoundabout(), NWWriter_OpenDrive::writeSignals(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_SUMO::writeTrafficLight(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSXMLRawOut::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSXMLRawOut::writeVehicle(), MSAmitranTrajectories::writeVehicle(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), MSLaneChanger::yieldToDeadlockOncoming(), MSLaneChanger::yieldToOppositeWaiting(), MSCalibrator::~MSCalibrator(), MSDevice_Transportable::~MSDevice_Transportable(), MSLaneSpeedTrigger::~MSLaneSpeedTrigger(), MSTriggeredRerouter::~MSTriggeredRerouter(), and RONet::~RONet().

◆ getIDSecure()

template<class T >
static std::string Named::getIDSecure ( const T *  obj,
const std::string &  fallBack = "NULL" 
)
inlinestaticinherited

get an identifier for Named-like object which may be Null

Definition at line 67 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::avoidDeadlock(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSRailSignal::DriveWay::checkFlanks(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), NBOwnTLDef::computeLogicAndConts(), MSRailSignal::DriveWay::conflictLaneOccupied(), NBPTLineCont::constructRoute(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::executeMove(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), MSStopOut::generateOutputForUnfinished(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), LIBSUMO_NAMESPACE::Person::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getOncomingOppositeVehicle(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), MSDevice_SSM::getVehiclesOnJunction(), NBEdgeCont::guessRoundabouts(), MSCFModel_IDM::insertionFollowSpeed(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSDevice_Bluelight::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processNextStop(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSRailSignal::DriveWay::reserve(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), MSTriggeredRerouter::triggerRouting(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSAbstractLaneChangeModel::updateShadowLane(), MSPModel_Striping::PState::walk(), and MSLaneChanger::yieldToDeadlockOncoming().

◆ getInternalFollowingEdge()

const MSEdge * MSEdge::getInternalFollowingEdge ( const MSEdge followerAfterInternal,
SUMOVehicleClass  vClass 
) const
Todo:
extension: inner junctions are not filled

Definition at line 836 of file MSEdge.cpp.

References myLanes.

Referenced by getInternalFollowingLengthTo(), MSVehicle::getNextEdgePtr(), MSVehicle::getPastLanesUntil(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSDevice_Bluelight::notifyMove(), and MSRoute::writeEdgeIDs().

Here is the caller graph for this function:

◆ getInternalFollowingLengthTo()

double MSEdge::getInternalFollowingLengthTo ( const MSEdge followerAfterInternal,
SUMOVehicleClass  vClass 
) const

returns the length of all internal edges on the junction until reaching the non-internal edge followerAfterInternal.

Definition at line 858 of file MSEdge.cpp.

References getInternalFollowingEdge(), getLength(), and isInternal().

Referenced by MSLCM_SL2015::checkStrategicChange().

Here is the caller graph for this function:

◆ getLanes()

const std::vector<MSLane*>& MSEdge::getLanes ( ) const
inline

Returns this edge's lanes.

Returns
This edge's lanes

Definition at line 168 of file MSEdge.h.

References myLanes.

Referenced by MSVehicleTransfer::add(), NLHandler::addConflict(), NLHandler::addConnection(), GUIEdge::addRerouter(), MSRouteHandler::addStop(), MSBaseVehicle::addStop(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilters(), MELoop::buildSegmentsFor(), libsumo::Helper::buildStopParameters(), MSBaseVehicle::calculateArrivalParams(), MSEdgeControl::changeLanes(), MELoop::changeSegment(), MSPerson::checkAccess(), MSLaneChangerSublane::checkChangeOpposite(), MSLink::checkContOff(), MSStageMoving::checkDepartLane(), MSVehicleTransfer::checkInsertions(), GUIEdge::closeTraffic(), MSPModel_NonInteracting::CState::computeDuration(), MSLCM_SL2015::computeSublaneShift(), GUILane::drawGL(), GUILane::drawJunctionChangeProhibitions(), GUILane::drawMarkings(), GUIBaseVehicle::drawOnPos(), MSVehicle::estimateTimeToNextStop(), MSVehicle::executeMove(), libsumo::Helper::findCloserLane(), MEVehicle::getAngle(), MSLaneChanger::getBestLanesOpposite(), GUIMEVehicle::getCenteringBoundary(), MSRoute::getDistanceBetween(), getDistanceTo(), LIBSUMO_NAMESPACE::Vehicle::getDrivingDistance(), MSStage::getEdgeAngle(), GUILane::getEdgeLaneNumber(), MSStage::getEdgePosition(), MSLane::getFollowersOnConsecutive(), libsumo::Helper::getLaneChecking(), getLengthGeometryFactor(), MESegment::getLink(), getMeanSpeed(), MSPModel_Striping::getNextLane(), getOccupancy(), MSLane::getParallelOpposite(), MSCFModel_CC::getParameter(), MSVehicle::getPastLanesUntil(), GUIEdge::getPendingEmits(), MSInsertionControl::getPendingEmits(), GUIContainer::getPosition(), MEVehicle::getPosition(), MSVehicle::getPosition(), MSPModel_NonInteracting::PState::getPosition(), MSVehicle::getPreviousLane(), MEVehicle::getRightSideOnEdge(), MSBaseVehicle::getRNG(), MSTransportable::getRNG(), MSBaseVehicle::getRNGIndex(), MSTransportable::getRNGIndex(), GUIEdge::getSegmentAtPosition(), MEVehicle::getSlope(), MSTransportable::getSlope(), LIBSUMO_NAMESPACE::Person::getSlope(), getSpeedLimit(), GUIEdge::getTotalLength(), MSDevice_SSM::getUpstreamVehicles(), getVehicleMaxSpeed(), getVehicles(), GUIVehicle::getVisualPosition(), getWaitingSeconds(), GUICalibrator::GUICalibrator(), GUITriggeredRerouter::GUITriggeredRerouterEdge::GUITriggeredRerouterEdge(), MSIdling_Stop::idle(), MSVehicle::Influencer::influenceChangeDecision(), MSActuatedTrafficLightLogic::init(), NEMALogic::init(), MSRailSignal::initDriveWays(), GUINet::initGUIStructures(), MSPModel_Striping::initWalkingAreaPaths(), MSBaseVehicle::interpretOppositeStop(), MSCalibrator::invalidJam(), MSPedestrianPushButton::isActiveForEdge(), isEmpty(), GUISUMOViewParent::isSelected(), isSuperposable(), MESegment::MESegment(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSRouteProbe::MSRouteProbe(), GUIMEInductLoop::MyWrapper::MyWrapper(), MSDevice_Bluelight::notifyMove(), parallelLane(), NLTriggerBuilder::parseAndBuildCalibrator(), MSLCM_DK2008::patchSpeed(), MSLCM_SL2015::prepareStep(), TraCIServerAPI_Vehicle::processSet(), MESegment::receive(), MSCalibrator::remainingVehicleCapacity(), LIBSUMO_NAMESPACE::Edge::setAllowedSVCPermissions(), MSStageTrip::setArrived(), setBidiLanes(), GUIEdge::setFunctionalColor(), MSTriggeredRerouter::setPermissions(), GUITriggeredRerouter::shiftProbs(), GUIViewTraffic::showLaneReachability(), LIBSUMO_NAMESPACE::Edge::storeShape(), MSVehicle::updateBestLanes(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MESegment::updatePermissions(), MSFCDExport::write(), MSMeanData::writeEdge(), MSFullExport::writeEdge(), MSQueueExport::writeEdge(), MSXMLRawOut::writeEdge(), MSFCDExport::writeTransportable(), and MEInductLoop::writeXMLOutput().

◆ getLastFailedInsertionTime()

SUMOTime MSEdge::getLastFailedInsertionTime ( ) const
inline

Returns the last time a vehicle could not be inserted.

Returns
The current value

Definition at line 572 of file MSEdge.h.

References myLastFailedInsertionTime.

◆ getLength()

double MSEdge::getLength ( ) const
inline

return the length of the edge

Returns
The edge's length

Definition at line 662 of file MSEdge.h.

References myLength.

Referenced by LIBSUMO_NAMESPACE::Person::add(), MSTriggeredRerouter::addParkValues(), MSRouteHandler::addPersonTrip(), MSRouteHandler::addRideOrTransport(), MSRouteHandler::addStop(), LIBSUMO_NAMESPACE::Person::appendDrivingStage(), libsumo::Helper::applySubscriptionFilters(), MSBaseVehicle::basePos(), NLTriggerBuilder::buildCalibrator(), MELoop::buildSegmentsFor(), MSStageDriving::canLeaveVehicle(), MSPModel_NonInteracting::PState::computeDuration(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSStageDriving::getArrivalPos(), MSRoutingEngine::getAssumedSpeed(), getCurrentTravelTime(), getDepartPosBound(), MSRoute::getDistanceBetween(), MSRailSignal::LinkInfo::getDriveWay(), MSRoutingEngine::getEffort(), MSRoutingEngine::getEffortBike(), getInternalFollowingLengthTo(), LIBSUMO_NAMESPACE::InductionLoop::getIntervalMeanSpeed(), getMeanSpeed(), getMinimumTravelTime(), MSPModel_Striping::getNextLane(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), GUIEdge::getParameterWindow(), NLTriggerBuilder::getPosition(), GUIEdge::getTotalLength(), getTravelTimeAggregated(), MSIdling_RandomCircling::idle(), MSStageDriving::init(), insertVehicle(), MSStageWalking::moveToNextEdge(), libsumo::Helper::moveToXYMap(), MSDevice_Tripinfo::notifyLeave(), MSRouteHandler::parseWalkPositions(), MSRoutingEngine::patchSpeedForTurns(), MSDevice_Taxi::prepareStop(), MSStageDriving::setArrived(), MSStageTrip::setArrived(), MSRoutingEngine::setEdgeTravelTime(), GUIViewTraffic::showLaneReachability(), MELoop::teleportVehicle(), MSTriggeredRerouter::triggerRouting(), MEVehicle::updateDetectors(), and MSMeanData::writeEdge().

◆ getLengthGeometryFactor()

double MSEdge::getLengthGeometryFactor ( ) const

return shape.length() / myLength

Definition at line 1101 of file MSEdge.cpp.

References getLanes(), and myLanes.

◆ getMeanFriction()

double MSEdge::getMeanFriction ( ) const

get the mean friction over the lanes

Definition at line 934 of file MSEdge.cpp.

References myLanes.

Referenced by GUIEdge::getParameterWindow().

Here is the caller graph for this function:

◆ getMeanSpeed()

double MSEdge::getMeanSpeed ( ) const

get the mean speed

Definition at line 893 of file MSEdge.cpp.

References getLanes(), getLength(), getSpeedLimit(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, myBidiEdge, myEmptyTraveltime, and myLanes.

Referenced by GUIEdge::getColorValue(), getCurrentTravelTime(), getMeanSpeedBike(), GUIEdge::getParameterWindow(), GUIEdge::getRelativeSpeed(), and GUIEdge::getScaleValue().

Here is the caller graph for this function:

◆ getMeanSpeedBike()

double MSEdge::getMeanSpeedBike ( ) const

get the mean speed of all bicycles on this edge

Definition at line 947 of file MSEdge.cpp.

References getMeanSpeed(), getSpeedLimit(), MSGlobals::gUseMesoSim, and myLanes.

◆ getMesoPermissions()

SVCPermissions MSEdge::getMesoPermissions ( SVCPermissions  p,
SVCPermissions  ignoreIgnored = 0 
)
static

Definition at line 310 of file MSEdge.cpp.

References myMesoIgnoredVClasses.

Referenced by MESegment::MESegment(), and rebuildAllowedLanes().

Here is the caller graph for this function:

◆ getMinimumTravelTime()

double MSEdge::getMinimumTravelTime ( const SUMOVehicle *const  veh) const
inline

returns the minimum travel time for the given vehicle

Definition at line 473 of file MSEdge.h.

References CONNECTOR, getLength(), getVehicleMaxSpeed(), myEmptyTraveltime, myFunction, myTimePenalty, and MSLaneChanger::veh().

Referenced by MSVehicle::estimateTimeToNextStop(), MSRoutingEngine::getEffort(), MSRoutingEngine::getEffortBike(), and MSNet::getTravelTime().

Here is the caller graph for this function:

◆ getNormalBefore()

const MSEdge * MSEdge::getNormalBefore ( ) const

if this edge is an internal edge, return its first normal predecessor, otherwise the edge itself

Definition at line 873 of file MSEdge.cpp.

References getPredecessors(), MSGlobals::gUsingInternalLanes, and isInternal().

Referenced by MSRouteHandler::addStop(), MSBaseVehicle::addStop(), inferEdgeType(), and LIBSUMO_NAMESPACE::Vehicle::moveTo().

Here is the caller graph for this function:

◆ getNormalSuccessor()

const MSEdge * MSEdge::getNormalSuccessor ( ) const

if this edge is an internal edge, return its first normal successor, otherwise the edge itself

Definition at line 883 of file MSEdge.cpp.

References getSuccessors(), and isInternal().

Referenced by MSRouteHandler::addStop(), MSLaneChanger::getBestLanesOpposite(), MSLane::getNextNormal(), inferEdgeType(), and MSVehicle::joinTrainPartFront().

Here is the caller graph for this function:

◆ getNumericalID()

int MSEdge::getNumericalID ( ) const
inline

Returns the numerical id of the edge.

Returns
This edge's numerical id

Definition at line 303 of file MSEdge.h.

References myNumericalID.

Referenced by MSRoutingEngine::addEdgeTravelTime(), MELoop::buildSegmentsFor(), MSEdgeControl::changeLanes(), MELoop::changeSegment(), dictionary(), GUILane::drawGL(), MSMeanData_Amitran::getEdgeID(), MSRoutingEngine::getEffort(), MSRoutingEngine::getEffortBike(), MELoop::getSegmentForEdge(), MELoop::nextSegment(), MSEdge::by_id_sorter::operator()(), setBidiLanes(), MSRoutingEngine::setEdgeTravelTime(), and MELoop::updateSegmentsForEdge().

Here is the caller graph for this function:

◆ getNumLanes()

int MSEdge::getNumLanes ( ) const
inline

◆ getNumPredecessors()

int MSEdge::getNumPredecessors ( ) const
inline

Returns the number of edges this edge is connected to.

Returns
The number of edges following this edge

Definition at line 398 of file MSEdge.h.

References myPredecessors.

◆ getNumSuccessors()

int MSEdge::getNumSuccessors ( ) const
inline

Returns the number of edges that may be reached from this edge.

Returns
The number of following edges

Definition at line 376 of file MSEdge.h.

References mySuccessors.

Referenced by MELoop::buildSegmentsFor().

Here is the caller graph for this function:

◆ getOccupancy()

double MSEdge::getOccupancy ( ) const

return mean occupancy on this edges lanes or segments

Note
MESegment only tracks brutto occupancy so we compute this from sratch

Definition at line 1479 of file MSEdge.cpp.

References getLanes(), MSBaseVehicle::getLength(), getVehicles(), MSGlobals::gUseMesoSim, myLanes, and myLength.

◆ getOppositeEdge()

const MSEdge * MSEdge::getOppositeEdge ( ) const

Returns the opposite direction edge if on exists else a nullptr.

Definition at line 1276 of file MSEdge.cpp.

References myLanes.

Referenced by MSBaseVehicle::addStop(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilters(), MSVehicle::executeMove(), MSDevice_SSM::findFoeConflictLane(), MSLaneChanger::getBestLanesOpposite(), MSBaseVehicle::interpretOppositeStop(), parallelLane(), and MSVehicle::updateBestLanes().

Here is the caller graph for this function:

◆ getOtherTazConnector()

const MSEdge* MSEdge::getOtherTazConnector ( ) const
inline

Definition at line 296 of file MSEdge.h.

References myOtherTazConnector.

◆ getParameter()

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

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

Reimplemented in NEMALogic, MSSimpleTrafficLightLogic, and MSActuatedTrafficLightLogic.

Definition at line 90 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSPModel_JuPedSim::add(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBEdge::addRestrictedLane(), FareModul::addStop(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), MSVehicleType::check(), MSRailSignal::constraintsAllow(), GUINet::createTLWrapper(), GNEEdge::drawEdgeName(), GNEConnection::drawEdgeValues(), GNEGenericData::drawFilteredAttribute(), GUIEdge::drawGL(), EnergyParams::EnergyParams(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), GUIVehicle::getColorValue(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GNELane::getColorValue(), GUIEdge::getColorValue(), GUILane::getColorValue(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), LIBSUMO_NAMESPACE::TrafficLight::getFutureTripIds(), MSTLLogicControl::WAUTSwitchProcedure::getGSPTime(), RORoutable::getMaxSpeed(), MSDevice_SSM::getMDRAC_PRT(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), GUIBaseVehicle::getOptionalName(), GUITrafficLightLogicWrapper::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSimpleTrafficLightLogic::getParameter(), NEMALogic::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSBaseVehicle::getPrefixedParameter(), GUIBaseVehicle::getScaleValue(), LIBSUMO_NAMESPACE::Vehicle::getStopParameter(), MSDevice::getStringParam(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), MSRailSignalConstraint::getVehID(), MSTriggeredRerouter::getWeight(), MSRailSignal::hasInsertionConstraint(), MSLink::ignoreFoe(), MSSOTLPhasePolicy::init(), MSStageDriving::init(), PushButtonLogic::init(), SigmoidLogic::init(), SUMOVTypeParameter::initRailVisualizationParameters(), NIImporter_OpenStreetMap::insertNodeChecking(), MSAbstractLaneChangeModel::laneChangeOutput(), NWWriter_OpenDrive::mapmatchRoadObjects(), Parameterised::mergeParameters(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSDevice_GLOSA::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), GNEVType::overwriteVType(), NWWriter_OpenDrive::parseTrafficSign(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSDevice_SSM::requestsTrajectories(), MSDevice_Bluelight::resetVehicle(), GNEEdgeData::setColor(), GNEEdgeRelData::setColor(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), NBEdge::setOrigID(), MSVehicle::slowDownForSchedule(), NBEdgeCont::splitAt(), LIBSUMO_NAMESPACE::TrafficLight::swapParameters(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().

◆ getParametersMap()

const Parameterised::Map & Parameterised::getParametersMap ( ) const
inherited

Returns the inner key/value map.

Definition at line 145 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::addCrossing(), NBEdge::addLane(), NBEdge::append(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEGenericData::drawAttribute(), GNEGenericData::drawFilteredAttribute(), NLDetectorBuilder::endE3Detector(), GNEAccess::getACParametersMap(), GNECalibrator::getACParametersMap(), GNEDetector::getACParametersMap(), GNEMultiEntryExitDetector::getACParametersMap(), GNEOverheadWire::getACParametersMap(), GNEParkingSpace::getACParametersMap(), GNERerouter::getACParametersMap(), GNERouteProbe::getACParametersMap(), GNEStoppingPlace::getACParametersMap(), GNETAZ::getACParametersMap(), GNEVaporizer::getACParametersMap(), GNEVariableSpeedSign::getACParametersMap(), GNEDataInterval::getACParametersMap(), GNEDataSet::getACParametersMap(), GNEGenericData::getACParametersMap(), GNEContainer::getACParametersMap(), GNEPerson::getACParametersMap(), GNEPersonTrip::getACParametersMap(), GNERide::getACParametersMap(), GNERoute::getACParametersMap(), GNEStop::getACParametersMap(), GNEStopPlan::getACParametersMap(), GNETranship::getACParametersMap(), GNETransport::getACParametersMap(), GNEVehicle::getACParametersMap(), GNEVType::getACParametersMap(), GNEWalk::getACParametersMap(), GNEConnection::getACParametersMap(), GNECrossing::getACParametersMap(), GNEEdge::getACParametersMap(), GNEEdgeType::getACParametersMap(), GNEJunction::getACParametersMap(), GNELane::getACParametersMap(), GNELaneType::getACParametersMap(), GNEPOI::getACParametersMap(), GNEPoly::getACParametersMap(), MSRailSignalConstraint_Predecessor::getDescription(), NWWriter_OpenDrive::getDividerType(), GUILane::getParameterWindow(), GNESingleParametersDialog::GNESingleParametersDialog(), MSRailCrossing::init(), MSActuatedTrafficLightLogic::init(), MSDevice_Taxi::initDispatch(), MSPModel_JuPedSim::initialize(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::insertNodeChecking(), GNEEdgeData::isGenericDataVisible(), GNEEdgeRelData::isGenericDataVisible(), GNETAZRelData::isGenericDataVisible(), GNEGenericData::isVisibleInspectDeleteSelect(), NBEdge::NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), NBTrafficLightLogic::NBTrafficLightLogic(), GUIParameterTableWindow::numParams(), GNESingleParametersDialog::onCmdReset(), GNEVType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), Parameterised::setParameters(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), GNEEdgeData::writeGenericData(), GNEEdgeRelData::writeGenericData(), and GNETAZRelData::writeGenericData().

◆ getParametersStr()

std::string Parameterised::getParametersStr ( const std::string  kvsep = "=",
const std::string  sep = "|" 
) const
inherited

Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".

Definition at line 151 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by GNEAccess::getAttribute(), GNEBusStop::getAttribute(), GNECalibrator::getAttribute(), GNECalibratorFlow::getAttribute(), GNEChargingStation::getAttribute(), GNEContainerStop::getAttribute(), GNEEntryExitDetector::getAttribute(), GNEInductionLoopDetector::getAttribute(), GNEInstantInductionLoopDetector::getAttribute(), GNELaneAreaDetector::getAttribute(), GNEMultiEntryExitDetector::getAttribute(), GNEOverheadWire::getAttribute(), GNEParkingArea::getAttribute(), GNEParkingSpace::getAttribute(), GNERerouter::getAttribute(), GNERouteProbe::getAttribute(), GNETAZ::getAttribute(), GNETAZSourceSink::getAttribute(), GNETractionSubstation::getAttribute(), GNEVaporizer::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEEdgeData::getAttribute(), GNEEdgeRelData::getAttribute(), GNETAZRelData::getAttribute(), GNEContainer::getAttribute(), GNEPerson::getAttribute(), GNERoute::getAttribute(), GNEStop::getAttribute(), GNEVehicle::getAttribute(), GNEVType::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNEEdgeType::getAttribute(), GNEJunction::getAttribute(), GNELane::getAttribute(), GNELaneType::getAttribute(), GNEPOI::getAttribute(), and GNEPoly::getAttribute().

Here is the caller graph for this function:

◆ getPermissions()

SVCPermissions MSEdge::getPermissions ( ) const
inline

Returns the combined permissions of all lanes of this edge.

Definition at line 626 of file MSEdge.h.

References myCombinedPermissions.

Referenced by MSDevice_Taxi::addReservation(), GUIEdge::closeBuilding(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), GUILane::getColorValue(), getWalking(), MESegment::MESegment(), libsumo::Helper::moveToXYMap(), MSPedestrianPushButton::MSPedestrianPushButton(), MSStageDriving::registerWaiting(), MSStageTrip::setArrived(), and MESegment::updatePermissions().

Here is the caller graph for this function:

◆ getPersons()

const std::set<MSTransportable*, ComparatorNumericalIdLess>& MSEdge::getPersons ( ) const
inline

Returns this edge's persons set.

Avoids the creation of new vector as in getSortedPersons

Returns
This edge's persons.

Definition at line 201 of file MSEdge.h.

References myPersons.

Referenced by MSLCM_LC2013::_wantsChange(), MSLink::checkWalkingAreaFoe(), MSLane::detectCollisions(), MSE2Collector::detectorUpdate(), MSE3Collector::detectorUpdate(), MSInductLoop::detectorUpdate(), MSLane::detectPedestrianJunctionCollision(), LIBSUMO_NAMESPACE::TrafficLight::getServedPersonCount(), MSPedestrianPushButton::isActiveForEdge(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::updateExpectedSublaneSpeeds().

Here is the caller graph for this function:

◆ getPredecessors()

◆ getPriority()

int MSEdge::getPriority ( ) const
inline

Returns the priority of the edge.

Definition at line 325 of file MSEdge.h.

References myPriority.

Referenced by GUILane::getColorValue(), MSRoutingEngine::getEffortExtra(), GUILane::getParameterWindow(), GUILane::getScaleValue(), and MSLane::outgoing_lane_priority_sorter::operator()().

Here is the caller graph for this function:

◆ getRailwayRoutingEdge()

RailEdge<MSEdge, SUMOVehicle>* MSEdge::getRailwayRoutingEdge ( ) const
inline

Definition at line 831 of file MSEdge.h.

References myRailwayRoutingEdge.

◆ getReversedRoutingEdge()

ReversedEdge<MSEdge, SUMOVehicle>* MSEdge::getReversedRoutingEdge ( ) const
inline

Definition at line 824 of file MSEdge.h.

References myReversedRoutingEdge.

◆ getRoutingSpeed()

double MSEdge::getRoutingSpeed ( ) const

Returns the averaged speed used by the routing device.

Definition at line 977 of file MSEdge.cpp.

References MSRoutingEngine::getAssumedSpeed().

Referenced by GUIEdge::getColorValue(), GUILane::getColorValue(), GUIEdge::getParameterWindow(), and GUILane::getParameterWindow().

Here is the caller graph for this function:

◆ getSortedContainers()

std::vector< MSTransportable * > MSEdge::getSortedContainers ( SUMOTime  timestep,
bool  includeRiding = false 
) const

Returns this edge's containers sorted by pos.

Returns
This edge's containers sorted by pos

Definition at line 1160 of file MSEdge.cpp.

References myContainers.

Referenced by MSXMLRawOut::writeEdge().

Here is the caller graph for this function:

◆ getSortedPersons()

std::vector< MSTransportable * > MSEdge::getSortedPersons ( SUMOTime  timestep,
bool  includeRiding = false 
) const

Returns this edge's persons sorted by pos.

Returns
This edge's persons sorted by pos

Definition at line 1142 of file MSEdge.cpp.

References myLanes, and myPersons.

Referenced by MSLane::StoringVisitor::add(), MSLane::detectPedestrianJunctionCollision(), and MSXMLRawOut::writeEdge().

Here is the caller graph for this function:

◆ getSpeedLimit()

double MSEdge::getSpeedLimit ( ) const

Returns the speed limit of the edge @caution The speed limit of the first lane is retured; should probably be the fastest edge.

Returns
The maximum speed allowed on this edge

Definition at line 1094 of file MSEdge.cpp.

References getLanes(), and myLanes.

Referenced by METriggeredCalibrator::execute(), MSVehicle::getFollower(), LIBSUMO_NAMESPACE::InductionLoop::getIntervalMeanSpeed(), getMeanSpeed(), MESegment::getMeanSpeed(), getMeanSpeedBike(), MESegment::getNextInsertionTime(), GUIEdge::getParameterWindow(), MSVehicleControl::getVehicleMeanSpeeds(), METriggeredCalibrator::invalidJam(), MSCalibrator::invalidJam(), recalcCache(), MESegment::recomputeJamThreshold(), MSCalibrator::remainingVehicleCapacity(), GUIViewTraffic::showLaneReachability(), MELoop::teleportVehicle(), validateDepartSpeed(), MSMeanData::writeEdge(), and MEInductLoop::writeXMLOutput().

Here is the caller graph for this function:

◆ getStopPosition()

const Position MSEdge::getStopPosition ( const SUMOVehicleParameter::Stop stop)
static

return the coordinates of the center of the given stop

Definition at line 1088 of file MSEdge.cpp.

References MSLane::dictionary(), SUMOVehicleParameter::Stop::endPos, SUMOVehicleParameter::Stop::lane, and SUMOVehicleParameter::Stop::startPos.

◆ getStreetName()

const std::string& MSEdge::getStreetName ( ) const
inline

Returns the street name of the edge.

Definition at line 310 of file MSEdge.h.

References myStreetName.

Referenced by GUIEdge::drawGL(), GUIEdge::getParameterWindow(), and GUILane::getParameterWindow().

Here is the caller graph for this function:

◆ getSubLaneSides()

const std::vector<double> MSEdge::getSubLaneSides ( ) const
inline

Returns the right side offsets of this edge's sublanes.

Definition at line 638 of file MSEdge.h.

References mySublaneSides.

Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::computeSpeedGain(), GUIVehicle::getLeftSublaneOnEdge(), GUIVehicle::getRightSublaneOnEdge(), and MSLCM_SL2015::prepareStep().

Here is the caller graph for this function:

◆ getSuccessors()

◆ getTimePenalty()

double MSEdge::getTimePenalty ( ) const
inline

Definition at line 483 of file MSEdge.h.

References myTimePenalty.

Referenced by GUIEdge::getParameterWindow(), and GUILane::getParameterWindow().

Here is the caller graph for this function:

◆ getToJunction()

◆ getTravelTimeAggregated()

double MSEdge::getTravelTimeAggregated ( const MSEdge *const  edge,
const SUMOVehicle *const  veh,
double  time 
)
static

◆ getTravelTimeStatic()

static double MSEdge::getTravelTimeStatic ( const MSEdge *const  edge,
const SUMOVehicle *const  veh,
double  time 
)
inlinestatic

Returns the travel time for the given edge.

Parameters
[in]edgeThe edge for which the travel time shall be retrieved
[in]vehThe vehicle for which the travel time on this edge shall be retrieved
[in]timeThe time for which the travel time shall be returned [s]
Returns
The traveltime needed by the given vehicle to pass the edge at the given time

Definition at line 494 of file MSEdge.h.

References MSNet::getInstance(), MSNet::getTravelTime(), and MSLaneChanger::veh().

◆ getVehicleMaxSpeed()

double MSEdge::getVehicleMaxSpeed ( const SUMOTrafficObject *const  veh) const

Returns the maximum speed the vehicle may use on this edge.

@caution Only the first lane is considered

Returns
The maximum velocity on this edge for the given vehicle

Definition at line 1106 of file MSEdge.cpp.

References getLanes(), and myLanes.

Referenced by LIBSUMO_NAMESPACE::Vehicle::getAllowedSpeed(), GUIMEVehicle::getColorValue(), getMinimumTravelTime(), GUIBaseVehicle::getScaleValue(), MSDevice_Transportable::notifyMoveInternal(), MSDevice_Tripinfo::notifyMoveInternal(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), and validateDepartSpeed().

Here is the caller graph for this function:

◆ getVehicleNumber()

int MSEdge::getVehicleNumber ( ) const

return total number of vehicles on this edges lanes or segments

Definition at line 1437 of file MSEdge.cpp.

References getVehicles().

Referenced by GUIEdge::getParameterWindow().

Here is the caller graph for this function:

◆ getVehicles()

std::vector< const SUMOVehicle * > MSEdge::getVehicles ( ) const

return vehicles on this edges lanes or segments

Definition at line 1417 of file MSEdge.cpp.

References getLanes(), MSGlobals::gMesoNet, and MSGlobals::gUseMesoSim.

Referenced by getOccupancy(), and getVehicleNumber().

Here is the caller graph for this function:

◆ getViaSuccessors()

const MSConstEdgePairVector & MSEdge::getViaSuccessors ( SUMOVehicleClass  vClass = SVC_IGNORING,
bool  ignoreTransientPermissions = false 
) const

Returns the following edges with internal vias, restricted by vClass.

Parameters
[in]vClassThe vClass for which to restrict the successors
Returns
The eligible following edges

Definition at line 1224 of file MSEdge.cpp.

References allowedLanes(), CONNECTOR, MSNet::getInstance(), MSGlobals::gNumThreads, lock(), myClassesViaSuccessorMap, myFunction, myHaveTransientPermissions, myOrigClassesViaSuccessorMap, myViaSuccessors, and SVC_IGNORING.

Referenced by GUINet::EdgeFloatTimeLineRetriever_GUI::addEdgeRelWeight(), MSRoute::getDistanceBetween(), and MSRoutingEngine::patchSpeedForTurns().

Here is the caller graph for this function:

◆ getWaitingSeconds()

double MSEdge::getWaitingSeconds ( ) const

return accumated waiting time for all vehicles on this edges lanes or segments

Definition at line 1463 of file MSEdge.cpp.

References getLanes(), MSGlobals::gMesoNet, and MSGlobals::gUseMesoSim.

Referenced by LIBSUMO_NAMESPACE::Edge::getWaitingTime().

Here is the caller graph for this function:

◆ getWaitingVehicle()

SUMOVehicle * MSEdge::getWaitingVehicle ( MSTransportable transportable,
const double  position 
) const

Definition at line 1394 of file MSEdge.cpp.

References CONTAINER_TRIGGERED, Named::getID(), MSGlobals::gNumSimThreads, MSGlobals::gStopTolerance, MSTransportable::isPerson(), MSTransportable::isWaitingFor(), lock(), myWaiting, toString(), TRIGGERED, and WRITE_WARNING.

Referenced by MSStageDriving::proceed().

Here is the caller graph for this function:

◆ getWidth()

double MSEdge::getWidth ( ) const
inline

Returns the edges's width (sum over all lanes)

Returns
This edges's width

Definition at line 633 of file MSEdge.h.

References myWidth.

Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLaneChangerSublane::addOutsideLeaders(), MSVehicle::brakeForOverlap(), MSLCM_SL2015::computeSpeedGain(), GUIBaseVehicle::drawOnPos(), MSLCM_SL2015::getLeftBorder(), MSLCM_SL2015::getVehicleCenter(), MSLCM_SL2015::outsideEdge(), and MSVehicle::planMoveInternal().

Here is the caller graph for this function:

◆ hasDistance()

bool MSEdge::hasDistance ( ) const
inline

Definition at line 340 of file MSEdge.h.

References myDistance.

◆ hasLaneChanger()

bool MSEdge::hasLaneChanger ( ) const
inline

Definition at line 715 of file MSEdge.h.

References myLaneChanger.

Referenced by MSLCM_LC2013::_patchSpeed(), and MSLane::getMeanSpeed().

Here is the caller graph for this function:

◆ hasMinorLink()

bool MSEdge::hasMinorLink ( ) const

whether any lane has a minor link

Definition at line 1286 of file MSEdge.cpp.

References myLanes.

Referenced by MESegment::initSegment().

Here is the caller graph for this function:

◆ hasParameter()

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

Returns whether the parameter is set.

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

Definition at line 84 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by MSStageWalking::activateEntryReminders(), NBEdge::append(), MSVehicleType::build(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), GUINet::createTLWrapper(), EnergyParams::EnergyParams(), MSDevice_SSM::filterByConflictType(), NWWriter_DlrNavteq::getBrunnelType(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice_SSM::getMDRAC_PRT(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), MSStageDriving::init(), SUMOVTypeParameter::initRailVisualizationParameters(), insertVehicle(), NIImporter_OpenStreetMap::load(), NWWriter_OpenDrive::mapmatchRoadObjects(), Parameterised::mergeParameters(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), GNEVType::overwriteVType(), NWWriter_OpenDrive::parseTrafficSign(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), MSVehicle::slowDownForSchedule(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), MSDevice_SSM::writeLanesPositions(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().

Here is the caller graph for this function:

◆ hasTransientPermissions()

bool MSEdge::hasTransientPermissions ( ) const

Definition at line 1576 of file MSEdge.cpp.

References myHaveTransientPermissions.

Referenced by MSBaseVehicle::hasValidRoute().

Here is the caller graph for this function:

◆ incVaporization()

SUMOTime MSEdge::incVaporization ( SUMOTime  t)

Enables vaporization.

The internal vaporization counter is increased enabling the vaporization. Called from the event handler.

Parameters
[in]tThe current time (unused)
Returns
Time to next call (always 0)
Exceptions
ProcessErrornot thrown by this method, just derived

Definition at line 507 of file MSEdge.cpp.

References myVaporizationRequests.

Referenced by NLTriggerBuilder::buildVaporizer().

Here is the caller graph for this function:

◆ inferEdgeType()

◆ initialize()

void MSEdge::initialize ( const std::vector< MSLane * > *  lanes)

Initialize the edge.

Parameters
[in]allowedInformation which edges may be reached from which lanes
[in]lanesList of this edge's lanes

Definition at line 102 of file MSEdge.cpp.

References CONNECTOR, MSGlobals::gLateralResolution, myCombinedPermissions, myFunction, myLanes, mySublaneSides, myWidth, MSLeaderInfo::numSublanes(), and SVCAll.

Referenced by NLHandler::addDistrict(), NLBuilder::build(), and NLEdgeControlBuilder::closeEdge().

Here is the caller graph for this function:

◆ insertIDs()

void MSEdge::insertIDs ( std::vector< std::string > &  into)
static

Inserts IDs of all known edges into the given vector.

Definition at line 1038 of file MSEdge.cpp.

References myDict.

◆ insertVehicle()

bool MSEdge::insertVehicle ( SUMOVehicle v,
SUMOTime  time,
const bool  checkOnly = false,
const bool  forceCheck = false 
) const

Tries to insert the given vehicle into the network.

The procedure for choosing the proper lane is determined, first. In dependence to this, the proper lane is chosen.

Insertion itself is done by calling the chose lane's "insertVehicle" method but only if the checkOnly argument is false. The check needs to be certain only in the negative case (if false is returned, there is no way this vehicle would be inserted).

Parameters
[in]vThe vehicle to insert
[in]timeThe current simulation time
[in]checkOnlyWhether we perform only the check without actually inserting
[in]forceCheckWhether the full insertion check should be run for each pending vehicle or whether insertion on lanes for which an insertion has already a failed should be ignored in the current time step.
Returns
Whether the vehicle could be inserted
See also
MSLane::insertVehicle

Definition at line 711 of file MSEdge.cpp.

References DEFAULT, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, SUMOVehicleParameter::departProcedure, FIRST_ALLOWED, FREE, MSGlobals::gCheckRoutes, MSLane::getBruttoOccupancy(), getDepartLane(), Named::getID(), MSLane::getIndex(), MSNet::getInstance(), getLength(), MSVehicleType::getLengthWithGap(), MESegment::getNextSegment(), SUMOTrafficObject::getParameter(), SUMOVehicle::getRouteValidity(), MELoop::getSegmentForEdge(), SUMOTrafficObject::getVehicleType(), GIVEN, MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, Parameterised::hasParameter(), MESegment::hasSpaceFor(), SUMOVehicleParameter::id, MESegment::initialise(), MSLane::insertVehicle(), isTazConnector(), isVaporizing(), myFailedInsertionMemory, myLanes, myLastFailedInsertionTime, myLength, RandHelper::rand(), RANDOM, RANDOM_FREE, MSBaseVehicle::ROUTE_VALID, SPLIT, time2string(), toString(), validateDepartSpeed(), and WRITE_WARNING.

Referenced by MSInsertionControl::checkCandidates(), MSCalibrator::execute(), and MSInsertionControl::tryInsert().

Here is the caller graph for this function:

◆ isConnectedTo()

bool MSEdge::isConnectedTo ( const MSEdge destination,
SUMOVehicleClass  vclass 
) const
inline

Definition at line 240 of file MSEdge.h.

References allowedLanes().

◆ isCrossing()

◆ isDelayed()

bool MSEdge::isDelayed ( ) const
inline

Definition at line 711 of file MSEdge.h.

References myAmDelayed, and myBidiEdge.

◆ isEmpty()

bool MSEdge::isEmpty ( ) const

whether this edge has no vehicles

more efficient than retrieving vehicle number

Definition at line 1443 of file MSEdge.cpp.

References getLanes(), MSGlobals::gMesoNet, and MSGlobals::gUseMesoSim.

◆ isFringe()

bool MSEdge::isFringe ( ) const
inline

return whether this edge is at the fringe of the network

Definition at line 738 of file MSEdge.h.

References myAmFringe.

Referenced by MSVehicle::planMoveInternal().

Here is the caller graph for this function:

◆ isInternal()

bool MSEdge::isInternal ( ) const
inline

return whether this edge is an internal edge

Definition at line 265 of file MSEdge.h.

References INTERNAL, and myFunction.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLane::addApproachingLane(), GUINet::EdgeFloatTimeLineRetriever_GUI::addEdgeRelWeight(), MSRouteHandler::addStop(), MSBaseVehicle::addStop(), allowsLaneChanging(), MSLane::appropriate(), MSVehicle::brakeForOverlap(), MSSOTLE2Sensors::buildContinueSensior(), buildLaneChanger(), MSSOTLE2Sensors::buildSensorForLane(), canChangeToOpposite(), MSLaneChanger::checkChange(), MSVehicle::checkRewindLinkLanes(), GUILane::drawGL(), MSVehicle::enterLaneAtMove(), libsumo::Helper::findCloserLane(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::getBestLanesContinuation(), MSRoute::getDistanceBetween(), getInternalFollowingLengthTo(), MSLink::getLeaderInfo(), MSPModel_Striping::getNextLane(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), getNormalBefore(), getNormalSuccessor(), GUIEdge::getTotalLength(), MSDevice_SSM::getUpstreamVehicles(), inferEdgeType(), MSLane::isInternal(), MSVehicle::joinTrainPartFront(), MSLink::lastWasContMajor(), MSLink::lastWasContState(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), libsumo::Helper::moveToXYMap(), MSLane::mustCheckJunctionCollisions(), MSDevice_FCDReplay::FCDHandler::myStartElement(), MSDevice_GLOSA::notifyEnter(), MSVehicle::passingMinor(), MSLCM_DK2008::patchSpeed(), MSVehicle::planMoveInternal(), recalcCache(), MSLink::setRequestInformation(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateBestLanes(), MSLCM_DK2008::wantsChangeToLeft(), MSLCM_DK2008::wantsChangeToRight(), and MSRoute::writeEdgeIDs().

◆ isNormal()

bool MSEdge::isNormal ( ) const
inline

return whether this edge is an internal edge

Definition at line 260 of file MSEdge.h.

References myFunction, and NORMAL.

Referenced by MSBaseVehicle::addStop(), MSRailSignal::DriveWay::buildRoute(), MSVehicle::computeFurtherLanes(), MSPModel_JuPedSim::execute(), GUIEdge::getIDs(), MSLane::isNormal(), LIBSUMO_NAMESPACE::Person::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), recalcCache(), MSFullExport::writeEdge(), and MSXMLRawOut::writeEdge().

Here is the caller graph for this function:

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string &  value,
const std::string &  kvsep,
const std::string &  sep 
)
staticprivateinherited

check if given string can be parsed to a parameter of type "key=value"

Definition at line 254 of file Parameterised.cpp.

References StringTokenizer::getVector(), and SUMOXMLDefinitions::isValidParameterKey().

Referenced by Parameterised::areAttributesValid(), and Parameterised::areParametersValid().

Here is the caller graph for this function:

◆ isRoundabout()

bool MSEdge::isRoundabout ( ) const
inline

Definition at line 698 of file MSEdge.h.

References myAmRoundabout.

Referenced by MSVehicle::checkRewindLinkLanes(), MSLCHelper::getRoundaboutDistBonus(), MESegment::limitedControlOverride(), and MSVehicle::processLinkApproaches().

Here is the caller graph for this function:

◆ isSelected()

virtual bool MSEdge::isSelected ( ) const
inlinevirtual

whether this lane is selected in the GUI

Reimplemented in GUIEdge.

Definition at line 743 of file MSEdge.h.

◆ isSuperposable()

bool MSEdge::isSuperposable ( const MSEdge other)
private

Definition at line 1354 of file MSEdge.cpp.

References getLanes(), and myLanes.

Referenced by checkAndRegisterBiDirEdge().

Here is the caller graph for this function:

◆ isTazConnector()

bool MSEdge::isTazConnector ( ) const
inline

Definition at line 288 of file MSEdge.h.

References CONNECTOR, and myFunction.

Referenced by MSPModel_JuPedSim::add(), addSuccessor(), GUIEdge::closeBuilding(), GUIEdge::getBoundary(), GUILane::getColorValue(), getDistanceTo(), MSVehicleControl::handleTriggeredDepart(), insertVehicle(), MSDevice_Routing::preInsertionReroute(), MSBaseVehicle::reroute(), MSStageTrip::setArrived(), and setJunctions().

Here is the caller graph for this function:

◆ isVaporizing()

bool MSEdge::isVaporizing ( ) const
inline

Returns whether vehicles on this edge shall be vaporized.

Returns
Whether no vehicle shall be on this edge

Definition at line 431 of file MSEdge.h.

References myVaporizationRequests.

Referenced by MSVehicle::executeMove(), MSLane::executeMovements(), insertVehicle(), MSVehicle::processLaneAdvances(), MESegment::receive(), and MSInsertionControl::tryInsert().

Here is the caller graph for this function:

◆ isWalkingArea()

◆ leftLane()

MSLane * MSEdge::leftLane ( const MSLane *const  lane) const

Returns the lane left to the one given, 0 if the given lane is leftmost.

Parameters
[in]laneThe lane right to the one to be returned
Returns
The lane left to the given, 0 if no such lane exists
Todo:
This method searches for the given in the container; probably, this could be done faster

Definition at line 445 of file MSEdge.cpp.

References parallelLane().

Referenced by MSDevice_ElecHybrid::notifyMove().

Here is the caller graph for this function:

◆ lock()

virtual void MSEdge::lock ( ) const
inlinevirtual

grant exclusive access to the mesoscopic state

Reimplemented in GUIEdge.

Definition at line 748 of file MSEdge.h.

Referenced by addWaiting(), GUIMEVehicle::getCenteringBoundary(), getSuccessors(), getViaSuccessors(), getWaitingVehicle(), MESegment::receive(), MESegment::removeCar(), and removeWaiting().

Here is the caller graph for this function:

◆ markAsRoundabout()

void MSEdge::markAsRoundabout ( )
inline

Definition at line 702 of file MSEdge.h.

References myAmRoundabout.

Referenced by NLHandler::addRoundabout().

Here is the caller graph for this function:

◆ markDelayed()

void MSEdge::markDelayed ( ) const
inline

Definition at line 706 of file MSEdge.h.

References myAmDelayed.

Referenced by MSLane::incorporateVehicle(), MSLane::integrateNewVehicles(), and MEVehicle::setEventTime().

Here is the caller graph for this function:

◆ mergeParameters()

void Parameterised::mergeParameters ( const Parameterised::Map mapArg,
const std::string  separator = " ",
bool  uniqueValues = true 
)
inherited

Adds or appends all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 65 of file Parameterised.cpp.

References Parameterised::getParameter(), Parameterised::hasParameter(), and Parameterised::setParameter().

Referenced by NBEdge::append().

Here is the caller graph for this function:

◆ operator=()

MSEdge& MSEdge::operator= ( const MSEdge )
privatedelete

assignment operator.

◆ parallelLane()

MSLane * MSEdge::parallelLane ( const MSLane *const  lane,
int  offset,
bool  includeOpposite = true 
) const

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

Parameters
[in]laneThe base lane
[in]offsetThe offset of the result lane
[in]includeOpposteWhether an opposite direction lane may be returned
Todo:
This method searches for the given in the container; probably, this could be done faster

Definition at line 457 of file MSEdge.cpp.

References MSLane::getIndex(), getLanes(), getNumLanes(), getOppositeEdge(), and myLanes.

Referenced by MSLane::getParallelLane(), leftLane(), and rightLane().

Here is the caller graph for this function:

◆ parseEdgesList() [1/2]

void MSEdge::parseEdgesList ( const std::string &  desc,
ConstMSEdgeVector into,
const std::string &  rid 
)
static

Parses the given string assuming it contains a list of edge ids divided by spaces.

Splits the string at spaces, uses polymorph method to generate edge vector.

Parameters
[in]descThe string containing space-separated edge ids
[out]intoThe vector to fill
[in]ridThe id of the route these description belongs to; used for error message generation
Exceptions
ProcessErrorIf one of the strings contained is not a known edge id

Definition at line 1046 of file MSEdge.cpp.

References StringTokenizer::getVector().

Referenced by MSRouteHandler::addTranship(), MSRouteHandler::addWalk(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), MSRouteHandler::openRoute(), MSRouteHandler::parseFromViaTo(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), and LIBSUMO_NAMESPACE::Vehicle::setVia().

Here is the caller graph for this function:

◆ parseEdgesList() [2/2]

void MSEdge::parseEdgesList ( const std::vector< std::string > &  desc,
ConstMSEdgeVector into,
const std::string &  rid 
)
static

Parses the given string vector assuming it edge ids.

Parameters
[in]descThe string vector containing edge ids
[out]intoThe vector to fill
[in]ridThe id of the route these description belongs to; used for error message generation
Exceptions
ProcessErrorIf one of the strings contained is not a known edge id

Definition at line 1054 of file MSEdge.cpp.

References dictionary().

◆ prohibits()

bool MSEdge::prohibits ( const SUMOVehicle *const  vehicle) const
inline

Returns whether the vehicle (class) is not allowed on the edge.

Definition at line 604 of file MSEdge.h.

References SUMOTrafficObject::getVClass(), SUMOTrafficObject::ignoreTransientPermissions(), myCombinedPermissions, and myOriginalCombinedPermissions.

◆ rebuildAllowedLanes()

◆ rebuildAllowedTargets()

void MSEdge::rebuildAllowedTargets ( const bool  updateVehicles = true)

Definition at line 378 of file MSEdge.cpp.

References addToAllowed(), allowedLanes(), myAllowed, myAllowedTargets, myClassesSuccessorMap, myCombinedPermissions, myLanes, myMinimumPermissions, mySuccessors, SUMOVehicleClass_MAX, SVC_IGNORING, and SVC_PRIVATE.

Referenced by rebuildAllowedLanes().

Here is the caller graph for this function:

◆ recalcCache()

◆ removeTransportable()

void MSEdge::removeTransportable ( MSTransportable t) const
virtual

◆ removeWaiting()

void MSEdge::removeWaiting ( const SUMOVehicle vehicle) const

Removes a vehicle from the list of waiting vehicles.

Definition at line 1382 of file MSEdge.cpp.

References MSGlobals::gNumSimThreads, lock(), and myWaiting.

Referenced by MSVehicleControl::handleTriggeredDepart(), MEVehicle::processStop(), and MSVehicle::resumeFromStopping().

Here is the caller graph for this function:

◆ resetTAZ()

void MSEdge::resetTAZ ( MSJunction junction)

Definition at line 177 of file MSEdge.cpp.

References MSJunction::getIncoming(), myPredecessors, and mySuccessors.

Referenced by NLHandler::addDistrict().

Here is the caller graph for this function:

◆ restricts()

bool MSEdge::restricts ( const SUMOVehicle * const  ) const
inline

Returns whether this edge has restriction parameters forbidding the given vehicle to pass it The restriction mechanism is not implemented yet for the microsim, so it always returns false.

Parameters
[in]vehicleThe vehicle for which the information has to be returned
Returns
Whether the vehicle must not enter this edge

Definition at line 621 of file MSEdge.h.

◆ rightLane()

MSLane * MSEdge::rightLane ( const MSLane *const  lane) const

Returns the lane right to the one given, 0 if the given lane is rightmost.

Parameters
[in]laneThe lane left to the one to be returned
Returns
The lane right to the given, 0 if no such lane exists
Todo:
This method searches for the given in the container; probably, this could be done faster

Definition at line 451 of file MSEdge.cpp.

References parallelLane().

Referenced by MSDevice_ElecHybrid::notifyMove().

Here is the caller graph for this function:

◆ setBidiLanes()

void MSEdge::setBidiLanes ( )
private

Definition at line 1329 of file MSEdge.cpp.

References Named::getID(), getLanes(), getNumericalID(), getNumLanes(), MSLane::getShape(), myBidiEdge, myLanes, TL, and WRITE_WARNINGF.

Referenced by checkAndRegisterBiDirEdge().

Here is the caller graph for this function:

◆ setCrossingEdges()

void MSEdge::setCrossingEdges ( const std::vector< std::string > &  crossingEdges)
inline

Sets the crossed edge ids for a crossing edge.

Definition at line 348 of file MSEdge.h.

References myCrossingEdges.

Referenced by NLEdgeControlBuilder::addCrossingEdges().

Here is the caller graph for this function:

◆ setFrictionCoefficient()

void MSEdge::setFrictionCoefficient ( double  val) const

Sets a new friction coefficient COF for all lanes [later to be (used by TraCI and MSCalibrator)].

Parameters
[in]valthe new coefficient in [0..1]

◆ setID()

virtual void Named::setID ( const std::string &  newID)
inlinevirtualinherited

resets the id

Parameters
[in]newIDThe new id of this object

Reimplemented in NBLoadedSUMOTLDef, MSTransportable, and MSBaseVehicle.

Definition at line 82 of file Named.h.

References Named::myID.

Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), NBLoadedSUMOTLDef::setID(), and IntermodalNetwork< E, L, N, V >::splitEdge().

Here is the caller graph for this function:

◆ setJunctions()

void MSEdge::setJunctions ( MSJunction from,
MSJunction to 
)

Definition at line 1255 of file MSEdge.cpp.

References Boundary::add(), MSJunction::getPosition(), isTazConnector(), myBoundary, myFromJunction, and myToJunction.

Referenced by NLHandler::myEndElement().

Here is the caller graph for this function:

◆ setLastFailedInsertionTime()

void MSEdge::setLastFailedInsertionTime ( SUMOTime  time) const
inline

Sets the last time a vehicle could not be inserted.

Parameters
[in]timethe new value

Definition at line 580 of file MSEdge.h.

References myLastFailedInsertionTime.

Referenced by MSInsertionControl::tryInsert().

Here is the caller graph for this function:

◆ setMaxSpeed()

void MSEdge::setMaxSpeed ( double  val,
double  jamThreshold = -1 
)

Sets a new maximum speed for all lanes (used by TraCI and MSCalibrator)

Parameters
[in]valthe new speed in m/s

Definition at line 1113 of file MSEdge.cpp.

References myLanes.

Referenced by METriggeredCalibrator::execute(), and MSCalibrator::execute().

Here is the caller graph for this function:

◆ setMesoIgnoredVClasses()

static void MSEdge::setMesoIgnoredVClasses ( SVCPermissions  ignored)
inlinestatic

Definition at line 793 of file MSEdge.h.

References myMesoIgnoredVClasses.

Referenced by NLEdgeControlBuilder::build().

Here is the caller graph for this function:

◆ setOtherTazConnector()

void MSEdge::setOtherTazConnector ( const MSEdge edge)
inline

Definition at line 292 of file MSEdge.h.

References myOtherTazConnector.

Referenced by NLHandler::addDistrict(), and NLBuilder::build().

Here is the caller graph for this function:

◆ setParameter()

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

Sets a parameter.

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

Reimplemented in NEMALogic, MSSimpleTrafficLightLogic, MSRailSignal, MSActuatedTrafficLightLogic, and MSRailCrossing.

Definition at line 45 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NLHandler::addDistrict(), RONetHandler::addParam(), ShapeHandler::addPOI(), NBOwnTLDef::buildNemaPhases(), MSParkingArea::enter(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::insertNodeChecking(), MSLane::isInsertionSuccess(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NWWriter_OpenDrive::mapmatchRoadObjects(), Parameterised::mergeParameters(), MSStateHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIXMLTrafficLightsHandler::myStartElement(), ShapeHandler::myStartElement(), GNESingleParametersDialog::onCmdAccept(), NBRailwayTopologyAnalyzer::reverseEdges(), GNEVType::setAttribute(), NBEdge::setJunctionPriority(), NIImporter_OpenDrive::setLaneAttributes(), MSRailCrossing::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSRailSignal::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), LIBSUMO_NAMESPACE::Simulation::setParameter(), Parameterised::setParametersStr(), LIBSUMO_NAMESPACE::Vehicle::setStopParameter(), LIBSUMO_NAMESPACE::TrafficLight::swapParameters(), Parameterised::updateParameters(), NWWriter_OpenDrive::writeNetwork(), and NIImporter_OpenDrive::writeRoadObjects().

Here is the caller graph for this function:

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

set the inner key/value map in map<string, string> format

Definition at line 167 of file Parameterised.cpp.

References Parameterised::getParametersMap(), and Parameterised::myMap.

Referenced by MSStageDriving::clone(), MSStageTranship::clone(), MSStageTrip::clone(), MSStageWaiting::clone(), MSStageWalking::clone(), and MSStageTrip::setArrived().

Here is the caller graph for this function:

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString,
const std::string  kvsep = "=",
const std::string  sep = "|" 
)
inherited

set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"

Parameters
[in]paramsStringA serialized key-value map
[in]kvsepThe separater between key and value
[in]sepThe separater between map entries

Definition at line 173 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::myMap, and Parameterised::setParameter().

Referenced by MSDevice_Taxi::initDispatch(), GNEAccess::setAttribute(), GNEBusStop::setAttribute(), GNECalibrator::setAttribute(), GNECalibratorFlow::setAttribute(), GNEChargingStation::setAttribute(), GNEContainerStop::setAttribute(), GNEEntryExitDetector::setAttribute(), GNEInductionLoopDetector::setAttribute(), GNEInstantInductionLoopDetector::setAttribute(), GNELaneAreaDetector::setAttribute(), GNEMultiEntryExitDetector::setAttribute(), GNEOverheadWire::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingSpace::setAttribute(), GNERerouter::setAttribute(), GNERouteProbe::setAttribute(), GNETAZ::setAttribute(), GNETAZSourceSink::setAttribute(), GNETractionSubstation::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNEEdgeData::setAttribute(), GNEEdgeRelData::setAttribute(), GNETAZRelData::setAttribute(), GNEContainer::setAttribute(), GNEPerson::setAttribute(), GNERoute::setAttribute(), GNEStop::setAttribute(), GNEVehicle::setAttribute(), GNEVType::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEEdgeType::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), GNELaneType::setAttribute(), GNEPOI::setAttribute(), and GNEPoly::setAttribute().

Here is the caller graph for this function:

◆ unlock()

virtual void MSEdge::unlock ( ) const
inlinevirtual

release exclusive access to the mesoscopic state

Reimplemented in GUIEdge.

Definition at line 751 of file MSEdge.h.

Referenced by GUIMEVehicle::getCenteringBoundary(), MESegment::receive(), and MESegment::removeCar().

Here is the caller graph for this function:

◆ unsetParameter()

void Parameterised::unsetParameter ( const std::string &  key)
inherited

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 51 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_OpenStreetMap::insertEdge(), MSLane::isInsertionSuccess(), NIImporter_OpenStreetMap::load(), GNEVType::setAttribute(), and LIBSUMO_NAMESPACE::TrafficLight::swapParameters().

Here is the caller graph for this function:

◆ updateMesoType()

void MSEdge::updateMesoType ( )

update meso segment parameters

Definition at line 244 of file MSEdge.cpp.

References MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, myLanes, and MELoop::updateSegmentsForEdge().

◆ updateParameters()

void Parameterised::updateParameters ( const Parameterised::Map mapArg)
inherited

◆ validateDepartSpeed()

◆ writeParams()

void Parameterised::writeParams ( OutputDevice device) const
inherited

write Params in the given outputdevice

Definition at line 188 of file Parameterised.cpp.

References OutputDevice::closeTag(), StringUtils::escapeXML(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().

Referenced by MSStageWaiting::routeOutput(), MSTransportable::routeOutput(), ROPerson::saveAsXML(), ROVehicle::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), MSStop::write(), SUMOVTypeParameter::write(), SUMOVehicleParameter::Stop::write(), NBPTStop::write(), MSRailSignalConstraint_Predecessor::write(), GNEBusStop::writeAdditional(), GNECalibrator::writeAdditional(), GNECalibratorFlow::writeAdditional(), GNEChargingStation::writeAdditional(), GNEContainerStop::writeAdditional(), GNEInductionLoopDetector::writeAdditional(), GNEInstantInductionLoopDetector::writeAdditional(), GNELaneAreaDetector::writeAdditional(), GNEMultiEntryExitDetector::writeAdditional(), GNEOverheadWire::writeAdditional(), GNEParkingArea::writeAdditional(), GNEParkingSpace::writeAdditional(), GNERerouter::writeAdditional(), GNERouteProbe::writeAdditional(), GNETAZ::writeAdditional(), GNETractionSubstation::writeAdditional(), GNEVaporizer::writeAdditional(), GNEVariableSpeedSign::writeAdditional(), NWWriter_SUMO::writeConnection(), GNEContainer::writeDemandElement(), GNEPerson::writeDemandElement(), GNERoute::writeDemandElement(), GNEVehicle::writeDemandElement(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), NWWriter_SUMO::writeTrafficLight(), SUMOPolygon::writeXML(), and PointOfInterest::writeXML().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ MSLaneChangerSublane

friend class MSLaneChangerSublane
friend

Definition at line 87 of file MSEdge.h.

Referenced by buildLaneChanger().

Field Documentation

◆ myAllowed

AllowedLanesCont MSEdge::myAllowed
protected

Associative container from vehicle class to allowed-lanes.

Definition at line 921 of file MSEdge.h.

Referenced by allowedLanes(), rebuildAllowedLanes(), and rebuildAllowedTargets().

◆ myAllowedTargets

AllowedLanesByTarget MSEdge::myAllowedTargets
protected

From target edge to lanes allowed to be used to reach it.

Definition at line 925 of file MSEdge.h.

Referenced by allowedLanes(), rebuildAllowedLanes(), and rebuildAllowedTargets().

◆ myAmDelayed

bool MSEdge::myAmDelayed
mutableprotected

whether this edge had a vehicle with less than max speed on it

Definition at line 970 of file MSEdge.h.

Referenced by getCurrentTravelTime(), isDelayed(), and markDelayed().

◆ myAmFringe

bool MSEdge::myAmFringe
protected

whether this edge is at the network fringe

Definition at line 976 of file MSEdge.h.

Referenced by closeBuilding(), and isFringe().

◆ myAmRoundabout

bool MSEdge::myAmRoundabout
protected

whether this edge belongs to a roundabout

Definition at line 973 of file MSEdge.h.

Referenced by isRoundabout(), and markAsRoundabout().

◆ myBidiEdge

const MSEdge* MSEdge::myBidiEdge
private

the oppositing superposable edge

Definition at line 1025 of file MSEdge.h.

Referenced by checkAndRegisterBiDirEdge(), getBidiEdge(), getMeanSpeed(), isDelayed(), and setBidiLanes().

◆ myBoundary

Boundary MSEdge::myBoundary
protected

The bounding rectangle of end nodes incoming or outgoing edges for taz connectors or of my own start and end node for normal edges.

Definition at line 1009 of file MSEdge.h.

Referenced by addSuccessor(), getDistanceTo(), and setJunctions().

◆ myClassesSuccessorMap

std::map<SUMOVehicleClass, MSEdgeVector> MSEdge::myClassesSuccessorMap
mutableprotected

The successors available for a given vClass.

Definition at line 1002 of file MSEdge.h.

Referenced by getSuccessors(), and rebuildAllowedTargets().

◆ myClassesViaSuccessorMap

std::map<SUMOVehicleClass, MSConstEdgePairVector> MSEdge::myClassesViaSuccessorMap
mutableprotected

The successors available for a given vClass.

Definition at line 1005 of file MSEdge.h.

Referenced by getViaSuccessors(), and rebuildAllowedLanes().

◆ myCombinedPermissions

SVCPermissions MSEdge::myCombinedPermissions = 0
protected

The union of lane permissions for this edge.

Definition at line 931 of file MSEdge.h.

Referenced by allowedLanes(), getPermissions(), initialize(), prohibits(), rebuildAllowedLanes(), and rebuildAllowedTargets().

◆ myContainers

std::set<MSTransportable*, ComparatorNumericalIdLess> MSEdge::myContainers
mutableprotected

Containers on the edge.

Definition at line 915 of file MSEdge.h.

Referenced by addTransportable(), clearState(), GUIEdge::drawGL(), getSortedContainers(), and removeTransportable().

◆ myCrossingEdges

std::vector<std::string> MSEdge::myCrossingEdges
protected

The crossed edges id for a crossing edge. On not crossing edges it is empty.

Definition at line 897 of file MSEdge.h.

Referenced by getCrossingEdges(), and setCrossingEdges().

◆ myDict

MSEdge::DictType MSEdge::myDict
staticprotected

Static dictionary to associate string-ids with objects.

Deprecated:
Move to MSEdgeControl, make non-static

Definition at line 990 of file MSEdge.h.

Referenced by clear(), dictionary(), GUIEdge::getIDs(), GUIEdge::getTotalLength(), and insertIDs().

◆ myDistance

const double MSEdge::myDistance
protected

the kilometrage/mileage at the start of the edge

Definition at line 955 of file MSEdge.h.

Referenced by getDistance(), getDistanceAt(), and hasDistance().

◆ myEdges

MSEdgeVector MSEdge::myEdges
staticprotected

Static list of edges.

Deprecated:
Move to MSEdgeControl, make non-static

Definition at line 995 of file MSEdge.h.

Referenced by clear(), dictionary(), dictionaryHint(), and getAllEdges().

◆ myEdgeType

std::string MSEdge::myEdgeType
protected

the type of the edge (optionally used during network creation)

Definition at line 949 of file MSEdge.h.

Referenced by getEdgeType(), and inferEdgeType().

◆ myEmptyTraveltime

double MSEdge::myEmptyTraveltime
protected

the traveltime on the empty edge (cached value for speedup)

Definition at line 964 of file MSEdge.h.

Referenced by getCurrentTravelTime(), getMeanSpeed(), getMinimumTravelTime(), and recalcCache().

◆ myFailedInsertionMemory

std::set<int> MSEdge::myFailedInsertionMemory
mutableprotected

A cache for the rejected insertion attempts. Used to assure that no further insertion attempts are made on a lane where an attempt has already failed in the current time step if MSInsertionControl::myEagerInsertionCheck is off.

Definition at line 894 of file MSEdge.h.

Referenced by insertVehicle().

◆ myFromJunction

MSJunction* MSEdge::myFromJunction
protected

the junctions for this edge

Definition at line 908 of file MSEdge.h.

Referenced by checkAndRegisterBiDirEdge(), getFromJunction(), and setJunctions().

◆ myFunction

const SumoXMLEdgeFunc MSEdge::myFunction
protected

◆ myHaveTransientPermissions

bool MSEdge::myHaveTransientPermissions
protected

whether transient permission changes were applied to this edge or a predecessor

Definition at line 939 of file MSEdge.h.

Referenced by allowedLanes(), getViaSuccessors(), hasTransientPermissions(), and rebuildAllowedLanes().

◆ myID

std::string Named::myID
protectedinherited

◆ myLaneChanger

MSLaneChanger* MSEdge::myLaneChanger
protected

This member will do the lane-change.

Definition at line 880 of file MSEdge.h.

Referenced by buildLaneChanger(), changeLanes(), hasLaneChanger(), MSLaneChangerSublane::startChangeSublane(), and ~MSEdge().

◆ myLanes

◆ myLastFailedInsertionTime

SUMOTime MSEdge::myLastFailedInsertionTime
mutableprotected

The time of last insertion failure.

Definition at line 889 of file MSEdge.h.

Referenced by getLastFailedInsertionTime(), insertVehicle(), and setLastFailedInsertionTime().

◆ myLength

double MSEdge::myLength
protected

the length of the edge (cached value for speedup)

Definition at line 961 of file MSEdge.h.

Referenced by getDepartPosBound(), getFreeLane(), getLength(), getOccupancy(), insertVehicle(), and recalcCache().

◆ myMap

◆ myMesoIgnoredVClasses

SVCPermissions MSEdge::myMesoIgnoredVClasses
staticprotected

Definition at line 997 of file MSEdge.h.

Referenced by getMesoPermissions(), and setMesoIgnoredVClasses().

◆ myMinimumPermissions

SVCPermissions MSEdge::myMinimumPermissions = SVCAll
protected

The intersection of lane permissions for this edge.

Definition at line 929 of file MSEdge.h.

Referenced by allowedLanes(), rebuildAllowedLanes(), and rebuildAllowedTargets().

◆ myNumericalID

const int MSEdge::myNumericalID
protected

This edge's numerical id.

Definition at line 874 of file MSEdge.h.

Referenced by getNumericalID().

◆ myOrigAllowed

AllowedLanesCont MSEdge::myOrigAllowed
protected

Definition at line 922 of file MSEdge.h.

Referenced by rebuildAllowedLanes().

◆ myOrigAllowedTargets

AllowedLanesByTarget MSEdge::myOrigAllowedTargets
protected

Definition at line 926 of file MSEdge.h.

Referenced by allowedLanes(), and rebuildAllowedLanes().

◆ myOrigClassesViaSuccessorMap

std::map<SUMOVehicleClass, MSConstEdgePairVector> MSEdge::myOrigClassesViaSuccessorMap
mutableprotected

Definition at line 1006 of file MSEdge.h.

Referenced by getViaSuccessors(), and rebuildAllowedLanes().

◆ myOriginalCombinedPermissions

SVCPermissions MSEdge::myOriginalCombinedPermissions
protected

The original union of lane permissions for this edge (before temporary modifications)

Definition at line 936 of file MSEdge.h.

Referenced by prohibits(), and rebuildAllowedLanes().

◆ myOriginalMinimumPermissions

SVCPermissions MSEdge::myOriginalMinimumPermissions = SVCAll
protected

The original intersection of lane permissions for this edge (before temporary modifications)

Definition at line 934 of file MSEdge.h.

Referenced by rebuildAllowedLanes().

◆ myOtherTazConnector

const MSEdge* MSEdge::myOtherTazConnector
protected

the other taz-connector if this edge isTazConnector, otherwise nullptr

Definition at line 943 of file MSEdge.h.

Referenced by getOtherTazConnector(), and setOtherTazConnector().

◆ myPersons

std::set<MSTransportable*, ComparatorNumericalIdLess> MSEdge::myPersons
mutableprotected

Persons on the edge for drawing and pushbutton.

Definition at line 912 of file MSEdge.h.

Referenced by addTransportable(), clearState(), GUIEdge::drawGL(), getPersons(), GUIEdge::getPersonsSecure(), getSortedPersons(), and removeTransportable().

◆ myPredecessors

MSEdgeVector MSEdge::myPredecessors
protected

◆ myPriority

const int MSEdge::myPriority
protected

the priority of the edge (used during network creation)

Definition at line 952 of file MSEdge.h.

Referenced by getPriority().

◆ myRailwayRoutingEdge

RailEdge<MSEdge, SUMOVehicle>* MSEdge::myRailwayRoutingEdge = nullptr
mutableprivate

Definition at line 1029 of file MSEdge.h.

Referenced by getRailwayRoutingEdge(), and ~MSEdge().

◆ myReversedRoutingEdge

ReversedEdge<MSEdge, SUMOVehicle>* MSEdge::myReversedRoutingEdge = nullptr
mutableprivate

a reversed version for backward routing

Definition at line 1028 of file MSEdge.h.

Referenced by getReversedRoutingEdge(), and ~MSEdge().

◆ myStreetName

std::string MSEdge::myStreetName
protected

the real-world name of this edge (need not be unique)

Definition at line 946 of file MSEdge.h.

Referenced by GUIEdge::drawGL(), GUIEdge::getOptionalName(), and getStreetName().

◆ mySublaneSides

std::vector<double> MSEdge::mySublaneSides
protected

the right side for each sublane on this edge

Definition at line 979 of file MSEdge.h.

Referenced by closeBuilding(), getSubLaneSides(), and initialize().

◆ mySuccessors

MSEdgeVector MSEdge::mySuccessors
protected

◆ myTimePenalty

double MSEdge::myTimePenalty
protected

flat penalty when computing traveltime

Definition at line 967 of file MSEdge.h.

Referenced by getMinimumTravelTime(), getTimePenalty(), and recalcCache().

◆ myToJunction

MSJunction* MSEdge::myToJunction
protected

Definition at line 909 of file MSEdge.h.

Referenced by checkAndRegisterBiDirEdge(), getToJunction(), and setJunctions().

◆ myVaporizationRequests

int MSEdge::myVaporizationRequests
protected

Vaporizer counter.

Definition at line 886 of file MSEdge.h.

Referenced by decVaporization(), incVaporization(), and isVaporizing().

◆ myViaSuccessors

MSConstEdgePairVector MSEdge::myViaSuccessors
protected

Definition at line 902 of file MSEdge.h.

Referenced by addSuccessor(), closeBuilding(), and getViaSuccessors().

◆ myWaiting

std::vector<SUMOVehicle*> MSEdge::myWaiting
mutableprotected

List of waiting vehicles.

Definition at line 1012 of file MSEdge.h.

Referenced by addWaiting(), clearState(), getWaitingVehicle(), and removeWaiting().

◆ myWidth

double MSEdge::myWidth
protected

Edge width [m].

Definition at line 958 of file MSEdge.h.

Referenced by closeBuilding(), getWidth(), and initialize().


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