Eclipse SUMO - Simulation of Urban MObility
LandmarkLookupTable< E, V > Class Template Reference

Computes the shortest path through a network using the A* algorithm. More...

#include <AStarLookupTable.h>

Inheritance diagram for LandmarkLookupTable< E, V >:
[legend]
Collaboration diagram for LandmarkLookupTable< E, V >:
[legend]

Public Member Functions

bool consistent () const
 whether the heuristic ist consistent (found nodes are always visited on the shortest path the first time) More...
 
 LandmarkLookupTable (const std::string &filename, const std::vector< E * > &edges, SUMOAbstractRouter< E, V > *router, SUMOAbstractRouter< ReversedEdge< E, V >, V > *reverseRouter, const V *defaultVehicle, const std::string &outfile, const int maxNumThreads)
 
double lowerBound (const E *from, const E *to, double speed, double speedFactor, double fromEffort, double toEffort) const
 provide a lower bound on the distance between from and to (excluding traveltime of both edges) More...
 
virtual ~LandmarkLookupTable ()
 

Private Member Functions

std::string getLandmark (int i) const
 

Private Attributes

int myFirstNonInternal
 
std::vector< std::vector< double > > myFromLandmarkDists
 
std::map< std::string, int > myLandmarks
 
std::vector< std::vector< double > > myToLandmarkDists
 

Detailed Description

template<class E, class V>
class LandmarkLookupTable< E, V >

Computes the shortest path through a network using the A* algorithm.

The template parameters are:

Parameters
EThe edge class to use (MSEdge/ROEdge)
VThe vehicle class to use (MSVehicle/ROVehicle)
PFThe prohibition function to use (prohibited_withPermissions/noProhibitions)
ECThe class to retrieve the effort for an edge from

The router is edge-based. It must know the number of edges for internal reasons and whether a missing connection between two given edges (unbuild route) shall be reported as an error or as a warning.

Definition at line 104 of file AStarLookupTable.h.

Constructor & Destructor Documentation

◆ LandmarkLookupTable()

◆ ~LandmarkLookupTable()

template<class E , class V >
virtual LandmarkLookupTable< E, V >::~LandmarkLookupTable ( )
inlinevirtual

Definition at line 309 of file AStarLookupTable.h.

Member Function Documentation

◆ consistent()

template<class E , class V >
bool LandmarkLookupTable< E, V >::consistent ( ) const
inlinevirtual

whether the heuristic ist consistent (found nodes are always visited on the shortest path the first time)

Implements AbstractLookupTable< E, V >.

Definition at line 360 of file AStarLookupTable.h.

◆ getLandmark()

template<class E , class V >
std::string LandmarkLookupTable< E, V >::getLandmark ( int  i) const
inlineprivate

Definition at line 440 of file AStarLookupTable.h.

References LandmarkLookupTable< E, V >::myLandmarks.

Referenced by LandmarkLookupTable< E, V >::LandmarkLookupTable(), and LandmarkLookupTable< E, V >::lowerBound().

Here is the caller graph for this function:

◆ lowerBound()

template<class E , class V >
double LandmarkLookupTable< E, V >::lowerBound ( const E *  from,
const E *  to,
double  speed,
double  speedFactor,
double  fromEffort,
double  toEffort 
) const
inlinevirtual

Field Documentation

◆ myFirstNonInternal

template<class E , class V >
int LandmarkLookupTable< E, V >::myFirstNonInternal
private

◆ myFromLandmarkDists

template<class E , class V >
std::vector<std::vector<double> > LandmarkLookupTable< E, V >::myFromLandmarkDists
private

◆ myLandmarks

template<class E , class V >
std::map<std::string, int> LandmarkLookupTable< E, V >::myLandmarks
private

◆ myToLandmarkDists

template<class E , class V >
std::vector<std::vector<double> > LandmarkLookupTable< E, V >::myToLandmarkDists
private

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