X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FUFO.cxx;h=edb56c0bbac1d5b96606c53815bb4a33e902fc6e;hb=d127f7709f7ac64fbbc537131bfd02bb29bc1ebe;hp=81b532b5d78459c295ab0ca024ec3caa23f34209;hpb=89010e6b0ac344970dfe3e802e4e51703fedc8ff;p=flightgear.git diff --git a/src/FDM/UFO.cxx b/src/FDM/UFO.cxx index 81b532b5d..edb56c0bb 100644 --- a/src/FDM/UFO.cxx +++ b/src/FDM/UFO.cxx @@ -26,7 +26,6 @@ #endif #include -#include #include #include
@@ -152,10 +151,10 @@ void FGUFO::update( double dt ) { // angle of turn double turn_rate = sin(roll) * SGD_PI_4; // radians/sec double turn = turn_rate * time_step; - double yaw = fabs(rudder) < .2 ? 0.0 : rudder / (25 + fabs(speed) * .1); + double yaw = fabs(rudder) < .05 ? 0.0 : (rudder * (fabs(rudder) - 0.05) / 10); // update (lon/lat) position - double lat2, lon2, az2; + double lat2 = 0.0, lon2 = 0.0, az2 = 0.0; if ( fabs(speed) > SG_EPSILON ) { geo_direct_wgs_84 ( get_Altitude(), get_Latitude() * SGD_RADIANS_TO_DEGREES, @@ -163,8 +162,7 @@ void FGUFO::update( double dt ) { get_Psi() * SGD_RADIANS_TO_DEGREES, dist, &lat2, &lon2, &az2 ); - _set_Longitude( lon2 * SGD_DEGREES_TO_RADIANS ); - _set_Latitude( lat2 * SGD_DEGREES_TO_RADIANS ); + _set_Geodetic_Position( lat2 * SGD_DEGREES_TO_RADIANS, lon2 * SGD_DEGREES_TO_RADIANS ); } // cout << "lon error = " << fabs(end.x()*SGD_RADIANS_TO_DEGREES - lon2)