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