Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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

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 at Thu Nov 24 16:25:16 2005 for the OpenSceneGraph by doxygen 1.3.6.