diff --git a/include/engine/guidance/toolkit.hpp b/include/engine/guidance/toolkit.hpp index 452828787..9185f2b5b 100644 --- a/include/engine/guidance/toolkit.hpp +++ b/include/engine/guidance/toolkit.hpp @@ -2,6 +2,7 @@ #define OSRM_ENGINE_GUIDANCE_TOOLKIT_HPP_ #include "extractor/guidance/turn_instruction.hpp" +#include "util/guidance/toolkit.hpp" #include "util/bearing.hpp" #include @@ -13,6 +14,10 @@ namespace engine namespace guidance { +using util::guidance::entersRoundabout; +using util::guidance::leavesRoundabout; +using util::guidance::staysOnRoundabout; + // Silent Turn Instructions are not to be mentioned to the outside world but inline bool isSilent(const extractor::guidance::TurnInstruction instruction) { @@ -21,34 +26,6 @@ inline bool isSilent(const extractor::guidance::TurnInstruction instruction) instruction.type == extractor::guidance::TurnType::StayOnRoundabout; } -inline bool entersRoundabout(const extractor::guidance::TurnInstruction instruction) -{ - return (instruction.type == extractor::guidance::TurnType::EnterRoundabout || - instruction.type == extractor::guidance::TurnType::EnterRotary || - instruction.type == extractor::guidance::TurnType::EnterRoundaboutIntersection || - instruction.type == extractor::guidance::TurnType::EnterRoundaboutAtExit || - instruction.type == extractor::guidance::TurnType::EnterRotaryAtExit || - instruction.type == extractor::guidance::TurnType::EnterRoundaboutIntersectionAtExit || - instruction.type == extractor::guidance::TurnType::EnterAndExitRoundabout || - instruction.type == extractor::guidance::TurnType::EnterAndExitRotary || - instruction.type == extractor::guidance::TurnType::EnterAndExitRotary); -} - -inline bool leavesRoundabout(const extractor::guidance::TurnInstruction instruction) -{ - return (instruction.type == extractor::guidance::TurnType::ExitRoundabout || - instruction.type == extractor::guidance::TurnType::ExitRotary || - instruction.type == extractor::guidance::TurnType::ExitRoundaboutIntersection || - instruction.type == extractor::guidance::TurnType::EnterAndExitRoundabout || - instruction.type == extractor::guidance::TurnType::EnterAndExitRotary || - instruction.type == extractor::guidance::TurnType::EnterAndExitRoundaboutIntersection); -} - -inline bool staysOnRoundabout(const extractor::guidance::TurnInstruction instruction) -{ - return instruction.type == extractor::guidance::TurnType::StayOnRoundabout; -} - inline extractor::guidance::DirectionModifier::Enum angleToDirectionModifier(const double bearing) { if (bearing < 135) diff --git a/include/extractor/guidance/toolkit.hpp b/include/extractor/guidance/toolkit.hpp index 88a52e46a..611cf1742 100644 --- a/include/extractor/guidance/toolkit.hpp +++ b/include/extractor/guidance/toolkit.hpp @@ -40,6 +40,8 @@ using util::guidance::LaneTupelIdPair; using LaneDataIdMap = std::unordered_map>; using util::guidance::angularDeviation; +using util::guidance::entersRoundabout; +using util::guidance::leavesRoundabout; namespace detail { @@ -531,29 +533,6 @@ trimLaneString(std::string lane_string, std::int32_t count_left, std::int32_t co return lane_string; } -inline bool entersRoundabout(const extractor::guidance::TurnInstruction instruction) -{ - return (instruction.type == extractor::guidance::TurnType::EnterRoundabout || - instruction.type == extractor::guidance::TurnType::EnterRotary || - instruction.type == extractor::guidance::TurnType::EnterRoundaboutIntersection || - instruction.type == extractor::guidance::TurnType::EnterRoundaboutAtExit || - instruction.type == extractor::guidance::TurnType::EnterRotaryAtExit || - instruction.type == extractor::guidance::TurnType::EnterRoundaboutIntersectionAtExit || - instruction.type == extractor::guidance::TurnType::EnterAndExitRoundabout || - instruction.type == extractor::guidance::TurnType::EnterAndExitRotary || - instruction.type == extractor::guidance::TurnType::EnterAndExitRotary); -} - -inline bool leavesRoundabout(const extractor::guidance::TurnInstruction instruction) -{ - return (instruction.type == extractor::guidance::TurnType::ExitRoundabout || - instruction.type == extractor::guidance::TurnType::ExitRotary || - instruction.type == extractor::guidance::TurnType::ExitRoundaboutIntersection || - instruction.type == extractor::guidance::TurnType::EnterAndExitRoundabout || - instruction.type == extractor::guidance::TurnType::EnterAndExitRotary || - instruction.type == extractor::guidance::TurnType::EnterAndExitRoundaboutIntersection); -} - } // namespace guidance } // namespace extractor } // namespace osrm diff --git a/include/util/guidance/toolkit.hpp b/include/util/guidance/toolkit.hpp index 9d13ecc99..12a397713 100644 --- a/include/util/guidance/toolkit.hpp +++ b/include/util/guidance/toolkit.hpp @@ -101,6 +101,34 @@ inline bool isRightTurn(const extractor::guidance::TurnInstruction instruction) } } +inline bool entersRoundabout(const extractor::guidance::TurnInstruction instruction) +{ + return (instruction.type == extractor::guidance::TurnType::EnterRoundabout || + instruction.type == extractor::guidance::TurnType::EnterRotary || + instruction.type == extractor::guidance::TurnType::EnterRoundaboutIntersection || + instruction.type == extractor::guidance::TurnType::EnterRoundaboutAtExit || + instruction.type == extractor::guidance::TurnType::EnterRotaryAtExit || + instruction.type == extractor::guidance::TurnType::EnterRoundaboutIntersectionAtExit || + instruction.type == extractor::guidance::TurnType::EnterAndExitRoundabout || + instruction.type == extractor::guidance::TurnType::EnterAndExitRotary || + instruction.type == extractor::guidance::TurnType::EnterAndExitRotary); +} + +inline bool leavesRoundabout(const extractor::guidance::TurnInstruction instruction) +{ + return (instruction.type == extractor::guidance::TurnType::ExitRoundabout || + instruction.type == extractor::guidance::TurnType::ExitRotary || + instruction.type == extractor::guidance::TurnType::ExitRoundaboutIntersection || + instruction.type == extractor::guidance::TurnType::EnterAndExitRoundabout || + instruction.type == extractor::guidance::TurnType::EnterAndExitRotary || + instruction.type == extractor::guidance::TurnType::EnterAndExitRoundaboutIntersection); +} + +inline bool staysOnRoundabout(const extractor::guidance::TurnInstruction instruction) +{ + return instruction.type == extractor::guidance::TurnType::StayOnRoundabout; +} + } // namespace guidance } // namespace util } // namespace osrm