16 // Typing info, these are the possible sub-type (or sub-parts)
17 // that a thruster might have. Any might return null. A little
18 // clumsy, but much simpler than an RTTI-based implementation.
19 virtual Jet* getJet() { return 0; }
20 virtual PropEngine* getPropEngine() { return 0; }
21 virtual Propeller* getPropeller() { return 0; }
22 virtual PistonEngine* getPistonEngine() { return 0; }
25 void getPosition(float* out);
26 void setPosition(float* pos);
27 void getDirection(float* out);
28 void setDirection(float* dir);
31 void setThrottle(float throttle);
32 void setMixture(float mixture);
35 virtual void getThrust(float* out)=0;
36 virtual void getTorque(float* out)=0;
37 virtual void getGyro(float* out)=0;
38 virtual float getFuelFlow()=0;
40 // Runtime instructions
41 void setWind(float* wind);
42 void setAir(float pressure, float temp);
43 virtual void integrate(float dt)=0;
44 virtual void stabilize()=0;
59 #endif // _THRUSTER_HPP