Manages particle systems, particle system scripts (templates) and the available emitter & affector factories. More...
#include <OgreParticleSystemManager.h>
Public Types | |
typedef map< String, ParticleSystem * >::type | ParticleTemplateMap |
typedef map< String, ParticleAffectorFactory * > ::type | ParticleAffectorFactoryMap |
typedef map< String, ParticleEmitterFactory * > ::type | ParticleEmitterFactoryMap |
typedef map< String, ParticleSystemRendererFactory * > ::type | ParticleSystemRendererFactoryMap |
typedef MapIterator < ParticleAffectorFactoryMap > | ParticleAffectorFactoryIterator |
typedef MapIterator < ParticleEmitterFactoryMap > | ParticleEmitterFactoryIterator |
typedef MapIterator < ParticleSystemRendererFactoryMap > | ParticleRendererFactoryIterator |
typedef MapIterator < ParticleTemplateMap > | ParticleSystemTemplateIterator |
Public Member Functions | |
ParticleSystemManager () | |
virtual | ~ParticleSystemManager () |
void | addEmitterFactory (ParticleEmitterFactory *factory) |
Adds a new 'factory' object for emitters to the list of available emitter types. | |
void | addAffectorFactory (ParticleAffectorFactory *factory) |
Adds a new 'factory' object for affectors to the list of available affector 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. | |
void | removeTemplate (const String &name, bool deleteTemplate=true) |
Removes a specified template from the ParticleSystemManager. | |
void | removeAllTemplates (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. | |
ParticleSystem * | createTemplate (const String &name, const String &resourceGroup) |
Create a new particle system template. | |
ParticleSystem * | getTemplate (const String &name) |
Retrieves a particle system template for possible modification. | |
ParticleEmitter * | _createEmitter (const String &emitterType, ParticleSystem *psys) |
Internal method for creating a new emitter from a factory. | |
void | _destroyEmitter (ParticleEmitter *emitter) |
Internal method for destroying an emitter. | |
ParticleAffector * | _createAffector (const String &affectorType, ParticleSystem *psys) |
Internal method for creating a new affector from a factory. | |
void | _destroyAffector (ParticleAffector *affector) |
Internal method for destroying an affector. | |
ParticleSystemRenderer * | _createRenderer (const String &rendererType) |
Internal method for creating a new renderer from a factory. | |
void | _destroyRenderer (ParticleSystemRenderer *renderer) |
Internal method for destroying a renderer. | |
void | _initialise (void) |
Init method to be called by OGRE system. | |
const StringVector & | getScriptPatterns (void) const |
void | parseScript (DataStreamPtr &stream, const String &groupName) |
Real | getLoadingOrder (void) const |
ParticleAffectorFactoryIterator | getAffectorFactoryIterator (void) |
Return an iterator over the affector factories currently registered. | |
ParticleEmitterFactoryIterator | getEmitterFactoryIterator (void) |
Return an iterator over the emitter factories currently registered. | |
ParticleRendererFactoryIterator | getRendererFactoryIterator (void) |
Return an iterator over the renderer factories currently registered. | |
ParticleSystemTemplateIterator | getTemplateIterator (void) |
Gets an iterator over the list of particle system templates. | |
ParticleSystemFactory * | _getFactory (void) |
Get an instance of ParticleSystemFactory (internal use). | |
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 | 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 *) |
Static Public Member Functions | |
static ParticleSystemManager & | getSingleton (void) |
Override standard Singleton retrieval. | |
static ParticleSystemManager * | getSingletonPtr (void) |
Override standard Singleton retrieval. | |
Protected Member Functions | |
void | parseNewEmitter (const String &type, DataStreamPtr &chunk, ParticleSystem *sys) |
Internal script parsing method. | |
void | parseNewAffector (const String &type, DataStreamPtr &chunk, ParticleSystem *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 | parseAffectorAttrib (const String &line, ParticleAffector *sys) |
Internal script parsing method. | |
void | skipToNextCloseBrace (DataStreamPtr &chunk) |
Internal script parsing method. | |
void | skipToNextOpenBrace (DataStreamPtr &chunk) |
Internal script parsing method. | |
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. | |
Protected Attributes | |
OGRE_AUTO_MUTEX ParticleTemplateMap | mSystemTemplates |
Templates based on scripts. | |
ParticleEmitterFactoryMap | mEmitterFactories |
Factories for named emitter types (can be extended using plugins). | |
ParticleAffectorFactoryMap | mAffectorFactories |
Factories for named affector types (can be extended using plugins). | |
ParticleSystemRendererFactoryMap | mRendererFactories |
Map of renderer types to factories. | |
StringVector | mScriptPatterns |
ParticleSystemFactory * | mFactory |
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 76 of file OgreParticleSystemManager.h.
typedef MapIterator<ParticleAffectorFactoryMap> Ogre::ParticleSystemManager::ParticleAffectorFactoryIterator |
Definition at line 328 of file OgreParticleSystemManager.h.
typedef map<String, ParticleAffectorFactory*>::type Ogre::ParticleSystemManager::ParticleAffectorFactoryMap |
Definition at line 82 of file OgreParticleSystemManager.h.
typedef MapIterator<ParticleEmitterFactoryMap> Ogre::ParticleSystemManager::ParticleEmitterFactoryIterator |
Definition at line 329 of file OgreParticleSystemManager.h.
typedef map<String, ParticleEmitterFactory*>::type Ogre::ParticleSystemManager::ParticleEmitterFactoryMap |
Definition at line 83 of file OgreParticleSystemManager.h.
typedef MapIterator<ParticleSystemRendererFactoryMap> Ogre::ParticleSystemManager::ParticleRendererFactoryIterator |
Definition at line 330 of file OgreParticleSystemManager.h.
typedef map<String, ParticleSystemRendererFactory*>::type Ogre::ParticleSystemManager::ParticleSystemRendererFactoryMap |
Definition at line 84 of file OgreParticleSystemManager.h.
typedef MapIterator<ParticleTemplateMap> Ogre::ParticleSystemManager::ParticleSystemTemplateIterator |
Definition at line 339 of file OgreParticleSystemManager.h.
typedef map<String, ParticleSystem*>::type Ogre::ParticleSystemManager::ParticleTemplateMap |
Definition at line 81 of file OgreParticleSystemManager.h.
Ogre::ParticleSystemManager::ParticleSystemManager | ( | ) |
virtual Ogre::ParticleSystemManager::~ParticleSystemManager | ( | ) | [virtual] |
ParticleAffector* Ogre::ParticleSystemManager::_createAffector | ( | const String & | affectorType, | |
ParticleSystem * | psys | |||
) |
Internal method for creating a new affector from a factory.
effectorType | 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 348 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, | |
const String & | templateName | |||
) | [protected] |
Internal implementation of createSystem.
ParticleSystem* Ogre::ParticleSystemManager::createSystemImpl | ( | const String & | name, | |
size_t | quota, | |||
const String & | resourceGroup | |||
) | [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.
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.
Real Ogre::ParticleSystemManager::getLoadingOrder | ( | void | ) | const [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.
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.
ParticleSystemTemplateIterator Ogre::ParticleSystemManager::getTemplateIterator | ( | void | ) |
Gets an iterator over the list of particle system templates.
Definition at line 341 of file OgreParticleSystemManager.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 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 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 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 85 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 | 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 79 of file OgreParticleSystemManager.h.
Factories for named affector types (can be extended using plugins).
Definition at line 95 of file OgreParticleSystemManager.h.
Factories for named emitter types (can be extended using plugins).
Definition at line 92 of file OgreParticleSystemManager.h.
Definition at line 103 of file OgreParticleSystemManager.h.
Map of renderer types to factories.
Definition at line 98 of file OgreParticleSystemManager.h.
Definition at line 100 of file OgreParticleSystemManager.h.
ParticleSystemManager * Ogre::Singleton< ParticleSystemManager >::msSingleton [static, protected, inherited] |
Definition at line 75 of file OgreSingleton.h.
OGRE_AUTO_MUTEX ParticleTemplateMap Ogre::ParticleSystemManager::mSystemTemplates [protected] |
Templates based on scripts.
Definition at line 89 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 Fri May 25 23:38:47 2012