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