blob: 96386793842297c63cb9eec867cd81cdb704a2bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#pragma once
#include "geometry/point2d.hpp"
#include <cstdint>
#include <limits>
namespace routing
{
enum class SpeedCameraManagerMode;
struct SpeedCameraOnRoute
{
SpeedCameraOnRoute() = default;
SpeedCameraOnRoute(double distFromBegin, uint8_t maxSpeedKmH, m2::PointD const & position)
: m_distFromBeginMeters(distFromBegin), m_maxSpeedKmH(maxSpeedKmH), m_position(position)
{}
static uint8_t constexpr kNoSpeedInfo = std::numeric_limits<uint8_t>::max();
bool NoSpeed() const;
bool IsValid() const;
void Invalidate();
double m_distFromBeginMeters = 0.0; // Distance from beginning of route to current camera.
uint8_t m_maxSpeedKmH = kNoSpeedInfo; // Maximum speed allowed by the camera.
m2::PointD m_position = m2::PointD::Max();
};
} // namespace routing
|