diff --git a/Aircraft/aircraft.cxx b/Aircraft/aircraft.cxx index 5484a93dc..41cd56e4a 100644 --- a/Aircraft/aircraft.cxx +++ b/Aircraft/aircraft.cxx @@ -37,16 +37,16 @@ fgAIRCRAFT current_aircraft; void fgAircraftInit( void ) { FG_LOG( FG_AIRCRAFT, FG_INFO, "Initializing Aircraft structure" ); - current_aircraft.flight = &cur_flight_params; + current_aircraft.fdm_state = &cur_fdm_state; current_aircraft.controls = &controls; } // Display various parameters to stdout void fgAircraftOutputCurrent(fgAIRCRAFT *a) { - fgFLIGHT *f; + FGState *f; - f = a->flight; + f = a->fdm_state; FG_LOG( FG_FLIGHT, FG_DEBUG, "Pos = (" @@ -68,6 +68,9 @@ void fgAircraftOutputCurrent(fgAIRCRAFT *a) { // $Log$ +// Revision 1.6 1998/12/05 15:53:59 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.5 1998/12/03 01:14:58 curt // Converted fgFLIGHT to a class. // diff --git a/Aircraft/aircraft.hxx b/Aircraft/aircraft.hxx index 5bf546630..afa6e2018 100644 --- a/Aircraft/aircraft.hxx +++ b/Aircraft/aircraft.hxx @@ -39,7 +39,7 @@ // Define a structure containing all the parameters for an aircraft typedef struct{ - fgFLIGHT *flight; + FGState *fdm_state; fgCONTROLS *controls; } fgAIRCRAFT ; @@ -61,6 +61,9 @@ void fgAircraftOutputCurrent(fgAIRCRAFT *a); // $Log$ +// Revision 1.3 1998/12/05 15:54:01 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.2 1998/10/17 01:33:54 curt // C++ ifying ... // diff --git a/Astro/moon.cxx b/Astro/moon.cxx index 694e9a7ae..6ca80c5ae 100644 --- a/Astro/moon.cxx +++ b/Astro/moon.cxx @@ -112,10 +112,10 @@ void Moon::updatePosition(fgTIME *t, Star *ourSun) geoRa, geoDec; fgAIRCRAFT *air; - fgFLIGHT *f; + FGState *f; air = ¤t_aircraft; - f = air->flight; + f = air->fdm_state; updateOrbElements(t); actTime = fgCalcActTime(t); diff --git a/Astro/sky.cxx b/Astro/sky.cxx index 434a0377d..433ec7ed0 100644 --- a/Astro/sky.cxx +++ b/Astro/sky.cxx @@ -255,7 +255,7 @@ void fgSkyInit( void ) { // Draw the Sky void fgSkyRender( void ) { - fgFLIGHT *f; + FGState *f; fgLIGHT *l; fgVIEW *v; float inner_color[4]; @@ -264,7 +264,7 @@ void fgSkyRender( void ) { double diff; int i; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; l = &cur_light_params; v = ¤t_view; @@ -365,6 +365,9 @@ void fgSkyRender( void ) { // $Log$ +// Revision 1.16 1998/12/05 15:54:03 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.15 1998/12/03 01:15:36 curt // Converted fgFLIGHT to a class. // Tweaks for Sun portability. diff --git a/Astro/stars.cxx b/Astro/stars.cxx index af910f77d..35ce9aaf2 100644 --- a/Astro/stars.cxx +++ b/Astro/stars.cxx @@ -210,13 +210,13 @@ int fgStarsInit( void ) { // Draw the Stars void fgStarsRender( void ) { - fgFLIGHT *f; + FGState *f; fgVIEW *v; fgLIGHT *l; fgTIME *t; int i; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; l = &cur_light_params; t = &cur_time_params; v = ¤t_view; @@ -256,6 +256,9 @@ void fgStarsRender( void ) { // $Log$ +// Revision 1.24 1998/12/05 15:54:04 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.23 1998/11/23 21:48:28 curt // Borland portability tweaks. // diff --git a/Autopilot/autopilot.cxx b/Autopilot/autopilot.cxx index 46073ad7f..defe45f89 100644 --- a/Autopilot/autopilot.cxx +++ b/Autopilot/autopilot.cxx @@ -50,58 +50,58 @@ static double get_speed( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_V_equiv_kts() ); // Make an explicit function call. } static double get_aoa( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Gamma_vert_rad() * RAD_TO_DEG ); } static double fgAPget_roll( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Phi() * RAD_TO_DEG ); } static double get_pitch( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Theta() ); } double fgAPget_heading( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Psi() * RAD_TO_DEG ); } static double fgAPget_altitude( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Altitude() * FEET_TO_METER /* -rough_elev */ ); } static double fgAPget_climb( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; // return in meters per minute return( f->get_Climb_Rate() * FEET_TO_METER * 60 ); @@ -109,19 +109,19 @@ static double fgAPget_climb( void ) static double get_sideslip( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Beta() ); } static double fgAPget_agl( void ) { - fgFLIGHT *f; + FGState *f; double agl; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; agl = f->get_Altitude() * FEET_TO_METER - scenery.cur_elev; return( agl ); diff --git a/Cockpit/cockpit.cxx b/Cockpit/cockpit.cxx index d5562ebbf..876e2100a 100644 --- a/Cockpit/cockpit.cxx +++ b/Cockpit/cockpit.cxx @@ -66,8 +66,8 @@ static pCockpit ac_cockpit; double get_latitude( void ) { - fgFLIGHT *f; - f = current_aircraft.flight; + FGState *f; + f = current_aircraft.fdm_state; // return( toDM(FG_Latitude * RAD_TO_DEG) ); return((double)((int)( f->get_Latitude() * RAD_TO_DEG)) ); @@ -75,10 +75,10 @@ double get_latitude( void ) double get_lat_min( void ) { - fgFLIGHT *f; + FGState *f; double a, d; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; a = f->get_Latitude() * RAD_TO_DEG; if (a < 0.0) { @@ -91,18 +91,18 @@ double get_lat_min( void ) double get_longitude( void ) { - fgFLIGHT *f; - f = current_aircraft.flight; + FGState *f; + f = current_aircraft.fdm_state; // return( toDM(FG_Longitude * RAD_TO_DEG) ); return((double)((int) (f->get_Longitude() * RAD_TO_DEG)) ); } double get_long_min( void ) { - fgFLIGHT *f; + FGState *f; double a, d; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; a = f->get_Longitude() * RAD_TO_DEG; if (a < 0.0) { @@ -139,50 +139,50 @@ double get_rudderval( void ) double get_speed( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_V_equiv_kts() ); // Make an explicit function call. } double get_aoa( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Gamma_vert_rad() * RAD_TO_DEG ); } double get_roll( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Phi() ); } double get_pitch( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Theta() ); } double get_heading( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Psi() * RAD_TO_DEG ); } double get_altitude( void ) { - fgFLIGHT *f; + FGState *f; // double rough_elev; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; // rough_elev = mesh_altitude(f->get_Longitude() * RAD_TO_ARCSEC, // f->get_Latitude() * RAD_TO_ARCSEC); @@ -195,9 +195,9 @@ double get_altitude( void ) double get_agl( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; if ( current_options.get_units() == fgOPTIONS::FG_UNITS_FEET ) { return f->get_Altitude() - scenery.cur_elev * METER_TO_FEET; @@ -208,9 +208,9 @@ double get_agl( void ) double get_sideslip( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; return( f->get_Beta() ); } @@ -245,9 +245,9 @@ double get_vfc_tris_drawn ( void ) double get_climb_rate( void ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; if ( current_options.get_units() == fgOPTIONS::FG_UNITS_FEET ) { return f->get_Climb_Rate() * 60.0; @@ -312,6 +312,9 @@ void fgCockpitUpdate( void ) { // $Log$ +// Revision 1.25 1998/12/05 15:54:07 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.24 1998/12/03 01:16:00 curt // Converted fgFLIGHT to a class. // diff --git a/External/external.cxx b/External/external.cxx index 1352740c1..10bc0553e 100644 --- a/External/external.cxx +++ b/External/external.cxx @@ -31,18 +31,21 @@ // reset flight params to a specific position -void fgExternalInit(fgFLIGHT &f, double dt) { +void fgExternalInit( FGState &f, double dt ) { } // update position based on inputs, positions, velocities, etc. -void fgExternalUpdate( fgFLIGHT& f, int multiloop ) { +void fgExternalUpdate( FGState& f, int multiloop ) { } // $Log$ +// Revision 1.2 1998/12/05 15:54:13 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.1 1998/12/04 01:28:49 curt // Initial revision. // diff --git a/External/external.hxx b/External/external.hxx index 5087931da..bf65ad0c9 100644 --- a/External/external.hxx +++ b/External/external.hxx @@ -87,16 +87,19 @@ public: // reset flight params to a specific position -void fgExternalInit(fgFLIGHT& f, double dt); +void fgExternalInit( FGState& f, double dt ); // update position based on inputs, positions, velocities, etc. -void fgExternalUpdate( fgFLIGHT& f, int multiloop ); +void fgExternalUpdate( FGState& f, int multiloop ); #endif // _EXTERNAL_HXX // $Log$ +// Revision 1.3 1998/12/05 15:54:14 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.2 1998/12/05 14:18:47 curt // added an fgTIMESTAMP to define when this record is valid. // diff --git a/FDM/LaRCsim.cxx b/FDM/LaRCsim.cxx index bd7570b4d..4c8f644cf 100644 --- a/FDM/LaRCsim.cxx +++ b/FDM/LaRCsim.cxx @@ -42,7 +42,7 @@ int fgLaRCsimInit(double dt) { // Run an iteration of the EOM (equations of motion) -int fgLaRCsimUpdate(fgFLIGHT& f, int multiloop) { +int fgLaRCsimUpdate(FGState& f, int multiloop) { double save_alt = 0.0; // lets try to avoid really screwing up the LaRCsim model @@ -52,7 +52,7 @@ int fgLaRCsimUpdate(fgFLIGHT& f, int multiloop) { } // translate FG to LaRCsim structure - fgFlight_2_LaRCsim(f); + FGState_2_LaRCsim(f); // printf("FG_Altitude = %.2f\n", FG_Altitude * 0.3048); // printf("Altitude = %.2f\n", Altitude * 0.3048); // printf("Radius to Vehicle = %.2f\n", Radius_to_vehicle * 0.3048); @@ -65,7 +65,7 @@ int fgLaRCsimUpdate(fgFLIGHT& f, int multiloop) { // translate LaRCsim back to FG structure so that the // autopilot (and the rest of the sim can use the updated // values - fgLaRCsim_2_Flight(f); + fgLaRCsim_2_FGState(f); // but lets restore our original bogus altitude when we are done if ( save_alt < -9000.0 ) { @@ -76,8 +76,8 @@ int fgLaRCsimUpdate(fgFLIGHT& f, int multiloop) { } -// Convert from the fgFLIGHT struct to the LaRCsim generic_ struct -int fgFlight_2_LaRCsim (fgFLIGHT& f) { +// Convert from the FGState struct to the LaRCsim generic_ struct +int FGState_2_LaRCsim (FGState& f) { Lat_control = controls.get_aileron(); Long_control = controls.get_elevator(); @@ -260,8 +260,8 @@ int fgFlight_2_LaRCsim (fgFLIGHT& f) { } -// Convert from the LaRCsim generic_ struct to the fgFLIGHT struct -int fgLaRCsim_2_Flight (fgFLIGHT& f) { +// Convert from the LaRCsim generic_ struct to the FGState struct +int fgLaRCsim_2_FGState (FGState& f) { // Mass properties and geometry values f.set_Inertias( Mass, I_xx, I_yy, I_zz, I_xz ); f.set_Pilot_Location( Dx_pilot, Dy_pilot, Dz_pilot ); @@ -382,6 +382,9 @@ int fgLaRCsim_2_Flight (fgFLIGHT& f) { // $Log$ +// Revision 1.6 1998/12/05 15:54:08 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.5 1998/12/03 04:25:02 curt // Working on fixing up new fgFLIGHT class. // diff --git a/FDM/LaRCsim.hxx b/FDM/LaRCsim.hxx index 6d11a3e78..e4f2c1877 100644 --- a/FDM/LaRCsim.hxx +++ b/FDM/LaRCsim.hxx @@ -35,19 +35,22 @@ int fgLaRCsimInit(double dt); // update position based on inputs, positions, velocities, etc. -int fgLaRCsimUpdate(fgFLIGHT& f, int multiloop); +int fgLaRCsimUpdate(FGState& f, int multiloop); -// Convert from the fgFLIGHT struct to the LaRCsim generic_ struct -int fgFlight_2_LaRCsim (fgFLIGHT& f); +// Convert from the FGState struct to the LaRCsim generic_ struct +int FGState_2_LaRCsim (FGState& f); -// Convert from the LaRCsim generic_ struct to the fgFLIGHT struct -int fgLaRCsim_2_Flight (fgFLIGHT& f); +// Convert from the LaRCsim generic_ struct to the FGState struct +int fgLaRCsim_2_FGState (FGState& f); #endif // _LARCSIM_HXX // $Log$ +// Revision 1.4 1998/12/05 15:54:09 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.3 1998/12/03 01:16:38 curt // Converted fgFLIGHT to a class. // diff --git a/FDM/flight.cxx b/FDM/flight.cxx index ddaf49615..035a6f53b 100644 --- a/FDM/flight.cxx +++ b/FDM/flight.cxx @@ -34,35 +34,35 @@ #include -fgFLIGHT cur_flight_params; +FGState cur_fdm_state; // Initialize the flight model parameters -int fgFlightModelInit(int model, fgFLIGHT& f, double dt) { +int fgFlightModelInit(int model, FGState& f, double dt) { double save_alt = 0.0; int result; FG_LOG( FG_FLIGHT ,FG_INFO, "Initializing flight model" ); - if ( model == fgFLIGHT::FG_SLEW ) { + if ( model == FGState::FG_SLEW ) { // fgSlewInit(dt); - } else if ( model == fgFLIGHT::FG_LARCSIM ) { + } else if ( model == FGState::FG_LARCSIM ) { // lets try to avoid really screwing up the LaRCsim model if ( f.get_Altitude() < -9000.0 ) { save_alt = f.get_Altitude(); f.set_Altitude( 0.0 ); } - fgFlight_2_LaRCsim(f); // translate FG to LaRCsim structure + FGState_2_LaRCsim(f); // translate FG to LaRCsim structure fgLaRCsimInit(dt); FG_LOG( FG_FLIGHT, FG_INFO, "FG pos = " << f.get_Latitude() ); - fgLaRCsim_2_Flight(f); // translate LaRCsim back to FG structure + fgLaRCsim_2_FGState(f); // translate LaRCsim back to FG structure // but lets restore our original bogus altitude when we are done if ( save_alt < -9000.0 ) { f.set_Altitude( save_alt ); } - } else if ( model == fgFLIGHT::FG_EXTERNAL ) { + } else if ( model == FGState::FG_EXTERNAL ) { fgExternalInit(f, dt); } else { FG_LOG( FG_FLIGHT, FG_WARN, @@ -76,7 +76,7 @@ int fgFlightModelInit(int model, fgFLIGHT& f, double dt) { // Run multiloop iterations of the flight model -int fgFlightModelUpdate(int model, fgFLIGHT& f, int multiloop) { +int fgFlightModelUpdate(int model, FGState& f, int multiloop) { double time_step, start_elev, end_elev; int result; // printf("Altitude = %.2f\n", FG_Altitude * 0.3048); @@ -84,11 +84,11 @@ int fgFlightModelUpdate(int model, fgFLIGHT& f, int multiloop) { time_step = (1.0 / DEFAULT_MODEL_HZ) * multiloop; start_elev = f.get_Altitude(); - if ( model == fgFLIGHT::FG_SLEW ) { + if ( model == FGState::FG_SLEW ) { // fgSlewUpdate(f, multiloop); - } else if ( model == fgFLIGHT::FG_LARCSIM ) { + } else if ( model == FGState::FG_LARCSIM ) { fgLaRCsimUpdate(f, multiloop); - } else if ( model == fgFLIGHT::FG_EXTERNAL ) { + } else if ( model == FGState::FG_EXTERNAL ) { // fgExternalUpdate(f, multiloop); } else { FG_LOG( FG_FLIGHT, FG_WARN, @@ -107,7 +107,7 @@ int fgFlightModelUpdate(int model, fgFLIGHT& f, int multiloop) { // Set the altitude (force) -void fgFlightModelSetAltitude(int model, fgFLIGHT& f, double alt_meters) { +void fgFlightModelSetAltitude(int model, FGState& f, double alt_meters) { double sea_level_radius_meters; double lat_geoc; // Set the FG variables first @@ -119,7 +119,7 @@ void fgFlightModelSetAltitude(int model, fgFLIGHT& f, double alt_meters) { (sea_level_radius_meters * METER_TO_FEET) ); // additional work needed for some flight models - if ( model == fgFLIGHT::FG_LARCSIM ) { + if ( model == FGState::FG_LARCSIM ) { ls_ForceAltitude( f.get_Altitude() ); } @@ -127,6 +127,9 @@ void fgFlightModelSetAltitude(int model, fgFLIGHT& f, double alt_meters) { // $Log$ +// Revision 1.6 1998/12/05 15:54:11 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.5 1998/12/04 01:29:39 curt // Stubbed in a new flight model called "External" which is expected to be driven // from some external source. diff --git a/FDM/flight.hxx b/FDM/flight.hxx index bbedb8940..802a7bfcd 100644 --- a/FDM/flight.hxx +++ b/FDM/flight.hxx @@ -38,7 +38,7 @@ typedef double FG_VECTOR_3[3]; // This is based heavily on LaRCsim/ls_generic.h -class fgFLIGHT { +class FGState { public: @@ -313,7 +313,7 @@ public: v_local_v[2] = down; } - FG_VECTOR_3 v_local_rel_ground_v; /* V rel w.r.t. earth surface */ + FG_VECTOR_3 v_local_rel_ground_v; // V rel w.r.t. earth surface inline double * get_V_local_rel_ground_v() { return v_local_rel_ground_v; } inline double get_V_north_rel_ground() const { return v_local_rel_ground_v[0]; @@ -330,7 +330,7 @@ public: v_local_rel_ground_v[2] = down; } - FG_VECTOR_3 v_local_airmass_v; /* velocity of airmass (steady winds) */ + FG_VECTOR_3 v_local_airmass_v; // velocity of airmass (steady winds) inline double * get_V_local_airmass_v() { return v_local_airmass_v; } inline double get_V_north_airmass() const { return v_local_airmass_v[0]; } inline double get_V_east_airmass() const { return v_local_airmass_v[1]; } @@ -343,8 +343,8 @@ public: v_local_airmass_v[2] = down; } - FG_VECTOR_3 v_local_rel_airmass_v; /* velocity of veh. relative to */ - /* airmass */ + FG_VECTOR_3 v_local_rel_airmass_v; // velocity of veh. relative to + // airmass inline double * get_V_local_rel_airmass_v() { return v_local_rel_airmass_v; } @@ -365,7 +365,7 @@ public: v_local_rel_airmass_v[2] = down; } - FG_VECTOR_3 v_local_gust_v; /* linear turbulence components, L frame */ + FG_VECTOR_3 v_local_gust_v; // linear turbulence components, L frame inline double * get_V_local_gust_v() { return v_local_gust_v; } inline double get_U_gust() const { return v_local_gust_v[0]; } inline double get_V_gust() const { return v_local_gust_v[1]; } @@ -377,7 +377,7 @@ public: v_local_gust_v[2] = w; } - FG_VECTOR_3 v_wind_body_v; /* Wind-relative velocities in body axis */ + FG_VECTOR_3 v_wind_body_v; // Wind-relative velocities in body axis inline double * get_V_wind_body_v() { return v_wind_body_v; } inline double get_U_body() const { return v_wind_body_v[0]; } inline double get_V_body() const { return v_wind_body_v[1]; } @@ -420,7 +420,7 @@ public: inline double get_V_calibrated_kts() const { return v_calibrated_kts; } inline void set_V_calibrated_kts( double kts ) { v_calibrated_kts = kts; } - FG_VECTOR_3 omega_body_v; /* Angular B rates */ + FG_VECTOR_3 omega_body_v; // Angular B rates inline double * get_Omega_body_v() { return omega_body_v; } inline double get_P_body() const { return omega_body_v[0]; } inline double get_Q_body() const { return omega_body_v[1]; } @@ -431,7 +431,7 @@ public: omega_body_v[2] = r; } - FG_VECTOR_3 omega_local_v; /* Angular L rates */ + FG_VECTOR_3 omega_local_v; // Angular L rates inline double * get_Omega_local_v() { return omega_local_v; } inline double get_P_local() const { return omega_local_v[0]; } inline double get_Q_local() const { return omega_local_v[1]; } @@ -442,7 +442,7 @@ public: omega_local_v[2] = r; } - FG_VECTOR_3 omega_total_v; /* Diff btw B & L */ + FG_VECTOR_3 omega_total_v; // Diff btw B & L inline double * get_Omega_total_v() { return omega_total_v; } inline double get_P_total() const { return omega_total_v[0]; } inline double get_Q_total() const { return omega_total_v[1]; } @@ -464,7 +464,7 @@ public: euler_rates_v[2] = psi; } - FG_VECTOR_3 geocentric_rates_v; /* Geocentric linear velocities */ + FG_VECTOR_3 geocentric_rates_v; // Geocentric linear velocities inline double * get_Geocentric_rates_v() { return geocentric_rates_v; } inline double get_Latitude_dot() const { return geocentric_rates_v[0]; } inline double get_Longitude_dot() const { return geocentric_rates_v[1]; } @@ -529,7 +529,7 @@ public: /*======================= Miscellaneous quantities ========================*/ - double t_local_to_body_m[3][3]; /* Transformation matrix L to B */ + double t_local_to_body_m[3][3]; // Transformation matrix L to B // inline double * get_T_local_to_body_m() { return t_local_to_body_m; } inline double get_T_local_to_body_11() const { return t_local_to_body_m[0][0]; @@ -567,15 +567,15 @@ public: } } - double gravity; /* Local acceleration due to G */ + double gravity; // Local acceleration due to G inline double get_Gravity() const { return gravity; } inline void set_Gravity(double g) { gravity = g; } - double centrifugal_relief; /* load factor reduction due to speed */ + double centrifugal_relief; // load factor reduction due to speed inline double get_Centrifugal_relief() const { return centrifugal_relief; } inline void set_Centrifugal_relief(double cr) { centrifugal_relief = cr; } - double alpha, beta, alpha_dot, beta_dot; /* in radians */ + double alpha, beta, alpha_dot, beta_dot; // in radians inline double get_Alpha() const { return alpha; } inline void set_Alpha( double a ) { alpha = a; } inline double get_Beta() const { return beta; } @@ -609,7 +609,7 @@ public: inline double get_Sin_psi() const { return sin_psi; } inline void set_Sin_psi( double sp ) { sin_psi = sp; } - double gamma_vert_rad, gamma_horiz_rad; /* Flight path angles */ + double gamma_vert_rad, gamma_horiz_rad; // Flight path angles inline double get_Gamma_vert_rad() const { return gamma_vert_rad; } inline void set_Gamma_vert_rad( double gv ) { gamma_vert_rad = gv; } inline double get_Gamma_horiz_rad() const { return gamma_horiz_rad; } @@ -667,7 +667,7 @@ public: inline double get_Radius_to_rwy() const { return radius_to_rwy; } inline void set_Radius_to_rwy( double r ) { radius_to_rwy = r; } - FG_VECTOR_3 d_cg_rwy_local_v; /* CG rel. to rwy in local coords */ + FG_VECTOR_3 d_cg_rwy_local_v; // CG rel. to rwy in local coords inline double * get_D_cg_rwy_local_v() { return d_cg_rwy_local_v; } inline double get_D_cg_north_of_rwy() const { return d_cg_rwy_local_v[0]; } inline double get_D_cg_east_of_rwy() const { return d_cg_rwy_local_v[1]; } @@ -679,7 +679,7 @@ public: d_cg_rwy_local_v[2] = above; } - FG_VECTOR_3 d_cg_rwy_rwy_v; /* CG relative to rwy, in rwy coordinates */ + FG_VECTOR_3 d_cg_rwy_rwy_v; // CG relative to rwy, in rwy coordinates inline double * get_D_cg_rwy_rwy_v() { return d_cg_rwy_rwy_v; } inline double get_X_cg_rwy() const { return d_cg_rwy_rwy_v[0]; } inline double get_Y_cg_rwy() const { return d_cg_rwy_rwy_v[1]; } @@ -691,7 +691,7 @@ public: d_cg_rwy_rwy_v[2] = h; } - FG_VECTOR_3 d_pilot_rwy_local_v; /* pilot rel. to rwy in local coords */ + FG_VECTOR_3 d_pilot_rwy_local_v; // pilot rel. to rwy in local coords inline double * get_D_pilot_rwy_local_v() { return d_pilot_rwy_local_v; } inline double get_D_pilot_north_of_rwy() const { return d_pilot_rwy_local_v[0]; @@ -709,7 +709,7 @@ public: d_pilot_rwy_local_v[2] = above; } - FG_VECTOR_3 d_pilot_rwy_rwy_v; /* pilot rel. to rwy, in rwy coords. */ + FG_VECTOR_3 d_pilot_rwy_rwy_v; // pilot rel. to rwy, in rwy coords. inline double * get_D_pilot_rwy_rwy_v() { return d_pilot_rwy_rwy_v; } inline double get_X_pilot_rwy() const { return d_pilot_rwy_rwy_v[0]; } inline double get_Y_pilot_rwy() const { return d_pilot_rwy_rwy_v[1]; } @@ -721,31 +721,34 @@ public: d_pilot_rwy_rwy_v[2] = h; } - double climb_rate; /* in feet per second */ + double climb_rate; // in feet per second inline double get_Climb_Rate() const { return climb_rate; } inline void set_Climb_Rate(double rate) { climb_rate = rate; } }; -extern fgFLIGHT cur_flight_params; +extern FGState cur_fdm_state; -/* General interface to the flight model routines */ +// General interface to the flight model routines -/* Initialize the flight model parameters */ -int fgFlightModelInit(int model, fgFLIGHT& f, double dt); +// Initialize the flight model parameters +int fgFlightModelInit(int model, FGState& f, double dt); -/* Run multiloop iterations of the flight model */ -int fgFlightModelUpdate(int model, fgFLIGHT& f, int multiloop); +// Run multiloop iterations of the flight model +int fgFlightModelUpdate(int model, FGState& f, int multiloop); -/* Set the altitude (force) */ -void fgFlightModelSetAltitude(int model, fgFLIGHT& f, double alt_meters); +// Set the altitude (force) +void fgFlightModelSetAltitude(int model, FGState& f, double alt_meters); #endif // _FLIGHT_HXX // $Log$ +// Revision 1.6 1998/12/05 15:54:12 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.5 1998/12/04 01:29:40 curt // Stubbed in a new flight model called "External" which is expected to be driven // from some external source. diff --git a/Main/GLUTkey.cxx b/Main/GLUTkey.cxx index edd0559e8..2a3d41866 100644 --- a/Main/GLUTkey.cxx +++ b/Main/GLUTkey.cxx @@ -69,14 +69,14 @@ static void local_update_sky_and_lighting_params( void ) { // Handle keyboard events void GLUTkey(unsigned char k, int x, int y) { - fgFLIGHT *f; + FGState *f; fgTIME *t; fgVIEW *v; struct fgWEATHER *w; float fov, tmp; static bool winding_ccw = true; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; t = &cur_time_params; v = ¤t_view; w = ¤t_weather; @@ -386,6 +386,9 @@ void GLUTspecialkey(int k, int x, int y) { // $Log$ +// Revision 1.34 1998/12/05 15:54:17 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.33 1998/12/03 01:17:12 curt // Converted fgFLIGHT to a class. // diff --git a/Main/GLUTmain.cxx b/Main/GLUTmain.cxx index 84873ec31..6d46fce53 100644 --- a/Main/GLUTmain.cxx +++ b/Main/GLUTmain.cxx @@ -228,7 +228,7 @@ static void fgUpdateInstrViewParams( void ) { // Update all Visuals (redraws anything graphics related) static void fgRenderFrame( void ) { - fgFLIGHT *f; + FGState *f; fgLIGHT *l; fgTIME *t; fgVIEW *v; @@ -239,7 +239,7 @@ static void fgRenderFrame( void ) { GLfloat terrain_color[4] = { 0.54, 0.44, 0.29, 1.0 }; GLbitfield clear_mask; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; l = &cur_light_params; t = &cur_time_params; v = ¤t_view; @@ -371,13 +371,13 @@ static void fgRenderFrame( void ) { // Update internal time dependent calculations (i.e. flight model) void fgUpdateTimeDepCalcs(int multi_loop) { - fgFLIGHT *f; + FGState *f; fgLIGHT *l; fgTIME *t; fgVIEW *v; int i; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; l = &cur_light_params; t = &cur_time_params; v = ¤t_view; @@ -393,10 +393,10 @@ void fgUpdateTimeDepCalcs(int multi_loop) { // printf("updating flight model x %d\n", multi_loop); fgFlightModelUpdate( current_options.get_flight_model(), - cur_flight_params, multi_loop ); + cur_fdm_state, multi_loop ); } else { fgFlightModelUpdate( current_options.get_flight_model(), - cur_flight_params, 0 ); + cur_fdm_state, 0 ); } // update the view angle @@ -456,7 +456,7 @@ static const double alt_adjust_m = alt_adjust_ft * FEET_TO_METER; // What should we do when we have nothing else to do? Let's get ready // for the next move and update the display? static void fgMainLoop( void ) { - fgFLIGHT *f; + FGState *f; fgGENERAL *g; fgTIME *t; static int remainder = 0; @@ -464,7 +464,7 @@ static void fgMainLoop( void ) { int i; double accum; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; g = &general; t = &cur_time_params; @@ -490,7 +490,7 @@ static void fgMainLoop( void ) { scenery.cur_elev + alt_adjust_m - 3.0, scenery.cur_elev + alt_adjust_m ); fgFlightModelSetAltitude( current_options.get_flight_model(), - cur_flight_params, + cur_fdm_state, scenery.cur_elev + alt_adjust_m ); FG_LOG( FG_ALL, FG_DEBUG, @@ -934,9 +934,9 @@ int fgGlutInitEvents( void ) { // Main ... int main( int argc, char **argv ) { - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; #ifdef HAVE_BC5PLUS _control87(MCW_EM, MCW_EM); /* defined in float.h */ @@ -1014,6 +1014,9 @@ int main( int argc, char **argv ) { // $Log$ +// Revision 1.72 1998/12/05 15:54:18 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.71 1998/12/05 14:19:51 curt // Looking into a problem with cur_view_params.abs_view_pos initialization. // diff --git a/Main/fg_init.cxx b/Main/fg_init.cxx index de3102da9..53aff9d81 100644 --- a/Main/fg_init.cxx +++ b/Main/fg_init.cxx @@ -75,9 +75,9 @@ extern const char *default_root; // Set initial position and orientation int fgInitPosition( void ) { string id; - fgFLIGHT *f; + FGState *f; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; id = current_options.get_airport_id(); if ( id.length() ) { @@ -154,7 +154,7 @@ int fgInitGeneral( void ) { // Returns non-zero if a problem encountered. int fgInitSubsystems( void ) { - fgFLIGHT *f; + FGState *f; fgLIGHT *l; fgTIME *t; fgVIEW *v; @@ -173,7 +173,7 @@ int fgInitSubsystems( void ) // allocates structures so must happen before any of the flight // model or control parameters are set fgAircraftInit(); // In the future this might not be the case. - f = current_aircraft.flight; + f = current_aircraft.fdm_state; // set the initial position fgInitPosition(); @@ -332,7 +332,7 @@ int fgInitSubsystems( void ) // Initialize the flight model subsystem data structures base on // above values - fgFlightModelInit( current_options.get_flight_model(), cur_flight_params, + fgFlightModelInit( current_options.get_flight_model(), cur_fdm_state, 1.0 / DEFAULT_MODEL_HZ ); // I'm just sticking this here for now, it should probably move @@ -370,6 +370,9 @@ int fgInitSubsystems( void ) // $Log$ +// Revision 1.55 1998/12/05 15:54:20 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.54 1998/12/05 14:19:53 curt // Looking into a problem with cur_view_params.abs_view_pos initialization. // diff --git a/Main/fg_serial.cxx b/Main/fg_serial.cxx index 22655a297..601feb6c3 100644 --- a/Main/fg_serial.cxx +++ b/Main/fg_serial.cxx @@ -227,7 +227,7 @@ static void send_nmea_out( fgIOCHANNEL& p ) { char dir; int deg; double min; - fgFLIGHT *f; + FGState *f; fgTIME *t; // run once every two seconds @@ -239,7 +239,7 @@ static void send_nmea_out( fgIOCHANNEL& p ) { return; } - f = current_aircraft.flight; + f = current_aircraft.fdm_state; t = &cur_time_params; char utc[10]; @@ -326,7 +326,7 @@ static void send_garmin_out( fgIOCHANNEL& p ) { char dir; int deg; double min; - fgFLIGHT *f; + FGState *f; fgTIME *t; // run once per second @@ -338,7 +338,7 @@ static void send_garmin_out( fgIOCHANNEL& p ) { return; } - f = current_aircraft.flight; + f = current_aircraft.fdm_state; t = &cur_time_params; char utc[10]; @@ -451,6 +451,9 @@ void fgSerialProcess() { // $Log$ +// Revision 1.7 1998/12/05 15:54:21 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.6 1998/12/03 01:17:18 curt // Converted fgFLIGHT to a class. // diff --git a/Main/options.cxx b/Main/options.cxx index 4067acf27..b9e7b79fd 100644 --- a/Main/options.cxx +++ b/Main/options.cxx @@ -129,7 +129,7 @@ fgOPTIONS::fgOPTIONS() : sound(1), // Flight Model options - flight_model(fgFLIGHT::FG_LARCSIM), + flight_model(FGState::FG_LARCSIM), // Rendering options fog(FG_FOG_NICEST), // nicest @@ -310,11 +310,11 @@ fgOPTIONS::parse_flight_model( const string& fm ) { // printf("flight model = %s\n", fm); if ( fm == "slew" ) { - return fgFLIGHT::FG_SLEW; + return FGState::FG_SLEW; } else if ( (fm == "larcsim") || (fm == "LaRCsim") ) { - return fgFLIGHT::FG_LARCSIM; + return FGState::FG_LARCSIM; } else if ( fm == "external" ) { - return fgFLIGHT::FG_EXTERNAL; + return FGState::FG_EXTERNAL; } else { FG_LOG( FG_GENERAL, FG_ALERT, "Unknown flight model = " << fm ); exit(-1); @@ -624,6 +624,9 @@ fgOPTIONS::~fgOPTIONS( void ) { // $Log$ +// Revision 1.34 1998/12/05 15:54:22 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.33 1998/12/04 01:30:44 curt // Added support for the External flight model. // diff --git a/Main/views.cxx b/Main/views.cxx index ae8491f2d..79915d84a 100644 --- a/Main/views.cxx +++ b/Main/views.cxx @@ -185,10 +185,10 @@ void fgVIEW::LookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez, // Update the view volume, position, and orientation void fgVIEW::UpdateViewParams( void ) { - fgFLIGHT *f; + FGState *f; fgLIGHT *l; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; l = &cur_light_params; UpdateViewMath(f); @@ -263,7 +263,7 @@ void fgVIEW::UpdateViewParams( void ) { // Update the view parameters -void fgVIEW::UpdateViewMath( fgFLIGHT *f ) { +void fgVIEW::UpdateViewMath( FGState *f ) { Point3D p; MAT3vec vec, forward, v0, minus_z; MAT3mat R, TMP, UP, LOCAL, VIEW; @@ -426,7 +426,7 @@ void fgVIEW::UpdateViewMath( fgFLIGHT *f ) { // Update the "World to Eye" transformation matrix // This is most useful for view frustum culling -void fgVIEW::UpdateWorldToEye( fgFLIGHT *f ) { +void fgVIEW::UpdateWorldToEye( FGState *f ) { MAT3mat R_Phi, R_Theta, R_Psi, R_Lat, R_Lon, T_view; MAT3mat TMP; MAT3hvec vec; @@ -599,6 +599,9 @@ fgVIEW::~fgVIEW( void ) { // $Log$ +// Revision 1.29 1998/12/05 15:54:24 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.28 1998/12/03 01:17:20 curt // Converted fgFLIGHT to a class. // diff --git a/Main/views.hxx b/Main/views.hxx index 22b5f1c5f..02c573b7f 100644 --- a/Main/views.hxx +++ b/Main/views.hxx @@ -147,11 +147,12 @@ public: // Initialize a view class void Init( void ); - void update_globals( fgFLIGHT *f ); + void update_globals( FGState *f ); // Basically, this is a modified version of the Mesa gluLookAt() // function that's been modified slightly so we can capture the - // result before sending it off to OpenGL land. + // result (and use it later) otherwise this all gets calculated in + // OpenGL land and we don't have access to the results. void LookAt( GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz ); @@ -160,10 +161,10 @@ public: void UpdateViewParams( void ); // Update the view parameters - void UpdateViewMath( fgFLIGHT *f ); + void UpdateViewMath( FGState *f ); // Update the "World to Eye" transformation matrix - void UpdateWorldToEye( fgFLIGHT *f ); + void UpdateWorldToEye( FGState *f ); // Update the field of view parameters void UpdateFOV( fgOPTIONS *o ); @@ -180,6 +181,9 @@ extern fgVIEW current_view; // $Log$ +// Revision 1.16 1998/12/05 15:54:25 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.15 1998/10/16 23:27:56 curt // C++-ifying. // diff --git a/Scenery/tilemgr.cxx b/Scenery/tilemgr.cxx index 7c63f048b..369f6bb54 100644 --- a/Scenery/tilemgr.cxx +++ b/Scenery/tilemgr.cxx @@ -331,14 +331,14 @@ fgTileMgrCurElevOLD( double lon, double lat, const Point3D& abs_view_pos ) { // the chunk isn't already in the cache, then read it from disk. int fgTileMgrUpdate( void ) { fgTILECACHE *c; - fgFLIGHT *f; + FGState *f; fgBUCKET p1, p2; static fgBUCKET p_last = {-1000, 0, 0, 0}; int tile_diameter; int i, j, dw, dh; c = &global_tile_cache; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; tile_diameter = current_options.get_tile_diameter(); @@ -641,7 +641,7 @@ update_tile_geometry( fgTILE *t, GLdouble *MODEL_VIEW) // Render the local tiles void fgTileMgrRender( void ) { - fgFLIGHT *f; + FGState *f; fgTILECACHE *c; fgTILE *t; fgVIEW *v; @@ -655,7 +655,7 @@ void fgTileMgrRender( void ) { int drawn = 0; c = &global_tile_cache; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; v = ¤t_view; tile_diameter = current_options.get_tile_diameter(); @@ -748,6 +748,9 @@ void fgTileMgrRender( void ) { // $Log$ +// Revision 1.49 1998/12/05 15:54:26 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.48 1998/12/05 14:20:21 curt // Looking into a terrain intersection problem. // diff --git a/Slew/slew.cxx b/Slew/slew.cxx index f84c6c0ca..07e4bcab7 100644 --- a/Slew/slew.cxx +++ b/Slew/slew.cxx @@ -34,9 +34,9 @@ // reset flight params to a specific position void fgSlewInit(double pos_x, double pos_y, double pos_z, double heading) { - fgFLIGHT *f; - - f = current_aircraft.flight; + FGState *f; + + f = current_aircraft.fdm_state; /* f->pos_x = pos_x; @@ -62,10 +62,10 @@ void fgSlewInit(double pos_x, double pos_y, double pos_z, double heading) { // update position based on inputs, positions, velocities, etc. void fgSlewUpdate( void ) { - fgFLIGHT *f; + FGState *f; fgCONTROLS *c; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; c = current_aircraft.controls; /* f->Psi += ( c->aileron / 8 ); @@ -83,6 +83,9 @@ void fgSlewUpdate( void ) { // $Log$ +// Revision 1.3 1998/12/05 15:54:16 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.2 1998/10/17 01:34:17 curt // C++ ifying ... // diff --git a/Time/fg_time.cxx b/Time/fg_time.cxx index a8b20400c..11cb3b9a3 100644 --- a/Time/fg_time.cxx +++ b/Time/fg_time.cxx @@ -332,7 +332,7 @@ double sidereal_course(fgTIME *t, double lng) { // Update time variables such as gmt, julian date, and sidereal time -void fgTimeUpdate(fgFLIGHT *f, fgTIME *t) { +void fgTimeUpdate(FGState *f, fgTIME *t) { double gst_precise, gst_course; FG_LOG( FG_EVENT, FG_DEBUG, "Updating time" ); @@ -398,6 +398,9 @@ void fgTimeUpdate(fgFLIGHT *f, fgTIME *t) { // $Log$ +// Revision 1.26 1998/12/05 15:54:28 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.25 1998/12/05 14:21:30 curt // Moved struct fg_timestamp to class fgTIMESTAMP and moved it's definition // to it's own file, timestamp.hxx. diff --git a/Time/fg_time.hxx b/Time/fg_time.hxx index 60ffd8341..a308cdf1a 100644 --- a/Time/fg_time.hxx +++ b/Time/fg_time.hxx @@ -92,13 +92,16 @@ void fgTimeInit(fgTIME *t); // Update the time dependent variables -void fgTimeUpdate(fgFLIGHT *f, fgTIME *t); +void fgTimeUpdate(FGState *f, fgTIME *t); #endif // _FG_TIME_HXX // $Log$ +// Revision 1.11 1998/12/05 15:54:29 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.10 1998/12/05 14:21:31 curt // Moved struct fg_timestamp to class fgTIMESTAMP and moved it's definition // to it's own file, timestamp.hxx. diff --git a/Time/light.cxx b/Time/light.cxx index 6cea78b11..9881e42b1 100644 --- a/Time/light.cxx +++ b/Time/light.cxx @@ -89,7 +89,7 @@ void fgLIGHT::Init( void ) { // update lighting parameters based on current sun position void fgLIGHT::Update( void ) { - fgFLIGHT *f; + FGState *f; fgTIME *t; fgVIEW *v; // if the 4th field is 0.0, this specifies a direction ... @@ -100,7 +100,7 @@ void fgLIGHT::Update( void ) { GLfloat base_fog_color[4] = {0.90, 0.90, 1.00, 1.0}; double deg, ambient, diffuse, sky_brightness; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; t = &cur_time_params; v = ¤t_view; @@ -150,11 +150,11 @@ void fgLIGHT::Update( void ) { // calculate fog color adjusted for sunrise/sunset effects void fgLIGHT::UpdateAdjFog( void ) { - fgFLIGHT *f; + FGState *f; fgVIEW *v; double sun_angle_deg, rotation, param1[3], param2[3]; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; v = ¤t_view; FG_LOG( FG_EVENT, FG_DEBUG, "Updating adjusted fog parameters." ); @@ -217,6 +217,9 @@ fgLIGHT::~fgLIGHT( void ) { // $Log$ +// Revision 1.23 1998/12/05 15:54:30 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.22 1998/12/03 01:18:42 curt // Converted fgFLIGHT to a class. // diff --git a/Weather/weather.cxx b/Weather/weather.cxx index 7d838c183..21d702c5c 100644 --- a/Weather/weather.cxx +++ b/Weather/weather.cxx @@ -67,10 +67,10 @@ void fgWeatherUpdate( void ) { // temporarily remove the code of this do-nothing routine // #ifdef FG_WEATHER_UPDATE - fgFLIGHT *f; + FGState *f; struct fgWEATHER *w; - f = current_aircraft.flight; + f = current_aircraft.fdm_state; w = ¤t_weather; // Add some random turbulence @@ -104,6 +104,9 @@ void fgWeatherSetVisibility( float visibility ) { // $Log$ +// Revision 1.4 1998/12/05 15:54:31 curt +// Renamed class fgFLIGHT to class FGState as per request by JSB. +// // Revision 1.3 1998/11/23 21:49:11 curt // Borland portability tweaks. //