Eclipse SUMO - Simulation of Urban MObility
RONet Class Reference

The router's network representation. More...

#include <RONet.h>

Inheritance diagram for RONet:
[legend]
Collaboration diagram for RONet:
[legend]

Public Types

typedef std::map< const SUMOTime, std::vector< RORoutable * > > RoutablesMap
 

Public Member Functions

void addRestriction (const std::string &id, const SUMOVehicleClass svc, const double speed)
 Adds a restriction for an edge type. More...
 
const std::map< SUMOVehicleClass, double > * getRestrictions (const std::string &id) const
 Returns the restrictions for an edge type If no restrictions are present, 0 is returned. More...
 
 RONet ()
 Constructor. More...
 
virtual ~RONet ()
 Destructor. More...
 
Insertion and retrieval of graph parts
virtual bool addEdge (ROEdge *edge)
 
bool addDistrict (const std::string id, ROEdge *source, ROEdge *sink)
 
bool addDistrictEdge (const std::string tazID, const std::string edgeID, const bool isSource)
 
void addJunctionTaz (ROAbstractEdgeBuilder &eb)
 add a taz for every junction unless a taz with the same id already exists More...
 
void setBidiEdges (const std::map< ROEdge *, std::string > &bidiMap)
 add a taz for every junction unless a taz with the same id already exists More...
 
const std::map< std::string, std::pair< std::vector< std::string >, std::vector< std::string > > > & getDistricts () const
 Retrieves all TAZ (districts) from the network. More...
 
ROEdgegetEdge (const std::string &name) const
 Retrieves an edge from the network. More...
 
ROEdgegetEdgeForLaneID (const std::string &laneID) const
 Retrieves an edge from the network when the lane id is given. More...
 
ROLanegetLane (const std::string &laneID) const
 Retrieves a lane rom the network given its id. More...
 
void addNode (RONode *node)
 
RONodegetNode (const std::string &id) const
 Retrieves an node from the network. More...
 
void addStoppingPlace (const std::string &id, const SumoXMLTag category, SUMOVehicleParameter::Stop *stop)
 
const SUMOVehicleParameter::StopgetStoppingPlace (const std::string &id, const SumoXMLTag category) const
 Retrieves a stopping place from the network. More...
 
const std::string getStoppingPlaceName (const std::string &id) const
 return the name for the given stopping place id More...
 
const std::string getStoppingPlaceElement (const std::string &id) const
 return the element name for the given stopping place id More...
 
Insertion and retrieval of vehicle types, vehicles, routes, and route definitions
bool checkVType (const std::string &id)
 Checks whether the vehicle type (distribution) may be added. More...
 
virtual bool addVehicleType (SUMOVTypeParameter *type)
 Adds a read vehicle type definition to the network. More...
 
bool addVTypeDistribution (const std::string &id, RandomDistributor< SUMOVTypeParameter * > *vehTypeDistribution)
 Adds a vehicle type distribution. More...
 
const RandomDistributor< SUMOVTypeParameter * > * getVTypeDistribution (const std::string &id)
 Retrieves the named vehicle type distribution. More...
 
SUMOVTypeParametergetVehicleTypeSecure (const std::string &id)
 Retrieves the named vehicle type. More...
 
bool addRouteDef (RORouteDef *def)
 
RORouteDefgetRouteDef (const std::string &name) const
 Returns the named route definition. More...
 
virtual bool addVehicle (const std::string &id, ROVehicle *veh)
 
bool knowsVehicle (const std::string &id) const
 returns whether a vehicle with the given id was already loaded More...
 
SUMOTime getDeparture (const std::string &vehID) const
 returns departure time for the given vehicle id More...
 
bool addFlow (SUMOVehicleParameter *flow, const bool randomize)
 
bool addPerson (ROPerson *person)
 
void addContainer (const SUMOTime depart, const std::string desc)
 

Static Public Member Functions

static RONetgetInstance ()
 Returns the pointer to the unique instance of RONet (singleton). More...
 

Processing stored vehicle definitions

typedef std::map< std::string, RandomDistributor< SUMOVTypeParameter * > * > VTypeDistDictType
 Vehicle type distribution dictionary type. More...
 
typedef std::multimap< const SUMOTime, const std::string > ContainerMap
 Known containers. More...
 
static RONetmyInstance = nullptr
 Unique instance of RONet. More...
 
std::map< std::string, SUMOTimemyVehIDs
 Known vehicle ids and their departure. More...
 
std::set< std::string > myPersonIDs
 Known person ids. More...
 
NamedObjectCont< RONode * > myNodes
 Known nodes. More...
 
NamedObjectCont< ROEdge * > myEdges
 Known edges. More...
 
std::map< SumoXMLTag, NamedObjectCont< SUMOVehicleParameter::Stop * > > myStoppingPlaces
 Known bus / train / container stops and parking areas. More...
 
NamedObjectCont< SUMOVTypeParameter * > myVehicleTypes
 Known vehicle types. More...
 
VTypeDistDictType myVTypeDistDict
 A distribution of vehicle types (probability->vehicle type) More...
 
bool myDefaultVTypeMayBeDeleted
 Whether the default vehicle type was already used or can still be replaced. More...
 
