PGROUTING
3.2
|
#include "pgr_bidirectional.hpp"
Public Member Functions | |
Pgr_bidirectional (G &pgraph) | |
~Pgr_bidirectional ()=default | |
void | clean_log () |
void | clear () |
std::string | log () const |
Protected Types | |
typedef std::pair< double, V > | Cost_Vertex_pair |
typedef G::E | E |
typedef std::priority_queue< Cost_Vertex_pair, std::vector< Cost_Vertex_pair >, std::greater< Cost_Vertex_pair > > | Priority_queue |
typedef G::V | V |
Protected Member Functions | |
Path | bidirectional (bool only_cost) |
virtual void | explore_backward (const Cost_Vertex_pair &node)=0 |
virtual void | explore_forward (const Cost_Vertex_pair &node)=0 |
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... | |
Definition at line 62 of file pgr_bidirectional.hpp.
|
protected |
Definition at line 67 of file pgr_bidirectional.hpp.
|
protected |
Definition at line 65 of file pgr_bidirectional.hpp.
|
protected |
Definition at line 71 of file pgr_bidirectional.hpp.
|
protected |
Definition at line 64 of file pgr_bidirectional.hpp.
|
inlineexplicit |
Definition at line 75 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::m_log.
|
default |
|
inlineprotected |
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().
|
inline |
Definition at line 85 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::m_log.
|
inline |
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().
|
protectedpure virtual |
Implemented in pgrouting::bidirectional::Pgr_bdAstar< G >, and pgrouting::bidirectional::Pgr_bdDijkstra< G >.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional().
|
protectedpure virtual |
Implemented in pgrouting::bidirectional::Pgr_bdAstar< G >, and pgrouting::bidirectional::Pgr_bdDijkstra< G >.
Referenced by pgrouting::bidirectional::Pgr_bidirectional< G >::bidirectional().
|
inlineprotected |
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().
|
inlineprotected |
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().
|
inline |
Definition at line 84 of file pgr_bidirectional.hpp.
References pgrouting::bidirectional::Pgr_bidirectional< G >::m_log.
Referenced by pgr_bdAstar(), and pgr_bdDijkstra().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
Definition at line 227 of file pgr_bidirectional.hpp.
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().
|
mutableprotected |
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().
|
protected |
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().
|
protected |
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().
|
protected |
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().