Eclipse SUMO - Simulation of Urban MObility
CHRouterWrapper< E, V, BASE > Class Template Reference

Computes the shortest path through a contracted network. More...

#include <CHRouterWrapper.h>

Inheritance diagram for CHRouterWrapper< E, V, BASE >:
Collaboration diagram for CHRouterWrapper< E, V, BASE >:

Public Types

typedef double(* Operation) (const E *const, const V *const, double)
 Type of the function that is used to retrieve the edge effort. More...
 

Public Member Functions

 CHRouterWrapper (const std::vector< E *> &edges, const bool ignoreErrors, typename BASE::Operation operation, const SUMOTime begin, const SUMOTime end, const SUMOTime weightPeriod, const int numThreads)
 Constructor. More...
 
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)
 
 ~CHRouterWrapper ()
 

Private Types

typedef CHRouter< E, V, SUMOAbstractRouter< E, V > > CHRouterType
 
typedef std::map< std::pair< const SUMOVehicleClass, const double >, std::vector< CHRouterType * > > RouterMap
 

Private Attributes

const SUMOTime myBegin
 
const std::vector< E * > & myEdges
 all edges with numerical ids More...
 
const SUMOTime myEnd
 
const bool myIgnoreErrors
 
const int myMaxNumInstances
 
RouterMap myRouters
 
const SUMOTime myWeightPeriod
 

Detailed Description

template<class E, class V, class BASE>
class CHRouterWrapper< E, V, BASE >

Computes the shortest path through a contracted network.

The template parameters are:

Parameters
EThe edge class to use (MSEdge/ROEdge)
VThe vehicle class to use (MSVehicle/ROVehicle)
PFThe prohibition function to use (prohibited_withPermissions/noProhibitions)

The router is edge-based. It must know the number of edges for internal reasons and whether a missing connection between two given edges (unbuild route) shall be reported as an error or as a warning.

Definition at line 65 of file CHRouterWrapper.h.

Member Typedef Documentation

◆ CHRouterType

template<class E, class V, class BASE>
typedef CHRouter<E, V, SUMOAbstractRouter<E, V> > CHRouterWrapper< E, V, BASE >::CHRouterType
private

Definition at line 146 of file CHRouterWrapper.h.

◆ Operation

template<class E, class V, class BASE>
typedef double(* CHRouterWrapper< E, V, BASE >::Operation) (const E *const, const V *const, double)

Type of the function that is used to retrieve the edge effort.

Definition at line 69 of file CHRouterWrapper.h.

◆ RouterMap

template<class E, class V, class BASE>
typedef std::map<std::pair<const SUMOVehicleClass, const double>, std::vector<CHRouterType*> > CHRouterWrapper< E, V, BASE >::RouterMap
private

Definition at line 173 of file CHRouterWrapper.h.

Constructor & Destructor Documentation

◆ CHRouterWrapper()

template<class E, class V, class BASE>
CHRouterWrapper< E, V, BASE >::CHRouterWrapper ( const std::vector< E *> &  edges,
const bool  ignoreErrors,
typename BASE::Operation  operation,
const SUMOTime  begin,
const SUMOTime  end,
const SUMOTime  weightPeriod,
const int  numThreads 
)
inline

Constructor.

Definition at line 73 of file CHRouterWrapper.h.

◆ ~CHRouterWrapper()

template<class E, class V, class BASE>
CHRouterWrapper< E, V, BASE >::~CHRouterWrapper ( )
inline

Definition at line 84 of file CHRouterWrapper.h.

References CHRouterWrapper< E, V, BASE >::myRouters.

Member Function Documentation

◆ clone()

◆ compute()

template<class E, class V, class BASE>
bool CHRouterWrapper< E, V, BASE >::compute ( const E *  from,
const E *  to,
const V *const  vehicle,
SUMOTime  msTime,
std::vector< const E *> &  into,
bool  silent = false 
)
inline

Field Documentation

◆ myBegin

template<class E, class V, class BASE>
const SUMOTime CHRouterWrapper< E, V, BASE >::myBegin
private

◆ myEdges

template<class E, class V, class BASE>
const std::vector<E*>& CHRouterWrapper< E, V, BASE >::myEdges
private

all edges with numerical ids

Definition at line 178 of file CHRouterWrapper.h.

Referenced by CHRouterWrapper< E, V, BASE >::clone(), and CHRouterWrapper< E, V, BASE >::compute().

◆ myEnd

template<class E, class V, class BASE>
const SUMOTime CHRouterWrapper< E, V, BASE >::myEnd
private

◆ myIgnoreErrors

template<class E, class V, class BASE>
const bool CHRouterWrapper< E, V, BASE >::myIgnoreErrors
private

◆ myMaxNumInstances

template<class E, class V, class BASE>
const int CHRouterWrapper< E, V, BASE >::myMaxNumInstances
private

◆ myRouters

template<class E, class V, class BASE>
RouterMap CHRouterWrapper< E, V, BASE >::myRouters
private

◆ myWeightPeriod

template<class E, class V, class BASE>
const SUMOTime CHRouterWrapper< E, V, BASE >::myWeightPeriod
private

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