Manages particle systems, particle system scripts (templates) and the available emitter & affector factories. More...
#include <OgreParticleSystemManager.h>

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. | |
| ParticleEmitter * | _createEmitter (const String &emitterType, ParticleSystem *psys) |
| Internal method for creating a new emitter from a factory. | |
| ParticleSystemRenderer * | _createRenderer (const String &rendererType) |
| Internal method for creating a new renderer from a factory. | |
| void | _destroyAffector (ParticleAffector *affector) |
| Internal method for destroying an affector. | |
| void | _destroyEmitter (ParticleEmitter *emitter) |
| Internal method for destroying an emitter. | |
| void | _destroyRenderer (ParticleSystemRenderer *renderer) |
| Internal method for destroying a renderer. | |
| ParticleSystemFactory * | _getFactory (void) |
| Get an instance of ParticleSystemFactory (internal use). | |
| void | _initialise (void) |
| Init method to be called by OGRE system. | |
| void | addAffectorFactory (ParticleAffectorFactory *factory) |
| Adds a new 'factory' object for affectors to the list of available affector types. | |
| void | addEmitterFactory (ParticleEmitterFactory *factory) |
| Adds a new 'factory' object for emitters to the list of available emitter types. | |
| void | addRendererFactory (ParticleSystemRendererFactory *factory) |
| Registers a factory class for creating ParticleSystemRenderer instances. | |
| void | addTemplate (const String &name, ParticleSystem *sysTemplate) |
| Adds a new particle system template to the list of available templates. | |
| ParticleSystem * | createTemplate (const String &name, const String &resourceGroup) |
| Create a new particle system template. | |
| ParticleAffectorFactoryIterator | getAffectorFactoryIterator (void) |
| Return an iterator over the affector factories currently registered. | |
| ParticleEmitterFactoryIterator | getEmitterFactoryIterator (void) |
| Return an iterator over the emitter factories currently registered. | |
| Real | getLoadingOrder (void) const |
| ParticleRendererFactoryIterator | getRendererFactoryIterator (void) |
| Return an iterator over the renderer factories currently registered. | |
| const StringVector & | getScriptPatterns (void) const |
| ParticleSystem * | getTemplate (const String &name) |
| Retrieves a particle system template for possible modification. | |
| ParticleSystemTemplateIterator | getTemplateIterator (void) |
| Gets an iterator over the list of particle system templates. | |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, void *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void * | operator new[] (size_t sz) |
| void | parseScript (DataStreamPtr &stream, const String &groupName) |
| void | removeAllTemplates (bool deleteTemplate=true) |
| Removes a specified template from the ParticleSystemManager. | |
| void | removeTemplate (const String &name, bool deleteTemplate=true) |
| Removes a specified template from the ParticleSystemManager. | |
| void | removeTemplatesByResourceGroup (const String &resourceGroup) |
| Removes all templates that belong to a secific Resource Group from the ParticleSystemManager. | |
Static Public Member Functions | |
| static ParticleSystemManager & | getSingleton (void) |
| Override standard Singleton retrieval. | |
| static ParticleSystemManager * | getSingletonPtr (void) |
| Override standard Singleton retrieval. | |
Protected Member Functions | |
| ParticleSystem * | createSystemImpl (const String &name, size_t quota, const String &resourceGroup) |
| Internal implementation of createSystem. | |
| ParticleSystem * | createSystemImpl (const String &name, const String &templateName) |
| Internal implementation of createSystem. | |
| void | destroySystemImpl (ParticleSystem *sys) |
| Internal implementation of destroySystem. | |
| void | parseAffectorAttrib (const String &line, ParticleAffector *sys) |
| Internal script parsing method. | |
| void | parseAttrib (const String &line, ParticleSystem *sys) |
| Internal script parsing method. | |
| void | parseEmitterAttrib (const String &line, ParticleEmitter *sys) |
| Internal script parsing method. | |
| void | parseNewAffector (const String &type, DataStreamPtr &chunk, ParticleSystem *sys) |
| Internal script parsing method. | |
| void | parseNewEmitter (const String &type, DataStreamPtr &chunk, ParticleSystem *sys) |
| Internal script parsing method. | |
| void | skipToNextCloseBrace (DataStreamPtr &chunk) |
| Internal script parsing method. | |
| void | skipToNextOpenBrace (DataStreamPtr &chunk) |
| Internal script parsing method. | |
Protected Attributes | |
| ParticleAffectorFactoryMap | mAffectorFactories |
| Factories for named affector types (can be extended using plugins) | |
| ParticleEmitterFactoryMap | mEmitterFactories |
| Factories for named emitter types (can be extended using plugins) | |
| ParticleSystemFactory * | mFactory |
| ParticleSystemRendererFactoryMap | mRendererFactories |
| Map of renderer types to factories. | |
| StringVector | mScriptPatterns |
| ParticleTemplateMap | mSystemTemplates |
| Templates based on scripts. | |
| OGRE_AUTO_MUTEX | |
Static Protected Attributes | |
| static ParticleSystemManager * | msSingleton |
Friends | |
| class | ParticleSystemFactory |
Manages particle systems, particle system scripts (templates) and the available emitter & affector factories.
Definition at line 77 of file OgreParticleSystemManager.h.
| typedef MapIterator<ParticleAffectorFactoryMap> Ogre::ParticleSystemManager::ParticleAffectorFactoryIterator |
Definition at line 329 of file OgreParticleSystemManager.h.
| typedef map<String, ParticleAffectorFactory*>::type Ogre::ParticleSystemManager::ParticleAffectorFactoryMap |
Definition at line 83 of file OgreParticleSystemManager.h.
| typedef MapIterator<ParticleEmitterFactoryMap> Ogre::ParticleSystemManager::ParticleEmitterFactoryIterator |
Definition at line 330 of file OgreParticleSystemManager.h.
| typedef map<String, ParticleEmitterFactory*>::type Ogre::ParticleSystemManager::ParticleEmitterFactoryMap |
Definition at line 84 of file OgreParticleSystemManager.h.
| typedef MapIterator<ParticleSystemRendererFactoryMap> Ogre::ParticleSystemManager::ParticleRendererFactoryIterator |
Definition at line 331 of file OgreParticleSystemManager.h.
| typedef map<String, ParticleSystemRendererFactory*>::type Ogre::ParticleSystemManager::ParticleSystemRendererFactoryMap |
Definition at line 85 of file OgreParticleSystemManager.h.
| typedef MapIterator<ParticleTemplateMap> Ogre::ParticleSystemManager::ParticleSystemTemplateIterator |
Definition at line 340 of file OgreParticleSystemManager.h.
| typedef map<String, ParticleSystem*>::type Ogre::ParticleSystemManager::ParticleTemplateMap |
Definition at line 82 of file OgreParticleSystemManager.h.
| virtual Ogre::ParticleSystemManager::~ParticleSystemManager | ( | ) | [virtual] |
| 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 |
| 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 |
| 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::_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. |
| 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. |
| 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. |
Get an instance of ParticleSystemFactory (internal use).
Definition at line 349 of file OgreParticleSystemManager.h.
| void Ogre::ParticleSystemManager::_initialise | ( | void | ) |
Init method to be called by OGRE system.
| 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::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::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. |
| ParticleSystem* Ogre::ParticleSystemManager::createSystemImpl | ( | const String & | name, |
| size_t | quota, | ||
| const String & | resourceGroup | ||
| ) | [protected] |
Internal implementation of createSystem.
| ParticleSystem* Ogre::ParticleSystemManager::createSystemImpl | ( | const String & | name, |
| const String & | templateName | ||
| ) | [protected] |
Internal implementation of createSystem.
| 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. |
| void Ogre::ParticleSystemManager::destroySystemImpl | ( | ParticleSystem * | sys | ) | [protected] |
Internal implementation of destroySystem.
Return an iterator over the affector factories currently registered.
Return an iterator over the emitter factories currently registered.
| Real Ogre::ParticleSystemManager::getLoadingOrder | ( | void | ) | const [virtual] |
Gets the relative loading order of scripts of this type.
Implements Ogre::ScriptLoader.
Return an iterator over the renderer factories currently registered.
| const StringVector& Ogre::ParticleSystemManager::getScriptPatterns | ( | void | ) | const [virtual] |
Gets the file patterns which should be used to find scripts for this class.
Implements Ogre::ScriptLoader.
| static ParticleSystemManager& Ogre::ParticleSystemManager::getSingleton | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< ParticleSystemManager >.
| static ParticleSystemManager* Ogre::ParticleSystemManager::getSingletonPtr | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< ParticleSystemManager >.
| ParticleSystem* Ogre::ParticleSystemManager::getTemplate | ( | const String & | name | ) |
Retrieves a particle system template for possible modification.
Gets an iterator over the list of particle system templates.
Definition at line 342 of file OgreParticleSystemManager.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| void * | |||
| ) | [inherited] |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
| void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, |
| const char * | , | ||
| int | , | ||
| const char * | |||
| ) | [inherited] |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
| const char * | file, | ||
| int | line, | ||
| const char * | func | ||
| ) | [inherited] |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
| void * | ptr | ||
| ) | [inherited] |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, |
| const char * | file, | ||
| int | line, | ||
| const char * | func | ||
| ) | [inherited] |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
| void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
| void Ogre::ParticleSystemManager::parseAffectorAttrib | ( | const String & | line, |
| ParticleAffector * | sys | ||
| ) | [protected] |
Internal script parsing method.
| void Ogre::ParticleSystemManager::parseAttrib | ( | const String & | line, |
| ParticleSystem * | sys | ||
| ) | [protected] |
Internal script parsing method.
| void Ogre::ParticleSystemManager::parseEmitterAttrib | ( | const String & | line, |
| ParticleEmitter * | sys | ||
| ) | [protected] |
Internal script parsing method.
| void Ogre::ParticleSystemManager::parseNewAffector | ( | const String & | type, |
| DataStreamPtr & | chunk, | ||
| ParticleSystem * | sys | ||
| ) | [protected] |
Internal script parsing method.
| void Ogre::ParticleSystemManager::parseNewEmitter | ( | const String & | type, |
| DataStreamPtr & | chunk, | ||
| ParticleSystem * | sys | ||
| ) | [protected] |
Internal script parsing method.
| void Ogre::ParticleSystemManager::parseScript | ( | DataStreamPtr & | stream, |
| const String & | groupName | ||
| ) | [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.
| 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::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::removeTemplatesByResourceGroup | ( | const String & | resourceGroup | ) |
Removes all templates that belong to a secific Resource Group from the ParticleSystemManager.
| resourceGroup | Resource group to delete templates for |
| void Ogre::ParticleSystemManager::skipToNextCloseBrace | ( | DataStreamPtr & | chunk | ) | [protected] |
Internal script parsing method.
| void Ogre::ParticleSystemManager::skipToNextOpenBrace | ( | DataStreamPtr & | chunk | ) | [protected] |
Internal script parsing method.
friend class ParticleSystemFactory [friend] |
Definition at line 80 of file OgreParticleSystemManager.h.
Factories for named affector types (can be extended using plugins)
Definition at line 96 of file OgreParticleSystemManager.h.
Factories for named emitter types (can be extended using plugins)
Definition at line 93 of file OgreParticleSystemManager.h.
Definition at line 104 of file OgreParticleSystemManager.h.
Map of renderer types to factories.
Definition at line 99 of file OgreParticleSystemManager.h.
Definition at line 101 of file OgreParticleSystemManager.h.
ParticleSystemManager * Ogre::Singleton< ParticleSystemManager >::msSingleton [static, protected, inherited] |
Definition at line 75 of file OgreSingleton.h.
Templates based on scripts.
Definition at line 90 of file OgreParticleSystemManager.h.
Ogre::ParticleSystemManager::OGRE_AUTO_MUTEX [protected] |
Definition at line 87 of file OgreParticleSystemManager.h.
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:41:29