2016-01-28 10:28:44 -05:00
|
|
|
#ifndef ENGINE_GUIDANCE_STEP_MANEUVER_HPP
|
|
|
|
#define ENGINE_GUIDANCE_STEP_MANEUVER_HPP
|
|
|
|
|
2016-03-01 16:30:31 -05:00
|
|
|
#include "extractor/guidance/turn_instruction.hpp"
|
2016-05-02 09:32:28 -04:00
|
|
|
#include "util/coordinate.hpp"
|
2016-01-28 10:28:44 -05:00
|
|
|
|
2016-03-10 05:22:45 -05:00
|
|
|
#include <cstdint>
|
2016-06-15 08:38:24 -04:00
|
|
|
#include <string>
|
2016-03-22 09:17:17 -04:00
|
|
|
#include <vector>
|
2016-03-10 05:22:45 -05:00
|
|
|
|
2016-01-28 10:28:44 -05:00
|
|
|
namespace osrm
|
|
|
|
{
|
|
|
|
namespace engine
|
|
|
|
{
|
|
|
|
namespace guidance
|
|
|
|
{
|
|
|
|
|
2016-03-10 05:22:45 -05:00
|
|
|
enum class WaypointType : std::uint8_t
|
|
|
|
{
|
|
|
|
None,
|
|
|
|
Arrive,
|
|
|
|
Depart,
|
|
|
|
};
|
|
|
|
|
2016-01-28 10:28:44 -05:00
|
|
|
struct StepManeuver
|
|
|
|
{
|
2016-05-18 11:53:05 -04:00
|
|
|
util::Coordinate location;
|
|
|
|
short bearing_before;
|
|
|
|
short bearing_after;
|
2016-03-01 16:30:31 -05:00
|
|
|
extractor::guidance::TurnInstruction instruction;
|
2016-06-15 08:38:24 -04:00
|
|
|
|
2016-03-10 05:22:45 -05:00
|
|
|
WaypointType waypoint_type;
|
2016-02-24 04:29:23 -05:00
|
|
|
unsigned exit;
|
2016-01-28 10:28:44 -05:00
|
|
|
};
|
2016-05-02 09:32:28 -04:00
|
|
|
|
|
|
|
inline StepManeuver getInvalidStepManeuver()
|
|
|
|
{
|
2016-05-18 11:53:05 -04:00
|
|
|
return {util::Coordinate{util::FloatLongitude{0.0}, util::FloatLatitude{0.0}},
|
|
|
|
0,
|
|
|
|
0,
|
|
|
|
extractor::guidance::TurnInstruction::NO_TURN(),
|
|
|
|
WaypointType::None,
|
2016-07-21 08:34:32 -04:00
|
|
|
0};
|
2016-05-02 09:32:28 -04:00
|
|
|
}
|
|
|
|
|
2016-02-24 04:29:23 -05:00
|
|
|
} // namespace guidance
|
|
|
|
} // namespace engine
|
|
|
|
} // namespace osrmn
|
2016-01-28 10:28:44 -05:00
|
|
|
#endif
|