Use immutable node-based-graph for segregated edges.

This commit is contained in:
vng
2017-11-09 16:37:16 +03:00
committed by Michael Krasnyk
parent 32e6ccb037
commit 90e361c3dc
6 changed files with 25 additions and 21 deletions
@@ -75,6 +75,7 @@ class EdgeBasedGraphFactory
const std::unordered_set<NodeID> &traffic_lights,
const std::vector<util::Coordinate> &coordinates,
const util::NameTable &name_table,
const std::unordered_set<EdgeID> &segregated_edges,
guidance::LaneDescriptionMap &lane_description_map);
void Run(ScriptingEnvironment &scripting_environment,
@@ -157,6 +158,7 @@ class EdgeBasedGraphFactory
const CompressedEdgeContainer &m_compressed_edge_container;
const util::NameTable &name_table;
const std::unordered_set<EdgeID> &segregated_edges;
guidance::LaneDescriptionMap &lane_description_map;
// In the edge based graph, any traversable (non reversed) edge of the node-based graph forms a
+2 -1
View File
@@ -72,6 +72,7 @@ class Extractor
const std::unordered_set<NodeID> &traffic_lights,
const std::vector<TurnRestriction> &turn_restrictions,
const std::vector<ConditionalTurnRestriction> &conditional_turn_restrictions,
const std::unordered_set<EdgeID> &segregated_edges,
// might have to be updated to add new lane combinations
guidance::LaneDescriptionMap &turn_lane_map,
// for calculating turn penalties
@@ -102,7 +103,7 @@ class Extractor
const std::string &path,
std::vector<ConditionalTurnRestriction> &conditional_turn_restrictions);
size_t FindSegregatedNodes(NodeBasedGraphFactory &factory);
std::unordered_set<EdgeID> FindSegregatedNodes(NodeBasedGraphFactory &factory);
};
}
}
@@ -41,7 +41,7 @@ class NodeBasedGraphFactory
std::vector<TurnRestriction> &turn_restrictions,
std::vector<ConditionalTurnRestriction> &conditional_turn_restrictions);
auto &GetGraph() { return compressed_output_graph; }
auto const &GetGraph() { return compressed_output_graph; }
auto const &GetBarriers() const { return barriers; }
auto const &GetTrafficSignals() const { return traffic_signals; }
auto &GetCompressedEdges() { return compressed_edge_container; }