18#ifndef AIRCRAFTPERFORMANCE_HXX
19#define AIRCRAFTPERFORMANCE_HXX
54 double timeBetween(
int initialElevationFt,
int targetElevationFt)
const;
56 double timeToCruise(
double cruiseDistanceNm,
int cruiseAltitudeFt)
const;
59 static double machForCAS(
int altitudeFt,
double cas);
63 void readPerformanceData();
65 void icaoCategoryData();
73 std::string heuristicCatergoryFromTags()
const;
78 Bracket(
int atOrBelow,
int climb,
int descent,
double speed,
bool isMach =
false) :
79 atOrBelowAltitudeFt(atOrBelow),
81 descentRateFPM(descent),
82 speedIASOrMach(speed),
86 int gsForAltitude(
int altitude)
const;
88 double climbTime(
int alt1,
int alt2)
const;
89 double climbDistanceM(
int alt1,
int alt2)
const;
90 double descendTime(
int alt1,
int alt2)
const;
91 double descendDistanceM(
int alt1,
int alt2)
const;
93 int atOrBelowAltitudeFt;
96 double speedIASOrMach;
97 bool speedIsMach =
false;
100 using PerformanceVec = std::vector<Bracket>;
102 using BracketRange = std::pair<PerformanceVec::const_iterator, PerformanceVec::const_iterator>;
104 PerformanceVec::const_iterator bracketForAltitude(
int altitude)
const;
105 BracketRange rangeForAltitude(
int lowAltitude,
int highAltitude)
const;
108 using TraversalFunc = std::function<void(
const Bracket& bk,
int alt1,
int alt2)>;
109 void traverseAltitudeRange(
int initialElevationFt,
int targetElevationFt, TraversalFunc tf)
const;
112 PerformanceVec _perfData;
FlightPlan.hxx - defines a full flight-plan object, including departure, cruise, arrival information ...
const char ICAO_AIRCRAFT_CATEGORY_B
const char ICAO_AIRCRAFT_CATEGORY_E
const char ICAO_AIRCRAFT_CATEGORY_C
const char ICAO_AIRCRAFT_CATEGORY_A
const char ICAO_AIRCRAFT_CATEGORY_D