osgParticle::Program Class Reference

Inheritance diagram for osgParticle::Program:

osgParticle::ParticleProcessor osg::Node osg::Object osg::Referenced osgParticle::FluidProgram osgParticle::ModularProgram 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
virtual const char * className () const
virtual bool isSameKindAs (const osg::Object *obj) const
virtual void accept (osg::NodeVisitor &nv)

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

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.

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.

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.


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:12 2006 for openscenegraph by  doxygen 1.4.7