Eclipse SUMO - Simulation of Urban MObility
MSRoute Class Reference

#include <MSRoute.h>

Inheritance diagram for MSRoute:
Collaboration diagram for MSRoute:

Public Member Functions

void addReference () const
 increments the reference counter for the route More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
MSRouteIterator begin () const
 Returns the begin of the list of edges to pass. More...
 
void clearParameter ()
 Clears the parameter map. More...
 
bool contains (const MSEdge *const edge) const
 
bool containsAnyOf (const MSEdgeVector &edgelist) const
 
MSRouteIterator end () const
 Returns the end of the list of edges to pass. More...
 
const RGBColorgetColor () const
 Returns the color. More...
 
double getCosts () const
 Returns the costs of the route. More...
 
double getDistanceBetween (double fromPos, double toPos, const MSEdge *fromEdge, const MSEdge *toEdge, bool includeInternal=true, int routePosition=0) const
 Compute the distance between 2 given edges on this route, including the length of internal lanes. Note, that for edges which contain loops: More...
 
double getDistanceBetween (double fromPos, double toPos, const MSRouteIterator &fromEdge, const MSRouteIterator &toEdge, bool includeInternal=true) const
 Compute the distance between 2 given edges on this route, including the length of internal lanes. This has the same semantics as above but uses iterators instead of edge points so looping routes are not an issue. More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
const ConstMSEdgeVectorgetEdges () const
 
const std::string & getID () const
 Returns the id. More...
 
const MSEdgegetLastEdge () const
 returns the destination edge More...
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
std::string getParametersStr () const
 Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". More...
 
double getSavings () const
 Returns the estimated savings due to using this route (compare to the route before rerouting) More...
 
const std::vector< SUMOVehicleParameter::Stop > & getStops () const
 Returns the stops. More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
 MSRoute (const std::string &id, const ConstMSEdgeVector &edges, const bool isPermanent, const RGBColor *const c, const std::vector< SUMOVehicleParameter::Stop > &stops)
 Constructor. More...
 
const MSEdgeoperator[] (int index) const
 
void release () const
 deletes the route if there are no further references to it More...
 
void setCosts (double costs)
 Sets the costs of the route. More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void setParameters (const Parameterised &params)
 set the inner key/value map in map<string, string> format More...
 
void setParametersMap (const std::map< std::string, std::string > &paramsMap)
 set the inner key/value map in map<string, string> format More...
 
void setParametersStr (const std::string &paramsString)
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" More...
 
void setSavings (double savings)
 Sets the savings of the route. More...
 
