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 *******************************************************************************/
61 /*******************************************************************************
63 *******************************************************************************/
79 FGEngine(FGFDMExec*, string, string, int);
82 enum EngineType {etUnknown, etRocket, etPiston, etTurboProp, etTurboJet};
84 float GetThrottle(void) {return Throttle;}
85 float GetThrust(void) {return Thrust;}
86 bool GetStarved(void) {return Starved;}
87 bool GetFlameout(void) {return Flameout;}
88 int GetType(void) {return Type;}
89 string GetName() {return Name;}
91 void SetStarved(bool tt) {Starved = tt;}
92 void SetStarved(void) {Starved = true;}
94 float CalcThrust(void);
95 float CalcFuelNeed(void);
96 float CalcOxidizerNeed(void);
109 float BrakeHorsePower;
111 float SpeedIntercept;
116 float FuelNeed, OxidizerNeed;
124 FGAtmosphere* Atmosphere;
126 FGAircraft* Aircraft;
127 FGTranslation* Translation;
128 FGRotation* Rotation;
129 FGPosition* Position;
130 FGAuxiliary* Auxiliary;
134 float CalcRocketThrust(void);
135 float CalcPistonThrust(void);
139 /******************************************************************************/