]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/YASim/PistonEngine.hpp
Add support for a turbo prop condition lever.
[flightgear.git] / src / FDM / YASim / PistonEngine.hpp
index 8552d86cbf6471558549473e4e901a07f1085011..2df500d9936b86f15f6f7f59a2c1f31689864710 100644 (file)
@@ -1,27 +1,28 @@
 #ifndef _PISTONENGINE_HPP
 #define _PISTONENGINE_HPP
 
+#include "Engine.hpp"
+
 namespace yasim {
 
-class PistonEngine {
+class PistonEngine : public Engine {
 public:
+    virtual PistonEngine* isPistonEngine() { return this; }
+
     // Initializes an engine from known "takeoff" parameters.
     PistonEngine(float power, float spd);
     void setTurboParams(float mul, float maxMP);
     void setDisplacement(float d);
     void setCompression(float c);
 
-    void setThrottle(float throttle);
-    void setMixture(float mixture);
-    void setBoost(float boost); // fraction of turbo-mul used
-
-    float getMaxPower(); // max sea-level power
-
-    void calc(float pressure, float temp, float speed);
-    float getTorque();
-    float getFuelFlow();
+    bool isCranking();
     float getMP();
     float getEGT();
+    float getMaxPower(); // max sea-level power
+
+    virtual void calc(float pressure, float temp, float speed);
+    virtual float getTorque();
+    virtual float getFuelFlow();
 
 private:
     // Static configuration:
@@ -35,11 +36,6 @@ private:
     float _displacement; // piston stroke volume
     float _compression;  // compression ratio (>1)
 
-    // Runtime settables:
-    float _throttle;
-    float _mixture;
-    float _boost;
-
     // Runtime state/output:
     float _mp;
     float _torque;