VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | 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.

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

Public Member Functions

 DtOsgFluidFrictionOperator ()
 
 DtOsgFluidFrictionOperator (const DtOsgFluidFrictionOperator &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 
 META_Object (makVrv, DtOsgFluidFrictionOperator)
 
void setFluidDensity (float d)
 
float getFluidDensity () const
 
void setFluidViscosity (float v)
 
float getFluidViscosity () const
 
void setWind (const osg::Vec3 &wind)
 
const osg::Vec3 & getWind () const
 
void setUp (const osg::Vec3 &up)
 
const osg::Vec3 & getUp () const
 
void setOverrideRadius (float r)
 
float getOverrideRadius () const
 
void setFluidToAir ()
 
void setFluidToWater ()
 
void operate (osgParticle::Particle *P, double dt)
 
void beginOperate (osgParticle::Program *prg)
 

Static Public Member Functions

static DtOsgFluidFrictionOperatorfromOsgFluidFrictionOperator (osgParticle::FluidFrictionOperator *osgOp)
 

Protected Member Functions

virtual ~DtOsgFluidFrictionOperator ()
 
DtOsgFluidFrictionOperatoroperator= (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
 

Constructor & Destructor Documentation

makVrv::DtOsgFluidFrictionOperator::DtOsgFluidFrictionOperator ( )

CTOR.

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

Copy CTOR.

virtual makVrv::DtOsgFluidFrictionOperator::~DtOsgFluidFrictionOperator ( )
inlineprotectedvirtual

Member Function Documentation

static DtOsgFluidFrictionOperator* makVrv::DtOsgFluidFrictionOperator::fromOsgFluidFrictionOperator ( osgParticle::FluidFrictionOperator *  osgOp)
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.

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::setUp ( const osg::Vec3 &  up)
inline

Set the up vector.

const osg::Vec3& makVrv::DtOsgFluidFrictionOperator::getUp ( void  ) const
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.

DtOsgFluidFrictionOperator& makVrv::DtOsgFluidFrictionOperator::operator= ( const DtOsgFluidFrictionOperator )
inlineprotected

Member Data Documentation

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
osg::Vec3 makVrv::DtOsgFluidFrictionOperator::_up
private
osgParticle::Program* makVrv::DtOsgFluidFrictionOperator::_current_program
private

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)