bool myDefaultPedTypeMayBeDeleted
 Whether the default pedestrian type was already used or can still be replaced. More...
 
bool myDefaultBikeTypeMayBeDeleted
 Whether the default bicycle type was already used or can still be replaced. More...
 
bool myDefaultTaxiTypeMayBeDeleted
 Whether the default taxi type was already used or can still be replaced. More...
 
bool myDefaultRailTypeMayBeDeleted
 Whether the default rail type was already used or can still be replaced. More...
 
NamedObjectCont< RORouteDef * > myRoutes
 Known routes. More...
 
RoutablesMap myRoutables
 Known routables. More...
 
NamedObjectCont< SUMOVehicleParameter * > myFlows
 Known flows. More...
 
bool myHaveActiveFlows
 whether any flows are still active More...
 
ContainerMap myContainers
 
std::vector< const RORoutable * > myPTVehicles
 vehicles to keep for public transport routing More...
 
std::map< std::string, std::vector< SUMOTime > > myDepartures
 Departure times for randomized flows. More...
 
std::map< std::string, std::pair< std::vector< std::string >, std::vector< std::string > > > myDistricts
 traffic assignment zones with sources and sinks More...
 
OutputDevicemyRoutesOutput
 The file to write the computed routes into. More...
 
OutputDevicemyRouteAlternativesOutput
 The file to write the computed route alternatives into. More...
 
OutputDevicemyTypesOutput
 The file to write the vehicle types into. More...
 
int myReadRouteNo
 The number of read routes. More...
 
int myDiscardedRouteNo
 The number of discarded routes. More...
 
int myWrittenRouteNo
 The number of written routes. More...
 
bool myHavePermissions
 Whether the network contains edges which not all vehicles may pass. More...
 
std::map< std::string, std::map< SUMOVehicleClass, double > > myRestrictions
 The vehicle class specific speed restrictions. More...
 
int myNumInternalEdges
 The number of internal edges in the dictionary. More...
 
MsgHandlermyErrorHandler
 handler for ignorable error messages More...
 
const bool myKeepVTypeDist
 whether to keep the the vtype distribution in output More...
 
const bool myDoPTRouting
 whether to calculate routes for public transport More...
 
bool myHasBidiEdges
 whether the network contains bidirectional railway edges More...
 
SUMOTime saveAndRemoveRoutesUntil (OptionsCont &options, const RORouterProvider &provider, SUMOTime time)
 Computes routes described by their definitions and saves them. More...
 
bool furtherStored ()
 Returns the information whether further vehicles, persons or containers are stored. More...
 
void openOutput (const OptionsCont &options)
 Opens the output for computed routes. More...
 
void writeIntermodal (const OptionsCont &options, ROIntermodalRouter &router) const
 Writes the intermodal network and weights if requested. More...
 
void cleanup ()
 closes the file output for computed routes and deletes associated threads if necessary More...
 
int getEdgeNumber () const
 Returns the total number of edges the network contains including internal edges. More...
 
int getInternalEdgeNumber () const
 Returns the number of internal edges the network contains. More...
 
const NamedObjectCont< ROEdge * > & getEdgeMap () const
 
bool hasPermissions () const
 
void setPermissionsFound ()
 
bool hasBidiEdges () const
 return whether the network contains bidirectional rail edges More...
 
bool hasLoadedEffort () const
 whether efforts were loaded from file More...
 
OutputDevicegetRouteOutput (const bool alternative=false)
 
static void adaptIntermodalRouter (ROIntermodalRouter &router)
 
void checkFlows (SUMOTime time, MsgHandler *errorHandler)
 
void createBulkRouteRequests (const RORouterProvider &provider, const SUMOTime time, const bool removeLoops)
 
 RONet (const RONet &src)
 Invalidated copy constructor. More...
 
RONetoperator= (const RONet &src)
 Invalidated assignment operator. More...
 

Detailed Description

The router's network representation.

A router network is responsible for watching loaded edges, nodes,!!!

Definition at line 62 of file RONet.h.

Member Typedef Documentation

◆ ContainerMap

typedef std::multimap<const SUMOTime, const std::string> RONet::ContainerMap
private

Known containers.

Definition at line 537 of file RONet.h.

◆ RoutablesMap

typedef std::map<const SUMOTime, std::vector<RORoutable*> > RONet::RoutablesMap

Definition at line 65 of file RONet.h.

◆ VTypeDistDictType

typedef std::map< std::string, RandomDistributor<SUMOVTypeParameter*>* > RONet::VTypeDistDictType
private

Vehicle type distribution dictionary type.

Definition at line 505 of file RONet.h.

Constructor & Destructor Documentation

◆ RONet() [1/2]

◆ ~RONet()

RONet::~RONet ( )
virtual

◆ RONet() [2/2]

RONet::RONet ( const RONet src)
private

Invalidated copy constructor.

Member Function Documentation

◆ adaptIntermodalRouter()

◆ addContainer()

void RONet::addContainer ( const SUMOTime  depart,
const std::string  desc 
)

Definition at line 534 of file RONet.cpp.

References myContainers.

Referenced by RORouteHandler::closeContainer(), and RORouteHandler::closeContainerFlow().

Here is the caller graph for this function:

