00001
00027 #ifndef _PRECIPITATION_HXX
00028 #define _PRECIPITATION_HXX
00029
00030 #include <osg/Group>
00031 #include <osg/Referenced>
00032 #include <osgParticle/PrecipitationEffect>
00033
00034
00035 class SGPrecipitation : public osg::Referenced
00036 {
00037 private:
00038 bool _freeze;
00039
00040 float _snow_intensity;
00041 float _rain_intensity;
00042
00043 int _wind_dir;
00044 osg::Vec3 _wind_vec;
00045
00046 osg::ref_ptr<osgParticle::PrecipitationEffect> _precipitationEffect;
00047
00048 public:
00049 SGPrecipitation();
00050 virtual ~SGPrecipitation() {}
00051 osg::Group* build(void);
00052 bool update(void);
00053
00054 void setWindProperty(double, double);
00055 void setFreezing(bool);
00056 void setRainIntensity(float);
00057 void setSnowIntensity(float);
00058 };
00059
00060 #endif