14 #ifndef OSGPARTICLE_FLUIDPROGRAM
15 #define OSGPARTICLE_FLUIDPROGRAM 1
17 #include <osgParticle/Export>
18 #include <osgParticle/Program>
23 #include <osg/NodeVisitor>
44 _viscosityCoefficient = 6 *
osg::PI * _viscosity;
54 _densityCoefficient = 0.2f *
osg::PI * _density;
76 inline void setToGravity(
float scale = 1.0f) { _acceleration.set(0, 0, -9.81f*scale); }
82 setFluidDensity(1.2929f);
83 setFluidViscosity(1.8e-5f);
90 setFluidDensity(1.0f);
91 setFluidViscosity(1.002e-3f);
100 virtual void execute(
double dt);
float getFluidViscosity() const
Get the viscosity of the fluid.
void setFluidToAir()
Set the fluid parameters as for air (20°C temperature).
void setAcceleration(const osg::Vec3 &v)
Set the acceleration vector.
#define META_Node(library, name)
float _densityCoefficient
const osg::Vec3 & getWind() const
Get the wind vector.
#define OSGPARTICLE_EXPORT
void setFluidDensity(float d)
Set the density of the fluid.
float getFluidDensity() const
Get the density of the fluid.
void setFluidToWater()
Set the fluid parameters as for pure water (20°C temperature).
void setFluidViscosity(float v)
Set the viscosity of the fluid.
float _viscosityCoefficient
void setToGravity(float scale=1.0f)
void setWind(const osg::Vec3 &wind)
Set the wind vector.
FluidProgram & operator=(const FluidProgram &)
const osg::Vec3 & getAcceleration() const
Get the acceleration vector.