int size () const
 Returns the number of edges to pass. More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameters (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
int writeEdgeIDs (OutputDevice &os, const MSEdge *const from, const MSEdge *const upTo=0) const
 Output the edge ids up to but not including the id of the given edge. More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 
virtual ~MSRoute ()
 Destructor. More...
 

Static Public Member Functions

static bool areParametersValid (const std::string &value, bool report=false)
 check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" More...
 
static void checkDist (const std::string &id)
 Checks the distribution whether it is permanent and deletes it if not. More...
 
static void clear ()
 Clears the dictionary (delete all known routes, too) More...
 
static bool dictionary (const std::string &id, const MSRoute *route)
 Adds a route to the dictionary. More...
 
static bool dictionary (const std::string &id, RandomDistributor< const MSRoute * > *const routeDist, const bool permanent=true)
 Adds a route distribution to the dictionary. More...
 
static const MSRoutedictionary (const std::string &id, std::mt19937 *rng=0)
 Returns the named route or a sample from the named distribution. More...
 
static RandomDistributor< const MSRoute * > * distDictionary (const std::string &id)
 Returns the named route distribution. 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 void insertIDs (std::vector< std::string > &into)
 
State I/O (mesosim only)
static void dict_saveState (OutputDevice &out)
 Saves all known routes into the given stream. More...
 

Protected Attributes

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

Private Types

typedef std::map< std::string, const MSRoute * > RouteDict
 Definition of the dictionary container. More...
 
typedef std::map< std::string, std::pair< RandomDistributor< const MSRoute * > *, bool > > RouteDistDict
 Definition of the dictionary container. More...
 

Private Member Functions

MSRouteoperator= (const MSRoute &s)
 

Static Private Member Functions

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

Private Attributes

const bool myAmPermanent
 whether the route may be deleted after the last vehicle abandoned it More...
 
const RGBColor *const myColor
 The color. More...
 
double myCosts
 The assigned or calculated costs. More...
 
ConstMSEdgeVector myEdges
 The list of edges to pass. More...
 
std::map< std::string, std::string > myMap
 The key->value map. More...
 
int myReferenceCounter
 Information by how many vehicles the route is used. More...
 
double mySavings
 The estimated savings when rerouting. More...
 
std::vector< SUMOVehicleParameter::StopmyStops
 List of the stops on the parsed route. More...
 

Static Private Attributes

static RouteDict myDict
 The dictionary container. More...
 
static RouteDistDict myDistDict
 The dictionary container. More...
 

Detailed Description

Definition at line 66 of file MSRoute.h.

Member Typedef Documentation

◆ RouteDict

typedef std::map<std::string, const MSRoute*> MSRoute::RouteDict
private

Definition of the dictionary container.

Definition at line 264 of file MSRoute.h.

◆ RouteDistDict

typedef std::map<std::string, std::pair<RandomDistributor<const MSRoute*>*, bool> > MSRoute::RouteDistDict
private

Definition of the dictionary container.

Definition at line 270 of file MSRoute.h.

Constructor & Destructor Documentation

◆ MSRoute()

MSRoute::MSRoute ( const std::string &  id,
const ConstMSEdgeVector edges,
const bool  isPermanent,
const RGBColor *const  c,
const std::vector< SUMOVehicleParameter::Stop > &  stops 
)

Constructor.

Definition at line 51 of file MSRoute.cpp.

◆ ~MSRoute()

MSRoute::~MSRoute ( )
virtual

Destructor.

Definition at line 63 of file MSRoute.cpp.

References myColor.

Member Function Documentation

◆ addReference()

◆ addTo()

void Named::addTo ( const StoringVisitor cont) const
inlineinherited

Adds this object to the given container.

Parameters
[in,filled]cont The container to add this item to

Definition at line 126 of file Named.h.

References Named::StoringVisitor::add().

◆ areParametersValid()

◆ begin()

◆ checkDist()

void MSRoute::checkDist ( const std::string &  id)
static

Checks the distribution whether it is permanent and deletes it if not.

Definition at line 185 of file MSRoute.cpp.

References myDistDict.

Referenced by MSInsertionControl::determineCandidates(), MSRouteProbe::writeXMLOutput(), and MSBaseVehicle::~MSBaseVehicle().

◆ clear()

void MSRoute::clear ( )
static

Clears the dictionary (delete all known routes, too)

Definition at line 169 of file MSRoute.cpp.

References myDict, and myDistDict.

Referenced by MSNet::clearAll().

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 100 of file Parameterised.cpp.

References Parameterised::myMap.

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

◆ contains()

bool MSRoute::contains ( const MSEdge *const  edge) const
inline

◆ containsAnyOf()

bool MSRoute::containsAnyOf ( const MSEdgeVector edgelist) const

Definition at line 238 of file MSRoute.cpp.

References contains().

Referenced by MSTriggeredRerouter::getCurrentReroute(), and MSTriggeredRerouter::notifyEnter().

◆ dict_saveState()

void MSRoute::dict_saveState ( OutputDevice out)
static

Saves all known routes into the given stream.

Parameters
[in]osThe stream to write the routes into (binary)

Definition at line 256 of file MSRoute.cpp.

References OutputDevice::closeTag(), myDict, myDistDict, OutputDevice::openTag(), SUMO_ATTR_EDGES, SUMO_ATTR_ID, SUMO_ATTR_PROBS, SUMO_ATTR_ROUTES, SUMO_ATTR_STATE, SUMO_TAG_ROUTE, SUMO_TAG_ROUTE_DISTRIBUTION, and OutputDevice::writeAttr().

Referenced by MSStateHandler::saveState().

◆ dictionary() [1/3]

◆ dictionary() [2/3]

bool MSRoute::dictionary ( const std::string &  id,
RandomDistributor< const MSRoute * > *const  routeDist,
const bool  permanent = true 
)
static

Adds a route distribution to the dictionary.

Returns true if the distribution could be added, false if a route (distribution) with the same name already exists.

Parameters
[in]idthe id for the new route distribution
[in]routeDistpointer to the distribution object
[in]permanentwhether the new route distribution survives more than one vehicle / flow
Returns
whether adding was successful

Definition at line 126 of file MSRoute.cpp.

References myDict, and myDistDict.

◆ dictionary() [3/3]

const MSRoute * MSRoute::dictionary ( const std::string &  id,
std::mt19937 *  rng = 0 
)
static

Returns the named route or a sample from the named distribution.

Returns 0 if no route and no distribution with the given name exists or if the distribution exists and is empty.

Parameters
[in]idthe id of the route or the distribution
Returns
the route (sample)

Definition at line 139 of file MSRoute.cpp.

References myDict, and myDistDict.

◆ distDictionary()

RandomDistributor< const MSRoute * > * MSRoute::distDictionary ( const std::string &  id)
static

Returns the named route distribution.

Returns 0 if no route distribution with the given name exists.

Parameters
[in]idthe id of the route distribution
Returns
the route distribution

Definition at line 156 of file MSRoute.cpp.

References myDistDict.

Referenced by MSRouteProbe::MSRouteProbe(), and MSDevice_Vehroutes::writeOutput().

◆ end()

◆ getColor()

const RGBColor & MSRoute::getColor ( ) const

◆ getCosts()

double MSRoute::getCosts ( ) const
inline

Returns the costs of the route.

Returns
The route's costs (normally the time needed to pass it)

Definition at line 159 of file MSRoute.h.

References myCosts.

Referenced by MSDevice_Vehroutes::writeXMLRoute().

◆ getDistanceBetween() [1/2]

double MSRoute::getDistanceBetween ( double  fromPos,
double  toPos,
const MSEdge fromEdge,
const MSEdge toEdge,
bool  includeInternal = true,
int  routePosition = 0 
) const

Compute the distance between 2 given edges on this route, including the length of internal lanes. Note, that for edges which contain loops:

  • the first occurance of fromEdge will be used
  • the first occurance of toEdge after the first occurance of fromEdge will be used
Parameters
[in]fromPosposition on the first edge, at wich the computed distance begins
[in]toPosposition on the last edge, at which the coumputed distance endsance
[in]fromEdgeedge at wich computation begins
[in]toEdgeedge at which distance computation shall stop
[in]includeInternalWhether the lengths of internal edges shall be counted
[in]routePositionOptional offset when searching for the fromEdge within the route
Returns
distance between the position fromPos on fromEdge and toPos on toEdge

Definition at line 278 of file MSRoute.cpp.

References MSEdge::getLength(), MSEdge::getPredecessors(), MSEdge::getSuccessors(), MSEdge::getToJunction(), MSEdge::isInternal(), myEdges, and toString().

Referenced by TraCIServerAPI_Simulation::commandDistanceRequest(), libsumo::Simulation::getDistance2D(), libsumo::Simulation::getDistanceRoad(), MSVehicle::getDistanceToPosition(), libsumo::Vehicle::getDrivingDistance(), libsumo::Vehicle::getDrivingDistance2D(), MSCFModel_CC::getParameter(), MSTriggeredRerouter::rerouteParkingArea(), MSFCDExport::write(), and MSDevice_Vehroutes::writeOutput().

◆ getDistanceBetween() [2/2]

double MSRoute::getDistanceBetween ( double  fromPos,
double  toPos,
const MSRouteIterator fromEdge,
const MSRouteIterator toEdge,
bool  includeInternal = true 
) const

Compute the distance between 2 given edges on this route, including the length of internal lanes. This has the same semantics as above but uses iterators instead of edge points so looping routes are not an issue.

Parameters
[in]fromPosposition on the first edge, at wich the computed distance begins
[in]toPosposition on the last edge, at which the coumputed distance endsance
[in]fromEdgeedge at wich computation begins
[in]toEdgeedge at which distance computation shall stop
[in]includeInternalWhether the lengths of internal edges shall be counted
Returns
distance between the position fromPos on fromEdge and toPos on toEdge

Definition at line 333 of file MSRoute.cpp.

References end().

◆ getDouble()

◆ getEdges()

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 76 of file Named.h.

References Named::myID.

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

◆ getIDSecure()

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

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

Definition at line 69 of file Named.h.

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

◆ getLastEdge()

◆ getParameter()

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

Returns the value for a given key.

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

Definition at line 72 of file Parameterised.cpp.

References Parameterised::myMap.

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

◆ getParametersMap()

◆ getParametersStr()

◆ getSavings()

double MSRoute::getSavings ( ) const
inline

Returns the estimated savings due to using this route (compare to the route before rerouting)

Returns
The route's estimated savings (the difference in costs of this route to the previous one)

Definition at line 167 of file MSRoute.h.

References mySavings.

Referenced by MSDevice_Vehroutes::writeXMLRoute().

◆ getStops()

◆ insertIDs()

void MSRoute::insertIDs ( std::vector< std::string > &  into)
static

Definition at line 202 of file MSRoute.cpp.

References myDict, and myDistDict.

Referenced by libsumo::Route::getIDList().

◆ isParameterValid()

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

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

Definition at line 189 of file Parameterised.cpp.

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

Referenced by Parameterised::areParametersValid().

◆ knowsParameter()

◆ operator=()

MSRoute& MSRoute::operator= ( const MSRoute s)
private

invalid assignment operator

◆ operator[]()

const MSEdge * MSRoute::operator[] ( int  index) const

Definition at line 250 of file MSRoute.cpp.

References myEdges.

◆ release()

◆ setCosts()

void MSRoute::setCosts ( double  costs)
inline

Sets the costs of the route.

Parameters
[in]costsThe new route costs

Definition at line 175 of file MSRoute.h.

References myCosts.

Referenced by MSRouteHandler::closeRoute(), and MSBaseVehicle::replaceRouteEdges().

◆ setID()

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

◆ setParameter()

◆ setParameters()

void Parameterised::setParameters ( const Parameterised params)
inherited

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

Definition at line 127 of file Parameterised.cpp.

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

◆ setParametersMap()

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

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

Definition at line 133 of file Parameterised.cpp.

References Parameterised::myMap.

◆ setParametersStr()

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

◆ setSavings()

void MSRoute::setSavings ( double  savings)
inline

Sets the savings of the route.

Parameters
[in]costsThe new route costs

Definition at line 182 of file MSRoute.h.

References mySavings.

Referenced by MSBaseVehicle::replaceRouteEdges().

◆ size()

◆ unsetParameter()

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

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 52 of file Parameterised.cpp.

References Parameterised::myMap.

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

◆ updateParameters()

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

◆ writeEdgeIDs()

int MSRoute::writeEdgeIDs ( OutputDevice os,
const MSEdge *const  from,
const MSEdge *const  upTo = 0 
) const

Output the edge ids up to but not including the id of the given edge.

Parameters
[in]osThe stream to write the routes into (binary)
[in]fromThe first edge to be written
[in]upToThe first edge that shall not be written
Returns
The number of edges written

Definition at line 217 of file MSRoute.cpp.

References myEdges.

Referenced by MSDevice_Vehroutes::writeXMLRoute().

◆ writeParams()

Field Documentation

◆ myAmPermanent

const bool MSRoute::myAmPermanent
private

whether the route may be deleted after the last vehicle abandoned it

Definition at line 245 of file MSRoute.h.

◆ myColor

const RGBColor* const MSRoute::myColor
private

The color.

Definition at line 251 of file MSRoute.h.

Referenced by getColor(), and ~MSRoute().

◆ myCosts

double MSRoute::myCosts
private

The assigned or calculated costs.

Definition at line 254 of file MSRoute.h.

Referenced by getCosts(), and setCosts().

◆ myDict

MSRoute::RouteDict MSRoute::myDict
staticprivate

The dictionary container.

Definition at line 267 of file MSRoute.h.

Referenced by clear(), dict_saveState(), dictionary(), insertIDs(), and release().

◆ myDistDict

MSRoute::RouteDistDict MSRoute::myDistDict
staticprivate

The dictionary container.

Definition at line 273 of file MSRoute.h.

Referenced by checkDist(), clear(), dict_saveState(), dictionary(), distDictionary(), and insertIDs().

◆ myEdges

ConstMSEdgeVector MSRoute::myEdges
private

The list of edges to pass.

Definition at line 242 of file MSRoute.h.

Referenced by begin(), contains(), end(), getDistanceBetween(), getEdges(), getLastEdge(), operator[](), size(), and writeEdgeIDs().

◆ myID

◆ myMap

◆ myReferenceCounter

int MSRoute::myReferenceCounter
mutableprivate

Information by how many vehicles the route is used.

Definition at line 248 of file MSRoute.h.

Referenced by addReference(), and release().

◆ mySavings

double MSRoute::mySavings
private

The estimated savings when rerouting.

Definition at line 257 of file MSRoute.h.

Referenced by getSavings(), and setSavings().

◆ myStops

std::vector<SUMOVehicleParameter::Stop> MSRoute::myStops
private

List of the stops on the parsed route.

Definition at line 260 of file MSRoute.h.

Referenced by getStops().


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