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

Public Member Functions

 CHInfo (const E *const e)
 Constructor.
void debugNoWitness (const CHConnection &aInfo, const CHConnection &fInfo)
 debugging methods
void debugWitness (const CHConnection &aInfo, const CHConnection &fInfo)
void resetContractionState ()
void updateLevel ()
bool updatePriority (SPTree< CHInfo, CHConnection > *spTree)
 recompute the contraction priority and report whether it changed
void updateShortcuts (SPTree< CHInfo, CHConnection > *spTree)
 compute needed shortcuts when contracting this edge

Data Fields

CHConnections approaching
int contractedNeighbors
 priority subterms
const E *const edge
 The current edge.
CHConnections followers
 connections (only valid after synchronization)
int level
double priority
 The contraction priority.
int rank
std::vector< Shortcutshortcuts
 The needed shortcuts.
int underlyingTotal

members used in SPTree

bool visited
 whether the edge has been visited during shortest path search
double traveltime
 Effort to reach the edge.
int depth
 number of edges from start
SVCPermissions permissions
 the permissions when reaching this edge on the fastest path
void reset ()

Detailed Description

template<class E, class V>
class CHBuilder< E, V >::CHInfo

Definition at line 225 of file CHBuilder.h.

Constructor & Destructor Documentation

◆ CHInfo()

template<class E, class V>
CHBuilder< E, V >::CHInfo::CHInfo ( const E *const e)
inline

Constructor.

Definition at line 228 of file CHBuilder.h.

References contractedNeighbors, depth, edge, level, permissions, priority, rank, SVC_IGNORING, traveltime, underlyingTotal, and visited.

Member Function Documentation

◆ debugNoWitness()

template<class E, class V>
void CHBuilder< E, V >::CHInfo::debugNoWitness ( const CHConnection & aInfo,
const CHConnection & fInfo )
inline

debugging methods

Definition at line 387 of file CHBuilder.h.

References edge, and CHBuilder< E, V >::CHConnection::target.

Referenced by updateShortcuts().

Here is the caller graph for this function:

◆ debugWitness()

template<class E, class V>
void CHBuilder< E, V >::CHInfo::debugWitness ( const CHConnection & aInfo,
const CHConnection & fInfo )
inline

◆ reset()

template<class E, class V>
void CHBuilder< E, V >::CHInfo::reset ( )
inline

Definition at line 377 of file CHBuilder.h.

References depth, permissions, SVC_IGNORING, traveltime, and visited.

Referenced by resetContractionState().

Here is the caller graph for this function:

◆ resetContractionState()

template<class E, class V>
void CHBuilder< E, V >::CHInfo::resetContractionState ( )
inline

◆ updateLevel()

template<class E, class V>
void CHBuilder< E, V >::CHInfo::updateLevel ( )
inline

Definition at line 314 of file CHBuilder.h.

References approaching, followers, level, MAX2(), and rank.

Referenced by updatePriority().

Here is the caller graph for this function:

◆ updatePriority()

template<class E, class V>
bool CHBuilder< E, V >::CHInfo::updatePriority ( SPTree< CHInfo, CHConnection > * spTree)
inline

recompute the contraction priority and report whether it changed

Definition at line 242 of file CHBuilder.h.

References approaching, contractedNeighbors, followers, level, priority, shortcuts, underlyingTotal, updateLevel(), and updateShortcuts().

Referenced by CHBuilder< E, V >::buildContractionHierarchy(), and CHBuilder< E, V >::tryUpdateFront().

Here is the caller graph for this function:

◆ updateShortcuts()

template<class E, class V>
void CHBuilder< E, V >::CHInfo::updateShortcuts ( SPTree< CHInfo, CHConnection > * spTree)
inline

compute needed shortcuts when contracting this edge

Definition at line 257 of file CHBuilder.h.

References approaching, CHBuilder< E, V >::CHConnection::cost, debugNoWitness(), edge, followers, SPTree< E, C >::getNeededShortcuts(), CHBuilder< E, V >::CHConnection::permissions, SPTree< E, C >::rebuildFrom(), SPTree< E, C >::registerForValidation(), shortcuts, CHBuilder< E, V >::CHConnection::target, toString(), CHBuilder< E, V >::CHConnection::underlying, underlyingTotal, and SPTree< E, C >::validatePermissions().

Referenced by updatePriority().

Here is the caller graph for this function:

Field Documentation

◆ approaching

◆ contractedNeighbors

template<class E, class V>
int CHBuilder< E, V >::CHInfo::contractedNeighbors

priority subterms

Definition at line 354 of file CHBuilder.h.

Referenced by CHInfo(), resetContractionState(), and updatePriority().

◆ depth

template<class E, class V>
int CHBuilder< E, V >::CHInfo::depth

number of edges from start

Definition at line 371 of file CHBuilder.h.

Referenced by CHInfo(), and reset().

◆ edge

template<class E, class V>
const E* const CHBuilder< E, V >::CHInfo::edge

◆ followers

template<class E, class V>
CHConnections CHBuilder< E, V >::CHInfo::followers

connections (only valid after synchronization)

Definition at line 360 of file CHBuilder.h.

Referenced by CHBuilder< E, V >::buildContractionHierarchy(), resetContractionState(), CHBuilder< E, V >::synchronize(), updateLevel(), updatePriority(), and updateShortcuts().

◆ level

template<class E, class V>
int CHBuilder< E, V >::CHInfo::level

Definition at line 356 of file CHBuilder.h.

Referenced by CHInfo(), resetContractionState(), updateLevel(), and updatePriority().

◆ permissions

template<class E, class V>
SVCPermissions CHBuilder< E, V >::CHInfo::permissions

the permissions when reaching this edge on the fastest path

Definition at line 375 of file CHBuilder.h.

Referenced by CHInfo(), and reset().

◆ priority

template<class E, class V>
double CHBuilder< E, V >::CHInfo::priority

The contraction priority.

Definition at line 350 of file CHBuilder.h.

Referenced by CHBuilder< E, V >::buildContractionHierarchy(), CHInfo(), resetContractionState(), and updatePriority().

◆ rank

template<class E, class V>
int CHBuilder< E, V >::CHInfo::rank

◆ shortcuts

template<class E, class V>
std::vector<Shortcut> CHBuilder< E, V >::CHInfo::shortcuts

The needed shortcuts.

Definition at line 352 of file CHBuilder.h.

Referenced by CHBuilder< E, V >::buildContractionHierarchy(), resetContractionState(), updatePriority(), and updateShortcuts().

◆ traveltime

template<class E, class V>
double CHBuilder< E, V >::CHInfo::traveltime

Effort to reach the edge.

Definition at line 369 of file CHBuilder.h.

Referenced by CHInfo(), debugWitness(), and reset().

◆ underlyingTotal

template<class E, class V>
int CHBuilder< E, V >::CHInfo::underlyingTotal

Definition at line 357 of file CHBuilder.h.

Referenced by CHInfo(), resetContractionState(), updatePriority(), and updateShortcuts().

◆ visited

template<class E, class V>
bool CHBuilder< E, V >::CHInfo::visited

whether the edge has been visited during shortest path search

Definition at line 367 of file CHBuilder.h.

Referenced by CHInfo(), and reset().


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