Eclipse SUMO - Simulation of Urban MObility
ROEdge Class Reference

A basic edge for routing applications. More...

#include <ROEdge.h>

Inheritance diagram for ROEdge:
Collaboration diagram for ROEdge:

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void clearParameter ()
 Clears the parameter map. 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 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
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
 ROEdge (const std::string &id, RONode *from, RONode *to, int index, const int priority)
 Constructor. More...
 
void setID (const std::string &newID)
 resets the id More...
 
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)
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. 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 ~ROEdge ()
 Destructor. More...
 
Set-up methods
virtual void addLane (ROLane *lane)
 Adds a lane to the edge while loading. More...
 
virtual void addSuccessor (ROEdge *s, ROEdge *via=nullptr, std::string dir="")
 Adds information about a connected edge. More...
 
void setFunction (SumoXMLEdgeFunc func)
 Sets the function of the edge. More...
 
void setSource (const bool isSource=true)
 Sets whether the edge is a source. More...
 
void setSink (const bool isSink=true)
 Sets whether the edge is a sink. More...
 
void setRestrictions (const std::map< SUMOVehicleClass, double > *restrictions)
 Sets the vehicle class specific speed limits of the edge. More...
 
void setTimePenalty (double value)
 
bool isInternal () const
 return whether this edge is an internal edge More...
 
bool isCrossing () const
 return whether this edge is a pedestrian crossing More...
 
bool isWalkingArea () const
 return whether this edge is walking area More...
 
bool isTazConnector () const
 
void buildTimeLines (const std::string &measure, const bool boundariesOverride)
 Builds the internal representation of the travel time/effort. More...
 
void cacheParamRestrictions (const std::vector< std::string > &restrictionKeys)
 
Getter methods
SumoXMLEdgeFunc getFunction () const
 Returns the function of the edge. More...
 
bool isSink () const
 Returns whether the edge acts as a sink. More...
 
double getLength () const
 Returns the length of the edge. More...
 
int getNumericalID () const
 Returns the index (numeric id) of the edge. More...
 
double getSpeedLimit () const
 Returns the speed allowed on this edge. More...
 
double getLengthGeometryFactor () const
 return a lower bound on shape.length() / myLength that is More...
 
double getVClassMaxSpeed (SUMOVehicleClass vclass) const
 Returns the lane's maximum speed, given a vehicle's speed limit adaptation. More...
 
int getNumLanes () const
 Returns the number of lanes this edge has. More...
 
bool isConnectedTo (const ROEdge *const e, const ROVehicle *const vehicle) const
 returns the information whether this edge is directly connected to the given More...
 
bool prohibits (const ROVehicle *const vehicle) const
 Returns whether this edge prohibits the given vehicle to pass it. More...
 
SVCPermissions getPermissions () const
 
bool restricts (const ROVehicle *const vehicle) const
 Returns whether this edge has restriction parameters forbidding the given vehicle to pass it. More...
 
bool allFollowersProhibit (const ROVehicle *const vehicle) const
 Returns whether this edge succeeding edges prohibit the given vehicle to pass them. More...
 

Static Public Member Functions

static bool areParametersValid (const std::string &value, bool report=false)
 check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" 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...
 

Protected Attributes

std::string myID
 The name of the object. More...
 

Static Private Member Functions

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

Private Attributes

std::map< std::string, std::string > myMap
 The key->value map. More...
 

Methods for getting/setting travel time and cost information

RONodemyFromJunction
 the junctions for this edge More...
 
RONodemyToJunction
 
const int myIndex
 The index (numeric id) of the edge. More...
 
const int myPriority
 The edge priority (road class) More...
 
double mySpeed
 The maximum speed allowed on this edge. More...
 
double myLength
 The length of the edge. More...
 
bool myAmSink
 whether the edge is a source or a sink More...
 
bool myAmSource
 
ValueTimeLine< double > myTravelTimes
 Container storing passing time varying over time for the edge. More...
 
bool myUsingTTTimeLine
 Information whether the time line shall be used instead of the length value. More...
 
ValueTimeLine< double > myEfforts
 Container storing passing time varying over time for the edge. More...
 
bool myUsingETimeLine
 Information whether the time line shall be used instead of the length value. More...
 
ROEdgeVector myFollowingEdges
 List of edges that may be approached from this edge. More...
 
ROConstEdgePairVector myFollowingViaEdges
 
ROEdgeVector myApproachingEdges
 List of edges that approached this edge. More...
 
SumoXMLEdgeFunc myFunction
 The function of the edge. More...
 
const std::map< SUMOVehicleClass, double > * myRestrictions
 The vClass speed restrictions for this edge. More...
 
std::vector< ROLane * > myLanes
 This edge's lanes. More...
 
SVCPermissions myCombinedPermissions
 The list of allowed vehicle classes combined across lanes. 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...
 
double myTimePenalty
 flat penalty when computing traveltime More...
 
std::vector< double > myParamRestrictions
 cached value of parameters which may restrict access More...
 
