地面站终端 App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.4 KiB

#ifndef AIRMAP_FLIGHT_H_
#define AIRMAP_FLIGHT_H_
#include <airmap/date_time.h>
#include <airmap/flight_plan.h>
#include <airmap/geometry.h>
#include <airmap/pilot.h>
#include <cstdint>
namespace airmap {
/// Flight bundles together properties describing an individual flight.
struct Flight {
using Id = std::string;
Id id; ///< The unique identifier of a flight in the context of AirMap.
Optional<FlightPlan::Id> flight_plan_id; ///< The flight plan corresponding to this flight.
Pilot pilot; ///< The pilot responsible for the flight.
Pilot::Aircraft aircraft; ///< The aircraft conducting the flight.
float latitude; ///< The latitude component of the takeoff point in [°].
float longitude; ///< The longitude component of the takeoff point in [°].
float max_altitude; ///< The maximum altitude over the entire flight in [m].
Geometry geometry; ///< The geometry describing the flight.
DateTime created_at; ///< Point in time when the flight was created.
DateTime start_time; ///< Point in time when the flight will start/was started.
DateTime end_time; ///< Point in time when the fligth will end.
};
} // namespace airmap
#endif // AIRMAP_FLIGHT_H_