Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
CHRouter< E, V >::Unidirectional Class Reference

#include <CHRouter.h>

Collaboration diagram for CHRouter< E, V >::Unidirectional:
[legend]

Data Structures

class  EdgeInfoByTTComparator

Public Types

typedef std::vector< typename CHBuilder< E, V >::Connection > ConnectionVector

Public Member Functions

bool found (const E *const edge) const
SUMOAbstractRouter< E, V >::EdgeInfogetEdgeInfo (const E *const edge)
const SUMOAbstractRouter< E, V >::EdgeInfogetEdgeInfo (const E *const edge) const
void init (const E *const start, const V *const vehicle)
bool step (const std::vector< ConnectionVector > &uplinks, const Unidirectional &otherSearch, double &minTTSeen, Meeting &meeting)
 explore on element from the frontier,update minTTSeen and meeting if an EdgeInfo found by the otherSearch is encountered returns whether stepping should continue
 Unidirectional (const std::vector< E * > &edges, bool forward)
 Constructor.

Private Attributes

bool myAmForward
 the role of this search
EdgeInfoByTTComparator myComparator
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfomyEdgeInfos
 The container of edge information.
std::set< const E * > myFound
 the set of visited (settled) Edges
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > myFrontier
 the min edge heap
const V * myVehicle

Detailed Description

template<class E, class V>
class CHRouter< E, V >::Unidirectional

class for searching in one direction

Definition at line 69 of file CHRouter.h.

Member Typedef Documentation

◆ ConnectionVector

template<class E, class V>
typedef std::vector<typename CHBuilder<E, V>::Connection> CHRouter< E, V >::Unidirectional::ConnectionVector

Definition at line 127 of file CHRouter.h.

Constructor & Destructor Documentation

◆ Unidirectional()

template<class E, class V>
CHRouter< E, V >::Unidirectional::Unidirectional ( const std::vector< E * > & edges,
bool forward )
inline

Constructor.

Definition at line 72 of file CHRouter.h.

References myAmForward, myEdgeInfos, and myVehicle.

Referenced by step().

Here is the caller graph for this function:

Member Function Documentation

◆ found()

template<class E, class V>
bool CHRouter< E, V >::Unidirectional::found ( const E *const edge) const
inline

Definition at line 80 of file CHRouter.h.

References myFound.

Referenced by step().

Here is the caller graph for this function:

◆ getEdgeInfo() [1/2]

template<class E, class V>
SUMOAbstractRouter< E, V >::EdgeInfo * CHRouter< E, V >::Unidirectional::getEdgeInfo ( const E *const edge)
inline

Definition at line 84 of file CHRouter.h.

References myEdgeInfos.

Referenced by init(), and step().

Here is the caller graph for this function:

◆ getEdgeInfo() [2/2]

template<class E, class V>
const SUMOAbstractRouter< E, V >::EdgeInfo * CHRouter< E, V >::Unidirectional::getEdgeInfo ( const E *const edge) const
inline

Definition at line 88 of file CHRouter.h.

References myEdgeInfos.

◆ init()

template<class E, class V>
void CHRouter< E, V >::Unidirectional::init ( const E *const start,
const V *const vehicle )
inline

◆ step()

template<class E, class V>
bool CHRouter< E, V >::Unidirectional::step ( const std::vector< ConnectionVector > & uplinks,
const Unidirectional & otherSearch,
double & minTTSeen,
Meeting & meeting )
inline

explore on element from the frontier,update minTTSeen and meeting if an EdgeInfo found by the otherSearch is encountered returns whether stepping should continue

Definition at line 132 of file CHRouter.h.

References SUMOAbstractRouter< E, V >::EdgeInfo::effort, found(), getEdgeInfo(), myAmForward, myComparator, myEdgeInfos, myFound, myFrontier, myVehicle, and Unidirectional().

Field Documentation

◆ myAmForward

template<class E, class V>
bool CHRouter< E, V >::Unidirectional::myAmForward
private

the role of this search

Definition at line 199 of file CHRouter.h.

Referenced by step(), and Unidirectional().

◆ myComparator

template<class E, class V>
EdgeInfoByTTComparator CHRouter< E, V >::Unidirectional::myComparator
private

Definition at line 207 of file CHRouter.h.

Referenced by step().

◆ myEdgeInfos

template<class E, class V>
std::vector<typename SUMOAbstractRouter<E, V>::EdgeInfo> CHRouter< E, V >::Unidirectional::myEdgeInfos
private

The container of edge information.

Definition at line 205 of file CHRouter.h.

Referenced by getEdgeInfo(), getEdgeInfo(), step(), and Unidirectional().

◆ myFound

template<class E, class V>
std::set<const E*> CHRouter< E, V >::Unidirectional::myFound
private

the set of visited (settled) Edges

Definition at line 203 of file CHRouter.h.

Referenced by found(), init(), and step().

◆ myFrontier

template<class E, class V>
std::vector<typename SUMOAbstractRouter<E, V>::EdgeInfo*> CHRouter< E, V >::Unidirectional::myFrontier
private

the min edge heap

Definition at line 201 of file CHRouter.h.

Referenced by init(), and step().

◆ myVehicle

template<class E, class V>
const V* CHRouter< E, V >::Unidirectional::myVehicle
private

Definition at line 209 of file CHRouter.h.

Referenced by init(), step(), and Unidirectional().


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