SUMO - Simulation of Urban MObility
RODFEdge Class Reference

#include <RODFEdge.h>

Inheritance diagram for RODFEdge:
Inheritance graph
Collaboration diagram for RODFEdge:
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 std::vector< FlowDef > & getFlows () const
 
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
 
 RODFEdge (const std::string &id, RONode *from, RONode *to, int index, const int priority)
 Constructor. More...
 
void setFlows (const std::vector< FlowDef > &flows)
 
void setID (const std::string &newID)
 resets the id More...
 
 ~RODFEdge ()
 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

RODFEdgeoperator= (const RODFEdge &src)
 Invalidated assignment operator. More...
 
 RODFEdge (const RODFEdge &src)
 Invalidated copy constructor. More...
 

Private Attributes

std::vector< FlowDefmyFlows
 

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

Definition at line 48 of file RODFEdge.h.

Constructor & Destructor Documentation

◆ RODFEdge() [1/2]

RODFEdge::RODFEdge ( 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 35 of file RODFEdge.cpp.

◆ ~RODFEdge()

RODFEdge::~RODFEdge ( )

Destructor.

Definition at line 39 of file RODFEdge.cpp.

◆ RODFEdge() [2/2]

RODFEdge::RODFEdge ( const RODFEdge src)
private

Invalidated copy constructor.

Member Function Documentation

◆ addEffort()

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

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(), ROEdge::myEfforts, and ROEdge::myUsingETimeLine.

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

◆ addLane()

void ROEdge::addLane ( ROLane lane)
virtualinherited

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(), ROEdge::myCombinedPermissions, ROEdge::myLanes, ROEdge::myLength, and ROEdge::mySpeed.

Referenced by RONetHandler::parseLane().

◆ addSuccessor()

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

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(), ROEdge::getFromJunction(), RONode::getPosition(), ROEdge::getToJunction(), ROEdge::isInternal(), ROEdge::isTazConnector(), ROEdge::myApproachingEdges, ROEdge::myBoundary, ROEdge::myFollowingEdges, and ROEdge::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 
)
inherited

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(), ROEdge::myTravelTimes, and ROEdge::myUsingTTTimeLine.

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

◆ allFollowersProhibit()

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

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 ROEdge::myFollowingEdges.

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

◆ buildTimeLines()

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

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, ROEdge::myEfforts, ROEdge::myLength, ROEdge::mySpeed, ROEdge::myTravelTimes, ROEdge::myUsingETimeLine, ROEdge::myUsingTTTimeLine, PollutantsInterface::NO_X, and PollutantsInterface::PM_X.

Referenced by ROEdge::isTazConnector().

◆ dictSize()

static int ROEdge::dictSize ( )
inlinestaticinherited

Returns the number of edges.

Definition at line 444 of file ROEdge.h.

References ROEdge::myEdges.

◆ getAllEdges()

const ROEdgeVector & ROEdge::getAllEdges ( )
staticinherited

Returns all ROEdges.

Definition at line 320 of file ROEdge.cpp.

References ROEdge::myEdges.

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

◆ getDistanceTo()

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

◆ getEffort()

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

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 ROEdge::getStoredEffort(), RORoutable::getType(), SUMOVTypeParameter::maxSpeed, MIN2(), ROEdge::myLength, and ROEdge::mySpeed.

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

◆ getEffortStatic()

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

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 ROEdge::getEffort().

◆ getEmissionEffort()

◆ getFlows()

const std::vector< FlowDef > & RODFEdge::getFlows ( ) const

Definition at line 49 of file RODFEdge.cpp.

References myFlows.

Referenced by RODFNet::revalidateFlows().

◆ getFromJunction()

const RONode* ROEdge::getFromJunction ( ) const
inlineinherited

◆ getFunction()

SumoXMLEdgeFunc ROEdge::getFunction ( ) const
inlineinherited

Returns the function of the edge.

Returns
This edge's basic function
See also
SumoXMLEdgeFunc

Definition at line 183 of file ROEdge.h.

