![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Contraction-hierarchy router over the edge graph mapped by GRAPH. More...
#include <CCHRouter.h>
Public Types | |
| typedef MetricPtr(* | MetricProvider) (SUMOVehicleClass, SUMOTime, const V *) |
| supplies the metric for a vehicle class at a query time, or nullptr => fall back. The simulation ignores time and vehicle (its single metric tracks the live speeds); duarouter keys one metric per (class, restriction profile, weight period) with them. | |
| typedef const RoutingKit::CustomizableContractionHierarchyMetric * | MetricPtr |
| typedef SUMOAbstractRouter< E, V >::Operation | Operation |
| typedef SUMOTime(* | PeriodEnd) (SUMOTime) |
| the end of the weight period containing the given time (SUMOTime_MAX = weights are static). Lets compute() detect queries whose trip crosses into the next period and re-query on that period's metric (see the boundary handling in compute()). | |
| typedef SUMOAbstractRouter< E, V >::Prohibitions | Prohibitions |
| typedef void(* | ResetHook) (const V *) |
| the host's efforts changed behind the metrics and it reset the router (SUMOAbstractRouter::reset – marouter does so after every assignment iteration, which is where CH rebuilds its hierarchy): the metric store should re-customize before the next query | |
Public Member Functions | |
| void | buildPathFrom (const typename SUMOAbstractRouter< E, V >::EdgeInfo *rbegin, std::vector< const E * > &edges) |
| Builds the path from marked edges. | |
| CCHRouter (CCHRouter *other) | |
| clone constructor: share graph + provider, clone the fallback, fresh query scratch | |
| CCHRouter (const GRAPH *graph, MetricProvider provider, Operation operation, const bool unbuildIsWarning, SUMOAbstractRouter< E, V > *fallback, PeriodEnd periodEnd=nullptr, ResetHook onReset=nullptr) | |
| Constructor. | |
| virtual SUMOAbstractRouter< E, V > * | clone () |
| bool | compute (const E *from, const E *to, const 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 The definition of the effort depends on the wished routing scheme. | |
| bool | compute (const E *from, double fromPos, const E *to, double toPos, const 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 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) |
| const SUMOAbstractRouter< E, V >::EdgeInfo & | getEdgeInfo (int index) const |
| double | getEffort (const E *const e, const V *const v, double t) const |
| double | getTravelTime (const E *const e, const 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) |
| bool | isProhibited (const E *const edge, const V *const vehicle, double t) const |
| bool | isValid (const std::vector< const E * > &edges, const V *const v, double t) const |
| void | prohibit (const Prohibitions &toProhibit) |
| prohibitions: a closure that is already a live permission change is served by the per-class metric (CCH); anything else routes via the exact fallback. Keep our own copy of the set so compute() can classify each query – deliberately NOT delegating to the base implementation, which writes per-edge prohibition state into myEdgeInfos that this router never populates. | |
| virtual double | recomputeCosts (const std::vector< const E * > &edges, const V *const v, SUMOTime msTime, double *lengthp=nullptr) const |
| double | recomputeCostsPos (const std::vector< const E * > &edges, const V *const v, double fromPos, double toPos, SUMOTime msTime, double *lengthp=nullptr) const |
| virtual void | reset (const V *const vehicle) |
| the host's efforts changed (see ResetHook): notify the metric store and reset the fallback's caches. Must not run while another clone is mid-query; marouter resets once its worker threads have finished the iteration. | |
| 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 V *const v, SUMOTime msTime) |
| void | setMsgHandler (MsgHandler *const errorMsgHandler) |
| keep the fallback reporting through the same handler (duarouter swaps handlers around route repair; CHRouterWrapper propagates likewise) | |
| void | startQuery () |
| bool | supportsProhibitions () const |
| void | updateViaCost (const E *const prev, const E *const e, const V *const v, double &time, double &effort, double &length) const |
| void | updateViaEdgeCost (const E *viaEdge, const V *const v, double &time, double &effort, double &length) const |
| virtual | ~CCHRouter () |
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, V >::EdgeInfo > | myEdgeInfos |
| The container of edge information. | |
| MsgHandler * | myErrorMsgHandler |
| the handler for routing errors | |
| std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > | myFound |
| list of visited Edges (for resetting) | |
| std::vector< typename SUMOAbstractRouter< E, 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. | |
| Operation | myTTOperation |
| The object's operation to perform for travel times. | |
Private Member Functions | |
| void | buildPath (const E *from, const E *to, bool fromTaz, bool toTaz, std::vector< const E * > &path) |
| expand the last query's node path, bracketing it with the TAZ connectors where the endpoints are zones | |
| CCHRouter & | operator= (const CCHRouter &)=delete |
| bool | prohibitionsCoveredByMetric (SUMOVehicleClass vClass) const |
Can the per-class CCH metric already express every edge this prohibition set forbids for vClass? True iff each forbidden edge is ALSO closed for the class in the live network (getPermissions()) – the exact condition fillInputWeights() turns into inf_weight. A prohibited edge that still permits the class is an arbitrary per-query prohibition no shared metric can encode, so the caller must use the exact fallback. (For time-bounded closures A* itself avoids the edge via this same live permission signal – SUMOAbstractRouter::isProhibited – not the per-query branch, so this is faithful to A*'s own behavior.) | |
| bool | runQuery (MetricPtr metric, const std::vector< unsigned > &sources, const std::vector< unsigned > &targets, const V *const vehicle, double t) |
Bind the query to metric (rebinding only on change), seed all sources and targets and run it; true iff a connection was found. | |
Private Attributes | |
| MetricPtr | myBoundMetric = nullptr |
| SUMOAbstractRouter< E, V > * | myFallback |
| const GRAPH * | myGraph |
| MetricProvider | myMetricProvider |
| long long int | myNumQueries |
| ResetHook | myOnReset |
| PeriodEnd | myPeriodEnd |
| Prohibitions | myProhibited |
| bool | myProhibitionActive |
| RoutingKit::CustomizableContractionHierarchyQuery | myQuery |
| 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 | myType |
| the type of this router | |
Contraction-hierarchy router over the edge graph mapped by GRAPH.
Definition at line 72 of file CCHRouter.h.
| typedef MetricPtr(* CCHRouter< E, V, GRAPH >::MetricProvider) (SUMOVehicleClass, SUMOTime, const V *) |
supplies the metric for a vehicle class at a query time, or nullptr => fall back. The simulation ignores time and vehicle (its single metric tracks the live speeds); duarouter keys one metric per (class, restriction profile, weight period) with them.
Definition at line 79 of file CCHRouter.h.
| typedef const RoutingKit::CustomizableContractionHierarchyMetric* CCHRouter< E, V, GRAPH >::MetricPtr |
Definition at line 74 of file CCHRouter.h.
| typedef SUMOAbstractRouter<E,V>::Operation CCHRouter< E, V, GRAPH >::Operation |
Definition at line 90 of file CCHRouter.h.
the end of the weight period containing the given time (SUMOTime_MAX = weights are static). Lets compute() detect queries whose trip crosses into the next period and re-query on that period's metric (see the boundary handling in compute()).
Definition at line 84 of file CCHRouter.h.
| typedef SUMOAbstractRouter<E,V>::Prohibitions CCHRouter< E, V, GRAPH >::Prohibitions |
Definition at line 91 of file CCHRouter.h.
| typedef void(* CCHRouter< E, V, GRAPH >::ResetHook) (const V *) |
the host's efforts changed behind the metrics and it reset the router (SUMOAbstractRouter::reset – marouter does so after every assignment iteration, which is where CH rebuilds its hierarchy): the metric store should re-customize before the next query
Definition at line 89 of file CCHRouter.h.
|
inline |
Constructor.
| [in] | graph | the shared immutable CCH topology mapper (not owned) |
| [in] | provider | static accessor for the published metric snapshot |
| [in] | operation | the effort callback (same one A-star and CH use) |
| [in] | fallback | embedded router for non-CCH cases (OWNED) |
| [in] | periodEnd | weight-period boundary hook (nullptr = static weights) |
| [in] | onReset | hook run by reset() (nullptr = nobody to notify) |
Definition at line 101 of file CCHRouter.h.
|
inline |
clone constructor: share graph + provider, clone the fallback, fresh query scratch
Definition at line 111 of file CCHRouter.h.
Definition at line 119 of file CCHRouter.h.
References CCHRouter< E, V, GRAPH >::myFallback.
|
inlineprivate |
expand the last query's node path, bracketing it with the TAZ connectors where the endpoints are zones
Definition at line 330 of file CCHRouter.h.
References RoutingKit::CustomizableContractionHierarchyQuery::get_node_path(), CCHRouter< E, V, GRAPH >::myGraph, and CCHRouter< E, V, GRAPH >::myQuery.
Referenced by CCHRouter< E, V, GRAPH >::compute().
|
inlineinherited |
Builds the path from marked edges.
Definition at line 432 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::EdgeInfo::edge, and SUMOAbstractRouter< E, V >::EdgeInfo::prev.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), and Node2EdgeRouter< E, N, V, M >::computeNode2Edge().
|
inlinevirtual |
Implements SUMOAbstractRouter< E, V >.
Definition at line 123 of file CCHRouter.h.
|
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, V >.
Definition at line 138 of file CCHRouter.h.
References CCHRouter< E, V, GRAPH >::buildPath(), SUMOAbstractRouter< E, V >::endQuery(), RoutingKit::CustomizableContractionHierarchyQuery::get_distance(), Named::getIDSecure(), MsgHandler::inform(), MsgHandler::informf(), metric, SUMOAbstractRouter< E, V >::myErrorMsgHandler, CCHRouter< E, V, GRAPH >::myFallback, CCHRouter< E, V, GRAPH >::myGraph, CCHRouter< E, V, GRAPH >::myMetricProvider, CCHRouter< E, V, GRAPH >::myPeriodEnd, CCHRouter< E, V, GRAPH >::myProhibitionActive, CCHRouter< E, V, GRAPH >::myQuery, CCHRouter< E, V, GRAPH >::prohibitionsCoveredByMetric(), SUMOAbstractRouter< E, V >::recomputeCosts(), CCHRouter< E, V, GRAPH >::runQuery(), SUMOAbstractRouter< E, V >::startQuery(), STEPS2TIME, SUMOTime_MAX, SVC_PASSENGER, TIME2STEPS, and TL.
|
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 206 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::computeLooped().
|
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 221 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::compute(), MsgHandler::informf(), SUMOAbstractRouter< E, V >::myErrorMsgHandler, SUMOAbstractRouter< E, V >::recomputeCosts(), SVC_IGNORING, and TL.
Referenced by SUMOAbstractRouter< E, V >::compute(), and MSIdling_TaxiStand::idle().
|
inlineinherited |
Definition at line 395 of file SUMOAbstractRouter.h.
References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myQueryStartTime, SUMOAbstractRouter< E, V >::myQueryTimeSum, and SUMOAbstractRouter< E, V >::myQueryVisits.
Referenced by AStarRouter< E, V, M >::compute(), CCHRouter< E, V, GRAPH >::compute(), CHRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), and AFRouter< E, N, V, M >::endQuery().
|
inlineinherited |
Definition at line 192 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myEdgeInfos.
|
inlineinherited |
Definition at line 378 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myOperation, and SUMOAbstractRouter< E, V >::myProhibited.
Referenced by IntermodalRouter< E, L, N, V >::compute(), AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), PedestrianRouter< E, L, N, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), RailwayRouter< E, V >::recomputeCosts(), SUMOAbstractRouter< E, V >::recomputeCostsPos(), CCHRouter< E, V, GRAPH >::runQuery(), SUMOAbstractRouter< E, V >::setHint(), CHBuilder< E, V >::synchronize(), SUMOAbstractRouter< E, V >::updateViaCost(), and SUMOAbstractRouter< E, V >::updateViaEdgeCost().
|
inlineinherited |
Definition at line 258 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myTTOperation.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::updateViaCost(), and SUMOAbstractRouter< E, V >::updateViaEdgeCost().
|
inlineinherited |
Definition at line 188 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myType.
|
inlineinherited |
Definition at line 423 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myProhibited.
Referenced by RORouteDef::repairCurrentRoute().
|
inlineinherited |
Definition at line 155 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myAmClean, SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myFound, SUMOAbstractRouter< E, V >::myFrontierList, and STEPS2TIME.
Referenced by AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::setHint().
|
inlineinherited |
Definition at line 250 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myHavePermissions, SUMOAbstractRouter< E, V >::myHaveRestrictions, and SUMOAbstractRouter< E, V >::myProhibited.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::isValid(), Node2EdgeRouter< E, N, V, M >::recomputeCostsNoLastEdge(), and SUMOAbstractRouter< E, V >::setHint().
|
inlineinherited |
Definition at line 287 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::isProhibited().
Referenced by RORouteDef::addAlternative().
|
inlinevirtual |
prohibitions: a closure that is already a live permission change is served by the per-class metric (CCH); anything else routes via the exact fallback. Keep our own copy of the set so compute() can classify each query – deliberately NOT delegating to the base implementation, which writes per-edge prohibition state into myEdgeInfos that this router never populates.
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 275 of file CCHRouter.h.
References CCHRouter< E, V, GRAPH >::myFallback, CCHRouter< E, V, GRAPH >::myProhibited, and CCHRouter< E, V, GRAPH >::myProhibitionActive.
|
inlineprivate |
Can the per-class CCH metric already express every edge this prohibition set forbids for vClass? True iff each forbidden edge is ALSO closed for the class in the live network (getPermissions()) – the exact condition fillInputWeights() turns into inf_weight. A prohibited edge that still permits the class is an arbitrary per-query prohibition no shared metric can encode, so the caller must use the exact fallback. (For time-bounded closures A* itself avoids the edge via this same live permission signal – SUMOAbstractRouter::isProhibited – not the per-query branch, so this is faithful to A*'s own behavior.)
Definition at line 352 of file CCHRouter.h.
References CCHRouter< E, V, GRAPH >::myProhibited.
Referenced by CCHRouter< E, V, GRAPH >::compute().
|
inlinevirtualinherited |
Reimplemented in RailwayRouter< E, V >.
Definition at line 296 of file SUMOAbstractRouter.h.
References STEPS2TIME, and SUMOAbstractRouter< E, V >::updateViaCost().
Referenced by RORouteDef::addAlternative(), AStarRouter< E, V, M >::compute(), CCHRouter< E, V, GRAPH >::compute(), DijkstraRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::computeLooped(), ROMAAssignments::computePath(), ROVehicle::computeRoute(), computeRoutes(), MSDevice_StationFinder::estimateConsumption(), MSStoppingPlaceRerouter::evaluateDestination(), NBPTLineCont::getCost(), MSBaseVehicle::insertStop(), LandmarkLookupTable< E, V, M >::LandmarkLookupTable(), RailwayRouter< E, V >::recomputeCosts(), SUMOAbstractRouter< E, V >::recomputeCostsPos(), MSBaseVehicle::replaceStop(), MSDevice_Routing::reroute(), MSBaseVehicle::reroute(), MSBaseVehicle::rerouteBetweenStops(), MSVehicle::rerouteParkingArea(), ROMAAssignments::sue(), and MSTriggeredRerouter::triggerRouting().
|
inlineinherited |
Definition at line 314 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::recomputeCosts(), and STEPS2TIME.
Referenced by MSDevice_Taxi::checkTaskSwap(), MSDispatch::computeDetourTime(), MSDispatch::computePickupTime(), LIBSUMO_NAMESPACE::Simulation::findRoute(), MSStopOptimizer::optimizeSkipped(), MSStopOptimizer::reachableInTime(), and MSBaseVehicle::reroute().
|
inlinevirtual |
the host's efforts changed (see ResetHook): notify the metric store and reset the fallback's caches. Must not run while another clone is mid-query; marouter resets once its worker threads have finished the iteration.
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 131 of file CCHRouter.h.
References CCHRouter< E, V, GRAPH >::myFallback, and CCHRouter< E, V, GRAPH >::myOnReset.
|
inlineprivate |
Bind the query to metric (rebinding only on change), seed all sources and targets and run it; true iff a connection was found.
Source seed = the entry edge's OWN centisecond effort. The arc-weight convention (arc weight = effort of destination) omits the source edge's effort, so choosing the cheapest zone-entry among members requires adding it back per source – otherwise the argmin ignores how expensive each entry edge is and picks a different entry than A*. Targets seed 0: the arc INTO a target already carries its effort.
Definition at line 307 of file CCHRouter.h.
References RoutingKit::CustomizableContractionHierarchyQuery::add_source(), RoutingKit::CustomizableContractionHierarchyQuery::add_target(), RoutingKit::CustomizableContractionHierarchyQuery::get_distance(), SUMOAbstractRouter< E, V >::getEffort(), RoutingKit::inf_weight, metric, CCHRouter< E, V, GRAPH >::myBoundMetric, CCHRouter< E, V, GRAPH >::myGraph, CCHRouter< E, V, GRAPH >::myQuery, RoutingKit::CustomizableContractionHierarchyQuery::reset(), and RoutingKit::CustomizableContractionHierarchyQuery::run().
Referenced by CCHRouter< E, V, GRAPH >::compute().
|
inlineinherited |
Definition at line 404 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myAutoBulkMode.
Referenced by LandmarkLookupTable< E, V, M >::LandmarkLookupTable().
|
inlinevirtual |
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 285 of file CCHRouter.h.
References CCHRouter< E, V, GRAPH >::myFallback, and SUMOAbstractRouter< E, V >::setBulkMode().
|
inlineinherited |
Definition at line 347 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::EdgeInfo::edge, SUMOAbstractRouter< E, V >::EdgeInfo::effort, SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::init(), SUMOAbstractRouter< E, V >::isProhibited(), SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myFound, STEPS2TIME, and SUMOAbstractRouter< E, V >::updateViaCost().
|
inlinevirtual |
keep the fallback reporting through the same handler (duarouter swaps handlers around route repair; CHRouterWrapper propagates likewise)
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 292 of file CCHRouter.h.
References CCHRouter< E, V, GRAPH >::myFallback, and SUMOAbstractRouter< E, V >::setMsgHandler().
|
inlineinherited |
Definition at line 390 of file SUMOAbstractRouter.h.
References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myNumQueries, and SUMOAbstractRouter< E, V >::myQueryStartTime.
Referenced by AStarRouter< E, V, M >::compute(), CCHRouter< E, V, GRAPH >::compute(), CHRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), and AFRouter< E, N, V, M >::startQuery().
|
inlinevirtual |
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 281 of file CCHRouter.h.
|
inlineinherited |
Definition at line 272 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::getTravelTime(), and SUMOAbstractRouter< E, V >::updateViaEdgeCost().
Referenced by IntermodalRouter< E, L, N, V >::compute(), RailwayRouter< E, V >::recomputeCosts(), SUMOAbstractRouter< E, V >::recomputeCosts(), Node2EdgeRouter< E, N, V, M >::recomputeCostsNoLastEdge(), and SUMOAbstractRouter< E, V >::setHint().
|
inlineinherited |
Definition at line 262 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), and SUMOAbstractRouter< E, V >::getTravelTime().
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), and SUMOAbstractRouter< E, V >::updateViaCost().
|
protectedinherited |
whether we are already initialized
Definition at line 458 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), and SUMOAbstractRouter< E, V >::init().
|
protectedinherited |
whether we are currently trying to detect bulk mode automatically
Definition at line 455 of file SUMOAbstractRouter.h.
Referenced by DijkstraRouter< E, V >::clone(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::setAutoBulkMode().
Definition at line 366 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::runQuery().
|
protectedinherited |
whether we are currently operating several route queries in a bulk
Definition at line 452 of file SUMOAbstractRouter.h.
Referenced by AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::setBulkMode().
|
protectedinherited |
The container of edge information.
Definition at line 470 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::AFRouter(), AFRouter< E, N, V, M >::AFRouter(), AFRouter< E, N, V, M >::AFRouter(), AStarRouter< E, V, M >::AStarRouter(), AStarRouter< E, V, M >::AStarRouter(), AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), DijkstraRouter< E, V >::DijkstraRouter(), DijkstraRouter< E, V >::DijkstraRouter(), AFRouter< E, N, V, M >::edgeInfo(), Node2EdgeRouter< E, N, V, M >::edgeInfo(), AFRouter< E, N, V, M >::edgeInfo(), Node2EdgeRouter< E, N, V, M >::edgeInfo(), SUMOAbstractRouter< E, V >::getEdgeInfo(), SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::init(), SUMOAbstractRouter< E, V >::isProhibited(), SUMOAbstractRouter< E, V >::prohibit(), and SUMOAbstractRouter< E, V >::setHint().
|
protectedinherited |
the handler for routing errors
Definition at line 443 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), CCHRouter< E, V, GRAPH >::compute(), CHRouter< E, V >::compute(), CHRouterWrapper< E, V >::compute(), DijkstraRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::computeLooped(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), RailwayRouter< E, V >::ensureInternalRouter(), CHRouterWrapper< E, V >::setMsgHandler(), and SUMOAbstractRouter< E, V >::setMsgHandler().
|
private |
Definition at line 367 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::compute(), CCHRouter< E, V, GRAPH >::prohibit(), CCHRouter< E, V, GRAPH >::reset(), CCHRouter< E, V, GRAPH >::setBulkMode(), CCHRouter< E, V, GRAPH >::setMsgHandler(), and CCHRouter< E, V, GRAPH >::~CCHRouter().
|
protectedinherited |
list of visited Edges (for resetting)
Definition at line 475 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::init(), Node2EdgeRouter< E, N, V, M >::reset(), and SUMOAbstractRouter< E, V >::setHint().
|
protectedinherited |
A container for reusage of the min edge heap.
Definition at line 473 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::init(), and Node2EdgeRouter< E, N, V, M >::reset().
Definition at line 363 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::buildPath(), CCHRouter< E, V, GRAPH >::compute(), and CCHRouter< E, V, GRAPH >::runQuery().
|
protectedinherited |
whether edge permissions need to be considered
Definition at line 461 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), CHRouterWrapper< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), RailwayRouter< E, V >::ensureInternalRouter(), and SUMOAbstractRouter< E, V >::isProhibited().
|
protectedinherited |
whether edge restrictions need to be considered
Definition at line 464 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), RailwayRouter< E, V >::ensureInternalRouter(), and SUMOAbstractRouter< E, V >::isProhibited().
|
private |
Definition at line 364 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::compute().
|
privateinherited |
Definition at line 483 of file SUMOAbstractRouter.h.
Referenced by SUMOAbstractRouter< E, V >::startQuery(), and SUMOAbstractRouter< E, V >::~SUMOAbstractRouter().
Definition at line 369 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::reset().
|
protectedinherited |
The object's operation to perform.
Definition at line 446 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), CHRouterWrapper< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), CHRouterWrapper< E, V >::compute(), and SUMOAbstractRouter< E, V >::getEffort().
Definition at line 368 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::compute().
|
private |
Definition at line 371 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::prohibit(), and CCHRouter< E, V, GRAPH >::prohibitionsCoveredByMetric().
|
private |
Definition at line 370 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::compute(), and CCHRouter< E, V, GRAPH >::prohibit().
|
private |
Definition at line 365 of file CCHRouter.h.
Referenced by CCHRouter< E, V, GRAPH >::buildPath(), CCHRouter< E, V, GRAPH >::compute(), and CCHRouter< E, V, GRAPH >::runQuery().
|
privateinherited |
the time spent querying in milliseconds
Definition at line 485 of file SUMOAbstractRouter.h.
Referenced by SUMOAbstractRouter< E, V >::endQuery(), and SUMOAbstractRouter< E, V >::startQuery().
|
privateinherited |
Definition at line 486 of file SUMOAbstractRouter.h.
Referenced by SUMOAbstractRouter< E, V >::endQuery(), and SUMOAbstractRouter< E, V >::~SUMOAbstractRouter().
|
privateinherited |
counters for performance logging
Definition at line 482 of file SUMOAbstractRouter.h.
Referenced by SUMOAbstractRouter< E, V >::endQuery(), and SUMOAbstractRouter< E, V >::~SUMOAbstractRouter().
|
protectedinherited |
The object's operation to perform for travel times.
Definition at line 449 of file SUMOAbstractRouter.h.
Referenced by DijkstraRouter< E, V >::clone(), and SUMOAbstractRouter< E, V >::getTravelTime().
|
privateinherited |
the type of this router
Definition at line 479 of file SUMOAbstractRouter.h.
Referenced by SUMOAbstractRouter< E, V >::getType(), and SUMOAbstractRouter< E, V >::~SUMOAbstractRouter().