An abstract ParticleProcessor
descendant for modifying particles "on the fly" during the cull traversal.
More...
Public Member Functions | |
Program () | |
Program (const Program ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
virtual const char * | libraryName () const |
return the name of the node's library. | |
virtual const char * | className () const |
return the name of the node's class type. | |
virtual bool | isSameKindAs (const osg::Object *obj) const |
return true if this and obj are of the same kind of object. | |
virtual void | accept (osg::NodeVisitor &nv) |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. | |
Protected Member Functions | |
virtual | ~Program () |
Program & | operator= (const Program &) |
disallow any copy operator. | |
void | process (double dt) |
Implementation of ParticleProcessor::process() . Do not call this method by yourself. | |
virtual void | execute (double dt)=0 |
Execute the program on the particle system. Must be overriden in descendant classes. |
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).
osgParticle::Program::Program | ( | ) |
osgParticle::Program::Program | ( | const Program & | copy, | |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY | |||
) |
virtual osgParticle::Program::~Program | ( | ) | [inline, protected, virtual] |
virtual void osgParticle::Program::accept | ( | osg::NodeVisitor & | nv | ) | [inline, virtual] |
Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.
Reimplemented from osgParticle::ParticleProcessor.
References osg::NodeVisitor::apply(), osg::NodeVisitor::popFromNodePath(), osg::NodeVisitor::pushOntoNodePath(), and osg::NodeVisitor::validNodeMask().
virtual const char* osgParticle::Program::className | ( | ) | const [inline, virtual] |
return the name of the node's class type.
Reimplemented from osgParticle::ParticleProcessor.
virtual void osgParticle::Program::execute | ( | double | dt | ) | [protected, pure virtual] |
Execute the program on the particle system. Must be overriden in descendant classes.
Implemented in osgParticle::FluidProgram, and osgParticle::ModularProgram.
Referenced by process().
virtual bool osgParticle::Program::isSameKindAs | ( | const osg::Object * | obj | ) | const [inline, virtual] |
return true if this and obj are of the same kind of object.
Reimplemented from osgParticle::ParticleProcessor.
virtual const char* osgParticle::Program::libraryName | ( | ) | const [inline, virtual] |
return the name of the node's library.
Reimplemented from osgParticle::ParticleProcessor.
disallow any copy operator.
Reimplemented from osgParticle::ParticleProcessor.
Reimplemented in osgParticle::FluidProgram, and osgParticle::ModularProgram.
void osgParticle::Program::process | ( | double | dt | ) | [inline, protected, virtual] |
Implementation of ParticleProcessor::process()
. Do not call this method by yourself.
Implements osgParticle::ParticleProcessor.
References execute().
![]() | Generated at Wed Aug 26 07:07:37 2009 for the OpenSceneGraph by doxygen 1.6.1. |