Eclipse SUMO - Simulation of Urban MObility
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 More...
 
 Unidirectional (const std::vector< E * > &edges, bool forward)
 Constructor. More...
 

Private Attributes

bool myAmForward
 the role of this search More...
 
EdgeInfoByTTComparator myComparator
 
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfomyEdgeInfos
 The container of edge information. More...
 
std::set< const E * > myFound
 the set of visited (settled) Edges More...
 
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > myFrontier
 the min edge heap More...
 
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 CHRouter< E, V >::Unidirectional::myEdgeInfos.

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 CHRouter< E, V >::Unidirectional::myFound.

Referenced by CHRouter< E, V >::Unidirectional::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 CHRouter< E, V >::Unidirectional::myEdgeInfos.

Referenced by CHRouter< E, V >::Unidirectional::init(), and CHRouter< E, V >::Unidirectional::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 CHRouter< E, V >::Unidirectional::myEdgeInfos.

◆ init()

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

Definition at line 108 of file CHRouter.h.

References CHRouter< E, V >::Unidirectional::getEdgeInfo(), CHRouter< E, V >::Unidirectional::myFound, CHRouter< E, V >::Unidirectional::myFrontier, CHRouter< E, V >::Unidirectional::myVehicle, and SUMOAbstractRouter< E, V >::EdgeInfo::reset().

Referenced by CHRouter< E, V >::compute().

Here is the caller graph for this function:

◆ 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, CHRouter< E, V >::Unidirectional::found(), CHRouter< E, V >::Unidirectional::getEdgeInfo(), CHRouter< E, V >::Unidirectional::myAmForward, CHRouter< E, V >::Unidirectional::myComparator, CHRouter< E, V >::Unidirectional::myEdgeInfos, CHRouter< E, V >::Unidirectional::myFound, CHRouter< E, V >::Unidirectional::myFrontier, and CHRouter< E, V >::Unidirectional::myVehicle.

Referenced by CHRouter< E, V >::compute().

Here is the caller graph for this function:

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 CHRouter< E, V >::Unidirectional::step().

◆ myComparator

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

Definition at line 207 of file CHRouter.h.

Referenced by CHRouter< E, V >::Unidirectional::step().

◆ myEdgeInfos

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

◆ 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 CHRouter< E, V >::Unidirectional::found(), CHRouter< E, V >::Unidirectional::init(), and CHRouter< E, V >::Unidirectional::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 CHRouter< E, V >::Unidirectional::init(), and CHRouter< E, V >::Unidirectional::step().

◆ myVehicle

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

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