std::map< SUMOVehicleClass, ROEdgeVectormyClassesSuccessorMap
 The successors available for a given vClass. More...
 
std::map< SUMOVehicleClass, ROConstEdgePairVectormyClassesViaSuccessorMap
 The successors with vias available for a given vClass. More...
 
static bool myInterpolate = false
 Information whether to interpolate at interval boundaries. More...
 
static bool myHaveEWarned = false
 Information whether the edge has reported missing weights. More...
 
static bool myHaveTTWarned = false
 Information whether the edge has reported missing weights. More...
 
static ROEdgeVector myEdges
 
void addEffort (double value, double timeBegin, double timeEnd)
 Adds a weight value. More...
 
void addTravelTime (double value, double timeBegin, double timeEnd)
 Adds a travel time value. More...
 
int getNumSuccessors () const
 Returns the number of edges this edge is connected to. More...
 
const ROEdgeVectorgetSuccessors (SUMOVehicleClass vClass=SVC_IGNORING) const
 Returns the following edges, restricted by vClass. More...
 
const ROConstEdgePairVectorgetViaSuccessors (SUMOVehicleClass vClass=SVC_IGNORING) const
 Returns the following edges including vias, restricted by vClass. More...
 
int getNumPredecessors () const
 Returns the number of edges connected to this edge. More...
 
const ROEdgeVectorgetPredecessors () const
 Returns the edge at the given position from the list of incoming edges. More...
 
const ROEdgegetNormalBefore () const
 if this edge is an internal edge, return its first normal predecessor, otherwise the edge itself More...
 
const ROEdgegetNormalAfter () const
 if this edge is an internal edge, return its first normal successor, otherwise the edge itself More...
 
double getEffort (const ROVehicle *const veh, double time) const
 Returns the effort for this edge. More...
 
bool hasLoadedTravelTime (double time) const
 Returns whether a travel time for this edge was loaded. More...
 
double getTravelTime (const ROVehicle *const veh, double time) const
 Returns the travel time for this edge. More...
 
double getMinimumTravelTime (const ROVehicle *const veh) const
 Returns a lower bound for the travel time on this edge without using any stored timeLine. More...
 
double getDistanceTo (const ROEdge *other, const bool doBoundaryEstimate=false) const
 optimistic distance heuristic for use in routing More...
 
int getPriority () const
 get edge priority (road class) More...
 
const RONodegetFromJunction () const
 
const RONodegetToJunction () const
 
const std::vector< ROLane * > & getLanes () const
 Returns this edge's lanes. More...
 
static double getEffortStatic (const ROEdge *const edge, const ROVehicle *const veh, double time)
 Returns the effort for the given edge. More...
 
static double getTravelTimeStatic (const ROEdge *const edge, const ROVehicle *const veh, double time)
 Returns the travel time for the given edge. More...
 
static double getTravelTimeStaticRandomized (const ROEdge *const edge, const ROVehicle *const veh, double time)
 
template<PollutantsInterface::EmissionType ET>
static double getEmissionEffort (const ROEdge *const edge, const ROVehicle *const veh, double time)
 
static double getNoiseEffort (const ROEdge *const edge, const ROVehicle *const veh, double time)
 
static const ROEdgeVectorgetAllEdges ()
 Returns all ROEdges. More...
 
static int dictSize ()
 Returns the number of edges. More...
 
static void setGlobalOptions (const bool interpolate)
 
static const Position getStopPosition (const SUMOVehicleParameter::Stop &stop)
 return the coordinates of the center of the given stop More...
 
bool getStoredEffort (double time, double &ret) const
 Retrieves the stored effort. More...
 
 ROEdge (const ROEdge &src)
 Invalidated copy constructor. More...
 
ROEdgeoperator= (const ROEdge &src)
 Invalidated assignment operator. More...
 

Detailed Description

A basic edge for routing applications.

The edge contains two time lines, one for the travel time and one for a second measure which may be used for computing the costs of a route. After loading the weights, it is needed to call "buildTimeLines" in order to initialise these time lines.

Definition at line 72 of file ROEdge.h.

Constructor & Destructor Documentation

◆ ROEdge() [1/2]

ROEdge::ROEdge ( const std::string &  id,
RONode from,
RONode to,
int  index,
const int  priority 
)

Constructor.

Parameters
[in]idThe id of the edge
[in]fromThe node the edge begins at
[in]toThe node the edge ends at
[in]indexThe numeric id of the edge

Definition at line 54 of file ROEdge.cpp.

References Boundary::add(), RONode::getPosition(), myBoundary, myCombinedPermissions, myEdges, and SVCAll.

◆ ~ROEdge()

ROEdge::~ROEdge ( )
virtual

Destructor.

Definition at line 83 of file ROEdge.cpp.

References myLanes.

◆ ROEdge() [2/2]

ROEdge::ROEdge ( const ROEdge src)
private

Invalidated copy constructor.

Member Function Documentation

