Spinning Topp Logo BlackTopp Studios
inc
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Mezzanine::GravityField Class Reference

This is an implementation of the AreaEffect class that alters gravity in a region. More...

#include <gravityfield.h>

+ Inheritance diagram for Mezzanine::GravityField:
+ Collaboration diagram for Mezzanine::GravityField:

Public Member Functions

 GravityField (World *TheWorld)
 Blank constructor. More...
 
 GravityField (const String &Name, World *TheWorld)
 Class constructor. More...
 
 GravityField (const String &Name, Physics::CollisionShape *Shape, World *TheWorld)
 Class constructor. More...
 
 GravityField (const XML::Node &SelfRoot, World *TheWorld)
 XML constructor. More...
 
virtual ~GravityField ()
 Class destructor.
 
virtual void ApplyEffect ()
 
virtual String GetDerivedSerializableName () const
 Gets the most derived serializable name of this WorldObject. More...
 
virtual Vector3 GetFieldGravity () const
 Gets the gravity of this field. More...
 
virtual Mezzanine::WorldObjectType GetType () const
 Gets the type of the object instance. 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 ProtoSerializeProperties (XML::Node &SelfRoot) const
 Convert the properties of this class to an XML::Node ready for serialization. More...
 
virtual void SetFieldGravity (const Vector3 &Gravity)
 Sets the gravity force for this field. More...
 
- Public Member Functions inherited from Mezzanine::AreaEffect
 AreaEffect (World *TheWorld)
 Blank constructor. More...
 
 AreaEffect (const String &Name, World *TheWorld)
 Class constructor. More...
 
 AreaEffect (const String &Name, Physics::CollisionShape *Shape, World *TheWorld)
 Class constructor. More...
 
virtual ~AreaEffect ()
 Class destructor.
 
virtual void _NotifyProxyDestroyed (WorldProxy *ToBeDestroyed)
 Notifies that a proxy belonging to this WorldObject is being forcibly destroyed, and it needs to update. More...
 
virtual void _Update ()
 Utility function for altering or checking the World Object every frame. More...
 
virtual void AddToWorld ()
 Adds the object to the World. More...
 
ObjectContainerGetAddedObjects ()
 Gets the list of objects that have been added to the list since the last simulation step. More...
 
virtual Physics::GhostProxyGetGhostProxy () const
 Gets a pointer to the physics portion of this AreaEffect. More...
 
virtual Vector3 GetLocation () const
 Gets this objects current location. More...
 
UInt32 GetNumAddedObjects () const
 Gets the number of objects added to this AE since the last update. More...
 
UInt32 GetNumOverlappingObjects () const
 Gets the number of objects currently overlapping with this AE. More...
 
UInt32 GetNumRemovedObjects () const
 Gets the number of objects removed from this AE since the last update. More...
 
virtual Quaternion GetOrientation () const
 Gets this objects current orientation. More...
 
ObjectContainerGetOverlappingObjects ()
 Gets the list of objects within this field. More...
 
virtual void GetProxies (ProxyContainer &Proxies)
 Populates a container with all of the WorldProxies being used by this WorldObject. More...
 
virtual void GetProxies (const UInt32 Types, ProxyContainer &Proxies)
 Populates a container with all the WorldProxies being used by this WorldObject specified in a provided mask. More...
 
ObjectContainerGetRemovedObjects ()
 Gets the list of objects that have been removed from the list since the last simulation step. More...
 
virtual Vector3 GetScale () const
 Gets the scaling currently being applied to this object. More...
 
virtual Boole IsInWorld () const
 Gets whether or not this object is currently in the world. More...
 
virtual Boole IsKinematic () const
 Checks of the object is kinematic. More...
 
virtual Boole IsStatic () const
 Checks of the object is static. More...
 
virtual void Pitch (const Real Angle)
 Rotate the object around the X axis. More...
 