◆ addDistrict()

bool RONet::addDistrict ( const std::string  id,
ROEdge source,
ROEdge sink 
)

Definition at line 174 of file RONet.cpp.

References addEdge(), CONNECTOR, myDistricts, ROEdge::setFunction(), ROEdge::setOtherTazConnector(), TL, and WRITE_ERRORF.

Referenced by addJunctionTaz(), and RONetHandler::parseDistrict().

Here is the caller graph for this function:

◆ addDistrictEdge()

bool RONet::addDistrictEdge ( const std::string  tazID,
const std::string  edgeID,
const bool  isSource 
)

Definition at line 197 of file RONet.cpp.

References ROEdge::addSuccessor(), getEdge(), myDistricts, TL, and WRITE_ERRORF.

Referenced by RONetHandler::parseDistrict(), and RONetHandler::parseDistrictEdge().

Here is the caller graph for this function:

◆ addEdge()

bool RONet::addEdge ( ROEdge edge)
virtual

Definition at line 160 of file RONet.cpp.

References NamedObjectCont< T >::add(), Named::getID(), ROEdge::isInternal(), myEdges, myNumInternalEdges, TL, and WRITE_ERRORF.

Referenced by addDistrict(), and RONetHandler::parseEdge().

Here is the caller graph for this function:

◆ addFlow()

bool RONet::addFlow ( SUMOVehicleParameter flow,
const bool  randomize 
)

Definition at line 504 of file RONet.cpp.

References NamedObjectCont< T >::add(), SUMOVehicleParameter::depart, SUMOVehicleParameter::id, myDepartures, myFlows, myHaveActiveFlows, RandHelper::rand(), SUMOVehicleParameter::repetitionNumber, and SUMOVehicleParameter::repetitionOffset.

Referenced by RORouteHandler::closeFlow().

Here is the caller graph for this function:

◆ addJunctionTaz()

void RONet::addJunctionTaz ( ROAbstractEdgeBuilder eb)

add a taz for every junction unless a taz with the same id already exists

Definition at line 219 of file RONet.cpp.

References addDistrict(), ROEdge::addSuccessor(), ROAbstractEdgeBuilder::buildEdge(), RONode::getIncoming(), RONode::getOutgoing(), myDistricts, myNodes, ROEdge::setOtherTazConnector(), TL, and WRITE_WARNINGF.

Referenced by ROLoader::loadNet().

Here is the caller graph for this function:

◆ addNode()

void RONet::addNode ( RONode node)

Definition at line 268 of file RONet.cpp.

References NamedObjectCont< T >::add(), Named::getID(), myNodes, TL, and WRITE_ERRORF.

Referenced by RONetHandler::parseEdge().

Here is the caller graph for this function:

◆ addPerson()

bool RONet::addPerson ( ROPerson person)

Definition at line 522 of file RONet.cpp.

References RORoutable::getDepart(), RORoutable::getID(), myPersonIDs, myRoutables, TL, and WRITE_ERRORF.

Referenced by RORouteHandler::addFlowPerson(), and RORouteHandler::closePerson().

Here is the caller graph for this function:

◆ addRestriction()

void RONet::addRestriction ( const std::string &  id,
const SUMOVehicleClass  svc,
const double  speed 
)

Adds a restriction for an edge type.

Parameters
[in]idThe id of the type
[in]svcThe vehicle class the restriction refers to
[in]speedThe restricted speed

Definition at line 144 of file RONet.cpp.

References myRestrictions.

Referenced by RONetHandler::myStartElement().

Here is the caller graph for this function:

◆ addRouteDef()

bool RONet::addRouteDef ( RORouteDef def)

Definition at line 286 of file RONet.cpp.

References NamedObjectCont< T >::add(), Named::getID(), and myRoutes.

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

Here is the caller graph for this function:

◆ addStoppingPlace()

void RONet::addStoppingPlace ( const std::string &  id,
const SumoXMLTag  category,
SUMOVehicleParameter::Stop stop 
)

Definition at line 277 of file RONet.cpp.

References myStoppingPlaces, SUMO_TAG_BUS_STOP, SUMO_TAG_TRAIN_STOP, TL, toString(), and WRITE_ERRORF.

Referenced by RONetHandler::parseStoppingPlace().

Here is the caller graph for this function:

◆ addVehicle()

bool RONet::addVehicle ( const std::string &  id,
ROVehicle veh 
)
virtual

Definition at line 466 of file RONet.cpp.

References SUMOVehicleParameter::departProcedure, RORoutable::getDepart(), ROVehicle::getDepartureTime(), RORoutable::getParameter(), RORoutable::isPartOfFlow(), RORoutable::isPublicTransport(), myDoPTRouting, myPTVehicles, myRoutables, myVehIDs, TL, TRIGGERED, and WRITE_ERRORF.

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

Here is the caller graph for this function:

◆ addVehicleType()

bool RONet::addVehicleType ( SUMOVTypeParameter type)
virtual

Adds a read vehicle type definition to the network.

If the vehicle type definition is already known (another one with the same id exists), false is returned, and the vehicle type is deleted.

Parameters
[in]defThe vehicle type to add
Returns
Whether the vehicle type could be added

Definition at line 442 of file RONet.cpp.

