X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Fenvironment_mgr.hxx;h=0ad652e71108c987fcddf15796df09769294898e;hb=35e67c3a315159f276a57d938e96b2602d34cfa4;hp=3238c9bf99114f71a92ce438400d44ad9fa2dc7d;hpb=eaf9fa762180182c4af7a877f4e6865726dd8e5f;p=flightgear.git diff --git a/src/Environment/environment_mgr.hxx b/src/Environment/environment_mgr.hxx index 3238c9bf9..0ad652e71 100644 --- a/src/Environment/environment_mgr.hxx +++ b/src/Environment/environment_mgr.hxx @@ -33,7 +33,8 @@ # include #endif -#include "environment.hxx" +class FGEnvironment; +class FGEnvironmentCtrl; /** @@ -44,29 +45,47 @@ class FGEnvironmentMgr : public FGSubsystem public: + enum { + MAX_CLOUD_LAYERS = 5 + }; + FGEnvironmentMgr (); virtual ~FGEnvironmentMgr (); virtual void init (); virtual void bind (); virtual void unbind (); - virtual void update (int dt); + virtual void update (double dt); /** * Get the environment information for the plane's current position. */ - virtual const FGEnvironment * getEnvironment () const; + virtual FGEnvironment getEnvironment () const; /** * Get the environment information for another location. */ - virtual const FGEnvironment * getEnvironment (double lat, double lon, - double alt) const; + virtual FGEnvironment getEnvironment (double lat, double lon, + double alt) const; private: + void _update_fdm () const; + + 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; + void set_cloud_layer_elevation_ft (int index, double elevation_ft); + double get_cloud_layer_thickness_ft (int index) const; + void set_cloud_layer_thickness_ft (int index, double thickness_ft); + double get_cloud_layer_transition_ft (int index) const; + void set_cloud_layer_transition_ft (int index, double transition_ft); + const char * get_cloud_layer_type (int index) const; + void set_cloud_layer_type (int index, const char * type); + FGEnvironment * _environment; // always the same, for now + FGEnvironmentCtrl * _controller; // always the same, for now };