Adapt osrm-components to new FindEdge interface

This commit is contained in:
Patrick Niklaus 2015-04-17 00:25:01 +02:00
parent 04b5833e98
commit 94d7fd9112

View File

@ -64,8 +64,8 @@ struct TarjanEdgeData
unsigned name_id; unsigned name_id;
}; };
using TarjanDynamicGraph = StaticGraph<TarjanEdgeData>; using TarjanGraph = StaticGraph<TarjanEdgeData>;
using TarjanEdge = TarjanDynamicGraph::InputEdge; using TarjanEdge = TarjanGraph::InputEdge;
void DeleteFileIfExists(const std::string &file_name) void DeleteFileIfExists(const std::string &file_name)
{ {
@ -174,14 +174,14 @@ int main(int argc, char *argv[])
"input edge vector not properly deallocated"); "input edge vector not properly deallocated");
tbb::parallel_sort(graph_edge_list.begin(), graph_edge_list.end()); tbb::parallel_sort(graph_edge_list.begin(), graph_edge_list.end());
const auto graph = std::make_shared<TarjanDynamicGraph>(number_of_nodes, graph_edge_list); const auto graph = std::make_shared<TarjanGraph>(number_of_nodes, graph_edge_list);
graph_edge_list.clear(); graph_edge_list.clear();
graph_edge_list.shrink_to_fit(); graph_edge_list.shrink_to_fit();
SimpleLogger().Write() << "Starting SCC graph traversal"; SimpleLogger().Write() << "Starting SCC graph traversal";
RestrictionMap restriction_map(restriction_list); RestrictionMap restriction_map(restriction_list);
auto tarjan = osrm::make_unique<TarjanSCC<TarjanDynamicGraph>>(graph, auto tarjan = osrm::make_unique<TarjanSCC<TarjanGraph>>(graph,
restriction_map, restriction_map,
bollard_node_list); bollard_node_list);
tarjan->run(); tarjan->run();
@ -236,9 +236,9 @@ int main(int argc, char *argv[])
percentage.printIncrement(); percentage.printIncrement();
for (const auto current_edge : graph->GetAdjacentEdgeRange(source)) for (const auto current_edge : graph->GetAdjacentEdgeRange(source))
{ {
const TarjanDynamicGraph::NodeIterator target = graph->GetTarget(current_edge); const TarjanGraph::NodeIterator target = graph->GetTarget(current_edge);
if (source < target || graph->EndEdges(target) >= graph->FindEdge(target, source)) if (source < target || SPECIAL_EDGEID == graph->FindEdge(target, source))
{ {
total_network_length += total_network_length +=
100 * coordinate_calculation::euclidean_distance( 100 * coordinate_calculation::euclidean_distance(