References NamedObjectCont< T >::add(), checkVType(), SUMOVTypeParameter::id, myVehicleTypes, TL, and WRITE_ERRORF.

Referenced by RORouteHandler::closeVType().

Here is the caller graph for this function:

◆ addVTypeDistribution()

bool RONet::addVTypeDistribution ( const std::string &  id,
RandomDistributor< SUMOVTypeParameter * > *  vehTypeDistribution 
)

Adds a vehicle type distribution.

If another vehicle type (or distribution) with the same id exists, false is returned. Otherwise, the vehicle type distribution is added to the internal vehicle type distribution container "myVTypeDistDict".

This control get responsible for deletion of the added vehicle type distribution.

Parameters
[in]idThe id of the distribution to add
[in]vehTypeDistributionThe vehicle type distribution to add
Returns
Whether the vehicle type could be added

Definition at line 455 of file RONet.cpp.

References checkVType(), and myVTypeDistDict.

Referenced by RORouteHandler::closeVehicleTypeDistribution().

Here is the caller graph for this function:

◆ checkFlows()

◆ checkVType()

bool RONet::checkVType ( const std::string &  id)

Checks whether the vehicle type (distribution) may be added.

This method checks also whether the default type may still be replaced

Parameters
[in]idThe id of the vehicle type (distribution) to add
Returns
Whether the type (distribution) may be added

Definition at line 396 of file RONet.cpp.

References DEFAULT_BIKETYPE_ID, DEFAULT_PEDTYPE_ID, DEFAULT_RAILTYPE_ID, DEFAULT_TAXITYPE_ID, DEFAULT_VTYPE_ID, NamedObjectCont< T >::get(), myDefaultBikeTypeMayBeDeleted, myDefaultPedTypeMayBeDeleted, myDefaultRailTypeMayBeDeleted, myDefaultTaxiTypeMayBeDeleted, myDefaultVTypeMayBeDeleted, myVehicleTypes, myVTypeDistDict, and NamedObjectCont< T >::remove().

Referenced by addVehicleType(), and addVTypeDistribution().

Here is the caller graph for this function:

◆ cleanup()

void RONet::cleanup ( )

closes the file output for computed routes and deletes associated threads if necessary

Definition at line 340 of file RONet.cpp.

References RouteCostCalculator< R, E, V >::cleanup(), OutputDevice::close(), myRouteAlternativesOutput, myRoutesOutput, and myTypesOutput.

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ createBulkRouteRequests()

void RONet::createBulkRouteRequests ( const RORouterProvider provider,
const SUMOTime  time,
const bool  removeLoops 
)
private

Definition at line 626 of file RONet.cpp.

References RORoutable::computeRoute(), RORoutable::getDepartEdge(), RORoutable::getID(), RORoutable::getMaxSpeed(), ROEdge::getNumericalID(), RORoutable::getVClass(), myErrorHandler, myRoutables, RouterProvider< E, L, N, V >::setBulkMode(), TL, and WRITE_WARNINGF.

Referenced by saveAndRemoveRoutesUntil().

Here is the caller graph for this function:

◆ furtherStored()

bool RONet::furtherStored ( )

Returns the information whether further vehicles, persons or containers are stored.

Definition at line 787 of file RONet.cpp.

References myContainers, myFlows, myHaveActiveFlows, myRoutables, and NamedObjectCont< T >::size().

Referenced by ROLoader::openRoutes(), and ROLoader::processRoutes().

Here is the caller graph for this function:

◆ getDeparture()

SUMOTime RONet::getDeparture ( const std::string &  vehID) const

returns departure time for the given vehicle id

Definition at line 493 of file RONet.cpp.

References myVehIDs, and TLF.

Referenced by RORouteHandler::addRide(), and RORouteHandler::addTransport().

Here is the caller graph for this function:

◆ getDistricts()

const std::map<std::string, std::pair<std::vector<std::string>, std::vector<std::string> > >& RONet::getDistricts ( ) const
inline

Retrieves all TAZ (districts) from the network.

Returns
The map of all districts

Definition at line 145 of file RONet.h.

References myDistricts.

Referenced by main().

Here is the caller graph for this function:

◆ getEdge()

◆ getEdgeForLaneID()

ROEdge * RONet::getEdgeForLaneID ( const std::string &  laneID) const

Retrieves an edge from the network when the lane id is given.

Parameters
[in]laneIDThe name of the lane to retrieve the edge for
Returns
The edge of the named lane if known, otherwise 0

Definition at line 805 of file RONet.cpp.

References getEdge(), and SUMOXMLDefinitions::getEdgeIDFromLane().

Referenced by adaptIntermodalRouter(), getLane(), RONetHandler::parseAccess(), and RONetHandler::parseStoppingPlace().

Here is the caller graph for this function:

◆ getEdgeMap()

const NamedObjectCont<ROEdge*>& RONet::getEdgeMap ( ) const
inline

Definition at line 422 of file RONet.h.

References myEdges.

Referenced by RODFNet::buildApproachList(), AGCity::completeStreets(), ROMAAssignments::incremental(), RORouteHandler::initLaneTree(), initNet(), ROLoader::loadNet(), ROLoader::loadWeights(), ROMAAssignments::resetFlows(), ROMAAssignments::sue(), and ROMAAssignments::writeInterval().

