Files
Bachelorarbeit-Rover/lib/Navigation/route.h
T

57 lines
1.0 KiB
C++

/**
* @file route.h
* @author Alexander Klein (alex@kleiax.de)
* @brief
* @version 0.1
* @date 2022-01-31
*
* @copyright Copyright (c) 2022
*
*/
#ifndef ROUTE_H
#define ROUTE_H
#include <cstdint>
#include <list>
class Point{
public:
Point(double lat, double lon) { this->lat = lat; this->lon = lon; }
Point(){ this->lat = 0; this->lon = 0; }
double lat = 0;
double lon = 0;
bool operator==(const Point& rhs) const {
return this->lat == rhs.lat && this->lon == rhs.lon;
}
bool isValid() const { return this->lat + this->lon; }
};
struct RouteInfo{
uint16_t currentPoint;
uint16_t totalPoints;
};
class Route {
public:
Route();
void addPointToRoute(Point point);
Point startRoute();
Point getNextPoint();
RouteInfo getRouteInfo();
private:
uint16_t currentPoint = 0;
std::list<Point> points;
std::list<Point>::iterator it;
};
#endif // ROUTE_H