1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- * @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;
- /**
- * @brief Returns the planned altitude
- * @return The planned altitude
- */
- const Length& altitude() const noexcept;
- /**
- * @brief Returns the indicated airspeed
- * @return The indicated airspeed
- */
- const Velocity& indicatedAirspeed() const noexcept;
- /**
- * @brief Returns the planned arrival time
- * @return The planned arrival time
- */
- const UtcTime::Point& plannedArrivalTime() const noexcept;
- };
- }
|