![]() |
VR-Forces 4.8 Class Documentation
|
Customized OpenSceneGraph particle system operator Rewritten from default fluid friction operator to use correct physics-based approximations. More...

Public Member Functions | |
| DtOsgFluidFrictionOperator () | |
| CTOR. More... | |
| DtOsgFluidFrictionOperator (const DtOsgFluidFrictionOperator ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| Copy CTOR. More... | |
| META_Object (makVrv, DtOsgFluidFrictionOperator) | |
| void | setFluidDensity (float d) |
| Set the density of the fluid. More... | |
| float | getFluidDensity () const |
| Get the density of the fluid. More... | |
| void | setFluidViscosity (float v) |
| Set the viscosity of the fluid. More... | |
| float | getFluidViscosity () const |
| Get the viscosity of the fluid. More... | |
| void | setWind (const osg::Vec3 &wind) |
| Set the wind vector. More... | |
| const osg::Vec3 & | getWind () const |
| Get the wind vector. More... | |
| void | setUp (const osg::Vec3 &up) |
| Set the up vector. More... | |
| const osg::Vec3 & | getUp () const |
| Get the up vector. More... | |
| void | setOverrideRadius (float r) |
| Set the overriden radius value (pass 0 if you want to use particle's radius). More... | |
| float | getOverrideRadius () const |
| Get the overriden radius value. More... | |
| void | setFluidToAir () |
| Set the fluid parameters as for air (20°C temperature). More... | |
| void | setFluidToWater () |
| Set the fluid parameters as for pure water (20°C temperature). More... | |
| void | operate (osgParticle::Particle *P, double dt) |
| Apply the friction forces to a particle. Do not call this method manually. More... | |
| void | beginOperate (osgParticle::Program *prg) |
| Perform some initializations. Do not call this method manually. More... | |
Static Public Member Functions | |
| static DtOsgFluidFrictionOperator * | fromOsgFluidFrictionOperator (osgParticle::FluidFrictionOperator *osgOp) |
| Generate a fluid friction operator from the osg version. More... | |
Protected Member Functions | |
| virtual | ~DtOsgFluidFrictionOperator () |
| DtOsgFluidFrictionOperator & | operator= (const DtOsgFluidFrictionOperator &) |
Private Attributes | |
| float | viscosityCoefficient |
| float | densityCoefficient |
| float | _density |
| float | _viscosity |
| float | _ovr_rad |
| osg::Vec3 | _wind |
| osg::Vec3 | _up |
| osgParticle::Program * | _current_program |
Customized OpenSceneGraph particle system operator Rewritten from default fluid friction operator to use correct physics-based approximations.
| makVrv::DtOsgFluidFrictionOperator::DtOsgFluidFrictionOperator | ( | ) |
CTOR.
| makVrv::DtOsgFluidFrictionOperator::DtOsgFluidFrictionOperator | ( | const DtOsgFluidFrictionOperator & | copy, |
| const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
| ) |
Copy CTOR.
|
inlineprotectedvirtual |
|
static |
Generate a fluid friction operator from the osg version.
| makVrv::DtOsgFluidFrictionOperator::META_Object | ( | makVrv | , |
| DtOsgFluidFrictionOperator | |||
| ) |
| void makVrv::DtOsgFluidFrictionOperator::setFluidDensity | ( | float | d | ) |
Set the density of the fluid.
| float makVrv::DtOsgFluidFrictionOperator::getFluidDensity | ( | ) | const |
Get the density of the fluid.
| void makVrv::DtOsgFluidFrictionOperator::setFluidViscosity | ( | float | v | ) |
Set the viscosity of the fluid.
| float makVrv::DtOsgFluidFrictionOperator::getFluidViscosity | ( | ) | const |
Get the viscosity of the fluid.
|
inline |
Set the wind vector.
|
inline |
Get the wind vector.
|
inline |
Set the up vector.
|
inline |
Get the up vector.
| void makVrv::DtOsgFluidFrictionOperator::setOverrideRadius | ( | float | r | ) |
Set the overriden radius value (pass 0 if you want to use particle's radius).
| float makVrv::DtOsgFluidFrictionOperator::getOverrideRadius | ( | ) | const |
Get the overriden radius value.
| void makVrv::DtOsgFluidFrictionOperator::setFluidToAir | ( | ) |
Set the fluid parameters as for air (20°C temperature).
| void makVrv::DtOsgFluidFrictionOperator::setFluidToWater | ( | ) |
Set the fluid parameters as for pure water (20°C temperature).
| void makVrv::DtOsgFluidFrictionOperator::operate | ( | osgParticle::Particle * | P, |
| double | dt | ||
| ) |
Apply the friction forces to a particle. Do not call this method manually.
| void makVrv::DtOsgFluidFrictionOperator::beginOperate | ( | osgParticle::Program * | prg | ) |
Perform some initializations. Do not call this method manually.
|
inlineprotected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |