14#ifndef OSGPARTICLE_FLUIDPROGRAM
15#define OSGPARTICLE_FLUIDPROGRAM 1
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);
Definition FluidProgram:33
float getFluidDensity() const
Get the density of the fluid.
Definition FluidProgram:58
virtual void execute(double dt)
Execute the program on the particle system. Must be overridden in descendant classes.
float _density
Definition FluidProgram:104
FluidProgram(const FluidProgram ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
const osg::Vec3 & getWind() const
Get the wind vector.
Definition FluidProgram:65
const osg::Vec3 & getAcceleration() const
Get the acceleration vector.
Definition FluidProgram:71
void setFluidToWater()
Set the fluid parameters as for pure water (20°C temperature).
Definition FluidProgram:87
float getFluidViscosity() const
Get the viscosity of the fluid.
Definition FluidProgram:48
float _densityCoefficient
Definition FluidProgram:108
osg::Vec3 _acceleration
Definition FluidProgram:102
osg::Vec3 _wind
Definition FluidProgram:105
void setAcceleration(const osg::Vec3 &v)
Set the acceleration vector.
Definition FluidProgram:68
virtual ~FluidProgram()
Definition FluidProgram:97
float _viscosity
Definition FluidProgram:103
void setFluidDensity(float d)
Set the density of the fluid.
Definition FluidProgram:51
META_Node(osgParticle, FluidProgram)
void setToGravity(float scale=1.0f)
Definition FluidProgram:76
void setWind(const osg::Vec3 &wind)
Set the wind vector.
Definition FluidProgram:62
void setFluidToAir()
Set the fluid parameters as for air (20°C temperature).
Definition FluidProgram:79
float _viscosityCoefficient
Definition FluidProgram:107
FluidProgram & operator=(const FluidProgram &)
Definition FluidProgram:98
void setFluidViscosity(float v)
Set the viscosity of the fluid.
Definition FluidProgram:41
Definition osgParticle/Program:36
@ SHALLOW_COPY
Definition CopyOp:47
Definition AccelOperator:27
const double PI
Definition Math:30
#define OSGPARTICLE_EXPORT
Definition osgParticle/Export:40