ArrivalWaypoint.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * @brief Defines a waypoint of a route
  3. * @file types/ArrivalWaypoint.h
  4. * @author Sven Czarnian <devel@svcz.de>
  5. * @copyright Copyright 2020-2021 Sven Czarnian
  6. * @license This project is published under the GNU General Public License v3 (GPLv3)
  7. */
  8. #pragma once
  9. #include <string>
  10. #include <aman/helper/UtcTime.h>
  11. #include <aman/types/GeoCoordinate.h>
  12. namespace aman {
  13. /**
  14. * @brief Describes a waypoint of a route
  15. * @ingroup types
  16. */
  17. class ArrivalWaypoint {
  18. private:
  19. std::string m_name;
  20. GeoCoordinate m_position;
  21. Length m_altitude;
  22. Velocity m_indicatedAirspeed;
  23. UtcTime::Point m_plannedArrivalTime;
  24. public:
  25. /**
  26. * @brief Creates an empty waypoint
  27. */
  28. ArrivalWaypoint() noexcept;
  29. /**
  30. * @brief Creates a waypoint
  31. * @param[in] name The waypoint's name
  32. * @param[in] position The waypoint's position
  33. * @param[in] altitude The planned altitude
  34. * @param[in] indicatedAirspeed The planned IAS
  35. * @param[in] pta The planned time of arrival
  36. */
  37. ArrivalWaypoint(const std::string& name, const GeoCoordinate& position, const Length& altitude,
  38. const Velocity& indicatedAirspeed, const UtcTime::Point& pta);
  39. /**
  40. * @brief Returns the waypoint's name
  41. * @return The name
  42. */
  43. const std::string& name() const noexcept;
  44. /**
  45. * @brief Returns the waypoint's position
  46. * @return The position
  47. */
  48. const GeoCoordinate& position() const noexcept;
  49. };
  50. }