openscenegraph
|
#include <FluidFrictionOperator>
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. | |
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 (Particle *P, double dt) |
Apply the friction forces to a particle. Do not call this method manually. | |
void | beginOperate (Program *prg) |
Perform some initializations. Do not call this method manually. | |
![]() | |
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. | |
void | setEnabled (bool v) |
Enable or disable this operator. | |
virtual void | operateParticles (ParticleSystem *ps, double dt) |
virtual void | endOperate () |
Do something after all particles have been processed. | |
![]() | |
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 StateSet * | asStateSet () |
virtual const StateSet * | asStateSet () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual Camera * | asCamera () |
virtual const Camera * | asCamera () const |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual Callback * | asCallback () |
virtual const Callback * | asCallback () const |
virtual CallbackObject * | asCallbackObject () |
virtual const CallbackObject * | asCallbackObject () const |
virtual UserDataContainer * | asUserDataContainer () |
virtual const UserDataContainer * | asUserDataContainer () const |
virtual ValueObject * | asValueObject () |
virtual const ValueObject * | asValueObject () const |
virtual Image * | asImage () |
virtual const Image * | asImage () 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) |
template<class T > | |
void | setUserDataContainer (const ref_ptr< T > &udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
template<class T > | |
void | setUserData (const ref_ptr< T > &ud) |
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 | 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.
osgParticle::FluidFrictionOperator::FluidFrictionOperator | ( | ) |
osgParticle::FluidFrictionOperator::FluidFrictionOperator | ( | const FluidFrictionOperator & | copy, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
inlineprotectedvirtual |
|
inlinevirtual |
Perform some initializations. Do not call this method manually.
Reimplemented from osgParticle::Operator.
|
inline |
Get the density of the fluid.
|
inline |
Get the viscosity of the fluid.
|
inline |
Get the overriden radius value.
|
inline |
Get the wind vector.
osgParticle::FluidFrictionOperator::META_Object | ( | osgParticle | , |
FluidFrictionOperator | |||
) |
|
virtual |
Apply the friction forces to a particle. Do not call this method manually.
Implements osgParticle::Operator.
|
inlineprotected |
|
inline |
Set the density of the fluid.
|
inline |
Set the fluid parameters as for air (20°C temperature).
|
inline |
Set the fluid parameters as for pure water (20°C temperature).
|
inline |
Set the viscosity of the fluid.
|
inline |
Set the overriden radius value (pass 0 if you want to use particle's radius).
|
inline |
Set the wind vector.