◆ addEffort()

void ROEdge::addEffort ( double  value,
double  timeBegin,
double  timeEnd 
)

Adds a weight value.

Parameters
[in]valueThe value to add
[in]timeBeginThe begin time of the interval the given value is valid for [s]
[in]timeEndThe end time of the interval the given value is valid for [s]

Definition at line 133 of file ROEdge.cpp.

References ValueTimeLine< T >::add(), myEfforts, and myUsingETimeLine.

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeWeight::addEdgeWeight().

◆ addLane()

void ROEdge::addLane ( ROLane lane)
virtual

Adds a lane to the edge while loading.

The lane's length is adapted. Additionally, the information about allowed/disallowed vehicle classes is patched using the information stored in the lane.

Parameters
[in]laneThe lane to add
Todo:
What about vehicle-type aware connections?

Definition at line 91 of file ROEdge.cpp.

References ROLane::getLength(), ROLane::getPermissions(), ROLane::getSpeed(), myCombinedPermissions, myLanes, myLength, and mySpeed.

Referenced by RONetHandler::parseLane().

◆ addSuccessor()

void ROEdge::addSuccessor ( ROEdge s,
ROEdge via = nullptr,
std::string  dir = "" 
)
virtual

Adds information about a connected edge.

The edge s is added to "myFollowingEdges" and this edge is added as predecessor to s.

Parameters
[in]sThe edge to add
Todo:
What about vehicle-type aware connections?

Reimplemented in ROMAEdge, and ROJTREdge.

Definition at line 104 of file ROEdge.cpp.

References Boundary::add(), getFromJunction(), RONode::getPosition(), getToJunction(), isInternal(), isTazConnector(), myApproachingEdges, myBoundary, myFollowingEdges, and myFollowingViaEdges.

Referenced by RONet::addDistrictEdge(), ROJTREdge::addSuccessor(), ROMAEdge::addSuccessor(), and RONetHandler::parseConnection().

◆ 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 126 of file Named.h.

References Named::StoringVisitor::add().

◆ addTravelTime()

void ROEdge::addTravelTime ( double  value,
double  timeBegin,
double  timeEnd 
)

Adds a travel time value.

Parameters
[in]valueThe value to add
[in]timeBeginThe begin time of the interval the given value is valid for [s]
[in]timeEndThe end time of the interval the given value is valid for [s]

Definition at line 140 of file ROEdge.cpp.

References ValueTimeLine< T >::add(), myTravelTimes, and myUsingTTTimeLine.

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), ROMAAssignments::incremental(), and ROMAAssignments::sue().

◆ allFollowersProhibit()

bool ROEdge::allFollowersProhibit ( const ROVehicle *const  vehicle) const

Returns whether this edge succeeding edges prohibit the given vehicle to pass them.

Parameters
[in]vehicleThe vehicle for which the information has to be returned
Returns
Whether the vehicle may continue its route on any of the following edges

Definition at line 333 of file ROEdge.cpp.

References myFollowingEdges.

Referenced by ROJTREdge::chooseNext().

◆ areParametersValid()

◆ buildTimeLines()

void ROEdge::buildTimeLines ( const std::string &  measure,
const bool  boundariesOverride 
)

Builds the internal representation of the travel time/effort.

Should be called after weights / travel times have been loaded.

In the case "weight-attribute" is one of "CO", "CO2", "HC", "NOx", "PMx", "fuel", or "electricity" the proper value (departs/s) is computed and multiplied with the travel time.

Parameters
[in]measureThe name of the measure to use.

Definition at line 284 of file ROEdge.cpp.

References PollutantsInterface::CO, PollutantsInterface::CO2, PollutantsInterface::compute(), PollutantsInterface::ELEC, ValueTimeLine< T >::fillGaps(), PollutantsInterface::FUEL, PollutantsInterface::getClassByName(), PollutantsInterface::HC, myEfforts, myLength, mySpeed, myTimePenalty, myTravelTimes, myUsingETimeLine, myUsingTTTimeLine, PollutantsInterface::NO_X, and PollutantsInterface::PM_X.

◆ cacheParamRestrictions()

void ROEdge::cacheParamRestrictions ( const std::vector< std::string > &  restrictionKeys)

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 100 of file Parameterised.cpp.

References Parameterised::myMap.

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

◆ dictSize()

static int ROEdge::dictSize ( )
inlinestatic

Returns the number of edges.

Definition at line 462 of file ROEdge.h.

References myEdges.

◆ getAllEdges()

const ROEdgeVector & ROEdge::getAllEdges ( )
static

Returns all ROEdges.

Definition at line 344 of file ROEdge.cpp.

References myEdges.

Referenced by computeAllPairs(), and computeRoutes().

◆ getDistanceTo()

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

optimistic distance heuristic for use in routing

Definition at line 157 of file ROEdge.cpp.

References Boundary::distanceTo2D(), getFromJunction(), getLanes(), RONode::getPosition(), getToJunction(), isTazConnector(), and myBoundary.