Here is the caller graph for this function:

◆ getEdgeNumber()

int RONet::getEdgeNumber ( ) const

Returns the total number of edges the network contains including internal edges.

Definition at line 793 of file RONet.cpp.

References myEdges, and NamedObjectCont< T >::size().

Referenced by computeAllPairs(), computeRoutes(), and main().

Here is the caller graph for this function:

◆ getInstance()

RONet * RONet::getInstance ( void  )
static

Returns the pointer to the unique instance of RONet (singleton).

Returns
Pointer to the unique RONet-instance

Definition at line 56 of file RONet.cpp.

References myInstance, and TL.

Referenced by ROPerson::addTrip(), ROEdge::getStopPosition(), ROEdge::getSuccessors(), ROEdge::getViaSuccessors(), ROPerson::Stop::saveAsXML(), ROPerson::Ride::saveAsXML(), ROPerson::Walk::saveAsXML(), ROVehicle::saveAsXML(), and ROPerson::PersonTrip::saveVehicles().

Here is the caller graph for this function:

◆ getInternalEdgeNumber()

int RONet::getInternalEdgeNumber ( ) const

Returns the number of internal edges the network contains.

Definition at line 799 of file RONet.cpp.

References myNumInternalEdges.

Referenced by computeAllPairs().

Here is the caller graph for this function:

◆ getLane()

ROLane * RONet::getLane ( const std::string &  laneID) const

Retrieves a lane rom the network given its id.

Parameters
[in]laneIDThe name of the lane to retrieve the edge for
Returns
The lane object

Definition at line 811 of file RONet.cpp.

References getEdgeForLaneID(), SUMOXMLDefinitions::getIndexFromLane(), and ROEdge::getLanes().

Referenced by RONetHandler::parseAccess().

Here is the caller graph for this function:

◆ getNode()

RONode* RONet::getNode ( const std::string &  id) const
inline

Retrieves an node from the network.

Parameters
[in]nameThe name of the node to retrieve
Returns
The named node if known, otherwise 0
Todo:
Check whether a const pointer may be returned

Definition at line 193 of file RONet.h.

References NamedObjectCont< T >::get(), and myNodes.

Referenced by RONetHandler::parseEdge(), and RONetHandler::parseJunction().

Here is the caller graph for this function:

◆ getRestrictions()

const std::map< SUMOVehicleClass, double > * RONet::getRestrictions ( const std::string &  id) const

Returns the restrictions for an edge type If no restrictions are present, 0 is returned.

Parameters
[in]idThe id of the type
Returns
The mapping of vehicle classes to maximum speeds

Definition at line 150 of file RONet.cpp.

References myRestrictions.

Referenced by RONetHandler::parseEdge().

Here is the caller graph for this function:

◆ getRouteDef()

RORouteDef* RONet::getRouteDef ( const std::string &  name) const
inline

Returns the named route definition.

Parameters
[in]nameThe name of the route definition to retrieve
Returns
The named route definition if known, otherwise 0
Todo:

Check whether a const pointer may be returned

Rename myRoutes to myRouteDefinitions

Definition at line 318 of file RONet.h.

References NamedObjectCont< T >::get(), and myRoutes.

Referenced by adaptIntermodalRouter(), RORouteHandler::addWalk(), checkFlows(), RORouteHandler::closeFlow(), RORouteHandler::closeRoute(), RORouteHandler::closeVehicle(), RORouteHandler::openRoute(), and RORouteHandler::openRouteDistribution().

Here is the caller graph for this function:

◆ getRouteOutput()

OutputDevice* RONet::getRouteOutput ( const bool  alternative = false)
inline

Definition at line 440 of file RONet.h.

References myRouteAlternativesOutput, and myRoutesOutput.

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ getStoppingPlace()

const SUMOVehicleParameter::Stop* RONet::getStoppingPlace ( const std::string &  id,
const SumoXMLTag  category 
) const
inline

Retrieves a stopping place from the network.

Parameters
[in]idThe name of the stop to retrieve
[in]categoryThe type of stop
Returns
The named stop if known, otherwise 0

Definition at line 216 of file RONet.h.

References myStoppingPlaces.

Referenced by RORouteHandler::retrieveStoppingPlace().

Here is the caller graph for this function:

◆ getStoppingPlaceElement()

const std::string RONet::getStoppingPlaceElement ( const std::string &  id) const

return the element name for the given stopping place id

Definition at line 896 of file RONet.cpp.

References SUMOVehicleParameter::Stop::actType, myStoppingPlaces, SUMO_TAG_BUS_STOP, and toString().

Referenced by ROPerson::Ride::saveAsXML(), and ROPerson::Walk::saveAsXML().

Here is the caller graph for this function:

◆ getStoppingPlaceName()

const std::string RONet::getStoppingPlaceName ( const std::string &  id) const

return the name for the given stopping place id

Definition at line 884 of file RONet.cpp.

References SUMOVehicleParameter::Stop::busstop, and myStoppingPlaces.

Referenced by ROPerson::Stop::saveAsXML(), ROPerson::Ride::saveAsXML(), and ROPerson::Walk::saveAsXML().

