X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Fenvironment.hxx;h=048b17992885e77182bba414b6c7e13bf58bb950;hb=118d8fbca5d98e994d572e4c922f76ba2cab9e52;hp=4d82685aae92fcd1d01605c6b635bfa241f7c48c;hpb=b8724644c66b162af1cb86f7fee46ed7c197d4bd;p=flightgear.git diff --git a/src/Environment/environment.hxx b/src/Environment/environment.hxx index 4d82685aa..048b17992 100644 --- a/src/Environment/environment.hxx +++ b/src/Environment/environment.hxx @@ -18,8 +18,6 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // -// $Id$ - #ifndef _ENVIRONMENT_HXX #define _ENVIRONMENT_HXX @@ -27,6 +25,7 @@ #include #include +#include "tiedpropertylist.hxx" /** * Model the natural environment. @@ -45,9 +44,11 @@ public: FGEnvironment (const FGEnvironment &environment); virtual ~FGEnvironment(); - virtual void copy (const FGEnvironment &environment); + FGEnvironment & operator = ( const FGEnvironment & other ); virtual void read (const SGPropertyNode * node); + virtual void Tie( SGPropertyNode_ptr base, bool setArchivable = true ); + virtual void Untie(); virtual double get_visibility_m () const; @@ -97,21 +98,25 @@ public: virtual void set_altitude_half_to_sun_m (double alt); virtual void set_altitude_tropo_top_m (double alt); + virtual bool set_live_update(bool live_update); + + + FGEnvironment & interpolate (const FGEnvironment & env2, double fraction, FGEnvironment * result) const; private: + virtual void copy (const FGEnvironment &environment); void _init(); void _recalc_hdgspd (); - void _recalc_ne (); void _recalc_sl_temperature (); - void _recalc_alt_temperature (); void _recalc_sl_dewpoint (); - void _recalc_alt_dewpoint (); void _recalc_sl_pressure (); - void _recalc_alt_pressure (); - void _recalc_density (); void _recalc_density_tropo_avg_kgm3 (); + void _recalc_ne (); + void _recalc_alt_dewpoint (); + void _recalc_density (); void _recalc_relative_humidity (); + void _recalc_alt_pt (); double elevation_ft; double visibility_m; @@ -140,9 +145,9 @@ private: double wind_from_east_fps; double wind_from_down_fps; -}; + bool live_update; + TiedPropertyList _tiedProperties; -void interpolate (const FGEnvironment * env1, const FGEnvironment * env2, - double fraction, FGEnvironment * result); +}; #endif // _ENVIRONMENT_HXX