FlightGear next
performancedata.hxx
Go to the documentation of this file.
1#pragma once
2
3class FGAIAircraft;
4class SGPropertyNode;
5
12{
13public:
15
16 explicit PerformanceData(const PerformanceData* clone);
17
18 void initFromProps(SGPropertyNode* props);
19
20 virtual ~PerformanceData() = default;
21
22 double actualSpeed(const FGAIAircraft* ac, double tgt_speed, double dt, bool needMaxBrake);
23 double actualBankAngle(const FGAIAircraft* ac, double tgt_roll, double dt);
24 double actualPitch(const FGAIAircraft* ac, double tgt_pitch, double dt);
25 double actualHeading(const FGAIAircraft* ac, double tgt_heading, double dt);
26 double actualAltitude(const FGAIAircraft* ac, double tgt_altitude, double dt);
27 double actualVerticalSpeed(const FGAIAircraft* ac, double tgt_vs, double dt);
28
29 bool gearExtensible(const FGAIAircraft* ac);
30
31 double climbRate() const { return _climbRate; };
32 double descentRate() const { return _descentRate; };
33 double vRotate() const { return _vRotate; };
34 double maximumBankAngle() const { return _maxbank; };
35 double acceleration() const { return _acceleration; };
36 double deceleration() const { return _deceleration; };
37 double brakeDeceleration() const { return _brakeDeceleration; };
38 double vTaxi() const { return _vTaxi; };
39 double vTakeoff() const { return _vTakeOff; };
40 double vClimb() const { return _vClimb; };
41 double vDescent() const { return _vDescent; };
42 double vApproach() const { return _vApproach; };
43 double vTouchdown() const { return _vTouchdown; };
44 double vCruise() const { return _vCruise; };
45 double wingSpan() const { return _wingSpan; };
46 double wingChord() const { return _wingChord; };
47 double weight() const { return _weight; };
48
49 double decelerationOnGround() const;
50
56
57private:
58 double _acceleration{0.0};
59 double _deceleration{0.0};
60 double _brakeDeceleration{0.0};
61 double _climbRate{0.0};
62 double _descentRate{0.0};
63 double _vRotate{0.0};
64 double _vTakeOff{0.0};
65 double _vClimb{0.0};
66 double _vCruise{0.0};
67 double _vDescent{0.0};
68 double _vApproach{0.0};
69 double _vTouchdown{0.0};
70 double _vTaxi{0.0};
71
72 double _rollrate{0.0};
73 double _maxbank{0.0};
74
75 // Data for aerodynamic wake computation
76 double _wingSpan{0.0};
77 double _wingChord{0.0};
78 double _weight{0.0};
79};
Data storage for aircraft performance data.
double actualAltitude(const FGAIAircraft *ac, double tgt_altitude, double dt)
double actualVerticalSpeed(const FGAIAircraft *ac, double tgt_vs, double dt)
double acceleration() const
double maximumBankAngle() const
double descentRate() const
double climbRate() const
double actualBankAngle(const FGAIAircraft *ac, double tgt_roll, double dt)
double brakeDeceleration() const
virtual ~PerformanceData()=default
bool gearExtensible(const FGAIAircraft *ac)
double actualHeading(const FGAIAircraft *ac, double tgt_heading, double dt)
double vClimb() const
double decelerationOnGround() const
double vCruise() const
double actualPitch(const FGAIAircraft *ac, double tgt_pitch, double dt)
double actualSpeed(const FGAIAircraft *ac, double tgt_speed, double dt, bool needMaxBrake)
double weight() const
double vDescent() const
static PerformanceData * getDefaultData()
Last-resort fallback performance data.
double vTakeoff() const
double vTaxi() const
double wingSpan() const
double wingChord() const
double vTouchdown() const
double vRotate() const
void initFromProps(SGPropertyNode *props)
double deceleration() const
double vApproach() const