X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2Fflight.cxx;h=1c16f7c4f3b56132d2c7e9adf1ce7ddcd26412ad;hb=bb785797b9dd171f21c2577e0ba1a9c84e107583;hp=8bd66f39a996d412e0fabc94a28810c62ef4f624;hpb=ac1342de592530f5f8af0a22497a96b21f54ec47;p=flightgear.git diff --git a/src/FDM/flight.cxx b/src/FDM/flight.cxx index 8bd66f39a..1c16f7c4f 100644 --- a/src/FDM/flight.cxx +++ b/src/FDM/flight.cxx @@ -1,4 +1,4 @@ -// flight.c -- a general interface to the various flight models +// flight.cxx -- a general interface to the various flight models // // Written by Curtis Olson, started May 1997. // @@ -301,32 +301,51 @@ FGInterface::bind () // Calibrated airspeed fgTie("/velocities/airspeed-kt", this, &FGInterface::get_V_calibrated_kts, - &FGInterface::set_V_calibrated_kts); + &FGInterface::set_V_calibrated_kts, + false); // Local velocities +// fgTie("/velocities/speed-north-fps", this, +// &FGInterface::get_V_north, +// &FGInterface::set_V_north); +// fgSetArchivable("/velocities/speed-north-fps"); +// fgTie("/velocities/speed-east-fps", this, +// &FGInterface::get_V_east, +// &FGInterface::set_V_east); +// fgSetArchivable("/velocities/speed-east-fps"); +// fgTie("/velocities/speed-down-fps", this, +// &FGInterface::get_V_down, +// &FGInterface::set_V_down); +// fgSetArchivable("/velocities/speed-down-fps"); + // FIXME: Temporarily read-only, until the + // incompatibilities between JSBSim and + // LaRCSim are fixed (LaRCSim adds the + // earth's rotation to the east velocity). fgTie("/velocities/speed-north-fps", this, - &FGInterface::get_V_north, - &FGInterface::set_V_north); - fgSetArchivable("/velocities/speed-north-fps"); + &FGInterface::get_V_north); fgTie("/velocities/speed-east-fps", this, - &FGInterface::get_V_east, - &FGInterface::set_V_east); - fgSetArchivable("/velocities/speed-east-fps"); + &FGInterface::get_V_east); fgTie("/velocities/speed-down-fps", this, - &FGInterface::get_V_down, - &FGInterface::set_V_down); - fgSetArchivable("/velocities/speed-down-fps"); + &FGInterface::get_V_down); // Relative wind + // FIXME: temporarily archivable, until + // the NED problem is fixed. fgTie("/velocities/uBody-fps", this, &FGInterface::get_uBody, - &FGInterface::set_uBody); + &FGInterface::set_uBody, + false); + fgSetArchivable("/velocities/uBody-fps"); fgTie("/velocities/vBody-fps", this, &FGInterface::get_vBody, - &FGInterface::set_vBody); + &FGInterface::set_vBody, + false); + fgSetArchivable("/velocities/vBody-fps"); fgTie("/velocities/wBody-fps", this, &FGInterface::get_wBody, - &FGInterface::set_wBody); + &FGInterface::set_wBody, + false); + fgSetArchivable("/velocities/wBody-fps"); // Climb and slip (read-only) fgTie("/velocities/vertical-speed-fps", this, @@ -386,6 +405,8 @@ bool FGInterface::update( int multi_loop ) { void FGInterface::_updatePosition( double lat_geoc, double lon, double alt ) { double lat_geod, tmp_alt, sl_radius1, sl_radius2, tmp_lat_geoc; + // cout << "starting sea level rad = " << get_Sea_level_radius() << endl; + sgGeocToGeod( lat_geoc, ( get_Sea_level_radius() + alt ) * SG_FEET_TO_METER, &lat_geod, &tmp_alt, &sl_radius1 ); sgGeodToGeoc( lat_geod, alt * SG_FEET_TO_METER, &sl_radius2, &tmp_lat_geoc );