/** * @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 #include 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 points; std::list::iterator it; }; #endif // ROUTE_H