This is the proxy object for soft/compressable bodies. More...
#include <softproxy.h>
Inheritance diagram for Mezzanine::Physics::SoftProxy:
Collaboration diagram for Mezzanine::Physics::SoftProxy: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.
1.8.9.1. Thanks to the
Open Icon Library
for help with some of the icons.