openscenegraph
Public Member Functions | Protected Member Functions | Protected Attributes
osgParticle::Emitter Class Reference
Inheritance diagram for osgParticle::Emitter:
osgParticle::ParticleProcessor osg::Node osg::Object osg::Referenced osgParticle::ModularEmitter

List of all members.

Public Member Functions

 Emitter ()
 Emitter (const Emitter &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)
const ParticlegetParticleTemplate () const
 Get the particle template.
void setParticleTemplate (const Particle &p)
 Set the particle template (particle is copied).
bool getUseDefaultTemplate () const
 Return whether the particle system's default template should be used.
void setUseDefaultTemplate (bool v)

Protected Member Functions

virtual ~Emitter ()
Emitteroperator= (const Emitter &)
void process (double dt)
virtual void emitParticles (double dt)=0

Protected Attributes

bool _usedeftemp
Particle _ptemp

Detailed Description

An abstract base class for particle emitters. Descendant classes must override the emitParticles() method to generate new particles by calling the ParticleSystem::createParticle() method on the particle system associated to the emitter.


Constructor & Destructor Documentation

osgParticle::Emitter::Emitter ( )
osgParticle::Emitter::Emitter ( const Emitter copy,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)
virtual osgParticle::Emitter::~Emitter ( ) [inline, protected, virtual]

Member Function Documentation

virtual void osgParticle::Emitter::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::Emitter::className ( ) const [inline, virtual]

return the name of the node's class type.

Reimplemented from osgParticle::ParticleProcessor.

virtual void osgParticle::Emitter::emitParticles ( double  dt) [protected, pure virtual]

Implemented in osgParticle::ModularEmitter.

Referenced by process().

const Particle & osgParticle::Emitter::getParticleTemplate ( ) const [inline]

Get the particle template.

References _ptemp.

bool osgParticle::Emitter::getUseDefaultTemplate ( ) const [inline]

Return whether the particle system's default template should be used.

References _usedeftemp.

virtual bool osgParticle::Emitter::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::Emitter::libraryName ( ) const [inline, virtual]

return the name of the node's library.

Reimplemented from osgParticle::ParticleProcessor.

Emitter& osgParticle::Emitter::operator= ( const Emitter ) [inline, protected]
void osgParticle::Emitter::process ( double  dt) [inline, protected, virtual]
void osgParticle::Emitter::setParticleTemplate ( const Particle p) [inline]

Set the particle template (particle is copied).

References _ptemp, and _usedeftemp.

void osgParticle::Emitter::setUseDefaultTemplate ( bool  v) [inline]

Set whether the default particle template should be used. When this flag is true, the particle template is ignored, and the particle system's default template is used instead.

References _usedeftemp.


Member Data Documentation


The documentation for this class was generated from the following file: