## class OSGPARTICLE_EXPORT osgParticle::Emitter

> An abstract base class for particle emitters.

## Inheritance:

### Public Methods

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

### Protected Methods

virtual ~Emitter()
Emitter& operator=(const Emitter &)
virtual void emit(double dt) = 0

### Inherited from ParticleProcessor:

### Public Methods

inline ReferenceFrame getReferenceFrame() const
void traverse(osg::NodeVisitor &nv)
inline ParticleProcessor::ReferenceFrame getReferenceFrame() const
inline void setReferenceFrame(ReferenceFrame rf)
inline bool isEnabled() const
inline void setEnabled(bool v)
inline ParticleSystem* getParticleSystem()
inline const ParticleSystem* getParticleSystem() const
inline void setParticleSystem(ParticleSystem* ps)
inline void setEndless(bool type)
inline bool isEndless() const
inline void setLifeTime(double t)
inline double getLifeTime() const
inline void setStartTime(double t)
inline double getStartTime() const
inline void setCurrentTime(double t)
inline double getCurrentTime() const
inline void setResetTime(double t)
inline double getResetTime() const
inline bool computeBound() const
inline const osg::Matrix& getLocalToWorldMatrix()
inline const osg::Matrix& getWorldToLocalMatrix()
inline osg::Vec3 transformLocalToWorld(const osg::Vec3 &P)
inline osg::Vec3 transformWorldToLocal(const osg::Vec3 &P)
inline osg::Vec3 rotateLocalToWorld(const osg::Vec3 &P)
inline osg::Vec3 rotateWorldToLocal(const osg::Vec3 &P)

### Public Members

enum ReferenceFrame

## Documentation

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

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

`virtual ~Emitter()`

`Emitter& operator=(const Emitter &)`

`virtual void emit(double dt) = 0`

`inline const Particle& getParticleTemplate() const`
  Get the particle template

`inline void setParticleTemplate(const Particle &p)`
  Set the particle template (particle is copied)

`inline bool getUseDefaultTemplate() const`
  Return whether the particle system's default template should be used

`inline void setUseDefaultTemplate(bool v)`
  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.

`inline void process(double dt)`

Direct child classes:
  ModularEmitter

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.