SUMO - Simulation of Urban MObility
RORouteDef Class Reference

Base class for a vehicle's route definition. More...

#include <RORouteDef.h>

Inheritance diagram for RORouteDef:
Named

Data Structures

struct  ComparatorProbability
 

Public Member Functions

void addAlternative (SUMOAbstractRouter< ROEdge, ROVehicle > &router, const ROVehicle *const, RORoute *current, SUMOTime begin)
 Adds an alternative to the list of routes. More...
 
void addAlternativeDef (const RORouteDef *alternative)
 Adds an alternative loaded from the file. More...
 
void addLoadedAlternative (RORoute *alternative)
 Adds a single alternative loaded from the file An alternative may also be generated during DUA. More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
RORoutebuildCurrentRoute (SUMOAbstractRouter< ROEdge, ROVehicle > &router, SUMOTime begin, const ROVehicle &veh) const
 Triggers building of the complete route (via preComputeCurrentRoute) or returns precomputed route. More...
 
RORouteDefcopy (const std::string &id) const
 Returns a deep copy of the route definition. More...
 
RORouteDefcopyOrigDest (const std::string &id) const
 Returns a origin-destination copy of the route definition. More...
 
const ROEdgegetDestination () const
 
const RORoutegetFirstRoute () const
 
const std::string & getID () const
 Returns the id. More...
 
SUMOReal getOverallProb () const
 Returns the sum of the probablities of the contained routes. More...
 
void preComputeCurrentRoute (SUMOAbstractRouter< ROEdge, ROVehicle > &router, SUMOTime begin, const ROVehicle &veh) const
 Builds the complete route (or chooses her from the list of alternatives, when existing) More...
 
void repairCurrentRoute (SUMOAbstractRouter< ROEdge, ROVehicle > &router, SUMOTime begin, const ROVehicle &veh) const
 Builds the complete route (or chooses her from the list of alternatives, when existing) More...
 
 RORouteDef (const std::string &id, const unsigned int lastUsed, const bool tryRepair, const bool mayBeDisconnected)
 Constructor. More...
 
void setID (const std::string &newID)
 resets the id More...
 
OutputDevicewriteXMLDefinition (OutputDevice &dev, const ROVehicle *const veh, bool asAlternatives, bool withExitTimes) const
 Saves the built route / route alternatives. More...
 
virtual ~RORouteDef ()
 Destructor. More...
 

Static Public Member Functions

static void setUsingJTRR ()
 

Protected Attributes

std::vector< RORoute * > myAlternatives
 The alternatives. More...
 
std::string myID
 The name of the object. More...
 
unsigned int myLastUsed
 Index of the route used within the last step. More...
 
const bool myMayBeDisconnected
 
bool myNewRoute
 Information whether a new route was generated. More...
 
RORoutemyPrecomputed
 precomputed route for out-of-order computation More...
 
std::set< RORoute * > myRouteRefs
 Routes which are deleted someplace else. More...
 
const bool myTryRepair
 

Static Protected Attributes

static bool myUsingJTRR
 

Private Member Functions

RORouteDefoperator= (const RORouteDef &src)
 Invalidated assignment operator. More...
 
 RORouteDef (const RORouteDef &src)
 Invalidated copy constructor. More...
 

Detailed Description

Base class for a vehicle's route definition.

This class resembles what a vehicle knows about his route when being loaded into a router. Whether it is just the origin and the destination, the whole route through the network or even a route with alternatives depends on the derived class.

Definition at line 63 of file RORouteDef.h.

Constructor & Destructor Documentation

RORouteDef::RORouteDef ( const std::string &  id,
const unsigned int  lastUsed,
const bool  tryRepair,
const bool  mayBeDisconnected 
)

Constructor.

Parameters
[in]idThe id of the route
[in]colorThe color of the route

Definition at line 63 of file RORouteDef.cpp.

Referenced by copy(), and copyOrigDest().

