diff --git a/CHANGELOG.md b/CHANGELOG.md index 440325c5e..2b201ba5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Changes from 5.14.1: - Bugfixes: - FIXED #4727: Erroring when a old .core file is present. + - FIXED #4754: U-Turn penalties are applied to straight turns. - Node.js Bindings: - ADDED: Exposed new `max_radiuses_map_matching` option from `EngingConfig` options - Tools: diff --git a/include/extractor/guidance/turn_instruction.hpp b/include/extractor/guidance/turn_instruction.hpp index 09eb28d7a..591899231 100644 --- a/include/extractor/guidance/turn_instruction.hpp +++ b/include/extractor/guidance/turn_instruction.hpp @@ -77,7 +77,11 @@ struct TurnInstruction TurnType::Enum type : 5; 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}; } diff --git a/src/extractor/edge_based_graph_factory.cpp b/src/extractor/edge_based_graph_factory.cpp index 398f3bac2..ac038be4b 100644 --- a/src/extractor/edge_based_graph_factory.cpp +++ b/src/extractor/edge_based_graph_factory.cpp @@ -580,7 +580,7 @@ void EdgeBasedGraphFactory::GenerateEdgeExpandedEdges( ExtractionTurn extracted_turn( turn.angle, m_node_based_graph.GetOutDegree(node_at_center_of_intersection), - turn.instruction.direction_modifier == guidance::DirectionModifier::UTurn, + turn.instruction.IsUTurn(), is_traffic_light, edge_data1.flags.restricted, edge_data2.flags.restricted,