Eclipse SUMO - Simulation of Urban MObility
IntermodalRouter< E, L, N, V > Class Template Reference

#include <IntermodalRouter.h>

Collaboration diagram for IntermodalRouter< E, L, N, V >:

Data Structures

struct  TripItem
 

Public Types

typedef IntermodalNetwork< E, L, N, V > Network
 

Public Member Functions

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. More...
 
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...
 
EffortCalculatorgetExternalEffort () const
 
NetworkgetNetwork () const
 
 IntermodalRouter (CreateNetCallback callback, const int carWalkTransfer, const std::string &routingAlgorithm, const int routingMode=0, EffortCalculator *calc=nullptr)
 Constructor. More...
 
void prohibit (const std::vector< E * > &toProhibit)
 
void writeNetwork (OutputDevice &dev)
 
void writeWeights (OutputDevice &dev)
 
virtual ~IntermodalRouter ()
 Destructor. More...
 

Private Types

typedef IntermodalEdge< E, L, N, V > _IntermodalEdge
 
typedef IntermodalTrip< E, N, V > _IntermodalTrip
 
typedef AStarRouter< _IntermodalEdge, _IntermodalTrip_InternalAStar
 
typedef DijkstraRouter< _IntermodalEdge, _IntermodalTrip_InternalDijkstra
 
typedef SUMOAbstractRouter< _IntermodalEdge, _IntermodalTrip_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)
 
IntermodalRouteroperator= (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
 
NetworkmyIntermodalNet
 
_InternalRoutermyInternalRouter
 
const std::string myRoutingAlgorithm
 
const int myRoutingMode
 

Detailed Description

template<class E, class L, class N, class V>
class IntermodalRouter< E, L, N, V >

The router for pedestrians (on a bidirectional network of sidewalks and crossings)

Definition at line 54 of file IntermodalRouter.h.

Member Typedef Documentation

◆ _IntermodalEdge

template<class E , class L , class N , class V >
typedef IntermodalEdge<E, L, N, V> IntermodalRouter< E, L, N, V >::_IntermodalEdge
private

Definition at line 60 of file IntermodalRouter.h.

◆ _IntermodalTrip

template<class E , class L , class N , class V >
typedef IntermodalTrip<E, N, V> IntermodalRouter< E, L, N, V >::_IntermodalTrip
private

Definition at line 61 of file IntermodalRouter.h.

◆ _InternalAStar

template<class E , class L , class N , class V >
typedef AStarRouter<_IntermodalEdge, _IntermodalTrip> IntermodalRouter< E, L, N, V >::_InternalAStar
private

Definition at line 64 of file IntermodalRouter.h.

◆ _InternalDijkstra

template<class E , class L , class N , class V >
typedef DijkstraRouter<_IntermodalEdge, _IntermodalTrip> IntermodalRouter< E, L, N, V >::_InternalDijkstra
private

Definition at line 63 of file IntermodalRouter.h.

◆ _InternalRouter

template<class E , class L , class N , class V >
typedef SUMOAbstractRouter<_IntermodalEdge, _IntermodalTrip> IntermodalRouter< E, L, N, V >::_InternalRouter
private

Definition at line 62 of file IntermodalRouter.h.

◆ CreateNetCallback

template<class E , class L , class N , class V >
typedef void(* IntermodalRouter< E, L, N, V >::CreateNetCallback) (IntermodalRouter< E, L, N, V > &)
private

Definition at line 59 of file IntermodalRouter.h.

◆ Network

template<class E , class L , class N , class V >
typedef IntermodalNetwork<E, L, N, V> IntermodalRouter< E, L, N, V >::Network

Definition at line 56 of file IntermodalRouter.h.

Constructor & Destructor Documentation

◆ IntermodalRouter() [1/2]

template<class E , class L , class N , class V >
IntermodalRouter< E, L, N, V >::IntermodalRouter ( CreateNetCallback  callback,
const int  carWalkTransfer,
const std::string &  routingAlgorithm,
const int  routingMode = 0,
EffortCalculator calc = nullptr 
)
inline

Constructor.

Definition at line 85 of file IntermodalRouter.h.

◆ ~IntermodalRouter()

template<class E , class L , class N , class V >
virtual IntermodalRouter< E, L, N, V >::~IntermodalRouter ( )
inlinevirtual

◆ IntermodalRouter() [2/2]

template<class E , class L , class N , class V >
IntermodalRouter< E, L, N, V >::IntermodalRouter ( Network net,
const int  carWalkTransfer,
const std::string &  routingAlgorithm,
const int  routingMode,
EffortCalculator calc 
)
inlineprivate

Definition at line 243 of file IntermodalRouter.h.

Member Function Documentation

◆ clone()

◆ compute() [1/2]

template<class E , class L , class N , class V >
bool IntermodalRouter< E, L, N, V >::compute ( const E *  ,
const E *  ,
const _IntermodalTrip * const  ,
SUMOTime  ,
std::vector< const E * > &  ,
bool   
)
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 194 of file IntermodalRouter.h.

◆ compute() [2/2]

template<class E , class L , class N , class V >
bool IntermodalRouter< E, L, N, V >::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. 
)
inline

◆ createNet()

◆ getCombined()

template<class E , class L , class N , class V >
static double IntermodalRouter< E, L, N, V >::getCombined ( const _IntermodalEdge *const  edge,
const _IntermodalTrip *const  trip,
double  time 
)
inlinestaticprivate

◆ getEffortAggregated()

template<class E , class L , class N , class V >
static double IntermodalRouter< E, L, N, V >::getEffortAggregated ( const _IntermodalEdge *const  edge,
const _IntermodalTrip *const  trip,
double  time 
)
inlinestaticprivate

◆ getExternalEffort()

template<class E , class L , class N , class V >
EffortCalculator* IntermodalRouter< E, L, N, V >::getExternalEffort ( ) const
inline

◆ getNetwork()

template<class E , class L , class N , class V >
Network* IntermodalRouter< E, L, N, V >::getNetwork ( ) const
inline

◆ operator=()

template<class E , class L , class N , class V >
IntermodalRouter& IntermodalRouter< E, L, N, V >::operator= ( const IntermodalRouter< E, L, N, V > &  s)
private

Invalidated assignment operator.

◆ prohibit()

◆ writeNetwork()

◆ writeWeights()

Field Documentation

◆ myAmClone

template<class E , class L , class N , class V >
const bool IntermodalRouter< E, L, N, V >::myAmClone
private

◆ myCallback

template<class E , class L , class N , class V >
CreateNetCallback IntermodalRouter< E, L, N, V >::myCallback
private

Definition at line 297 of file IntermodalRouter.h.

Referenced by IntermodalRouter< E, L, N, V >::createNet().

◆ myCarWalkTransfer

template<class E , class L , class N , class V >
const int IntermodalRouter< E, L, N, V >::myCarWalkTransfer
private

◆ myExternalEffort

template<class E , class L , class N , class V >
EffortCalculator* const IntermodalRouter< E, L, N, V >::myExternalEffort
private

◆ myIntermodalNet

◆ myInternalRouter

◆ myRoutingAlgorithm

template<class E , class L , class N , class V >
const std::string IntermodalRouter< E, L, N, V >::myRoutingAlgorithm
private

◆ myRoutingMode

template<class E , class L , class N , class V >
const int IntermodalRouter< E, L, N, V >::myRoutingMode
private

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