V-Gears 0
Free Final Fantasy VII engine.
ParticleSystemManager Class Reference

The particle system manager. More...

#include <ParticleSystemManager.h>

Inheritance diagram for ParticleSystemManager:
Collaboration diagram for ParticleSystemManager:

Public Member Functions

 ParticleSystemManager ()
 Constructor. More...
 
 ~ParticleSystemManager ()
 Constructor. More...
 
ParticleSystemCreateParticleSystemTemplate (const Ogre::String &name)
 Creates a particle system template. More...
 
ParticleSystemGetParticleSystemTemplate (const Ogre::String &template_name)
 Retrieves a particle system template. More...
 
void ParticleSystemTemplateNames (std::vector< Ogre::String > &v)
 Gets all template names. More...
 
ParticleSystemCreateParticleSystem (const Ogre::String &name, const Ogre::String &template_name)
 Creates a particle system. More...
 
void DestroyParticleSystem (ParticleSystem *particle_system)
 Destroys a particle system. More...
 
ParticleTechniqueCreateTechnique ()
 Creates a new technique. More...
 
ParticleTechniqueCloneTechnique (ParticleTechnique *technique)
 Duplicates a technique. More...
 
void DestroyTechnique (ParticleTechnique *technique)
 Destroys a technique. More...
 
ParticleEmitterCreateEmitter (const Ogre::String &emitter_type)
 Creates a new particle emitter. More...
 
ParticleEmitterCloneEmitter (ParticleEmitter *emitter)
 Duplicates a particle emitter. More...
 
void DestroyEmitter (ParticleEmitter *emitter)
 Destroys a particle emitter. More...
 
ParticleRendererCreateRenderer (const Ogre::String &renderer_type)
 Creates a new particle renderer. More...
 
ParticleRendererCloneRenderer (ParticleRenderer *renderer)
 Duplicates a renderer. More...
 
void DestroyRenderer (ParticleRenderer *renderer)
 Destroys a renderer. More...
 

Private Types

typedef std::map< Ogre::String, ParticleSystem * > ParticleSystemTemplateMap
 
typedef std::map< Ogre::String, ParticleEmitterFactory * > EmitterFactoryMap
 
typedef std::map< Ogre::String, ParticleRendererFactory * > RendererFactoryMap
 

Private Member Functions

