This is the proxy class for placing and manipulating particles in the scene. More...
#include <particlesystemproxy.h>
Inheritance diagram for Mezzanine::Graphics::ParticleSystemProxy:
Collaboration diagram for Mezzanine::Graphics::ParticleSystemProxy: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.
1.8.9.1. Thanks to the
Open Icon Library
for help with some of the icons.