Here is the caller graph for this function:

◆ getVehicleTypeSecure()

SUMOVTypeParameter * RONet::getVehicleTypeSecure ( const std::string &  id)

Retrieves the named vehicle type.

If the name is "" the default type is returned. If the named vehicle type (or typeDistribution) was not added to the net before nullptr is returned

Parameters
[in]idThe id of the vehicle type to return
Returns
The named vehicle type

Definition at line 364 of file RONet.cpp.

References DEFAULT_BIKETYPE_ID, DEFAULT_PEDTYPE_ID, DEFAULT_RAILTYPE_ID, DEFAULT_TAXITYPE_ID, DEFAULT_VTYPE_ID, NamedObjectCont< T >::get(), myDefaultBikeTypeMayBeDeleted, myDefaultPedTypeMayBeDeleted, myDefaultRailTypeMayBeDeleted, myDefaultTaxiTypeMayBeDeleted, myDefaultVTypeMayBeDeleted, myVehicleTypes, and myVTypeDistDict.

Referenced by RORouteHandler::addFlowPerson(), RORouteHandler::addStop(), ROPerson::addTrip(), checkFlows(), RORouteHandler::closeFlow(), RORouteHandler::closePerson(), RORouteHandler::closePersonFlow(), RORouteHandler::closeVehicle(), computeRoutes(), RORouteHandler::openRoute(), RORouteHandler::openVehicleTypeDistribution(), RORouteHandler::parseFromViaTo(), and ROMAAssignments::ROMAAssignments().

Here is the caller graph for this function:

◆ getVTypeDistribution()

const RandomDistributor<SUMOVTypeParameter*>* RONet::getVTypeDistribution ( const std::string &  id)
inline

Retrieves the named vehicle type distribution.

If the named vehicle type distribution was not added to the net before nullptr is returned

Parameters
[in]idThe id of the vehicle type distribution to return
Returns
The named vehicle type distribution

Definition at line 280 of file RONet.h.

References myVTypeDistDict.

Referenced by RORouteHandler::addStop(), RORouteHandler::openVehicleTypeDistribution(), and RORouteHandler::parseFromViaTo().

Here is the caller graph for this function:

◆ hasBidiEdges()

bool RONet::hasBidiEdges ( ) const
inline

return whether the network contains bidirectional rail edges

Definition at line 433 of file RONet.h.

References myHasBidiEdges.

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ hasLoadedEffort()

bool RONet::hasLoadedEffort ( ) const

whether efforts were loaded from file

Definition at line 874 of file RONet.cpp.

References myEdges.

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ hasPermissions()

bool RONet::hasPermissions ( ) const

Definition at line 863 of file RONet.cpp.

References myHavePermissions.

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ knowsVehicle()

bool RONet::knowsVehicle ( const std::string &  id) const

returns whether a vehicle with the given id was already loaded

Definition at line 488 of file RONet.cpp.

References myVehIDs.

Referenced by RORouteHandler::addRide(), and RORouteHandler::addTransport().

Here is the caller graph for this function:

◆ openOutput()

void RONet::openOutput ( const OptionsCont options)

Opens the output for computed routes.

If one of the file outputs can not be build, an IOError is thrown.

Parameters
[in]optionsThe options to be asked for "output-file", "alternatives-output" and "vtype-output"

Definition at line 292 of file RONet.cpp.

References OptionsCont::exists(), OptionsCont::getBool(), OutputDevice::getDevice(), OptionsCont::getString(), OutputDevice::isNull(), OptionsCont::isSet(), myRouteAlternativesOutput, myRoutesOutput, myTypesOutput, SUMO_TAG_ROUTES, OutputDevice::writeAttr(), and OutputDevice::writeHeader().

Referenced by computeRoutes().

Here is the caller graph for this function:

◆ operator=()

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

Invalidated assignment operator.

◆ saveAndRemoveRoutesUntil()

SUMOTime RONet::saveAndRemoveRoutesUntil ( OptionsCont options,
const RORouterProvider provider,
SUMOTime  time 
)

Computes routes described by their definitions and saves them.

As long as a vehicle with a departure time smaller than the given exists, its route is computed and it is written and removed from the internal container.

Parameters
[in]optionsThe options used during this process
[in]providerThe router provider for routes computation
[in]timeThe time until which route definitions shall be processed
Returns
The last seen departure time>=time

Definition at line 676 of file RONet.cpp.

References checkFlows(), RORoutable::computeRoute(), createBulkRouteRequests(), OptionsCont::getBool(), MsgHandler::getErrorInstance(), Named::getID(), OptionsCont::getInt(), ROVehicle::getRouteDefinition(), RORoutable::getRoutingSuccess(), MsgHandler::getWarningInstance(), RORoutable::isPartOfFlow(), RORoutable::isPublicTransport(), MIN2(), myContainers, myDiscardedRouteNo, myErrorHandler, myHaveActiveFlows, myRoutables, myRouteAlternativesOutput, myRoutes, myRoutesOutput, myTypesOutput, myVehIDs, myWrittenRouteNo, NamedObjectCont< T >::remove(), SUMOTime_MAX, toString(), RORoutable::write(), WRITE_MESSAGE, and OutputDevice::writePreformattedTag().

