Eclipse SUMO - Simulation of Urban MObility
AGStreet Class Reference

A model of the street in the city. More...

#include <AGStreet.h>

Inheritance diagram for AGStreet:
Collaboration diagram for AGStreet:

Data Structures

class  Builder
 

Public Member Functions

void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
 AGStreet (const std::string &id, RONode *from, RONode *to, int index, const int priority)
 
bool allows (const SUMOVehicleClass vclass) const
 Returns whether the given vehicle class is allowed on this street. 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...
 
double getPopulation () const
 Provides the number of persons living in this street. More...
 
int getPriority () const
 get edge priority (road class) More...
 
const RONodegetToJunction () const
 
double getWorkplaceNumber () const
 Provides the number of work places in this street. More...
 
void print () const
 Prints a summary of the properties of this street to standard output. More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setPopulation (const double pop)
 Modifies the number of persons living in this street. More...
 
void setWorkplaceNumber (const double work)
 Modifies the number of work places in this street. More...
 
Set-up methods
virtual void addLane (ROLane *lane)
 Adds a lane to the edge while loading. More...
 
virtual void addSuccessor (ROEdge *s, ROEdge *via=nullptr, std::string dir="")
 Adds information about a connected edge. More...
 
void setFunction (SumoXMLEdgeFunc func)
 Sets the function of the edge. More...
 
void setSource (const bool isSource=true)
 Sets whether the edge is a source. More...
 
void setSink (const bool isSink=true)
 Sets whether the edge is a sink. More...
 
void setRestrictions (const std::map< SUMOVehicleClass, double > *restrictions)
 Sets the vehicle class specific speed limits of the edge. More...
 
void setTimePenalty (double value)
 
bool isInternal () const
 return whether this edge is an internal edge More...
 
bool isCrossing () const
 return whether this edge is a pedestrian crossing More...
 
bool isWalkingArea () const
 return whether this edge is walking area More...
 
bool isTazConnector () const
 
void buildTimeLines (const std::string &measure, const bool boundariesOverride)
 Builds the internal representation of the travel time/effort. More...
 
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...
 
double myTimePenalty
 flat penalty when computing traveltime 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 Attributes

double myNumWorkplaces
 
double myPopulation
 

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...
 
static double getTravelTimeStaticRandomized (const ROEdge *const edge, const ROVehicle *const veh, double time)
 
template<PollutantsInterface::EmissionType ET>
static double getEmissionEffort (const ROEdge *const edge, const ROVehicle *const veh, double time)
 
static double getNoiseEffort (const ROEdge *const edge, const ROVehicle *const veh, double time)
 

Detailed Description

A model of the street in the city.

AGStreet represents a street in the city. It contains all model relevant properties and is associated with a ROEdge of the routing network.

Definition at line 53 of file AGStreet.h.

Constructor & Destructor Documentation

◆ AGStreet()

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

Definition at line 37 of file AGStreet.cpp.

Referenced by AGStreet::Builder::buildEdge().

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 134 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 92 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 105 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 127 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 141 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 325 of file ROEdge.cpp.

References ROEdge::myFollowingEdges.

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

◆ allows()

bool AGStreet::allows ( const SUMOVehicleClass  vclass) const

Returns whether the given vehicle class is allowed on this street.

Parameters
[in]vclassthe class (passenger or bus) in question
Returns
whether it is allowed on any of the lanes

Definition at line 73 of file AGStreet.cpp.

References ROEdge::getPermissions().

Referenced by AGStreet::Builder::buildEdge(), and AGWorkAndSchool::carsToTrips().

◆ 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 285 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::myTimePenalty, 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 446 of file ROEdge.h.

References ROEdge::myEdges.

◆ getAllEdges()

const ROEdgeVector & ROEdge::getAllEdges ( )
staticinherited

Returns all ROEdges.

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

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

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

References ROEdge::getEffort().

