class FGEngine : public FGJSBBase
{
public:
- FGEngine(FGFDMExec* exec);
+ FGEngine(FGFDMExec* exec, int engine_number);
virtual ~FGEngine();
enum EngineType {etUnknown, etRocket, etPiston, etTurbine, etElectric};
EngineType GetType(void) { return Type; }
virtual string GetName(void) { return Name; }
+ string GetThrusterFileName(void) {return thrusterFileName;}
+ void SetEngineFileName(string eng) {engineFileName = eng;}
+ string GetEngineFileName(void) {return engineFileName;}
// Engine controls
virtual double GetThrottleMin(void) { return MinThrottle; }
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;}
+ double GetPlacementX(void) const {return X;}
+ double GetPlacementY(void) const {return Y;}
+ double GetPlacementZ(void) const {return Z;}
+ double GetPitch(void) const {return EnginePitch;}
+ double GetYaw(void) const {return EngineYaw;}
virtual double GetPowerAvailable(void) {return 0.0;};
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;
+ int GetNumSourceTanks(void) {return SourceTanks.size();}
+ int GetSourceTank(int t) {return SourceTanks[t];}
protected:
FGPropertyManager* PropertyManager;
string Name;
+ string thrusterFileName;
+ string engineFileName;
+ 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;