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 |