MapAppAPIWrapper.hpp 849 Bytes
Newer Older
Martin Kröning's avatar
Martin Kröning committed
1 2 3 4 5 6 7
#pragma once

#include <chrono>
#include <string>
#include <vector>
struct MapApp;

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

private:
  MapApp *mapApp;
};