◆ getDouble()

◆ getEffort()

double ROEdge::getEffort ( const ROVehicle *const  veh,
double  time 
) const

Returns the effort for this edge.

Parameters
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe tim for which the effort shall be returned [s]
Returns
The effort needed by the given vehicle to pass the edge at the given time
Todo:
Recheck whether the vehicle's maximum speed is considered

Definition at line 147 of file ROEdge.cpp.

References getStoredEffort(), RORoutable::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), myLength, mySpeed, and myTimePenalty.

Referenced by getEffortStatic(), and ROMAAssignments::getPenalizedEffort().

◆ getEffortStatic()

static double ROEdge::getEffortStatic ( const ROEdge *const  edge,
const ROVehicle *const  veh,
double  time 
)
inlinestatic

Returns the effort for the given edge.

Parameters
[in]edgeThe edge for which the effort shall be retrieved
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe time for which the effort shall be returned [s]
Returns
The effort needed by the given vehicle to pass the edge at the given time
Todo:
Recheck whether the vehicle's maximum speed is considered

Definition at line 400 of file ROEdge.h.

References getEffort().

◆ getEmissionEffort()

◆ getFromJunction()

const RONode* ROEdge::getFromJunction ( ) const
inline

◆ getFunction()

SumoXMLEdgeFunc ROEdge::getFunction ( ) const
inline

Returns the function of the edge.

Returns
This edge's basic function
See also
SumoXMLEdgeFunc

Definition at line 188 of file ROEdge.h.

References myFunction.

