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

#include <MSNet.h>

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

Public Types

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

virtual SUMOAbstractRouter< E, _IntermodalTrip > * clone ()
 
double compute (const E *from, const E *to, double departPos, double arrivalPos, double speed, SUMOTime msTime, const N *onlyNode, std::vector< const E *> &into, bool allEdges=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. More...
 
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 computeLooped (const E *from, const E *to, const IntermodalTrip< E, N, 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. More...
 
void endQuery (int visits)
 
double getEffort (const E *const e, const IntermodalTrip< E, N, V > *const v, double t) const
 
double getTravelTime (const E *const e, const IntermodalTrip< E, N, V > *const v, const double t, const double effort) const
 
virtual bool isProhibited (const E *const, const IntermodalTrip< E, N, V > *const) const
 
 PedestrianRouter ()
 Constructor. More...
 
 PedestrianRouter (_IntermodalNetwork *net)
 
void prohibit (const std::vector< E *> &toProhibit)
 
double recomputeCosts (const std::vector< const E * > &edges, const IntermodalTrip< E, N, V > *const v, SUMOTime msTime, double *lengthp=nullptr) 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 updateViaEdgeCost (const E *viaEdge, const IntermodalTrip< E, N, V > *const v, double &time, double &effort, double &length) const
 
virtual ~PedestrianRouter ()
 Destructor. More...
 

Protected Attributes

bool myBulkMode
 whether we are currently operating several route queries in a bulk More...
 
MsgHandler *const myErrorMsgHandler
 the handler for routing errors 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 IntermodalNetwork< E, L, N, V > _IntermodalNetwork
 
typedef IntermodalTrip< E, N, V > _IntermodalTrip
 
typedef DijkstraRouter< _IntermodalEdge, _IntermodalTrip, SUMOAbstractRouterPermissions< _IntermodalEdge, _IntermodalTrip > > _InternalRouter
 

Private Member Functions

PedestrianRouteroperator= (const PedestrianRouter &s)
 Invalidated assignment operator. More...
 

Private Attributes

const bool myAmClone
 
_InternalRoutermyInternalRouter
 
_IntermodalNetworkmyPedNet
 

Detailed Description

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

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

Definition at line 82 of file MSNet.h.

Member Typedef Documentation

◆ _IntermodalEdge

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

Definition at line 50 of file PedestrianRouter.h.

◆ _IntermodalNetwork

template<class E, class L, class N, class V>
typedef IntermodalNetwork<E, L, N, V> PedestrianRouter< E, L, N, V >::_IntermodalNetwork
private

Definition at line 51 of file PedestrianRouter.h.

◆ _IntermodalTrip

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

Definition at line 52 of file PedestrianRouter.h.

◆ _InternalRouter

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

Definition at line 53 of file PedestrianRouter.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 94 of file SUMOAbstractRouter.h.

Constructor & Destructor Documentation

◆ PedestrianRouter() [1/2]

◆ PedestrianRouter() [2/2]

◆ ~PedestrianRouter()

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

Member Function Documentation

◆ clone()

template<class E, class L, class N, class V>
virtual SUMOAbstractRouter<E, _IntermodalTrip>* PedestrianRouter< E, L, N, V >::clone ( )
inlinevirtual

◆ compute() [1/2]

template<class E, class L, class N, class V>
double PedestrianRouter< E, L, N, V >::compute ( const E *  from,
const E *  to,
double  departPos,
double  arrivalPos,
double  speed,
SUMOTime  msTime,
const N *  onlyNode,
std::vector< const E *> &  into,
bool  allEdges = false 
)
inline

◆ compute() [2/2]

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

◆ computeLooped()

bool SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::computeLooped ( const E *  from,
const E *  to,
const IntermodalTrip< E, N, 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 125 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::EdgeInfo::effort, MsgHandler::inform(), SUMOAbstractRouter< E, V >::myErrorMsgHandler, SUMOAbstractRouter< E, V >::recomputeCosts(), and SVC_IGNORING.

◆ endQuery()

◆ 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 210 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myOperation.

◆ 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 154 of file SUMOAbstractRouter.h.

◆ operator=()

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

Invalidated assignment operator.

◆ prohibit()

template<class E, class L, class N, class V>
void PedestrianRouter< E, L, N, V >::prohibit ( const std::vector< E *> &  toProhibit)
inline

◆ recomputeCosts()

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

◆ setBulkMode()

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

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

◆ updateViaEdgeCost()

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

Field Documentation

◆ myAmClone

template<class E, class L, class N, class V>
const bool PedestrianRouter< 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 239 of file SUMOAbstractRouter.h.

◆ myErrorMsgHandler

MsgHandler* const SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::myErrorMsgHandler
protectedinherited

the handler for routing errors

Definition at line 230 of file SUMOAbstractRouter.h.

◆ myInternalRouter

◆ myOperation

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

The object's operation to perform.

Definition at line 233 of file SUMOAbstractRouter.h.

◆ myPedNet

◆ myTTOperation

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

The object's operation to perform for travel times.

Definition at line 236 of file SUMOAbstractRouter.h.


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