class OSGPARTICLE_EXPORT osgParticle::ParticleProcessor

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

Inheritance:


Public Classes

[more]enum ReferenceFrame

Public Methods

[more] ParticleProcessor()
[more] ParticleProcessor(const ParticleProcessor &copy, const osg::CopyOp &copyop = osg::CopyOp::SHALLOW_COPY)
[more]virtual const char* libraryName() const
[more]virtual const char* className() const
[more]virtual bool isSameKindAs(const osg::Object* obj) const
[more]virtual void accept(osg::NodeVisitor& nv)
[more]inline ReferenceFrame getReferenceFrame() const
Get the reference frame
[more]void traverse(osg::NodeVisitor &nv)
[more]inline ParticleProcessor::ReferenceFrame getReferenceFrame() const
[more]inline void setReferenceFrame(ReferenceFrame rf)
Set the reference frame
[more]inline bool isEnabled() const
Get whether this processor is enabled or not
[more]inline void setEnabled(bool v)
Set whether this processor is enabled or not
[more]inline ParticleSystem* getParticleSystem()
Get a pointer to the destination particle system
[more]inline const ParticleSystem* getParticleSystem() const
Get a const pointer to the destination particle system
[more]inline void setParticleSystem(ParticleSystem* ps)
Set the destination particle system
[more]inline void setEndless(bool type)
Set the endless flag of this processor
[more]inline bool isEndless() const
Check whether this processor is endless
[more]inline void setLifeTime(double t)
Set the lifetime of this processor
[more]inline double getLifeTime() const
Get the lifetime of this processor
[more]inline void setStartTime(double t)
Set the start time of this processor
[more]inline double getStartTime() const
Get the start time of this processor
[more]inline void setCurrentTime(double t)
Set the current time of this processor
[more]inline double getCurrentTime() const
Get the current time of this processor
[more]inline void setResetTime(double t)
Set the reset time of this processor.
[more]inline double getResetTime() const
Get the reset time of this processor
[more]inline bool computeBound() const
[more]inline const osg::Matrix& getLocalToWorldMatrix()
Get the current local-to-world transformation matrix (valid only during cull traversal)
[more]inline const osg::Matrix& getWorldToLocalMatrix()
Get the current world-to-local transformation matrix (valid only during cull traversal)
[more]inline osg::Vec3 transformLocalToWorld(const osg::Vec3 &P)
Transform a point from local to world coordinates (valid only during cull traversal)
[more]inline osg::Vec3 transformWorldToLocal(const osg::Vec3 &P)
Transform a point from world to local coordinates (valid only during cull traversal)
[more]inline osg::Vec3 rotateLocalToWorld(const osg::Vec3 &P)
Transform a vector from local to world coordinates, discarding translation (valid only during cull traversal)
[more]inline osg::Vec3 rotateWorldToLocal(const osg::Vec3 &P)
Transform a vector from world to local coordinates, discarding translation (valid only during cull traversal)
[more]inline bool isAlive() const
Check whether the processor is alive with respect to start time and life duration.

Protected Methods

[more]virtual ~ParticleProcessor()
[more]ParticleProcessor& operator=(const ParticleProcessor &)
[more]virtual void process(double dt)


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.
oenum ReferenceFrame

o RELATIVE_TO_PARENTS

o RELATIVE_TO_ABSOLUTE

o ParticleProcessor()

o ParticleProcessor(const ParticleProcessor &copy, const osg::CopyOp &copyop = osg::CopyOp::SHALLOW_COPY)

ovirtual const char* libraryName() const

ovirtual const char* className() const

ovirtual bool isSameKindAs(const osg::Object* obj) const

ovirtual void accept(osg::NodeVisitor& nv)

oinline ReferenceFrame getReferenceFrame() const
Get the reference frame

ovoid traverse(osg::NodeVisitor &nv)

ovirtual ~ParticleProcessor()

oParticleProcessor& operator=(const ParticleProcessor &)

ovirtual void process(double dt)

oinline ParticleProcessor::ReferenceFrame getReferenceFrame() const

oinline void setReferenceFrame(ReferenceFrame rf)
Set the reference frame

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

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

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

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

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

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

oinline bool isEndless() const
Check whether this processor is endless

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

oinline double getLifeTime() const
Get the lifetime of this processor

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

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

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

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

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

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

oinline bool computeBound() const

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

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

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

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

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

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

oinline bool isAlive() const
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()).


Direct child classes:
Program
Emitter

Alphabetic index HTML hierarchy of classes or Java



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