diff --git a/src/Main/fg_commands.cxx b/src/Main/fg_commands.cxx index 21b86efbc..de4336833 100644 --- a/src/Main/fg_commands.cxx +++ b/src/Main/fg_commands.cxx @@ -28,6 +28,7 @@ #include #include #include +#include #if defined(HAVE_PLIB_PSL) # include #endif @@ -1230,6 +1231,20 @@ do_replay (const SGPropertyNode * arg) } +/** + * Return terrain elevation for given longitude/latitude pair. + */ +static bool +do_terrain_elevation (const SGPropertyNode * arg) +{ + double lon = arg->getDoubleValue("longitude-deg", 0.0); + double lat = arg->getDoubleValue("latitude-deg", 0.0); + double elev; + bool ret = globals->get_scenery()->get_elevation_m(lat, lon, 10000.0, elev, 0, false); + const_cast(arg)->setDoubleValue("elevation-m", elev); + return ret; +} + static bool do_decrease_visibility (const SGPropertyNode * arg) @@ -1436,6 +1451,7 @@ static struct { { "presets-commit", do_presets_commit }, { "log-level", do_log_level }, { "replay", do_replay }, + { "terrain-elevation", do_terrain_elevation }, { "decrease-visibility", do_decrease_visibility }, { "increase-visibility", do_increase_visibility }, { "hud-init", do_hud_init },