X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Fenvironment_mgr.hxx;h=1c99327a151c797afa031f6accd31c5ef5616868;hb=520c002058c5b7a919eb84a1f75eb643441f3537;hp=ffd75346345067f9d22c353614bea1f1694e8a8e;hpb=a6db6d89ff41a619569e6433409e8bf62ff98499;p=flightgear.git diff --git a/src/Environment/environment_mgr.hxx b/src/Environment/environment_mgr.hxx index ffd753463..1c99327a1 100644 --- a/src/Environment/environment_mgr.hxx +++ b/src/Environment/environment_mgr.hxx @@ -18,7 +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_MGR_HXX #define _ENVIRONMENT_MGR_HXX @@ -26,6 +25,7 @@ #include #include #include +#include #ifdef SG_HAVE_STD_INCLUDES # include @@ -34,11 +34,11 @@ #endif class FGEnvironment; -class FGEnvironmentCtrl; class FGMetarCtrl; class FGMetarFetcher; class FGClouds; class FGPrecipitationMgr; +class SGSky; /** * Manage environment information. @@ -57,6 +57,7 @@ public: virtual void init (); virtual void reinit (); + virtual void shutdown (); virtual void bind (); virtual void unbind (); virtual void update (double dt); @@ -75,9 +76,8 @@ public: virtual FGEnvironment getEnvironment(const SGGeod& aPos) const; private: - - void _update_fdm () const; - + void updateClosestAirport(); + double get_cloud_layer_span_m (int index) const; void set_cloud_layer_span_m (int index, double span_m); double get_cloud_layer_elevation_ft (int index) const; @@ -88,14 +88,23 @@ private: void set_cloud_layer_transition_ft (int index, double transition_ft); const char * get_cloud_layer_coverage (int index) const; void set_cloud_layer_coverage (int index, const char * coverage); + int get_cloud_layer_coverage_type (int index) const; + void set_cloud_layer_coverage_type (int index, int type ); + double get_cloud_layer_visibility_m (int index) const; + void set_cloud_layer_visibility_m (int index, double visibility_m); + double get_cloud_layer_maxalpha (int index ) const; + void set_cloud_layer_maxalpha (int index, double maxalpha); FGEnvironment * _environment; // always the same, for now - FGEnvironmentCtrl * _controller; // always the same, for now - FGMetarCtrl * _metarcontroller; - FGMetarFetcher * _metarfetcher; - FGPrecipitationMgr* _precipitationManager; - FGClouds *fgClouds; + bool _cloudLayersDirty; + SGPropertyNode_ptr _altitude_n; + SGPropertyNode_ptr _longitude_n; + SGPropertyNode_ptr _latitude_n; + simgear::TiedPropertyList _tiedProperties; + SGPropertyChangeListener * _3dCloudsEnableListener; + SGSky* _sky; + }; #endif // _ENVIRONMENT_MGR_HXX