MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Mezzanine::Physics::GhostProxy Class Reference

This is the proxy object for ghost objects with no contact response. More...

#include <ghostproxy.h>

+ Inheritance diagram for Mezzanine::Physics::GhostProxy:
+ Collaboration diagram for Mezzanine::Physics::GhostProxy:

Public Member Functions

 GhostProxy (PhysicsManager *Creator)
 Class constructor. More...
 
 GhostProxy (const XML::Node &SelfRoot, PhysicsManager *Creator)
 XML constructor. More...
 
virtual ~GhostProxy ()
 Class destructor.
 
virtual btCollisionObject * _GetBasePhysicsObject () const
 Accessor for the internal physics object. More...
 
virtual btPairCachingGhostObject * _GetPhysicsObject () const
 Accessor for the internal ghost body physics 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 CollidableProxyGetAABBOverlappingProxy (const UInt32 Index)
 Gets a proxy overlapping with the AABB of this ghost. More...
 
virtual String GetDerivedSerializableName () const
 Gets the most derived serializable name of this WorldProxy. More...
 
virtual UInt32 GetNumAABBOverlappingProxies () const
 Gets the number of proxies overlapping with the AABB of this ghost. More...
 
virtual UInt32 GetNumShapeOverlappingProxies () const
 Gets the number of proxies overlapping with the actual collision shape of this ghost. More...
 
virtual Mezzanine::ProxyType GetProxyType () const
 Accessor for the type of proxy. More...
 
virtual CollidableProxyGetShapeOverlappingProxy (const UInt32 Index)
 Gets a proxy overlapping with the collision shape of this ghost. 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 RemoveFromWorld ()
 Unhooks this proxy from it's respective world. More...
 
- Public Member Functions inherited from Mezzanine::Physics::CollidableProxy
 CollidableProxy (PhysicsManager *Creator)
 Standard Constructor. More...
 
virtual ~CollidableProxy ()
 Class Destructor.
 
virtual Integer _GetBroadphaseUniqueID () const
 Gets the unique ID assigned to the internal object. More...
 
virtual Real _GetContactProcessingThreshold () const
 Gets the maximum distance to be considered for processing collisions with this object. More...
 
virtual void _SetContactProcessingThreshold (const Real Threshold)
 Sets the maximum distance to be considered for processing collisions with this object. More...
 
virtual AxisAlignedBox GetAABB () const
 Gets this proxies AABB. More...
 
virtual Physics::ActivationState GetActivationState () const
 Gets the current activation state of this proxy. More...
 
virtual Vector3 GetAnisotropicFriction () const
 Gets the anisotropic friction factor. More...
 
virtual
Physics::AnisotropicFrictionFlags 
GetAnisotropicFrictionMode () const
 Gets the current Anisotropic friction mode being applied to this proxy. More...
 
virtual Whole GetCollisionFlags () const
 Gets the collection of flags that help determine collision response for this object. More...
 
virtual Int16 GetCollisionGroup () const
 Gets the objects collision group. More...
 
virtual Int16 GetCollisionMask () const
 Gets the object's collision mask. More...
 
virtual bool GetCollisionResponse () const
 Will this respond to 3d collisions. More...
 
virtual CollisionShapeGetCollisionShape () const
 Gets the collision shape currently in use by this object. More...
 
virtual WorldManagerGetCreator () const
 Gets a pointer to this proxies creator. More...
 
virtual Real GetDeactivationTime () const
 Gets the current deactivation time for this object. More...
 
virtual Real GetFriction () const
 Gets the sliding friction coefficient. More...
 
virtual Vector3 GetLocation () const
 Gets this objects current location. More...
 
virtual Quaternion GetOrientation () const
 Gets this objects current orientation. More...
 
virtual Real GetRestitution () const
 Gets the World Object restitution coefficient. More...
 
virtual Real GetRollingFriction () const
 Gets the rolling friction coefficient. More...
 
virtual Vector3 GetScale () const
 Gets the scaling currently being applied to this object. More...
 
virtual bool IsActive () const
 Checks if the object is active in the simulation. More...
 
virtual Boolean IsAnisotropicFrictionModeSet (const Whole Mode) const
 Gets whether or not anisotropic friction is being used in a specified mode. More...
 
virtual Boolean IsInWorld () const
 Gets whether or not this object is inside of it's world. More...
 
