Sorting turn candidates by angle to make workable LeftmostDirection() RightmostDirection() mehtods.

This commit is contained in:
Vladimir Byko-Ianko 2018-01-30 17:51:51 +03:00 committed by mpimenov
parent 043b9ba387
commit 53e008f79c

View file

@ -19,6 +19,7 @@
#include "geometry/mercator.hpp"
#include "geometry/point2d.hpp"
#include <algorithm>
#include <cstdlib>
#include <numeric>
#include <utility>
@ -281,6 +282,9 @@ void BicycleDirectionsEngine::GetSegmentRangeAndAdjacentEdges(
}
outgoingTurns.candidates.emplace_back(angle, ConvertEdgeToSegment(*m_numMwmIds, edge), highwayClass);
}
if (outgoingTurns.isCandidatesAngleValid)
sort(outgoingTurns.candidates.begin(), outgoingTurns.candidates.end(), my::LessBy(&TurnCandidate::angle));
}
void BicycleDirectionsEngine::GetEdges(RoadGraphBase const & graph, Junction const & currJunction,