// Sets the thrust vector control (0-1)
void setRotation(float rot);
+ // Thrust reverser control.
+ void setReverse(bool reverse) { _reverseThrust = reverse; }
+
+ // Thrust reverser effectiveness.
+ void setReverseThrust(float eff) { _reverseEff = eff; }
+
float getN1();
float getN2();
float getEPR();
float getEGT();
+ // Normalized "performance" number. Used for fuzzy numbers in FGFDM
+ float getPerfNorm() { return (_n1 - _n1Min) / (_n1Max - _n1Min); }
+
// From Thruster:
+ virtual bool isRunning();
+ virtual bool isCranking();
virtual void getThrust(float* out);
virtual void getTorque(float* out);
virtual void getGyro(float* out);
private:
float _reheat;
+ bool _reverseThrust;
float _maxThrust; // Max dry thrust at sea level
float _abFactor; // Afterburner thrust multiplier
float _n1Max; // N1 at takeoff thrust
float _n2Min; // N2 at ground idle
float _n2Max; // N2 at takeoff thrust
+ float _reverseEff; // Thrust reverser effectiveness (fraction)
+ bool _running; // Is the engine running?
+ bool _cranking; // Is the engine cranking?
float _thrust; // Current thrust
float _epr; // Current EPR
float _n1; // Current UNCORRECTED N1 (percent)