|
OGRE
1.9.0
|
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 |
| Gets the relative loading order of scripts of this type. | |
| ParticleRendererFactoryIterator | getRendererFactoryIterator (void) |
| Return an iterator over the renderer factories currently registered. | |
| const StringVector & | getScriptPatterns (void) const |
| Gets the file patterns which should be used to find scripts for this class. | |
| 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 | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, const char *, int, const char *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete (void *ptr, void *) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void | operator delete[] (void *ptr, const char *, int, const char *) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz) |
| 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, const char *file, int line, const char *func) |
| operator new, with debug line info | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new (size_t sz, void *ptr) |
| placement operator new | |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz) |
| 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, const char *file, int line, const char *func) |
| array operator new, with debug line info | |
| void | parseScript (DataStreamPtr &stream, const String &groupName) |
| Parse a script file. | |
| 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, const String &templateName) |
| Internal implementation of createSystem. | |
| ParticleSystem * | createSystemImpl (const String &name, size_t quota, const String &resourceGroup) |
| 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.
| Ogre::ParticleSystemManager::ParticleSystemManager | ( | ) |
Referenced by getSingleton(), and getSingletonPtr().
|
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. |
| ParticleSystemFactory * Ogre::ParticleSystemManager::_getFactory | ( | void | ) |
Get an instance of ParticleSystemFactory (internal use).
Definition at line 349 of file OgreParticleSystemManager.h.
References mFactory, and ParticleSystemFactory.
| 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. |
|
protected |
Internal implementation of createSystem.
|
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. |
|
protected |
Internal implementation of destroySystem.
| 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.
|
virtual |
Gets the relative loading order of scripts of this type.
Implements Ogre::ScriptLoader.
| ParticleRendererFactoryIterator Ogre::ParticleSystemManager::getRendererFactoryIterator | ( | void | ) |
Return an iterator over the renderer factories currently registered.
|
virtual |
Gets the file patterns which should be used to find scripts for this class.
Implements Ogre::ScriptLoader.
|
static |
Override standard Singleton retrieval.
References ParticleSystemManager().
|
static |
Override standard Singleton retrieval.
References ParticleSystemManager().
| ParticleSystem * Ogre::ParticleSystemManager::getTemplate | ( | const String & | name | ) |
Retrieves a particle system template for possible modification.
| ParticleSystemTemplateIterator Ogre::ParticleSystemManager::getTemplateIterator | ( | void | ) |
Gets an iterator over the list of particle system templates.
Definition at line 342 of file OgreParticleSystemManager.h.
References mSystemTemplates.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 96 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 108 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 102 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 113 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 119 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 73 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
operator new, with debug line info
Definition at line 68 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
placement operator new
Definition at line 79 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
Definition at line 91 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
inherited |
array operator new, with debug line info
Definition at line 86 of file OgreMemoryAllocatedObject.h.
|
protected |
Internal script parsing method.
|
protected |
Internal script parsing method.
|
protected |
Internal script parsing method.
|
protected |
Internal script parsing method.
|
protected |
Internal script parsing method.
|
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 |
|
protected |
Internal script parsing method.
|
protected |
Internal script parsing method.
|
friend |
Definition at line 80 of file OgreParticleSystemManager.h.
References ParticleSystemFactory.
Referenced by _getFactory(), and ParticleSystemFactory.
|
protected |
Factories for named affector types (can be extended using plugins)
Definition at line 96 of file OgreParticleSystemManager.h.
|
protected |
Factories for named emitter types (can be extended using plugins)
Definition at line 93 of file OgreParticleSystemManager.h.
|
protected |
Definition at line 104 of file OgreParticleSystemManager.h.
Referenced by _getFactory().
|
protected |
Map of renderer types to factories.
Definition at line 99 of file OgreParticleSystemManager.h.
|
protected |
Definition at line 101 of file OgreParticleSystemManager.h.
|
staticprotectedinherited |
Definition at line 75 of file OgreSingleton.h.
|
protected |
Templates based on scripts.
Definition at line 90 of file OgreParticleSystemManager.h.
Referenced by getTemplateIterator().
|
protected |
Definition at line 87 of file OgreParticleSystemManager.h.
1.13.2