virtual bool IsKinematic () const
 Is the object kinematic. More...
 
virtual bool IsStatic () const
 Is the object static. More...
 
virtual bool IsStaticOrKinematic () const
 Checks if the object is either static or kinematic. More...
 
virtual void Pitch (const Real Angle)
 Rotate the object around the X axis. 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 ProtoDeSerializeShape (const XML::Node &SelfRoot)
 Take the data stored in an XML Node and overwrite the shape of this object with it. More...
 
virtual void ProtoSerialize (XML::Node &ParentNode) const
 Convert this class to an XML::Node ready for serialization. More...
 
virtual void ProtoSerializeShape (XML::Node &SelfRoot) const
 Convert the shape of this class to an XML::Node ready for serialization. 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 SetActivationState (const Physics::ActivationState State, bool Force=false)
 Sets the activation state of the world object. More...
 
virtual void SetAnisotropicFriction (const Vector3 &Friction, const Whole Mode)
 Sets the anisotropic friction factor. More...
 
virtual void SetCollisionFlags (const Whole Flags)
 Sets the collection of flags that help determine collision response for this object. More...
 
virtual void SetCollisionGroup (const Int16 Group)
 Sets which collision group this proxy belongs to, which determines it's collision behavior. More...
 
virtual void SetCollisionGroupAndMask (const Int16 Group, const Int16 Mask)
 Set the collision group and mask for the proxy to determine what it should collide with. More...
 
virtual void SetCollisionMask (const Int16 Mask)
 Sets the collision mask of this proxy, which determines which groups it will collide with. More...
 
virtual void SetCollisionResponse (bool Enable)
 Sets the World Object to be able to collide with other objects in the world. More...
 
virtual void SetCollisionShape (CollisionShape *Shape)
 Sets the collision shape to be used. More...
 
virtual void SetDeactivationTime (const Real Time)
 Sets the amount of time this object needs to have no forces enacted upon it to be deactivated. More...
 
virtual void SetFriction (const Real Friction)
 Sets the sliding friction coefficient. More...
 
virtual void SetKinematic ()
 Sets the state of the object to Kinematic. 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 SetRestitution (const Real &Restitution)
 Sets the restitution coefficient. More...
 
virtual void SetRollingFriction (const Real Friction)
 Sets the rolling friction coefficient. 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 SetStatic ()
 Sets the state of the object to Static. 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 ()
 Class constructor.
 
virtual ~WorldProxy ()
 Class destructor.
 
void _Bind (WorldObject *NewParent)
 Binds this proxy to a WorldObject. More...
 
virtual WorldObjectGetParentObject () const
 Gets a pointer to the parent object controlling this proxy. 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::Physics::CollidableProxy
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 CreateGhostObject ()
 Used to create the physics representation of the ghost body. More...
 

Protected Attributes

btPairCachingGhostObject * PhysicsGhostBody
 GhostBody proxy used by the internal physics. More...
 
- Protected Attributes inherited from Mezzanine::Physics::CollidableProxy
Int16 CollisionGroup
 The classifications pertaining to this object in regards to collisions. More...
 
Int16 CollisionMask
 Stores the kind of World Objects that can collide with each other. More...
 
PhysicsManagerManager
 This is a pointer to the physics manager that created and owns this proxy. More...
 
CollisionShapeProxyShape
 A vector3 storing the scaling applied to this body. More...
 
btCollisionShape * ScalerShape
 This is an internal only shape that provides the ability for a collision shape to be scaled locally (to this object alone). More...
 
- Protected Attributes inherited from Mezzanine::WorldProxy
WorldObjectParentObject
 Pointer to the Object this proxy belongs to. More...
 

Detailed Description

This is the proxy object for ghost objects with no contact response.

Definition at line 55 of file ghostproxy.h.

Constructor & Destructor Documentation

Mezzanine::Physics::GhostProxy::GhostProxy ( PhysicsManager Creator)

Class constructor.

Parameters
CreatorA pointer to the manager that created this proxy.

Definition at line 57 of file ghostproxy.cpp.

Mezzanine::Physics::GhostProxy::GhostProxy ( const XML::Node SelfRoot,
PhysicsManager Creator 
)

XML constructor.

Parameters
SelfRootAn XML::Node containing the data to populate this class with.
CreatorA pointer to the manager that created this proxy.

Definition at line 64 of file ghostproxy.cpp.

