44#include "simgear/props/propertyObject.hxx"
116 bool Run(
bool Holding)
override;
127 unsigned int GetNumEngines(
void)
const {
return (
unsigned int)Engines.size();}
134 if (index < Engines.size())
return Engines[index];
138 unsigned int GetNumTanks(
void)
const {
return (
unsigned int)Tanks.size();}
145 if (index < Tanks.size())
return Tanks[index];
169 double Transfer(
int source,
int target,
double amount);
192 std::vector <FGEngine*> Engines;
193 std::vector <FGTank*> Tanks;
194 unsigned int numSelectedFuelTanks;
195 unsigned int numSelectedOxiTanks;
196 unsigned int numFuelTanks;
197 unsigned int numOxiTanks;
198 unsigned int numEngines;
199 unsigned int numTanks;
206 simgear::PropertyObject<bool> refuel;
207 simgear::PropertyObject<bool> dump;
209 simgear::PropertyObject<double> TotalFuelQuantity;
210 simgear::PropertyObject<double> TotalOxidizerQuantity;
214 bool HavePistonEngine;
215 bool HaveTurbineEngine;
216 bool HaveTurboPropEngine;
217 bool HaveRocketEngine;
218 bool HaveElectricEngine;
224 void Debug(
int from)
override;
This class implements a 3 element column vector.
Base class for all engines.
Handles matrix math operations.
FGModel(FGFDMExec *)
Constructor.
struct FGEngine::Inputs in
const FGColumnVector3 & GetForces(void) const
~FGPropulsion() override
Destructor.
void SetFuelFreeze(bool f)
std::string GetPropulsionStrings(const std::string &delimiter) const
int GetCutoff(void) const
FGTank * GetTank(unsigned int index) const
Retrieves a tank object pointer from the list of tanks.
int GetnumSelectedOxiTanks(void) const
Returns the number of oxidizer tanks currently actively supplying oxidizer.
double GetTanksWeight(void) const
double Transfer(int source, int target, double amount)
void SetCutoff(int setting=0)
void DumpFuel(double time_slice)
double GetMoments(int n) const
unsigned int GetNumEngines(void) const
Retrieves the number of engines defined for the aircraft.
double GetForces(int n) const
const FGColumnVector3 & GetMoments(void) const
void SetActiveEngine(int engine)
int GetnumSelectedFuelTanks(void) const
Returns the number of fuel tanks currently actively supplying fuel.
int GetActiveEngine(void) const
SGPath FindFullPathName(const SGPath &path) const override
bool Load(Element *el) override
Loads the propulsion system (engine[s] and tank[s]).
void SetStarter(int setting)
bool GetFuelFreeze(void) const
void DoRefuel(double time_slice)
const FGColumnVector3 & GetTanksMoment(void)
void InitRunning(int n)
Sets up the engines as running.
const FGMatrix33 & CalculateTankInertias(void)
bool Run(bool Holding) override
Executes the propulsion model.
bool InitModel(void) override
std::string GetPropulsionValues(const std::string &delimiter) const
void SetMagnetos(int setting)
unsigned int GetNumTanks(void) const
Retrieves the number of tanks defined for the aircraft.
std::string GetPropulsionTankReport()
FGPropulsion(FGFDMExec *)
Constructor.
bool GetSteadyState(void)
Loops the engines until thrust output steady (used for trimming)
FGEngine * GetEngine(unsigned int index) const
Retrieves an engine object pointer from the list of engines.
int GetStarter(void) const