]> git.mxchange.org Git - simgear.git/commitdiff
Add control of 3D cloud field wrapping. Base code was already present, but without...
authorStuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
Sun, 7 Aug 2011 10:41:25 +0000 (11:41 +0100)
committerStuart Buchanan <stuart_d_buchanan@yahoo.co.uk>
Sun, 7 Aug 2011 10:41:25 +0000 (11:41 +0100)
simgear/scene/sky/cloudfield.hxx
simgear/scene/sky/sky.cxx
simgear/scene/sky/sky.hxx

index ae7ce12a2cc0a68d9dd17e85f1d8b6e3222523ff..77f504b6503723aec1e9966761eacf97af7dda49 100644 (file)
@@ -130,23 +130,26 @@ public:
         * @param lat specifies a rotation about the new Y axis
         * @param dt the time elapsed since the last call
         * @param asl altitude of the layer
-  * @param speed of cloud layer movement (due to wind)
-  * @param direction of cloud layer movement (due to wind)
+        * @param speed of cloud layer movement (due to wind)
+        * @param direction of cloud layer movement (due to wind)
         */
         bool reposition( const SGVec3f& p, const SGVec3f& up,
                   double lon, double lat, double dt, int asl, float speed, float direction);
 
         osg::Group* getNode() { return field_root.get(); }
 
-       // visibility distance for clouds in meters
-       static float CloudVis;
+        // visibility distance for clouds in meters
+             static float CloudVis;
 
-       static SGVec3f view_vec, view_X, view_Y;
+             static SGVec3f view_vec, view_X, view_Y;
 
         static float view_distance;
         static double timer_dt;
-       static float fieldSize;
-       static bool wrap;
+        static float fieldSize;
+             static bool wrap;
+       
+        static bool getWrap(void) { return wrap; }
+        static void setWrap(bool w) { wrap = w; }
 
         static float getVisRange(void) { return view_distance; }
         static void setVisRange(float d) { view_distance = d; }
index e21adaa34d156f7c0514074fa38da5c96d4a6b5f..f22a9a6a5a906389c286304e46d566b079c4f9a0 100644 (file)
@@ -237,6 +237,16 @@ void SGSky::set_3dCloudVisRange(float vis)
     }
 }
 
+bool SGSky::get_3dCloudWrap() const {
+    return SGCloudField::getWrap();
+}
+
+void SGSky::set_3dCloudWrap(bool wrap)
+{
+    SGCloudField::setWrap(wrap);
+}
+
+
 void SGSky::texture_path( const string& path ) {
        tex_path = SGPath( path );
 }
index 28678041ac820ea441acd39c7b64a6f63d738f84..33673ca647ac57f6ee2694ca443cc72a8f8f58b7 100644 (file)
@@ -440,6 +440,15 @@ public:
      */
     virtual void set_3dCloudVisRange(float vis);
 
+    /** Get 3D cloud wrapping */
+    virtual bool get_3dCloudWrap() const;
+
+    /** Set 3D cloud wrapping
+     * @param wrap whether to wrap 3D clouds
+     */
+    virtual void set_3dCloudWrap(bool wrap);
+
+
 };