X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Fenvironment.cxx;h=9a5755e3db3d7f8cabeaa89a739547c8b28fb71f;hb=386aefe69358ce41a11c9afeb8f56e26758fe56b;hp=212e51d856aed4fa286ea947c63ffcd5d6e21eb3;hpb=02c75ba583bdb1ded2565edc31cefaf093b057bd;p=flightgear.git diff --git a/src/Environment/environment.cxx b/src/Environment/environment.cxx index 212e51d85..9a5755e3d 100644 --- a/src/Environment/environment.cxx +++ b/src/Environment/environment.cxx @@ -140,6 +140,7 @@ void FGEnvironment::_init() wind_from_down_fps = 0; thermal_lift_fps = 0; ridge_lift_fps= 0; + local_weather_lift_fps=0; altitude_half_to_sun_m = 1000; altitude_tropo_top_m = 10000; #ifdef USING_TABLES @@ -182,6 +183,7 @@ FGEnvironment::copy (const FGEnvironment &env) wind_from_down_fps = env.wind_from_down_fps; thermal_lift_fps = env.thermal_lift_fps; ridge_lift_fps= env.ridge_lift_fps; + local_weather_lift_fps = env.local_weather_lift_fps; turbulence_magnitude_norm = env.turbulence_magnitude_norm; turbulence_rate_hz = env.turbulence_rate_hz; } @@ -238,6 +240,7 @@ FGEnvironment::read (const SGPropertyNode * node) maybe_copy_value(this, node, "turbulence/rate-hz", &FGEnvironment::set_turbulence_rate_hz); + // calculate derived properties here to avoid duplicate expensive computations _recalc_ne(); _recalc_alt_pt(); @@ -369,6 +372,12 @@ FGEnvironment::get_ridge_lift_fps () const return ridge_lift_fps; } +double +FGEnvironment::get_local_weather_lift_fps () const +{ + return local_weather_lift_fps; +} + double FGEnvironment::get_turbulence_magnitude_norm () const { @@ -524,7 +533,16 @@ FGEnvironment::set_ridge_lift_fps (double ri) ridge_lift_fps = ri; if( live_update ) { _recalc_updraft(); + } } + +void +FGEnvironment::set_local_weather_lift_fps (double lwl) +{ + local_weather_lift_fps = lwl; + if( live_update ) { + _recalc_updraft(); + } } void @@ -618,7 +636,7 @@ FGEnvironment::_recalc_ne () void FGEnvironment::_recalc_updraft () { - wind_from_down_fps = thermal_lift_fps + ridge_lift_fps ; + wind_from_down_fps = thermal_lift_fps + ridge_lift_fps + local_weather_lift_fps ; } // Intended to help with the interpretation of METAR data,