SUMO - Simulation of Urban MObility
|
Base class for a vehicle's route definition. More...
#include <RORouteDef.h>
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... | |
RORoute * | buildCurrentRoute (SUMOAbstractRouter< ROEdge, ROVehicle > &router, SUMOTime begin, const ROVehicle &veh) const |
Triggers building of the complete route (via preComputeCurrentRoute) or returns precomputed route. More... | |
RORouteDef * | copy (const std::string &id) const |
Returns a deep copy of the route definition. More... | |
RORouteDef * | copyOrigDest (const std::string &id) const |
Returns a origin-destination copy of the route definition. More... | |
const ROEdge * | getDestination () 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... | |
OutputDevice & | writeXMLDefinition (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... | |
RORoute * | myPrecomputed |
precomputed route for out-of-order computation More... | |
const bool | myTryRepair |
Private Member Functions | |
RORouteDef & | operator= (const RORouteDef &src) |
Invalidated assignment operator. More... | |
RORouteDef (const RORouteDef &src) | |
Invalidated copy constructor. More... | |
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.
RORouteDef::RORouteDef | ( | const std::string & | id, |
const unsigned int | lastUsed, | ||
const bool | tryRepair | ||
) |
Constructor.
[in] | id | The id of the route |
[in] | color | The color of the route |
Definition at line 58 of file RORouteDef.cpp.
Referenced by copy(), and copyOrigDest().
|
virtual |
|
private |
Invalidated copy constructor.
void RORouteDef::addAlternative | ( | SUMOAbstractRouter< ROEdge, ROVehicle > & | router, |
const ROVehicle * const | veh, | ||
RORoute * | current, | ||
SUMOTime | begin | ||
) |
Adds an alternative to the list of routes.
(This may be the new route)
Definition at line 163 of file RORouteDef.cpp.
References ROCostCalculator::calculateProbabilities(), ROCostCalculator::getCalculator(), RORoute::getEdgeVector(), Named::getID(), ROVehicle::getID(), ROCostCalculator::getMaxRouteNumber(), RORoute::getProbability(), myAlternatives, myLastUsed, myNewRoute, myTryRepair, RandHelper::rand(), SUMOAbstractRouter< E, V >::recomputeCosts(), ROCostCalculator::setCosts(), RORoute::setCosts(), RORoute::setProbability(), and SUMOReal.
Referenced by RONet::computeRoute().
void RORouteDef::addAlternativeDef | ( | const RORouteDef * | alternative | ) |
Adds an alternative loaded from the file.
Definition at line 79 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 73 of file RORouteDef.cpp.
References myAlternatives.
Referenced by RORouteHandler::closeRoute(), copy(), copyOrigDest(), RORDLoader_TripDefs::myEndElement(), RORDGenerator_ODAmounts::myEndFlowAmountDef(), and RORDLoader_SUMOBase::parseRoute().
|
inlineinherited |
Adds this object to the given container.
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 86 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
[in] | id | The id for the new route definition |
Definition at line 286 of file RORouteDef.cpp.
References addLoadedAlternative(), RORoute::getColor(), RORoute::getEdgeVector(), myAlternatives, myTryRepair, and RORouteDef().
Referenced by RORDLoader_SUMOBase::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
[in] | id | The id for the new route definition |
Definition at line 273 of file RORouteDef.cpp.
References addLoadedAlternative(), RORoute::getColor(), RORoute::getFirst(), RORoute::getLast(), myAlternatives, and RORouteDef().
Referenced by RORDGenerator_ODAmounts::FlowDef::addSingleRoute().
const ROEdge * RORouteDef::getDestination | ( | ) | const |
Definition at line 251 of file RORouteDef.cpp.
References myAlternatives.
|
inlineinherited |
Returns the id.
Definition at line 60 of file Named.h.
References Named::myID.
Referenced by Named::StoringVisitor::add(), MSDetectorControl::add(), addAlternative(), MSNet::addBusStop(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), NIImporter_OpenDrive::addE2EConnectionsSecure(), RONet::addNode(), NIImporter_SUMO::addPhase(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciStop(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NIVisumTL::build(), MS_E2_ZS_CollectorOverLanes::buildCollector(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), NBEdge::buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSVehicleTransfer::checkInsertions(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), NBTrafficLightDefinition::collectEdges(), NBOwnTLDef::collectLinks(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), NBEdge::computeLaneShapes(), NBNode::computeLogic(), NBNode::computeNodeShape(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBEdge::connections_sorter(), MSLane::detectCollisions(), NIVissimDistrictConnection::dict_BuildDistricts(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), MSNet::getBusStopID(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), NLTriggerBuilder::getPosition(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBEdgeCont::ignoreFilterMatch(), MSActuatedTrafficLightLogic::init(), MSAgentbasedTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), NBEdgeCont::insert(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), NIImporter_OpenDrive::loadNetwork(), MSVehicle::moveChecked(), 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_Tripinfo::notifyEnter(), MSDevice_Tripinfo::notifyLeave(), MSDevice_Person::notifyLeave(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::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(), RORDLoader_SUMOBase::parseRoute(), NBLoadedTLDef::SignalGroup::patchTYellow(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), 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(), PCPolyContainer::save(), RONet::saveAndRemoveRoutesUntil(), NBNodeCont::setAsTLControlled(), NBEdge::setControllingTLInformation(), MSLane::setCritical(), NIXMLEdgesHandler::setNodes(), NBOwnTLDef::setTLControllingInformation(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), RORDLoader_SUMOBase::startRoute(), NBEdge::startShapeAt(), NIXMLConnectionsHandler::validateLaneInfo(), MSEmissionExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSInductLoop::writeTypedXMLOutput(), MSFullExport::writeVehicles(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
SUMOReal RORouteDef::getOverallProb | ( | ) | const |
Returns the sum of the probablities of the contained routes.
Definition at line 298 of file RORouteDef.cpp.
References myAlternatives, and SUMOReal.
Referenced by RORouteHandler::closeRouteDistribution().
|
inlineinherited |
Returns the information whether this item was already saved.
Definition at line 59 of file ReferencedItem.h.
References ReferencedItem::myWasSaved.
Referenced by RONet::computeRoute(), and ROVehicle::saveAllAsXML().
|
inlineinherited |
Marks the item as saved.
Definition at line 66 of file ReferencedItem.h.
References ReferencedItem::myWasSaved.
|
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)
Definition at line 96 of file RORouteDef.cpp.
References SUMOAbstractRouter< E, V >::compute(), ROCostCalculator::getCalculator(), 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)
Definition at line 129 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().
|
inlineinherited |
resets the id
[in] | newID | The 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.
[in] | dev | The device to write the route into |
[in] | asAlternatives | Whether the route shall be saved as route alternatives |
Definition at line 257 of file RORouteDef.cpp.
References OutputDevice::closeOpener(), OutputDevice::closeTag(), myAlternatives, myLastUsed, OutputDevice::openTag(), SUMO_ATTR_LAST, SUMO_TAG_ROUTE_DISTRIBUTION, and OutputDevice::writeAttr().
Referenced by ROVehicle::saveAllAsXML().
|
protected |
The alternatives.
Definition at line 150 of file RORouteDef.h.
Referenced by addAlternative(), addAlternativeDef(), addLoadedAlternative(), copy(), copyOrigDest(), getDestination(), getOverallProb(), preComputeCurrentRoute(), repairCurrentRoute(), writeXMLDefinition(), and ~RORouteDef().
|
protectedinherited |
The name of the object.
Definition at line 121 of file Named.h.
Referenced by NLDetectorBuilder::addE3Entry(), NLDetectorBuilder::addE3Exit(), NBEdge::computeEdgeShape(), Named::getID(), NBEdge::getLaneID(), NBEdge::init(), preComputeCurrentRoute(), NBEdge::reinitNodes(), MSRoute::release(), repairCurrentRoute(), Named::setID(), NBEdge::splitGeometry(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), MSE3Collector::writeXMLOutput(), and MSMeanData::writeXMLOutput().
|
mutableprotected |
Index of the route used within the last step.
Definition at line 147 of file RORouteDef.h.
Referenced by addAlternative(), preComputeCurrentRoute(), and writeXMLDefinition().
|
mutableprotected |
Information whether a new route was generated.
Definition at line 153 of file RORouteDef.h.
Referenced by addAlternative(), preComputeCurrentRoute(), and repairCurrentRoute().
|
mutableprotected |
precomputed route for out-of-order computation
Definition at line 144 of file RORouteDef.h.
Referenced by buildCurrentRoute(), preComputeCurrentRoute(), and repairCurrentRoute().
|
protected |
Definition at line 155 of file RORouteDef.h.
Referenced by addAlternative(), copy(), and preComputeCurrentRoute().