# osgParticle::ParticleSystemUpdater Class Reference

A useful node class for updating particle systems automatically. More...

Inheritance diagram for osgParticle::ParticleSystemUpdater:

[legend]
List of all members.

## Public Member Functions

| ParticleSystemUpdater ()
| ParticleSystemUpdater (const ParticleSystemUpdater &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
| META_Node (osgParticle, ParticleSystemUpdater)
bool | addParticleSystem (ParticleSystem *ps)
| Add a particle system to the list.
bool | removeParticleSystem (ParticleSystem *ps)
| Remove a particle system from the list (by pointer).
bool | removeParticleSystem (unsigned int i, unsigned int numParticleSystemsToRemove=1)
| Remove a particle system(s) from the list (by index).
bool | replaceParticleSystem (ParticleSystem *origPS, ParticleSystem *newPS)
| Replace ParticleSystem with another ParticleSystem.
bool | setParticleSystem (unsigned int i, ParticleSystem *ps)
| set a particle system by index.
unsigned int | getNumParticleSystems () const
| Return the number of particle systems on the list.
ParticleSystem * | getParticleSystem (unsigned int i)
| Get a particle system from the list.
const ParticleSystem * | getParticleSystem (unsigned int i) const
| Get a particle system from the list.
bool | containsParticleSystem (const ParticleSystem *ps) const
| return true if ParticleSystem is contained within ParticlsSystemUpdater.
unsigned int | getParticleSystemIndex (const ParticleSystem *ps) const
| get index number of ParticleSystem.
virtual void | traverse (osg::NodeVisitor &nv)

## Protected Member Functions

virtual | ~ParticleSystemUpdater ()
ParticleSystemUpdater & | operator= (const ParticleSystemUpdater &)
virtual bool | computeBound () const
| Compute the bounding sphere around Node's geometry or children.

## Detailed Description

A useful node class for updating particle systems automatically.

When a `ParticleSystemUpdater` is traversed by a cull visitor, it calls the `update()` method on the specified particle systems. You should place this updater <u>AFTER</u> other nodes like emitters and programs.

## Constructor & Destructor Documentation

osgParticle::ParticleSystemUpdater::ParticleSystemUpdater | ( |  | ) |

osgParticle::ParticleSystemUpdater::ParticleSystemUpdater | ( | const ParticleSystemUpdater & | copy,
|  | const osg::CopyOp & | copyop = `osg::CopyOp::SHALLOW_COPY`
| ) |

virtual osgParticle::ParticleSystemUpdater::~ParticleSystemUpdater | ( |  | ) | `[inline, protected, virtual]`

## Member Function Documentation

bool osgParticle::ParticleSystemUpdater::addParticleSystem | ( | ParticleSystem * | ps | ) | `[inline]`

| Add a particle system to the list.

bool osgParticle::ParticleSystemUpdater::computeBound | ( |  | ) | const`[inline, protected, virtual]`

| Compute the bounding sphere around Node's geometry or children. This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound(). Reimplemented from osg::Node.

bool osgParticle::ParticleSystemUpdater::containsParticleSystem | ( | const ParticleSystem * | ps | ) | const`[inline]`

| return true if ParticleSystem is contained within ParticlsSystemUpdater.

unsigned int osgParticle::ParticleSystemUpdater::getNumParticleSystems | ( |  | ) | const`[inline]`

| Return the number of particle systems on the list.

const ParticleSystem * osgParticle::ParticleSystemUpdater::getParticleSystem | ( | unsigned int | i | ) | const`[inline]`

| Get a particle system from the list.

ParticleSystem * osgParticle::ParticleSystemUpdater::getParticleSystem | ( | unsigned int | i | ) | `[inline]`

| Get a particle system from the list.

unsigned int osgParticle::ParticleSystemUpdater::getParticleSystemIndex | ( | const ParticleSystem * | ps | ) | const`[inline]`

| get index number of ParticleSystem.

osgParticle::ParticleSystemUpdater::META_Node | ( | osgParticle | ,
|  | ParticleSystemUpdater |
| ) |

ParticleSystemUpdater& osgParticle::ParticleSystemUpdater::operator= | ( | const ParticleSystemUpdater & |  | ) | `[inline, protected]`

bool osgParticle::ParticleSystemUpdater::removeParticleSystem | ( | unsigned int | i,
|  | unsigned int | numParticleSystemsToRemove = `1`
| ) | `[inline]`

| Remove a particle system(s) from the list (by index).

bool osgParticle::ParticleSystemUpdater::removeParticleSystem | ( | ParticleSystem * | ps | ) | `[inline]`

| Remove a particle system from the list (by pointer).

bool osgParticle::ParticleSystemUpdater::replaceParticleSystem | ( | ParticleSystem * | origPS,
|  | ParticleSystem * | newPS
| ) | `[inline]`

| Replace ParticleSystem with another ParticleSystem.

bool osgParticle::ParticleSystemUpdater::setParticleSystem | ( | unsigned int | i,
|  | ParticleSystem * | ps
| ) | `[inline]`

| set a particle system by index.

void osgParticle::ParticleSystemUpdater::traverse | ( | osg::NodeVisitor & | nv | ) | `[virtual]`

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

- ParticleSystemUpdater
- ParticleSystemUpdater.cpp