RORouteDef::~RORouteDef ( )
virtual

Destructor.

Definition at line 70 of file RORouteDef.cpp.

References myAlternatives, and myRouteRefs.

RORouteDef::RORouteDef ( const RORouteDef src)
private

Invalidated copy constructor.

Member Function Documentation

void RORouteDef::addAlternativeDef ( const RORouteDef alternative)

Adds an alternative loaded from the file.

Definition at line 86 of file RORouteDef.cpp.

References myAlternatives, and myRouteRefs.

Referenced by RORouteHandler::closeRoute(), and RORouteHandler::openRouteDistribution().

void RORouteDef::addLoadedAlternative ( RORoute alternative)

Adds a single alternative loaded from the file An alternative may also be generated during DUA.

Definition at line 80 of file RORouteDef.cpp.

References myAlternatives.

Referenced by RORouteHandler::closeRoute(), copy(), and copyOrigDest().

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

Adds this object to the given container.

Parameters

Definition at line 121 of file Named.h.

References Named::StoringVisitor::add().

RORoute * RORouteDef::buildCurrentRoute ( SUMOAbstractRouter< ROEdge, ROVehicle > &  router,
SUMOTime  begin,
const ROVehicle veh 
) const

Triggers building of the complete route (via preComputeCurrentRoute) or returns precomputed route.

Definition at line 95 of file RORouteDef.cpp.

References myPrecomputed, and preComputeCurrentRoute().

Referenced by RONet::computeRoute().

RORouteDef * RORouteDef::copy ( const std::string &  id) const

Returns a deep copy of the route definition.

The resulting route definition contains copies of all routes contained in this one

Parameters
[in]idThe id for the new route definition
Returns
the new route definition

Definition at line 368 of file RORouteDef.cpp.

References addLoadedAlternative(), RORoute::getColor(), RORoute::getEdgeVector(), RORoute::getStops(), myAlternatives, myMayBeDisconnected, myTryRepair, and RORouteDef().

Referenced by RONet::checkFlows(), and RORouteHandler::closeVehicle().

RORouteDef * RORouteDef::copyOrigDest ( const std::string &  id) const

Returns a origin-destination copy of the route definition.

The resulting route definition contains only a single route with origin and destination edge copied from this one

Parameters
[in]idThe id for the new route definition
Returns
the new route definition

Definition at line 355 of file RORouteDef.cpp.

References addLoadedAlternative(), RORoute::getColor(), RORoute::getFirst(), RORoute::getLast(), RORoute::getStops(), myAlternatives, and RORouteDef().

const ROEdge * RORouteDef::getDestination ( ) const

Definition at line 333 of file RORouteDef.cpp.

References myAlternatives.

Referenced by RORouteAggregator::processAllRoutes().

const RORoute* RORouteDef::getFirstRoute ( ) const
inline

Definition at line 108 of file RORouteDef.h.

References myAlternatives.

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

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

Returns the id.

Returns
The stored id

Definition at line 60 of file Named.h.