Referenced by writeInterval().

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 76 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), LaneStoringVisitor::add(), Named::StoringVisitor::add(), MSVehicleTransfer::add(), MSPModel_Striping::add(), MSPModel_Remote::add(), PCPolyContainer::add(), ShapeContainer::add(), MSDetectorControl::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NLHandler::addConnection(), NBLoadedSUMOTLDef::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), IntermodalRouter< E, L, N, V >::compute(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeTypeComputer::computeNodeTypes(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSActuatedTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), 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(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), GUITrafficLightLogicWrapper::getActiveTLLogic(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), MSLink::getDescription(), NBTrafficLightDefinition::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), GUIPerson::getEdgeID(), GUIMEVehicle::getEdgeID(), MSMeanData::getEdgeID(), libsumo::Lane::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), NBEdge::getID(), libsumo::InductionLoop::getLaneID(), libsumo::LaneArea::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GNEDialogACChooser::getObjectName(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), libsumo::Simulation::getParameter(), GUILane::getParameterWindow(), GUITrafficLightLogicWrapper::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSEdge::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSActuatedTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), MSEdge::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(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE2Collector::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_SSM::notifyMove(), MSE2Collector::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_ToC::notifyMove(), GNETLSEditorFrame::onCmdDefSwitch(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSDevice_ToC::requestToC(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), RONet::saveAndRemoveRoutesUntil(), ROPerson::Ride::saveAsXML(), ROVehicle::saveAsXML(), MSBaseVehicle::saveState(), MSLane::saveState(), MSDevice::saveState(), MSDevice_Routing::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSTransportableDevice_Routing::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSDevice_ToC::triggerDownwardToC(), MSDevice_ToC::triggerMRM(), MSDevice_ToC::triggerUpwardToC(), MSSOTLTrafficLightLogic::trySwitch(), MSDevice_SSM::update(), PolygonDynamics::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSInstantInductLoop::write(), NBParking::write(), MSFCDExport::write(), MSBatteryExport::write(), MSEmissionExport::write(), 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(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMOPolygon::writeXML(), PointOfInterest::writeXML(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), 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 69 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), 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(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), 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().

◆ getLanes()

const std::vector<ROLane*>& ROEdge::getLanes ( ) const
inline

Returns this edge's lanes.

Returns
This edge's lanes

Definition at line 491 of file ROEdge.h.

References myLanes.

Referenced by getDistanceTo(), RONetHandler::parseConnection(), and ROVehicle::saveAsXML().

◆ getLength()

◆ getLengthGeometryFactor()

double ROEdge::getLengthGeometryFactor ( ) const

return a lower bound on shape.length() / myLength that is

Definition at line 327 of file ROEdge.cpp.

References myLanes.

◆ getMinimumTravelTime()

double ROEdge::getMinimumTravelTime ( const ROVehicle *const  veh) const
inline

Returns a lower bound for the travel time on this edge without using any stored timeLine.

Parameters
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe time for which the effort shall be returned [s]

Definition at line 426 of file ROEdge.h.

References ROVehicle::getChosenSpeedFactor(), RORoutable::getType(), isTazConnector(), SUMOVTypeParameter::maxSpeed, MIN2(), myLength, and mySpeed.

Referenced by getTravelTime().

◆ getNoiseEffort()

double ROEdge::getNoiseEffort ( const ROEdge *const  edge,
const ROVehicle *const  veh,
double  time 
)
static

◆ getNormalAfter()

const ROEdge * ROEdge::getNormalAfter ( ) const

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

Definition at line 273 of file ROEdge.cpp.

References isInternal(), and myFollowingEdges.

Referenced by ROVehicle::getMandatoryEdges().

◆ getNormalBefore()

const ROEdge * ROEdge::getNormalBefore ( ) const

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

Definition at line 262 of file ROEdge.cpp.

References isInternal(), and myApproachingEdges.

Referenced by RORouteHandler::addStop(), and ROVehicle::getMandatoryEdges().

◆ getNumericalID()

int ROEdge::getNumericalID ( ) const
inline

Returns the index (numeric id) of the edge.

Returns
This edge's numerical id

Definition at line 211 of file ROEdge.h.

References myIndex.

Referenced by RONet::createBulkRouteRequests().

◆ getNumLanes()

int ROEdge::getNumLanes ( ) const
inline

Returns the number of lanes this edge has.

Returns
This edge's number of lanes

Definition at line 245 of file ROEdge.h.

References myLanes.

Referenced by ROMAAssignments::capacityConstraintFunction(), ROMAAssignments::getCapacity(), and RODFDetectorHandler::myStartElement().

◆ getNumPredecessors()

int ROEdge::getNumPredecessors ( ) const

Returns the number of edges connected to this edge.

If this edge's type is set to "source", 0 is returned, otherwise the number of edges stored in "myApproachingEdges".

Returns
The number of edges reaching into this edge

Definition at line 253 of file ROEdge.cpp.

References myAmSource, and myApproachingEdges.

Referenced by RORouteHandler::parseFromViaTo().

◆ getNumSuccessors()

int ROEdge::getNumSuccessors ( ) const

Returns the number of edges this edge is connected to.

If this edge's type is set to "sink", 0 is returned, otherwise the number of edges stored in "myFollowingEdges".

Returns
The number of edges following this edge

Definition at line 244 of file ROEdge.cpp.

References myAmSink, and myFollowingEdges.

Referenced by RODFDetector::computeSplitProbabilities(), and RORouteHandler::parseFromViaTo().

◆ getParameter()

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

Returns the value for a given key.

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

Definition at line 72 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), GNEEdge::drawEdgeName(), GUIEdge::drawGL(), GNEConnection::drawGL(), GUIBaseVehicle::drawOnPos(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GUILane::getColorValue(), GUIVehicle::getColorValue(), GNELane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), GUIJunctionWrapper::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::Simulation::getParameter(), libsumo::POI::getParameter(), libsumo::Polygon::getParameter(), libsumo::Person::getParameter(), libsumo::Route::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), MSSOTLPhasePolicy::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(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

◆ getParametersStr()

◆ getPermissions()

SVCPermissions ROEdge::getPermissions ( ) const
inline

Definition at line 268 of file ROEdge.h.

References myCombinedPermissions.

Referenced by AGStreet::allows().

◆ getPredecessors()

const ROEdgeVector& ROEdge::getPredecessors ( ) const
inline

Returns the edge at the given position from the list of incoming edges.

Parameters
[in]posThe position of the list within the list of incoming
Returns
The incoming edge, stored at position pos

Definition at line 355 of file ROEdge.h.

References myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

◆ getPriority()

int ROEdge::getPriority ( ) const
inline

get edge priority (road class)

Definition at line 474 of file ROEdge.h.

References myPriority.

Referenced by ROMAAssignments::capacityConstraintFunction(), and ROMAAssignments::getCapacity().

◆ getSpeedLimit()

◆ getStopPosition()

◆ getStoredEffort()

bool ROEdge::getStoredEffort ( double  time,
double &  ret 
) const
protected

Retrieves the stored effort.

Parameters
[in]vehThe vehicle for which the effort on this edge shall be retrieved
[in]timeThe tim for which the effort shall be returned
Returns
Whether the effort is given

Definition at line 219 of file ROEdge.cpp.

References ValueTimeLine< T >::describesTime(), ValueTimeLine< T >::getSplitTime(), ValueTimeLine< T >::getValue(), myEfforts, myHaveEWarned, Named::myID, myInterpolate, myTravelTimes, myUsingETimeLine, toString(), and WRITE_WARNING.

Referenced by getEffort(), getEmissionEffort(), and getNoiseEffort().

◆ getSuccessors()

const ROEdgeVector & ROEdge::getSuccessors ( SUMOVehicleClass  vClass = SVC_IGNORING) const

Returns the following edges, restricted by vClass.

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

Definition at line 358 of file ROEdge.cpp.

References RONet::getInstance(), isTazConnector(), myClassesSuccessorMap, myFollowingEdges, myLanes, and SVC_IGNORING.

Referenced by RODFNet::buildApproachList(), RORouteHandler::closeRoute(), isConnectedTo(), and RORouteHandler::parseGeoEdges().

◆ getToJunction()

const RONode* ROEdge::getToJunction ( ) const
inline

◆ getTravelTime()

double ROEdge::getTravelTime ( const ROVehicle *const  veh,
double  time 
) const

Returns the travel time for this edge.

Parameters
[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 travel time needed by the given vehicle to pass the edge at the given time

Definition at line 183 of file ROEdge.cpp.

References ValueTimeLine< T >::describesTime(), getMinimumTravelTime(), Distribution_Parameterized::getParameter(), ValueTimeLine< T >::getSplitTime(), RORoutable::getType(), ValueTimeLine< T >::getValue(), MAX2(), SUMOVTypeParameter::maxSpeed, MIN2(), myHaveTTWarned, Named::myID, myInterpolate, myLength, mySpeed, myTimePenalty, myTravelTimes, myUsingTTTimeLine, SUMOVTypeParameter::speedFactor, split(), toString(), and WRITE_WARNING.

Referenced by ROJTRRouter::compute(), getEmissionEffort(), ROMAAssignments::getPenalizedTT(), ROMAAssignments::getTravelTime(), getTravelTimeStatic(), getTravelTimeStaticRandomized(), ROMAAssignments::incremental(), and writeInterval().

◆ getTravelTimeStatic()

static double ROEdge::getTravelTimeStatic ( const ROEdge *const  edge,
const ROVehicle *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 412 of file ROEdge.h.

References getTravelTime().

Referenced by computeRoutes().

◆ getTravelTimeStaticRandomized()

static double ROEdge::getTravelTimeStaticRandomized ( const ROEdge *const  edge,
const ROVehicle *const  veh,
double  time 
)
inlinestatic

Definition at line 416 of file ROEdge.h.

References getTravelTime(), gWeightsRandomFactor, and RandHelper::rand().

Referenced by computeRoutes().

◆ getVClassMaxSpeed()

double ROEdge::getVClassMaxSpeed ( SUMOVehicleClass  vclass) const
inline

Returns the lane's maximum speed, given a vehicle's speed limit adaptation.

Parameters
[in]Thevehicle to return the adapted speed limit for
Returns
This lane's resulting max. speed

Definition at line 231 of file ROEdge.h.

References myRestrictions, and mySpeed.

Referenced by RODFNet::buildEdgeFlowMap().

◆ getViaSuccessors()

const ROConstEdgePairVector & ROEdge::getViaSuccessors ( SUMOVehicleClass  vClass = SVC_IGNORING) const

Returns the following edges including vias, restricted by vClass.

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

Definition at line 394 of file ROEdge.cpp.

References RONet::getInstance(), isTazConnector(), myClassesViaSuccessorMap, myFollowingEdges, myFollowingViaEdges, myLanes, and SVC_IGNORING.

◆ hasLoadedTravelTime()

bool ROEdge::hasLoadedTravelTime ( double  time) const

Returns whether a travel time for this edge was loaded.

Parameters
[in]timeThe time for which the travel time shall be returned [s]
Returns
whether a value was loaded

Definition at line 177 of file ROEdge.cpp.

References ValueTimeLine< T >::describesTime(), myTravelTimes, and myUsingTTTimeLine.

Referenced by ROMAAssignments::incremental().

◆ isConnectedTo()

bool ROEdge::isConnectedTo ( const ROEdge *const  e,
const ROVehicle *const  vehicle 
) const

returns the information whether this edge is directly connected to the given

Parameters
[in]eThe edge which may be connected
[in]vehicleThe vehicle for which the connectivity is checked
Returns
Whether the given edge is a direct successor to this one

Definition at line 430 of file ROEdge.cpp.

References getSuccessors(), RORoutable::getVClass(), and SVC_IGNORING.

◆ isCrossing()

bool ROEdge::isCrossing ( ) const
inline

return whether this edge is a pedestrian crossing

Definition at line 152 of file ROEdge.h.

References EDGEFUNC_CROSSING, and myFunction.

◆ isInternal()

bool ROEdge::isInternal ( ) const
inline

return whether this edge is an internal edge

Definition at line 147 of file ROEdge.h.

References EDGEFUNC_INTERNAL, and myFunction.

Referenced by RONet::addEdge(), RORouteHandler::addStop(), addSuccessor(), RODFNet::buildApproachList(), getNormalAfter(), getNormalBefore(), and RORouteHandler::parseGeoEdges().

◆ isParameterValid()

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

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

Definition at line 189 of file Parameterised.cpp.

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

Referenced by Parameterised::areParametersValid().

◆ isSink()

bool ROEdge::isSink ( ) const
inline

Returns whether the edge acts as a sink.

Returns
whether the edge is a sink

Definition at line 196 of file ROEdge.h.

References myAmSink.

Referenced by ROJTRRouter::compute(), and setSink().

◆ isTazConnector()

◆ isWalkingArea()

bool ROEdge::isWalkingArea ( ) const
inline

return whether this edge is walking area

Definition at line 157 of file ROEdge.h.

References EDGEFUNC_WALKINGAREA, and myFunction.

◆ knowsParameter()

◆ operator=()

ROEdge& ROEdge::operator= ( const ROEdge src)
private

Invalidated assignment operator.

◆ prohibits()

bool ROEdge::prohibits ( const ROVehicle *const  vehicle) const
inline

Returns whether this edge prohibits the given vehicle to pass it.

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

Definition at line 263 of file ROEdge.h.

References RORoutable::getVClass(), and myCombinedPermissions.

Referenced by ROVehicle::addStop(), ROJTREdge::chooseNext(), and ROJTRRouter::compute().

◆ restricts()

bool ROEdge::restricts ( const ROVehicle *const  vehicle) const
inline

Returns whether this edge has restriction parameters forbidding the given vehicle to pass it.

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

Definition at line 276 of file ROEdge.h.

References RORoutable::getType(), myParamRestrictions, and SUMOVTypeParameter::paramRestrictions.

◆ setFunction()

void ROEdge::setFunction ( SumoXMLEdgeFunc  func)
inline

Sets the function of the edge.

Parameters
[in]funcThe new function for the edge

Definition at line 114 of file ROEdge.h.

References myFunction.

Referenced by RONet::addDistrict(), and RONetHandler::parseEdge().

◆ setGlobalOptions()

static void ROEdge::setGlobalOptions ( const bool  interpolate)
inlinestatic

Definition at line 466 of file ROEdge.h.

References myInterpolate.

Referenced by initNet().

◆ setID()

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

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

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

Definition at line 127 of file Parameterised.cpp.

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

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

References Parameterised::myMap.

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string &  paramsString)
inherited

◆ setRestrictions()

void ROEdge::setRestrictions ( const std::map< SUMOVehicleClass, double > *  restrictions)
inline

Sets the vehicle class specific speed limits of the edge.

Parameters
[in]restrictionsThe restrictions for the edge

Definition at line 138 of file ROEdge.h.

References myRestrictions.

Referenced by RONetHandler::parseEdge().

◆ setSink()

void ROEdge::setSink ( const bool  isSink = true)
inline

Sets whether the edge is a sink.

Parameters
[in]funcThe new sink functionality for the edge

Definition at line 130 of file ROEdge.h.

References isSink(), and myAmSink.

Referenced by loadJTRDefinitions(), and ROJTRTurnDefLoader::myStartElement().

◆ setSource()

void ROEdge::setSource ( const bool  isSource = true)
inline

Sets whether the edge is a source.

Parameters
[in]funcThe new source functionality for the edge

Definition at line 122 of file ROEdge.h.

References myAmSource.

Referenced by ROJTRTurnDefLoader::myStartElement().

◆ setTimePenalty()

void ROEdge::setTimePenalty ( double  value)
inline

Definition at line 142 of file ROEdge.h.

References myTimePenalty.

Referenced by RONetHandler::parseConnection().

◆ unsetParameter()

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

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 52 of file Parameterised.cpp.

References Parameterised::myMap.

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

◆ updateParameters()

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

◆ writeParams()

Field Documentation

◆ myAmSink

bool ROEdge::myAmSink
protected

whether the edge is a source or a sink

Definition at line 523 of file ROEdge.h.

Referenced by getNumSuccessors(), isSink(), and setSink().

◆ myAmSource

bool ROEdge::myAmSource
protected

Definition at line 523 of file ROEdge.h.

Referenced by getNumPredecessors(), and setSource().

◆ myApproachingEdges

ROEdgeVector ROEdge::myApproachingEdges
protected

List of edges that approached this edge.

Definition at line 548 of file ROEdge.h.

Referenced by addSuccessor(), getNormalBefore(), getNumPredecessors(), and getPredecessors().

◆ myBoundary

Boundary ROEdge::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 563 of file ROEdge.h.

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

◆ myClassesSuccessorMap

std::map<SUMOVehicleClass, ROEdgeVector> ROEdge::myClassesSuccessorMap
mutableprotected

The successors available for a given vClass.

Definition at line 575 of file ROEdge.h.

Referenced by getSuccessors().

◆ myClassesViaSuccessorMap

std::map<SUMOVehicleClass, ROConstEdgePairVector> ROEdge::myClassesViaSuccessorMap
mutableprotected

The successors with vias available for a given vClass.

Definition at line 578 of file ROEdge.h.

Referenced by getViaSuccessors().

◆ myCombinedPermissions

SVCPermissions ROEdge::myCombinedPermissions
protected

The list of allowed vehicle classes combined across lanes.

Definition at line 560 of file ROEdge.h.

Referenced by addLane(), getPermissions(), prohibits(), and ROEdge().

◆ myEdges

ROEdgeVector ROEdge::myEdges
staticprotected

Definition at line 571 of file ROEdge.h.

Referenced by dictSize(), getAllEdges(), and ROEdge().

◆ myEfforts

ValueTimeLine<double> ROEdge::myEfforts
mutableprotected

Container storing passing time varying over time for the edge.

Definition at line 530 of file ROEdge.h.

Referenced by addEffort(), buildTimeLines(), and getStoredEffort().

◆ myFollowingEdges

ROEdgeVector ROEdge::myFollowingEdges
protected

List of edges that may be approached from this edge.

Definition at line 543 of file ROEdge.h.

Referenced by addSuccessor(), allFollowersProhibit(), ROJTREdge::chooseNext(), getNormalAfter(), getNumSuccessors(), getSuccessors(), getViaSuccessors(), and ROJTREdge::setTurnDefaults().

◆ myFollowingViaEdges

ROConstEdgePairVector ROEdge::myFollowingViaEdges
protected

Definition at line 545 of file ROEdge.h.

Referenced by addSuccessor(), and getViaSuccessors().

◆ myFromJunction

RONode* ROEdge::myFromJunction
protected

the junctions for this edge

Definition at line 507 of file ROEdge.h.

Referenced by getFromJunction().

◆ myFunction

SumoXMLEdgeFunc ROEdge::myFunction
protected

The function of the edge.

Definition at line 551 of file ROEdge.h.

Referenced by getFunction(), isCrossing(), isInternal(), isTazConnector(), isWalkingArea(), and setFunction().

◆ myHaveEWarned

bool ROEdge::myHaveEWarned = false
staticprotected

Information whether the edge has reported missing weights.

Definition at line 538 of file ROEdge.h.

Referenced by getStoredEffort().

◆ myHaveTTWarned

bool ROEdge::myHaveTTWarned = false
staticprotected

Information whether the edge has reported missing weights.

Definition at line 540 of file ROEdge.h.

Referenced by getTravelTime().

◆ myID

◆ myIndex

const int ROEdge::myIndex
protected

The index (numeric id) of the edge.

Definition at line 511 of file ROEdge.h.

Referenced by getNumericalID().

◆ myInterpolate

bool ROEdge::myInterpolate = false
staticprotected

Information whether to interpolate at interval boundaries.

Definition at line 535 of file ROEdge.h.

Referenced by getStoredEffort(), getTravelTime(), and setGlobalOptions().

◆ myLanes

std::vector<ROLane*> ROEdge::myLanes
protected

This edge's lanes.

Definition at line 557 of file ROEdge.h.

Referenced by addLane(), getLanes(), getLengthGeometryFactor(), getNumLanes(), getSuccessors(), getViaSuccessors(), and ~ROEdge().

◆ myLength

double ROEdge::myLength
protected

The length of the edge.

Definition at line 520 of file ROEdge.h.

Referenced by addLane(), buildTimeLines(), getEffort(), getLength(), getMinimumTravelTime(), and getTravelTime().

◆ myMap

◆ myParamRestrictions

std::vector<double> ROEdge::myParamRestrictions
protected

cached value of parameters which may restrict access

Definition at line 569 of file ROEdge.h.

Referenced by cacheParamRestrictions(), and restricts().

◆ myPriority

const int ROEdge::myPriority
protected

The edge priority (road class)

Definition at line 514 of file ROEdge.h.

Referenced by getPriority().

◆ myRestrictions

const std::map<SUMOVehicleClass, double>* ROEdge::myRestrictions
protected

The vClass speed restrictions for this edge.

Definition at line 554 of file ROEdge.h.

Referenced by getVClassMaxSpeed(), and setRestrictions().

◆ mySpeed

double ROEdge::mySpeed
protected

The maximum speed allowed on this edge.

Definition at line 517 of file ROEdge.h.

Referenced by addLane(), buildTimeLines(), getEffort(), getEmissionEffort(), getMinimumTravelTime(), getNoiseEffort(), getSpeedLimit(), getTravelTime(), and getVClassMaxSpeed().

◆ myTimePenalty

double ROEdge::myTimePenalty
protected

flat penalty when computing traveltime

Definition at line 566 of file ROEdge.h.

Referenced by buildTimeLines(), getEffort(), getTravelTime(), and setTimePenalty().

◆ myToJunction

RONode* ROEdge::myToJunction
protected

Definition at line 508 of file ROEdge.h.

Referenced by getToJunction().

◆ myTravelTimes

ValueTimeLine<double> ROEdge::myTravelTimes
mutableprotected

Container storing passing time varying over time for the edge.

Definition at line 525 of file ROEdge.h.

Referenced by addTravelTime(), buildTimeLines(), getStoredEffort(), getTravelTime(), and hasLoadedTravelTime().

◆ myUsingETimeLine

bool ROEdge::myUsingETimeLine
protected

Information whether the time line shall be used instead of the length value.

Definition at line 532 of file ROEdge.h.

Referenced by addEffort(), buildTimeLines(), and getStoredEffort().

◆ myUsingTTTimeLine

bool ROEdge::myUsingTTTimeLine
protected

Information whether the time line shall be used instead of the length value.

Definition at line 527 of file ROEdge.h.

Referenced by addTravelTime(), buildTimeLines(), getTravelTime(), and hasLoadedTravelTime().


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