Referenced by ROLoader::processRoutes().

Here is the caller graph for this function:

◆ setBidiEdges()

void RONet::setBidiEdges ( const std::map< ROEdge *, std::string > &  bidiMap)

add a taz for every junction unless a taz with the same id already exists

Definition at line 255 of file RONet.cpp.

References NamedObjectCont< T >::get(), myEdges, myHasBidiEdges, TL, and WRITE_ERRORF.

Referenced by ROLoader::loadNet().

Here is the caller graph for this function:

◆ setPermissionsFound()

void RONet::setPermissionsFound ( )

Definition at line 869 of file RONet.cpp.

References myHavePermissions.

Referenced by RONetHandler::parseLane().

Here is the caller graph for this function:

◆ writeIntermodal()

void RONet::writeIntermodal ( const OptionsCont options,
ROIntermodalRouter router 
) const

Writes the intermodal network and weights if requested.

If one of the file outputs can not be build, an IOError is thrown.

Parameters
[in]optionsThe options to be asked for "intermodal-network-output" and "intermodal-weight-output"

Definition at line 321 of file RONet.cpp.

References OutputDevice::closeTag(), OutputDevice::createDeviceByOption(), OptionsCont::exists(), OutputDevice::getDevice(), OutputDevice::getDeviceByOption(), OptionsCont::getString(), OptionsCont::isSet(), OutputDevice::openTag(), SUMO_ATTR_BEGIN, SUMO_ATTR_END, SUMO_ATTR_ID, SUMO_TAG_INTERVAL, SUMOTime_MAX, OutputDevice::writeAttr(), IntermodalRouter< E, L, N, V >::writeNetwork(), and IntermodalRouter< E, L, N, V >::writeWeights().

Referenced by computeRoutes().

Here is the caller graph for this function:

Field Documentation

◆ myContainers

ContainerMap RONet::myContainers
private

Definition at line 538 of file RONet.h.

Referenced by addContainer(), furtherStored(), and saveAndRemoveRoutesUntil().

◆ myDefaultBikeTypeMayBeDeleted

bool RONet::myDefaultBikeTypeMayBeDeleted
private

Whether the default bicycle type was already used or can still be replaced.

Definition at line 516 of file RONet.h.

Referenced by checkVType(), and getVehicleTypeSecure().

◆ myDefaultPedTypeMayBeDeleted

bool RONet::myDefaultPedTypeMayBeDeleted
private

Whether the default pedestrian type was already used or can still be replaced.

Definition at line 513 of file RONet.h.

Referenced by checkVType(), and getVehicleTypeSecure().

◆ myDefaultRailTypeMayBeDeleted

bool RONet::myDefaultRailTypeMayBeDeleted
private

Whether the default rail type was already used or can still be replaced.

Definition at line 522 of file RONet.h.

Referenced by checkVType(), and getVehicleTypeSecure().

◆ myDefaultTaxiTypeMayBeDeleted

bool RONet::myDefaultTaxiTypeMayBeDeleted
private

Whether the default taxi type was already used or can still be replaced.

Definition at line 519 of file RONet.h.

Referenced by checkVType(), and getVehicleTypeSecure().

◆ myDefaultVTypeMayBeDeleted

bool RONet::myDefaultVTypeMayBeDeleted
private

Whether the default vehicle type was already used or can still be replaced.

Definition at line 510 of file RONet.h.

Referenced by checkVType(), and getVehicleTypeSecure().

◆ myDepartures

std::map<std::string, std::vector<SUMOTime> > RONet::myDepartures
private

Departure times for randomized flows.

Definition at line 544 of file RONet.h.

Referenced by addFlow(), and checkFlows().

◆ myDiscardedRouteNo

int RONet::myDiscardedRouteNo
private

The number of discarded routes.

Definition at line 562 of file RONet.h.

Referenced by saveAndRemoveRoutesUntil().

◆ myDistricts

std::map<std::string, std::pair<std::vector<std::string>, std::vector<std::string> > > RONet::myDistricts
private

traffic assignment zones with sources and sinks

Definition at line 547 of file RONet.h.

Referenced by addDistrict(), addDistrictEdge(), addJunctionTaz(), and getDistricts().

◆ myDoPTRouting

const bool RONet::myDoPTRouting
private

whether to calculate routes for public transport

Definition at line 583 of file RONet.h.

Referenced by addVehicle(), and checkFlows().

◆ myEdges

NamedObjectCont<ROEdge*> RONet::myEdges
private

Known edges.

Definition at line 496 of file RONet.h.

Referenced by addEdge(), getEdge(), getEdgeMap(), getEdgeNumber(), hasLoadedEffort(), and setBidiEdges().

◆ myErrorHandler

MsgHandler* RONet::myErrorHandler
private

handler for ignorable error messages

Definition at line 577 of file RONet.h.

Referenced by createBulkRouteRequests(), and saveAndRemoveRoutesUntil().

◆ myFlows

NamedObjectCont<SUMOVehicleParameter*> RONet::myFlows
private

Known flows.

Definition at line 531 of file RONet.h.

Referenced by adaptIntermodalRouter(), addFlow(), checkFlows(), and furtherStored().

◆ myHasBidiEdges

