X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FYASim%2FPropEngine.hpp;h=7b43254707a5a6dcbfdd4d442a270964bab37a68;hb=d66903e9ad63b91182ccc25d9bb82f18f8dd98b6;hp=603dee1629c91512ea2a02a008666ac56a0dc8a3;hpb=5af1e589de3f5ad3d7baacc4fc0ac2c211580f01;p=flightgear.git diff --git a/src/FDM/YASim/PropEngine.hpp b/src/FDM/YASim/PropEngine.hpp index 603dee162..7b4325470 100644 --- a/src/FDM/YASim/PropEngine.hpp +++ b/src/FDM/YASim/PropEngine.hpp @@ -2,25 +2,29 @@ #define _PROPENGINE_HPP #include "Thruster.hpp" +#include "Engine.hpp" namespace yasim { class Propeller; -class PistonEngine; class PropEngine : public Thruster { public: - PropEngine(Propeller* prop, PistonEngine* eng, float moment); + PropEngine(Propeller* prop, Engine* eng, float moment); virtual ~PropEngine(); + void setEngine(Engine* eng) { delete _eng; _eng = eng; } + void setMagnetos(int magnetos); void setAdvance(float advance); void setPropPitch(float proppitch); void setVariableProp(float min, float max); + void setPropFeather(int state); void setGearRatio(float ratio) { _gearRatio = ratio; } + void setContraPair(bool contra) { _contra = contra; } virtual PropEngine* getPropEngine() { return this; } - virtual PistonEngine* getPistonEngine() { return _eng; } + virtual Engine* getEngine() { return _eng; } virtual Propeller* getPropeller() { return _prop; } // Dynamic output @@ -42,9 +46,10 @@ public: private: float _moment; Propeller* _prop; - PistonEngine* _eng; + Engine* _eng; bool _variable; + bool _contra; // contra-rotating propeller pair int _magnetos; // 0=off, 1=right, 2=left, 3=both float _gearRatio; float _advance; // control input, 0-1