Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound 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 Methods

 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 Methods

virtual ~Program ()
Program & operator= (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::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 osg::Node.

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 Wed Sep 18 13:55:54 2002 for the Open Scene Graph by doxygen 1.2.16.