bool RONet::myHasBidiEdges
private

whether the network contains bidirectional railway edges

Definition at line 586 of file RONet.h.

Referenced by hasBidiEdges(), and setBidiEdges().

◆ myHaveActiveFlows

bool RONet::myHaveActiveFlows
private

whether any flows are still active

Definition at line 534 of file RONet.h.

Referenced by addFlow(), checkFlows(), furtherStored(), and saveAndRemoveRoutesUntil().

◆ myHavePermissions

bool RONet::myHavePermissions
private

Whether the network contains edges which not all vehicles may pass.

Definition at line 568 of file RONet.h.

Referenced by hasPermissions(), and setPermissionsFound().

◆ myInstance

RONet * RONet::myInstance = nullptr
staticprivate

Unique instance of RONet.

Definition at line 484 of file RONet.h.

Referenced by adaptIntermodalRouter(), getInstance(), and RONet().

◆ myKeepVTypeDist

const bool RONet::myKeepVTypeDist
private

whether to keep the the vtype distribution in output

Definition at line 580 of file RONet.h.

Referenced by checkFlows().

◆ myNodes

NamedObjectCont<RONode*> RONet::myNodes
private

Known nodes.

Definition at line 493 of file RONet.h.

Referenced by addJunctionTaz(), addNode(), and getNode().

◆ myNumInternalEdges

int RONet::myNumInternalEdges
private

The number of internal edges in the dictionary.

Definition at line 574 of file RONet.h.

Referenced by addEdge(), and getInternalEdgeNumber().

◆ myPersonIDs

std::set<std::string> RONet::myPersonIDs
private

Known person ids.

Definition at line 490 of file RONet.h.

Referenced by addPerson().

◆ myPTVehicles

std::vector<const RORoutable*> RONet::myPTVehicles
private

vehicles to keep for public transport routing

Definition at line 541 of file RONet.h.

Referenced by adaptIntermodalRouter(), addVehicle(), and ~RONet().

◆ myReadRouteNo

int RONet::myReadRouteNo
private

The number of read routes.

Definition at line 559 of file RONet.h.

◆ myRestrictions

std::map<std::string, std::map<SUMOVehicleClass, double> > RONet::myRestrictions
private

The vehicle class specific speed restrictions.

Definition at line 571 of file RONet.h.

Referenced by addRestriction(), and getRestrictions().

◆ myRoutables

RoutablesMap RONet::myRoutables
private

Known routables.

Definition at line 528 of file RONet.h.

Referenced by addPerson(), addVehicle(), createBulkRouteRequests(), furtherStored(), saveAndRemoveRoutesUntil(), and ~RONet().

◆ myRouteAlternativesOutput

OutputDevice* RONet::myRouteAlternativesOutput
private

The file to write the computed route alternatives into.

Definition at line 553 of file RONet.h.

Referenced by cleanup(), getRouteOutput(), openOutput(), and saveAndRemoveRoutesUntil().

◆ myRoutes

NamedObjectCont<RORouteDef*> RONet::myRoutes
private

Known routes.

Definition at line 525 of file RONet.h.

Referenced by addRouteDef(), getRouteDef(), saveAndRemoveRoutesUntil(), and ~RONet().

◆ myRoutesOutput

OutputDevice* RONet::myRoutesOutput
private

The file to write the computed routes into.

Definition at line 550 of file RONet.h.

Referenced by cleanup(), getRouteOutput(), openOutput(), and saveAndRemoveRoutesUntil().

◆ myStoppingPlaces

std::map<SumoXMLTag, NamedObjectCont<SUMOVehicleParameter::Stop*> > RONet::myStoppingPlaces
private

Known bus / train / container stops and parking areas.

Definition at line 499 of file RONet.h.

Referenced by adaptIntermodalRouter(), addStoppingPlace(), getStoppingPlace(), getStoppingPlaceElement(), and getStoppingPlaceName().

◆ myTypesOutput

OutputDevice* RONet::myTypesOutput
private

The file to write the vehicle types into.

Definition at line 556 of file RONet.h.

Referenced by cleanup(), openOutput(), and saveAndRemoveRoutesUntil().

◆ myVehicleTypes

NamedObjectCont<SUMOVTypeParameter*> RONet::myVehicleTypes
private

Known vehicle types.

Definition at line 502 of file RONet.h.

Referenced by addVehicleType(), checkVType(), getVehicleTypeSecure(), and RONet().

◆ myVehIDs

std::map<std::string, SUMOTime> RONet::myVehIDs
private

Known vehicle ids and their departure.

Definition at line 487 of file RONet.h.

Referenced by addVehicle(), getDeparture(), knowsVehicle(), and saveAndRemoveRoutesUntil().

◆ myVTypeDistDict

VTypeDistDictType RONet::myVTypeDistDict
private

A distribution of vehicle types (probability->vehicle type)

Definition at line 507 of file RONet.h.

Referenced by addVTypeDistribution(), checkVType(), getVehicleTypeSecure(), getVTypeDistribution(), and ~RONet().

◆ myWrittenRouteNo

int RONet::myWrittenRouteNo
private

The number of written routes.

Definition at line 565 of file RONet.h.

Referenced by saveAndRemoveRoutesUntil().


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