Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
CCHRouter< E, V, GRAPH > Class Template Reference

Contraction-hierarchy router over the edge graph mapped by GRAPH. More...

#include <CCHRouter.h>

Inheritance diagram for CCHRouter< E, V, GRAPH >:
[legend]
Collaboration diagram for CCHRouter< E, V, GRAPH >:
[legend]

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::CustomizableContractionHierarchyMetricMetricPtr
 
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.
 
MsgHandlermyErrorMsgHandler
 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
 
CCHRouteroperator= (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
 

Detailed Description

template<class E, class V, class GRAPH>
class CCHRouter< E, V, GRAPH >

Contraction-hierarchy router over the edge graph mapped by GRAPH.

Definition at line 72 of file CCHRouter.h.

Member Typedef Documentation

◆ MetricProvider

template<class E , class V , class GRAPH >
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.

◆ MetricPtr

template<class E , class V , class GRAPH >
typedef const RoutingKit::CustomizableContractionHierarchyMetric* CCHRouter< E, V, GRAPH >::MetricPtr

Definition at line 74 of file CCHRouter.h.

◆ Operation

template<class E , class V , class GRAPH >
typedef SUMOAbstractRouter<E,V>::Operation CCHRouter< E, V, GRAPH >::Operation

Definition at line 90 of file CCHRouter.h.

◆ PeriodEnd

template<class E , class V , class GRAPH >
typedef SUMOTime(* CCHRouter< E, V, GRAPH >::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()).

Definition at line 84 of file CCHRouter.h.

◆ Prohibitions

template<class E , class V , class GRAPH >
typedef SUMOAbstractRouter<E,V>::Prohibitions CCHRouter< E, V, GRAPH >::Prohibitions

Definition at line 91 of file CCHRouter.h.

◆ ResetHook

template<class E , class V , class GRAPH >
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.

Constructor & Destructor Documentation

◆ CCHRouter() [1/2]

template<class E , class V , class GRAPH >
CCHRouter< E, V, GRAPH >::CCHRouter ( const GRAPH *  graph,
MetricProvider  provider,
Operation  operation,
const bool  unbuildIsWarning,
SUMOAbstractRouter< E, V > *  fallback,
PeriodEnd  periodEnd = nullptr,
ResetHook  onReset = nullptr 
)
inline

Constructor.

Parameters
[in]graphthe shared immutable CCH topology mapper (not owned)
[in]providerstatic accessor for the published metric snapshot
[in]operationthe effort callback (same one A-star and CH use)
[in]fallbackembedded router for non-CCH cases (OWNED)
[in]periodEndweight-period boundary hook (nullptr = static weights)
[in]onResethook run by reset() (nullptr = nobody to notify)

Definition at line 101 of file CCHRouter.h.

◆ CCHRouter() [2/2]

template<class E , class V , class GRAPH >
CCHRouter< E, V, GRAPH >::CCHRouter ( CCHRouter< E, V, GRAPH > *  other)
inline

clone constructor: share graph + provider, clone the fallback, fresh query scratch

Definition at line 111 of file CCHRouter.h.

◆ ~CCHRouter()

template<class E , class V , class GRAPH >
virtual CCHRouter< E, V, GRAPH >::~CCHRouter ( )
inlinevirtual

Definition at line 119 of file CCHRouter.h.

References CCHRouter< E, V, GRAPH >::myFallback.

Member Function Documentation

◆ buildPath()

template<class E , class V , class GRAPH >
void CCHRouter< E, V, GRAPH >::buildPath ( const E *  from,
const E *  to,
bool  fromTaz,
bool  toTaz,
std::vector< const E * > &  path 
)
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().

Here is the caller graph for this function:

◆ buildPathFrom()

template<class E , class V >
void SUMOAbstractRouter< E, V >::buildPathFrom ( const typename SUMOAbstractRouter< E, V >::EdgeInfo *  rbegin,
std::vector< const E * > &  edges 
)
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().

Here is the caller graph for this function:

◆ clone()

template<class E , class V , class GRAPH >
virtual SUMOAbstractRouter< E, V > * CCHRouter< E, V, GRAPH >::clone ( )
inlinevirtual

Implements SUMOAbstractRouter< E, V >.

Definition at line 123 of file CCHRouter.h.

◆ compute() [1/2]

◆ compute() [2/2]

template<class E , class V >
bool SUMOAbstractRouter< E, V >::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 
)
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().

