PGROUTING
3.2
|
#include "pgr_dijkstra.hpp"
Classes | |
class | dijkstra_distance_visitor |
class for stopping when a distance/cost has being surpassed More... | |
class | dijkstra_distance_visitor_no_init |
class for stopping when a distance/cost has being surpassed More... | |
class | dijkstra_many_goal_visitor |
class for stopping when all targets are found More... | |
Public Types | |
typedef G::E | E |
typedef G::V | V |
Public Member Functions | |
drivingDistance | |
Path | drivingDistance (G &graph, int64_t start_vertex, double distance) |
1 to distance More... | |
std::deque< Path > | drivingDistance (G &graph, const std::vector< int64_t > &start_vertex, double distance, bool equicost, std::ostringstream &the_log) |
Private Attributes | |
members | |
std::vector< V > | predecessors |
std::vector< double > | distances |
std::deque< V > | nodesInDistance |
std::ostringstream | log |
Dijkstra | |
Path | dijkstra (G &graph, int64_t start_vertex, int64_t end_vertex, bool only_cost=false) |
Dijkstra 1 to 1. More... | |
std::deque< Path > | dijkstra (G &graph, int64_t start_vertex, const std::vector< int64_t > &end_vertex, bool only_cost, size_t n_goals) |
Dijkstra 1 to many. More... | |
std::deque< Path > | dijkstra (G &graph, const std::vector< int64_t > &start_vertex, int64_t end_vertex, bool only_cost) |
std::deque< Path > | dijkstra (G &graph, const std::vector< int64_t > &start_vertex, const std::vector< int64_t > &end_vertex, bool only_cost, size_t n_goals=(std::numeric_limits< size_t >::max)()) |
std::deque< Path > | dijkstra (G &graph, const std::vector< pgr_combination_t > &combinations, bool only_cost, size_t n_goals) |
bool | dijkstra_1_to_1 (G &graph, V source, V target) |
Call to Dijkstra 1 source to 1 target. More... | |
bool | dijkstra_1_to_distance (G &graph, V source, double distance) |
Call to Dijkstra 1 to distance. More... | |
bool | dijkstra_1_to_distance_no_init (G &graph, V source, double distance) |
Call to Dijkstra 1 to distance no init. More... | |
bool | execute_drivingDistance (G &graph, int64_t start_vertex, double distance) |
to use with driving distance More... | |
bool | execute_drivingDistance_no_init (G &graph, V start_vertex, double distance) |
to use with driving distance More... | |
std::deque< Path > | drivingDistance_with_equicost (G &graph, const std::vector< int64_t > &start_vertex, double distance) |
std::deque< Path > | get_drivingDistance_with_equicost_paths (G &graph, const std::vector< int64_t > &start_vertex, std::deque< std::vector< V > > &pred, double distance) |
gets results in form of a container of paths More... | |
std::deque< Path > | drivingDistance_no_equicost (G &graph, const std::vector< int64_t > &start_vertex, double distance) |
bool | dijkstra_1_to_many (G &graph, V source, const std::vector< V > &targets, size_t n_goals) |
Dijkstra 1 source to many targets. More... | |
void | clear () |
std::deque< Path > | get_paths (const G &graph, V source, std::vector< V > &targets, bool only_cost) const |
Definition at line 62 of file pgr_dijkstra.hpp.
typedef G::E pgrouting::Pgr_dijkstra< G >::E |
Definition at line 105 of file pgr_dijkstra.hpp.
typedef G::V pgrouting::Pgr_dijkstra< G >::V |
Definition at line 104 of file pgr_dijkstra.hpp.
|
inlineprivate |
Definition at line 710 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, pgrouting::Pgr_dijkstra< G >::nodesInDistance, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::dijkstra(), pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost(), and pgrouting::Pgr_dijkstra< G >::execute_drivingDistance().
|
inline |
Definition at line 270 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::dijkstra().
|
inline |
Definition at line 249 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::dijkstra().
|
inline |
Definition at line 291 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::dijkstra().
|
inline |
Dijkstra 1 to many.
Definition at line 212 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::clear(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_many(), pgrouting::Pgr_dijkstra< G >::distances, pgrouting::Pgr_dijkstra< G >::get_paths(), and pgrouting::Pgr_dijkstra< G >::predecessors.
|
inline |
Dijkstra 1 to 1.
Definition at line 172 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::clear(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_1(), pgrouting::Pgr_dijkstra< G >::distances, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::dijkstra(), pgrouting::yen::Pgr_ksp< G >::doNextCycle(), pgrouting::yen::Pgr_ksp< G >::getFirstSolution(), pgr_dijkstra(), pgrouting::pgr_dijkstra(), and detail::pgr_dijkstra().
|
inlineprivate |
Call to Dijkstra 1 source to 1 target.
Definition at line 326 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::dijkstra().
|
inlineprivate |
Call to Dijkstra 1 to distance.
Used on: 1 to distance many to distance On the first call of many to distance with equi_cost
Definition at line 359 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, pgrouting::Pgr_dijkstra< G >::nodesInDistance, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::execute_drivingDistance().
|
inlineprivate |
Call to Dijkstra 1 to distance no init.
Used on: On the subsequent calls of many to distance with equi_cost
Definition at line 391 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, pgrouting::Pgr_dijkstra< G >::log, pgassert, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::execute_drivingDistance_no_init().
|
inlineprivate |
Dijkstra 1 source to many targets.
Definition at line 673 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::dijkstra().
|
inline |
Definition at line 140 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::drivingDistance_no_equicost(), pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost(), and pgrouting::Pgr_dijkstra< G >::log.
|
inline |
1 to distance
Definition at line 110 of file pgr_dijkstra.hpp.
Referenced by pgrouting::pgr_drivingDistance().
|
inlineprivate |
Definition at line 646 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, pgrouting::Pgr_dijkstra< G >::execute_drivingDistance(), pgrouting::Pgr_dijkstra< G >::predecessors, and Path::push_back().
Referenced by pgrouting::Pgr_dijkstra< G >::drivingDistance().
|
inlineprivate |
Definition at line 518 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::clear(), pgrouting::Pgr_dijkstra< G >::distances, pgrouting::Pgr_dijkstra< G >::execute_drivingDistance_no_init(), pgrouting::Pgr_dijkstra< G >::get_drivingDistance_with_equicost_paths(), pgrouting::Pgr_dijkstra< G >::log, pgrouting::Pgr_dijkstra< G >::nodesInDistance, pred(), and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::drivingDistance().
|
inlineprivate |
to use with driving distance
Prepares the execution for a driving distance:
graph | |
start_vertex | |
distance | Results are kept on predecessor & distances |
Definition at line 453 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::clear(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance(), pgrouting::Pgr_dijkstra< G >::distances, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::drivingDistance_no_equicost().
|
inlineprivate |
to use with driving distance
Prepares the execution for a driving distance:
graph | |
start_vertex | |
distance | Results are kept on predecessor & distances |
Definition at line 488 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance_no_init(), pgrouting::Pgr_dijkstra< G >::distances, pgassert, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost().
|
inlineprivate |
gets results in form of a container of paths
[in] | graph | The graph that is being worked |
[in] | start_vertex | An array of vertices id |
[in] | pred | an array of predecessors |
[in] | distance | the max distance |
Definition at line 584 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, pgassert, and pred().
Referenced by pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost().
|
inlineprivate |
Definition at line 720 of file pgr_dijkstra.hpp.
References pgrouting::Pgr_dijkstra< G >::distances, and pgrouting::Pgr_dijkstra< G >::predecessors.
Referenced by pgrouting::Pgr_dijkstra< G >::dijkstra().
|
private |
Definition at line 741 of file pgr_dijkstra.hpp.
Referenced by pgrouting::Pgr_dijkstra< G >::clear(), pgrouting::Pgr_dijkstra< G >::dijkstra(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_1(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance_no_init(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_many(), pgrouting::Pgr_dijkstra< G >::drivingDistance_no_equicost(), pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost(), pgrouting::Pgr_dijkstra< G >::execute_drivingDistance(), pgrouting::Pgr_dijkstra< G >::execute_drivingDistance_no_init(), pgrouting::Pgr_dijkstra< G >::get_drivingDistance_with_equicost_paths(), and pgrouting::Pgr_dijkstra< G >::get_paths().
|
private |
Definition at line 743 of file pgr_dijkstra.hpp.
Referenced by pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance_no_init(), pgrouting::Pgr_dijkstra< G >::drivingDistance(), and pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost().
|
private |
Definition at line 742 of file pgr_dijkstra.hpp.
Referenced by pgrouting::Pgr_dijkstra< G >::clear(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance(), and pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost().
|
private |
Definition at line 740 of file pgr_dijkstra.hpp.
Referenced by pgrouting::Pgr_dijkstra< G >::clear(), pgrouting::Pgr_dijkstra< G >::dijkstra(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_1(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_distance_no_init(), pgrouting::Pgr_dijkstra< G >::dijkstra_1_to_many(), pgrouting::Pgr_dijkstra< G >::drivingDistance_no_equicost(), pgrouting::Pgr_dijkstra< G >::drivingDistance_with_equicost(), pgrouting::Pgr_dijkstra< G >::execute_drivingDistance(), pgrouting::Pgr_dijkstra< G >::execute_drivingDistance_no_init(), and pgrouting::Pgr_dijkstra< G >::get_paths().