PGROUTING
3.2
|
#include "pgr_bdAstar.hpp"
Public Member Functions | |
Pgr_bdAstar (G &pgraph) | |
~Pgr_bdAstar ()=default | |
void | clean_log () |
void | clear () |
std::string | log () const |
Path | pgr_bdAstar (V start_vertex, V end_vertex, int heuristic, double factor, double epsilon, bool only_cost) |
Protected Types | |
typedef std::priority_queue< Cost_Vertex_pair, std::vector< Cost_Vertex_pair >, std::greater< Cost_Vertex_pair > > | Priority_queue |
Protected Member Functions | |
Path | bidirectional (bool only_cost) |
bool | found (const V &node) |
void | initialize () |
Protected Attributes | |
std::vector< double > | backward_cost |
std::vector< int64_t > | backward_edge |
std::vector< bool > | backward_finished |
std::vector< V > | backward_predecessor |
Priority_queue | backward_queue |
double | best_cost |
bool | cost_only |
std::vector< double > | forward_cost |
std::vector< int64_t > | forward_edge |
std::vector< bool > | forward_finished |
std::vector< V > | forward_predecessor |
Priority_queue | forward_queue |
G & | graph |
double | INF |
infinity More... | |
std::ostringstream | m_log |
V | v_min_node |
target descriptor More... | |
V | v_source |
source descriptor More... | |
V | v_target |
target descriptor More... | |
Private Types | |
typedef Pgr_bidirectional< G >::Cost_Vertex_pair | Cost_Vertex_pair |
typedef Pgr_bidirectional< G >::E | E |
typedef Pgr_bidirectional< G >::V | V |
Private Member Functions | |
void | explore_backward (const Cost_Vertex_pair &node) |
void | explore_forward (const Cost_Vertex_pair &node) |
double | heuristic (V v, V u) |
Private Attributes | |
double | m_factor |
int | m_heuristic |
Definition at line 50 of file pgr_bdAstar.hpp.
|
private |
Definition at line 53 of file pgr_bdAstar.hpp.
|
private |
Definition at line 52 of file pgr_bdAstar.hpp.
|
protectedinherited |
Definition at line 71 of file pgr_bidirectional.hpp.
|
private |
Definition at line 51 of file pgr_bdAstar.hpp.
|
inlineexplicit |
Definition at line 77 of file pgr_bdAstar.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::m_log.
|
default |
|
inlineprotectedinherited |
Definition at line 122 of file pgr_bidirectional.hpp.
References Path::append(), pgrouting::bidirectional::Pgr_bidirectional< G >::backward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_predecessor, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_queue, pgrouting::bidirectional::Pgr_bidirectional< G >::best_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::explore_backward(), pgrouting::bidirectional::Pgr_bidirectional< G >::explore_forward(), pgrouting::bidirectional::Pgr_bidirectional< G >::forward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_predecessor, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_queue, pgrouting::bidirectional::Pgr_bidirectional< G >::found(), pgrouting::bidirectional::Pgr_bidirectional< G >::graph, pgrouting::bidirectional::Pgr_bidirectional< G >::INF, pgrouting::bidirectional::Pgr_bidirectional< G >::initialize(), pgrouting::bidirectional::Pgr_bidirectional< G >::m_log, Path::reverse(), pgrouting::bidirectional::Pgr_bidirectional< G >::v_min_node, pgrouting::bidirectional::Pgr_bidirectional< G >::v_source, and pgrouting::bidirectional::Pgr_bidirectional< G >::v_target.
Referenced by pgrouting::bidirectional::Pgr_bdAstar< G >::pgr_bdAstar(), and pgrouting::bidirectional::Pgr_bdDijkstra< G >::pgr_bdDijkstra().
|
inlineinherited |
Definition at line 85 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::m_log.
|
inlineinherited |
Definition at line 86 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::backward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_edge, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_predecessor, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_queue, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_edge, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_predecessor, and pgrouting::bidirectional::Pgr_bidirectional< G >::forward_queue.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::initialize(), pgr_bdAstar(), and pgr_bdDijkstra().
|
inlineprivatevirtual |
Implements pgrouting::bidirectional::Pgr_bidirectional< G >.
Definition at line 130 of file pgr_bdAstar.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::backward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_edge, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_predecessor, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_queue, pgrouting::bidirectional::Pgr_bidirectional< G >::graph, pgrouting::bidirectional::Pgr_bdAstar< G >::heuristic(), and pgrouting::bidirectional::Pgr_bidirectional< G >::v_source.
|
inlineprivatevirtual |
Implements pgrouting::bidirectional::Pgr_bidirectional< G >.
Definition at line 104 of file pgr_bdAstar.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::forward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_edge, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_predecessor, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_queue, pgrouting::bidirectional::Pgr_bidirectional< G >::graph, pgrouting::bidirectional::Pgr_bdAstar< G >::heuristic(), and pgrouting::bidirectional::Pgr_bidirectional< G >::v_target.
|
inlineprotectedinherited |
Definition at line 196 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::backward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::best_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_finished, and pgrouting::bidirectional::Pgr_bidirectional< G >::v_min_node.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional().
|
inlineprivate |
Definition at line 157 of file pgr_bdAstar.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::graph, pgrouting::bidirectional::Pgr_bdAstar< G >::m_factor, and pgrouting::bidirectional::Pgr_bdAstar< G >::m_heuristic.
Referenced by pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward(), and pgrouting::bidirectional::Pgr_bdAstar< G >::pgr_bdAstar().
|
inlineprotectedinherited |
Definition at line 103 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::backward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_edge, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::backward_predecessor, pgrouting::bidirectional::Pgr_bidirectional< G >::best_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bidirectional< G >::forward_cost, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_edge, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_finished, pgrouting::bidirectional::Pgr_bidirectional< G >::forward_predecessor, pgrouting::bidirectional::Pgr_bidirectional< G >::graph, pgrouting::bidirectional::Pgr_bidirectional< G >::INF, pgrouting::bidirectional::Pgr_bidirectional< G >::m_log, and pgrouting::bidirectional::Pgr_bidirectional< G >::v_min_node.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional().
|
inlineinherited |
Definition at line 84 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::m_log.
Referenced by pgr_bdAstar(), and pgr_bdDijkstra().
|
inline |
Definition at line 86 of file pgr_bdAstar.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bdAstar< G >::heuristic(), pgrouting::bidirectional::Pgr_bdAstar< G >::m_factor, pgrouting::bidirectional::Pgr_bdAstar< G >::m_heuristic, pgrouting::bidirectional::Pgr_bidirectional< G >::m_log, pgrouting::bidirectional::Pgr_bidirectional< G >::v_source, and pgrouting::bidirectional::Pgr_bidirectional< G >::v_target.
Referenced by pgr_bdAstar().
|
protectedinherited |
Definition at line 236 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward(), pgrouting::bidirectional::Pgr_bidirectional< G >::found(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 234 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 233 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward(), pgrouting::bidirectional::Pgr_bidirectional< G >::found(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 235 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 231 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_backward(), and pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward().
|
protectedinherited |
Definition at line 226 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::found(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 227 of file pgr_bidirectional.hpp.
|
protectedinherited |
Definition at line 241 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_forward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward(), pgrouting::bidirectional::Pgr_bidirectional< G >::found(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 239 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_forward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 238 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_forward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward(), pgrouting::bidirectional::Pgr_bidirectional< G >::found(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 240 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_forward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
Definition at line 230 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clear(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_forward(), and pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward().
|
protectedinherited |
Definition at line 219 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::explore_forward(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward(), pgrouting::bidirectional::Pgr_bdAstar< G >::heuristic(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
infinity
Definition at line 224 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
private |
Definition at line 191 of file pgr_bdAstar.hpp.
Referenced by pgrouting::bidirectional::Pgr_bdAstar< G >::heuristic(), and pgrouting::bidirectional::Pgr_bdAstar< G >::pgr_bdAstar().
|
private |
Definition at line 190 of file pgr_bdAstar.hpp.
Referenced by pgrouting::bidirectional::Pgr_bdAstar< G >::heuristic(), and pgrouting::bidirectional::Pgr_bdAstar< G >::pgr_bdAstar().
|
mutableprotectedinherited |
Definition at line 229 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::clean_log(), pgrouting::bidirectional::Pgr_bidirectional< G >::initialize(), pgrouting::bidirectional::Pgr_bidirectional< G >::log(), pgrouting::bidirectional::Pgr_bdAstar< G >::Pgr_bdAstar(), pgrouting::bidirectional::Pgr_bdAstar< G >::pgr_bdAstar(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::Pgr_bdDijkstra(), pgrouting::bidirectional::Pgr_bdDijkstra< G >::pgr_bdDijkstra(), and pgrouting::bidirectional::Pgr_bidirectional< G >::Pgr_bidirectional().
|
protectedinherited |
target descriptor
Definition at line 222 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bidirectional< G >::found(), and pgrouting::bidirectional::Pgr_bidirectional< G >::initialize().
|
protectedinherited |
source descriptor
Definition at line 220 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_backward(), pgrouting::bidirectional::Pgr_bdAstar< G >::pgr_bdAstar(), and pgrouting::bidirectional::Pgr_bdDijkstra< G >::pgr_bdDijkstra().
|
protectedinherited |
target descriptor
Definition at line 221 of file pgr_bidirectional.hpp.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional(), pgrouting::bidirectional::Pgr_bdAstar< G >::explore_forward(), pgrouting::bidirectional::Pgr_bdAstar< G >::pgr_bdAstar(), and pgrouting::bidirectional::Pgr_bdDijkstra< G >::pgr_bdDijkstra().