Split intersection analysis and guidance code
Intersection analysis occupy in osrm::extractor::intersection namespace and guidance code osrm::guidance
This commit is contained in:
@@ -11,6 +11,9 @@
|
||||
#include "extractor/query_node.hpp"
|
||||
#include "extractor/raster_source.hpp"
|
||||
#include "extractor/restriction_parser.hpp"
|
||||
|
||||
#include "guidance/turn_instruction.hpp"
|
||||
|
||||
#include "util/coordinate.hpp"
|
||||
#include "util/exception.hpp"
|
||||
#include "util/log.hpp"
|
||||
@@ -135,27 +138,27 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
||||
|
||||
context.state.new_enum("road_priority_class",
|
||||
"motorway",
|
||||
extractor::guidance::RoadPriorityClass::MOTORWAY,
|
||||
extractor::RoadPriorityClass::MOTORWAY,
|
||||
"trunk",
|
||||
extractor::guidance::RoadPriorityClass::TRUNK,
|
||||
extractor::RoadPriorityClass::TRUNK,
|
||||
"primary",
|
||||
extractor::guidance::RoadPriorityClass::PRIMARY,
|
||||
extractor::RoadPriorityClass::PRIMARY,
|
||||
"secondary",
|
||||
extractor::guidance::RoadPriorityClass::SECONDARY,
|
||||
extractor::RoadPriorityClass::SECONDARY,
|
||||
"tertiary",
|
||||
extractor::guidance::RoadPriorityClass::TERTIARY,
|
||||
extractor::RoadPriorityClass::TERTIARY,
|
||||
"main_residential",
|
||||
extractor::guidance::RoadPriorityClass::MAIN_RESIDENTIAL,
|
||||
extractor::RoadPriorityClass::MAIN_RESIDENTIAL,
|
||||
"side_residential",
|
||||
extractor::guidance::RoadPriorityClass::SIDE_RESIDENTIAL,
|
||||
extractor::RoadPriorityClass::SIDE_RESIDENTIAL,
|
||||
"link_road",
|
||||
extractor::guidance::RoadPriorityClass::LINK_ROAD,
|
||||
extractor::RoadPriorityClass::LINK_ROAD,
|
||||
"bike_path",
|
||||
extractor::guidance::RoadPriorityClass::BIKE_PATH,
|
||||
extractor::RoadPriorityClass::BIKE_PATH,
|
||||
"foot_path",
|
||||
extractor::guidance::RoadPriorityClass::FOOT_PATH,
|
||||
extractor::RoadPriorityClass::FOOT_PATH,
|
||||
"connectivity",
|
||||
extractor::guidance::RoadPriorityClass::CONNECTIVITY);
|
||||
extractor::RoadPriorityClass::CONNECTIVITY);
|
||||
|
||||
context.state.new_enum("item_type",
|
||||
"node",
|
||||
@@ -263,23 +266,20 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
||||
"barrier",
|
||||
&ExtractionNode::barrier);
|
||||
|
||||
context.state.new_usertype<guidance::RoadClassification>(
|
||||
context.state.new_usertype<RoadClassification>(
|
||||
"RoadClassification",
|
||||
"motorway_class",
|
||||
sol::property(&guidance::RoadClassification::IsMotorwayClass,
|
||||
&guidance::RoadClassification::SetMotorwayFlag),
|
||||
sol::property(&RoadClassification::IsMotorwayClass, &RoadClassification::SetMotorwayFlag),
|
||||
"link_class",
|
||||
sol::property(&guidance::RoadClassification::IsLinkClass,
|
||||
&guidance::RoadClassification::SetLinkClass),
|
||||
sol::property(&RoadClassification::IsLinkClass, &RoadClassification::SetLinkClass),
|
||||
"may_be_ignored",
|
||||
sol::property(&guidance::RoadClassification::IsLowPriorityRoadClass,
|
||||
&guidance::RoadClassification::SetLowPriorityFlag),
|
||||
sol::property(&RoadClassification::IsLowPriorityRoadClass,
|
||||
&RoadClassification::SetLowPriorityFlag),
|
||||
"road_priority_class",
|
||||
sol::property(&guidance::RoadClassification::GetClass,
|
||||
&guidance::RoadClassification::SetClass),
|
||||
sol::property(&RoadClassification::GetClass, &RoadClassification::SetClass),
|
||||
"num_lanes",
|
||||
sol::property(&guidance::RoadClassification::GetNumberOfLanes,
|
||||
&guidance::RoadClassification::SetNumberOfLanes));
|
||||
sol::property(&RoadClassification::GetNumberOfLanes,
|
||||
&RoadClassification::SetNumberOfLanes));
|
||||
|
||||
context.state.new_usertype<ExtractionWay>(
|
||||
"ResultWay",
|
||||
@@ -573,16 +573,16 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
||||
sol::property([](const ExtractionTurn &turn) {
|
||||
if (turn.number_of_roads > 2 || turn.source_mode != turn.target_mode ||
|
||||
turn.is_u_turn)
|
||||
return guidance::TurnType::Turn;
|
||||
return osrm::guidance::TurnType::Turn;
|
||||
else
|
||||
return guidance::TurnType::NoTurn;
|
||||
return osrm::guidance::TurnType::NoTurn;
|
||||
}),
|
||||
"direction_modifier",
|
||||
sol::property([](const ExtractionTurn &turn) {
|
||||
if (turn.is_u_turn)
|
||||
return guidance::DirectionModifier::UTurn;
|
||||
return osrm::guidance::DirectionModifier::UTurn;
|
||||
else
|
||||
return guidance::DirectionModifier::Straight;
|
||||
return osrm::guidance::DirectionModifier::Straight;
|
||||
}),
|
||||
"has_traffic_light",
|
||||
&ExtractionTurn::has_traffic_light,
|
||||
@@ -599,77 +599,77 @@ void Sol2ScriptingEnvironment::InitContext(LuaScriptingContext &context)
|
||||
|
||||
context.state.new_enum("turn_type",
|
||||
"invalid",
|
||||
extractor::guidance::TurnType::Invalid,
|
||||
osrm::guidance::TurnType::Invalid,
|
||||
"new_name",
|
||||
extractor::guidance::TurnType::NewName,
|
||||
osrm::guidance::TurnType::NewName,
|
||||
"continue",
|
||||
extractor::guidance::TurnType::Continue,
|
||||
osrm::guidance::TurnType::Continue,
|
||||
"turn",
|
||||
extractor::guidance::TurnType::Turn,
|
||||
osrm::guidance::TurnType::Turn,
|
||||
"merge",
|
||||
extractor::guidance::TurnType::Merge,
|
||||
osrm::guidance::TurnType::Merge,
|
||||
"on_ramp",
|
||||
extractor::guidance::TurnType::OnRamp,
|
||||
osrm::guidance::TurnType::OnRamp,
|
||||
"off_ramp",
|
||||
extractor::guidance::TurnType::OffRamp,
|
||||
osrm::guidance::TurnType::OffRamp,
|
||||
"fork",
|
||||
extractor::guidance::TurnType::Fork,
|
||||
osrm::guidance::TurnType::Fork,
|
||||
"end_of_road",
|
||||
extractor::guidance::TurnType::EndOfRoad,
|
||||
osrm::guidance::TurnType::EndOfRoad,
|
||||
"notification",
|
||||
extractor::guidance::TurnType::Notification,
|
||||
osrm::guidance::TurnType::Notification,
|
||||
"enter_roundabout",
|
||||
extractor::guidance::TurnType::EnterRoundabout,
|
||||
osrm::guidance::TurnType::EnterRoundabout,
|
||||
"enter_and_exit_roundabout",
|
||||
extractor::guidance::TurnType::EnterAndExitRoundabout,
|
||||
osrm::guidance::TurnType::EnterAndExitRoundabout,
|
||||
"enter_rotary",
|
||||
extractor::guidance::TurnType::EnterRotary,
|
||||
osrm::guidance::TurnType::EnterRotary,
|
||||
"enter_and_exit_rotary",
|
||||
extractor::guidance::TurnType::EnterAndExitRotary,
|
||||
osrm::guidance::TurnType::EnterAndExitRotary,
|
||||
"enter_roundabout_intersection",
|
||||
extractor::guidance::TurnType::EnterRoundaboutIntersection,
|
||||
osrm::guidance::TurnType::EnterRoundaboutIntersection,
|
||||
"enter_and_exit_roundabout_intersection",
|
||||
extractor::guidance::TurnType::EnterAndExitRoundaboutIntersection,
|
||||
osrm::guidance::TurnType::EnterAndExitRoundaboutIntersection,
|
||||
"use_lane",
|
||||
extractor::guidance::TurnType::Suppressed,
|
||||
osrm::guidance::TurnType::Suppressed,
|
||||
"no_turn",
|
||||
extractor::guidance::TurnType::NoTurn,
|
||||
osrm::guidance::TurnType::NoTurn,
|
||||
"suppressed",
|
||||
extractor::guidance::TurnType::Suppressed,
|
||||
osrm::guidance::TurnType::Suppressed,
|
||||
"enter_roundabout_at_exit",
|
||||
extractor::guidance::TurnType::EnterRoundaboutAtExit,
|
||||
osrm::guidance::TurnType::EnterRoundaboutAtExit,
|
||||
"exit_roundabout",
|
||||
extractor::guidance::TurnType::ExitRoundabout,
|
||||
osrm::guidance::TurnType::ExitRoundabout,
|
||||
"enter_rotary_at_exit",
|
||||
extractor::guidance::TurnType::EnterRotaryAtExit,
|
||||
osrm::guidance::TurnType::EnterRotaryAtExit,
|
||||
"exit_rotary",
|
||||
extractor::guidance::TurnType::ExitRotary,
|
||||
osrm::guidance::TurnType::ExitRotary,
|
||||
"enter_roundabout_intersection_at_exit",
|
||||
extractor::guidance::TurnType::EnterRoundaboutIntersectionAtExit,
|
||||
osrm::guidance::TurnType::EnterRoundaboutIntersectionAtExit,
|
||||
"exit_roundabout_intersection",
|
||||
extractor::guidance::TurnType::ExitRoundaboutIntersection,
|
||||
osrm::guidance::TurnType::ExitRoundaboutIntersection,
|
||||
"stay_on_roundabout",
|
||||
extractor::guidance::TurnType::StayOnRoundabout,
|
||||
osrm::guidance::TurnType::StayOnRoundabout,
|
||||
"sliproad",
|
||||
extractor::guidance::TurnType::Sliproad);
|
||||
osrm::guidance::TurnType::Sliproad);
|
||||
|
||||
context.state.new_enum("direction_modifier",
|
||||
"u_turn",
|
||||
extractor::guidance::DirectionModifier::UTurn,
|
||||
osrm::guidance::DirectionModifier::UTurn,
|
||||
"sharp_right",
|
||||
extractor::guidance::DirectionModifier::SharpRight,
|
||||
osrm::guidance::DirectionModifier::SharpRight,
|
||||
"right",
|
||||
extractor::guidance::DirectionModifier::Right,
|
||||
osrm::guidance::DirectionModifier::Right,
|
||||
"slight_right",
|
||||
extractor::guidance::DirectionModifier::SlightRight,
|
||||
osrm::guidance::DirectionModifier::SlightRight,
|
||||
"straight",
|
||||
extractor::guidance::DirectionModifier::Straight,
|
||||
osrm::guidance::DirectionModifier::Straight,
|
||||
"slight_left",
|
||||
extractor::guidance::DirectionModifier::SlightLeft,
|
||||
osrm::guidance::DirectionModifier::SlightLeft,
|
||||
"left",
|
||||
extractor::guidance::DirectionModifier::Left,
|
||||
osrm::guidance::DirectionModifier::Left,
|
||||
"sharp_left",
|
||||
extractor::guidance::DirectionModifier::SharpLeft);
|
||||
osrm::guidance::DirectionModifier::SharpLeft);
|
||||
};
|
||||
|
||||
switch (context.api_version)
|
||||
|
||||
Reference in New Issue
Block a user