osgParticle::Program Class Reference

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

Inheritance diagram for osgParticle::Program:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 Program ()
 Program (const Program &copy, const osg::CopyOp &copyop=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 ()
Programoperator= (const Program &)
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.


Detailed Description

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


Constructor & Destructor Documentation

osgParticle::Program::Program (  ) 

osgParticle::Program::Program ( const Program copy,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)

virtual osgParticle::Program::~Program (  )  [inline, protected, virtual]


Member Function Documentation

virtual const char* osgParticle::Program::libraryName (  )  const [inline, virtual]

return the name of the node's library.

Reimplemented from osgParticle::ParticleProcessor.

virtual const char* osgParticle::Program::className (  )  const [inline, virtual]

return the name of the node's class type.

Reimplemented from osgParticle::ParticleProcessor.

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

Program& osgParticle::Program::operator= ( const Program  )  [inline, protected]

void osgParticle::Program::process ( double  dt  )  [inline, protected, virtual]

Implementation of ParticleProcessor::process(). Do not call this method by yourself.

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


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:44 2007 for the OpenSceneGraph by doxygen 1.5.3.