◆ getEmissionEffort()

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

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), MSPModel_Striping::add(), LaneStoringVisitor::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), 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(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistricts(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), GUILane::getColorValue(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), MSRailSignal::LinkInfo::getID(), NBEdge::getID(), 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(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUIE2Collector::MyWrapper::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), GUILane::getParameterWindow(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSPerson::MSPersonStage_Access::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSTransportable::Stage_Driving::getWaitingDescription(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicles(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_BTreceiver::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(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), GNETLSEditorFrame::TLSFile::onCmdLoadTLSProgram(), GNETLSEditorFrame::TLSFile::onCmdSaveTLSProgram(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSPerson::MSPersonStage_Walking::routeOutput(), MSPerson::MSPersonStage_Driving::routeOutput(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), MSTransportableDevice_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(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), NGNet::toNB(), MSSOTLTrafficLightLogic::trySwitch(), PolygonDynamics::update(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), 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(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

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

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

Definition at line 70 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V, BASE >::compute(), AStarRouter< MSEdge, SUMOVehicle, SUMOAbstractRouterPermissions< MSEdge, SUMOVehicle > >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().

◆ getLanes()

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

Returns this edge's lanes.

Returns
This edge's lanes

Definition at line 475 of file ROEdge.h.

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

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

◆ getLength()

◆ getLengthGeometryFactor()

double ROEdge::getLengthGeometryFactor ( ) const
inherited

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

Definition at line 319 of file ROEdge.cpp.

References ROEdge::myLanes.

Referenced by ROEdge::getSpeedLimit().

◆ 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 410 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 274 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 263 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 210 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 244 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 254 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 245 of file ROEdge.cpp.

References ROEdge::myAmSink, and ROEdge::myFollowingEdges.

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

◆ getPermissions()

◆ getPopulation()

double AGStreet::getPopulation ( ) const

Provides the number of persons living in this street.

Returns
the number of inhabitants

Definition at line 49 of file AGStreet.cpp.

References myPopulation.

Referenced by AGStreet::Builder::buildEdge().

◆ 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 339 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 458 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 220 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 350 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(), ROEdge::isConnectedTo(), and RORouteHandler::parseGeoEdges().

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

References ROEdge::getTravelTime().

Referenced by computeRoutes().

◆ getTravelTimeStaticRandomized()

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

Definition at line 400 of file ROEdge.h.

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

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

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

Referenced by ROEdge::getPermissions().

◆ getWorkplaceNumber()

double AGStreet::getWorkplaceNumber ( ) const

Provides the number of work places in this street.

Returns
the number of work places

Definition at line 61 of file AGStreet.cpp.

References myNumWorkplaces.

Referenced by AGStreet::Builder::buildEdge().

◆ 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 178 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 422 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 153 of file ROEdge.h.

References EDGEFUNC_CROSSING, and ROEdge::myFunction.

◆ isInternal()

bool ROEdge::isInternal ( ) const
inlineinherited

◆ isSink()

bool ROEdge::isSink ( ) const
inlineinherited

Returns whether the edge acts as a sink.

Returns
whether the edge is a sink

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

References EDGEFUNC_WALKINGAREA, and ROEdge::myFunction.

◆ print()

void AGStreet::print ( ) const

Prints a summary of the properties of this street to standard output.

Definition at line 43 of file AGStreet.cpp.

References Named::getID(), ROEdge::getLength(), myNumWorkplaces, and myPopulation.

Referenced by AGStreet::Builder::buildEdge().

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

References RORoutable::getVClass(), and ROEdge::myCombinedPermissions.

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

◆ setFunction()

void ROEdge::setFunction ( SumoXMLEdgeFunc  func)
inlineinherited

Sets the function of the edge.

Parameters
[in]funcThe new function for the edge

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

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

Referenced by initNet().

◆ setID()

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

◆ setPopulation()

void AGStreet::setPopulation ( const double  pop)

Modifies the number of persons living in this street.

Parameters
[in]popthe new number of inhabitants

Definition at line 55 of file AGStreet.cpp.

References myPopulation.

Referenced by AGStreet::Builder::buildEdge(), and AGActivityGenHandler::parseStreets().

◆ 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 139 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 131 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 123 of file ROEdge.h.

References ROEdge::myAmSource.

Referenced by ROJTRTurnDefLoader::myStartElement().

◆ setTimePenalty()

void ROEdge::setTimePenalty ( double  value)
inlineinherited

Definition at line 143 of file ROEdge.h.

References ROEdge::myTimePenalty.

Referenced by RONetHandler::parseConnection().

◆ setWorkplaceNumber()

void AGStreet::setWorkplaceNumber ( const double  work)

Modifies the number of work places in this street.

Parameters
[in]workthe new number of work places

Definition at line 67 of file AGStreet.cpp.

References myNumWorkplaces.

Referenced by AGStreet::Builder::buildEdge(), and AGActivityGenHandler::parseStreets().

Field Documentation

◆ myAmSink

bool ROEdge::myAmSink
protectedinherited

whether the edge is a source or a sink

Definition at line 507 of file ROEdge.h.

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

◆ myAmSource

bool ROEdge::myAmSource
protectedinherited

Definition at line 507 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 532 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 547 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 556 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 559 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 544 of file ROEdge.h.

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

◆ myEdges

ROEdgeVector ROEdge::myEdges
staticprotectedinherited

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

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

◆ myFollowingEdges

ROEdgeVector ROEdge::myFollowingEdges
protectedinherited

◆ myFollowingViaEdges

ROConstEdgePairVector ROEdge::myFollowingViaEdges
protectedinherited

Definition at line 529 of file ROEdge.h.

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

◆ myFromJunction

RONode* ROEdge::myFromJunction
protectedinherited

the junctions for this edge

Definition at line 491 of file ROEdge.h.

Referenced by ROEdge::getFromJunction().

◆ myFunction

SumoXMLEdgeFunc ROEdge::myFunction
protectedinherited

◆ myHaveEWarned

bool ROEdge::myHaveEWarned = false
staticprotectedinherited

Information whether the edge has reported missing weights.

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

Referenced by ROEdge::getTravelTime().

◆ myID

◆ myIndex

const int ROEdge::myIndex
protectedinherited

The index (numeric id) of the edge.

Definition at line 495 of file ROEdge.h.

Referenced by ROEdge::getNumericalID().

◆ myInterpolate

bool ROEdge::myInterpolate = false
staticprotectedinherited

Information whether to interpolate at interval boundaries.

Definition at line 519 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

◆ myNumWorkplaces

double AGStreet::myNumWorkplaces
private

Definition at line 110 of file AGStreet.h.

Referenced by getWorkplaceNumber(), print(), and setWorkplaceNumber().

◆ myPopulation

double AGStreet::myPopulation
private

Definition at line 109 of file AGStreet.h.

Referenced by getPopulation(), print(), and setPopulation().

◆ myPriority

const int ROEdge::myPriority
protectedinherited

The edge priority (road class)

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

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

◆ mySpeed

◆ myTimePenalty

double ROEdge::myTimePenalty
protectedinherited

flat penalty when computing traveltime

Definition at line 550 of file ROEdge.h.

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

◆ myToJunction

RONode* ROEdge::myToJunction
protectedinherited

Definition at line 492 of file ROEdge.h.

Referenced by ROEdge::getToJunction().

◆ myTravelTimes

ValueTimeLine<double> ROEdge::myTravelTimes
mutableprotectedinherited

Container storing passing time varying over time for the edge.

Definition at line 509 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 516 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 511 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: