#include <src/orxonox/tools/ParticleInterface.h>
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 |
orxonox::ParticleInterface::ParticleInterface | ( | Ogre::SceneManager * | scenemanager, | |
const std::string & | templateName, | |||
LODParticle::Value | detaillevel | |||
) |
orxonox::ParticleInterface::~ParticleInterface | ( | ) | [virtual] |
References particleSystem_, and scenemanager_.
Ogre::ParticleAffector * orxonox::ParticleInterface::addAffector | ( | const std::string & | name | ) |
References particleSystem_.
void orxonox::ParticleInterface::changedTimeFactor | ( | float | factor_new, | |
float | factor_old | |||
) | [protected, virtual] |
Ogre::ParticleEmitter * orxonox::ParticleInterface::createNewEmitter | ( | ) |
References particleSystem_.
void orxonox::ParticleInterface::detailLevelChanged | ( | unsigned int | newlevel | ) |
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 | ) |
void orxonox::ParticleInterface::setEnabled | ( | bool | enable | ) |
void orxonox::ParticleInterface::setKeepParticlesInLocalSpace | ( | bool | keep | ) |
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().
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().