References ROEdge::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::saveState(), MSDevice_Vehroutes::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(), MSBatteryExport::write(), MSEmissionExport::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
inlineinherited

Returns this edge's lanes.

Returns
This edge's lanes

Definition at line 473 of file ROEdge.h.

References ROEdge::getStoredEffort(), and ROEdge::myLanes.

Referenced by RONetHandler::parseConnection().

◆ getLength()

◆ getLengthGeometryFactor()

double ROEdge::getLengthGeometryFactor ( ) const
inlineinherited

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

Definition at line 220 of file ROEdge.h.

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

◆ getMinimumTravelTime()

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

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(), ROEdge::isTazConnector(), SUMOVTypeParameter::maxSpeed, MIN2(), ROEdge::myLength, and ROEdge::mySpeed.

Referenced by ROEdge::getTravelTime().

◆ getNoiseEffort()

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

◆ getNormalAfter()

const ROEdge * ROEdge::getNormalAfter ( ) const
inherited

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 ROEdge::isInternal(), and ROEdge::myFollowingEdges.

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

◆ getNormalBefore()

const ROEdge * ROEdge::getNormalBefore ( ) const
inherited

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 ROEdge::isInternal(), and ROEdge::myApproachingEdges.

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

◆ getNumericalID()

int ROEdge::getNumericalID ( ) const
inlineinherited

Returns the index (numeric id) of the edge.

Returns
This edge's numerical id

Definition at line 206 of file ROEdge.h.

References ROEdge::myIndex.

Referenced by RONet::createBulkRouteRequests().

◆ getNumLanes()

int ROEdge::getNumLanes ( ) const
inlineinherited

Returns the number of lanes this edge has.

Returns
This edge's number of lanes

Definition at line 246 of file ROEdge.h.

References ROEdge::isConnectedTo(), and ROEdge::myLanes.

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

◆ getNumPredecessors()

int ROEdge::getNumPredecessors ( ) const
inherited

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 ROEdge::myAmSource, and ROEdge::myApproachingEdges.

Referenced by ROEdge::getPermissions(), and RORouteHandler::parseFromViaTo().

◆ getNumSuccessors()

int ROEdge::getNumSuccessors ( ) const
inherited

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 ROEdge::myAmSink, and ROEdge::myFollowingEdges.

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

◆ getPermissions()

◆ getPredecessors()

const ROEdgeVector& ROEdge::getPredecessors ( ) const
inlineinherited

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 ROEdge::getEffort(), ROEdge::getNormalAfter(), ROEdge::getNormalBefore(), ROEdge::getTravelTime(), ROEdge::hasLoadedTravelTime(), and ROEdge::myApproachingEdges.

Referenced by RODFDetector::computeSplitProbabilities().

◆ getPriority()

int ROEdge::getPriority ( ) const
inlineinherited

get edge priority (road class)

Definition at line 456 of file ROEdge.h.

References ROEdge::myPriority.

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

◆ getSpeedLimit()

double ROEdge::getSpeedLimit ( ) const
inlineinherited

◆ getStopPosition()

◆ getStoredEffort()

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

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(), ROEdge::myEfforts, ROEdge::myHaveEWarned, Named::myID, ROEdge::myInterpolate, ROEdge::myTravelTimes, ROEdge::myUsingETimeLine, toString(), and WRITE_WARNING.

Referenced by ROEdge::getEffort(), ROEdge::getEmissionEffort(), ROEdge::getLanes(), and ROEdge::getNoiseEffort().

◆ getSuccessors()

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

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(), ROEdge::isTazConnector(), ROEdge::myClassesSuccessorMap, ROEdge::myFollowingEdges, ROEdge::myLanes, and SVC_IGNORING.

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

◆ getToJunction()

const RONode* ROEdge::getToJunction ( ) const
inlineinherited

◆ getTravelTime()

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

◆ getTravelTimeStatic()

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

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 ROEdge::getTravelTime().

Referenced by computeRoutes().

◆ getVClassMaxSpeed()

