class Jet;
class PropEngine;
class Propeller;
-class PistonEngine;
+class Engine;
class Thruster {
public:
virtual Jet* getJet() { return 0; }
virtual PropEngine* getPropEngine() { return 0; }
virtual Propeller* getPropeller() { return 0; }
- virtual PistonEngine* getPistonEngine() { return 0; }
+ virtual Engine* getEngine() { return 0; }
// Static data
void getPosition(float* out);
void setThrottle(float throttle);
void setMixture(float mixture);
void setStarter(bool starter);
+ void setFuelState(bool hasFuel) { _fuel = hasFuel; }
// Dynamic output
virtual bool isRunning()=0;
virtual void getThrust(float* out)=0;
virtual void getTorque(float* out)=0;
virtual void getGyro(float* out)=0;
- virtual float getFuelFlow()=0;
+ virtual float getFuelFlow()=0; // in kg/s
// Runtime instructions
void setWind(float* wind);
float _throttle;
float _mixture;
bool _starter; // true=engaged, false=disengaged
+ bool _fuel; // true=available, false=out
float _wind[3];
float _pressure;