X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAIModel%2Fperformancedata.hxx;h=a8aef6400e3b46ec76585d8b54b3a50194b94c36;hb=afcdbd3158503773644aa07dd86cd92d67946bd4;hp=d18e24b863ea94ebf8700225c6fc5f845b210b81;hpb=a4debec12277fcb2d0ac109f1af33f0491af52a7;p=flightgear.git diff --git a/src/AIModel/performancedata.hxx b/src/AIModel/performancedata.hxx index d18e24b86..a8aef6400 100644 --- a/src/AIModel/performancedata.hxx +++ b/src/AIModel/performancedata.hxx @@ -5,6 +5,7 @@ #include class FGAIAircraft; +class SGPropertyNode; /** Data storage for aircraft performance data. This is used to properly simulate the flight of AIAircrafts. @@ -14,22 +15,15 @@ Data storage for aircraft performance data. This is used to properly simulate th class PerformanceData { public: - PerformanceData(double acceleration, - double deceleration, - double climbRate, - double descentRate, - double vRotate, - double vTakeOff, - double vClimb, - double vCruise, - double vDescent, - double vApproach, - double vTouchdown, - double vTaxi); - PerformanceData(const std::string& filename); + PerformanceData(); + + PerformanceData(PerformanceData* clone); + + void initFromProps(SGPropertyNode* props); + ~PerformanceData(); - double actualSpeed(FGAIAircraft* ac, double tgt_speed, double dt); + double actualSpeed(FGAIAircraft* ac, double tgt_speed, double dt, bool needMaxBrake); double actualBankAngle(FGAIAircraft* ac, double tgt_roll, double dt); double actualPitch(FGAIAircraft* ac, double tgt_pitch, double dt); double actualHeading(FGAIAircraft* ac, double tgt_heading, double dt); @@ -43,6 +37,7 @@ public: inline double vRotate () { return _vRotate; }; inline double maximumBankAngle () { return _maxbank; }; inline double acceleration () { return _acceleration; }; + inline double deceleration () { return _deceleration; }; inline double vTaxi () { return _vTaxi; }; inline double vTakeoff () { return _vTakeOff; }; inline double vClimb () { return _vClimb; }; @@ -51,6 +46,7 @@ public: inline double vTouchdown () { return _vTouchdown; }; inline double vCruise () { return _vCruise; }; + double decelerationOnGround() const; private: double _acceleration; double _deceleration;