]> git.mxchange.org Git - flightgear.git/blobdiff - src/Environment/fgclouds.hxx
Development for two new features:
[flightgear.git] / src / Environment / fgclouds.hxx
index dee821c1dea47ef911524c44760541bbe243c732..d991893331b9e4d373c744d06a52e1f321efac9f 100644 (file)
@@ -16,7 +16,7 @@
 //
 // You should have received a copy of the GNU General Public License
 // along with this program; if not, write to the Free Software
-// Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 //
 //
 #ifndef _FGCLOUDS_HXX
 #include <simgear/sound/soundmgr_openal.hxx>
 #include <Main/fg_props.hxx>
 
-#include STL_STRING
+#include <string>
 
-SG_USING_STD(string);
+using std::string;
 
 class SGNewCloud;
 class SGCloudField;
 class FGMetar;
+class FGEnvironmentCtrl;
 
 class FGClouds {
 
 private:
-       SGNewCloud *buildCloud(SGPropertyNode *cloud_def_root, string name);
-       void buildLayer(SGCloudField *layer, string name, double alt, double coverage);
+void buildCloud(SGPropertyNode *cloud_def_root, SGPropertyNode *box_def_root, const string& name, sgVec3 pos, SGCloudField *layer);
+       void buildLayer(int iLayer, const string& name, double alt, double coverage);
 
-       void buildMETAR(void);
+       void buildCloudLayers(void);
 
-       void buildScenario( string scenario );
+       void buildScenario( const string& scenario );
 
-       void setLayer( int iLayer, float alt_m, string coverage, string layer_type );
+       void setLayer( int iLayer, float alt_m, const string& coverage, const string& layer_type );
 
-       void update_metar_properties( FGMetar *m );
+       void update_metar_properties( const FGMetar *m );
 
-       void FGClouds::update_env_config ();
+       void update_env_config ();
+
+        void build(void);
 
        int update_event;
        SGSoundSample *snd_lightning;
-
+       FGEnvironmentCtrl * _controller;
        float station_elevation_ft;
+        bool clouds_3d_enabled;
+        string last_scenario;
+        string scenario;
+        SGPropertyNode *last_env_config, *last_env_clouds;
 
 public:
-       FGClouds();
+       FGClouds(FGEnvironmentCtrl * controller);
        ~FGClouds();
 
-       void build(void);
-
        void init(void);
 
+        void set_scenario(const char * sc);
+        const char * get_scenario(void) const;
+
        int get_update_event(void) const;
        void set_update_event(int count);
-
+        bool get_3dClouds() const;
+        void set_3dClouds(bool enable);
 };
 
-#endif // _FGCLOUDS_HXX
\ No newline at end of file
+#endif // _FGCLOUDS_HXX