SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RORouteDef Class Reference

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

#include <RORouteDef.h>

Inheritance diagram for RORouteDef:
ReferencedItem 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 std::string & getID () const
 Returns the id. More...
 
SUMOReal getOverallProb () const
 Returns the sum of the probablities of the contained routes. More...
 
bool isSaved () const
 Returns the information whether this item was already saved. More...
 
void markSaved ()
 Marks the item as saved. 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)
 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...
 

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...
 
bool myNewRoute
 Information whether a new route was generated. More...
 
RORoutemyPrecomputed
 precomputed route for out-of-order computation More...
 
const bool myTryRepair
 

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 
)

Constructor.

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

Definition at line 59 of file RORouteDef.cpp.

Referenced by copy(), and copyOrigDest().

RORouteDef::~RORouteDef ( )
virtual

Destructor.

Definition at line 66 of file RORouteDef.cpp.

References myAlternatives.

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 80 of file RORouteDef.cpp.

References myAlternatives.

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 74 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
in,filled]cont The container to add this item to

Definition at line 114 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 87 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 352 of file RORouteDef.cpp.

References addLoadedAlternative(), RORoute::getColor(), RORoute::getEdgeVector(), myAlternatives, 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 339 of file RORouteDef.cpp.

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

const ROEdge * RORouteDef::getDestination ( ) const

Definition at line 317 of file RORouteDef.cpp.

References myAlternatives.

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(), Named::StoringVisitor::add(), MSDetectorControl::add(), addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSSimpleTrafficLightLogic::changeStepAndDuration(), NBEdge::checkGeometry(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NBEdge::connections_sorter(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), GUINet::createTLWrapper(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), RODFNet::getDetectorEdge(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), AGStreet::getName(), NIImporter_VISUM::getNamedEdgeContinuating(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), RODFDetectorCon::guessEmptyFlows(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), NBRampsComputer::moveRampRight(), MSPerson::MSPersonStage_Waiting::MSPersonStage_Waiting(), MSVehicle::MSVehicle(), NBOwnTLDef::myCompute(), NBLoadedTLDef::myCompute(), NIXMLTrafficLightsHandler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSCalibrator::VehicleRemover::notifyEnter(), MSDevice_Person::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Example::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::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(), NBLoadedTLDef::SignalGroup::patchTYellow(), AGStreet::print(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), NWWriter_SUMO::prohibitionConnection(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), 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(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), GUITrafficLightLogicWrapper::switchTLSLogic(), NIXMLConnectionsHandler::validateLaneInfo(), TraCIServerAPI_Vehicle::vtdMap_matchingEdgeLane(), TraCIServerAPI_Vehicle::vtdMap_matchingRoutePosition(), 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(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().

SUMOReal RORouteDef::getOverallProb ( ) const

Returns the sum of the probablities of the contained routes.

Definition at line 364 of file RORouteDef.cpp.

References myAlternatives, and SUMOReal.

Referenced by RORouteHandler::closeRouteDistribution().

bool ReferencedItem::isSaved ( ) const
inlineinherited

Returns the information whether this item was already saved.

Returns
Whether this item was saved

Definition at line 59 of file ReferencedItem.h.

References ReferencedItem::myWasSaved.

Referenced by RONet::computeRoute(), and ROVehicle::saveAllAsXML().

void ReferencedItem::markSaved ( )
inlineinherited

Marks the item as saved.

Definition at line 66 of file ReferencedItem.h.

References ReferencedItem::myWasSaved.

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 97 of file RORouteDef.cpp.

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

Referenced by buildCurrentRoute().

void RORouteDef::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)

should happen with jtrrouter only

XXX could be connected from a prohibited lane only

Definition at line 145 of file RORouteDef.cpp.

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

Referenced by preComputeCurrentRoute().

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

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 323 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

std::vector<RORoute*> RORouteDef::myAlternatives
protected
unsigned int RORouteDef::myLastUsed
mutableprotected

Index of the route used within the last step.

Definition at line 147 of file RORouteDef.h.

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

bool RORouteDef::myNewRoute
mutableprotected

Information whether a new route was generated.

Definition at line 153 of file RORouteDef.h.

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

RORoute* RORouteDef::myPrecomputed
mutableprotected

precomputed route for out-of-order computation

Definition at line 144 of file RORouteDef.h.

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

const bool RORouteDef::myTryRepair
protected

Definition at line 155 of file RORouteDef.h.

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


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