Implement exclude flags on CH using shared core
The core is fully contracted for each exclude flag and stored in a merged graph data structure.
This commit is contained in:
committed by
Patrick Niklaus
parent
4b75cb8b0e
commit
61c430c098
@@ -28,11 +28,13 @@ class BisectionGraphView
|
||||
// Construction either for a subrange, or for a full range
|
||||
BisectionGraphView(const BisectionGraph &graph);
|
||||
BisectionGraphView(const BisectionGraph &graph,
|
||||
const ConstNodeIterator begin,
|
||||
const ConstNodeIterator end);
|
||||
const ConstNodeIterator begin,
|
||||
const ConstNodeIterator end);
|
||||
|
||||
// construction from a different view, no need to keep the graph around
|
||||
BisectionGraphView(const BisectionGraphView &view, const ConstNodeIterator begin, const ConstNodeIterator end);
|
||||
BisectionGraphView(const BisectionGraphView &view,
|
||||
const ConstNodeIterator begin,
|
||||
const ConstNodeIterator end);
|
||||
|
||||
// Number of nodes _in this sub-graph.
|
||||
std::size_t NumberOfNodes() const;
|
||||
|
||||
@@ -83,8 +83,9 @@ class DinicMaxFlow
|
||||
const SourceSinkNodes &source_nodes) const;
|
||||
|
||||
// Builds an actual cut result from a level graph
|
||||
MinCut
|
||||
MakeCut(const BisectionGraphView &view, const LevelGraph &levels, const std::size_t flow_value) const;
|
||||
MinCut MakeCut(const BisectionGraphView &view,
|
||||
const LevelGraph &levels,
|
||||
const std::size_t flow_value) const;
|
||||
};
|
||||
|
||||
} // namespace partition
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#ifndef OSRM_PARTITION_INERTIAL_FLOW_HPP_
|
||||
#define OSRM_PARTITION_INERTIAL_FLOW_HPP_
|
||||
|
||||
#include "partition/dinic_max_flow.hpp"
|
||||
#include "partition/bisection_graph_view.hpp"
|
||||
#include "partition/dinic_max_flow.hpp"
|
||||
|
||||
namespace osrm
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user