don't assign exit
in arrive when ending in roundabout
This commit is contained in:
parent
3b2ca720a8
commit
dff7fe214b
@ -1,3 +1,8 @@
|
||||
# 5.5.2
|
||||
- Changes from 5.5.1
|
||||
- Bugfixes
|
||||
- Fix #3475 removed an invalid `exit` field from the `arrive` maneuver
|
||||
|
||||
# 5.5.1
|
||||
- Changes from 5.5.0
|
||||
- API:
|
||||
|
@ -259,6 +259,8 @@ inline std::vector<RouteStep> assembleSteps(const datafacade::BaseDataFacade &fa
|
||||
BOOST_ASSERT(steps.back().intersections.front().lanes.first_lane_from_the_right ==
|
||||
INVALID_LANEID);
|
||||
BOOST_ASSERT(steps.back().intersections.front().lane_description.empty());
|
||||
// depart and arrive need to be trivial
|
||||
BOOST_ASSERT(steps.front().maneuver.exit == 0 && steps.back().maneuver.exit == 0);
|
||||
return steps;
|
||||
}
|
||||
|
||||
|
@ -29,6 +29,7 @@ inline void print(const engine::guidance::RouteStep &step)
|
||||
<< " "
|
||||
<< " Duration: " << step.duration << " Distance: " << step.distance
|
||||
<< " Geometry: " << step.geometry_begin << " " << step.geometry_end
|
||||
<< " Exit: " << step.maneuver.exit
|
||||
<< "\n\tIntersections: " << step.intersections.size() << " [";
|
||||
|
||||
for (const auto &intersection : step.intersections)
|
||||
|
@ -147,10 +147,9 @@ void fixFinalRoundabout(std::vector<RouteStep> &steps)
|
||||
--propagation_index)
|
||||
{
|
||||
auto &propagation_step = steps[propagation_index];
|
||||
propagation_step.maneuver.exit = 0;
|
||||
if (entersRoundabout(propagation_step.maneuver.instruction))
|
||||
{
|
||||
propagation_step.maneuver.exit = 0;
|
||||
|
||||
// remember the current name as rotary name in tha case we end in a rotary
|
||||
if (propagation_step.maneuver.instruction.type == TurnType::EnterRotary ||
|
||||
propagation_step.maneuver.instruction.type == TurnType::EnterRotaryAtExit)
|
||||
@ -158,12 +157,13 @@ void fixFinalRoundabout(std::vector<RouteStep> &steps)
|
||||
propagation_step.rotary_name = propagation_step.name;
|
||||
propagation_step.rotary_pronunciation = propagation_step.pronunciation;
|
||||
}
|
||||
|
||||
else if (propagation_step.maneuver.instruction.type ==
|
||||
TurnType::EnterRoundaboutIntersection ||
|
||||
propagation_step.maneuver.instruction.type ==
|
||||
TurnType::EnterRoundaboutIntersectionAtExit)
|
||||
{
|
||||
propagation_step.maneuver.instruction.type = TurnType::EnterRoundabout;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user