◆ computeLooped()

template<class E , class V >
bool SUMOAbstractRouter< E, V >::computeLooped ( const E *  from,
const E *  to,
const V *const  vehicle,
SUMOTime  msTime,
std::vector< const E * > &  into,
bool  silent = false 
)
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().

Here is the caller graph for this function:

◆ endQuery()

◆ getEdgeInfo()

template<class E , class V >
const SUMOAbstractRouter< E, V >::EdgeInfo & SUMOAbstractRouter< E, V >::getEdgeInfo ( int  index) const
inlineinherited

Definition at line 192 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myEdgeInfos.

◆ getEffort()

◆ getTravelTime()

template<class E , class V >
double SUMOAbstractRouter< E, V >::getTravelTime ( const E *const  e,
const V *const  v,
const double  t,
const double  effort 
) const
inlineinherited

◆ getType()

template<class E , class V >
const std::string & SUMOAbstractRouter< E, V >::getType ( ) const
inlineinherited

Definition at line 188 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myType.

◆ hasProhibitions()

template<class E , class V >
bool SUMOAbstractRouter< E, V >::hasProhibitions ( ) const
inlineinherited

Definition at line 423 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myProhibited.

Referenced by RORouteDef::repairCurrentRoute().

Here is the caller graph for this function:

◆ init()

template<class E , class V >
void SUMOAbstractRouter< E, V >::init ( const int  edgeID,
const SUMOTime  msTime 
)
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().

Here is the caller graph for this function:

◆ isProhibited()

◆ isValid()

template<class E , class V >
bool SUMOAbstractRouter< E, V >::isValid ( const std::vector< const E * > &  edges,
const V *const  v,
double  t 
) const
inlineinherited

Definition at line 287 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::isProhibited().

Referenced by RORouteDef::addAlternative().

Here is the caller graph for this function:

◆ operator=()

template<class E , class V , class GRAPH >
CCHRouter & CCHRouter< E, V, GRAPH >::operator= ( const CCHRouter< E, V, GRAPH > &  )
privatedelete

◆ prohibit()

template<class E , class V , class GRAPH >
void CCHRouter< E, V, GRAPH >::prohibit ( const Prohibitions toProhibit)
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.

◆ prohibitionsCoveredByMetric()

template<class E , class V , class GRAPH >
bool CCHRouter< E, V, GRAPH >::prohibitionsCoveredByMetric ( SUMOVehicleClass  vClass) const
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().

Here is the caller graph for this function:

◆ recomputeCosts()

◆ recomputeCostsPos()

template<class E , class V >
double SUMOAbstractRouter< E, V >::recomputeCostsPos ( const std::vector< const E * > &  edges,
const V *const  v,
double  fromPos,
double  toPos,
SUMOTime  msTime,
double *  lengthp = nullptr 
) const
inlineinherited

◆ reset()

template<class E , class V , class GRAPH >
virtual void CCHRouter< E, V, GRAPH >::reset ( const V *const  vehicle)
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.

◆ runQuery()

template<class E , class V , class GRAPH >
bool CCHRouter< E, V, GRAPH >::runQuery ( MetricPtr  metric,
const std::vector< unsigned > &  sources,
const std::vector< unsigned > &  targets,
const V *const  vehicle,
double  t 
)
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().

Here is the caller graph for this function:

◆ setAutoBulkMode()

template<class E , class V >
void SUMOAbstractRouter< E, V >::setAutoBulkMode ( const bool  mode)
inlineinherited

Definition at line 404 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myAutoBulkMode.

Referenced by LandmarkLookupTable< E, V, M >::LandmarkLookupTable().

Here is the caller graph for this function:

◆ setBulkMode()