void AddEmitterFactory (ParticleEmitterFactory *factory)
 Adds a new {. More...
 
void AddRendererFactory (ParticleRendererFactory *factory)
 Adds a new {. More...
 

Private Attributes

ParticleSystemFactoryparticle_system_factory_
 The particle system factory. More...
 
ParticleSystemTranslatorManagertranslator_manager_
 The translator manager. More...
 
ParticleSystemTemplateMap particle_system_templates_
 The particle system template map. More...
 
EmitterFactoryMap emitter_factories_
 List of particle emitter factories. More...
 
RendererFactoryMap renderer_factories_
 List of renderer factories. More...
 

Detailed Description

The particle system manager.

Member Typedef Documentation

◆ EmitterFactoryMap

typedef std::map<Ogre::String, ParticleEmitterFactory*> ParticleSystemManager::EmitterFactoryMap
private

◆ ParticleSystemTemplateMap

typedef std::map<Ogre::String, ParticleSystem*> ParticleSystemManager::ParticleSystemTemplateMap
private

◆ RendererFactoryMap

typedef std::map<Ogre::String, ParticleRendererFactory*> ParticleSystemManager::RendererFactoryMap
private

Constructor & Destructor Documentation

◆ ParticleSystemManager()

ParticleSystemManager::ParticleSystemManager ( )

Constructor.

◆ ~ParticleSystemManager()

ParticleSystemManager::~ParticleSystemManager ( )

Constructor.

Member Function Documentation

◆ AddEmitterFactory()

void ParticleSystemManager::AddEmitterFactory ( ParticleEmitterFactory factory)
private

Adds a new {.

See also
ParticleEmitterFactory} to the manager.
Parameters
[in]factoryThe factory to add to the manager.

◆ AddRendererFactory()

void ParticleSystemManager::AddRendererFactory ( ParticleRendererFactory factory)
private

Adds a new {.

See also
ParticleRendererFactory} to the manager.
Parameters
[in]factoryThe factory to add to the manager.

◆ CloneEmitter()

ParticleEmitter * ParticleSystemManager::CloneEmitter ( ParticleEmitter emitter)

Duplicates a particle emitter.

Parameters
[in]emitterEmitter to duplicate.
Returns
The new, duplicated emitter.

◆ CloneRenderer()

ParticleRenderer * ParticleSystemManager::CloneRenderer ( ParticleRenderer renderer)

Duplicates a renderer.

Parameters
[in]rendererrenderer to duplicate.
Returns
The new, duplicated renderer.

◆ CloneTechnique()

ParticleTechnique * ParticleSystemManager::CloneTechnique ( ParticleTechnique technique)

Duplicates a technique.

Parameters
[in]techniqueTechnique to duplicate.
Returns
The new, duplicated technique.

◆ CreateEmitter()

ParticleEmitter * ParticleSystemManager::CreateEmitter ( const Ogre::String &  emitter_type)

Creates a new particle emitter.

Parameters
[in]emitter_typeType for the emitter.

◆ CreateParticleSystem()

ParticleSystem * ParticleSystemManager::CreateParticleSystem ( const Ogre::String &  name,
const Ogre::String &  template_name 
)

Creates a particle system.

Parameters
[in]nameName for the template system.
[in]template_nameName for the system template.

◆ CreateParticleSystemTemplate()

ParticleSystem * ParticleSystemManager::CreateParticleSystemTemplate ( const Ogre::String &  name)

Creates a particle system template.

Parameters
[in]nameName for the template.
Returns
A new particle system template.

◆ CreateRenderer()

ParticleRenderer * ParticleSystemManager::CreateRenderer ( const Ogre::String &  renderer_type)

Creates a new particle renderer.

Parameters
[in]renderer_typeType for the renderer.
Returns
The newly created renderer.

◆ CreateTechnique()

ParticleTechnique * ParticleSystemManager::CreateTechnique ( )

Creates a new technique.

Returns
The new technique.

◆ DestroyEmitter()

void ParticleSystemManager::DestroyEmitter ( ParticleEmitter emitter)

Destroys a particle emitter.

Parameters
[out]emitterEmitter to destroy.

◆ DestroyParticleSystem()

void ParticleSystemManager::DestroyParticleSystem ( ParticleSystem particle_system)

Destroys a particle system.

Parameters
[out]particle_systemParticle system to destroy.

◆ DestroyRenderer()

void ParticleSystemManager::DestroyRenderer ( ParticleRenderer renderer)

Destroys a renderer.

Parameters
[out]rendererThe renderer to destroy.

◆ DestroyTechnique()

void ParticleSystemManager::DestroyTechnique ( ParticleTechnique technique)

Destroys a technique.

Parameters
[out]techniqueTechnique to destroy.

◆ GetParticleSystemTemplate()

ParticleSystem * ParticleSystemManager::GetParticleSystemTemplate ( const Ogre::String &  template_name)

Retrieves a particle system template.

Parameters
[in]template_nameThe name of the template to retrieve.
Returns
The template. 0 if no template with that name was found.

◆ ParticleSystemTemplateNames()

void ParticleSystemManager::ParticleSystemTemplateNames ( std::vector< Ogre::String > &  v)

Gets all template names.

Parameters
[out]vList where the names will be loaded.

Member Data Documentation

◆ emitter_factories_

EmitterFactoryMap ParticleSystemManager::emitter_factories_
private

List of particle emitter factories.

◆ particle_system_factory_

ParticleSystemFactory* ParticleSystemManager::particle_system_factory_
private

The particle system factory.

◆ particle_system_templates_

ParticleSystemTemplateMap ParticleSystemManager::particle_system_templates_
private

The particle system template map.

◆ renderer_factories_

RendererFactoryMap ParticleSystemManager::renderer_factories_
private

List of renderer factories.

◆ translator_manager_

ParticleSystemTranslatorManager* ParticleSystemManager::translator_manager_
private

The translator manager.


The documentation for this class was generated from the following files: