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

enum class  ParameterisedAttrType { STRING , DOUBLE }
 @brie enum for Parameterised type More...
 

Public Member Functions

virtual void addContainer (MSTransportable *container) const
 Add a container to myContainers. More...
 
virtual void addPerson (MSTransportable *p) const
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
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 ()
 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...
 
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...
 
const std::string & getID () const
 Returns the id. More...
 
const MSEdgegetInternalFollowingEdge (const MSEdge *followerAfterInternal) const
 
double getInternalFollowingLengthTo (const MSEdge *followerAfterInternal) 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 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...
 
const std::string getParameter (const std::string &key, const std::string defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
std::string 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 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...
 
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...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
virtual void lock () const
 grant exclusive access to the mesoscopic state More...
 
void markAsRoundabout ()
 
void markDelayed () const
 
 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 ()
 
void rebuildAllowedTargets (const bool updateVehicles=true)
 
void recalcCache ()
 Recalculates the cached values. More...
 
virtual void removeContainer (MSTransportable *container) const
 Remove container from myContainers. More...
 
virtual void removePerson (MSTransportable *p) 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...
 
virtual void setID (const std::string &newID)
 resets the id More...
 
void setMaxSpeed (double val) const
 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 setParametersMap (const std::map< std::string, std::string > &paramsMap)
 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 std::map< std::string, std::string > &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 getVehicleNumber () const
 return total number of vehicles on this edges lanes or segments 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 * > & 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) 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...
 
int getPriority () const
 Returns the priority of the edge. More...
 
