From 2e4f836a9883f90690c11a7d0dcebd4cb7e46445 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 22 Feb 2002 23:37:45 +0000 Subject: [PATCH] General cleanups to cut cross-dependencies and speed up compilation. Added two new properties: /environment/temperature-sea-level-degc /environment/pressure-sea-level-inhg These are now supported in FGEnvironment as well, though they always have the same value for now. They need to be hooked up to the FDMs. --- src/Environment/environment.cxx | 64 +++++++++++++++++++++++++++++ src/Environment/environment.hxx | 26 ++++++------ src/Environment/environment_mgr.cxx | 8 ++++ src/Input/input.cxx | 6 --- src/Main/fg_init.cxx | 2 +- src/Main/globals.cxx | 14 +++++++ src/Main/globals.hxx | 12 ++---- src/Scenery/tilemgr.cxx | 6 --- 8 files changed, 102 insertions(+), 36 deletions(-) diff --git a/src/Environment/environment.cxx b/src/Environment/environment.cxx index 59a26ec11..bb5894443 100644 --- a/src/Environment/environment.cxx +++ b/src/Environment/environment.cxx @@ -39,6 +39,8 @@ FGEnvironment::FGEnvironment() : visibility_m(32000), + temperature_sea_level_degc(20), + pressure_sea_level_inhg(28), wind_from_heading_deg(0), wind_speed_kt(0), wind_from_north_fps(0), @@ -53,12 +55,74 @@ FGEnvironment::~FGEnvironment() } +double +FGEnvironment::get_visibility_m () const +{ + return visibility_m; +} + +double +FGEnvironment::get_temperature_sea_level_degc () const +{ + return temperature_sea_level_degc; +} + +double +FGEnvironment::get_pressure_sea_level_inhg () const +{ + return pressure_sea_level_inhg; +} + +double +FGEnvironment::get_wind_from_heading_deg () const +{ + return wind_from_heading_deg; +} + +double +FGEnvironment::get_wind_speed_kt () const +{ + return wind_speed_kt; +} + +double +FGEnvironment::get_wind_from_north_fps () const +{ + return wind_from_north_fps; +} + +double +FGEnvironment::get_wind_from_east_fps () const +{ + return wind_from_east_fps; +} + +double +FGEnvironment::get_wind_from_down_fps () const +{ + return wind_from_down_fps; +} + + + void FGEnvironment::set_visibility_m (double v) { visibility_m = v; } +void +FGEnvironment::set_temperature_sea_level_degc (double t) +{ + temperature_sea_level_degc = t; +} + +void +FGEnvironment::set_pressure_sea_level_inhg (double p) +{ + pressure_sea_level_inhg = p; +} + void FGEnvironment::set_wind_from_heading_deg (double h) { diff --git a/src/Environment/environment.hxx b/src/Environment/environment.hxx index 0b29970aa..f3a77152d 100644 --- a/src/Environment/environment.hxx +++ b/src/Environment/environment.hxx @@ -51,22 +51,18 @@ public: FGEnvironment(); virtual ~FGEnvironment(); - inline virtual double get_visibility_m () const { return visibility_m; } - inline virtual double get_wind_from_heading_deg () const { - return wind_from_heading_deg; - } - inline virtual double get_wind_speed_kt () const { return wind_speed_kt; } - inline virtual double get_wind_from_north_fps () const { - return wind_from_north_fps; - } - inline virtual double get_wind_from_east_fps () const { - return wind_from_east_fps; - } - inline virtual double get_wind_from_down_fps () const { - return wind_from_down_fps; - } + virtual double get_visibility_m () const; + virtual double get_temperature_sea_level_degc () const; + virtual double get_pressure_sea_level_inhg () const; + virtual double get_wind_from_heading_deg () const; + virtual double get_wind_speed_kt () const; + virtual double get_wind_from_north_fps () const; + virtual double get_wind_from_east_fps () const; + virtual double get_wind_from_down_fps () const; virtual void set_visibility_m (double v); + virtual void set_temperature_sea_level_degc (double t); + virtual void set_pressure_sea_level_inhg (double p); virtual void set_wind_from_heading_deg (double h); virtual void set_wind_speed_kt (double s); virtual void set_wind_from_north_fps (double n); @@ -79,6 +75,8 @@ private: void _recalc_ne (); double visibility_m; + double temperature_sea_level_degc; + double pressure_sea_level_inhg; double wind_from_heading_deg; double wind_speed_kt; diff --git a/src/Environment/environment_mgr.cxx b/src/Environment/environment_mgr.cxx index 9840d6de2..188d73a20 100644 --- a/src/Environment/environment_mgr.cxx +++ b/src/Environment/environment_mgr.cxx @@ -50,6 +50,14 @@ FGEnvironmentMgr::bind () fgTie("/environment/visibility-m", _environment, &FGEnvironment::get_visibility_m, &FGEnvironment::set_visibility_m); fgSetArchivable("/environment/visibility-m"); + fgTie("/environment/temperature-sea-level-degc", _environment, + &FGEnvironment::get_temperature_sea_level_degc, + &FGEnvironment::set_temperature_sea_level_degc); + fgSetArchivable("/environment/temperature-sea-level-degc"); + fgTie("/environment/pressure-sea-level-inhg", _environment, + &FGEnvironment::get_pressure_sea_level_inhg, + &FGEnvironment::set_pressure_sea_level_inhg); + fgSetArchivable("/environment/pressure-sea-level-inhg"); fgTie("/environment/wind-from-heading-deg", _environment, &FGEnvironment::get_wind_from_heading_deg, &FGEnvironment::set_wind_from_heading_deg); diff --git a/src/Input/input.cxx b/src/Input/input.cxx index 243eacbe4..06122defd 100644 --- a/src/Input/input.cxx +++ b/src/Input/input.cxx @@ -55,12 +55,6 @@ #include #include -#ifndef FG_NEW_ENVIRONMENT -# include -#else -# include -#endif - #include
#include
diff --git a/src/Main/fg_init.cxx b/src/Main/fg_init.cxx index 787e9869e..846e8ad89 100644 --- a/src/Main/fg_init.cxx +++ b/src/Main/fg_init.cxx @@ -105,7 +105,7 @@ #ifndef FG_NEW_ENVIRONMENT # include #else -# include +# include #endif #include "fg_init.hxx" diff --git a/src/Main/globals.cxx b/src/Main/globals.cxx index 59712dca7..e26abf694 100644 --- a/src/Main/globals.cxx +++ b/src/Main/globals.cxx @@ -21,6 +21,8 @@ // $Id$ +#include + #include "globals.hxx" #include "fg_props.hxx" @@ -82,5 +84,17 @@ FGGlobals::restoreInitialState () } } +const FGEnvironment * +FGGlobals::get_environment () const +{ + return environment_mgr->getEnvironment(); +} + +const FGEnvironment * +FGGlobals::get_environment (double lat, double lon, double alt) const +{ + return environment_mgr->getEnvironment(lat, lon, alt); +} + // end of globals.cxx diff --git a/src/Main/globals.hxx b/src/Main/globals.hxx index b2e100109..07cc680d4 100644 --- a/src/Main/globals.hxx +++ b/src/Main/globals.hxx @@ -42,8 +42,6 @@ SG_USING_STD( string ); typedef vector string_list; -#include - // Forward declarations class FGEnvironmentMgr; @@ -168,13 +166,9 @@ public: inline void set_environment_mgr(FGEnvironmentMgr * mgr) { environment_mgr = mgr; } - inline const FGEnvironment * get_environment() const { - return environment_mgr->getEnvironment(); - } - inline const FGEnvironment * get_environment(double lat, double lon, - double alt) const { - return environment_mgr->getEnvironment(lat, lon, alt); - } + const FGEnvironment * get_environment() const; + const FGEnvironment * get_environment(double lat, double lon, + double alt) const; inline FGSoundMgr *get_soundmgr() const { return soundmgr; } inline void set_soundmgr( FGSoundMgr *sm ) { soundmgr = sm; } diff --git a/src/Scenery/tilemgr.cxx b/src/Scenery/tilemgr.cxx index 6d6d4f045..0b7b22968 100644 --- a/src/Scenery/tilemgr.cxx +++ b/src/Scenery/tilemgr.cxx @@ -45,12 +45,6 @@ #include
#include -#ifndef FG_NEW_ENVIRONMENT -# include -#else -# include -#endif - #include "newcache.hxx" #include "scenery.hxx" #include "tilemgr.hxx" -- 2.39.5