# osgParticle::Emitter Class Reference

An abstract base class for particle emitters. More...

Inheritance diagram for osgParticle::Emitter:

[legend]
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
| 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)
const Particle & | getParticleTemplate () 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)
| Set whether the default particle template should be used.

## Protected Member Functions

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

## Detailed Description

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.

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

| Reimplemented from osgParticle::ParticleProcessor.

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::emit | ( | double | dt | ) | `[protected, pure virtual]`

| Implemented in osgParticle::ModularEmitter.

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

| Get the particle template.

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

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

virtual bool osgParticle::Emitter::isSameKindAs | ( | const osg::Object * | obj | ) | const`[inline, virtual]`

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

| Implements osgParticle::ParticleProcessor.

void osgParticle::Emitter::setParticleTemplate | ( | const Particle & | p | ) | `[inline]`

| Set the particle template (particle is copied).

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.

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

- Emitter
- Emitter.cpp