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

#include <MSNet.h>

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

Data Structures

struct  TripItem
 

Public Types

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. More...
 

Public Member Functions

SUMOAbstractRouter< E, _IntermodalTrip > * clone ()
 
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...
 
bool compute (const E *, const E *, const _IntermodalTrip *const, SUMOTime, std::vector< const E *> &)
 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...
 
void endQuery (int visits)
 
double getEffort (const E *const e, const IntermodalTrip< E, N, V > *const v, double t) const
 
NetworkgetNetwork () const
 
double getTravelTime (const E *const e, const IntermodalTrip< E, N, V > *const v, const double t, const double effort) const
 
 IntermodalRouter (CreateNetCallback callback, const int carWalkTransfer, const std::string &routingAlgorithm, const int routingMode=0, EffortCalculator *calc=nullptr)
 Constructor. More...
 
virtual bool isProhibited (const E *const, const IntermodalTrip< E, N, V > *const) const
 
void prohibit (const std::vector< E *> &toProhibit)
 
double recomputeCosts (const std::vector< const E * > &edges, const IntermodalTrip< E, N, V > *const v, SUMOTime msTime) const
 
void setBulkMode (const bool mode)
 
void startQuery ()
 
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 writeNetwork (OutputDevice &dev)
 
void writeWeights (OutputDevice &dev)
 
virtual ~IntermodalRouter ()
 Destructor. More...
 

Protected Attributes

bool myBulkMode
 whether we are currently operating several route queries in a bulk More...
 
Operation myOperation
 The object's operation to perform. More...
 
Operation myTTOperation
 The object's operation to perform for travel times. More...
 

Private Types

typedef IntermodalEdge< E, L, N, V > _IntermodalEdge
 
typedef IntermodalTrip< E, N, V > _IntermodalTrip
 
typedef AStarRouter< _IntermodalEdge, _IntermodalTrip, _InternalRouter_InternalAStar
 
typedef DijkstraRouter< _IntermodalEdge, _IntermodalTrip, _InternalRouter_InternalDijkstra
 
typedef SUMOAbstractRouterPermissions< _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 72 of file MSNet.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 61 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 62 of file IntermodalRouter.h.

◆ _InternalAStar

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

Definition at line 65 of file IntermodalRouter.h.

◆ _InternalDijkstra

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

Definition at line 64 of file IntermodalRouter.h.

◆ _InternalRouter

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

Definition at line 63 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 60 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 57 of file IntermodalRouter.h.

◆ Operation

typedef double(* SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::Operation) (const E *const, const IntermodalTrip< E, N, V > *const, double)
inherited

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

Definition at line 96 of file SUMOAbstractRouter.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 86 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 227 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 *  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

◆ compute() [2/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 *> &   
)
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 182 of file IntermodalRouter.h.

◆ createNet()

◆ endQuery()

◆ 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

◆ getEffort()

double SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::getEffort ( const E *const  e,
const IntermodalTrip< E, N, V > *const  v,
double  t 
) const
inlineinherited

Definition at line 171 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myOperation.

◆ 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

◆ getNetwork()

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

◆ getTravelTime()

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

◆ isProhibited()

virtual bool SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::isProhibited ( const E *  const,
const IntermodalTrip< E, N, V > *  const 
) const
inlinevirtualinherited

Definition at line 124 of file SUMOAbstractRouter.h.

◆ 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()

◆ recomputeCosts()

double SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::recomputeCosts ( const std::vector< const E *> &  edges,
const IntermodalTrip< E, N, V > *const  v,
SUMOTime  msTime 
) const
inlineinherited

◆ setBulkMode()

void SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::setBulkMode ( const bool  mode)
inlineinherited

Definition at line 185 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myBulkMode.

◆ startQuery()

◆ updateViaCost()

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

◆ writeNetwork()

◆ writeWeights()

Field Documentation

◆ myAmClone

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

◆ myBulkMode

bool SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::myBulkMode
protectedinherited

whether we are currently operating several route queries in a bulk

Definition at line 197 of file SUMOAbstractRouter.h.

◆ myCallback

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

Definition at line 278 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

◆ myOperation

Operation SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::myOperation
protectedinherited

The object's operation to perform.

Definition at line 191 of file SUMOAbstractRouter.h.

◆ 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

◆ myTTOperation

Operation SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::myTTOperation
protectedinherited

The object's operation to perform for travel times.

Definition at line 194 of file SUMOAbstractRouter.h.


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