![]() |
OGRE
1.10.12
Object-Oriented Graphics Rendering Engine
|
Manages particle systems, particle system scripts (templates) and the available emitter & affector factories. More...
#include <OgreParticleSystemManager.h>
Inheritance diagram for Ogre::ParticleSystemManager:Public Types | |
| typedef MapIterator< ParticleAffectorFactoryMap > | ParticleAffectorFactoryIterator |
| typedef map< String, ParticleAffectorFactory * >::type | ParticleAffectorFactoryMap |
| typedef MapIterator< ParticleEmitterFactoryMap > | ParticleEmitterFactoryIterator |
| typedef map< String, ParticleEmitterFactory * >::type | ParticleEmitterFactoryMap |
| typedef MapIterator< ParticleSystemRendererFactoryMap > | ParticleRendererFactoryIterator |
| typedef map< String, ParticleSystemRendererFactory * >::type | ParticleSystemRendererFactoryMap |
| typedef MapIterator< ParticleTemplateMap > | ParticleSystemTemplateIterator |
| typedef map< String, ParticleSystem * >::type | ParticleTemplateMap |
Public Member Functions | |
| ParticleSystemManager () | |
| virtual | ~ParticleSystemManager () |
| ParticleAffector * | _createAffector (const String &affectorType, ParticleSystem *psys) |
| Internal method for creating a new affector from a factory. More... | |
| ParticleEmitter * | _createEmitter (const String &emitterType, ParticleSystem *psys) |
| Internal method for creating a new emitter from a factory. More... | |
| ParticleSystemRenderer * | _createRenderer (const String &rendererType) |
| Internal method for creating a new renderer from a factory. More... | |
| void | _destroyAffector (ParticleAffector *affector) |
| Internal method for destroying an affector. More... | |
| void | _destroyEmitter (ParticleEmitter *emitter) |
| Internal method for destroying an emitter. More... | |
| void | _destroyRenderer (ParticleSystemRenderer *renderer) |
| Internal method for destroying a renderer. More... | |
| ParticleSystemFactory * | _getFactory (void) |
| Get an instance of ParticleSystemFactory (internal use). More... | |
| void | _initialise (void) |
| Init method to be called by OGRE system. More... | |
| void | addAffectorFactory (ParticleAffectorFactory *factory) |
| Adds a new 'factory' object for affectors to the list of available affector types. More... | |
| void | addEmitterFactory (ParticleEmitterFactory *factory) |
| Adds a new 'factory' object for emitters to the list of available emitter types. More... | |
| void | addRendererFactory (ParticleSystemRendererFactory *factory) |
| Registers a factory class for creating ParticleSystemRenderer instances. More... | |
| void | addTemplate (const String &name, ParticleSystem *sysTemplate) |
| Adds a new particle system template to the list of available templates. More... | |
| ParticleSystem * | createTemplate (const String &name, const String &resourceGroup) |
| Create a new particle system template. More... | |
| ParticleAffectorFactoryIterator | getAffectorFactoryIterator (void) |
| Return an iterator over the affector factories currently registered. More... | |
| ParticleEmitterFactoryIterator | getEmitterFactoryIterator (void) |
| Return an iterator over the emitter factories currently registered. More... | |
| Real | getLoadingOrder (void) const |
| Gets the relative loading order of scripts of this type. More... | |
| ParticleRendererFactoryIterator | getRendererFactoryIterator (void) |
| Return an iterator over the renderer factories currently registered. More... | |
| const StringVector & | getScriptPatterns (void) const |
| Gets the file patterns which should be used to find scripts for this class. More... | |
| ParticleSystem * | getTemplate (const String &name) |
| Retrieves a particle system template for possible modification. More... | |
| ParticleSystemTemplateIterator | getTemplateIterator (void) |
| Gets an iterator over the list of particle system templates. More... | |
| void | parseScript (DataStreamPtr &stream, const String &groupName) |
| Parse a script file. More... | |
| void | removeAllTemplates (bool deleteTemplate=true) |
| Removes a specified template from the ParticleSystemManager. More... | |
| void | removeTemplate (const String &name, bool deleteTemplate=true) |
| Removes a specified template from the ParticleSystemManager. More... | |
| void | removeTemplatesByResourceGroup (const String &resourceGroup) |
| Removes all templates that belong to a secific Resource Group from the ParticleSystemManager. More... | |
Static Public Member Functions | |
| static ParticleSystemManager & | getSingleton (void) |
| Get the singleton instance. More... | |
| static ParticleSystemManager * | getSingletonPtr (void) |
| Get the singleton instance. More... | |
Friends | |
| class | ParticleSystemFactory |
Manages particle systems, particle system scripts (templates) and the available emitter & affector factories.
| typedef map<String, ParticleSystem*>::type Ogre::ParticleSystemManager::ParticleTemplateMap |
| typedef map<String, ParticleAffectorFactory*>::type Ogre::ParticleSystemManager::ParticleAffectorFactoryMap |
| typedef map<String, ParticleEmitterFactory*>::type Ogre::ParticleSystemManager::ParticleEmitterFactoryMap |
| typedef map<String, ParticleSystemRendererFactory*>::type Ogre::ParticleSystemManager::ParticleSystemRendererFactoryMap |
| typedef MapIterator<ParticleAffectorFactoryMap> Ogre::ParticleSystemManager::ParticleAffectorFactoryIterator |
| typedef MapIterator<ParticleEmitterFactoryMap> Ogre::ParticleSystemManager::ParticleEmitterFactoryIterator |
| typedef MapIterator<ParticleSystemRendererFactoryMap> Ogre::ParticleSystemManager::ParticleRendererFactoryIterator |
| typedef MapIterator<ParticleTemplateMap> Ogre::ParticleSystemManager::ParticleSystemTemplateIterator |
| Ogre::ParticleSystemManager::ParticleSystemManager | ( | ) |
|
virtual |
| void Ogre::ParticleSystemManager::addEmitterFactory | ( | ParticleEmitterFactory * | factory | ) |
Adds a new 'factory' object for emitters to the list of available emitter types.
| factory | Pointer to a ParticleEmitterFactory subclass created by the plugin or application code. |
| void Ogre::ParticleSystemManager::addAffectorFactory | ( | ParticleAffectorFactory * | factory | ) |
Adds a new 'factory' object for affectors to the list of available affector types.
| factory | Pointer to a ParticleAffectorFactory subclass created by the plugin or application code. |
| void Ogre::ParticleSystemManager::addRendererFactory | ( | ParticleSystemRendererFactory * | factory | ) |
Registers a factory class for creating ParticleSystemRenderer instances.
| factory | Pointer to a ParticleSystemRendererFactory subclass created by the plugin or application code. |
| void Ogre::ParticleSystemManager::addTemplate | ( | const String & | name, |
| ParticleSystem * | sysTemplate | ||
| ) |
Adds a new particle system template to the list of available templates.
| name | The name of the template. Must be unique across all templates. |
| sysTemplate | A pointer to a particle system to be used as a template. The manager will take over ownership of this pointer. |
| void Ogre::ParticleSystemManager::removeTemplate | ( | const String & | name, |
| bool | deleteTemplate = true |
||
| ) |
Removes a specified template from the ParticleSystemManager.
| name | The name of the template to remove. |
| deleteTemplate | Whether or not to delete the template before removing it. |
| void Ogre::ParticleSystemManager::removeAllTemplates | ( | bool | deleteTemplate = true | ) |
Removes a specified template from the ParticleSystemManager.
| deleteTemplate | Whether or not to delete the templates before removing them. |
| void Ogre::ParticleSystemManager::removeTemplatesByResourceGroup | ( | const String & | resourceGroup | ) |
Removes all templates that belong to a secific Resource Group from the ParticleSystemManager.
| resourceGroup | Resource group to delete templates for |
| ParticleSystem* Ogre::ParticleSystemManager::createTemplate | ( | const String & | name, |
| const String & | resourceGroup | ||
| ) |
Create a new particle system template.
| name | The name of the template. Must be unique across all templates. |
| resourceGroup | The name of the resource group which will be used to load any dependent resources. |
| ParticleSystem* Ogre::ParticleSystemManager::getTemplate | ( | const String & | name | ) |
Retrieves a particle system template for possible modification.
| ParticleEmitter* Ogre::ParticleSystemManager::_createEmitter | ( | const String & | emitterType, |
| ParticleSystem * | psys | ||
| ) |
Internal method for creating a new emitter from a factory.
| emitterType | String name of the emitter type to be created. A factory of this type must have been registered. |
| psys | The particle system this is being created for |
| void Ogre::ParticleSystemManager::_destroyEmitter | ( | ParticleEmitter * | emitter | ) |
Internal method for destroying an emitter.
| emitter | Pointer to emitter to be destroyed. On return this pointer will point to invalid (freed) memory. |
| ParticleAffector* Ogre::ParticleSystemManager::_createAffector | ( | const String & | affectorType, |
| ParticleSystem * | psys | ||
| ) |
Internal method for creating a new affector from a factory.
| affectorType | String name of the affector type to be created. A factory of this type must have been registered. |
| psys | The particle system it is being created for |
| void Ogre::ParticleSystemManager::_destroyAffector | ( | ParticleAffector * | affector | ) |
Internal method for destroying an affector.
| affector | Pointer to affector to be destroyed. On return this pointer will point to invalid (freed) memory. |
| ParticleSystemRenderer* Ogre::ParticleSystemManager::_createRenderer | ( | const String & | rendererType | ) |
Internal method for creating a new renderer from a factory.
| rendererType | String name of the renderer type to be created. A factory of this type must have been registered. |
| void Ogre::ParticleSystemManager::_destroyRenderer | ( | ParticleSystemRenderer * | renderer | ) |
Internal method for destroying a renderer.
| renderer | Pointer to renderer to be destroyed. On return this pointer will point to invalid (freed) memory. |
| void Ogre::ParticleSystemManager::_initialise | ( | void | ) |
Init method to be called by OGRE system.
|
virtual |
Gets the file patterns which should be used to find scripts for this class.
Implements Ogre::ScriptLoader.
|
virtual |
Parse a script file.
| stream | Weak reference to a data stream which is the source of the script |
| groupName | The name of a resource group which should be used if any resources are created during the parse of this script. |
Implements Ogre::ScriptLoader.
|
virtual |
Gets the relative loading order of scripts of this type.
Implements Ogre::ScriptLoader.
| ParticleAffectorFactoryIterator Ogre::ParticleSystemManager::getAffectorFactoryIterator | ( | void | ) |
Return an iterator over the affector factories currently registered.
| ParticleEmitterFactoryIterator Ogre::ParticleSystemManager::getEmitterFactoryIterator | ( | void | ) |
Return an iterator over the emitter factories currently registered.
| ParticleRendererFactoryIterator Ogre::ParticleSystemManager::getRendererFactoryIterator | ( | void | ) |
Return an iterator over the renderer factories currently registered.
|
inline |
Gets an iterator over the list of particle system templates.
|
inline |
Get an instance of ParticleSystemFactory (internal use).
|
static |
Get the singleton instance.
|
static |
Get the singleton instance.
|
friend |