28 #ifndef __ParticleSystemManager_H__
29 #define __ParticleSystemManager_H__
44 class ParticleSystemFactory;
123 const String& resourceGroup);
211 void removeTemplate(
const String& name,
bool deleteTemplate =
true);
219 void removeAllTemplates(
bool deleteTemplate =
true);
228 void removeTemplatesByResourceGroup(
const String& resourceGroup);
320 void _initialise(
void);
327 Real getLoadingOrder(
void)
const;
333 ParticleAffectorFactoryIterator getAffectorFactoryIterator(
void);
335 ParticleEmitterFactoryIterator getEmitterFactoryIterator(
void);
337 ParticleRendererFactoryIterator getRendererFactoryIterator(
void);
344 return ParticleSystemTemplateIterator(
345 mSystemTemplates.begin(), mSystemTemplates.end());
397 const String& getType(
void)
const;
MapIterator< ParticleEmitterFactoryMap > ParticleEmitterFactoryIterator
ParticleEmitterFactoryMap mEmitterFactories
Factories for named emitter types (can be extended using plugins)
Abstract class defining the interface used by classes which wish to perform script loading to define ...
Abstract class defining a movable object in a scene.
Factory object for creating ParticleSystem instances.
Concrete IteratorWrapper for nonconst access to the underlying key-value container.
float Real
Software floating point type.
map< String, ParticleSystemRendererFactory * >::type ParticleSystemRendererFactoryMap
vector< String >::type StringVector
MapIterator< ParticleAffectorFactoryMap > ParticleAffectorFactoryIterator
Abstract class defining the interface to be implemented by particle affectors.
static String FACTORY_TYPE_NAME
Abstract class definition of a factory object for ParticleSystemRenderer.
Abstract class defining the interface required to be implemented by classes which provide rendering c...
Abstract class defining the interface to be implemented by creators of ParticleEmitter subclasses...
map< String, ParticleSystem * >::type ParticleTemplateMap
map< String, String >::type NameValuePairList
Name / value parameter pair (first = name, second = value)
ParticleSystemTemplateIterator getTemplateIterator(void)
Gets an iterator over the list of particle system templates.
ParticleSystemFactory * mFactory
map< String, ParticleEmitterFactory * >::type ParticleEmitterFactoryMap
Abstract class defining the interface to be implemented by creators of ParticleAffector subclasses...
ParticleTemplateMap mSystemTemplates
Templates based on scripts.
MapIterator< ParticleTemplateMap > ParticleSystemTemplateIterator
ParticleSystemRendererFactoryMap mRendererFactories
Map of renderer types to factories.
StringVector mScriptPatterns
Abstract class defining the interface to be implemented by particle emitters.
MapIterator< ParticleSystemRendererFactoryMap > ParticleRendererFactoryIterator
Template class for creating single-instance global classes.
Class defining particle system based special effects.
Interface definition for a factory class which produces a certain kind of MovableObject, and can be registered with Root in order to allow all clients to produce new instances of this object, integrated with the standard Ogre processing.
map< String, ParticleAffectorFactory * >::type ParticleAffectorFactoryMap
ParticleSystemFactory * _getFactory(void)
Get an instance of ParticleSystemFactory (internal use).
Manages particle systems, particle system scripts (templates) and the available emitter & affector fa...
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
ParticleAffectorFactoryMap mAffectorFactories
Factories for named affector types (can be extended using plugins)