References Named::myID.

Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), Named::StoringVisitor::add(), MSDetectorControl::add(), addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBEdge::addSidewalk(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NBNode::buildCrossings(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBNode::buildInnerEdges(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getContainerStopID(), NBEdge::getCrossingAngle(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), PedestrianEdge< E, L, N >::getEffort(), NBEdge::getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNextLane(), GUIVehicle::getParameterWindow(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), MSVehicleControl::getWaitingVehicle(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), PedestrianEdge< E, L, N >::initPedestrianNetwork(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), NIImporter_OpenDrive::loadNetwork(), ODDistrictCont::makeDistricts(), MSPModel_Striping::moveInDirection(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSContainer::MSContainerStage_Waiting::MSContainerStage_Waiting(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTsender::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Container::notifyLeave(), MSDevice_Person::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), NIXMLEdgesHandler::setNodes(), MSLink::setRequestInformation(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSLCM_JE2013::wantsChange(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

SUMOReal RORouteDef::getOverallProb ( ) const

Returns the sum of the probablities of the contained routes.

Definition at line 380 of file RORouteDef.cpp.

References myAlternatives, and SUMOReal.

Referenced by RORouteHandler::closeRouteDistribution().

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

Invalidated assignment operator.

void RORouteDef::preComputeCurrentRoute ( SUMOAbstractRouter< ROEdge, ROVehicle > &  router,
SUMOTime  begin,
const ROVehicle veh 
) const

Builds the complete route (or chooses her from the list of alternatives, when existing)

XXX check for specified arrivalLane / departLane

Definition at line 105 of file RORouteDef.cpp.

References SUMOAbstractRouter< E, V >::compute(), OptionsCont::getBool(), MsgHandler::getErrorInstance(), ROVehicle::getID(), OptionsCont::getOptions(), MsgHandler::getWarningInstance(), MsgHandler::inform(), myAlternatives, Named::myID, myLastUsed, myNewRoute, myPrecomputed, myTryRepair, and repairCurrentRoute().

Referenced by buildCurrentRoute(), and RORouteAggregator::processAllRoutes().

void RORouteDef::repairCurrentRoute ( SUMOAbstractRouter< ROEdge, ROVehicle > &  router,
SUMOTime  begin,
const ROVehicle veh 
) const
void Named::setID ( const std::string &  newID)
inlineinherited

resets the id

Parameters
[in]newIDThe new id of this object

Definition at line 68 of file Named.h.

References Named::myID.

Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().

static void RORouteDef::setUsingJTRR ( )
inlinestatic

Definition at line 146 of file RORouteDef.h.

References myUsingJTRR.

Referenced by computeRoutes().

OutputDevice & RORouteDef::writeXMLDefinition ( OutputDevice dev,
const ROVehicle *const  veh,
bool  asAlternatives,
bool  withExitTimes 
) const

Saves the built route / route alternatives.

Writes the route into the given stream.

Parameters
[in]devThe device to write the route into
[in]asAlternativesWhether the route shall be saved as route alternatives
Returns
The same device for further usage

Definition at line 339 of file RORouteDef.cpp.

References OutputDevice::closeTag(), myAlternatives, myLastUsed, OutputDevice::openTag(), SUMO_ATTR_LAST, SUMO_TAG_ROUTE_DISTRIBUTION, and OutputDevice::writeAttr().

Referenced by ROVehicle::saveAllAsXML().

Field Documentation

unsigned int RORouteDef::myLastUsed
mutableprotected

Index of the route used within the last step.

Definition at line 155 of file RORouteDef.h.

Referenced by addAlternative(), preComputeCurrentRoute(), and writeXMLDefinition().

const bool RORouteDef::myMayBeDisconnected
protected

Definition at line 167 of file RORouteDef.h.

Referenced by copy(), and repairCurrentRoute().

bool RORouteDef::myNewRoute
mutableprotected

Information whether a new route was generated.

Definition at line 164 of file RORouteDef.h.

Referenced by addAlternative(), preComputeCurrentRoute(), and repairCurrentRoute().

RORoute* RORouteDef::myPrecomputed
mutableprotected

precomputed route for out-of-order computation

Definition at line 152 of file RORouteDef.h.

Referenced by buildCurrentRoute(), preComputeCurrentRoute(), and repairCurrentRoute().

std::set<RORoute*> RORouteDef::myRouteRefs
protected

Routes which are deleted someplace else.

Definition at line 161 of file RORouteDef.h.

Referenced by addAlternativeDef(), and ~RORouteDef().

const bool RORouteDef::myTryRepair
protected

Definition at line 166 of file RORouteDef.h.

Referenced by addAlternative(), copy(), and preComputeCurrentRoute().

bool RORouteDef::myUsingJTRR
staticprotected

Definition at line 169 of file RORouteDef.h.

Referenced by repairCurrentRoute(), and setUsingJTRR().


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