This is the proxy object for soft/compressable bodies. More...
#include <softproxy.h>
Public Member Functions | |
SoftProxy (const UInt32 ID, const Real Mass, PhysicsManager *Creator) | |
Class constructor. More... | |
SoftProxy (const XML::Node &SelfRoot, PhysicsManager *Creator) | |
XML constructor. More... | |
virtual | ~SoftProxy () |
Class destructor. | |
virtual btCollisionObject * | _GetBasePhysicsObject () const |
Accessor for the internal physics object. More... | |
virtual btSoftBody * | _GetPhysicsObject () const |
Accessor for the internal soft 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 String | GetDerivedSerializableName () const |
Gets the most derived serializable name of this WorldProxy. More... | |
virtual Vector3 | GetLocation () const |
Gets this objects current location. More... | |
virtual Quaternion | GetOrientation () const |
Gets this objects current orientation. More... | |
virtual Mezzanine::ProxyType | GetProxyType () const |
Accessor for the type of proxy. More... | |
virtual Vector3 | GetScale () const |
Gets the scaling currently being applied to this object. More... | |
virtual void | ProtoDeSeriailzeNodes (XML::Node &SelfRoot) const |
Take the data stored in an XML Node and overwrite the nodes (and their specific properties) of this object with it. 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 | 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 | ProtoSeriailzeNodes (XML::Node &SelfRoot) const |
Convert the nodes (and their specific properties) of this class to an XML::Node ready for serialization. More... | |
virtual void | ProtoSerialize (XML::Node &ParentNode) const |
Convert 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 | RemoveFromWorld () |
Unhooks this proxy from it's respective world. More... | |
virtual void | SetCollisionShape (CollisionShape *Shape) |
Sets the collision shape to be used. 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... | |
Public Member Functions inherited from Mezzanine::Physics::CollidableProxy | |
CollidableProxy (PhysicsManager *Creator) | |
XML-assist Constructor. More... | |
CollidableProxy (const UInt32 ID, PhysicsManager *Creator) | |
Normal 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 Boole | GetCollisionResponse () const |
Will this respond to 3d collisions. More... | |
virtual CollisionShape * | GetCollisionShape () const |
Gets the collision shape currently in use by this object. More... | |
virtual WorldManager * | GetCreator () 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 Real | GetRestitution () const |
Gets the World Object restitution coefficient. More... | |
virtual Real | GetRollingFriction () const |
Gets the rolling friction coefficient. More... | |
virtual Boole | IsActive () const |
Checks if the object is active in the simulation. More... | |
virtual Boole | IsAnisotropicFrictionModeSet (const Whole Mode) const |
Gets whether or not anisotropic friction is being used in a specified mode. More... | |
virtual Boole | IsInWorld () const |
Gets whether or not this object is inside of it's world. More... | |
virtual Boole | IsKinematic () const |
Is the object kinematic. More... | |
virtual Boole | IsStatic () const |
Is the object static. More... | |
virtual Boole | 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 | 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 | 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, Boole 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 (Boole Enable) |
Sets the World Object to be able to collide with other objects in the world. 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 | SetRestitution (const Real &Restitution) |
Sets the restitution coefficient. More... | |
virtual void | SetRollingFriction (const Real Friction) |
Sets the rolling friction coefficient. 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 () | |
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... | |
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 | CreateSoftObject (const Real Mass) |
Used to create the physics representation of the soft body. More... | |
Protected Member Functions inherited from Mezzanine::Physics::CollidableProxy | |
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... | |
Protected Attributes | |
btSoftBody * | PhysicsSoftBody |
SoftBody 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... | |
PhysicsManager * | Manager |
This is a pointer to the physics manager that created and owns this proxy. More... | |
CollisionShape * | ProxyShape |
The physics shape of this proxy. 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 | |
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 object for soft/compressable bodies.
Definition at line 55 of file softproxy.h.
Mezzanine::Physics::SoftProxy::SoftProxy | ( | const UInt32 | ID, |
const Real | Mass, | ||
PhysicsManager * | Creator | ||
) |
Class constructor.
ID | The unique ID assigned to this proxy. |
Mass | The combined mass of the nodes in the soft body. |
Creator | A pointer to the manager that created this proxy. |
Definition at line 87 of file softproxy.cpp.
Mezzanine::Physics::SoftProxy::SoftProxy | ( | const XML::Node & | SelfRoot, |
PhysicsManager * | 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 95 of file softproxy.cpp.
|
virtual |
Accessor for the internal physics object.
Implements Mezzanine::Physics::CollidableProxy.
Definition at line 304 of file softproxy.cpp.
|
virtual |
Accessor for the internal soft body physics proxy.
Definition at line 301 of file softproxy.cpp.
|
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 170 of file softproxy.cpp.
|
protectedvirtual |
Used to create the physics representation of the soft body.
Mass | The mass of the soft body to be created. |
Definition at line 112 of file softproxy.cpp.
|
virtual |
Gets the most derived serializable name of this WorldProxy.
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 292 of file softproxy.cpp.
|
virtual |
Gets this objects current location.
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 205 of file softproxy.cpp.
|
virtual |
Gets this objects current orientation.
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 222 of file softproxy.cpp.
|
virtual |
Accessor for the type of proxy.
Implements Mezzanine::WorldProxy.
Definition at line 165 of file softproxy.cpp.
|
virtual |
Gets the scaling currently being applied to this object.
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 237 of file softproxy.cpp.
|
static |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized.
Definition at line 295 of file softproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite the nodes (and their specific properties) of this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Definition at line 287 of file softproxy.cpp.
|
virtual |
Take the data stored in an XML Node and overwrite this object with it.
SelfRoot | An XML::Node containing the data to populate this class with. |
Reimplemented from Mezzanine::WorldProxy.
Definition at line 266 of file softproxy.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::Physics::CollidableProxy.
Definition at line 282 of file softproxy.cpp.
|
virtual |
Convert the nodes (and their specific properties) 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 261 of file softproxy.cpp.
|
virtual |
Convert this class to an XML::Node ready for serialization.
ParentNode | The point in the XML hierarchy that all this renderable should be appended to. |
Reimplemented from Mezzanine::WorldProxy.
Definition at line 245 of file softproxy.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::Physics::CollidableProxy.
Definition at line 256 of file softproxy.cpp.
|
virtual |
Unhooks this proxy from it's respective world.
Implements Mezzanine::Physics::CollidableProxy.
Definition at line 177 of file softproxy.cpp.
|
virtual |
Sets the collision shape to be used.
Shape | The shape to be applied. |
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 187 of file softproxy.cpp.
|
virtual |
Sets the location of this object in parent space.
Loc | A Vector3 representing the location this object is to be set to. |
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 195 of file softproxy.cpp.
|
virtual |
Sets the location of this object in parent space via Reals.
X | The position on the X axis where this object is to be set. |
Y | The position on the Y axis where this object is to be set. |
Z | The position on the Z axis where this object is to be set. |
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 200 of file softproxy.cpp.
|
virtual |
Sets the orientation of this object in parent space.
Ori | A Quaternion representing the rotation this object is to be set to. |
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 212 of file softproxy.cpp.
|
virtual |
Sets the orientation of this object in parent space via Reals.
X | The X component of the Axis. |
Y | The Y component of the Axis. |
Z | The Z component of the Axis. |
W | Rotation on the Axis X, Y and Z defined. |
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 217 of file softproxy.cpp.
|
virtual |
Sets the scaling to be applied to this object.
Sc | A Vector3 representing the amount of scaling to apply to this object. |
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 227 of file softproxy.cpp.
Sets the scaling to be applied to this object via Reals.
X | The scaling factor to apply on the X axis. |
Y | The scaling factor to apply on the Y axis. |
Z | The scaling factor to apply on the Z axis. |
Reimplemented from Mezzanine::Physics::CollidableProxy.
Definition at line 232 of file softproxy.cpp.
|
protected |
SoftBody proxy used by the internal physics.
Definition at line 60 of file softproxy.h.