OSG
3.4.0
|
#include <ParticleProcessor.h>
Public Types | |
enum | ReferenceFrame { RELATIVE_RF, ABSOLUTE_RF } |
![]() | |
typedef std::vector< Group * > | ParentList |
typedef unsigned int | NodeMask |
typedef std::vector< std::string > | DescriptionList |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
ParticleProcessor () | |
ParticleProcessor (const ParticleProcessor ©, 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 |
virtual void | accept (osg::NodeVisitor &nv) |
ReferenceFrame | getReferenceFrame () const |
Get the reference frame. More... | |
void | setReferenceFrame (ReferenceFrame rf) |
Set the reference frame. More... | |
bool | getEnabled () const |
Get whether this processor is enabled or not. More... | |
bool | isEnabled () const |
void | setEnabled (bool v) |
Set whether this processor is enabled or not. More... | |
ParticleSystem * | getParticleSystem () |
Get a pointer to the destination particle system. More... | |
const ParticleSystem * | getParticleSystem () const |
Get a const pointer to the destination particle system. More... | |
void | setParticleSystem (ParticleSystem *ps) |
Set the destination particle system. More... | |
void | setEndless (bool type) |
Set the endless flag of this processor. More... | |
bool | getEndless () const |
Check whether this processor is endless. More... | |
bool | isEndless () const |
void | setLifeTime (double t) |
Set the lifetime of this processor. More... | |
double | getLifeTime () const |
Get the lifetime of this processor. More... | |
void | setStartTime (double t) |
Set the start time of this processor. More... | |
double | getStartTime () const |
Get the start time of this processor. More... | |
void | setCurrentTime (double t) |
Set the current time of this processor. More... | |
double | getCurrentTime () const |
Get the current time of this processor. More... | |
void | setResetTime (double t) |
Set the reset time of this processor. A value of 0 disables reset. More... | |
double | getResetTime () const |
Get the reset time of this processor. More... | |
bool | isAlive () const |
void | traverse (osg::NodeVisitor &nv) |
const osg::Matrix & | getLocalToWorldMatrix () |
Get the current local-to-world transformation matrix (valid only during cull traversal). More... | |
const osg::Matrix & | getWorldToLocalMatrix () |
Get the current world-to-local transformation matrix (valid only during cull traversal). More... | |
const osg::Matrix & | getPreviousLocalToWorldMatrix () |
Get the previous local-to-world transformation matrix (valid only during cull traversal). More... | |
const osg::Matrix & | getPreviousWorldToLocalMatrix () |
Get the previous world-to-local transformation matrix (valid only during cull traversal). More... | |
osg::Vec3 | transformLocalToWorld (const osg::Vec3 &P) |
Transform a point from local to world coordinates (valid only during cull traversal). More... | |
osg::Vec3 | rotateLocalToWorld (const osg::Vec3 &P) |
Transform a vector from local to world coordinates, discarding translation (valid only during cull traversal). More... | |
osg::Vec3 | transformWorldToLocal (const osg::Vec3 &P) |
Transform a point from world to local coordinates (valid only during cull traversal). More... | |
osg::Vec3 | rotateWorldToLocal (const osg::Vec3 &P) |
Transform a vector from world to local coordinates, discarding translation (valid only during cull traversal). More... | |
virtual osg::BoundingSphere | computeBound () const |
![]() | |
Node () | |
Node (const Node &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const |
virtual Object * | clone (const CopyOp ©op) const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual Geometry * | asGeometry () |
virtual const Geometry * | asGeometry () const |
virtual Group * | asGroup () |
virtual const Group * | asGroup () const |
virtual Transform * | asTransform () |
virtual const Transform * | asTransform () const |
virtual Camera * | asCamera () |
virtual const Camera * | asCamera () const |
virtual Switch * | asSwitch () |
virtual const Switch * | asSwitch () const |
virtual Geode * | asGeode () |
virtual const Geode * | asGeode () const |
virtual osgTerrain::Terrain * | asTerrain () |
virtual const osgTerrain::Terrain * | asTerrain () const |
virtual void | ascend (NodeVisitor &nv) |
const ParentList & | getParents () const |
ParentList | getParents () |
Group * | getParent (unsigned int i) |
const Group * | getParent (unsigned int i) const |
unsigned int | getNumParents () const |
NodePathList | getParentalNodePaths (osg::Node *haltTraversalAtNode=0) const |
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
void | setUpdateCallback (Callback *nc) |
Callback * | getUpdateCallback () |
const Callback * | getUpdateCallback () const |
void | addUpdateCallback (Callback *nc) |
void | removeUpdateCallback (Callback *nc) |
unsigned int | getNumChildrenRequiringUpdateTraversal () const |
void | setEventCallback (Callback *nc) |
Callback * | getEventCallback () |
const Callback * | getEventCallback () const |
void | addEventCallback (Callback *nc) |
void | removeEventCallback (Callback *nc) |
unsigned int | getNumChildrenRequiringEventTraversal () const |
void | setCullCallback (Callback *nc) |
Callback * | getCullCallback () |
const Callback * | getCullCallback () const |
void | addCullCallback (Callback *nc) |
void | removeCullCallback (Callback *nc) |
void | setCullingActive (bool active) |
bool | getCullingActive () const |
unsigned int | getNumChildrenWithCullingDisabled () const |
bool | isCullingActive () const |
unsigned int | getNumChildrenWithOccluderNodes () const |
bool | containsOccluderNodes () const |
void | setNodeMask (NodeMask nm) |
NodeMask | getNodeMask () const |
void | setStateSet (osg::StateSet *stateset) |
osg::StateSet * | getOrCreateStateSet () |
osg::StateSet * | getStateSet () |
const osg::StateSet * | getStateSet () const |
void | setDescriptions (const DescriptionList &descriptions) |
DescriptionList & | getDescriptions () |
const DescriptionList & | getDescriptions () const |
const std::string & | getDescription (unsigned int i) const |
std::string & | getDescription (unsigned int i) |
unsigned int | getNumDescriptions () const |
void | addDescription (const std::string &desc) |
void | setInitialBound (const osg::BoundingSphere &bsphere) |
const BoundingSphere & | getInitialBound () const |
void | dirtyBound () |
const BoundingSphere & | getBound () const |
void | setComputeBoundingSphereCallback (ComputeBoundingSphereCallback *callback) |
ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () |
const ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (osg::State *=0) const |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
std::string | getCompoundClassName () 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 | 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) |
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 | ~ParticleProcessor () |
ParticleProcessor & | operator= (const ParticleProcessor &) |
virtual void | process (double dt)=0 |
![]() | |
virtual | ~Node () |
void | addParent (osg::Group *parent) |
void | removeParent (osg::Group *parent) |
void | setNumChildrenRequiringUpdateTraversal (unsigned int num) |
void | setNumChildrenRequiringEventTraversal (unsigned int num) |
void | setNumChildrenWithCullingDisabled (unsigned int num) |
void | setNumChildrenWithOccluderNodes (unsigned int num) |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
A common base interface for those classes which need to do something on particles. Such classes are, for example, Emitter (particle generation) and Program (particle animation). This class holds some properties, like a reference frame and a reference to a ParticleSystem; descendant classes should process the particles taking into account the reference frame, computing the right transformations when needed.
Definition at line 38 of file ParticleProcessor.h.
Enumerator | |
---|---|
RELATIVE_RF | |
ABSOLUTE_RF |
Definition at line 41 of file ParticleProcessor.h.
osgParticle::ParticleProcessor::ParticleProcessor | ( | ) |
osgParticle::ParticleProcessor::ParticleProcessor | ( | const ParticleProcessor & | copy, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
inlineprotectedvirtual |
Definition at line 146 of file ParticleProcessor.h.
|
inlinevirtual |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
Reimplemented from osg::Node.
Reimplemented in osgParticle::Program, and osgParticle::Emitter.
Definition at line 52 of file ParticleProcessor.h.
|
inlinevirtual |
return the name of the node's class type.
Reimplemented from osg::Node.
Reimplemented in osgParticle::Program, and osgParticle::Emitter.
Definition at line 50 of file ParticleProcessor.h.
|
virtual |
Compute the bounding sphere around Node's geometry or children. This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound().
Reimplemented from osg::Node.
|
inline |
Get the current time of this processor.
Definition at line 253 of file ParticleProcessor.h.
|
inline |
Get whether this processor is enabled or not.
Definition at line 61 of file ParticleProcessor.h.
|
inline |
Check whether this processor is endless.
Definition at line 80 of file ParticleProcessor.h.
|
inline |
Get the lifetime of this processor.
Definition at line 234 of file ParticleProcessor.h.
|
inline |
Get the current local-to-world transformation matrix (valid only during cull traversal).
Definition at line 268 of file ParticleProcessor.h.
|
inline |
Get a pointer to the destination particle system.
Definition at line 204 of file ParticleProcessor.h.
|
inline |
Get a const pointer to the destination particle system.
Definition at line 209 of file ParticleProcessor.h.
|
inline |
Get the previous local-to-world transformation matrix (valid only during cull traversal).
Definition at line 298 of file ParticleProcessor.h.
|
inline |
Get the previous world-to-local transformation matrix (valid only during cull traversal).
Definition at line 304 of file ParticleProcessor.h.
|
inline |
Get the reference frame.
Definition at line 180 of file ParticleProcessor.h.
|
inline |
Get the reset time of this processor.
Definition at line 263 of file ParticleProcessor.h.
|
inline |
Get the start time of this processor.
Definition at line 244 of file ParticleProcessor.h.
|
inline |
Get the current world-to-local transformation matrix (valid only during cull traversal).
Definition at line 283 of file ParticleProcessor.h.
|
inline |
Check whether the processor is alive with respect to start time and life duration. Note that this method may return true even if the processor has been disabled by calling setEnabled(false). To test whether the processor is actually processing particles or not, you should evaluate (isEnabled() && isAlive()).
Definition at line 332 of file ParticleProcessor.h.
|
inline |
Definition at line 190 of file ParticleProcessor.h.
|
inline |
Definition at line 224 of file ParticleProcessor.h.
|
inlinevirtual |
return true if this and obj are of the same kind of object.
Reimplemented from osg::Node.
Reimplemented in osgParticle::Program, and osgParticle::Emitter.
Definition at line 51 of file ParticleProcessor.h.
|
inlinevirtual |
return the name of the node's library.
Reimplemented from osg::Node.
Reimplemented in osgParticle::Program, and osgParticle::Emitter.
Definition at line 49 of file ParticleProcessor.h.
|
inlineprotected |
Definition at line 147 of file ParticleProcessor.h.
|
protectedpure virtual |
Implemented in osgParticle::Emitter, and osgParticle::Program.
Transform a vector from local to world coordinates, discarding translation (valid only during cull traversal).
Definition at line 320 of file ParticleProcessor.h.
Transform a vector from world to local coordinates, discarding translation (valid only during cull traversal).
Definition at line 326 of file ParticleProcessor.h.
|
inline |
Set the current time of this processor.
Definition at line 248 of file ParticleProcessor.h.
|
inline |
Set whether this processor is enabled or not.
Definition at line 195 of file ParticleProcessor.h.
|
inline |
Set the endless flag of this processor.
Definition at line 219 of file ParticleProcessor.h.
|
inline |
Set the lifetime of this processor.
Definition at line 229 of file ParticleProcessor.h.
|
inline |
Set the destination particle system.
Definition at line 214 of file ParticleProcessor.h.
|
inline |
Set the reference frame.
Definition at line 185 of file ParticleProcessor.h.
|
inline |
Set the reset time of this processor. A value of 0 disables reset.
Definition at line 258 of file ParticleProcessor.h.
|
inline |
Set the start time of this processor.
Definition at line 239 of file ParticleProcessor.h.
Transform a point from local to world coordinates (valid only during cull traversal).
Definition at line 310 of file ParticleProcessor.h.
Transform a point from world to local coordinates (valid only during cull traversal).
Definition at line 315 of file ParticleProcessor.h.
|
virtual |
Traverse downwards : calls children's accept method with NodeVisitor.
Reimplemented from osg::Node.