![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <IntermodalRouter.h>
Data Structures | |
| struct | TripItem |
Public Types | |
| typedef SUMOAbstractRouter< E, SUMOVehicle >::Prohibitions | _Prohibitions |
| 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. | |
| typedef std::map< const E *, RouterProhibition > | Prohibitions |
Public Member Functions | |
| void | buildPathFrom (const typename SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::EdgeInfo *rbegin, std::vector< const E * > &edges) |
| Builds the path from marked edges. | |
| SUMOAbstractRouter< E, _IntermodalTrip > * | clone () |
| bool | compute (const E *, const E *, const _IntermodalTrip *const, SUMOTime, std::vector< const E * > &, bool) |
| 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. | |
| bool | compute (const E *from, const E *to, const double departPos, const std::string &originStopID, const double arrivalPos, const std::string &stopID, const double speed, const V *const vehicle, const SUMOVTypeParameter &pars, 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. | |
| bool | compute (const E *from, double fromPos, const E *to, double toPos, const IntermodalTrip< E, N, V > *const vehicle, SUMOTime msTime, std::vector< const E * > &into, bool silent=false) |
| Builds the route between the given edges using the minimum effort at the given time, also taking into account position along the edges to ensure currect handling of looped routes The definition of the effort depends on the wished routing scheme. | |
| bool | computeLooped (const E *from, const E *to, const IntermodalTrip< E, N, V > *const vehicle, SUMOTime msTime, std::vector< const E * > &into, bool silent=false) |
| Builds the route between the given edges using the minimum effort at the given time if from == to, return the shortest looped route. | |
| void | endQuery (int visits) |
| int | getCarWalkTransfer () const |
| const SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::EdgeInfo & | getEdgeInfo (int index) const |
| double | getEffort (const E *const e, const IntermodalTrip< E, N, V > *const v, double t) const |
| EffortCalculator * | getExternalEffort () const |
| Network * | getNetwork () const |
| double | getTravelTime (const E *const e, const IntermodalTrip< E, N, V > *const v, const double t, const double effort) const |
| const std::string & | getType () const |
| bool | hasProhibitions () const |
| void | init (const int edgeID, const SUMOTime msTime) |
| IntermodalRouter (CreateNetCallback callback, const int carWalkTransfer, double taxiWait, const std::string &routingAlgorithm, const int routingMode=0, EffortCalculator *calc=nullptr) | |
| Constructor. | |
| bool | isProhibited (const E *const edge, const IntermodalTrip< E, N, V > *const vehicle, double t) const |
| bool | isValid (const std::vector< const E * > &edges, const IntermodalTrip< E, N, V > *const v, double t) const |
| void | prohibit (const _Prohibitions &toProhibit) |
| virtual double | recomputeCosts (const std::vector< const E * > &edges, const IntermodalTrip< E, N, V > *const v, SUMOTime msTime, double *lengthp=nullptr) const |
| double | recomputeCostsPos (const std::vector< const E * > &edges, const IntermodalTrip< E, N, V > *const v, double fromPos, double toPos, SUMOTime msTime, double *lengthp=nullptr) const |
| virtual void | reset (const IntermodalTrip< E, N, V > *const vehicle) |
| reset internal caches, used by CHRouter | |
| void | setAutoBulkMode (const bool mode) |
| void | setBulkMode (const bool mode) |
| double | setHint (const typename std::vector< const E * >::const_iterator routeBegin, const typename std::vector< const E * >::const_iterator routeEnd, const IntermodalTrip< E, N, V > *const v, SUMOTime msTime) |
| virtual void | setMsgHandler (MsgHandler *const errorMsgHandler) |
| void | startQuery () |
| virtual bool | supportsProhibitions () const |
| void | updateViaCost (const E *const prev, const E *const e, const IntermodalTrip< E, N, V > *const v, double &time, double &effort, double &length) const |
| void | updateViaEdgeCost (const E *viaEdge, const IntermodalTrip< E, N, V > *const v, double &time, double &effort, double &length) const |
| void | writeNetwork (OutputDevice &dev) |
| void | writeWeights (OutputDevice &dev) |
| virtual | ~IntermodalRouter () |
| Destructor. | |
Protected Attributes | |
| bool | myAmClean |
| whether we are already initialized | |
| bool | myAutoBulkMode |
| whether we are currently trying to detect bulk mode automatically | |
| bool | myBulkMode |
| whether we are currently operating several route queries in a bulk | |
| std::vector< typename SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::EdgeInfo > | myEdgeInfos |
| The container of edge information. | |
| MsgHandler * | myErrorMsgHandler |
| the handler for routing errors | |
| std::vector< typename SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::EdgeInfo * > | myFound |
| list of visited Edges (for resetting) | |
| std::vector< typename SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::EdgeInfo * > | myFrontierList |
| A container for reusage of the min edge heap. | |
| const bool | myHavePermissions |
| whether edge permissions need to be considered | |
| const bool | myHaveRestrictions |
| whether edge restrictions need to be considered | |
| Operation | myOperation |
| The object's operation to perform. | |
| Prohibitions | myProhibited |
| The list of explicitly prohibited edges and estimated end time of prohibition. | |
| Operation | myTTOperation |
| The object's operation to perform for travel times. | |
Private Types | |
| typedef IntermodalEdge< E, L, N, V > | _IntermodalEdge |
| typedef IntermodalTrip< E, N, V > | _IntermodalTrip |
| typedef AStarRouter< _IntermodalEdge, _IntermodalTrip, _MapMatcher > | _InternalAStar |
| typedef DijkstraRouter< _IntermodalEdge, _IntermodalTrip > | _InternalDijkstra |
| typedef SUMOAbstractRouter< _IntermodalEdge, _IntermodalTrip > | _InternalRouter |
| typedef MapMatcher< E, L, N > | _MapMatcher |
| typedef void(* | CreateNetCallback) (IntermodalRouter< E, L, N, V > &) |
Private Member Functions | |
| void | createNet () |
| IntermodalRouter (Network *net, const int carWalkTransfer, double taxiWait, const std::string &routingAlgorithm, const int routingMode, EffortCalculator *calc) | |
| bool | loopedLineTransfer (const _IntermodalEdge *prev, const _IntermodalEdge *cur, double prevTime, double time) |
| IntermodalRouter & | operator= (const IntermodalRouter &s) |
| Invalidated assignment operator. | |
Static Private Member Functions | |
| static double | getCombined (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 |
| long long int | myNumQueries |
| long long int | myQueryStartTime |
| the time spent querying in milliseconds | |
| long long int | myQueryTimeSum |
| long long int | myQueryVisits |
| counters for performance logging | |
| const std::string | myRoutingAlgorithm |
| const int | myRoutingMode |
| const double | myTaxiWait |
| const std::string | myType |
| the type of this router | |
The router for pedestrians (on a bidirectional network of sidewalks and crossings)
Definition at line 53 of file IntermodalRouter.h.
|
private |
Definition at line 60 of file IntermodalRouter.h.
|
private |
Definition at line 61 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 62 of file IntermodalRouter.h.
|
private |
Definition at line 63 of file IntermodalRouter.h.
| typedef SUMOAbstractRouter<E,SUMOVehicle>::Prohibitions IntermodalRouter< E, L, N, V >::_Prohibitions |
Definition at line 56 of file IntermodalRouter.h.
|
private |
Definition at line 59 of file IntermodalRouter.h.
| typedef IntermodalNetwork<E, L, N, V> IntermodalRouter< E, L, N, V >::Network |
Definition at line 55 of file IntermodalRouter.h.
|
inherited |
Type of the function that is used to retrieve the edge effort.
Definition at line 108 of file SUMOAbstractRouter.h.
|
inherited |
Definition at line 110 of file SUMOAbstractRouter.h.
|
inline |
Constructor.
Definition at line 87 of file IntermodalRouter.h.
|
inlinevirtual |
Destructor.
Definition at line 97 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 289 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::createNet().
|
inlineinherited |
Builds the path from marked edges.
Definition at line 433 of file SUMOAbstractRouter.h.
|
inlinevirtual |
Implements SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >.
Definition at line 104 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, IntermodalRouter< E, L, N, V >::myRoutingMode, and IntermodalRouter< E, L, N, V >::myTaxiWait.
|
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 231 of file IntermodalRouter.h.
References TL.
|
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 115 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(), Named::getID(), IntermodalEdge< E, L, N, V >::getIntended(), IntermodalNetwork< E, L, N, V >::getStopEdge(), getVehicleClassNames(), MsgHandler::informf(), IntermodalRouter< E, L, N, V >::loopedLineTransfer(), SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::myErrorMsgHandler, IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, EffortCalculator::output(), STEPS2TIME, TIME2STEPS(), TL, toString(), and SUMOAbstractRouter< E, V >::updateViaCost().
Referenced by LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSStageTrip::reroute(), and MSTriggeredRerouter::triggerRouting().
|
inlineinherited |
Builds the route between the given edges using the minimum effort at the given time, also taking into account position along the edges to ensure currect handling of looped routes The definition of the effort depends on the wished routing scheme.
Definition at line 207 of file SUMOAbstractRouter.h.
|
inlineinherited |
Builds the route between the given edges using the minimum effort at the given time if from == to, return the shortest looped route.
Definition at line 222 of file SUMOAbstractRouter.h.
|
inlineprivate |
Definition at line 303 of file IntermodalRouter.h.
References IntermodalNetwork< E, L, N, V >::addCarEdges(), IntermodalNetwork< E, L, N, V >::getAllEdges(), IntermodalRouter< E, L, N, V >::getCombined(), IntermodalEdge< E, L, N, V >::getEffortStatic(), IntermodalEdge< E, L, N, V >::getTravelTimeAggregated(), IntermodalEdge< E, L, N, V >::getTravelTimeStatic(), IntermodalEdge< E, L, N, V >::getTravelTimeStaticRandomized(), gWeightsRandomFactor, 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, IntermodalRouter< E, L, N, V >::myRoutingMode, and IntermodalRouter< E, L, N, V >::myTaxiWait.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::IntermodalRouter(), IntermodalRouter< E, L, N, V >::prohibit(), IntermodalRouter< E, L, N, V >::writeNetwork(), and IntermodalRouter< E, L, N, V >::writeWeights().
|
inlineinherited |
Definition at line 396 of file SUMOAbstractRouter.h.
|
inline |
Definition at line 109 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myCarWalkTransfer.
Referenced by MSNet::adaptIntermodalRouter(), and RONet::adaptIntermodalRouter().
|
inlinestaticprivate |
Definition at line 299 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 193 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 379 of file SUMOAbstractRouter.h.
|
inline |
Definition at line 284 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myExternalEffort.
Referenced by MSNet::adaptIntermodalRouter().
|
inline |
Definition at line 280 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myIntermodalNet.
Referenced by MSNet::adaptIntermodalRouter(), MSInsertionControl::adaptIntermodalRouter(), MSVehicleControl::adaptIntermodalRouter(), and RONet::adaptIntermodalRouter().
|
inlineinherited |
Definition at line 259 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 189 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 424 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 156 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 251 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 288 of file SUMOAbstractRouter.h.
|
inlineprivate |
Definition at line 341 of file IntermodalRouter.h.
References IntermodalEdge< E, L, N, V >::getIntended(), IntermodalEdge< E, L, N, V >::getLine(), IntermodalNetwork< E, L, N, V >::isLooped(), and IntermodalRouter< E, L, N, V >::myIntermodalNet.
Referenced by IntermodalRouter< E, L, N, V >::compute().
|
private |
Invalidated assignment operator.
|
inlinevirtual |
Reimplemented from SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >.
Definition at line 243 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 SUMOAbstractRouter< E, V >::prohibit().
Referenced by MSRoutingEngine::reroute().
|
inlinevirtualinherited |
Definition at line 297 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 315 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
reset internal caches, used by CHRouter
Definition at line 181 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 405 of file SUMOAbstractRouter.h.
|
inlinevirtual |
Reimplemented from SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >.
Definition at line 236 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myInternalRouter, and SUMOAbstractRouter< E, V >::setBulkMode().
|
inlineinherited |
Definition at line 348 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 185 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 391 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 428 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 273 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 263 of file SUMOAbstractRouter.h.
|
inline |
Definition at line 254 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 266 of file IntermodalRouter.h.
References OutputDevice::closeTag(), IntermodalRouter< E, L, N, V >::createNet(), DEFAULT_PEDESTRIAN_SPEED, DEFAULT_PEDTYPE_ID, 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, SVC_PEDESTRIAN, and OutputDevice::writeAttr().
Referenced by RONet::writeIntermodal().
|
protectedinherited |
whether we are already initialized
Definition at line 459 of file SUMOAbstractRouter.h.
|
private |
Definition at line 355 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
protectedinherited |
whether we are currently trying to detect bulk mode automatically
Definition at line 456 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether we are currently operating several route queries in a bulk
Definition at line 453 of file SUMOAbstractRouter.h.
|
private |
Definition at line 358 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 359 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::createNet(), and IntermodalRouter< E, L, N, V >::getCarWalkTransfer().
|
protectedinherited |
The container of edge information.
Definition at line 471 of file SUMOAbstractRouter.h.
|
protectedinherited |
the handler for routing errors
Definition at line 444 of file SUMOAbstractRouter.h.
|
private |
Definition at line 363 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), and IntermodalRouter< E, L, N, V >::getExternalEffort().
|
protectedinherited |
list of visited Edges (for resetting)
Definition at line 476 of file SUMOAbstractRouter.h.
|
protectedinherited |
A container for reusage of the min edge heap.
Definition at line 474 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge permissions need to be considered
Definition at line 462 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge restrictions need to be considered
Definition at line 465 of file SUMOAbstractRouter.h.
|
private |
Definition at line 357 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 >::loopedLineTransfer(), 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 356 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalRouter< E, L, N, V >::prohibit(), IntermodalRouter< E, L, N, V >::setBulkMode(), and IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
privateinherited |
Definition at line 484 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform.
Definition at line 447 of file SUMOAbstractRouter.h.
|
protectedinherited |
The list of explicitly prohibited edges and estimated end time of prohibition.
Definition at line 468 of file SUMOAbstractRouter.h.
|
privateinherited |
the time spent querying in milliseconds
Definition at line 486 of file SUMOAbstractRouter.h.
|
privateinherited |
Definition at line 487 of file SUMOAbstractRouter.h.
|
privateinherited |
counters for performance logging
Definition at line 483 of file SUMOAbstractRouter.h.
|
private |
Definition at line 361 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 362 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 360 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 450 of file SUMOAbstractRouter.h.
|
privateinherited |
the type of this router
Definition at line 480 of file SUMOAbstractRouter.h.