double getDistance () const
 Returns the kilometrage/mileage at the start of the edge. More...
 
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...
 
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) 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...
 
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 areParametersValid (const std::string &value, bool report=false, ParameterisedAttrType attrType=ParameterisedAttrType::STRING, 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 exists, otherwise returns 0. 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 int dictSize ()
 Returns the number of edges. 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 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 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 * > myContainers
 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...
 
const MSEdgemyOtherTazConnector
 the other taz-connector if this edge isTazConnector, otherwise nullptr More...
 
std::set< MSTransportable * > myPersons
 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...
 
AllowedLanesByTarget myAllowedTargets
 From target edge to lanes allowed to be used to reach it. More...
 
SVCPermissions myMinimumPermissions = SVCAll
 The intersection of lane permissions for this edge. More...
 
SVCPermissions myCombinedPermissions = 0
 The union of lane permissions for this edge. 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...
 

Static Private Member Functions

static bool isParameterValid (const std::string &value, ParameterisedAttrType attrType, 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

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

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

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 940 of file MSEdge.h.

Member Enumeration Documentation

◆ ParameterisedAttrType

@brie enum for Parameterised type

Enumerator
STRING 

Parameterised accept strings.

DOUBLE 

Parameterised only accept doubles.

Definition at line 43 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 62 of file MSEdge.cpp.

◆ ~MSEdge()

MSEdge::~MSEdge ( )
virtual

Destructor.

Definition at line 88 of file MSEdge.cpp.

References myLaneChanger.

◆ MSEdge() [2/2]

MSEdge::MSEdge ( const MSEdge )
private

Invalidated copy constructor.

Member Function Documentation

◆ addContainer()

virtual void MSEdge::addContainer ( MSTransportable container) const
inlinevirtual

Add a container to myContainers.

Reimplemented in GUIEdge.

Definition at line 662 of file MSEdge.h.

References myContainers.

Referenced by GUIEdge::addContainer(), MSStageWaiting::proceed(), and MSStageDriving::proceed().

Here is the caller graph for this function:

◆ addPerson()

void MSEdge::addPerson ( MSTransportable p) const
virtual

Reimplemented in GUIEdge.

Definition at line 948 of file MSEdge.cpp.

References myPersons.

Referenced by GUIEdge::addPerson(), MSStageWaiting::proceed(), MSStageDriving::proceed(), MSStageMoving::replaceRoute(), and MSStageMoving::setRouteIndex().

Here is the caller graph for this function:

◆ 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 998 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 117 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 235 of file MSEdge.cpp.

References allowedLanes().

Referenced by rebuildAllowedLanes(), and rebuildAllowedTargets().

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 1159 of file MSEdge.cpp.

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

Referenced by MSVehicleControl::addVehicle(), 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 
) 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 366 of file MSEdge.cpp.

References myAllowedTargets.

Referenced by addToAllowed(), MSVehicleTransfer::checkInsertions(), getDepartLane(), getFreeLane(), 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 380 of file MSEdge.cpp.

References myAllowed, myCombinedPermissions, myLanes, and myMinimumPermissions.

◆ allowsLaneChanging()

bool MSEdge::allowsLaneChanging ( ) const

Definition at line 213 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:

◆ areParametersValid()

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

check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN"

Definition at line 217 of file Parameterised.cpp.

References StringTokenizer::getVector(), Parameterised::isParameterValid(), and WRITE_WARNING.

Referenced by GNEAccess::isValid(), GNEBusStop::isValid(), GNECalibrator::isValid(), GNECalibratorFlow::isValid(), GNEChargingStation::isValid(), GNEClosingLaneReroute::isValid(), GNEClosingReroute::isValid(), GNEContainerStop::isValid(), GNEDestProbReroute::isValid(), GNEDetectorE1::isValid(), GNEDetectorE1Instant::isValid(), GNEDetectorE2::isValid(), GNEDetectorE3::isValid(), GNEDetectorEntryExit::isValid(), GNEParkingArea::isValid(), GNEParkingAreaReroute::isValid(), GNEParkingSpace::isValid(), GNEPOI::isValid(), GNEPoly::isValid(), GNERerouter::isValid(), GNERerouterInterval::isValid(), GNERouteProbe::isValid(), GNERouteProbReroute::isValid(), GNETAZ::isValid(), GNETAZSourceSink::isValid(), GNEVaporizer::isValid(), GNEVariableSpeedSign::isValid(), GNEVariableSpeedSignStep::isValid(), GNEEdgeData::isValid(), GNEEdgeRelData::isValid(), GNETAZRelData::isValid(), GNEPerson::isValid(), GNEPersonTrip::isValid(), GNERide::isValid(), GNERoute::isValid(), GNEVehicle::isValid(), GNEVehicleType::isValid(), GNEWalk::isValid(), GNEConnection::isValid(), GNECrossing::isValid(), GNEEdge::isValid(), GNEEdgeType::isValid(), GNEJunction::isValid(), GNELane::isValid(), GNELaneType::isValid(), GNEInspectorFrame::ParametersEditorInspector::onCmdSetParameters(), and GNEFrameAttributesModuls::ParametersEditorCreator::onCmdSetParameters().

Here is the caller graph for this function:

◆ buildLaneChanger()

void MSEdge::buildLaneChanger ( )

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

Definition at line 195 of file MSEdge.cpp.

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

◆ canChangeToOpposite()

bool MSEdge::canChangeToOpposite ( )

whether this edge allows changing to the opposite direction edge

Definition at line 1084 of file MSEdge.cpp.

References isInternal(), myLanes, and STRAIGHT.

Referenced by buildLaneChanger().

Here is the caller graph for this function:

◆ changeLanes()

void MSEdge::changeLanes ( SUMOTime  t) const

Performs lane changing on this edge.

Definition at line 682 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 1115 of file MSEdge.cpp.

References dictionary(), getFunction(), Named::getID(), MSJunction::getOutgoing(), isSuperposable(), myBidiEdge, myFromJunction, myToJunction, NORMAL, WRITE_ERROR, and WRITE_WARNING.

◆ clear()

void MSEdge::clear ( )
static

Clears the dictionary.

Definition at line 853 of file MSEdge.cpp.

References myDict, and myEdges.

Referenced by MSNet::clearAll().

Here is the caller graph for this function:

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 140 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::beginEdgeParsing(), and GNERouteHandler::closeRoute().

Here is the caller graph for this function:

◆ 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 147 of file MSEdge.cpp.

References MELoop::buildSegmentsFor(), MSLane::getEdge(), OptionsCont::getOptions(), MSGlobals::gMesoNet, MSGlobals::gUseMesoSim, myAmFringe, myLanes, myPredecessors, mySuccessors, myViaSuccessors, 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 405 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 exists, otherwise returns 0.

Definition at line 830 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 814 of file MSEdge.cpp.

References getNumericalID(), myDict, and myEdges.

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

Here is the caller graph for this function:

◆ dictSize()

int MSEdge::dictSize ( )
static

Returns the number of edges.

Definition at line 841 of file MSEdge.cpp.

References myDict.

Referenced by MSNet::clearState(), and MSStateHandler::saveState().

Here is the caller graph for this function:

◆ getAllEdges()

const MSEdgeVector & MSEdge::getAllEdges ( )
static

◆ getBidiEdge()

const MSEdge* MSEdge::getBidiEdge ( ) const
inline

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

Definition at line 270 of file MSEdge.h.

References myBidiEdge.

Referenced by MSRailSignal::DriveWay::buildRoute(), MSVehicle::checkReversal(), MSLane::detectCollisions(), GUIEdge::drawGL(), GUILane::drawGL(), MSLane::getBidiLane(), GUILane::getParameterWindow(), MSLane::handleCollisionBetween(), MSRailSignal::hasOncomingRailTraffic(), and MSLane::isInsertionSuccess().

Here is the caller graph for this function:

◆ getBruttoOccupancy()

double MSEdge::getBruttoOccupancy ( ) const

Definition at line 1274 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 335 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 798 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 488 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().

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 444 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 at the start of the edge.

Definition at line 319 of file MSEdge.h.

References myDistance.

Referenced by GUILane::getColorValue(), GUILane::getParameterWindow(), and 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 894 of file MSEdge.cpp.

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

◆ getDouble()

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

◆ getEdgeType()

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

Returns the type of the edge.

Definition at line 307 of file MSEdge.h.

References myEdgeType.

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

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 1264 of file MSEdge.cpp.

References MSGlobals::gMesoNet.

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 412 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 246 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 73 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::_patchSpeed(), MSLCM_SL2015::_patchSpeed(), MSCFModel_ACC::_v(), MSCFModel_CACC::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSTransportableControl::abortAnyWaitingForVehicle(), MSLaneChangerSublane::abortLCManeuver(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSVehicleTransfer::add(), MSPModel_Striping::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), NBNodeCont::addCluster2Join(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLCM_SL2015::addLCSpeedAdvice(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), MSTractionSubstation::addOverheadWireClampToCircuit(), MSTractionSubstation::addOverheadWireInnerSegmentToCircuit(), MSTractionSubstation::addOverheadWireSegmentToCircuit(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), MSDispatch::addReservation(), MSRouteHandler::addRide(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), RORouteHandler::addStop(), ROVehicle::addStop(), MSBaseVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTransportable(), AGActivityTripWriter::addTrip(), MSRouteHandler::addVehicleStopsToImplicitRoute(), NIXMLConnectionsHandler::addWalkingArea(), MSTransportable::appendStage(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilterLateralDistanceSinglePass(), libsumo::Helper::applySubscriptionFilters(), MSDevice_ToC::awarenessRecoveryStep(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), MSVehicle::boardTransportables(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), MSTransportableDevice_Routing::buildDevices(), MSTransportableDevice_FCD::buildDevices(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), NBEdge::buildInnerEdges(), NLTriggerBuilder::buildInnerOverheadWireSegments(), GNETLSEditorFrame::buildInternalLanes(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), LIBSUMO_NAMESPACE::Vehicle::buildStopParameters(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_BTreceiver::buildVehicleDevices(), MSDevice_BTsender::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Emissions::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSDevice_SSM::buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Transportable::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLCM_SL2015::changed(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), MSTLLogicControl::check2Switch(), checkAndRegisterBiDirEdge(), MSLaneChanger::checkChange(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSDevice_ToC::checkDynamicToC(), MSLane::checkFailure(), MSLane::checkForPedestrians(), GUIApplicationWindow::checkGamingEvents(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSDevice_ElecHybrid::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSAbstractLaneChangeModel::checkTraCICommands(), MSLaneChanger::checkTraCICommands(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), MSDevice_SSM::closeEncounter(), MSRouteHandler::closeFlow(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), MSLCM_SL2015::commitManoeuvre(), IntermodalRouter< E, L, N, V >::compute(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), MSVehicle::computeAngle(), MSDispatch::computeDetourTime(), NBNodeShapeComputer::computeEdgeBoundaries(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), MSLCM_SL2015::computeSpeedLat(), MSDevice_SSM::computeSSMs(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), NGNet::connect(), MSRailSignal::constraintsAllow(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDevice_Taxi::customerArrived(), 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(), NBNodeCont::discardTrafficLights(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSDevice_Taxi::dispatchShared(), MSDevice_SSM::Encounter::Encounter(), MSAbstractLaneChangeModel::endLaneChangeManeuver(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), MSTransportableControl::erase(), METriggeredCalibrator::execute(), Command_SaveTLSProgram::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitches::execute(), Command_SaveTLSSwitchStates::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSCalibrator::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSLaneChanger::findCandidate(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), MSDevice_SSM::flushGlobalMeasures(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), MSDevice_Tripinfo::generateOutput(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), MSLink::getDescription(), MSStop::getDescription(), NBTrafficLightDefinition::getDescription(), GUIPerson::getDestinationEdgeID(), MSDevice_SSM::getDetectionRange(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSRailSignal::LinkInfo::getDriveWay(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), libsumo::Calibrator::getEdgeID(), LIBSUMO_NAMESPACE::RouteProbe::getEdgeID(), MSDevice_SSM::getExtraTime(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFirstVehicleInformation(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), NBEdge::getID(), MSRailSignal::getJunctionLinkID(), RORouteHandler::getJunctionTaz(), libsumo::Calibrator::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), MSDevice_SSM::getOutputFilename(), MSDevice_ElecHybrid::getOverheadWireSegmentID(), MSOverheadWire::getOverheadWireSegmentName(), MSDevice_ToC::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GUIContainer::getParameterWindow(), GUILane::getParameterWindow(), GUITrafficLightLogicWrapper::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::Calibrator::getRouteProbeID(), MSBaseVehicle::getRouteValidity(), MSVehicle::getSafeFollowSpeed(), MSAbstractLaneChangeModel::getShadowLane(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), LIBSUMO_NAMESPACE::Person::getStage(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSStageTrip::getStageSummary(), MSStageWaiting::getStageSummary(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), MSDevice::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), LIBSUMO_NAMESPACE::Person::getTaxiReservations(), 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(), 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(), MSRailSignal::hasInsertionConstraint(), MSRailSignal::hasOncomingRailTraffic(), MSBaseVehicle::hasValidRouteStart(), MSVehicle::hasValidRouteStart(), MSBaseVehicle::haveValidStopEdges(), libsumo::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_Stop::idle(), MSIdling_RandomCircling::idle(), MSVehicle::ignoreRed(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informLeader(), MSLCM_LC2013::informLeader(), NBEdge::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), MESegment::initialise(), MSTrafficLightLogic::initMesoTLSPenalties(), PolygonDynamics::initTrackedPosition(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), MSCFModel_IDM::insertionFollowSpeed(), insertVehicle(), MSLane::integrateNewVehicles(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MSStageDriving::isWaitingFor(), MESegment::jamThresholdForSpeed(), 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(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), 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(), MSSimpleDriverState::MSSimpleDriverState(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSStateHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSDevice_ElecHybrid::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_ElecHybrid::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_ElecHybrid::notifyMove(), MSDevice_Battery::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_SSM::notifyMove(), MSDevice_Transportable::notifyMove(), MSE2Collector::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_ToC::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), GNETLSEditorFrame::onCmdDefSwitch(), GUIViewTraffic::onGamingClick(), 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_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildOverheadWireSection(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSCFModel_CC::performAutoLaneChange(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), PolygonDynamics::PolygonDynamics(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSLCM_SL2015::prepareStep(), MSDevice_Taxi::prepareStop(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSStageDriving::proceed(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), MSVehicle::processTraCISpeedControl(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), NBNodeCont::pruneSlipLaneNodes(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSRailSignalControl::registerProtectedDriveway(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSBaseVehicle::replaceRouteEdges(), MSVehicle::replaceStop(), 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(), LIBSUMO_NAMESPACE::Vehicle::resume(), MSRailSignal::retrieveDriveWay(), NIImporter_OpenDrive::retrieveSignalEdges(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSStageWaiting::routeOutput(), MSStageDriving::routeOutput(), MSLane::safeInsertionSpeed(), LIBSUMO_NAMESPACE::RouteProbe::sampleCurrentRouteID(), LIBSUMO_NAMESPACE::RouteProbe::sampleLastRouteID(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSBaseVehicle::saveState(), MSLane::saveState(), MSTransportable::saveState(), MESegment::saveState(), MSDevice::saveState(), MSDevice_Routing::saveState(), MSDevice_Transportable::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), MSStageDriving::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSVehicle::setAngle(), MSLink::setApproaching(), MSVehicle::setApproachingForAllLinks(), MSStageTrip::setArrived(), NBNodeCont::setAsTLControlled(), MSSimpleDriverState::setAwareness(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSAbstractLaneChangeModel::setManeuverDist(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), MSLCM_SL2015::setOwnState(), MSActuatedTrafficLightLogic::setParameter(), MSDevice_ToC::setParameter(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), MSDevice_ToC::switchHolderType(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::ToCPreparationStep(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), MSTransportable::tripInfoOutput(), MSPerson::MSPersonStage_Access::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), MSSimpleDriverState::update(), PolygonDynamics::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), MSRailSignal::updateDriveway(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::updateFurtherLanes(), MSLCM_SL2015::updateGaps(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), GNENetHelper::AttributeCarriers::updateJunctionID(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateShadowLane(), MSVehicle::updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSDevice_SSM::useGeoCoords(), 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(), MSElecHybridExport::writeAggregated(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSMeanData::writeEdge(), NWWriter_SUMO::writeEdge(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSFullExport::writeLane(), MSQueueExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSTractionSubstation::writeOut(), MSDevice_ToC::writeOutput(), MSNet::writeOutput(), MSDevice_Vehroutes::writeOutput(), MSOverheadWire::writeOverheadWireSegmentOutput(), NWWriter_SUMO::writeRoundabout(), 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(), MSRouteProbe::writeXMLOutput(), MSDevice_Transportable::~MSDevice_Transportable(), 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 66 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), NBRailwayTopologyAnalyzer::assignDirectionPriority(), MSLaneChanger::changeOpposite(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), NBPTLineCont::findWay(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), 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::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), MSDevice_SSM::getVehiclesOnJunction(), 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(), MSBaseVehicle::reroute(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().

◆ getInternalFollowingEdge()

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

Definition at line 690 of file MSEdge.cpp.

References myLanes.

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

Here is the caller graph for this function:

◆ getInternalFollowingLengthTo()

double MSEdge::getInternalFollowingLengthTo ( const MSEdge followerAfterInternal) const

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

Definition at line 708 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 166 of file MSEdge.h.

References myLanes.

Referenced by MSVehicleTransfer::add(), NLHandler::addConnection(), GUIEdge::addRerouter(), MSRouteHandler::addStop(), MSBaseVehicle::addStop(), MSVehicleControl::addVehicle(), libsumo::Helper::applySubscriptionFilters(), MELoop::buildSegmentsFor(), LIBSUMO_NAMESPACE::Vehicle::buildStopParameters(), MSBaseVehicle::calculateArrivalParams(), MSEdgeControl::changeLanes(), MSLink::checkContOff(), MSVehicleTransfer::checkInsertions(), GUIEdge::closeTraffic(), MSPModel_NonInteracting::CState::computeDuration(), MSLCM_SL2015::computeSublaneShift(), GUILane::drawMarkings(), libsumo::Helper::findCloserLane(), MEVehicle::getAngle(), MSLane::getBidiLane(), GUIMEVehicle::getCenteringBoundary(), GUIEdge::getColorValue(), getDistanceTo(), MSStage::getEdgeAngle(), GUILane::getEdgeLaneNumber(), MSStage::getEdgePosition(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollowersOnConsecutive(), libsumo::Helper::getLaneChecking(), MSVehicle::getLaneIndex(), getLengthGeometryFactor(), MESegment::getLink(), getMeanSpeed(), MSPModel_Striping::getNextLane(), getOccupancy(), MSCFModel_CC::getParameter(), MSVehicle::getPastLanesUntil(), MSInsertionControl::getPendingEmits(), GUIContainer::getPosition(), MEVehicle::getPosition(), MSVehicle::getPosition(), MSPModel_NonInteracting::PState::getPosition(), GUIVehicle::getPreviousLane(), MSBaseVehicle::getRNG(), MSTransportable::getRNG(), MSBaseVehicle::getRNGIndex(), GUIEdge::getScaleValue(), GUIEdge::getSegmentAtPosition(), MEVehicle::getSlope(), MSTransportable::getSlope(), LIBSUMO_NAMESPACE::Person::getSlope(), getSpeedLimit(), GUIEdge::getTotalLength(), MSDevice_SSM::getUpstreamVehicles(), getVehicleMaxSpeed(), getVehicles(), getWaitingSeconds(), GUICalibrator::GUICalibrator(), GUITriggeredRerouter::GUITriggeredRerouterEdge::GUITriggeredRerouterEdge(), MSVehicle::Influencer::influenceChangeDecision(), MSActuatedTrafficLightLogic::init(), GUINet::initGUIStructures(), MSPModel_Striping::initWalkingAreaPaths(), MSCalibrator::invalidJam(), MSPedestrianPushButton::isActiveForEdge(), GUISUMOViewParent::isSelected(), isSuperposable(), MESegment::MESegment(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSPerson::MSPersonStage_Access::MSPersonStage_Access(), MSRouteProbe::MSRouteProbe(), GUIMEInductLoop::MyWrapper::MyWrapper(), MSDevice_Bluelight::notifyMove(), GUIViewTraffic::onCmdShowReachability(), NLTriggerBuilder::parseAndBuildCalibrator(), MSLCM_DK2008::patchSpeed(), MSLCM_SL2015::prepareStep(), TraCIServerAPI_Vehicle::processSet(), MSCalibrator::remainingVehicleCapacity(), LIBSUMO_NAMESPACE::Edge::setAllowedSVCPermissions(), GUIEdge::setFunctionalColor(), GUITriggeredRerouter::shiftProbs(), LIBSUMO_NAMESPACE::Edge::storeShape(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), 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 544 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 630 of file MSEdge.h.

References myLength.

Referenced by LIBSUMO_NAMESPACE::Person::add(), MSRouteHandler::addPersonTrip(), MSRouteHandler::addRide(), MSRouteHandler::addStop(), LIBSUMO_NAMESPACE::Person::appendDrivingStage(), libsumo::Helper::applySubscriptionFilters(), MSBaseVehicle::basePos(), NLTriggerBuilder::buildCalibrator(), MELoop::buildSegmentsFor(), 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(), getMeanSpeed(), getMinimumTravelTime(), MSPModel_Striping::getNextLane(), GUIEdge::getParameterWindow(), NLTriggerBuilder::getPosition(), GUIEdge::getTotalLength(), getTravelTimeAggregated(), MSIdling_RandomCircling::idle(), insertVehicle(), libsumo::Helper::moveToXYMap(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Transportable::notifyMove(), GUIViewTraffic::onCmdShowReachability(), MSRouteHandler::parseWalkPositions(), MSDevice_Taxi::prepareStop(), MSTriggeredRerouter::rerouteParkingArea(), MSStageTrip::setArrived(), MSRoutingEngine::setEdgeTravelTime(), MELoop::teleportVehicle(), MEVehicle::updateDetectors(), and MSMeanData::writeEdge().

Here is the caller graph for this function:

◆ getLengthGeometryFactor()

double MSEdge::getLengthGeometryFactor ( ) const

return shape.length() / myLength

Definition at line 926 of file MSEdge.cpp.

References getLanes(), and myLanes.

◆ getMeanSpeed()

double MSEdge::getMeanSpeed ( ) const

get the mean speed

Definition at line 743 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 779 of file MSEdge.cpp.

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

◆ getMinimumTravelTime()

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

returns the minimum travel time for the given vehicle

Definition at line 450 of file MSEdge.h.

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

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 723 of file MSEdge.cpp.

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

Referenced by MSRouteHandler::addStop(), MSBaseVehicle::addStop(), 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 733 of file MSEdge.cpp.

References getSuccessors(), and isInternal().

Referenced by MSRouteHandler::addStop(), and MSLane::getNextNormal().

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 294 of file MSEdge.h.

References myNumericalID.

Referenced by 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()(), MSRoutingEngine::setEdgeTravelTime(), and MELoop::updateSegementsForEdge().

Here is the caller graph for this function:

◆ 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 375 of file MSEdge.h.

References myPredecessors.

Referenced by NLEdgeControlBuilder::build().

Here is the caller graph for this function:

◆ 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 353 of file MSEdge.h.

References mySuccessors.

Referenced by NLEdgeControlBuilder::build(), and 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 1245 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 1092 of file MSEdge.cpp.

References myLanes.

Referenced by libsumo::Helper::applySubscriptionFilters(), and MSDevice_SSM::findFoeConflictLane().

Here is the caller graph for this function:

◆ getOtherTazConnector()

const MSEdge* MSEdge::getOtherTazConnector ( ) const
inline

Definition at line 287 of file MSEdge.h.

References myOtherTazConnector.

◆ getParameter()

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

Returns the value for a given key.

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

Definition at line 112 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), MSRailSignal::constraintsAllow(), GNEEdge::drawEdgeName(), GNEGenericData::drawFilteredAttribute(), GUIEdge::drawGL(), GNEConnection::drawGL(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GNEEdgeData::getColor(), GNEEdgeRelData::getColor(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GNELane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPTime(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), GUITrafficLightLogicWrapper::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSBaseVehicle::getPrefixedParameter(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSRailSignalConstraint::getVehID(), MSTriggeredRerouter::getWeight(), MSRailSignal::hasInsertionConstraint(), MSSOTLPhasePolicy::init(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), PushButtonLogic::init(), SigmoidLogic::init(), MSVehicleType::initRailVisualizationParameters(), GNEVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

const std::map< std::string, std::string > & Parameterised::getParametersMap ( ) const
inherited

Returns the inner key/value map.

Definition at line 146 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEGenericData::drawAttribute(), GNEGenericData::drawFilteredAttribute(), GNEAdditional::getACParametersMap(), GNEPOI::getACParametersMap(), GNEPoly::getACParametersMap(), GNETAZElement::getACParametersMap(), GNEDataInterval::getACParametersMap(), GNEDataSet::getACParametersMap(), GNEGenericData::getACParametersMap(), GNEPerson::getACParametersMap(), GNEPersonStop::getACParametersMap(), GNEPersonTrip::getACParametersMap(), GNERide::getACParametersMap(), GNERoute::getACParametersMap(), GNEStop::getACParametersMap(), GNEVehicle::getACParametersMap(), GNEVehicleType::getACParametersMap(), GNEWalk::getACParametersMap(), GNEConnection::getACParametersMap(), GNECrossing::getACParametersMap(), GNEEdge::getACParametersMap(), GNEEdgeType::getACParametersMap(), GNEJunction::getACParametersMap(), GNELane::getACParametersMap(), GNELaneType::getACParametersMap(), GUILane::getParameterWindow(), MSActuatedTrafficLightLogic::init(), MSDevice_Taxi::initDispatch(), NIImporter_OpenStreetMap::insertEdge(), GNEEdgeData::isGenericDataVisible(), GNEEdgeRelData::isGenericDataVisible(), GNETAZRelData::isGenericDataVisible(), GNEGenericData::isVisibleInspectDeleteSelect(), NBEdge::NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), Parameterised::setParameters(), GNEEdgeData::writeGenericData(), GNEEdgeRelData::writeGenericData(), and GNETAZRelData::writeGenericData().

Here is the caller graph for this function:

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

References Parameterised::myMap.

Referenced by GNEAccess::getAttribute(), GNEBusStop::getAttribute(), GNECalibrator::getAttribute(), GNECalibratorFlow::getAttribute(), GNEChargingStation::getAttribute(), GNEClosingLaneReroute::getAttribute(), GNEClosingReroute::getAttribute(), GNEContainerStop::getAttribute(), GNEDestProbReroute::getAttribute(), GNEDetectorE1::getAttribute(), GNEDetectorE1Instant::getAttribute(), GNEDetectorE2::getAttribute(), GNEDetectorE3::getAttribute(), GNEDetectorEntryExit::getAttribute(), GNEParkingArea::getAttribute(), GNEParkingAreaReroute::getAttribute(), GNEParkingSpace::getAttribute(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), GNERerouter::getAttribute(), GNERerouterInterval::getAttribute(), GNERouteProbe::getAttribute(), GNERouteProbReroute::getAttribute(), GNETAZ::getAttribute(), GNETAZSourceSink::getAttribute(), GNEVaporizer::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEVariableSpeedSignStep::getAttribute(), GNEEdgeData::getAttribute(), GNEEdgeRelData::getAttribute(), GNETAZRelData::getAttribute(), GNEPerson::getAttribute(), GNEPersonTrip::getAttribute(), GNERide::getAttribute(), GNERoute::getAttribute(), GNEVehicle::getAttribute(), GNEVehicleType::getAttribute(), GNEWalk::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNEEdgeType::getAttribute(), GNEJunction::getAttribute(), GNELane::getAttribute(), and GNELaneType::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 594 of file MSEdge.h.

References myCombinedPermissions.

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

Here is the caller graph for this function:

◆ getPersons()

const std::set<MSTransportable*>& 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 192 of file MSEdge.h.

References myPersons.

Referenced by MSLCM_LC2013::_wantsChange(), MSLink::checkWalkingAreaFoe(), MSLane::detectCollisions(), 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 313 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 796 of file MSEdge.h.

References myRailwayRoutingEdge.

◆ getReversedRoutingEdge()

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

Definition at line 789 of file MSEdge.h.

References myReversedRoutingEdge.

◆ getRoutingSpeed()

double MSEdge::getRoutingSpeed ( ) const

Returns the averaged speed used by the routing device.

Definition at line 808 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 979 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 961 of file MSEdge.cpp.

References myLanes, and myPersons.

Referenced by LaneStoringVisitor::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 919 of file MSEdge.cpp.

References getLanes(), and myLanes.

Referenced by GUIApplicationWindow::checkGamingEvents(), METriggeredCalibrator::execute(), MSVehicle::getFollower(), getMeanSpeed(), MESegment::getMeanSpeed(), getMeanSpeedBike(), MESegment::getNextInsertionTime(), GUIEdge::getParameterWindow(), MSVehicleControl::getVehicleMeanSpeeds(), METriggeredCalibrator::invalidJam(), MSCalibrator::invalidJam(), GUIViewTraffic::onCmdShowReachability(), recalcCache(), MESegment::recomputeJamThreshold(), MSCalibrator::remainingVehicleCapacity(), MELoop::teleportVehicle(), validateDepartSpeed(), and MSMeanData::writeEdge().

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 913 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 301 of file MSEdge.h.

References myStreetName.

Referenced by GUIEdge::drawGL(), 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 606 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()

const MSEdgeVector & MSEdge::getSuccessors ( SUMOVehicleClass  vClass = SVC_IGNORING) const

◆ 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 468 of file MSEdge.h.

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

◆ 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 931 of file MSEdge.cpp.

References getLanes(), and myLanes.

Referenced by LIBSUMO_NAMESPACE::Vehicle::getAllowedSpeed(), GUIMEVehicle::getColorValue(), getMinimumTravelTime(), MSDevice_Tripinfo::notifyMoveInternal(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), MESegment::receive(), 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 1223 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 1203 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) 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 1043 of file MSEdge.cpp.

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

Referenced by GUINet::EdgeFloatTimeLineRetriever_GUI::addEdgeRelWeight().

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 1229 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 1180 of file MSEdge.cpp.

References DEPART_CONTAINER_TRIGGERED, DEPART_TRIGGERED, Named::getID(), MSGlobals::gNumSimThreads, MSGlobals::gStopTolerance, MSTransportable::isPerson(), MSTransportable::isWaitingFor(), lock(), myWaiting, toString(), 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 601 of file MSEdge.h.

References myWidth.

Referenced by MSLCM_SL2015::_wantsChangeSublane(), MSLCM_SL2015::computeSpeedGain(), MSLCM_SL2015::keepLatGap(), MSVehicle::planMoveInternal(), and MSLCM_SL2015::prepareStep().

Here is the caller graph for this function:

◆ hasLaneChanger()

bool MSEdge::hasLaneChanger ( ) const
inline

Definition at line 691 of file MSEdge.h.

References myLaneChanger.

Referenced by MSLCM_LC2013::_patchSpeed().

Here is the caller graph for this function:

◆ hasMinorLink()

bool MSEdge::hasMinorLink ( ) const

whether any lane has a minor link

Definition at line 1102 of file MSEdge.cpp.

References myLanes.

Referenced by MESegment::initSegment().

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 398 of file MSEdge.cpp.

References myVaporizationRequests.

Referenced by NLTriggerBuilder::buildVaporizer().

Here is the caller graph for this function:

◆ 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 94 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 863 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 dependance 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 570 of file MSEdge.cpp.

References DEFAULT, SUMOVehicleParameter::departLaneProcedure, SUMOVehicleParameter::departPos, SUMOVehicleParameter::departPosProcedure, 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, MESegment::hasSpaceFor(), SUMOVehicleParameter::id, MESegment::initialise(), MSLane::insertVehicle(), isTazConnector(), isVaporizing(), myFailedInsertionMemory, myLanes, myLastFailedInsertionTime, myLength, RandHelper::rand(), RANDOM, RANDOM_FREE, MSBaseVehicle::ROUTE_VALID, 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 231 of file MSEdge.h.

References allowedLanes().

◆ isCrossing()

◆ isDelayed()

bool MSEdge::isDelayed ( ) const
inline

Definition at line 687 of file MSEdge.h.

References myAmDelayed, and myBidiEdge.

◆ isFringe()

bool MSEdge::isFringe ( ) const
inline

return whether this edge is at the fringe of the network

Definition at line 711 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 256 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(), NLEdgeControlBuilder::build(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildSensorForLane(), canChangeToOpposite(), MSLaneChanger::checkChange(), MSVehicle::checkRewindLinkLanes(), GUILane::drawGL(), MSVehicle::enterLaneAtMove(), MSDevice_SSM::findSurroundingVehicles(), MSVehicle::getBestLanesContinuation(), MSRoute::getDistanceBetween(), getInternalFollowingLengthTo(), MSLink::getLeaderInfo(), MSPModel_Striping::getNextLane(), LIBSUMO_NAMESPACE::Vehicle::getNextTLS(), getNormalBefore(), getNormalSuccessor(), GUIEdge::getTotalLength(), MSDevice_SSM::getUpstreamVehicles(), MSLane::isInternal(), MSVehicle::joinTrainPartFront(), MSLink::lastWasContMajor(), MSLink::lastWasContMajorGreen(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), libsumo::Helper::moveToXYMap(), MSLane::mustCheckJunctionCollisions(), MSVehicle::passingMinor(), MSLCM_DK2008::patchSpeed(), MSVehicle::planMoveInternal(), recalcCache(), MSLink::setRequestInformation(), MSVehicle::unsafeLinkAhead(), MSVehicle::updateBestLanes(), MSLCM_DK2008::wantsChangeToLeft(), and MSLCM_DK2008::wantsChangeToRight().

Here is the caller graph for this function:

◆ isNormal()

bool MSEdge::isNormal ( ) const
inline

return whether this edge is an internal edge

Definition at line 251 of file MSEdge.h.

References myFunction, and NORMAL.

Referenced by MSRailSignal::DriveWay::buildRoute(), MSVehicle::enterLaneAtInsertion(), GUIEdge::getIDs(), LIBSUMO_NAMESPACE::Person::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSFullExport::writeEdge(), and MSXMLRawOut::writeEdge().

Here is the caller graph for this function:

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string &  value,
ParameterisedAttrType  attrType,
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 240 of file Parameterised.cpp.

References Parameterised::DOUBLE, StringTokenizer::getVector(), SUMOXMLDefinitions::isValidParameterKey(), and StringUtils::toDouble().

Referenced by Parameterised::areParametersValid().

Here is the caller graph for this function:

◆ isRoundabout()

bool MSEdge::isRoundabout ( ) const
inline

Definition at line 674 of file MSEdge.h.

References myAmRoundabout.

Referenced by MSVehicle::checkRewindLinkLanes(), MSLink::getLeaderInfo(), MSLCHelper::getRoundaboutDistBonus(), MSVehicle::getSpaceTillLastStanding(), 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 716 of file MSEdge.h.

◆ isSuperposable()

bool MSEdge::isSuperposable ( const MSEdge other)
private

Definition at line 1140 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 279 of file MSEdge.h.

References CONNECTOR, and myFunction.

Referenced by addSuccessor(), MSBaseVehicle::calculateArrivalParams(), GUIEdge::closeBuilding(), GUIEdge::getBoundary(), GUILane::getColorValue(), getDistanceTo(), insertVehicle(), MSBaseVehicle::MSBaseVehicle(), 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 408 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()

◆ knowsParameter()

◆ 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 341 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 721 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 678 of file MSEdge.h.

References myAmRoundabout.

Referenced by NLHandler::addRoundabout(), and NLEdgeControlBuilder::build().

Here is the caller graph for this function:

◆ markDelayed()

void MSEdge::markDelayed ( ) const
inline

Definition at line 682 of file MSEdge.h.

References myAmDelayed.

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

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 353 of file MSEdge.cpp.

References MSLane::getIndex(), MSLane::getOpposite(), 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 871 of file MSEdge.cpp.

References StringTokenizer::getVector().

Referenced by MSRouteHandler::addWalk(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), MSRouteHandler::myStartElement(), 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 879 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 576 of file MSEdge.h.

References SUMOTrafficObject::getVClass(), and myCombinedPermissions.

◆ rebuildAllowedLanes()

void MSEdge::rebuildAllowedLanes ( )

Definition at line 250 of file MSEdge.cpp.

References addToAllowed(), allowedLanes(), myAllowed, myCombinedPermissions, myLanes, myMinimumPermissions, rebuildAllowedTargets(), SUMOVehicleClass_MAX, SVC_IGNORING, SVC_PRIVATE, and SVCAll.

Referenced by closeBuilding(), GUILane::closeTraffic(), GUIEdge::closeTraffic(), LIBSUMO_NAMESPACE::Lane::setAllowed(), LIBSUMO_NAMESPACE::Edge::setAllowedSVCPermissions(), and LIBSUMO_NAMESPACE::Lane::setDisallowed().

Here is the caller graph for this function:

◆ rebuildAllowedTargets()

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

Definition at line 279 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()

void MSEdge::recalcCache ( )

◆ removeContainer()

virtual void MSEdge::removeContainer ( MSTransportable container) const
inlinevirtual

Remove container from myContainers.

Reimplemented in GUIEdge.

Definition at line 667 of file MSEdge.h.

References myContainers.

Referenced by MSTransportableControl::abortAnyWaitingForVehicle(), MSTransportableControl::loadAnyWaiting(), MSStageTranship::moveToNextEdge(), MSTransportable::proceed(), and GUIEdge::removeContainer().

Here is the caller graph for this function:

◆ removePerson()

void MSEdge::removePerson ( MSTransportable p) const
virtual

Reimplemented in GUIEdge.

Definition at line 953 of file MSEdge.cpp.

References myPersons.

Referenced by MSTransportableControl::abortAnyWaitingForVehicle(), MSTransportableControl::boardAnyWaiting(), MSStageTranship::moveToNextEdge(), GUIPerson::GUIPersonPopupMenu::onCmdRemoveObject(), MSTransportable::proceed(), GUIEdge::removePerson(), MSStageMoving::replaceRoute(), and MSStageMoving::setRouteIndex().

Here is the caller graph for this function:

◆ removeWaiting()

void MSEdge::removeWaiting ( const SUMOVehicle vehicle) const

Removes a vehicle from the list of waiting vehicles.

Definition at line 1168 of file MSEdge.cpp.

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

Referenced by MSStageDriving::proceed(), MEVehicle::processStop(), and MSVehicle::resumeFromStopping().

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 589 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 347 of file MSEdge.cpp.

References parallelLane().

Referenced by MSDevice_ElecHybrid::notifyMove().

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 327 of file MSEdge.h.

References myCrossingEdges.

Referenced by NLEdgeControlBuilder::addCrossingEdges().

Here is the caller graph for this function:

◆ setID()

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

resets the id

Parameters
[in]newIDThe new id of this object

Reimplemented in MSTransportable, and MSBaseVehicle.

Definition at line 81 of file Named.h.

References Named::myID.

Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), 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 1073 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 552 of file MSEdge.h.

References myLastFailedInsertionTime.

Referenced by MSInsertionControl::tryInsert().

Here is the caller graph for this function:

◆ setMaxSpeed()

void MSEdge::setMaxSpeed ( double  val) const

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

Parameters
[in]valthe new speed in m/s

Definition at line 938 of file MSEdge.cpp.

References myLanes.

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

Here is the caller graph for this function:

◆ setOtherTazConnector()

void MSEdge::setOtherTazConnector ( const MSEdge edge)
inline

Definition at line 283 of file MSEdge.h.

References myOtherTazConnector.

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

Here is the caller graph for this function:

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

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

Definition at line 168 of file Parameterised.cpp.

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

◆ setParametersMap()

void Parameterised::setParametersMap ( const std::map< std::string, std::string > &  paramsMap)
inherited

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

Definition at line 179 of file Parameterised.cpp.

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

◆ 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 190 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(), GNEClosingLaneReroute::setAttribute(), GNEClosingReroute::setAttribute(), GNEContainerStop::setAttribute(), GNEDestProbReroute::setAttribute(), GNEDetectorE1::setAttribute(), GNEDetectorE1Instant::setAttribute(), GNEDetectorE2::setAttribute(), GNEDetectorE3::setAttribute(), GNEDetectorEntryExit::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingAreaReroute::setAttribute(), GNEParkingSpace::setAttribute(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), GNERerouter::setAttribute(), GNERerouterInterval::setAttribute(), GNERouteProbe::setAttribute(), GNERouteProbReroute::setAttribute(), GNETAZ::setAttribute(), GNETAZSourceSink::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNEVariableSpeedSignStep::setAttribute(), GNEEdgeData::setAttribute(), GNEEdgeRelData::setAttribute(), GNETAZRelData::setAttribute(), GNEPerson::setAttribute(), GNEPersonTrip::setAttribute(), GNERide::setAttribute(), GNERoute::setAttribute(), GNEVehicle::setAttribute(), GNEVehicleType::setAttribute(), GNEWalk::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEEdgeType::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), and GNELaneType::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 724 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 92 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_OpenStreetMap::insertEdge(), and GNEVehicleType::setAttribute().

Here is the caller graph for this function:

◆ updateMesoType()

void MSEdge::updateMesoType ( )

update meso segment parameters

Definition at line 186 of file MSEdge.cpp.

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

◆ updateParameters()

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

Adds or updates all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 98 of file Parameterised.cpp.

References Parameterised::setParameter().

Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), NBEdge::NBEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().

Here is the caller graph for this function:

◆ validateDepartSpeed()

bool MSEdge::validateDepartSpeed ( SUMOVehicle v) const

◆ writeParams()

Field Documentation

◆ myAllowed

AllowedLanesCont MSEdge::myAllowed
protected

Associative container from vehicle class to allowed-lanes.

Definition at line 886 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 889 of file MSEdge.h.

Referenced by allowedLanes(), and rebuildAllowedTargets().

◆ myAmDelayed

bool MSEdge::myAmDelayed
mutableprotected

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

Definition at line 925 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 931 of file MSEdge.h.

Referenced by closeBuilding(), and isFringe().

◆ myAmRoundabout

bool MSEdge::myAmRoundabout
protected

whether this edge belongs to a roundabout

Definition at line 928 of file MSEdge.h.

Referenced by isRoundabout(), and markAsRoundabout().

◆ myAttrType

ParameterisedAttrType Parameterised::myAttrType
privateinherited

parameterised type

Definition at line 143 of file Parameterised.h.

Referenced by Parameterised::Parameterised(), and Parameterised::setParameter().

◆ myBidiEdge

const MSEdge* MSEdge::myBidiEdge
private

the oppositing superposable edge

Definition at line 977 of file MSEdge.h.

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

◆ 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 961 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 955 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 958 of file MSEdge.h.

Referenced by getViaSuccessors().

◆ myCombinedPermissions

SVCPermissions MSEdge::myCombinedPermissions = 0
protected

The union of lane permissions for this edge.

Definition at line 894 of file MSEdge.h.

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

◆ myContainers

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

Containers on the edge.

Definition at line 880 of file MSEdge.h.

Referenced by addContainer(), GUIEdge::drawGL(), getSortedContainers(), and removeContainer().

◆ 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 862 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 945 of file MSEdge.h.

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

◆ myDistance

const double MSEdge::myDistance
protected

the kilometrage/mileage at the start of the edge

Definition at line 910 of file MSEdge.h.

Referenced by getDistance().

◆ myEdges

MSEdgeVector MSEdge::myEdges
staticprotected

Static list of edges.

Deprecated:
Move to MSEdgeControl, make non-static

Definition at line 950 of file MSEdge.h.

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

◆ myEdgeType

std::string MSEdge::myEdgeType
protected

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

Definition at line 904 of file MSEdge.h.

Referenced by getEdgeType().

◆ myEmptyTraveltime

double MSEdge::myEmptyTraveltime
protected

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

Definition at line 919 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 859 of file MSEdge.h.

Referenced by insertVehicle().

◆ myFromJunction

MSJunction* MSEdge::myFromJunction
protected

the junctions for this edge

Definition at line 873 of file MSEdge.h.

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

◆ myFunction

const SumoXMLEdgeFunc MSEdge::myFunction
protected

◆ myID

◆ myLaneChanger

MSLaneChanger* MSEdge::myLaneChanger
protected

This member will do the lane-change.

Definition at line 845 of file MSEdge.h.

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

◆ myLanes

◆ myLastFailedInsertionTime

SUMOTime MSEdge::myLastFailedInsertionTime
mutableprotected

The time of last insertion failure.

Definition at line 854 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 916 of file MSEdge.h.

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

◆ myMap

◆ myMinimumPermissions

SVCPermissions MSEdge::myMinimumPermissions = SVCAll
protected

The intersection of lane permissions for this edge.

Definition at line 892 of file MSEdge.h.

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

◆ myNumericalID

const int MSEdge::myNumericalID
protected

This edge's numerical id.

Definition at line 839 of file MSEdge.h.

Referenced by getNumericalID().

◆ myOtherTazConnector

const MSEdge* MSEdge::myOtherTazConnector
protected

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

Definition at line 898 of file MSEdge.h.

Referenced by getOtherTazConnector(), and setOtherTazConnector().

◆ myPersons

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

Persons on the edge for drawing and pushbutton.

Definition at line 877 of file MSEdge.h.

Referenced by addPerson(), GUIEdge::drawGL(), getPersons(), getSortedPersons(), and removePerson().

◆ myPredecessors

MSEdgeVector MSEdge::myPredecessors
protected

The preceeding edges.

Definition at line 870 of file MSEdge.h.

Referenced by addSuccessor(), closeBuilding(), GUIEdge::getBoundary(), getNumPredecessors(), and getPredecessors().

◆ myPriority

const int MSEdge::myPriority
protected

the priority of the edge (used during network creation)

Definition at line 907 of file MSEdge.h.

Referenced by getPriority().

◆ myRailwayRoutingEdge

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

Definition at line 981 of file MSEdge.h.

Referenced by getRailwayRoutingEdge().

◆ myReversedRoutingEdge

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

a reversed version for backward routing

Definition at line 980 of file MSEdge.h.

Referenced by getReversedRoutingEdge().

◆ myStreetName

std::string MSEdge::myStreetName
protected

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

Definition at line 901 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 934 of file MSEdge.h.

Referenced by getSubLaneSides(), and initialize().

◆ mySuccessors

MSEdgeVector MSEdge::mySuccessors
protected

The succeeding edges.

Definition at line 865 of file MSEdge.h.

Referenced by addSuccessor(), closeBuilding(), GUIEdge::getBoundary(), getNumSuccessors(), getSuccessors(), and rebuildAllowedTargets().

◆ myTimePenalty

double MSEdge::myTimePenalty
protected

flat penalty when computing traveltime

Definition at line 922 of file MSEdge.h.

Referenced by getMinimumTravelTime(), and recalcCache().

◆ myToJunction

MSJunction* MSEdge::myToJunction
protected

Definition at line 874 of file MSEdge.h.

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

◆ myVaporizationRequests

int MSEdge::myVaporizationRequests
protected

Vaporizer counter.

Definition at line 851 of file MSEdge.h.

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

◆ myViaSuccessors

MSConstEdgePairVector MSEdge::myViaSuccessors
protected

Definition at line 867 of file MSEdge.h.

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

◆ myWaiting

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

List of waiting vehicles.

Definition at line 964 of file MSEdge.h.

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

◆ myWidth

double MSEdge::myWidth
protected

Edge width [m].

Definition at line 913 of file MSEdge.h.

Referenced by getWidth(), and initialize().


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