00001 /* 00002 * Airplane.h 00003 * 00004 * Part of Fly! Legacy project 00005 * 00006 * Copyright 2003 Chris Wallace 00007 * 00008 * Fly! Legacy is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation; either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * Fly! Legacy is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with Fly! Legacy; if not, write to the Free Software 00020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 * 00022 */ 00023 00028 #ifndef AIRPLANE_H 00029 #define AIRPLANE_H 00030 00031 #include "FlyLegacy.h" 00032 #include "UserVehicles.h" 00033 00048 00049 class CAirplane : CStreamObject { 00050 public: 00051 CAirplane (const char* nfoFilename); 00052 ~CAirplane (void); 00053 00054 // CStreamObject methods 00055 virtual int Read (SStream *stream, Tag tag); 00056 virtual void ReadFinished (void); 00057 00058 // CAirplane methods 00059 void AileronIncr (void); 00060 void AileronDecr (void); 00061 void ElevatorIncr (void); 00062 void ElevatorDecr (void); 00063 void RudderIncr (void); 00064 void RudderDecr (void); 00065 void AileronTrimIncr (void); 00066 void AileronTrimDecr (void); 00067 void ElevatorTrimIncr (void); 00068 void ElevatorTrimDecr (void); 00069 void RudderTrimIncr (void); 00070 void RudderTrimDecr (void); 00071 void Timeslice (float dT); 00072 00073 public: 00074 CSimulatedVehicle *svh; 00075 CElectricalSystem *amp; 00076 CAerodynamicModel *wng; 00077 CFuelSystem *gas; 00078 CPitotStaticSystem *pss; 00079 CGroundSuspension *whl; 00080 CVariableLoadouts *vld; 00081 CCockpitManager *pit; 00082 CCameraManager *cam; 00083 CLevelOfDetail *lod; 00084 CRadioManager *rdo; 00085 CExternalLights *elt; 00086 CEngineManager *eng; 00087 CControlMixer *mix; 00088 CChecklists *ckl; 00089 CFlightControlSystem *fcs; 00090 CSlopeWindData *swd; 00091 00092 protected: 00094 char make[64]; 00096 char iconFilename[64]; 00098 int classification; 00100 int usage; 00101 char svhFilename[64]; 00102 char gasFilename[64]; 00103 char wngFilename[64]; 00104 char ampFilename[64]; 00105 char pssFilename[64]; 00106 char whlFilename[64]; 00107 char vldFilename[64]; 00108 char pitFilename[64]; 00109 char camFilename[64]; 00110 char lodFilename[64]; 00111 char rdoFilename[64]; 00112 char eltFilename[64]; 00113 char engFilename[64]; 00114 char mixFilename[64]; 00115 char cklFilename[64]; 00116 char fcsFilename[64]; 00117 char swdFilename[64]; 00118 char sitFilename[64]; 00119 }; 00120 00121 #endif // AIRPLANE_H 00122
|
|
Documentation generated by
|