VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
makVrv::DtOsgFluidFrictionOperator Class Reference

Customized OpenSceneGraph particle system operator Rewritten from default fluid friction operator to use correct physics-based approximations. More...

Inheritance diagram for makVrv::DtOsgFluidFrictionOperator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtOsgFluidFrictionOperator ()
 CTOR.
 DtOsgFluidFrictionOperator (const DtOsgFluidFrictionOperator &copy, const osg::CopyOp &copyop=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 DtOsgFluidFrictionOperatorfromOsgFluidFrictionOperator (osgParticle::FluidFrictionOperator *osgOp)
 Generate a fluid friction operator from the osg version.

Protected Member Functions

virtual ~DtOsgFluidFrictionOperator ()
DtOsgFluidFrictionOperatoroperator= (const DtOsgFluidFrictionOperator &)

Private Attributes

float viscosityCoefficient
float densityCoefficient
float _density
float _viscosity
float _ovr_rad
osg::Vec3 _wind
osgParticle::Program * _current_program

Detailed Description

Customized OpenSceneGraph particle system operator Rewritten from default fluid friction operator to use correct physics-based approximations.


Constructor & Destructor Documentation

CTOR.

makVrv::DtOsgFluidFrictionOperator::DtOsgFluidFrictionOperator ( const DtOsgFluidFrictionOperator copy,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)

Copy CTOR.

virtual makVrv::DtOsgFluidFrictionOperator::~DtOsgFluidFrictionOperator ( ) [inline, protected, virtual]

Member Function Documentation

static DtOsgFluidFrictionOperator* makVrv::DtOsgFluidFrictionOperator::fromOsgFluidFrictionOperator ( osgParticle::FluidFrictionOperator *  osgOp) [static]

Generate a fluid friction operator from the osg version.

Set the density of the fluid.

Get the density of the fluid.

Set the viscosity of the fluid.

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.

Set the overriden radius value (pass 0 if you want to use particle's radius).

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]

Member Data Documentation


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)