PGROUTING
3.2
|
#include "pgr_chinesePostman.hpp"
Public Member Functions | |
PgrDirectedChPPGraph (const pgr_edge_t *dataEdges, const size_t totalEdges) | |
~PgrDirectedChPPGraph () | |
double | DirectedChPP () const |
std::vector< General_path_element_t > | GetPathEdges () const |
Private Member Functions | |
void | BuildResultGraph () |
void | BuildResultPath () |
bool | EulerCircuitDFS (int64_t p) |
void | setPathEdges (graph::PgrCostFlowGraph &flowGraph) |
Private Attributes | |
std::vector< pgr_costFlow_t > | edges |
std::map< std::pair< int64_t, int64_t >, size_t > | edgeToId |
std::map< std::pair< int64_t, int64_t >, const pgr_edge_t * > | edgeToIdx |
(source, target) -> idx to originalEdges; Only the one with the lower cost is kept More... | |
Identifiers< size_t > | edgeVisited |
double | m_cost |
std::vector< pgr_edge_t > | originalEdges |
std::stack< int64_t > | pathStack |
std::vector< pgr_edge_t > | resultEdges |
std::vector< std::pair< int64_t, std::vector< size_t > > > | resultGraph |
vector of vertex -> vector of edges More... | |
std::vector< General_path_element_t > | resultPath |
std::set< int64_t > | sources |
int64_t | startPoint |
int64_t | superSource |
int64_t | superTarget |
std::set< int64_t > | targets |
double | totalCost |
int64_t | totalDeg |
Identifiers< int64_t > | vertexVisited |
Identifiers< int64_t > | vertices |
std::map< int64_t, size_t > | VToVecid |
Definition at line 49 of file pgr_chinesePostman.hpp.
pgrouting::graph::PgrDirectedChPPGraph::PgrDirectedChPPGraph | ( | const pgr_edge_t * | dataEdges, |
const size_t | totalEdges | ||
) |
Definition at line 108 of file pgr_chinesePostman.hpp.
References edge::cost, edges, edgeToIdx, pgrouting::graph::PgrCostFlowGraph::GetMaxFlow(), edge::id, m_cost, pgrouting::graph::PgrCostFlowGraph::MinCostMaxFlow(), originalEdges, pathStack, pgassert, edge::reverse_cost, setPathEdges(), pgr_edge_t::source, edge::source, sources, startPoint, superSource, superTarget, pgr_edge_t::target, edge::target, targets, totalCost, totalDeg, and vertices.
pgrouting::graph::PgrDirectedChPPGraph::~PgrDirectedChPPGraph | ( | ) |
Definition at line 105 of file pgr_chinesePostman.hpp.
References edgeToIdx.
|
private |
Definition at line 326 of file pgr_chinesePostman.hpp.
References pgassert, resultEdges, resultGraph, edge_t::source, and VToVecid.
Referenced by setPathEdges().
|
private |
Definition at line 268 of file pgr_chinesePostman.hpp.
References General_path_element_t::agg_cost, edge_t::cost, General_path_element_t::cost, General_path_element_t::edge, edgeToIdx, edge_t::id, General_path_element_t::node, pathStack, pgassert, resultPath, General_path_element_t::seq, and edge_t::source.
Referenced by setPathEdges().
|
inline |
Definition at line 55 of file pgr_chinesePostman.hpp.
References m_cost.
Referenced by do_pgr_directedChPP().
|
private |
Definition at line 313 of file pgr_chinesePostman.hpp.
References edgeVisited, Identifiers< T >::has(), pathStack, resultEdges, resultGraph, vertexVisited, and VToVecid.
Referenced by setPathEdges().
|
inline |
Definition at line 59 of file pgr_chinesePostman.hpp.
References resultPath.
Referenced by do_pgr_directedChPP().
|
private |
Definition at line 222 of file pgr_chinesePostman.hpp.
References BuildResultGraph(), BuildResultPath(), edgeToIdx, edgeVisited, Identifiers< T >::empty(), EulerCircuitDFS(), pgrouting::graph::PgrCostFlowGraph::GetFlowEdges(), pgrouting::graph::PgrCostFlowGraph::GetMaxFlow(), m_cost, pgrouting::graph::PgrCostFlowGraph::MinCostMaxFlow(), originalEdges, pathStack, pgassert, resultEdges, resultPath, startPoint, superSource, superTarget, vertexVisited, and vertices.
Referenced by PgrDirectedChPPGraph().
|
private |
Definition at line 100 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph().
|
private |
Definition at line 85 of file pgr_chinesePostman.hpp.
|
private |
(source, target) -> idx to originalEdges; Only the one with the lower cost is kept
Definition at line 83 of file pgr_chinesePostman.hpp.
Referenced by BuildResultPath(), PgrDirectedChPPGraph(), setPathEdges(), and ~PgrDirectedChPPGraph().
|
private |
Definition at line 93 of file pgr_chinesePostman.hpp.
Referenced by EulerCircuitDFS(), and setPathEdges().
|
private |
Definition at line 77 of file pgr_chinesePostman.hpp.
Referenced by DirectedChPP(), PgrDirectedChPPGraph(), and setPathEdges().
|
private |
Definition at line 87 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph(), and setPathEdges().
|
private |
Definition at line 96 of file pgr_chinesePostman.hpp.
Referenced by BuildResultPath(), EulerCircuitDFS(), PgrDirectedChPPGraph(), and setPathEdges().
|
private |
Definition at line 88 of file pgr_chinesePostman.hpp.
Referenced by BuildResultGraph(), EulerCircuitDFS(), and setPathEdges().
|
private |
vector of vertex -> vector of edges
Definition at line 91 of file pgr_chinesePostman.hpp.
Referenced by BuildResultGraph(), and EulerCircuitDFS().
|
private |
Definition at line 97 of file pgr_chinesePostman.hpp.
Referenced by BuildResultPath(), GetPathEdges(), and setPathEdges().
|
private |
Definition at line 101 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph().
|
private |
Definition at line 76 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph(), and setPathEdges().
|
private |
Definition at line 75 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph(), and setPathEdges().
|
private |
Definition at line 75 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph(), and setPathEdges().
|
private |
Definition at line 102 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph().
|
private |
Definition at line 74 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph().
|
private |
Definition at line 73 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph().
|
private |
Definition at line 94 of file pgr_chinesePostman.hpp.
Referenced by EulerCircuitDFS(), and setPathEdges().
|
private |
Definition at line 78 of file pgr_chinesePostman.hpp.
Referenced by PgrDirectedChPPGraph(), and setPathEdges().
|
private |
Definition at line 92 of file pgr_chinesePostman.hpp.
Referenced by BuildResultGraph(), and EulerCircuitDFS().