|
@@ -0,0 +1,56 @@
|
|
|
+/*
|
|
|
+ * @brief Defines a waypoint of a route
|
|
|
+ * @file types/ArrivalWaypoint.h
|
|
|
+ * @author Sven Czarnian <devel@svcz.de>
|
|
|
+ * @copyright Copyright 2020-2021 Sven Czarnian
|
|
|
+ * @license This project is published under the GNU General Public License v3 (GPLv3)
|
|
|
+ */
|
|
|
+
|
|
|
+#pragma once
|
|
|
+
|
|
|
+#include <string>
|
|
|
+
|
|
|
+#include <aman/helper/UtcTime.h>
|
|
|
+#include <aman/types/GeoCoordinate.h>
|
|
|
+
|
|
|
+namespace aman {
|
|
|
+ /**
|
|
|
+ * @brief Describes a waypoint of a route
|
|
|
+ * @ingroup types
|
|
|
+ */
|
|
|
+ class ArrivalWaypoint {
|
|
|
+ private:
|
|
|
+ std::string m_name;
|
|
|
+ GeoCoordinate m_position;
|
|
|
+ Length m_altitude;
|
|
|
+ Velocity m_indicatedAirspeed;
|
|
|
+ UtcTime::Point m_plannedArrivalTime;
|
|
|
+
|
|
|
+ public:
|
|
|
+ /**
|
|
|
+ * @brief Creates an empty waypoint
|
|
|
+ */
|
|
|
+ ArrivalWaypoint() noexcept;
|
|
|
+ /**
|
|
|
+ * @brief Creates a waypoint
|
|
|
+ * @param[in] name The waypoint's name
|
|
|
+ * @param[in] position The waypoint's position
|
|
|
+ * @param[in] altitude The planned altitude
|
|
|
+ * @param[in] indicatedAirspeed The planned IAS
|
|
|
+ * @param[in] pta The planned time of arrival
|
|
|
+ */
|
|
|
+ ArrivalWaypoint(const std::string& name, const GeoCoordinate& position, const Length& altitude,
|
|
|
+ const Velocity& indicatedAirspeed, const UtcTime::Point& pta);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @brief Returns the waypoint's name
|
|
|
+ * @return The name
|
|
|
+ */
|
|
|
+ const std::string& name() const noexcept;
|
|
|
+ /**
|
|
|
+ * @brief Returns the waypoint's position
|
|
|
+ * @return The position
|
|
|
+ */
|
|
|
+ const GeoCoordinate& position() const noexcept;
|
|
|
+ };
|
|
|
+}
|