SUMO - Simulation of Urban MObility
ROEdge Class Reference

A basic edge for routing applications. More...

#include <ROEdge.h>

Inheritance diagram for ROEdge:
Inheritance graph
Collaboration diagram for ROEdge:
Collaboration graph

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
double getDistanceTo (const ROEdge *other, const bool doBoundaryEstimate=false) const
 optimistic distance heuristic for use in routing More...
 
const RONodegetFromJunction () const
 
const std::string & getID () const
 Returns the id. More...
 
const std::vector< ROLane * > & getLanes () const
 Returns this edge's lanes. More...
 
int getPriority () const
 get edge priority (road class) More...
 
const RONodegetToJunction () const
 
 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...
 
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...
 
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...
 
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 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 int dictSize ()
 Returns the number of edges. More...
 
static const ROEdgeVectorgetAllEdges ()
 Returns all ROEdges. 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 void setGlobalOptions (const bool interpolate)
 

Protected Member Functions

bool getStoredEffort (double time, double &ret) const
 Retrieves the stored effort. More...
 

Protected Attributes

bool myAmSink
 whether the edge is a source or a sink More...
 
bool myAmSource
 
ROEdgeVector myApproachingEdges
 List of edges that approached this edge. 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, ROEdgeVectormyClassesSuccessorMap
 The successors available for a given vClass. More...
 
std::map< SUMOVehicleClass, ROConstEdgePairVectormyClassesViaSuccessorMap
 The successors with vias available for a given vClass. More...
 
SVCPermissions myCombinedPermissions
 The list of allowed vehicle classes combined across lanes. More...
 
ValueTimeLine< double > myEfforts
 Container storing passing time varying over time for the edge. More...
 
ROEdgeVector myFollowingEdges
 List of edges that may be approached from this edge. More...
 
ROConstEdgePairVector myFollowingViaEdges
 
RONodemyFromJunction
 the junctions for this edge More...
 
SumoXMLEdgeFunc myFunction
 The function of the edge. More...
 
std::string myID
 The name of the object. More...
 
const int myIndex
 The index (numeric id) of the edge. More...
 
std::vector< ROLane * > myLanes
 This edge's lanes. More...
 
double myLength
 The length of the edge. More...
 
const int myPriority
 The edge priority (road class) More...
 
const std::map< SUMOVehicleClass, double > * myRestrictions
 The vClass speed restrictions for this edge. More...
 
double mySpeed
 The maximum speed allowed on this edge. More...
 
RONodemyToJunction
 
ValueTimeLine< double > myTravelTimes
 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...
 
bool myUsingTTTimeLine
 Information whether the time line shall be used instead of the length value. More...
 

Static Protected Attributes

static ROEdgeVector myEdges
 
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 bool myInterpolate = false
 Information whether to interpolate at interval boundaries. More...
 

Private Member Functions

ROEdgeoperator= (const ROEdge &src)
 Invalidated assignment operator. More...
 
 ROEdge (const ROEdge &src)
 Invalidated copy constructor. More...
 

Methods for getting/setting travel time and cost information

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

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 55 of file ROEdge.cpp.

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

◆ ~ROEdge()

ROEdge::~ROEdge ( )
virtual

Destructor.

Definition at line 82 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 126 of file ROEdge.cpp.

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

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeWeight::addEdgeWeight(), and getPermissions().

◆ 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 90 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 103 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

Definition at line 123 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 133 of file ROEdge.cpp.

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

Referenced by ROLoader::EdgeFloatTimeLineRetriever_EdgeTravelTime::addEdgeWeight(), getPermissions(), 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 309 of file ROEdge.cpp.

References myFollowingEdges.

Referenced by ROJTREdge::chooseNext(), and getPermissions().

◆ 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 275 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, myTravelTimes, myUsingETimeLine, myUsingTTTimeLine, PollutantsInterface::NO_X, and PollutantsInterface::PM_X.

Referenced by isTazConnector().

◆ dictSize()

static int ROEdge::dictSize ( )
inlinestatic

Returns the number of edges.

Definition at line 444 of file ROEdge.h.

References myEdges.

◆ getAllEdges()

const ROEdgeVector & ROEdge::getAllEdges ( )
static

Returns all ROEdges.

Definition at line 320 of file ROEdge.cpp.

References myEdges.

Referenced by computeAllPairs(), computeRoutes(), and getEmissionEffort().

◆ getDistanceTo()

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

optimistic distance heuristic for use in routing

Definition at line 150 of file ROEdge.cpp.

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

Referenced by getEmissionEffort().

◆ 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 140 of file ROEdge.cpp.

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

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

◆ 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 386 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 183 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 78 of file Named.h.

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

◆ getIDSecure()

◆ getLanes()

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

Returns this edge's lanes.

Returns
This edge's lanes

Definition at line 473 of file ROEdge.h.

References getStoredEffort(), and myLanes.

Referenced by RONetHandler::parseConnection().

◆ getLength()

◆ getLengthGeometryFactor()

double ROEdge::getLengthGeometryFactor ( ) const
inline

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

Definition at line 220 of file ROEdge.h.

References Position::distanceTo(), RONode::getPosition(), MAX2(), myFromJunction, myLength, and myToJunction.

◆ 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 408 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 264 of file ROEdge.cpp.

References isInternal(), and myFollowingEdges.

Referenced by ROVehicle::getMandatoryEdges(), and getPredecessors().

◆ 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 253 of file ROEdge.cpp.

References isInternal(), and myApproachingEdges.

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