double ROEdge::getVClassMaxSpeed ( SUMOVehicleClass  vclass) const
inlineinherited

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 ROEdge::myRestrictions, and ROEdge::mySpeed.

Referenced by RODFNet::buildEdgeFlowMap().

◆ getViaSuccessors()

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

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(), ROEdge::isTazConnector(), ROEdge::myClassesViaSuccessorMap, ROEdge::myFollowingEdges, ROEdge::myFollowingViaEdges, ROEdge::myLanes, and SVC_IGNORING.

Referenced by ROEdge::getPermissions().

◆ hasLoadedTravelTime()

bool ROEdge::hasLoadedTravelTime ( double  time) const
inherited

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(), ROEdge::myTravelTimes, and ROEdge::myUsingTTTimeLine.

Referenced by ROEdge::getPredecessors(), and ROMAAssignments::incremental().

◆ isConnectedTo()

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

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 ROEdge::getSuccessors(), RORoutable::getVClass(), and SVC_IGNORING.

Referenced by ROEdge::getNumLanes().

◆ isCrossing()

bool ROEdge::isCrossing ( ) const
inlineinherited

return whether this edge is a pedestrian crossing

Definition at line 149 of file ROEdge.h.

References EDGEFUNC_CROSSING, and ROEdge::myFunction.

◆ isInternal()

bool ROEdge::isInternal ( ) const
inlineinherited

return whether this edge is an internal edge

Definition at line 144 of file ROEdge.h.

References EDGEFUNC_INTERNAL, and ROEdge::myFunction.

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

◆ isSink()

bool ROEdge::isSink ( ) const
inlineinherited

Returns whether the edge acts as a sink.

Returns
whether the edge is a sink

Definition at line 191 of file ROEdge.h.

References ROEdge::myAmSink.

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

◆ isTazConnector()

◆ isWalkingArea()

bool ROEdge::isWalkingArea ( ) const
inlineinherited

return whether this edge is walking area

Definition at line 154 of file ROEdge.h.

References EDGEFUNC_WALKINGAREA, and ROEdge::myFunction.

◆ operator=()

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

Invalidated assignment operator.

◆ prohibits()

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

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 ROEdge::myCombinedPermissions.

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

◆ setFlows()

void RODFEdge::setFlows ( const std::vector< FlowDef > &  flows)

Definition at line 43 of file RODFEdge.cpp.

References myFlows.

◆ setFunction()

void ROEdge::setFunction ( SumoXMLEdgeFunc  func)
inlineinherited

Sets the function of the edge.

Parameters
[in]funcThe new function for the edge

Definition at line 114 of file ROEdge.h.

References ROEdge::myFunction.

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

◆ setGlobalOptions()

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

Definition at line 448 of file ROEdge.h.

References ROEdge::getStopPosition(), and ROEdge::myInterpolate.

Referenced by initNet().

◆ setID()

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

◆ setRestrictions()

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

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 ROEdge::myRestrictions.

Referenced by RONetHandler::parseEdge().

◆ setSink()

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

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 ROEdge::isSink(), and ROEdge::myAmSink.

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

◆ setSource()

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

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 ROEdge::myAmSource.

Referenced by ROJTRTurnDefLoader::myStartElement().

Field Documentation

◆ myAmSink

bool ROEdge::myAmSink
protectedinherited

whether the edge is a source or a sink

Definition at line 505 of file ROEdge.h.

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

◆ myAmSource

bool ROEdge::myAmSource
protectedinherited

Definition at line 505 of file ROEdge.h.

Referenced by ROEdge::getNumPredecessors(), and ROEdge::setSource().

◆ myApproachingEdges

ROEdgeVector ROEdge::myApproachingEdges
protectedinherited

List of edges that approached this edge.

Definition at line 530 of file ROEdge.h.

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

◆ myBoundary

Boundary ROEdge::myBoundary
protectedinherited

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 ROEdge::addSuccessor(), ROEdge::getDistanceTo(), and ROEdge::ROEdge().

◆ myClassesSuccessorMap

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

