Public Member Functions | |
Dijkstra (Graph *roadNetwork, DistanceHeuristic *heuristic) | |
virtual void | doPrecomputation ()=0 |
virtual void | atStartOfDijkstra ()=0 |
void | resetAll () |
virtual void | resetNode (int nodeId)=0 |
void | setHeuristic (DistanceHeuristic *heuristic) |
template<bool checkNodes, bool checkEdges, bool rememberEdges, bool forward, bool toAllNodes> | |
double | computeShortestPath (int startId, int endId) |
double | computeShortestPath (int startId, int endId, bool checkNodes, bool checkEdges, bool rememberEdges, bool forward) |
double | computeShortestPathToAll (int startId, bool checkNodes, bool checkEdges, bool rememberEdges, bool forward) |
virtual double | computeShortestPath (int startId, int endId, bool reconstructPath)=0 |
virtual bool | nodeAllowed (int nodeId)=0 |
virtual bool | edgeAllowed (bool outEdge, int nodeId, int edgeId)=0 |
Public Attributes | |
vector< NodeExpanded > | shortestPath |
size_t | exploredNodes |
Protected Member Functions | |
virtual void | reconstructShortestPath (int startId, int endId)=0 |
Protected Attributes | |
DistanceHeuristic * | heuristic |
vector< double > | weights |
vector< double > | heuristicValues |
vector< double > | timesFromStart |
vector< pair< int, int > > | expandedFrom |
vector< bool > | expanded |
Graph * | _graph |
priority_queue< pair< double, int >, std::vector< pair < double, int > >, std::greater< pair< double, int > > > | _openNodeQueue |
bool | _stopDijkstra |