Add control of 3D cloud field wrapping. Base code was already present, but without accessor methods.

This commit is contained in:
Stuart Buchanan
2011-08-07 11:41:25 +01:00
parent 7525fd5e3e
commit 410c5ae919
3 changed files with 29 additions and 7 deletions
+10 -7
View 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; }
+10
View 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 );
}
+9
View 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);
};