The successors available for a given vClass.

Definition at line 551 of file ROEdge.h.

Referenced by ROEdge::getSuccessors().

◆ myClassesViaSuccessorMap

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

The successors with vias available for a given vClass.

Definition at line 554 of file ROEdge.h.

Referenced by ROEdge::getViaSuccessors().

◆ myCombinedPermissions

SVCPermissions ROEdge::myCombinedPermissions
protectedinherited

The list of allowed vehicle classes combined across lanes.

Definition at line 542 of file ROEdge.h.

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

◆ myEdges

ROEdgeVector ROEdge::myEdges
staticprotectedinherited

Definition at line 547 of file ROEdge.h.

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

◆ myEfforts

ValueTimeLine<double> ROEdge::myEfforts
mutableprotectedinherited

Container storing passing time varying over time for the edge.

Definition at line 512 of file ROEdge.h.

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

◆ myFlows

std::vector<FlowDef> RODFEdge::myFlows
private

Definition at line 69 of file RODFEdge.h.

Referenced by getFlows(), and setFlows().

◆ myFollowingEdges

ROEdgeVector ROEdge::myFollowingEdges
protectedinherited

◆ myFollowingViaEdges

ROConstEdgePairVector ROEdge::myFollowingViaEdges
protectedinherited

Definition at line 527 of file ROEdge.h.

Referenced by ROEdge::addSuccessor(), and ROEdge::getViaSuccessors().

◆ myFromJunction

RONode* ROEdge::myFromJunction
protectedinherited

the junctions for this edge

Definition at line 489 of file ROEdge.h.

Referenced by ROEdge::getFromJunction(), and ROEdge::getLengthGeometryFactor().

◆ myFunction

SumoXMLEdgeFunc ROEdge::myFunction
protectedinherited

◆ myHaveEWarned

bool ROEdge::myHaveEWarned = false
staticprotectedinherited

Information whether the edge has reported missing weights.

Definition at line 520 of file ROEdge.h.

Referenced by ROEdge::getStoredEffort().

◆ myHaveTTWarned

bool ROEdge::myHaveTTWarned = false
staticprotectedinherited

Information whether the edge has reported missing weights.

Definition at line 522 of file ROEdge.h.

Referenced by ROEdge::getTravelTime().

◆ myID

std::string Named::myID
protectedinherited

◆ myIndex

const int ROEdge::myIndex
protectedinherited

The index (numeric id) of the edge.

Definition at line 493 of file ROEdge.h.

Referenced by ROEdge::getNumericalID().

◆ myInterpolate

bool ROEdge::myInterpolate = false
staticprotectedinherited

Information whether to interpolate at interval boundaries.

Definition at line 517 of file ROEdge.h.

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

◆ myLanes

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

◆ myLength

double ROEdge::myLength
protectedinherited

◆ myPriority

const int ROEdge::myPriority
protectedinherited

The edge priority (road class)

Definition at line 496 of file ROEdge.h.

Referenced by ROEdge::getPriority().

◆ myRestrictions

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

The vClass speed restrictions for this edge.

Definition at line 536 of file ROEdge.h.

Referenced by ROEdge::getVClassMaxSpeed(), and ROEdge::setRestrictions().

◆ mySpeed

◆ myToJunction

RONode* ROEdge::myToJunction
protectedinherited

Definition at line 490 of file ROEdge.h.

Referenced by ROEdge::getLengthGeometryFactor(), and ROEdge::getToJunction().

◆ myTravelTimes

ValueTimeLine<double> ROEdge::myTravelTimes
mutableprotectedinherited

Container storing passing time varying over time for the edge.

Definition at line 507 of file ROEdge.h.

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

◆ myUsingETimeLine

bool ROEdge::myUsingETimeLine
protectedinherited

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

Definition at line 514 of file ROEdge.h.

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

◆ myUsingTTTimeLine

bool ROEdge::myUsingTTTimeLine
protectedinherited

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

Definition at line 509 of file ROEdge.h.

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


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