|
Particle Universe
1.2
|
#include <ParticleUniverseSystemManager.h>

Static Public Member Functions | |
| static ParticleSystemManager & | getSingleton (void) |
| static ParticleSystemManager * | getSingletonPtr (void) |
Static Public Member Functions inherited from Ogre::Singleton< T > | |
| static T & | getSingleton (void) |
| static T * | getSingletonPtr (void) |
Protected Types | |
| typedef map< String, ParticleEmitterFactory * > | EmitterFactoryMap |
| typedef map< String, ParticleAffectorFactory * > | AffectorFactoryMap |
| typedef map< String, ParticleObserverFactory * > | ObserverFactoryMap |
| typedef map< String, ParticleEventHandlerFactory * > | EventHandlerFactoryMap |
| typedef map< String, ParticleRendererFactory * > | RendererFactoryMap |
| typedef map< String, ExternFactory * > | ExternFactoryMap |
| typedef map< String, ParticleBehaviourFactory * > | BehaviourFactoryMap |
| typedef map< String, IAlias * > | AliasMap |
| typedef map< String, ParticleSystem * > | ParticleSystemTemplateMap |
| typedef map< String, ParticleSystem * > | ParticleSystemMap |
Protected Member Functions | |
| ParticleSystem * | _createSystemImpl (const String &name) |
| ParticleSystem * | _createSystemImpl (const String &name, const String &templateName) |
| void | _destroySystemImpl (ParticleSystem *particleSystem) |
Friends | |
| class | ParticleSystemFactory |
The ParticleSystemManager manages particle systems, particle system scripts (templates), etc. It is also responsible for actually creating techniques, emitters, observers, etc.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| ParticleUniverse::ParticleSystemManager::ParticleSystemManager | ( | void | ) |
| ParticleUniverse::ParticleSystemManager::~ParticleSystemManager | ( | void | ) |
|
protected |
Implementation of creating a particle system used by the MovableObject factory.
|
protected |
Implementation of creating a particle system used by the MovableObject factory.
|
protected |
Delete a particle system.
| AliasMap* ParticleUniverse::ParticleSystemManager::_getAliasMap | ( | void | ) |
Returns the alias map. Not for general purposes; only use it if you really need it.
| void ParticleUniverse::ParticleSystemManager::addAffectorFactory | ( | ParticleAffectorFactory * | factory | ) |
Add a ParticleAffectorFactory to this ParticleSystemManager.
| factory | Pointer to a ParticleAffectorFactory subclass created by the plugin or application code. |
| void ParticleUniverse::ParticleSystemManager::addAlias | ( | IAlias * | alias | ) |
Add an alias to this ParticleSystemManager.
| void ParticleUniverse::ParticleSystemManager::addBehaviourFactory | ( | ParticleBehaviourFactory * | factory | ) |
Add a BehaviourFactory to this ParticleSystemManager.
| void ParticleUniverse::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 ParticleUniverse::ParticleSystemManager::addEventHandlerFactory | ( | ParticleEventHandlerFactory * | factory | ) |
Add a ParticleEventHandlerFactory to this ParticleSystemManager.
| factory | Pointer to a ParticleEventHandlerFactory subclass created by the plugin or application code. |
| void ParticleUniverse::ParticleSystemManager::addExternFactory | ( | ExternFactory * | factory | ) |
Add a ExternFactory to this ParticleSystemManager.
| void ParticleUniverse::ParticleSystemManager::addObserverFactory | ( | ParticleObserverFactory * | factory | ) |
Add a ParticleObserverFactory to this ParticleSystemManager.
| factory | Pointer to a ParticleObserverFactory subclass created by the plugin or application code. |
| void ParticleUniverse::ParticleSystemManager::addParticleSystemTemplate | ( | const String & | name, |
| ParticleSystem * | systemTemplate | ||
| ) |
Add a ParticleSystem template to this ParticleSystemManager.
| void ParticleUniverse::ParticleSystemManager::addRendererFactory | ( | ParticleRendererFactory * | factory | ) |
Add a ParticleRendererFactory to this ParticleSystemManager.
| ParticleAffector* ParticleUniverse::ParticleSystemManager::cloneAffector | ( | ParticleAffector * | affector | ) |
Clone a ParticleAffector.
| ParticleBehaviour* ParticleUniverse::ParticleSystemManager::cloneBehaviour | ( | ParticleBehaviour * | behaviour | ) |
Clone a Behaviour object.
| ParticleEmitter* ParticleUniverse::ParticleSystemManager::cloneEmitter | ( | ParticleEmitter * | emitter | ) |
Clone a ParticleEmitter.
| ParticleEventHandler* ParticleUniverse::ParticleSystemManager::cloneEventHandler | ( | ParticleEventHandler * | eventHandler | ) |
Clone a ParticleEventHandler.
Clone an Extern object.
| ParticleObserver* ParticleUniverse::ParticleSystemManager::cloneObserver | ( | ParticleObserver * | observer | ) |
Clone a ParticleObserver.
| ParticleRenderer* ParticleUniverse::ParticleSystemManager::cloneRenderer | ( | ParticleRenderer * | renderer | ) |
Clone a ParticleRenderer.
| ParticleTechnique* ParticleUniverse::ParticleSystemManager::cloneTechnique | ( | ParticleTechnique * | technique | ) |
Clone a ParticleTechnique.
| ParticleAffector* ParticleUniverse::ParticleSystemManager::createAffector | ( | const String & | affectorType | ) |
Create a ParticleAffector given a type.
| ParticleBehaviour* ParticleUniverse::ParticleSystemManager::createBehaviour | ( | const String & | behaviourType | ) |
Create a Behaviour object.
| BoxSet* ParticleUniverse::ParticleSystemManager::createBoxSet | ( | const String & | name, |
| Ogre::SceneManager * | sceneManager, | ||
| const uint | poolSize = 20 |
||
| ) |
Create a BoxSet. This is similar to a BillboardSet, instead it uses boxes.
| CameraDependency* ParticleUniverse::ParticleSystemManager::createCameraDependency | ( | void | ) |
Returns Camera Dependency.
| void ParticleUniverse::ParticleSystemManager::createDepthMap | ( | Camera * | camera, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Create a depth map (texture) of all visible scene objects, except overlays and particle systems that render soft particles.
| DynamicAttribute* ParticleUniverse::ParticleSystemManager::createDynamicAttribute | ( | DynamicAttribute::DynamicAttributeType | type | ) |
Create a DynamicAttribute.
| ParticleEmitter* ParticleUniverse::ParticleSystemManager::createEmitter | ( | const String & | emitterType | ) |
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. |
| ParticleEventHandler* ParticleUniverse::ParticleSystemManager::createEventHandler | ( | const String & | eventHandlerType | ) |
Create a ParticleEventHandler given a certain type.
Create an Extern object.
| ParticleObserver* ParticleUniverse::ParticleSystemManager::createObserver | ( | const String & | observerType | ) |
Create a ParticleObserver given a certain type.
| ParticleSystem* ParticleUniverse::ParticleSystemManager::createParticleSystem | ( | const String & | name, |
| const String & | templateName, | ||
| Ogre::SceneManager * | sceneManager | ||
| ) |
Creates a ParticleSystem, using a template as a blueprint.
| ParticleSystem* ParticleUniverse::ParticleSystemManager::createParticleSystem | ( | const String & | name, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Creates a default ParticleSystem.
| ParticleSystem* ParticleUniverse::ParticleSystemManager::createParticleSystemTemplate | ( | const String & | name, |
| const String & | resourceGroupName | ||
| ) |
Create a ParticleSystemTemplate.
| ParticleRenderer* ParticleUniverse::ParticleSystemManager::createRenderer | ( | const String & | rendererType | ) |
Create a ParticleRenderer.
| SphereSet* ParticleUniverse::ParticleSystemManager::createSphereSet | ( | const String & | name, |
| Ogre::SceneManager * | sceneManager, | ||
| const uint | poolSize = 20 |
||
| ) |
Create a SphereSet. This is similar to a BillboardSet, instead it uses spheres.
| ParticleTechnique* ParticleUniverse::ParticleSystemManager::createTechnique | ( | void | ) |
Create a ParticleTechnique.
| void ParticleUniverse::ParticleSystemManager::destroyAffector | ( | ParticleAffector * | affector | ) |
Delete a ParticleAffector.
| void ParticleUniverse::ParticleSystemManager::destroyAffectorFactory | ( | const String & | affectorType | ) |
Delete a ParticleAffectorFactory. Search by its type.
| void ParticleUniverse::ParticleSystemManager::destroyAlias | ( | IAlias * | alias | ) |
Delete an alias from the ParticleSystemManager.
| void ParticleUniverse::ParticleSystemManager::destroyAllAliasses | ( | void | ) |
Delete all aliasses.
| void ParticleUniverse::ParticleSystemManager::destroyAllParticleSystems | ( | Ogre::SceneManager * | sceneManager | ) |
Destroy all registered particle systems.
| void ParticleUniverse::ParticleSystemManager::destroyAllParticleSystemTemplates | ( | void | ) |
Remove all registered templates
| void ParticleUniverse::ParticleSystemManager::destroyBehaviour | ( | ParticleBehaviour * | behaviour | ) |
Delete a Behaviour object.
| void ParticleUniverse::ParticleSystemManager::destroyBehaviourFactory | ( | const String & | behaviourType | ) |
Delete a BehaviourFactory given a certain type.
| void ParticleUniverse::ParticleSystemManager::destroyBoxSet | ( | BoxSet * | boxSet, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Destroy the BoxSet.
| void ParticleUniverse::ParticleSystemManager::destroyDepthMap | ( | void | ) |
Perform cleanup activities.
| void ParticleUniverse::ParticleSystemManager::destroyEmitter | ( | ParticleEmitter * | emitter | ) |
Delete a ParticleEmitter.
| void ParticleUniverse::ParticleSystemManager::destroyEmitterFactory | ( | const String & | emitterType | ) |
Delete an ParticleEmitterFactory. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::destroyEventHandler | ( | ParticleEventHandler * | eventHandler | ) |
Delete a ParticleEventHandler.
| void ParticleUniverse::ParticleSystemManager::destroyEventHandlerFactory | ( | const String & | eventHandlerType | ) |
Delete a ParticleEventHandlerFactory given a certain type.
| void ParticleUniverse::ParticleSystemManager::destroyExtern | ( | Extern * | externObject | ) |
Delete an Extern object.
| void ParticleUniverse::ParticleSystemManager::destroyExternFactory | ( | const String & | externType | ) |
Delete a ExternFactory given a certain type.
| void ParticleUniverse::ParticleSystemManager::destroyObserver | ( | ParticleObserver * | observer | ) |
Destroye a ParticleObserver.
| void ParticleUniverse::ParticleSystemManager::destroyObserverFactory | ( | const String & | observerType | ) |
Delete a ParticleObserverFactory given its type.
| void ParticleUniverse::ParticleSystemManager::destroyParticleSystem | ( | ParticleSystem * | particleSystem, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
This is the function that must be used by the client application that wants to delete a ParticleSystem.
| void ParticleUniverse::ParticleSystemManager::destroyParticleSystem | ( | const String & | particleSystemName, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Delete a ParticleSystem.
| void ParticleUniverse::ParticleSystemManager::destroyParticleSystemTemplate | ( | const String & | templateName | ) |
Remove a particle system template and delete it.
| void ParticleUniverse::ParticleSystemManager::destroyRenderer | ( | ParticleRenderer * | renderer | ) |
Delete a ParticleRenderer.
| void ParticleUniverse::ParticleSystemManager::destroyRendererFactory | ( | const String & | rendererType | ) |
Delete a ParticleRendererFactory given a certain type.
| void ParticleUniverse::ParticleSystemManager::destroySphereSet | ( | SphereSet * | sphereSet, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Destroy the SphereSet.
| void ParticleUniverse::ParticleSystemManager::destroyTechnique | ( | ParticleTechnique * | technique | ) |
Delete a ParticleTechnique.
| ParticleAffectorFactory* ParticleUniverse::ParticleSystemManager::getAffectorFactory | ( | const String & | affectorType | ) |
Searches a ParticleAffectorFactory.
Returns an alias.
| ParticleBehaviourFactory* ParticleUniverse::ParticleSystemManager::getBehaviourFactory | ( | const String & | behaviourType | ) |
Searches a ParticleBehaviourFactory.
| Real ParticleUniverse::ParticleSystemManager::getDepthScale | ( | void | ) | const |
Used to scale the values of the generated depth map
| const String& ParticleUniverse::ParticleSystemManager::getDepthTextureName | ( | void | ) |
Returns the name of the depth texture.
| ParticleEmitterFactory* ParticleUniverse::ParticleSystemManager::getEmitterFactory | ( | const String & | emitterType | ) |
Searches a ParticleEmitterFactory.
| ParticleEventHandlerFactory* ParticleUniverse::ParticleSystemManager::getEventHandlerFactory | ( | const String & | eventHandlerType | ) |
Searches a ParticleEventHandlerFactory.
| ExternFactory* ParticleUniverse::ParticleSystemManager::getExternFactory | ( | const String & | externType | ) |
Searches an ExternFactory.
| const String& ParticleUniverse::ParticleSystemManager::getLastCreatedParticleSystemTemplateName | ( | void | ) |
Returns the name of the last created template. Because the templates are often created by means of a script, it is not straightforward to get the template name. It is embedded in the script. Only afterwards it is possible to get the name of the created template, by using this function.
| ParticleObserverFactory* ParticleUniverse::ParticleSystemManager::getObserverFactory | ( | const String & | observerType | ) |
Searches a ParticleObserverFactory.
| ParticleScriptSerializer* ParticleUniverse::ParticleSystemManager::getParticleScriptSerializer | ( | void | ) | const |
Returns the ParticleScriptSerializer.
| ParticleSystem* ParticleUniverse::ParticleSystemManager::getParticleSystem | ( | const String & | name | ) |
Get a ParticleSystem by name.
| ParticleSystem* ParticleUniverse::ParticleSystemManager::getParticleSystemTemplate | ( | const String & | templateName | ) |
Retrieves a particle system template.
| ParticleRendererFactory* ParticleUniverse::ParticleSystemManager::getRendererFactory | ( | const String & | rendererType | ) |
Searches a ParticleRendererFactory.
|
static |
Override standard Singleton retrieval.
|
static |
Override standard Singleton retrieval.
| bool ParticleUniverse::ParticleSystemManager::isAutoLoadMaterials | ( | void | ) | const |
Determines whether materials must be loaded dynamically or not. If the function returns 'false', the materials must be loaded manually.
| bool ParticleUniverse::ParticleSystemManager::notifyDepthMapNeeded | ( | Camera * | camera, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Notify the Particle System Manager that is depthmap is needed.
Fill a list of template names in the vector.
| void ParticleUniverse::ParticleSystemManager::registerAttachable | ( | Attachable * | attachable, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Registers a previously created Attachable. This is needed, because the scenemanager has to know.
| void ParticleUniverse::ParticleSystemManager::registerSoftParticlesRenderer | ( | ParticleRenderer * | renderer | ) |
Register the renderer, because it renders soft particles.
| void ParticleUniverse::ParticleSystemManager::removeAffectorFactory | ( | const String & | affectorType | ) |
Remove an ParticleAffectorFactory, but doesn't delete it. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::removeAndDestroyDanglingSceneNodes | ( | Ogre::SceneNode * | sceneNode | ) |
Removes and deletes any SceneNode was created by a Particle System
| void ParticleUniverse::ParticleSystemManager::removeBehaviourFactory | ( | const String & | affectorType | ) |
Remove an ParticleBehaviourFactory, but doesn't delete it. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::removeEmitterFactory | ( | const String & | emitterType | ) |
Remove an ParticleEmitterFactory, but doesn't delete it. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::removeEventHandlerFactory | ( | const String & | affectorType | ) |
Remove an ParticleEventHandlerFactory, but doesn't delete it. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::removeExternFactory | ( | const String & | affectorType | ) |
Remove an ParticleExternFactory, but doesn't delete it. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::removeObserverFactory | ( | const String & | affectorType | ) |
Remove an ParticleObserverFactory, but doesn't delete it. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::removeRendererFactory | ( | const String & | affectorType | ) |
Remove an ParticleRendererFactory, but doesn't delete it. Search the factory by its type.
| void ParticleUniverse::ParticleSystemManager::replaceParticleSystemTemplate | ( | const String & | name, |
| ParticleSystem * | system | ||
| ) |
| void ParticleUniverse::ParticleSystemManager::resetExternDepthTextureName | ( | void | ) |
Reset the external depth texture name, so it is not used anymore.
| void ParticleUniverse::ParticleSystemManager::setAutoLoadMaterials | ( | bool | autoLoadMaterials | ) |
Determines whether materials must be loaded dynamically or not.
| void ParticleUniverse::ParticleSystemManager::setDepthScale | ( | Real | depthScale | ) |
| void ParticleUniverse::ParticleSystemManager::setExternDepthTextureName | ( | const String & | depthTextureName | ) |
| void ParticleUniverse::ParticleSystemManager::unregisterAttachable | ( | Attachable * | attachable, |
| Ogre::SceneManager * | sceneManager | ||
| ) |
Unregisters a created Attachable.
| void ParticleUniverse::ParticleSystemManager::unregisterSoftParticlesRenderer | ( | ParticleRenderer * | renderer | ) |
Unregister the renderer, because it will not use soft particles anymore.
|
inlinevirtual |
Implements ParticleUniverse::ScriptWriter.
| void ParticleUniverse::ParticleSystemManager::writeScript | ( | ParticleSystem * | particleSystem, |
| const String & | fileName | ||
| ) |
Writes a ParticleSystem to a file in the script format.
| const String& ParticleUniverse::ParticleSystemManager::writeScript | ( | ParticleSystem * | particleSystem | ) |
Writes a ParticleSystem to string in the script format.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |