]> git.mxchange.org Git - flightgear.git/blobdiff - src/Instrumentation/dme.cxx
ignore resets for now because every z/Z key press would trigger a call to NOAA. We...
[flightgear.git] / src / Instrumentation / dme.cxx
index 48070d7b3e4be1d4ddff10215b32a6f771057eca..2bd93b3e46480664abbfda4830a23c4f396573e1 100644 (file)
@@ -30,6 +30,8 @@ adjust_range (double transmitter_elevation_ft, double aircraft_altitude_ft,
     double range_nm = 1.23 * sqrt(delta_elevation_ft);
     if (range_nm > max_range_nm)
         range_nm = max_range_nm;
+    else if (range_nm < 20.0)
+        range_nm = 20.0;
     double rand = sg_random();
     return range_nm + (range_nm * rand * rand);
 }
@@ -151,19 +153,14 @@ DME::search (double frequency_mhz, double longitude_rad,
                                               longitude_rad,
                                               latitude_rad,
                                               altitude_m);
-    if (ils !=0) {
-        if (ils->get_has_dme()) {
-            _transmitter_valid = true;
-            _transmitter = Point3D(ils->get_dme_x(),
-                                   ils->get_dme_y(),
-                                   ils->get_dme_z());
-            _transmitter_elevation_ft = ils->get_gselev() * SG_METER_TO_FEET;
-            _transmitter_range_nm = 50; // arbitrary
-            return;
-        } else {
-           _transmitter_valid = false;
-           return;
-        }
+    if (ils !=0 && ils->get_has_dme()) {
+        _transmitter_valid = true;
+        _transmitter = Point3D(ils->get_dme_x(),
+                               ils->get_dme_y(),
+                               ils->get_dme_z());
+        _transmitter_elevation_ft = ils->get_gselev() * SG_METER_TO_FEET;
+        _transmitter_range_nm = 50; // arbitrary
+        return;
     }
 
                                 // try the VORs next
@@ -171,18 +168,13 @@ DME::search (double frequency_mhz, double longitude_rad,
                                               longitude_rad,
                                               latitude_rad,
                                               altitude_m);
-    if (nav != 0) {
-        if (nav->get_has_dme()) {
-            _transmitter_valid = true;
-            _transmitter = Point3D(nav->get_x(),
-                                   nav->get_y(),
-                                   nav->get_z());
-            _transmitter_elevation_ft = nav->get_elev() * SG_METER_TO_FEET;
-            _transmitter_range_nm = nav->get_range(); // fixme
-            return;
-        }
-    } else {
-        _transmitter_valid = false;
+    if (nav != 0 && nav->get_has_dme()) {
+        _transmitter_valid = true;
+        _transmitter = Point3D(nav->get_x(),
+                               nav->get_y(),
+                               nav->get_z());
+        _transmitter_elevation_ft = nav->get_elev() * SG_METER_TO_FEET;
+        _transmitter_range_nm = nav->get_range(); // fixme
         return;
     }