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 <simgear/compiler.h>
55 /*******************************************************************************
57 *******************************************************************************/
61 /*******************************************************************************
63 *******************************************************************************/
78 FGEngine(FGFDMExec*, string, string, int);
81 enum EngineType {etUnknown, etRocket, etPiston, etTurboProp, etTurboJet};
83 float GetThrottle(void) { return Throttle; }
84 float GetThrust(void) { return Thrust; }
85 float GetThrottleMin(void) { return MinThrottle; }
86 float GetThrottleMax(void) { return MaxThrottle; }
87 bool GetStarved(void) { return Starved; }
88 bool GetFlameout(void) { return Flameout; }
89 bool GetRunning(void) { return Running; }
90 int GetType(void) { return Type; }
91 string GetName() { return Name; }
93 void SetStarved(bool tt) {
96 void SetStarved(void) {
100 void SetRunning(bool bb) { Running=bb; }
102 float CalcThrust(void);
103 float CalcFuelNeed(void);
104 float CalcOxidizerNeed(void);
119 float BrakeHorsePower;
121 float SpeedIntercept;
126 float FuelNeed, OxidizerNeed;
135 FGAtmosphere* Atmosphere;
137 FGAircraft* Aircraft;
138 FGTranslation* Translation;
139 FGRotation* Rotation;
140 FGPosition* Position;
141 FGAuxiliary* Auxiliary;
145 float CalcRocketThrust(void);
146 float CalcPistonThrust(void);
150 /******************************************************************************/