This is an implementation of the AreaEffect class that alters gravity in a region. More...
#include <gravityfield.h>
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... | |
ObjectContainer & | GetAddedObjects () |
Gets the list of objects that have been added to the list since the last simulation step. More... | |
virtual Physics::GhostProxy * | GetGhostProxy () 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... | |
ObjectContainer & | GetOverlappingObjects () |
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... | |
ObjectContainer & | GetRemovedObjects () |
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 String & | GetName () const |
Gets the name of this object. More... | |
virtual World * | GetWorld () 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::GhostProxy * | Ghost |
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... | |
World * | ParentWorld |
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... | |
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.
Mezzanine::GravityField::GravityField | ( | World * | TheWorld | ) |
Blank constructor.
TheWorld | A pointer to the world this object belongs to. |
Definition at line 56 of file gravityfield.cpp.
Class constructor.
Name | The name to be given to this object. |
TheWorld | A 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.
Name | The name to be given to this object. |
Shape | A pointer to the Collision shape that will be applied to this object. |
TheWorld | A pointer to the world this object belongs to. |
Definition at line 64 of file gravityfield.cpp.
XML constructor.
SelfRoot | An XML::Node containing the data to populate this class with. |
TheWorld | A pointer to the world this object belongs to. |
Definition at line 68 of file gravityfield.cpp.
|
virtual |
Implements Mezzanine::AreaEffect.
Definition at line 81 of file gravityfield.cpp.
|
virtual |
Gets the most derived serializable name of this WorldObject.
Reimplemented from Mezzanine::AreaEffect.
Definition at line 160 of file gravityfield.cpp.
|
virtual |
Gets the gravity of this field.
Definition at line 116 of file gravityfield.cpp.
|
static |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized.
Definition at line 163 of file gravityfield.cpp.
|
virtual |
Gets the type of the object instance.
Reimplemented from Mezzanine::AreaEffect.
Definition at line 78 of file gravityfield.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::AreaEffect.
Definition at line 139 of file gravityfield.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::AreaEffect.
Definition at line 122 of file gravityfield.cpp.
|
virtual |
Sets the gravity force for this field.
Gravity | The vector3 representing the force and direction of gravity this field will have. |
Definition at line 113 of file gravityfield.cpp.
|
protected |
The stored value for this fields gravity.
Definition at line 57 of file gravityfield.h.