class OSGPARTICLE_EXPORT osgParticle::Program

An abstract ParticleProcessor descendant for modifying particles "on the fly" during the cull traversal.

Inheritance:


Public Methods

[more] Program()
[more] Program(const Program &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 void process(double dt)
Implementation of ParticleProcessor::process().

Protected Methods

[more]virtual ~Program()
[more]Program& operator=(const Program &)
[more]virtual void execute(double dt) = 0
Execute the program on the particle system.


Inherited from ParticleProcessor:

Public Methods

oinline ReferenceFrame getReferenceFrame() const
ovoid traverse(osg::NodeVisitor &nv)
oinline ParticleProcessor::ReferenceFrame getReferenceFrame() const
oinline void setReferenceFrame(ReferenceFrame rf)
oinline bool isEnabled() const
oinline void setEnabled(bool v)
oinline ParticleSystem* getParticleSystem()
oinline const ParticleSystem* getParticleSystem() const
oinline void setParticleSystem(ParticleSystem* ps)
oinline const bool computeBound() const
oinline const osg::Matrix& getLocalToWorldMatrix()
oinline const osg::Matrix& getWorldToLocalMatrix()
oinline osg::Vec3 transformLocalToWorld(const osg::Vec3 &P)
oinline osg::Vec3 transformWorldToLocal(const osg::Vec3 &P)
oinline osg::Vec3 rotateLocalToWorld(const osg::Vec3 &P)
oinline osg::Vec3 rotateWorldToLocal(const osg::Vec3 &P)

Public Members

oenum ReferenceFrame


Documentation

An abstract ParticleProcessor descendant for modifying particles "on the fly" during the cull traversal. Descendants of this class must implement the execute() method, which should iterate through all particles in the linked particle system and modify them somehow (usually updating their velocity vector).
o Program()

o Program(const Program &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)

ovirtual ~Program()

oProgram& operator=(const Program &)

ovirtual void execute(double dt) = 0
Execute the program on the particle system. Must be overriden in descendant classes.

oinline void process(double dt)
Implementation of ParticleProcessor::process(). Do not call this method by yourself.


Direct child classes:
ModularProgram

Alphabetic index HTML hierarchy of classes or Java



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