◆ getNumericalID()

int ROEdge::getNumericalID ( ) const
inline

Returns the index (numeric id) of the edge.

Returns
This edge's numerical id

Definition at line 206 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 246 of file ROEdge.h.

References isConnectedTo(), and 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 244 of file ROEdge.cpp.

References myAmSource, and myApproachingEdges.

Referenced by getPermissions(), and 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 235 of file ROEdge.cpp.

References myAmSink, and myFollowingEdges.

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

◆ getPermissions()

◆ 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 341 of file ROEdge.h.

References getEffort(), getNormalAfter(), getNormalBefore(), getTravelTime(), hasLoadedTravelTime(), and myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

◆ getPriority()

int ROEdge::getPriority ( ) const
inline

get edge priority (road class)

Definition at line 456 of file ROEdge.h.

References myPriority.

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

◆ getSpeedLimit()

double ROEdge::getSpeedLimit ( ) const
inline

◆ 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 210 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(), getLanes(), 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 334 of file ROEdge.cpp.

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

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

◆ 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 174 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, myTravelTimes, myUsingTTTimeLine, SUMOVTypeParameter::speedFactor, split(), toString(), and WRITE_WARNING.

Referenced by ROJTRRouter::compute(), getEmissionEffort(), ROMAAssignments::getPenalizedTT(), getPredecessors(), ROMAAssignments::getTravelTime(), getTravelTimeStatic(), 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 398 of file ROEdge.h.

References getTravelTime().

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 232 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 370 of file ROEdge.cpp.

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

Referenced by getPermissions().

◆ 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 168 of file ROEdge.cpp.

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

Referenced by getPredecessors(), and 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 406 of file ROEdge.cpp.

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

Referenced by getNumLanes().

◆ isCrossing()

bool ROEdge::isCrossing ( ) const
inline

return whether this edge is a pedestrian crossing

Definition at line 149 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 144 of file ROEdge.h.

References EDGEFUNC_INTERNAL, and myFunction.

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

◆ isSink()

bool ROEdge::isSink ( ) const
inline

Returns whether the edge acts as a sink.

Returns
whether the edge is a sink

Definition at line 191 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 154 of file ROEdge.h.

References EDGEFUNC_WALKINGAREA, and myFunction.

◆ 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 264 of file ROEdge.h.

References RORoutable::getVClass(), and myCombinedPermissions.

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

◆ 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 448 of file ROEdge.h.

References getStopPosition(), and myInterpolate.

Referenced by initNet().

◆ setID()

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

◆ 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().

Field Documentation

◆ myAmSink

bool ROEdge::myAmSink
protected

whether the edge is a source or a sink

Definition at line 505 of file ROEdge.h.

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

◆ myAmSource

bool ROEdge::myAmSource
protected

Definition at line 505 of file ROEdge.h.

Referenced by getNumPredecessors(), and setSource().

◆ myApproachingEdges

ROEdgeVector ROEdge::myApproachingEdges
protected

List of edges that approached this edge.

Definition at line 530 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 545 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 551 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 554 of file ROEdge.h.

Referenced by getViaSuccessors().

◆ myCombinedPermissions

SVCPermissions ROEdge::myCombinedPermissions
protected

The list of allowed vehicle classes combined across lanes.

Definition at line 542 of file ROEdge.h.

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

◆ myEdges

ROEdgeVector ROEdge::myEdges
staticprotected

Definition at line 547 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 512 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 525 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 527 of file ROEdge.h.

Referenced by addSuccessor(), and getViaSuccessors().

◆ myFromJunction

RONode* ROEdge::myFromJunction
protected

the junctions for this edge

Definition at line 489 of file ROEdge.h.

Referenced by getFromJunction(), and getLengthGeometryFactor().

◆ myFunction

SumoXMLEdgeFunc ROEdge::myFunction
protected

The function of the edge.

Definition at line 533 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 520 of file ROEdge.h.

Referenced by getStoredEffort().

◆ myHaveTTWarned

bool ROEdge::myHaveTTWarned = false
staticprotected

Information whether the edge has reported missing weights.

Definition at line 522 of file ROEdge.h.

Referenced by getTravelTime().

◆ myID

◆ myIndex

const int ROEdge::myIndex
protected

The index (numeric id) of the edge.

Definition at line 493 of file ROEdge.h.

Referenced by getNumericalID().

◆ myInterpolate

bool ROEdge::myInterpolate = false
staticprotected

Information whether to interpolate at interval boundaries.

Definition at line 517 of file ROEdge.h.

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

◆ myLanes

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

This edge's lanes.

Definition at line 539 of file ROEdge.h.

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

◆ myLength

double ROEdge::myLength
protected

The length of the edge.

Definition at line 502 of file ROEdge.h.

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

◆ myPriority

const int ROEdge::myPriority
protected

The edge priority (road class)

Definition at line 496 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 536 of file ROEdge.h.

Referenced by getVClassMaxSpeed(), and setRestrictions().

◆ mySpeed

double ROEdge::mySpeed
protected

The maximum speed allowed on this edge.

Definition at line 499 of file ROEdge.h.

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

◆ myToJunction

RONode* ROEdge::myToJunction
protected

Definition at line 490 of file ROEdge.h.

Referenced by getLengthGeometryFactor(), and getToJunction().

◆ myTravelTimes

ValueTimeLine<double> ROEdge::myTravelTimes
mutableprotected

Container storing passing time varying over time for the edge.

Definition at line 507 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 514 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 509 of file ROEdge.h.

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


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