From: curt Date: Sat, 3 Mar 2001 00:03:42 +0000 (+0000) Subject: Fixes to initial position for JSBSim. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0262c560593795c4ae4f3aa91d52ae2480d4e647;p=flightgear.git Fixes to initial position for JSBSim. --- diff --git a/src/FDM/JSBSim.cxx b/src/FDM/JSBSim.cxx index 7707afe48..923ae1980 100644 --- a/src/FDM/JSBSim.cxx +++ b/src/FDM/JSBSim.cxx @@ -421,6 +421,7 @@ void FGJSBsim::set_Latitude(double lat) { snap_shot(); sgGeodToGeoc( lat, get_Altitude() , &sea_level_radius_meters, &lat_geoc); + _set_Sea_level_radius( sea_level_radius_meters * METER_TO_FEET ); fgic->SetSeaLevelRadiusFtIC( sea_level_radius_meters * METER_TO_FEET ); fgic->SetLatitudeRadIC( lat_geoc ); fdmex->RunIC(fgic); //loop JSBSim once @@ -446,6 +447,7 @@ void FGJSBsim::set_Altitude(double alt) { snap_shot(); sgGeodToGeoc( get_Latitude(), alt , &sea_level_radius_meters, &lat_geoc); + _set_Sea_level_radius( sea_level_radius_meters * METER_TO_FEET ); fgic->SetSeaLevelRadiusFtIC( sea_level_radius_meters * METER_TO_FEET ); fgic->SetLatitudeRadIC( lat_geoc ); fgic->SetAltitudeFtIC(alt); diff --git a/src/FDM/flight.cxx b/src/FDM/flight.cxx index c015ee032..ec8707dc3 100644 --- a/src/FDM/flight.cxx +++ b/src/FDM/flight.cxx @@ -272,7 +272,7 @@ 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; - sgGeocToGeod( lat_geoc, EQUATORIAL_RADIUS_M + alt * FEET_TO_METER, + sgGeocToGeod( lat_geoc, ( get_Sea_level_radius() + alt ) * FEET_TO_METER, &lat_geod, &tmp_alt, &sl_radius1 ); sgGeodToGeoc( lat_geod, alt * FEET_TO_METER, &sl_radius2, &tmp_lat_geoc );