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
parent 1967701385
commit d9fcf1ecf7
3 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,8 @@
# 5.14.3
- Changes from 5.14.2:
- Bugfixes:
- FIXED #4754: U-Turn penalties are applied to straight turns.
# 5.14.2
- Changes from 5.14.1:
- Bugfixes:

View File

@ -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}; }

View File

@ -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,