57 lines
1.6 KiB
C++
57 lines
1.6 KiB
C++
/*
|
|
* @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;
|
|
};
|
|
}
|