openscenegraph
|
#include <Operator>
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. | |
void | setEnabled (bool v) |
Enable or disable this operator. | |
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. | |
![]() | |
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 | ~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 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.
|
inline |
|
inline |
|
inlineprotectedvirtual |
|
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::AccelOperator, osgParticle::AngularAccelOperator, osgParticle::DomainOperator, osgParticle::ExplosionOperator, osgParticle::FluidFrictionOperator, osgParticle::ForceOperator, osgParticle::OrbitOperator, and osgParticle::SinkOperator.
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Implements osg::Object.
|
inlinevirtual |
Do something after all particles have been processed.
Reimplemented in osgParticle::DomainOperator.
|
inline |
Get whether this operator is enabled.
|
inlinevirtual |
Reimplemented from osg::Object.
|
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.
|
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::AccelOperator, osgParticle::AngularAccelOperator, osgParticle::AngularDampingOperator, osgParticle::DampingOperator, osgParticle::DomainOperator, osgParticle::ExplosionOperator, osgParticle::FluidFrictionOperator, osgParticle::ForceOperator, and osgParticle::OrbitOperator.
|
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.
|
inline |
Enable or disable this operator.