#include <OgreParticleAffector.h>
Inheritance diagram for Ogre::ParticleAffector:
Public Methods | |
virtual | ~ParticleAffector () |
Virtual destructor essential. | |
virtual void | _initParticle (Particle *pParticle) |
Method called to allow the affector to initialize all newly created particles in the system. | |
virtual void | _affectParticles (ParticleSystem *pSystem, Real timeElapsed)=0 |
Method called to allow the affector to 'do it's stuff' on all active particles in the system. | |
String | getType (void) const |
Returns the name of the type of affector. | |
ParamDictionary * | getParamDictionary (void) |
Retrieves the parameter dictionary for this class. | |
const ParamDictionary * | getParamDictionary (void) const |
const ParameterList & | getParameters (void) const |
Retrieves a list of parameters valid for this object. | |
virtual bool | setParameter (const String &name, const String &value) |
Generic parameter setting method. | |
virtual String | getParameter (const String &name) const |
Generic parameter retrieval method. | |
virtual void | copyParametersTo (StringInterface *dest) const |
Method for copying this object's parameters to another object. | |
Protected Methods | |
void | addBaseParameters (void) |
Internal method for setting up the basic parameter definitions for a subclass. | |
bool | createParamDictionary (const String &className) |
Internal method for creating a parameter dictionary for the class, if it does not already exist. | |
Protected Attributes | |
String | mType |
Name of the type of affector, MUST be initialised by subclasses. | |
String | mParamDictName |
Class name for this instance to be used as a lookup (must be initialised by subclasses). | |
Static Protected Attributes | |
ParamDictionaryMap | msDictionary |
Dictionary of parameters. |
Because there are so many types of affectors you could use, OGRE chooses not to dictate the available types. It comes with some in-built, but allows plugins or applications to extend the affector types available. This is done by subclassing ParticleAffector to have the appropriate emission behaviour you want, and also creating a subclass of ParticleAffectorFactory which is responsible for creating instances of your new affector type. You register this factory with the ParticleSystemManager using addAffectorFactory, and from then on affectors of this type can be created either from code or through text particle scripts by naming the type.
This same approach is used for ParticleEmitters (which are the source of particles in a system). This means that OGRE is particularly flexible when it comes to creating particle system effects, with literally infinite combinations of affector and affector types, and paramters within those types.
Definition at line 54 of file OgreParticleAffector.h.
|
Virtual destructor essential.
Definition at line 71 of file OgreParticleAffector.h. |
|
Method called to allow the affector to 'do it's stuff' on all active particles in the system.
Implemented in Ogre::ColourFaderAffector, Ogre::ColourFaderAffector2, Ogre::ColourImageAffector, Ogre::ColourInterpolatorAffector, Ogre::LinearForceAffector, Ogre::RotationAffector, and Ogre::ScaleAffector. |
|
Method called to allow the affector to initialize all newly created particles in the system.
Reimplemented in Ogre::ColourImageAffector, and Ogre::RotationAffector. Definition at line 81 of file OgreParticleAffector.h. |
|
Internal method for setting up the basic parameter definitions for a subclass.
Definition at line 68 of file OgreParticleAffector.h. Referenced by Ogre::LinearForceAffector::LinearForceAffector(). |
|
Method for copying this object's parameters to another object.
Definition at line 293 of file OgreStringInterface.h. References Ogre::ParamDictionary::mParamDefs, and Ogre::StringInterface::setParameter(). Referenced by Ogre::GuiElement::copyFromTemplate(), Ogre::GuiContainer::copyFromTemplate(), and Ogre::ParticleSystem::operator=(). |
|
|
Definition at line 206 of file OgreStringInterface.h. |
|
Retrieves the parameter dictionary for this class.
Definition at line 193 of file OgreStringInterface.h. Referenced by Ogre::TTYGuiElement::addBaseParameters(), Ogre::TextBoxGuiElement::addBaseParameters(), Ogre::TextAreaGuiElement::addBaseParameters(), Ogre::ScrollBarGuiElement::addBaseParameters(), Ogre::PopupMenuGuiElement::addBaseParameters(), Ogre::ParticleEmitter::addBaseParameters(), Ogre::PanelGuiElement::addBaseParameters(), Ogre::ListGuiElement::addBaseParameters(), Ogre::GuiElement::addBaseParameters(), Ogre::CursorGuiElement::addBaseParameters(), Ogre::ButtonGuiElement::addBaseParameters(), Ogre::BorderPanelGuiElement::addBaseParameters(), Ogre::BorderButtonGuiElement::addBaseParameters(), Ogre::CgProgram::CgProgram(), Ogre::ColourFaderAffector::ColourFaderAffector(), Ogre::ColourFaderAffector2::ColourFaderAffector2(), Ogre::ColourImageAffector::ColourImageAffector(), Ogre::ColourInterpolatorAffector::ColourInterpolatorAffector(), Ogre::D3D9HLSLProgram::D3D9HLSLProgram(), Ogre::HollowEllipsoidEmitter::HollowEllipsoidEmitter(), Ogre::AreaEmitter::initDefaults(), Ogre::ParticleSystem::initParameters(), Ogre::LinearForceAffector::LinearForceAffector(), Ogre::RingEmitter::RingEmitter(), Ogre::RotationAffector::RotationAffector(), Ogre::ScaleAffector::ScaleAffector(), and Ogre::StringInterface::setParameter(). |
|
Generic parameter retrieval method.
Definition at line 262 of file OgreStringInterface.h. References Ogre::ParamCommand::doGet(), and Ogre::ParamDictionary::getParamCommand(). |
|
Retrieves a list of parameters valid for this object.
Definition at line 224 of file OgreStringInterface.h. References Ogre::ParamDictionary::getParameters(), and Ogre::ParameterList. |
|
Returns the name of the type of affector.
Definition at line 100 of file OgreParticleAffector.h. Referenced by Ogre::ParticleSystemManager::_destroyAffector(), Ogre::ParticleSystem::operator=(), and Ogre::ParticleSystemManager::parseAffectorAttrib(). |
|
Generic parameter setting method.
Definition at line 33 of file OgreStringInterface.cpp. References Ogre::ParamCommand::doSet(), Ogre::ParamDictionary::getParamCommand(), and Ogre::StringInterface::getParamDictionary(). Referenced by Ogre::StringInterface::copyParametersTo(), Ogre::Profiler::createContainer(), Ogre::Profiler::createTextArea(), Ogre::MaterialSerializer::finishProgramDefinition(), Ogre::ParticleSystemManager::parseAffectorAttrib(), Ogre::ParticleSystemManager::parseAttrib(), Ogre::OverlayManager::parseElementAttrib(), and Ogre::ParticleSystemManager::parseEmitterAttrib(). |
|
Class name for this instance to be used as a lookup (must be initialised by subclasses).
Definition at line 157 of file OgreStringInterface.h. |
|
Dictionary of parameters.
Definition at line 30 of file OgreStringInterface.cpp. |
|
Name of the type of affector, MUST be initialised by subclasses.
Definition at line 58 of file OgreParticleAffector.h. Referenced by Ogre::ColourFaderAffector::ColourFaderAffector(), Ogre::ColourFaderAffector2::ColourFaderAffector2(), Ogre::ColourImageAffector::ColourImageAffector(), Ogre::ColourInterpolatorAffector::ColourInterpolatorAffector(), Ogre::LinearForceAffector::LinearForceAffector(), Ogre::RotationAffector::RotationAffector(), and Ogre::ScaleAffector::ScaleAffector(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Wed Jan 21 00:18:53 2004