Member Function Documentation

btCollisionObject * Mezzanine::Physics::GhostProxy::_GetBasePhysicsObject ( ) const
virtual

Accessor for the internal physics object.

Implements Mezzanine::Physics::CollidableProxy.

Definition at line 183 of file ghostproxy.cpp.

btPairCachingGhostObject * Mezzanine::Physics::GhostProxy::_GetPhysicsObject ( ) const
virtual

Accessor for the internal ghost body physics proxy.

Returns
Returns a pointer to the internal proxy this proxy is based on.

Definition at line 180 of file ghostproxy.cpp.

void Mezzanine::Physics::GhostProxy::AddToWorld ( )
virtual

Performs all the necessary task to ensure this object is connected to it's respective world and ready for use.

Implements Mezzanine::Physics::CollidableProxy.

Definition at line 95 of file ghostproxy.cpp.

void Mezzanine::Physics::GhostProxy::CreateGhostObject ( )
protectedvirtual

Used to create the physics representation of the ghost body.

Parameters
MassThe mass of the ghost body to be created.

Definition at line 80 of file ghostproxy.cpp.

CollidableProxy * Mezzanine::Physics::GhostProxy::GetAABBOverlappingProxy ( const UInt32  Index)
virtual

Gets a proxy overlapping with the AABB of this ghost.

Note
This method is faster than getting an overlap by collision shape, but it is also much less accurate.
Parameters
IndexThe index of the proxy to retrieve.
Returns
Returns a pointer to the overlapping proxy at the specified index.

Definition at line 112 of file ghostproxy.cpp.

String Mezzanine::Physics::GhostProxy::GetDerivedSerializableName ( ) const
virtual

Gets the most derived serializable name of this WorldProxy.

Note
When creating a new WorldProxy 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::Physics::CollidableProxy.

Definition at line 171 of file ghostproxy.cpp.

UInt32 Mezzanine::Physics::GhostProxy::GetNumAABBOverlappingProxies ( ) const
virtual

Gets the number of proxies overlapping with the AABB of this ghost.

Returns
Returns the number of proxies overlapping with the AABB of this ghost.

Definition at line 118 of file ghostproxy.cpp.

UInt32 Mezzanine::Physics::GhostProxy::GetNumShapeOverlappingProxies ( ) const
virtual

Gets the number of proxies overlapping with the actual collision shape of this ghost.

Returns
Returns the number of proxies overlapping with the actual shape of this ghost.

Definition at line 156 of file ghostproxy.cpp.

Mezzanine::ProxyType Mezzanine::Physics::GhostProxy::GetProxyType ( ) const
virtual

Accessor for the type of proxy.

Returns
Returns enum value for the type of proxy this object is.

Implements Mezzanine::WorldProxy.

Definition at line 90 of file ghostproxy.cpp.

String Mezzanine::Physics::GhostProxy::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 174 of file ghostproxy.cpp.

CollidableProxy * Mezzanine::Physics::GhostProxy::GetShapeOverlappingProxy ( const UInt32  Index)
virtual

Gets a proxy overlapping with the collision shape of this ghost.

Note
The underlying physics implementation tries to predict contacts in order to accelerate physics steps. Because of this in some situations an invalid contact/collision may be generated between collision shapes. This method detects that and will return NULL if that is the case.

Also note that getting overlaps by shape is slower than getting them by AABB. Only use this if you need the extra accuracy.
Parameters
IndexThe index of the proxy to retrieve.
Returns
Returns a pointer to the overlapping proxy at the specified index, or NULL if it is invalid.

Definition at line 123 of file ghostproxy.cpp.

void Mezzanine::Physics::GhostProxy::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::Physics::CollidableProxy.

Definition at line 168 of file ghostproxy.cpp.

void Mezzanine::Physics::GhostProxy::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::Physics::CollidableProxy.

Definition at line 165 of file ghostproxy.cpp.

void Mezzanine::Physics::GhostProxy::RemoveFromWorld ( )
virtual

Unhooks this proxy from it's respective world.

Implements Mezzanine::Physics::CollidableProxy.

Definition at line 102 of file ghostproxy.cpp.

Member Data Documentation

btPairCachingGhostObject* Mezzanine::Physics::GhostProxy::PhysicsGhostBody
protected

GhostBody proxy used by the internal physics.

Definition at line 60 of file ghostproxy.h.


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