MapAppAPIWrapper.hpp 825 Bytes
Newer Older
Martin Kröning's avatar
Martin Kröning committed
1
2
3
#pragma once

#include <chrono>
4
#include <string_view>
Martin Kröning's avatar
Martin Kröning committed
5
6
7
#include <vector>
struct MapApp;

8
class MapAppAPIWrapper {
Martin Kröning's avatar
Martin Kröning committed
9
public:
10
  MapAppAPIWrapper(std::string_view windowTitle);
11
  virtual ~MapAppAPIWrapper();
Martin Kröning's avatar
Martin Kröning committed
12
  void addJunction(double x, double y);
13
  void addRoad(std::string_view laneThereName, std::string_view laneBackName,
Martin Kröning's avatar
Martin Kröning committed
14
               const std::vector<double> &coordinates);
15
16
  void addOrReplaceBicycle(std::string_view vehicleName,
                           std::string_view laneName, double positionOnLane,
17
                           double speed);
18
19
20
  void addOrReplaceCar(std::string_view vehicleName, std::string_view laneName,
                       double positionOnLane, double speed,
                       double remainingFuel);
Martin Kröning's avatar
Martin Kröning committed
21
22
23
24
25
  void setDurationLabel(std::chrono::minutes minutes);

private:
  MapApp *mapApp;
};