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

the intermodal network storing edges, connections and the mappings to the "real" edges More...

#include <IntermodalNetwork.h>

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

Public Member Functions

void addConnectors (_IntermodalEdge *const depConn, _IntermodalEdge *const arrConn, const int splitIndex)
 
void addEdge (_IntermodalEdge *edge)
 
const std::vector< _IntermodalEdge * > & getAllEdges ()
 
_IntermodalEdgegetArrivalConnector (const E *e, const int splitIndex=0) const
 Returns the arriving intermodal connector at the given split offset. More...
 
_IntermodalEdgegetArrivalEdge (const E *e, const double pos) const
 Returns the arriving intermodal edge. More...
 
const EdgePairgetBothDirections (const E *e) const
 Returns the pair of forward and backward edge. More...
 
_IntermodalEdgegetDepartConnector (const E *e, const int splitIndex=0) const
 Returns the departing intermodal connector at the given split offset. More...
 
_IntermodalEdgegetDepartEdge (const E *e, const double pos) const
 Returns the departing intermodal edge. More...
 
_IntermodalEdgegetWalkingConnector (const E *e) const
 Returns the outgoing pedestrian edge, which is either a walking area or a walking connector. More...
 
 IntermodalNetwork (const std::vector< E *> &edges, int numericalID=0)
 
 ~IntermodalNetwork ()
 

Private Types

typedef IntermodalEdge< E, L, N, V > _IntermodalEdge
 
typedef PedestrianEdge< E, L, N, V > _PedestrianEdge
 
typedef std::pair< _IntermodalEdge *, _IntermodalEdge * > EdgePair
 

Private Attributes

std::map< const E *, std::vector< _IntermodalEdge * > > myArrivalLookup
 retrieve the arrival edges for the given input edge E More...
 
std::map< const E *, EdgePairmyBidiLookup
 retrieve the forward and backward edge for the given input edge E More...
 
std::map< const E *, std::vector< _IntermodalEdge * > > myDepartLookup
 retrieve the depart edges for the given input edge E More...
 
std::vector< _IntermodalEdge * > myEdges
 the edge dictionary More...
 
std::map< const N *, _IntermodalEdge * > myWalkingConnectorLookup
 the walking connector edge (fake walking area) More...
 

Detailed Description

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

the intermodal network storing edges, connections and the mappings to the "real" edges

Definition at line 51 of file IntermodalNetwork.h.

Member Typedef Documentation

◆ _IntermodalEdge

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

Definition at line 53 of file IntermodalNetwork.h.

◆ _PedestrianEdge

template<class E , class L , class N , class V >
typedef PedestrianEdge<E, L, N, V> IntermodalNetwork< E, L, N, V >::_PedestrianEdge
private

Definition at line 54 of file IntermodalNetwork.h.

◆ EdgePair

template<class E , class L , class N , class V >
typedef std::pair<_IntermodalEdge*, _IntermodalEdge*> IntermodalNetwork< E, L, N, V >::EdgePair
private

Definition at line 55 of file IntermodalNetwork.h.

Constructor & Destructor Documentation

◆ IntermodalNetwork()

◆ ~IntermodalNetwork()

template<class E , class L , class N , class V >
IntermodalNetwork< E, L, N, V >::~IntermodalNetwork ( )
inline

Definition at line 196 of file IntermodalNetwork.h.

References IntermodalNetwork< E, L, N, V >::myEdges.

Member Function Documentation

◆ addConnectors()

template<class E , class L , class N , class V >
void IntermodalNetwork< E, L, N, V >::addConnectors ( _IntermodalEdge *const  depConn,
_IntermodalEdge *const  arrConn,
const int  splitIndex 
)
inline

◆ addEdge()

◆ getAllEdges()

◆ getArrivalConnector()

◆ getArrivalEdge()

template<class E , class L , class N , class V >
_IntermodalEdge* IntermodalNetwork< E, L, N, V >::getArrivalEdge ( const E *  e,
const double  pos 
) const
inline

Returns the arriving intermodal edge.

Definition at line 252 of file IntermodalNetwork.h.

References IntermodalNetwork< E, L, N, V >::myArrivalLookup.

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

◆ getBothDirections()

◆ getDepartConnector()

◆ getDepartEdge()

template<class E , class L , class N , class V >
_IntermodalEdge* IntermodalNetwork< E, L, N, V >::getDepartEdge ( const E *  e,
const double  pos 
) const
inline

Returns the departing intermodal edge.

Definition at line 231 of file IntermodalNetwork.h.

References IntermodalNetwork< E, L, N, V >::myDepartLookup.

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

◆ getWalkingConnector()

template<class E , class L , class N , class V >
_IntermodalEdge* IntermodalNetwork< E, L, N, V >::getWalkingConnector ( const E *  e) const
inline

Returns the outgoing pedestrian edge, which is either a walking area or a walking connector.

Definition at line 273 of file IntermodalNetwork.h.

References IntermodalNetwork< E, L, N, V >::getBothDirections(), and IntermodalNetwork< E, L, N, V >::myWalkingConnectorLookup.

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

Field Documentation

◆ myArrivalLookup

template<class E , class L , class N , class V >
std::map<const E*, std::vector<_IntermodalEdge*> > IntermodalNetwork< E, L, N, V >::myArrivalLookup
private

◆ myBidiLookup

template<class E , class L , class N , class V >
std::map<const E*, EdgePair> IntermodalNetwork< E, L, N, V >::myBidiLookup
private

retrieve the forward and backward edge for the given input edge E

Definition at line 296 of file IntermodalNetwork.h.

Referenced by IntermodalNetwork< E, L, N, V >::getBothDirections(), and IntermodalNetwork< E, L, N, V >::IntermodalNetwork().

◆ myDepartLookup

template<class E , class L , class N , class V >
std::map<const E*, std::vector<_IntermodalEdge*> > IntermodalNetwork< E, L, N, V >::myDepartLookup
private

◆ myEdges

template<class E , class L , class N , class V >
std::vector<_IntermodalEdge*> IntermodalNetwork< E, L, N, V >::myEdges
private

◆ myWalkingConnectorLookup

template<class E , class L , class N , class V >
std::map<const N*, _IntermodalEdge*> IntermodalNetwork< E, L, N, V >::myWalkingConnectorLookup
private

the walking connector edge (fake walking area)

Definition at line 305 of file IntermodalNetwork.h.

Referenced by IntermodalNetwork< E, L, N, V >::getWalkingConnector(), and IntermodalNetwork< E, L, N, V >::IntermodalNetwork().


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