![]() |
SUMO - Simulation of Urban MObility
|
#include <MSNet.h>


Data Structures | |
| struct | TripItem |
Public Types | |
| typedef IntermodalNetwork< E, L, N, V > | Network |
| typedef double(* | Operation) (const E *const, const IntermodalTrip< E, N, V > *const, double) |
| Type of the function that is used to retrieve the edge effort. More... | |
Public Member Functions | |
| SUMOAbstractRouter< E, _IntermodalTrip > * | clone () |
| bool | compute (const E *from, const E *to, const double departPos, const double arrivalPos, const std::string stopID, const double speed, const V *const vehicle, const SVCPermissions modeSet, const SUMOTime msTime, std::vector< TripItem > &into, const double externalFactor=0.) |
| Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme. More... | |
| bool | compute (const E *, const E *, const _IntermodalTrip *const, SUMOTime, std::vector< const E *> &) |
| Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme. More... | |
| void | endQuery (int visits) |
| double | getEffort (const E *const e, const IntermodalTrip< E, N, V > *const v, double t) const |
| Network * | getNetwork () const |
| double | getTravelTime (const E *const e, const IntermodalTrip< E, N, V > *const v, const double t, const double effort) const |
| IntermodalRouter (CreateNetCallback callback, const int carWalkTransfer, const std::string &routingAlgorithm, const int routingMode=0, EffortCalculator *calc=nullptr) | |
| Constructor. More... | |
| virtual bool | isProhibited (const E *const, const IntermodalTrip< E, N, V > *const) const |
| void | prohibit (const std::vector< E *> &toProhibit) |
| double | recomputeCosts (const std::vector< const E * > &edges, const IntermodalTrip< E, N, V > *const v, SUMOTime msTime) const |
| void | setBulkMode (const bool mode) |
| void | startQuery () |
| void | updateViaCost (const E *const prev, const E *const e, const IntermodalTrip< E, N, V > *const v, double &time, double &effort) const |
| void | writeNetwork (OutputDevice &dev) |
| void | writeWeights (OutputDevice &dev) |
| virtual | ~IntermodalRouter () |
| Destructor. More... | |
Protected Attributes | |
| bool | myBulkMode |
| whether we are currently operating several route queries in a bulk More... | |
| Operation | myOperation |
| The object's operation to perform. More... | |
| Operation | myTTOperation |
| The object's operation to perform for travel times. More... | |
Private Types | |
| typedef IntermodalEdge< E, L, N, V > | _IntermodalEdge |
| typedef IntermodalTrip< E, N, V > | _IntermodalTrip |
| typedef AStarRouter< IntermodalEdge< E, L, N, V >, IntermodalTrip< E, N, V >, SUMOAbstractRouterPermissions< IntermodalEdge< E, L, N, V >, IntermodalTrip< E, N, V > > > | _InternalAStar |
| typedef DijkstraRouter< IntermodalEdge< E, L, N, V >, IntermodalTrip< E, N, V >, SUMOAbstractRouterPermissions< IntermodalEdge< E, L, N, V >, IntermodalTrip< E, N, V > > > | _InternalDijkstra |
| typedef SUMOAbstractRouterPermissions< IntermodalEdge< E, L, N, V >, IntermodalTrip< E, N, V > > | _InternalRouter |
| typedef void(* | CreateNetCallback) (IntermodalRouter< E, L, N, V > &) |
Private Member Functions | |
| void | createNet () |
| IntermodalRouter (Network *net, const int carWalkTransfer, const std::string &routingAlgorithm, const int routingMode, EffortCalculator *calc) | |
| IntermodalRouter & | operator= (const IntermodalRouter &s) |
| Invalidated assignment operator. More... | |
Static Private Member Functions | |
| static double | getCombined (const _IntermodalEdge *const edge, const _IntermodalTrip *const trip, double time) |
| static double | getEffortAggregated (const _IntermodalEdge *const edge, const _IntermodalTrip *const trip, double time) |
Private Attributes | |
| const bool | myAmClone |
| CreateNetCallback | myCallback |
| const int | myCarWalkTransfer |
| EffortCalculator *const | myExternalEffort |
| Network * | myIntermodalNet |
| _InternalRouter * | myInternalRouter |
| const std::string | myRoutingAlgorithm |
| const int | myRoutingMode |
The router for pedestrians (on a bidirectional network of sidewalks and crossings)
|
private |
Definition at line 61 of file IntermodalRouter.h.
|
private |
Definition at line 62 of file IntermodalRouter.h.
|
private |
Definition at line 65 of file IntermodalRouter.h.
|
private |
Definition at line 64 of file IntermodalRouter.h.
|
private |
Definition at line 63 of file IntermodalRouter.h.
|
private |
Definition at line 60 of file IntermodalRouter.h.
| typedef IntermodalNetwork<E, L, N, V> IntermodalRouter< E, L, N, V >::Network |
Definition at line 57 of file IntermodalRouter.h.
|
inherited |
Type of the function that is used to retrieve the edge effort.
Definition at line 49 of file SUMOAbstractRouter.h.
|
inline |
Constructor.
Definition at line 84 of file IntermodalRouter.h.
|
inlinevirtual |
Destructor.
Definition at line 93 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myAmClone, IntermodalRouter< E, L, N, V >::myIntermodalNet, and IntermodalRouter< E, L, N, V >::myInternalRouter.
|
inlineprivate |
Definition at line 222 of file IntermodalRouter.h.
|
inlinevirtual |
Implements SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >.
Definition at line 100 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::createNet(), IntermodalRouter< E, L, N, V >::myCarWalkTransfer, IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myRoutingAlgorithm, and IntermodalRouter< E, L, N, V >::myRoutingMode.
|
inline |
Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme.
Definition at line 107 of file IntermodalRouter.h.
References IntermodalTrip< E, N, V >::arrivalPos, SUMOAbstractRouter< E, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalTrip< E, N, V >::departPos, IntermodalNetwork< E, L, N, V >::getArrivalEdge(), IntermodalNetwork< E, L, N, V >::getDepartEdge(), SUMOAbstractRouter< E, V >::getEffort(), IntermodalNetwork< E, L, N, V >::getStopEdge(), IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, STEPS2TIME, TIME2STEPS, toString(), IntermodalRouter< E, L, N, V >::TripItem::TripItem(), and SUMOAbstractRouter< E, V >::updateViaCost().
Referenced by libsumo::Simulation::findIntermodalRoute().
|
inlinevirtual |
Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme.
Implements SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >.
Definition at line 177 of file IntermodalRouter.h.
|
inlineprivate |
Definition at line 236 of file IntermodalRouter.h.
References IntermodalNetwork< E, L, N, V >::addCarEdges(), IntermodalNetwork< E, L, N, V >::getAllEdges(), IntermodalRouter< E, L, N, V >::getCombined(), IntermodalRouter< E, L, N, V >::getEffortAggregated(), IntermodalEdge< E, L, N, V >::getEffortStatic(), IntermodalEdge< E, L, N, V >::getTravelTimeStatic(), EffortCalculator::init(), IntermodalRouter< E, L, N, V >::myCallback, IntermodalRouter< E, L, N, V >::myCarWalkTransfer, IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, IntermodalRouter< E, L, N, V >::myRoutingAlgorithm, and IntermodalRouter< E, L, N, V >::myRoutingMode.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::prohibit(), IntermodalRouter< E, L, N, V >::writeNetwork(), and IntermodalRouter< E, L, N, V >::writeWeights().
|
inlineinherited |
Definition at line 130 of file SUMOAbstractRouter.h.
References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myQueryStartTime, SUMOAbstractRouter< E, V >::myQueryTimeSum, and SUMOAbstractRouter< E, V >::myQueryVisits.
|
inlinestaticprivate |
Definition at line 232 of file IntermodalRouter.h.
References IntermodalTrip< E, N, V >::calc, IntermodalTrip< E, N, V >::externalFactor, EffortCalculator::getEffort(), IntermodalEdge< E, L, N, V >::getNumericalID(), and IntermodalEdge< E, L, N, V >::getTravelTime().
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
inlineinherited |
Definition at line 121 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myOperation.
|
inlinestaticprivate |
Definition at line 228 of file IntermodalRouter.h.
References IntermodalEdge< E, L, N, V >::getEffort(), and IntermodalEdge< E, L, N, V >::hasEffort().
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
inline |
Definition at line 217 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myIntermodalNet.
Referenced by MSInsertionControl::adaptIntermodalRouter(), RONet::adaptIntermodalRouter(), MSVehicleControl::adaptIntermodalRouter(), and MSNet::adaptIntermodalRouter().
|
inlineinherited |
Definition at line 81 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myTTOperation.
|
inlinevirtualinherited |
Definition at line 77 of file SUMOAbstractRouter.h.
|
private |
Invalidated assignment operator.
|
inline |
Definition at line 182 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::createNet(), IntermodalNetwork< E, L, N, V >::getBothDirections(), IntermodalNetwork< E, L, N, V >::getCarEdge(), IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, and SUMOAbstractRouterPermissions< E, V >::prohibit().
|
inlineinherited |
Definition at line 106 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::isProhibited(), STEPS2TIME, and SUMOAbstractRouter< E, V >::updateViaCost().
|
inlineinherited |
Definition at line 135 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myBulkMode.
|
inlineinherited |
Definition at line 125 of file SUMOAbstractRouter.h.
References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myNumQueries, and SUMOAbstractRouter< E, V >::myQueryStartTime.
|
inlineinherited |
Definition at line 85 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), and SUMOAbstractRouter< E, V >::getTravelTime().
|
inline |
Definition at line 193 of file IntermodalRouter.h.
References OutputDevice::closeTag(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalNetwork< E, L, N, V >::getAllEdges(), IntermodalRouter< E, L, N, V >::myIntermodalNet, OutputDevice::openTag(), SUMO_ATTR_ID, SUMO_ATTR_LENGTH, SUMO_ATTR_LINE, SUMO_TAG_EDGE, SVC_IGNORING, toString(), and OutputDevice::writeAttr().
Referenced by RONet::writeIntermodal().
|
inline |
Definition at line 205 of file IntermodalRouter.h.
References OutputDevice::closeTag(), IntermodalRouter< E, L, N, V >::createNet(), DEFAULT_PEDESTRIAN_SPEED, IntermodalNetwork< E, L, N, V >::getAllEdges(), IntermodalRouter< E, L, N, V >::myIntermodalNet, OutputDevice::openTag(), SUMO_ATTR_ID, SUMO_TAG_EDGE, SVC_BICYCLE, SVC_BUS, SVC_PASSENGER, and OutputDevice::writeAttr().
Referenced by RONet::writeIntermodal().
|
private |
Definition at line 270 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
protectedinherited |
whether we are currently operating several route queries in a bulk
Definition at line 147 of file SUMOAbstractRouter.h.
|
private |
Definition at line 273 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 274 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 277 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 272 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalRouter< E, L, N, V >::getNetwork(), IntermodalRouter< E, L, N, V >::prohibit(), IntermodalRouter< E, L, N, V >::writeNetwork(), IntermodalRouter< E, L, N, V >::writeWeights(), and IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
private |
Definition at line 271 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalRouter< E, L, N, V >::prohibit(), and IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
protectedinherited |
The object's operation to perform.
Definition at line 141 of file SUMOAbstractRouter.h.
|
private |
Definition at line 275 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 276 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
protectedinherited |
The object's operation to perform for travel times.
Definition at line 144 of file SUMOAbstractRouter.h.