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);
}
{
_longitude_node = fgGetNode("/position/longitude-deg", true);
_latitude_node = fgGetNode("/position/latitude-deg", true);
- _altitude_node = fgGetNode("/position/altitude-deg", true);
+ _altitude_node = fgGetNode("/position/altitude-ft", true);
_serviceable_node = fgGetNode("/instrumentation/dme/serviceable", true);
_electrical_node = fgGetNode("/systems/electrical/outputs/dme", true);
_source_node = fgGetNode("/instrumentation/dme/frequencies/source", true);
double latitude_rad =
_latitude_node->getDoubleValue() * SGD_DEGREES_TO_RADIANS;
double altitude_m =
- _altitude_node->getDoubleValue() * SGD_DEGREES_TO_RADIANS;
+ _altitude_node->getDoubleValue() * SG_FEET_TO_METER;
// On timeout, scan again
_time_before_search_sec -= delta_time_sec;
longitude_rad,
latitude_rad,
altitude_m);
- if (ils != 0 && ils->get_has_dme()) {
+ if (ils !=0 && ils->get_has_dme()) {
_transmitter_valid = true;
_transmitter = Point3D(ils->get_dme_x(),
ils->get_dme_y(),
longitude_rad,
latitude_rad,
altitude_m);
- if (nav != 0)
if (nav != 0 && nav->get_has_dme()) {
_transmitter_valid = true;
_transmitter = Point3D(nav->get_x(),