Orxonox: orxonox::ParticleInterface Class Reference

# orxonox::ParticleInterface Class Reference

`#include <src/orxonox/tools/ParticleInterface.h>`

Inheritance diagram for orxonox::ParticleInterface:

List of all members.

## Public Member Functions

Ogre::ParticleAffector * | addAffector (const std::string &name)
Ogre::ParticleEmitter * | createNewEmitter ()
void | detailLevelChanged (unsigned int newlevel)
Ogre::ParticleAffector * | getAffector (unsigned int affectorNr)
Ogre::ParticleEmitter * | getEmitter (unsigned int emitterNr) const
bool | getKeepParticlesInLocalSpace () const
unsigned int | getNumAffectors () const
unsigned int | getNumEmitters () const
Ogre::ParticleSystem * | getParticleSystem ()
float | getSpeedFactor () const
bool | isEnabled () const
bool | isVisible () const
| ParticleInterface (Ogre::SceneManager *scenemanager, const std::string &templateName, LODParticle::Value detaillevel)
void | removeAffector (unsigned int affectorNr)
void | removeAllAffectors ()
void | removeAllEmitters ()
void | removeEmitter (unsigned int emitterNr)
void | setDetailLevel (unsigned int level)
void | setEnabled (bool enable)
void | setKeepParticlesInLocalSpace (bool keep)
void | setSpeedFactor (float factor)
void | setVisible (bool visible)
void | storeThisAsCurrentParticleInterface ()
virtual | ~ParticleInterface ()

## Static Public Member Functions

static ParticleInterface * | getCurrentParticleInterface ()

## Protected Member Functions

virtual void | changedTimeFactor (float factor_new, float factor_old)

## Private Member Functions

void | updateVisibility ()

## Private Attributes

bool | bAllowedByLOD_
bool | bEnabled_
bool | bVisible_
unsigned int | detaillevel_
| Detail level of this particle effect (0: off, 1: low, 2: normal, 3: high).
Ogre::ParticleSystem * | particleSystem_
Ogre::SceneManager * | scenemanager_
float | speedFactor_

## Static Private Attributes

static unsigned int | counter_s = 0
static ParticleInterface * | currentParticleInterface_s = 0

## Constructor & Destructor Documentation

orxonox::ParticleInterface::ParticleInterface | ( | Ogre::SceneManager * | scenemanager,
|  | const std::string & | templateName,
|  | LODParticle::Value | detaillevel |
| ) |  |  |

References bAllowedByLOD_, bEnabled_, bVisible_, counter_s, COUT, particleSystem_, RegisterObject, scenemanager_, setDetailLevel(), setSpeedFactor(), orxonox::GameMode::showsGraphics(), and speedFactor_.

orxonox::ParticleInterface::~ParticleInterface | ( |  | ) | `[virtual]`

References particleSystem_, and scenemanager_.

## Member Function Documentation

Ogre::ParticleAffector * orxonox::ParticleInterface::addAffector | ( | const std::string & | name | ) |

References particleSystem_.

void orxonox::ParticleInterface::changedTimeFactor | ( | float | factor_new,
|  | float | factor_old |
| ) |  |  | `[protected, virtual]`

Reimplemented from orxonox::TimeFactorListener.

References setSpeedFactor(), and speedFactor_.

Ogre::ParticleEmitter * orxonox::ParticleInterface::createNewEmitter | ( |  | ) |

References particleSystem_.

void orxonox::ParticleInterface::detailLevelChanged | ( | unsigned int | newlevel | ) |

References bAllowedByLOD_, detaillevel_, and updateVisibility().

Referenced by setDetailLevel().

Ogre::ParticleAffector * orxonox::ParticleInterface::getAffector | ( | unsigned int | affectorNr | ) |

References particleSystem_.

static ParticleInterface* orxonox::ParticleInterface::getCurrentParticleInterface | ( |  | ) | `[inline, static]`

References currentParticleInterface_s.

Ogre::ParticleEmitter * orxonox::ParticleInterface::getEmitter | ( | unsigned int | emitterNr | ) | const

References particleSystem_.

bool orxonox::ParticleInterface::getKeepParticlesInLocalSpace | ( |  | ) | const

References particleSystem_.

unsigned int orxonox::ParticleInterface::getNumAffectors | ( |  | ) | const

References particleSystem_.

unsigned int orxonox::ParticleInterface::getNumEmitters | ( |  | ) | const

References particleSystem_.

Ogre::ParticleSystem* orxonox::ParticleInterface::getParticleSystem | ( |  | ) | `[inline]`

Referenced by orxonox::ExplosionChunk::ExplosionChunk(), orxonox::BigExplosion::init(), orxonox::ParticleProjectile::ParticleProjectile(), orxonox::ParticleEmitter::sourceChanged(), orxonox::BigExplosion::~BigExplosion(), orxonox::ExplosionChunk::~ExplosionChunk(), orxonox::ParticleEmitter::~ParticleEmitter(), and orxonox::ParticleProjectile::~ParticleProjectile().