virtual void ProtoDeSerializeProxies (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the proxies of this object with it. More...
 
virtual void ProtoSerializeProxies (XML::Node &SelfRoot) const
 Convert the proxies of this class to an XML::Node ready for serialization. More...
 
virtual void RemoveFromWorld ()
 Removes the object from the 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 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 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 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::WorldObject
 WorldObject (World *TheWorld)
 Blank constructor. More...
 
 WorldObject (const String &Name, World *TheWorld)
 Class constructor. More...
 
virtual ~WorldObject ()
 Class destructor.
 
virtual void _NotifyCollisionState (Physics::Collision *Col, const Physics::CollisionState State)
 Notifies this World Object of a collision that is occuring with it. More...
 
virtual const StringGetName () const
 Gets the name of this object. More...
 
virtual WorldGetWorld () const
 Gets the world this object currently belongs to. 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::AreaEffect
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::WorldObject
static String GetSerializableName ()
 Get the name of the the XML tag the proxy class will leave behind as its instances are serialized. More...
 

Protected Attributes

Vector3 Grav
 The stored value for this fields gravity. More...
 
- Protected Attributes inherited from Mezzanine::AreaEffect
ObjectContainer AddedObjects
 Container of actors that have been added since last frame. More...
 
ProxyContainer AEProxies
 Container of proxies that representing this AE field. More...
 
Physics::GhostProxyGhost
 A pointer to the ghost powering this AE field. More...
 
ObjectContainer OverlappingObjects
 Container for actors within the field area. More...
 
ObjectContainer RemovedObjects
 Container of actors that have been removed since last frame. More...
 
- Protected Attributes inherited from Mezzanine::WorldObject
CollisionContainer CurrentCollisions
 This member stores all existing collision events referencing this object. More...
 
String ObjectName
 The name of the object. More...
 
WorldParentWorld
 This is the world this object belongs to and will be inserted in/removed from. More...
 

Additional Inherited Members

- Public Types inherited from Mezzanine::AreaEffect
typedef ObjectContainer::const_iterator ConstObjectIterator
 Const Iterator type for Object instances stored by this class.
 
typedef std::vector< WorldObject * > ObjectContainer
 Basic container type for Object storage by this class.
 
typedef ObjectContainer::iterator ObjectIterator
 Iterator type for Object instances stored by this class.
 
- Public Types inherited from Mezzanine::WorldObject
typedef std::set< Physics::Collision * > CollisionContainer
 Basic container type for the current collisions applied to this object.
 
typedef CollisionContainer::iterator CollisionIterator
 Iterator type for the current collisions applied to this object.
 
typedef CollisionContainer::const_iterator ConstCollisionIterator
 Const Iterator type for the current collisions applied to this object.
 
typedef ProxyContainer::const_iterator ConstProxyIterator
 Const Iterator type for WorldProxy instances stored by this class.
 
typedef std::vector< WorldProxy * > ProxyContainer
 Basic container type for WorldProxy storage by this class.
 
typedef ProxyContainer::iterator ProxyIterator
 Iterator type for WorldProxy instances stored by this class.
 
- Protected Member Functions inherited from Mezzanine::AreaEffect
virtual void CreateAreaEffect (Physics::CollisionShape *Shape)
 Common constructor method for AreaEffect base class. More...
 
virtual void DestroyAreaEffect ()
 Common destructor method for AreaEffect base class. More...
 

Detailed Description

This is an implementation of the AreaEffect class that alters gravity in a region.

This class is not a gravity well, where gravity is pulling to one point. Instead this class uniformly pulls gravity in one direction that is different from the world gravity.

Definition at line 52 of file gravityfield.h.

Constructor & Destructor Documentation

Mezzanine::GravityField::GravityField ( World TheWorld)

Blank constructor.

Parameters
TheWorldA pointer to the world this object belongs to.

Definition at line 56 of file gravityfield.cpp.

Mezzanine::GravityField::GravityField ( const String Name,
World TheWorld 
)

Class constructor.

Parameters
NameThe name to be given to this object.
TheWorldA pointer to the world this object belongs to.

Definition at line 60 of file gravityfield.cpp.

Mezzanine::GravityField::GravityField ( const String Name,
Physics::CollisionShape Shape,
World TheWorld 
)

Class constructor.

Parameters
NameThe name to be given to this object.
ShapeA pointer to the Collision shape that will be applied to this object.
TheWorldA pointer to the world this object belongs to.

Definition at line 64 of file gravityfield.cpp.

Mezzanine::GravityField::GravityField ( const XML::Node SelfRoot,
World TheWorld 
)

XML constructor.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
TheWorldA pointer to the world this object belongs to.

Definition at line 68 of file gravityfield.cpp.

Member Function Documentation

void Mezzanine::GravityField::ApplyEffect ( )
virtual

Implements Mezzanine::AreaEffect.

Definition at line 81 of file gravityfield.cpp.

String Mezzanine::GravityField::GetDerivedSerializableName ( ) const
virtual

Gets the most derived serializable name of this WorldObject.

Note
When creating a new WorldObject class verify this method has a valid return for it in order for serialization to work properly.
Returns
Returns the name of the XML tag from the most derived class of "this".

Reimplemented from Mezzanine::AreaEffect.

Definition at line 160 of file gravityfield.cpp.

Vector3 Mezzanine::GravityField::GetFieldGravity ( ) const
virtual

Gets the gravity of this field.

Returns
Returns a vector3 representing the force and direction of gravity this field has.

Definition at line 116 of file gravityfield.cpp.

String Mezzanine::GravityField::GetSerializableName ( )
static

Get the name of the the XML tag the proxy class will leave behind as its instances are serialized.

Returns
A string containing the name of this class.

Definition at line 163 of file gravityfield.cpp.

Mezzanine::WorldObjectType Mezzanine::GravityField::GetType ( ) const
virtual

Gets the type of the object instance.

Returns
Returns the type of the object instance

Reimplemented from Mezzanine::AreaEffect.

Definition at line 78 of file gravityfield.cpp.

void Mezzanine::GravityField::ProtoDeSerializeProperties ( const XML::Node SelfRoot)
virtual

Take the data stored in an XML Node and overwrite the properties of this object with it.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.

Reimplemented from Mezzanine::AreaEffect.

Definition at line 139 of file gravityfield.cpp.

void Mezzanine::GravityField::ProtoSerializeProperties ( XML::Node SelfRoot) const
virtual

Convert the properties of this class to an XML::Node ready for serialization.

Parameters
SelfRootThe root node containing all the serialized data for this instance.

Reimplemented from Mezzanine::AreaEffect.

Definition at line 122 of file gravityfield.cpp.

void Mezzanine::GravityField::SetFieldGravity ( const Vector3 Gravity)
virtual

Sets the gravity force for this field.

Parameters
GravityThe vector3 representing the force and direction of gravity this field will have.

Definition at line 113 of file gravityfield.cpp.

Member Data Documentation

Vector3 Mezzanine::GravityField::Grav
protected

The stored value for this fields gravity.

Definition at line 57 of file gravityfield.h.


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