OSG
3.4.0
|
#include <Operator.h>
Public Member Functions | |
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 | operate (Particle *P, double dt)=0 |
virtual void | beginOperate (Program *) |
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 | ~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 abstract base class used by ModularProgram
to perform operations on particles before they are updated. To implement a new operator, derive from this class and override the operate()
method. You should also override the beginOperate()
method to query the calling program for the reference frame used, and initialize the right transformations if needed.
Definition at line 35 of file Operator.h.
|
inline |
Definition at line 92 of file Operator.h.
|
inline |
Definition at line 97 of file Operator.h.
|
inlineprotectedvirtual |
Definition at line 83 of file Operator.h.
|
inlinevirtual |
Do something before processing particles via the operate()
method. Overriding this method could be necessary to query the calling Program
object for the current reference frame. If the reference frame is RELATIVE_RF, then your class should prepare itself to do all operations in local coordinates.
Reimplemented in osgParticle::DomainOperator, osgParticle::ExplosionOperator, osgParticle::FluidFrictionOperator, osgParticle::OrbitOperator, osgParticle::SinkOperator, osgParticle::AccelOperator, osgParticle::ForceOperator, and osgParticle::AngularAccelOperator.
Definition at line 77 of file Operator.h.
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Implements osg::Object.
Definition at line 41 of file Operator.h.
|
inlinevirtual |
Do something after all particles have been processed.
Reimplemented in osgParticle::DomainOperator.
Definition at line 80 of file Operator.h.
|
inline |
Get whether this operator is enabled.
Definition at line 102 of file Operator.h.
|
inlinevirtual |
Reimplemented from osg::Object.
Definition at line 42 of file Operator.h.
|
inlinevirtual |
return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Implements osg::Object.
Definition at line 40 of file Operator.h.
|
pure virtual |
Do something on a particle. You must override it in descendant classes. Common operations consist of modifying the particle's velocity vector. The dt
parameter is the time elapsed from last operation.
Implemented in osgParticle::DomainOperator, osgParticle::ExplosionOperator, osgParticle::FluidFrictionOperator, osgParticle::OrbitOperator, osgParticle::AngularDampingOperator, osgParticle::DampingOperator, osgParticle::AccelOperator, osgParticle::ForceOperator, and osgParticle::AngularAccelOperator.
|
inlinevirtual |
Do something on all emitted particles. This method is called by ModularProgram
objects to perform some operations on the particles. By default, it will call the operate()
method for each particle. You must override it in descendant classes.
Definition at line 55 of file Operator.h.
Definition at line 84 of file Operator.h.
|
inline |
Enable or disable this operator.
Definition at line 107 of file Operator.h.