]> git.mxchange.org Git - flightgear.git/commitdiff
I found a meter/feet conversion problem with DME elevations. These changes
authorcurt <curt>
Sun, 14 Mar 2004 22:58:58 +0000 (22:58 +0000)
committercurt <curt>
Sun, 14 Mar 2004 22:58:58 +0000 (22:58 +0000)
should resolve the problem.

src/Cockpit/dme.cxx
src/Cockpit/kr_87.cxx
src/Cockpit/navcom.cxx

index 7fe470c9fa928ef54b5a34a7f1c0833baafbc2ea..4c965e7093505ee820f9aac519b3f3c5f6c90c5a 100644 (file)
@@ -50,7 +50,7 @@ static double kludgeRange ( double stationElev, double aircraftElev,
                                // Assume that the nominal range (usually
                                // 50nm) applies at a 5,000 ft difference.
                                // Just a wild guess!
-  double factor = ((aircraftElev*SG_METER_TO_FEET) - stationElev) / 5000.0;
+  double factor = (aircraftElev - stationElev)*SG_METER_TO_FEET / 5000.0;
   double range = fabs(nominalRange * factor);
 
                                // Clamp the range to keep it sane; for
@@ -238,7 +238,7 @@ void FGDME::search()
             valid = true;
             lon = nav->get_lon();
             lat = nav->get_lat();
-            elev = nav->get_elev();
+            elev = nav->get_elev_ft();
             range = nav->get_range();
             effective_range = kludgeRange(elev, elev, range);
             x = nav->get_x();
index 4c30b3ce0466d822b9582b6a555e1fe7aa34287d..dc84a4592fd40a017bb1ad3fa14a3c3139a4b742 100644 (file)
@@ -51,7 +51,7 @@ static double kludgeRange ( double stationElev, double aircraftElev,
                                // Assume that the nominal range (usually
                                // 50nm) applies at a 5,000 ft difference.
                                // Just a wild guess!
-  double factor = ((aircraftElev*SG_METER_TO_FEET) - stationElev) / 5000.0;
+  double factor = (aircraftElev - stationElev)*SG_METER_TO_FEET / 5000.0;
   double range = fabs(nominalRange * factor);
 
                                // Clamp the range to keep it sane; for
@@ -503,7 +503,7 @@ void FGKR_87::search() {
            trans_ident = nav->get_trans_ident();
            stn_lon = nav->get_lon();
            stn_lat = nav->get_lat();
-           stn_elev = nav->get_elev();
+           stn_elev = nav->get_elev_ft();
            range = nav->get_range();
            effective_range = kludgeRange(stn_elev, acft_elev, range);
            x = nav->get_x();
index 4c45eff8f1cd417e7543001f726b22a9e04078f0..35e86df9e24ffd9076bc6a7b0f9f060071ae478a 100644 (file)
@@ -686,7 +686,7 @@ void FGNavCom::search()
            nav_has_gs = false;
            nav_loclon = nav->get_lon();
            nav_loclat = nav->get_lat();
-           nav_elev = nav->get_elev();
+           nav_elev = nav->get_elev_ft();
            nav_twist = nav->get_magvar();
            nav_range = nav->get_range();
            nav_effective_range = adjustNavRange(nav_elev, elev, nav_range);