From d2cd4fac2ddb723ca31ff244ef214a6b866acda1 Mon Sep 17 00:00:00 2001 From: "Daniel J. Hofmann" Date: Thu, 3 Nov 2016 15:26:51 +0100 Subject: [PATCH] Fixes Always-Zero Lane Count Introduced in #3237 --- src/extractor/guidance/intersection.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/extractor/guidance/intersection.cpp b/src/extractor/guidance/intersection.cpp index 65189032c..88cd79935 100644 --- a/src/extractor/guidance/intersection.cpp +++ b/src/extractor/guidance/intersection.cpp @@ -4,6 +4,8 @@ #include #include +#include + #include #include #include @@ -91,13 +93,13 @@ bool Intersection::valid() const operator[](0).angle < std::numeric_limits::epsilon(); } -std::uint8_t Intersection::getHighestConnectedLaneCount( - const util::NodeBasedDynamicGraph &node_based_graph) const +std::uint8_t +Intersection::getHighestConnectedLaneCount(const util::NodeBasedDynamicGraph &graph) const { BOOST_ASSERT(valid()); // non empty() - std::vector test; + const auto to_lane_count = [&](const ConnectedRoad &road) { - return node_based_graph.GetEdgeData(road.eid).road_classification.GetNumberOfLanes(); + return graph.GetEdgeData(road.eid).road_classification.GetNumberOfLanes(); }; // boost::range::transformed sadly does not work with lamdas since they are not copy @@ -108,7 +110,7 @@ std::uint8_t Intersection::getHighestConnectedLaneCount( return false; }; - const auto view = test | boost::adaptors::transformed(to_lane_count); + const auto view = *this | boost::adaptors::transformed(to_lane_count); boost::range::find_if(view, extract_maximal_value); return max_lanes; }