float orxonox::ParticleInterface::getSpeedFactor | ( |  | ) | const`[inline]`

bool orxonox::ParticleInterface::isEnabled | ( |  | ) | const`[inline]`

Referenced by updateVisibility().

bool orxonox::ParticleInterface::isVisible | ( |  | ) | const`[inline]`

Referenced by updateVisibility().

void orxonox::ParticleInterface::removeAffector | ( | unsigned int | affectorNr | ) |

References particleSystem_.

void orxonox::ParticleInterface::removeAllAffectors | ( |  | ) |

References particleSystem_.

void orxonox::ParticleInterface::removeAllEmitters | ( |  | ) |

References particleSystem_.

void orxonox::ParticleInterface::removeEmitter | ( | unsigned int | emitterNr | ) |

References particleSystem_.

void orxonox::ParticleInterface::setDetailLevel | ( | unsigned int | level | ) |

References detaillevel_, detailLevelChanged(), orxonox::GraphicsManager::getInstance(), and orxonox::GameMode::showsGraphics().

Referenced by orxonox::ParticleEmitter::LODchanged(), orxonox::ExplosionChunk::LODchanged(), orxonox::BigExplosion::LODchanged(), and ParticleInterface().

void orxonox::ParticleInterface::setEnabled | ( | bool | enable | ) |

References bAllowedByLOD_, bEnabled_, and particleSystem_.

Referenced by orxonox::ParticleEmitter::changedActivity(), orxonox::ParticleProjectile::changedVisibility(), orxonox::ParticleEmitter::sourceChanged(), orxonox::ExplosionChunk::stop(), orxonox::BigExplosion::stop(), and updateVisibility().

void orxonox::ParticleInterface::setKeepParticlesInLocalSpace | ( | bool | keep | ) |

References particleSystem_.

Referenced by orxonox::ParticleProjectile::ParticleProjectile().

void orxonox::ParticleInterface::setSpeedFactor | ( | float | factor | ) |

References orxonox::TimeFactorListener::getTimeFactor(), particleSystem_, and speedFactor_.

Referenced by changedTimeFactor(), and ParticleInterface().

void orxonox::ParticleInterface::setVisible | ( | bool | visible | ) |

References bAllowedByLOD_, bVisible_, and particleSystem_.

Referenced by orxonox::ParticleEmitter::changedVisibility(), orxonox::ParticleEmitter::sourceChanged(), and updateVisibility().

void orxonox::ParticleInterface::storeThisAsCurrentParticleInterface | ( |  | ) | `[inline]`

References currentParticleInterface_s.

void orxonox::ParticleInterface::updateVisibility | ( |  | ) | `[private]`

References isEnabled(), isVisible(), setEnabled(), and setVisible().

Referenced by detailLevelChanged().

## Member Data Documentation

bool orxonox::ParticleInterface::bAllowedByLOD_`[private]`

Referenced by detailLevelChanged(), ParticleInterface(), setEnabled(), and setVisible().

bool orxonox::ParticleInterface::bEnabled_`[private]`

Referenced by ParticleInterface(), and setEnabled().

bool orxonox::ParticleInterface::bVisible_`[private]`

Referenced by ParticleInterface(), and setVisible().

unsigned int orxonox::ParticleInterface::counter_s = 0`[static, private]`

Referenced by ParticleInterface().

ParticleInterface * orxonox::ParticleInterface::currentParticleInterface_s = 0`[static, private]`

Referenced by getCurrentParticleInterface(), and storeThisAsCurrentParticleInterface().

unsigned int orxonox::ParticleInterface::detaillevel_`[private]`

Detail level of this particle effect (0: off, 1: low, 2: normal, 3: high).

Referenced by detailLevelChanged(), and setDetailLevel().

Ogre::ParticleSystem* orxonox::ParticleInterface::particleSystem_`[private]`

Referenced by addAffector(), createNewEmitter(), getAffector(), getEmitter(), getKeepParticlesInLocalSpace(), getNumAffectors(), getNumEmitters(), ParticleInterface(), removeAffector(), removeAllAffectors(), removeAllEmitters(), removeEmitter(), setEnabled(), setKeepParticlesInLocalSpace(), setSpeedFactor(), setVisible(), and ~ParticleInterface().

Ogre::SceneManager* orxonox::ParticleInterface::scenemanager_`[private]`

Referenced by ParticleInterface(), and ~ParticleInterface().

float orxonox::ParticleInterface::speedFactor_`[private]`

Referenced by changedTimeFactor(), ParticleInterface(), and setSpeedFactor().

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

- src/orxonox/tools/ParticleInterface.h
- src/orxonox/tools/ParticleInterface.cc