class FGEngine : public FGJSBBase
{
public:
- FGEngine(FGFDMExec* exec);
+ FGEngine(FGFDMExec* exec, int engine_number);
virtual ~FGEngine();
enum EngineType {etUnknown, etRocket, etPiston, etTurbine, etElectric};
virtual void SetRunning(bool bb) { Running=bb; }
virtual void SetName(string name) { Name = name; }
virtual void AddFeedTank(int tkID);
+ virtual void SetFuelFreeze(bool f) { FuelFreeze = f; }
virtual void SetStarter(bool s) { Starter = s; }
/// Sets engine placement information
virtual void SetPlacement(double x, double y, double z, double pitch, double yaw);
- /// Sets the engine number
- virtual void SetEngineNumber(int nn) {EngineNumber = nn;}
-
virtual double GetPowerAvailable(void) {return 0.0;};
virtual bool GetTrimMode(void) {return TrimMode;}
bool LoadThruster(FGConfigFile* AC_cfg);
FGThruster* GetThruster(void) {return Thruster;}
- virtual string GetEngineLabels(void) = 0;
- virtual string GetEngineValues(void) = 0;
+ virtual string GetEngineLabels(string delimeter) = 0;
+ virtual string GetEngineValues(string delimeter) = 0;
protected:
FGPropertyManager* PropertyManager;
string Name;
+ const int EngineNumber;
EngineType Type;
double X, Y, Z;
double EnginePitch;
double FuelNeed;
double OxidizerNeed;
double PctPower;
- int EngineNumber;
bool Starter;
bool Starved;
bool Running;
bool Cranking;
bool TrimMode;
+ bool FuelFreeze;
double FuelFlow_gph;
double FuelFlow_pph;