1 /*******************************************************************************
7 ------------- Copyright (C) 1999 Jon S. Berndt (jsb@hal-pc.org) -------------
9 This program is free software; you can redistribute it and/or modify it under
10 the terms of the GNU General Public License as published by the Free Software
11 Foundation; either version 2 of the License, or (at your option) any later
14 This program is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
19 You should have received a copy of the GNU General Public License along with
20 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21 Place - Suite 330, Boston, MA 02111-1307, USA.
23 Further information about the GNU General Public License can also be found on
24 the world wide web at http://www.gnu.org.
26 FUNCTIONAL DESCRIPTION
27 --------------------------------------------------------------------------------
29 Based on Flightgear code, which is based on LaRCSim. This class simulates
33 --------------------------------------------------------------------------------
36 ********************************************************************************
38 *******************************************************************************/
43 /*******************************************************************************
45 *******************************************************************************/
48 # include <Include/compiler.h>
55 /*******************************************************************************
57 *******************************************************************************/
59 /*******************************************************************************
61 *******************************************************************************/
77 FGEngine(FGFDMExec*, string, string, int);
80 enum EngineType {etUnknown, etRocket, etPiston, etTurboProp, etTurboJet};
82 float GetThrottle(void) {return Throttle;}
83 float GetThrust(void) {return Thrust;}
84 bool GetStarved(void) {return Starved;}
85 bool GetFlameout(void) {return Flameout;}
86 int GetType(void) {return Type;}
87 string GetName() {return Name;}
89 void SetStarved(bool tt) {Starved = tt;}
90 void SetStarved(void) {Starved = true;}
92 float CalcThrust(void);
93 float CalcFuelNeed(void);
94 float CalcOxidizerNeed(void);
109 float FuelNeed, OxidizerNeed;
117 FGAtmosphere* Atmosphere;
119 FGAircraft* Aircraft;
120 FGTranslation* Translation;
121 FGRotation* Rotation;
122 FGPosition* Position;
123 FGAuxiliary* Auxiliary;
127 float CalcRocketThrust(void);
128 float CalcPistonThrust(void);
132 /******************************************************************************/