]> git.mxchange.org Git - flightgear.git/commitdiff
Minor cleanup of cloud commands.
authorJames Turner <zakalawe@mac.com>
Wed, 27 Mar 2013 22:48:43 +0000 (22:48 +0000)
committerJames Turner <zakalawe@mac.com>
Wed, 27 Mar 2013 22:48:47 +0000 (22:48 +0000)
src/Environment/fgclouds.cxx
src/Environment/fgclouds.hxx

index f19d9d6fc5738255c943cf2bb81586a6fd688ce7..f83a7276740d0b5c3b2b53e6870e5069a2602699 100644 (file)
@@ -24,6 +24,8 @@
 #  include "config.h"
 #endif
 
+#include "fgclouds.hxx"
+
 #include <cstring>
 #include <cstdio>
 #include <Main/fg_props.hxx>
 #include <Viewer/renderer.hxx>
 #include <Airports/airport.hxx>
 
-#include "fgclouds.hxx"
-
-static bool do_delete_3Dcloud (const SGPropertyNode *arg);
-static bool do_move_3Dcloud (const SGPropertyNode *arg);
-static bool do_add_3Dcloud (const SGPropertyNode *arg);
-
 // RNG seed to ensure cloud synchronization across multi-process
 // deployments
 static mt seed;
 
 FGClouds::FGClouds() :
-#if 0
-    snd_lightning(0),
-#endif
     clouds_3d_enabled(false),
     index(0)
 {
@@ -75,27 +68,19 @@ void FGClouds::set_update_event(int count) {
        buildCloudLayers();
 }
 
-void FGClouds::Init(void) {
-#if 0
-       if( snd_lightning == NULL ) {
-               snd_lightning = new SGSoundSample("Sounds/thunder.wav", SGPath());
-               snd_lightning->set_max_dist(7000.0f);
-               snd_lightning->set_reference_dist(3000.0f);
-               SGSoundMgr *smgr = globals->get_soundmgr();
-               SGSampleGroup *sgr = smgr->find("weather", true);
-               sgr->add( snd_lightning, "thunder" );
-       }
-#endif
-
+void FGClouds::Init(void)
+{
        mt_init_time_10(&seed);
 
-       globals->get_commands()->addCommand("add-cloud", do_add_3Dcloud);
-       globals->get_commands()->addCommand("del-cloud", do_delete_3Dcloud);
-       globals->get_commands()->addCommand("move-cloud", do_move_3Dcloud);
+       globals->get_commands()->addCommand("add-cloud", this, &FGClouds::add3DCloud);
+       globals->get_commands()->addCommand("del-cloud", this, &FGClouds::delete3DCloud);
+       globals->get_commands()->addCommand("move-cloud", this, &FGClouds::move3DCloud);
 }
 
 // Build an invidual cloud. Returns the extents of the cloud for coverage calculations
-double FGClouds::buildCloud(SGPropertyNode *cloud_def_root, SGPropertyNode *box_def_root, const string& name, double grid_z_rand, SGCloudField *layer) {
+double FGClouds::buildCloud(SGPropertyNode *cloud_def_root, SGPropertyNode *box_def_root,
+                            const std::string& name, double grid_z_rand, SGCloudField *layer)
+{
        SGPropertyNode *box_def=NULL;
        SGPropertyNode *cld_def=NULL;
        double extent = 0.0;
@@ -358,8 +343,7 @@ bool FGClouds::get_3dClouds() const
  * (Various) - cloud definition properties. See README.3DClouds
  *
  */
- static bool
- do_add_3Dcloud (const SGPropertyNode *arg)
+ bool FGClouds::add3DCloud(const SGPropertyNode *arg)
  {
    int l = arg->getIntValue("layer", 0);
    int index = arg->getIntValue("index", 0);
@@ -394,8 +378,7 @@ bool FGClouds::get_3dClouds() const
   * index - the cloud index
   *
   */
- static bool
- do_delete_3Dcloud (const SGPropertyNode *arg)
+ bool FGClouds::delete3DCloud(const SGPropertyNode *arg)
  {
    int l = arg->getIntValue("layer", 0);
    int i = arg->getIntValue("index", 0);
@@ -414,8 +397,7 @@ bool FGClouds::get_3dClouds() const
  * lon/lat/alt - the position for the cloud
  *
  */
- static bool
- do_move_3Dcloud (const SGPropertyNode *arg)
+bool FGClouds::move3DCloud(const SGPropertyNode *arg)
  {
    int l = arg->getIntValue("layer", 0);
    int i = arg->getIntValue("index", 0);
index cf3e8a4f9a07e86201ea7a94616fc0948f457673..cd6df0c3b1653167fb5b2533b710ee7d3882fbb3 100644 (file)
 #ifndef _FGCLOUDS_HXX
 #define _FGCLOUDS_HXX
 
-#ifdef HAVE_CONFIG
-#  include <config.h>
-#endif
-
-#include <simgear/compiler.h>
-#include <simgear/math/sg_random.h>
-#include <simgear/sound/soundmgr_openal.hxx>
-#include <Main/fg_props.hxx>
-
 #include <string>
 
-using std::string;
-
+// forward decls
+class SGPropertyNode;
 class SGCloudField;
 
 class FGClouds {
 
 private:
-       double buildCloud(SGPropertyNode *cloud_def_root, SGPropertyNode *box_def_root, const string& name, double grid_z_rand, SGCloudField *layer);
-       void buildLayer(int iLayer, const string& name, double coverage);
+       double buildCloud(SGPropertyNode *cloud_def_root, SGPropertyNode *box_def_root,
+                      const std::string& name, double grid_z_rand, SGCloudField *layer);
+       void buildLayer(int iLayer, const std::string& name, double coverage);
 
        void buildCloudLayers(void);
 
        int update_event;
-#if 0
-       SGSoundSample *snd_lightning;
-#endif
+
        bool clouds_3d_enabled;
-  int index;
+    int index;
   
+    bool add3DCloud(const SGPropertyNode *arg);
+    bool delete3DCloud(const SGPropertyNode *arg);
+    bool move3DCloud(const SGPropertyNode *arg);
+    
 public:
        FGClouds();
        ~FGClouds();