Make sure we only count turns as UTurns for the turn_function

This commit is contained in:
Patrick Niklaus 2017-12-22 23:39:49 +00:00 committed by Patrick Niklaus
parent 84b6ef4340
commit e45d44cb8e
3 changed files with 7 additions and 2 deletions

View File

@ -2,6 +2,7 @@
- Changes from 5.14.1: - Changes from 5.14.1:
- Bugfixes: - Bugfixes:
- FIXED #4727: Erroring when a old .core file is present. - FIXED #4727: Erroring when a old .core file is present.
- FIXED #4754: U-Turn penalties are applied to straight turns.
- Node.js Bindings: - Node.js Bindings:
- ADDED: Exposed new `max_radiuses_map_matching` option from `EngingConfig` options - ADDED: Exposed new `max_radiuses_map_matching` option from `EngingConfig` options
- Tools: - Tools:

View File

@ -77,7 +77,11 @@ struct TurnInstruction
TurnType::Enum type : 5; TurnType::Enum type : 5;
DirectionModifier::Enum direction_modifier : 3; DirectionModifier::Enum direction_modifier : 3;
// the lane tupel that is used for the turn
bool IsUTurn() const
{
return type == TurnType::Turn && direction_modifier == DirectionModifier::UTurn;
}
static TurnInstruction INVALID() { return {TurnType::Invalid, DirectionModifier::UTurn}; } static TurnInstruction INVALID() { return {TurnType::Invalid, DirectionModifier::UTurn}; }

View File

@ -580,7 +580,7 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges(
ExtractionTurn extracted_turn( ExtractionTurn extracted_turn(
turn.angle, turn.angle,
m_node_based_graph.GetOutDegree(node_at_center_of_intersection), m_node_based_graph.GetOutDegree(node_at_center_of_intersection),
turn.instruction.direction_modifier == guidance::DirectionModifier::UTurn, turn.instruction.IsUTurn(),
is_traffic_light, is_traffic_light,
edge_data1.flags.restricted, edge_data1.flags.restricted,
edge_data2.flags.restricted, edge_data2.flags.restricted,