## class OSGPARTICLE_EXPORT osgParticle::ParticleProcessor

> A common base interface for those classes which need to do something on particles.

## Inheritance:

### Public Methods

ParticleProcessor()
ParticleProcessor(const ParticleProcessor &copy, const osg::CopyOp &copyop = 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)
inline ReferenceFrame getReferenceFrame() const
  Get the reference frame
void traverse(osg::NodeVisitor &nv)
inline ParticleProcessor::ReferenceFrame getReferenceFrame() const
inline void setReferenceFrame(ReferenceFrame rf)
  Set the reference frame
inline bool isEnabled() const
  Get whether this processor is enabled or not
inline void setEnabled(bool v)
  Set whether this processor is enabled or not
inline ParticleSystem* getParticleSystem()
  Get a pointer to the destination particle system
inline const ParticleSystem* getParticleSystem() const
  Get a const pointer to the destination particle system
inline void setParticleSystem(ParticleSystem* ps)
  Set the destination particle system
inline void setEndless(bool type)
  Set the endless flag of this processor
inline bool isEndless() const
  Check whether this processor is endless
inline void setLifeTime(double t)
  Set the lifetime of this processor
inline double getLifeTime() const
  Get the lifetime of this processor
inline void setStartTime(double t)
  Set the start time of this processor
inline double getStartTime() const
  Get the start time of this processor
inline void setCurrentTime(double t)
  Set the current time of this processor
inline double getCurrentTime() const
  Get the current time of this processor
inline void setResetTime(double t)
  Set the reset time of this processor.
inline double getResetTime() const
  Get the reset time of this processor
inline bool computeBound() const
inline const osg::Matrix& getLocalToWorldMatrix()
  Get the current local-to-world transformation matrix (valid only during cull traversal)
inline const osg::Matrix& getWorldToLocalMatrix()
  Get the current world-to-local transformation matrix (valid only during cull traversal)
inline osg::Vec3 transformLocalToWorld(const osg::Vec3 &P)
  Transform a point from local to world coordinates (valid only during cull traversal)
inline osg::Vec3 transformWorldToLocal(const osg::Vec3 &P)
  Transform a point from world to local coordinates (valid only during cull traversal)
inline osg::Vec3 rotateLocalToWorld(const osg::Vec3 &P)
  Transform a vector from local to world coordinates, discarding translation (valid only during cull traversal)
inline osg::Vec3 rotateWorldToLocal(const osg::Vec3 &P)
  Transform a vector from world to local coordinates, discarding translation (valid only during cull traversal)

### Public Members

enum ReferenceFrame

### Protected Methods

virtual ~ParticleProcessor()
ParticleProcessor& operator=(const ParticleProcessor &)
virtual void process(double dt) = 0

## Documentation

> 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.``

`enum ReferenceFrame`

`RELATIVE_TO_PARENTS`

`RELATIVE_TO_ABSOLUTE`

`ParticleProcessor()`

`ParticleProcessor(const ParticleProcessor &copy, const osg::CopyOp &copyop = 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)`

`inline ReferenceFrame getReferenceFrame() const`
  Get the reference frame

`void traverse(osg::NodeVisitor &nv)`

`virtual ~ParticleProcessor()`

`ParticleProcessor& operator=(const ParticleProcessor &)`

`virtual void process(double dt) = 0`

`inline ParticleProcessor::ReferenceFrame getReferenceFrame() const`

`inline void setReferenceFrame(ReferenceFrame rf)`
  Set the reference frame

`inline bool isEnabled() const`
  Get whether this processor is enabled or not

`inline void setEnabled(bool v)`
  Set whether this processor is enabled or not

`inline ParticleSystem* getParticleSystem()`
  Get a pointer to the destination particle system

`inline const ParticleSystem* getParticleSystem() const`
  Get a const pointer to the destination particle system

`inline void setParticleSystem(ParticleSystem* ps)`
  Set the destination particle system

`inline void setEndless(bool type)`
  Set the endless flag of this processor

`inline bool isEndless() const`
  Check whether this processor is endless

`inline void setLifeTime(double t)`
  Set the lifetime of this processor

`inline double getLifeTime() const`
  Get the lifetime of this processor

`inline void setStartTime(double t)`
  Set the start time of this processor

`inline double getStartTime() const`
  Get the start time of this processor

`inline void setCurrentTime(double t)`
  Set the current time of this processor

`inline double getCurrentTime() const`
  Get the current time of this processor

`inline void setResetTime(double t)`
  Set the reset time of this processor. A value of 0 disables reset.

`inline double getResetTime() const`
  Get the reset time of this processor

`inline bool computeBound() const`

`inline const osg::Matrix& getLocalToWorldMatrix()`
  Get the current local-to-world transformation matrix (valid only during cull traversal)

`inline const osg::Matrix& getWorldToLocalMatrix()`
  Get the current world-to-local transformation matrix (valid only during cull traversal)

`inline osg::Vec3 transformLocalToWorld(const osg::Vec3 &P)`
  Transform a point from local to world coordinates (valid only during cull traversal)

`inline osg::Vec3 transformWorldToLocal(const osg::Vec3 &P)`
  Transform a point from world to local coordinates (valid only during cull traversal)

`inline osg::Vec3 rotateLocalToWorld(const osg::Vec3 &P)`
  Transform a vector from local to world coordinates, discarding translation (valid only during cull traversal)

`inline osg::Vec3 rotateWorldToLocal(const osg::Vec3 &P)`
  Transform a vector from world to local coordinates, discarding translation (valid only during cull traversal)

Direct child classes:
  Program
  Emitter

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.