OSG
3.4.0
|
#include <FluidFrictionOperator.h>
Public Member Functions | |
FluidFrictionOperator () | |
FluidFrictionOperator (const FluidFrictionOperator ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Object (osgParticle, FluidFrictionOperator) | |
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 | 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 (Particle *P, double dt) |
Apply the friction forces to a particle. Do not call this method manually. More... | |
void | beginOperate (Program *prg) |
Perform some initializations. Do not call this method manually. More... | |
![]() | |
Operator () | |
Operator (const Operator ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
virtual const char * | libraryName () const |
virtual const char * | className () const |
virtual bool | isSameKindAs (const osg::Object *obj) const |
bool | isEnabled () const |
Get whether this operator is enabled. More... | |
void | setEnabled (bool v) |
Enable or disable this operator. More... | |
virtual void | operateParticles (ParticleSystem *ps, double dt) |
virtual void | endOperate () |
Do something after all particles have been processed. More... | |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
std::string | getCompoundClassName () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > | |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > | |
void | setUserValue (const std::string &name, const T &value) |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (osg::State *=0) const |
template<typename T > | |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
Protected Member Functions | |
virtual | ~FluidFrictionOperator () |
FluidFrictionOperator & | operator= (const FluidFrictionOperator &) |
![]() | |
virtual | ~Operator () |
Operator & | operator= (const Operator &) |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
Additional Inherited Members | |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
static bool | getThreadSafeReferenceCounting () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
An operator that simulates the friction of a fluid. By using this operator you can let the particles move in a fluid of a given density and viscosity. There are two functions to quickly setup the parameters for pure water and air. You can decide whether to compute the forces using the particle's physical radius or another value, by calling the setOverrideRadius()
method.
Definition at line 36 of file FluidFrictionOperator.h.
osgParticle::FluidFrictionOperator::FluidFrictionOperator | ( | ) |
osgParticle::FluidFrictionOperator::FluidFrictionOperator | ( | const FluidFrictionOperator & | copy, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
inlineprotectedvirtual |
Definition at line 81 of file FluidFrictionOperator.h.
|
inlinevirtual |
Perform some initializations. Do not call this method manually.
Reimplemented from osgParticle::Operator.
Definition at line 140 of file FluidFrictionOperator.h.
|
inline |
Get the density of the fluid.
Definition at line 96 of file FluidFrictionOperator.h.
|
inline |
Get the viscosity of the fluid.
Definition at line 101 of file FluidFrictionOperator.h.
|
inline |
Get the overriden radius value.
Definition at line 130 of file FluidFrictionOperator.h.
|
inline |
Get the wind vector.
Definition at line 60 of file FluidFrictionOperator.h.
osgParticle::FluidFrictionOperator::META_Object | ( | osgParticle | , |
FluidFrictionOperator | |||
) |
|
virtual |
Apply the friction forces to a particle. Do not call this method manually.
Implements osgParticle::Operator.
|
inlineprotected |
Definition at line 82 of file FluidFrictionOperator.h.
|
inline |
Set the density of the fluid.
Definition at line 106 of file FluidFrictionOperator.h.
|
inline |
Set the fluid parameters as for air (20°C temperature).
Definition at line 118 of file FluidFrictionOperator.h.
|
inline |
Set the fluid parameters as for pure water (20°C temperature).
Definition at line 124 of file FluidFrictionOperator.h.
|
inline |
Set the viscosity of the fluid.
Definition at line 112 of file FluidFrictionOperator.h.
|
inline |
Set the overriden radius value (pass 0 if you want to use particle's radius).
Definition at line 135 of file FluidFrictionOperator.h.
|
inline |
Set the wind vector.
Definition at line 57 of file FluidFrictionOperator.h.