From 78155104e8ab63d654bdac0ad1003d16c0c83910 Mon Sep 17 00:00:00 2001 From: curt Date: Sun, 14 Mar 2004 22:58:58 +0000 Subject: [PATCH] I found a meter/feet conversion problem with DME elevations. These changes should resolve the problem. --- src/Cockpit/dme.cxx | 4 ++-- src/Cockpit/kr_87.cxx | 4 ++-- src/Cockpit/navcom.cxx | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Cockpit/dme.cxx b/src/Cockpit/dme.cxx index 7fe470c9f..4c965e709 100644 --- a/src/Cockpit/dme.cxx +++ b/src/Cockpit/dme.cxx @@ -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(); diff --git a/src/Cockpit/kr_87.cxx b/src/Cockpit/kr_87.cxx index 4c30b3ce0..dc84a4592 100644 --- a/src/Cockpit/kr_87.cxx +++ b/src/Cockpit/kr_87.cxx @@ -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(); diff --git a/src/Cockpit/navcom.cxx b/src/Cockpit/navcom.cxx index 4c45eff8f..35e86df9e 100644 --- a/src/Cockpit/navcom.cxx +++ b/src/Cockpit/navcom.cxx @@ -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); -- 2.39.5