-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflightplan.h
54 lines (42 loc) · 1.03 KB
/
flightplan.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//
// Created by Ian Parker on 23/10/2024.
//
#ifndef FLIGHTPLAN_H
#define FLIGHTPLAN_H
#include <string>
#include <vector>
#include <ufc/geoutils.h>
#include <ufc/navdata.h>
class FlightConverter;
enum class FlightPlanType
{
VFR,
IFR
};
struct WayPoint
{
UFC::NavAidType type = UFC::NavAidType::WAY_POINT;
UFC::Coordinate coordinate;
std::string id;
std::string via;
};
struct FlightPlan
{
FlightPlanType m_type = FlightPlanType::VFR;
std::string m_cycle = "2410";
int m_cruisingAltitude = 0;
std::string m_aircraftType;
std::string m_departureAirport;
std::string m_departureRunway;
std::string m_sid;
std::string m_sidTrans;
std::string m_destinationAirport;
std::string m_destinationRunway;
std::string m_destinationSTAR;
std::string m_destinationSTARTrans;
std::string m_destinationApproach;
std::vector<WayPoint> m_waypoints;
void removeDuplicates();
void updateWaypoints(std::shared_ptr<FlightConverter> flightConverter);
};
#endif //FLIGHTPLAN_H