This is the proxy class for placing and manipulating particles in the scene. More...
#include <particlesystemproxy.h>
Public Types | |
typedef std::vector< ParticleAffector * > | AffectorContainer |
Basic container type for ParticleAffector storage by this class. | |
typedef AffectorContainer::iterator | AffectorIterator |
Iterator type for ParticleAffector instances stored by this class. | |
typedef AffectorContainer::const_iterator | ConstAffectorIterator |
Const Iterator type for ParticleAffector instances stored by this class. | |
typedef EmitterContainer::const_iterator | ConstEmitterIterator |
Const Iterator type for ParticleEmitter instances stored by this class. | |
typedef std::vector< ParticleEmitter * > | EmitterContainer |
Basic container type for ParticleEmitter storage by this class. | |
typedef EmitterContainer::iterator | EmitterIterator |
Iterator type for ParticleEmitter instances stored by this class. | |
Public Member Functions | |
ParticleSystemProxy (const UInt32 ID, const String &Template, SceneManager *Creator) | |
Template constructor. More... | |
ParticleSystemProxy (const XML::Node &SelfRoot, SceneManager *Creator) | |
XML constructor. More... | |
virtual | ~ParticleSystemProxy () |
Class destructor. | |
virtual Ogre::MovableObject * | _GetBaseGraphicsObject () const |
Accessor for the internal graphics object. More... | |
virtual Ogre::ParticleSystem * | _GetGraphicsObject () const |
Accessor for the internal particle system. More... | |
void | DestroyAffector (const UInt16 Index) |
Destroy's an Affector in use by this particle effect. More... | |
void | DestroyAllAffectors () |
Destroy's all Affectors in use by this particle effect. | |
void | DestroyAllEmitters () |
Destroy's all Emitters in use by this particle effect. | |
void | DestroyEmitter (const UInt16 Index) |
Destroy's an Emitter in use by this particle effect. More... | |
ParticleAffector * | GetAffector (const UInt16 Index) const |
Gets the Affector at the specified index. More... | |
String | GetCustomParam (const String &Name) const |
Gets a custom parameter of a particle effect. More... | |
virtual String | GetDerivedSerializableName () const |
Gets the most derived serializable name of this WorldProxy. More... | |
ParticleEmitter * | GetEmitter (const UInt16 Index) const |
Gets the Emitter at the specified index. More... | |
const String & | GetName () const |
Gets the name of this particle effect. More... | |
UInt16 | GetNumAffectors () const |
Gets the number of Affectors in use by this particle effect. More... | |
UInt16 | GetNumEmitters () const |
Gets the number of Emitters in use by this particle effect. More... | |
virtual Mezzanine::ProxyType | GetProxyType () const |
Accessor for the type of proxy. More... | |
Real | GetSpeedFactor () const |
Gets the Factor at which this ParticleEffect is currently progressing. More... | |
const String & | GetTemplate () const |
Gets the name of the template this particle effect is based on. More... | |
Boole | IsParticleSystemPaused () const |
Gets whether or not this particle system is currently paused. More... | |
void | PauseParticleSystem (Boole Pause) |
Pauses this proxy, preventing it from emitting, moving, or removing any particles. More... | |
virtual void | ProtoDeSerializeAffectors (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite the affectors of this object with it. More... | |
virtual void | ProtoDeSerializeCustomParameters (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite the custom altered parameters of this object with it. More... | |
virtual void | ProtoDeSerializeEmitters (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite the emitters of this object with it. More... | |
virtual void | ProtoDeSerializeProperties (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite the properties of this object with it. More... | |
virtual void | ProtoDeSerializeTemplate (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite the template name of this object with it. More... | |
virtual void | ProtoSerializeAffectors (XML::Node &SelfRoot) const |
Convert the affectors of this class to an XML::Node ready for serialization. More... | |
virtual void | ProtoSerializeCustomParameters (XML::Node &SelfRoot) const |
Convert the custom altered parameters of this class to an XML::Node ready for serialization. More... | |
virtual void | ProtoSerializeEmitters (XML::Node &SelfRoot) const |
Convert the emitters of this class to an XML::Node ready for serialization. More... | |
virtual void | ProtoSerializeProperties (XML::Node &SelfRoot) const |
Convert the properties of this class to an XML::Node ready for serialization. More... | |
virtual void | ProtoSerializeTemplate (XML::Node &SelfRoot) const |
Convert the template name of this class to an XML::Node ready for serialization. More... | |
void | SetCustomParam (const String &Name, const String &Value) |
Sets a custom parameter of a particle effect. More... | |
void | SetSpeedFactor (const Real Factor) |
Sets the factor at which time progresses for this ParticleEffect. More... | |
Public Member Functions inherited from Mezzanine::Graphics::RenderableProxy | |
RenderableProxy (SceneManager *Creator) | |
XML-assist Constructor. More... | |
RenderableProxy (const UInt32 ID, SceneManager *Creator) | |
Normal Constructor. More... | |
virtual | ~RenderableProxy () |
Class destructor. | |
virtual Ogre::SceneNode * | _GetGraphicsNode () const |
Accessor for the internal node in the scenegraph for this proxy. More... | |
virtual void | AddToWorld () |
Performs all the necessary task to ensure this object is connected to it's respective world and ready for use. More... | |
virtual AxisAlignedBox | GetAABB () const |
Gets this proxies AABB. More... | |
virtual Boole | GetCastShadows () const |
Gets whether or not this proxy can cast a shadow. More... | |
virtual WorldManager * | GetCreator () const |
Gets a pointer to this proxies creator. More... | |
virtual UInt32 | GetLightMask () const |
Gets which types of lights will affect this proxy. More... | |
virtual Vector3 | GetLocation () const |
Gets this objects current location. More... | |
virtual Quaternion | GetOrientation () const |
Gets this objects current orientation. More... | |
virtual UInt32 | GetQueryMask () const |
Gets the bitmask that will be used to determine if this object should be counted in scene queries. More... | |
virtual Boole | GetReceiveShadows () const |
Gets whether or not this proxy can be rendered with a shadow casted on it. More... | |
virtual Real | GetRenderDistance () const |
Gets the distance at which the proxy will stop rendering. More... | |
virtual Vector3 | GetScale () const |
Gets the scaling currently being applied to this object. More... | |
virtual UInt32 | GetVisibilityMask () const |
Gets the bitmask that will be used to determine if this object should be visible when rendering. More... | |
virtual Boole | GetVisible () const |
Gets whether or not this proxy is visible. More... | |
virtual Boole | IsInWorld () const |
Gets whether or not this object is inside of it's world. More... | |
virtual void | Pitch (const Real Angle) |
Rotate the object around the X axis. More... | |
virtual void | RemoveFromWorld () |
Unhooks this proxy from it's respective world. More... | |
virtual void | Roll (const Real Angle) |
Rotate the object around the Z axis. More... | |
virtual void | Rotate (const Vector3 &Axis, const Real Angle) |
Rotates the object from it's existing rotation. More... | |
virtual void | Rotate (const Quaternion &Rotation) |
Rotates the object from it's existing rotation. More... | |
virtual void | Scale (const Vector3 &Scale) |
Scales the object from it's current size. More... | |
virtual void | Scale (const Real X, const Real Y, const Real Z) |
Scales the object from it's current size. More... | |
virtual void | SetCastShadows (const Boole CastShadows) |
Sets whether or not this proxy can cast a shadow. More... | |
virtual void | SetLightMask (const UInt32 Mask) |
Sets which types of lights will affect this proxy. More... | |
virtual void | SetLocation (const Vector3 &Loc) |
Sets the location of this object in parent space. More... | |
virtual void | SetLocation (const Real X, const Real Y, const Real Z) |
Sets the location of this object in parent space via Reals. More... | |
virtual void | SetOrientation (const Quaternion &Ori) |
Sets the orientation of this object in parent space. More... | |
virtual void | SetOrientation (const Real X, const Real Y, const Real Z, const Real W) |
Sets the orientation of this object in parent space via Reals. More... | |
virtual void | SetQueryMask (const UInt32 Mask) |
Sets the bitmesk that will be used to determine if this object should be counted in scene queries. More... | |
virtual void | SetRenderDistance (const Real Distance) |
Sets the distance at which the proxy will stop rendering. More... | |
virtual void | SetScale (const Vector3 &Sc) |
Sets the scaling to be applied to this object. More... | |
virtual void | SetScale (const Real X, const Real Y, const Real Z) |
Sets the scaling to be applied to this object via Reals. More... | |
virtual void | SetVisibilityMask (const UInt32 Mask) |
Sets the bitmask that will be used to determine if this object should be visible when rendering. More... | |
virtual void | SetVisible (const Boole Visible) |
Sets whether or not this proxy is visible. More... | |
virtual void | Translate (const Vector3 &Trans) |
Moves this object from it's current location. More... | |
virtual void | Translate (const Real X, const Real Y, const Real Z) |
Moves this object from it's current location. More... | |
virtual void | Yaw (const Real Angle) |
Rotate the object around the Y axis. More... | |
Public Member Functions inherited from Mezzanine::WorldProxy | |
WorldProxy () | |
Blank constructor. | |
WorldProxy (const UInt32 ID) | |
Normal/ID constructor. More... | |
virtual | ~WorldProxy () |
Class destructor. | |
void | _Bind (WorldObject *NewParent) |
Binds this proxy to a WorldObject. More... | |
virtual WorldObject * | GetParentObject () const |
Gets a pointer to the parent object controlling this proxy. More... | |
virtual UInt32 | GetProxyID () const |
Gets the unique ID of this proxy. More... | |
virtual void | ProtoDeSerialize (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite this object with it. More... | |
virtual void | ProtoSerialize (XML::Node &ParentNode) const |
Convert this class to an XML::Node ready for serialization. More... | |
Public Member Functions inherited from Mezzanine::TransformableObject | |
virtual | ~TransformableObject () |
Class Destructor. | |
virtual Vector3 | ConvertGlobalToLocal (const Vector3 &Location) const |
Converts a point in global space to the same point in local space. More... | |
virtual Quaternion | ConvertGlobalToLocal (const Quaternion &Orientation) const |
Converts a rotation in global space to the same rotation in local space. More... | |
virtual Vector3 | ConvertLocalToGlobal (const Vector3 &Location) const |
Converts a point in local space to the same point in global space. More... | |
virtual Quaternion | ConvertLocalToGlobal (const Quaternion &Orientation) const |
Converts a rotation in local space to the same rotation in global space. More... | |
Static Public Member Functions | |
static String | GetSerializableName () |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized. More... | |
Static Public Member Functions inherited from Mezzanine::Graphics::RenderableProxy | |
static String | GetSerializableName () |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized. More... | |
Static Public Member Functions inherited from Mezzanine::WorldProxy | |
static String | GetSerializableName () |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized. More... | |
Protected Member Functions | |
virtual void | CreateParticleSystem (const String &Template) |
Constructs this particle system from a pre-made particle script. More... | |
virtual void | DestroyParticleSystem () |
Destroys the particle system providing this class with it's functionality. More... | |
virtual void | ProtoDeSerializeImpl (const XML::Node &SelfRoot) |
Implementation method for deseriailizing additional sets of data. More... | |
virtual void | ProtoSerializeImpl (XML::Node &SelfRoot) const |
Implementation method for serializing additional sets of data. More... | |
Static Protected Member Functions | |
static String | GenerateName () |
Generates a name for this ParticleSystem to placate the internal system. More... | |
Protected Attributes | |
AffectorContainer | Affectors |
Vector of affectors in use by this particle effect. More... | |
NameValuePairMap | CustomSystemParameters |
A cache containing all of the custom altered parameters of this particle system. More... | |
EmitterContainer | Emitters |
Vector of emitters in use by this particle effect. More... | |
Ogre::ParticleSystem * | GraphicsParticleSystem |
Pointer to the ogre ParticleSystem from which this proxy gets it's functionality. More... | |
Boole | Paused |
Stores whether or not updates to this particle system are paused. More... | |
Real | SpeedFactor |
Stores the current speed factor of this particle system for when it gets paused. More... | |
String | Template |
Stores the template, primarily for serialization. More... | |
Protected Attributes inherited from Mezzanine::Graphics::RenderableProxy | |
Ogre::SceneNode * | GraphicsNode |
A pointer to the internal object storing the proxy transform. More... | |
Boole | InWorld |
This stores whether the proxy is currently in the graphics world or not. More... | |
SceneManager * | Manager |
This is a pointer to the scene manager that created and owns this proxy. More... | |
UInt32 | QueryMask |
This is a bitmask identifying this objects type when being queried. Used for advanced query configuration. More... | |
UInt32 | VisibilityMask |
This is a bitmask identifying this objects type when being rendered. Used for advanced visibility configuration. More... | |
Protected Attributes inherited from Mezzanine::WorldProxy | |
WorldObject * | ParentObject |
Pointer to the Object this proxy belongs to. More... | |
UInt32 | ProxyID |
The unique ID assigned to the type of proxy an instance is. More... | |
This is the proxy class for placing and manipulating particles in the scene.
Definition at line 63 of file particlesystemproxy.h.
Mezzanine::Graphics::ParticleSystemProxy::ParticleSystemProxy | ( | const UInt32 | ID, |
const String & | Template, | ||
SceneManager * | Creator | ||
) |
Template constructor.
ID | The unique ID assigned to this ParticleSystemProxy. |
Template | Name of the particle script to be used in creating this particle effect. |
Creator | A pointer to the manager that created this proxy. |
Definition at line 61 of file particlesystemproxy.cpp.
Mezzanine::Graphics::ParticleSystemProxy::ParticleSystemProxy | ( | const XML::Node & | SelfRoot, |
SceneManager * | Creator | ||
) |
XML constructor.
SelfRoot | An XML::Node containing the data to populate this class with. |
Creator | A pointer to the manager that created this proxy. |
Definition at line 68 of file particlesystemproxy.cpp.
|
virtual |
Accessor for the internal graphics object.
Implements Mezzanine::Graphics::RenderableProxy.
Definition at line 500 of file particlesystemproxy.cpp.
|
virtual |
Accessor for the internal particle system.
Definition at line 497 of file particlesystemproxy.cpp.
|
protectedvirtual |
Constructs this particle system from a pre-made particle script.
Name | The name of this particle effect. |
Template | Name of the particle script to be used in creating this particle effect. |
Definition at line 96 of file particlesystemproxy.cpp.
void Mezzanine::Graphics::ParticleSystemProxy::DestroyAffector | ( | const UInt16 | Index | ) |
Destroy's an Affector in use by this particle effect.
Index | The index to destroy. |
Definition at line 218 of file particlesystemproxy.cpp.
void Mezzanine::Graphics::ParticleSystemProxy::DestroyEmitter | ( | const UInt16 | Index | ) |
Destroy's an Emitter in use by this particle effect.
Index | The index to destroy. |
Definition at line 191 of file particlesystemproxy.cpp.
|
protectedvirtual |
Destroys the particle system providing this class with it's functionality.
Definition at line 120 of file particlesystemproxy.cpp.
|
staticprotected |
Generates a name for this ParticleSystem to placate the internal system.
Definition at line 132 of file particlesystemproxy.cpp.
ParticleAffector * Mezzanine::Graphics::ParticleSystemProxy::GetAffector | ( | const UInt16 | Index | ) | const |
Gets the Affector at the specified index.
Index | The index of the Affector to get. |
Definition at line 212 of file particlesystemproxy.cpp.
Gets a custom parameter of a particle effect.
Name | The name of the parameter to fetch. |
Definition at line 177 of file particlesystemproxy.cpp.
|
virtual |
Gets the most derived serializable name of this WorldProxy.
Reimplemented from Mezzanine::Graphics::RenderableProxy.
Definition at line 488 of file particlesystemproxy.cpp.
ParticleEmitter * Mezzanine::Graphics::ParticleSystemProxy::GetEmitter | ( | const UInt16 | Index | ) | const |
Gets the Emitter at the specified index.
Index | The index of the Emitter to get. |
Definition at line 185 of file particlesystemproxy.cpp.
const String & Mezzanine::Graphics::ParticleSystemProxy::GetName | ( | ) | const |
Gets the name of this particle effect.
Definition at line 148 of file particlesystemproxy.cpp.
UInt16 Mezzanine::Graphics::ParticleSystemProxy::GetNumAffectors | ( | ) | const |
Gets the number of Affectors in use by this particle effect.
Definition at line 215 of file particlesystemproxy.cpp.
UInt16 Mezzanine::Graphics::ParticleSystemProxy::GetNumEmitters | ( | ) | const |
Gets the number of Emitters in use by this particle effect.
Definition at line 188 of file particlesystemproxy.cpp.
|
virtual |
Accessor for the type of proxy.
Implements Mezzanine::WorldProxy.
Definition at line 143 of file particlesystemproxy.cpp.
|
static |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized.
Definition at line 491 of file particlesystemproxy.cpp.
Real Mezzanine::Graphics::ParticleSystemProxy::GetSpeedFactor | ( | ) | const |
Gets the Factor at which this ParticleEffect is currently progressing.
Definition at line 247 of file particlesystemproxy.cpp.
const String & Mezzanine::Graphics::ParticleSystemProxy::GetTemplate | ( | ) | const |
Gets the name of the template this particle effect is based on.
Definition at line 153 of file particlesystemproxy.cpp.
Boole Mezzanine::Graphics::ParticleSystemProxy::IsParticleSystemPaused | ( | ) | const |
Gets whether or not this particle system is currently paused.
Definition at line 166 of file particlesystemproxy.cpp.
void Mezzanine::Graphics::ParticleSystemProxy::PauseParticleSystem | ( | Boole | Pause | ) |
Pauses this proxy, preventing it from emitting, moving, or removing any particles.
Pause | Will pauae the proxy if running and Pause is true, otherwise it will resume the proxy if paused and Pause is false. |
Definition at line 158 of file particlesystemproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the affectors of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 461 of file particlesystemproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the custom altered parameters of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 399 of file particlesystemproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the emitters of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 434 of file particlesystemproxy.cpp.
|
protectedvirtual |
Implementation method for deseriailizing additional sets of data.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented from Mezzanine::WorldProxy.
Definition at line 87 of file particlesystemproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the properties of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented from Mezzanine::Graphics::RenderableProxy.
Definition at line 353 of file particlesystemproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the template name of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 377 of file particlesystemproxy.cpp.
|
virtual |
Convert the affectors of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Definition at line 330 of file particlesystemproxy.cpp.
|
virtual |
Convert the custom altered parameters of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Definition at line 284 of file particlesystemproxy.cpp.
|
virtual |
Convert the emitters of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Definition at line 307 of file particlesystemproxy.cpp.
|
protectedvirtual |
Implementation method for serializing additional sets of data.
SelfRoot | The root node containing all the serialized data for this instance. |
Reimplemented from Mezzanine::WorldProxy.
Definition at line 78 of file particlesystemproxy.cpp.
|
virtual |
Convert the properties of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Reimplemented from Mezzanine::Graphics::RenderableProxy.
Definition at line 255 of file particlesystemproxy.cpp.
|
virtual |
Convert the template name of this class to an XML::Node ready for serialization.
SelfRoot | The root node containing all the serialized data for this instance. |
Definition at line 271 of file particlesystemproxy.cpp.
void Mezzanine::Graphics::ParticleSystemProxy::SetCustomParam | ( | const String & | Name, |
const String & | Value | ||
) |
Sets a custom parameter of a particle effect.
Name | The name of the parameter to alter. |
Value | The new value to set for the named parameter. |
Definition at line 171 of file particlesystemproxy.cpp.
void Mezzanine::Graphics::ParticleSystemProxy::SetSpeedFactor | ( | const Real | Factor | ) |
Sets the factor at which time progresses for this ParticleEffect.
Factor | The factor at which time progresses. Valid values range from 0.0 to 1.0. |
Definition at line 239 of file particlesystemproxy.cpp.
|
protected |
Vector of affectors in use by this particle effect.
Definition at line 88 of file particlesystemproxy.h.
|
protected |
A cache containing all of the custom altered parameters of this particle system.
Definition at line 82 of file particlesystemproxy.h.
|
protected |
Vector of emitters in use by this particle effect.
Definition at line 85 of file particlesystemproxy.h.
|
protected |
Pointer to the ogre ParticleSystem from which this proxy gets it's functionality.
Definition at line 94 of file particlesystemproxy.h.
|
protected |
Stores whether or not updates to this particle system are paused.
Definition at line 100 of file particlesystemproxy.h.
|
protected |
Stores the current speed factor of this particle system for when it gets paused.
Definition at line 97 of file particlesystemproxy.h.
|
protected |
Stores the template, primarily for serialization.
Definition at line 91 of file particlesystemproxy.h.