From 5fc0d284cb15c935eaa8627efc0d52d7b49bd099 Mon Sep 17 00:00:00 2001 From: Patrick Niklaus Date: Fri, 19 Jun 2015 00:33:56 +0200 Subject: [PATCH] Revert "Simplify offeset calculation logic a little bit" This reverts commit 8ade26b4a4ff2a91c75542629c065da843e794fd. One of the assertions triggers when run on an extract of Serok. Since this code does not fix any bugs, I'll just revert this for now. This definetly needs investigation. --- contractor/edge_based_graph_factory.cpp | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/contractor/edge_based_graph_factory.cpp b/contractor/edge_based_graph_factory.cpp index e76f7be52..dbd73a73c 100644 --- a/contractor/edge_based_graph_factory.cpp +++ b/contractor/edge_based_graph_factory.cpp @@ -128,11 +128,6 @@ void EdgeBasedGraphFactory::InsertEdgeBasedNode(const NodeID node_u, // TODO: move to lambda function with C++11 int temp_sum = 0; - // u-----------------------------------v - // 0 1 i-1 i n-1 - // x --> x --> ... --> x --> x ... --> x - // |-------------------| - // forward_dist_prefix_sum[i] for (const auto i : osrm::irange(0u, geometry_size)) { forward_dist_prefix_sum[i] = temp_sum; @@ -140,22 +135,14 @@ void EdgeBasedGraphFactory::InsertEdgeBasedNode(const NodeID node_u, BOOST_ASSERT(forward_data.distance >= temp_sum); } - BOOST_ASSERT(forward_dist_prefix_sum.back() + forward_geometry.back().second == forward_data.distance); - // v-----------------------------------u - // 0 1 i-1 i n-1 - // x --> x --> ... --> x --> x ... --> x - // |-------------------| - // reverse_dist_prefix_sum[i] temp_sum = 0; for (const auto i : osrm::irange(0u, geometry_size)) { - reverse_dist_prefix_sum[i] = temp_sum; - temp_sum += reverse_geometry[i].second; - - BOOST_ASSERT(reverse_data.distance >= temp_sum); + temp_sum += reverse_geometry[reverse_geometry.size() - 1 - i].second; + reverse_dist_prefix_sum[i] = reverse_data.distance - temp_sum; + // BOOST_ASSERT(reverse_data.distance >= temp_sum); } - BOOST_ASSERT(reverse_dist_prefix_sum.back() + reverse_geometry.back().second == reverse_data.distance); NodeID current_edge_source_coordinate_id = node_u; @@ -181,10 +168,8 @@ void EdgeBasedGraphFactory::InsertEdgeBasedNode(const NodeID node_u, forward_data.edgeBasedNodeID, reverse_data.edgeBasedNodeID, current_edge_source_coordinate_id, current_edge_target_coordinate_id, forward_data.nameID, forward_geometry[i].second, - reverse_geometry[geometry_size - 1 - i].second, - forward_dist_prefix_sum[i], - reverse_dist_prefix_sum[geometry_size - 1 - i], - m_geometry_compressor.GetPositionForID(edge_id_1), + reverse_geometry[geometry_size - 1 - i].second, forward_dist_prefix_sum[i], + reverse_dist_prefix_sum[i], m_geometry_compressor.GetPositionForID(edge_id_1), component_id, i, forward_data.travel_mode, reverse_data.travel_mode); current_edge_source_coordinate_id = current_edge_target_coordinate_id;