osrm-backend/include/engine/guidance/step_maneuver.hpp

45 lines
886 B
C++
Raw Permalink Normal View History

2016-01-28 10:28:44 -05:00
#ifndef ENGINE_GUIDANCE_STEP_MANEUVER_HPP
#define ENGINE_GUIDANCE_STEP_MANEUVER_HPP
#include "guidance/turn_instruction.hpp"
#include "util/coordinate.hpp"
2016-01-28 10:28:44 -05:00
#include <cstdint>
2016-06-15 08:38:24 -04:00
#include <string>
#include <vector>
namespace osrm::engine::guidance
2016-01-28 10:28:44 -05:00
{
enum class WaypointType : std::uint8_t
{
None = 0,
Arrive = 1,
Depart = 2,
MaxWaypointType = 3
};
2016-01-28 10:28:44 -05:00
struct StepManeuver
{
util::Coordinate location;
short bearing_before;
short bearing_after;
osrm::guidance::TurnInstruction instruction;
2016-06-15 08:38:24 -04:00
WaypointType waypoint_type;
2016-02-24 04:29:23 -05:00
unsigned exit;
2016-01-28 10:28:44 -05:00
};
inline StepManeuver getInvalidStepManeuver()
{
return {util::Coordinate{util::FloatLongitude{0.0}, util::FloatLatitude{0.0}},
0,
0,
osrm::guidance::TurnInstruction::NO_TURN(),
WaypointType::None,
2016-07-21 08:34:32 -04:00
0};
}
2022-12-20 12:00:11 -05:00
} // namespace osrm::engine::guidance
2016-01-28 10:28:44 -05:00
#endif