Welcome to mirror list, hosted at ThFree Co, Russian Federation.

speed_camera.hpp « routing - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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