SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SPTree< E, C > Class Template Reference

#include <SPTree.h>

Collaboration diagram for SPTree< E, C >:
Collaboration graph

Data Structures

class  EdgeByTTComparator
 

Public Types

typedef std::pair< const C
*, const C * > 
CHConnectionPair
 
typedef std::vector
< CHConnectionPair
CHConnectionPairs
 
typedef std::vector< C > CHConnections
 

Public Member Functions

const CHConnectionPairsgetNeededShortcuts (const E *excluded)
 
void init ()
 
void rebuildFrom (E *start, const E *excluded)
 build a shortest path tree from start to a depth of myMaxdepth. The given edge is excluded from this tree More...
 
void registerForValidation (const C *aInfo, const C *fInfo)
 save source/target pair for later validation More...
 
 SPTree (int maxDepth, bool validatePermissions)
 Constructor. More...
 
bool validatePermissions ()
 whether permissions should be validated; More...
 

Private Member Functions

void debugPrintVector (std::vector< E * > &vec, E *start, const E *excluded)
 
SUMOReal dijkstraTT (E *start, E *dest, const E *excluded, SVCPermissions permissions)
 

Private Attributes

EdgeByTTComparator myCmp
 comparator for search queue More...
 
std::vector< E * > myFound
 the list of visited edges (used when resetting) More...
 
std::vector< E * > myFrontier
 the min edge heap More...
 
int myMaxDepth
 maximum search depth More...
 
CHConnectionPairs myNeededShortcuts
 vector of needed shortcuts after validation More...
 
CHConnectionPairs myShortcutsToValidate
 vector of needed shortcuts after validation More...
 
bool myValidatePermissions
 whether permissions should be validated More...
 

Detailed Description

template<class E, class C>
class SPTree< E, C >

Definition at line 46 of file SPTree.h.

Member Typedef Documentation

template<class E, class C>
typedef std::pair<const C*, const C*> SPTree< E, C >::CHConnectionPair

Definition at line 50 of file SPTree.h.

template<class E, class C>
typedef std::vector<CHConnectionPair> SPTree< E, C >::CHConnectionPairs

Definition at line 51 of file SPTree.h.

template<class E, class C>
typedef std::vector<C> SPTree< E, C >::CHConnections

Definition at line 49 of file SPTree.h.

Constructor & Destructor Documentation

template<class E, class C>
SPTree< E, C >::SPTree ( int  maxDepth,
bool  validatePermissions 
)
inline

Constructor.

Definition at line 72 of file SPTree.h.

Member Function Documentation

template<class E, class C>
void SPTree< E, C >::debugPrintVector ( std::vector< E * > &  vec,
E *  start,
const E *  excluded 
)
inlineprivate

Definition at line 218 of file SPTree.h.

template<class E, class C>
SUMOReal SPTree< E, C >::dijkstraTT ( E *  start,
E *  dest,
const E *  excluded,
SVCPermissions  permissions 
)
inlineprivate
template<class E, class C>
const CHConnectionPairs& SPTree< E, C >::getNeededShortcuts ( const E *  excluded)
inline

Definition at line 150 of file SPTree.h.

Referenced by CHRouter< E, V, PF >::CHInfo::updateShortcuts().

template<class E, class C>
void SPTree< E, C >::init ( )
inline
template<class E, class C>
void SPTree< E, C >::rebuildFrom ( E *  start,
const E *  excluded 
)
inline

build a shortest path tree from start to a depth of myMaxdepth. The given edge is excluded from this tree

Definition at line 95 of file SPTree.h.

Referenced by CHRouter< E, V, PF >::CHInfo::updateShortcuts().

template<class E, class C>
void SPTree< E, C >::registerForValidation ( const C *  aInfo,
const C *  fInfo 
)
inline

save source/target pair for later validation

Definition at line 142 of file SPTree.h.

Referenced by CHRouter< E, V, PF >::CHInfo::updateShortcuts().

template<class E, class C>
bool SPTree< E, C >::validatePermissions ( )
inline

whether permissions should be validated;

Definition at line 137 of file SPTree.h.

Referenced by CHRouter< E, V, PF >::CHInfo::updateShortcuts().

Field Documentation

template<class E, class C>
EdgeByTTComparator SPTree< E, C >::myCmp
private
template<class E, class C>
std::vector<E*> SPTree< E, C >::myFrontier
private
template<class E, class C>
int SPTree< E, C >::myMaxDepth
private
template<class E, class C>
CHConnectionPairs SPTree< E, C >::myNeededShortcuts
private

vector of needed shortcuts after validation

Definition at line 244 of file SPTree.h.

Referenced by SPTree< CHRouter::CHInfo, CHRouter::CHConnection >::getNeededShortcuts().

template<class E, class C>
CHConnectionPairs SPTree< E, C >::myShortcutsToValidate
private
template<class E, class C>
bool SPTree< E, C >::myValidatePermissions
private

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