make roundabout maneuvers continuous with respect to lane changes

This commit is contained in:
Moritz Kobitzsch
2016-07-15 14:14:06 +02:00
parent 86241a2793
commit 396add1e9d
5 changed files with 70 additions and 7 deletions
+4 -1
View File
@@ -524,7 +524,10 @@ std::vector<RouteStep> anticipateLaneChangeForRoundabouts(std::vector<RouteStep>
enter.maneuver.instruction.direction_modifier =
mirrorDirectionModifier(enter_direction);
auto enterAndLeave = anticipateLaneChange({enter, leave});
// a roundabout is a continuous maneuver. We don't switch lanes within a roundabout, as long
// as it can be avoided.
auto enterAndLeave =
anticipateLaneChange({enter, leave}, std::numeric_limits<double>::max());
// Undo flipping direction on a right turn in a right-sided counter-clockwise roundabout.
// FIXME: assumes right-side driving (counter-clockwise roundabout flow)