Eclipse SUMO - Simulation of Urban MObility
IntermodalRouter Class Reference

#include <MSNet.h>

Collaboration diagram for IntermodalRouter:

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

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

Definition at line 79 of file MSNet.h.

Member Typedef Documentation

◆ _IntermodalEdge

Definition at line 60 of file IntermodalRouter.h.

◆ _IntermodalTrip

Definition at line 61 of file IntermodalRouter.h.

◆ _InternalAStar

◆ _InternalDijkstra

◆ _InternalRouter

◆ CreateNetCallback

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

Definition at line 59 of file IntermodalRouter.h.

◆ Network

Definition at line 56 of file IntermodalRouter.h.

Constructor & Destructor Documentation

◆ IntermodalRouter() [1/2]

IntermodalRouter::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()

virtual IntermodalRouter::~IntermodalRouter ( )
inlinevirtual

Destructor.

Definition at line 94 of file IntermodalRouter.h.

◆ IntermodalRouter() [2/2]

IntermodalRouter::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()

SUMOAbstractRouter<E, _IntermodalTrip>* IntermodalRouter::clone ( )
inline

Definition at line 101 of file IntermodalRouter.h.

◆ compute() [1/2]

bool IntermodalRouter::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]

bool IntermodalRouter::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

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 108 of file IntermodalRouter.h.

Referenced by ROPerson::computeIntermodal(), libsumo::Simulation::findIntermodalRoute(), and MSTransportable::Stage_Trip::setArrived().

◆ createNet()

◆ getCombined()

static double IntermodalRouter::getCombined ( const _IntermodalEdge *const  edge,
const _IntermodalTrip *const  trip,
double  time 
)
inlinestaticprivate

Definition at line 254 of file IntermodalRouter.h.

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

◆ getEffortAggregated()

static double IntermodalRouter::getEffortAggregated ( const _IntermodalEdge *const  edge,
const _IntermodalTrip *const  trip,
double  time 
)
inlinestaticprivate

Definition at line 250 of file IntermodalRouter.h.

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

◆ getExternalEffort()

EffortCalculator* IntermodalRouter::getExternalEffort ( ) const
inline

Definition at line 238 of file IntermodalRouter.h.

Referenced by MSNet::adaptIntermodalRouter().

◆ getNetwork()

◆ operator=()

IntermodalRouter& IntermodalRouter::operator= ( const IntermodalRouter s)
private

Invalidated assignment operator.

◆ prohibit()

void IntermodalRouter::prohibit ( const std::vector< E * > &  toProhibit)
inline

Definition at line 199 of file IntermodalRouter.h.

◆ writeNetwork()

void IntermodalRouter::writeNetwork ( OutputDevice dev)
inline

Definition at line 210 of file IntermodalRouter.h.

Referenced by RONet::writeIntermodal().

◆ writeWeights()

void IntermodalRouter::writeWeights ( OutputDevice dev)
inline

Definition at line 222 of file IntermodalRouter.h.

Referenced by RONet::writeIntermodal().

Field Documentation

◆ myAmClone

const bool IntermodalRouter::myAmClone
private

◆ myCallback

CreateNetCallback IntermodalRouter::myCallback
private

Definition at line 297 of file IntermodalRouter.h.

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

◆ myCarWalkTransfer

const int IntermodalRouter::myCarWalkTransfer
private

◆ myExternalEffort

◆ myIntermodalNet

◆ myInternalRouter

◆ myRoutingAlgorithm

const std::string IntermodalRouter::myRoutingAlgorithm
private

◆ myRoutingMode

const int IntermodalRouter::myRoutingMode
private

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