template<class E , class V , class GRAPH >
void CCHRouter< E, V, GRAPH >::setBulkMode ( const bool  mode)
inlinevirtual

◆ setHint()

template<class E , class V >
double SUMOAbstractRouter< E, V >::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 
)
inlineinherited

◆ setMsgHandler()

template<class E , class V , class GRAPH >
void CCHRouter< E, V, GRAPH >::setMsgHandler ( MsgHandler *const  errorMsgHandler)
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().

◆ startQuery()

template<class E , class V >
void SUMOAbstractRouter< E, V >::startQuery ( )
inlineinherited

◆ supportsProhibitions()

template<class E , class V , class GRAPH >
bool CCHRouter< E, V, GRAPH >::supportsProhibitions ( ) const
inlinevirtual

Reimplemented from SUMOAbstractRouter< E, V >.

Definition at line 281 of file CCHRouter.h.

◆ updateViaCost()

template<class E , class V >
void SUMOAbstractRouter< E, V >::updateViaCost ( const E *const  prev,
const E *const  e,
const V *const  v,
double &  time,
double &  effort,
double &  length 
) const
inlineinherited

◆ updateViaEdgeCost()

template<class E , class V >
void SUMOAbstractRouter< E, V >::updateViaEdgeCost ( const E *  viaEdge,
const V *const  v,
double &  time,
double &  effort,
double &  length 
) const
inlineinherited

Field Documentation

◆ myAmClean

◆ myAutoBulkMode

template<class E , class V >
bool SUMOAbstractRouter< E, V >::myAutoBulkMode
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().

◆ myBoundMetric

template<class E , class V , class GRAPH >
MetricPtr CCHRouter< E, V, GRAPH >::myBoundMetric = nullptr
private

Definition at line 366 of file CCHRouter.h.

Referenced by CCHRouter< E, V, GRAPH >::runQuery().

◆ myBulkMode

template<class E , class V >
bool SUMOAbstractRouter< E, V >::myBulkMode
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().

◆ myEdgeInfos

◆ myErrorMsgHandler

◆ myFallback

◆ myFound

◆ myFrontierList

◆ myGraph

template<class E , class V , class GRAPH >
const GRAPH* CCHRouter< E, V, GRAPH >::myGraph
private

◆ myHavePermissions

◆ myHaveRestrictions

◆ myMetricProvider

template<class E , class V , class GRAPH >
MetricProvider CCHRouter< E, V, GRAPH >::myMetricProvider
private

Definition at line 364 of file CCHRouter.h.

Referenced by CCHRouter< E, V, GRAPH >::compute().

◆ myNumQueries

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myNumQueries
privateinherited

◆ myOnReset

template<class E , class V , class GRAPH >
ResetHook CCHRouter< E, V, GRAPH >::myOnReset
private

Definition at line 369 of file CCHRouter.h.

Referenced by CCHRouter< E, V, GRAPH >::reset().

◆ myOperation

◆ myPeriodEnd

template<class E , class V , class GRAPH >
PeriodEnd CCHRouter< E, V, GRAPH >::myPeriodEnd
private

Definition at line 368 of file CCHRouter.h.

Referenced by CCHRouter< E, V, GRAPH >::compute().

◆ myProhibited

template<class E , class V , class GRAPH >
Prohibitions CCHRouter< E, V, GRAPH >::myProhibited
private

◆ myProhibitionActive

template<class E , class V , class GRAPH >
bool CCHRouter< E, V, GRAPH >::myProhibitionActive
private

◆ myQuery

◆ myQueryStartTime

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myQueryStartTime
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().

◆ myQueryTimeSum

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myQueryTimeSum
privateinherited

◆ myQueryVisits

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myQueryVisits
privateinherited

counters for performance logging

Definition at line 482 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, V >::endQuery(), and SUMOAbstractRouter< E, V >::~SUMOAbstractRouter().

◆ myTTOperation

template<class E , class V >
Operation SUMOAbstractRouter< E, V >::myTTOperation
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().

◆ myType

template<class E , class V >
const std::string SUMOAbstractRouter< E, V >::myType
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().


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