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

This is the base class for all Mesh shapes. More...

#include <collisionshape.h>

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

Public Member Functions

 MeshCollisionShape ()
 Class Constructor.
 
virtual ~MeshCollisionShape ()
 Class Destructor.
 
virtual btConcaveShape * GetBulletConcaveShape () const
 
virtual CollisionShape::ShapeType GetType () const =0
 Gets the type of Collision shape this is. More...
 
virtual void ProtoDeSerialize (const XML::Node &OneNode)
 
virtual void ProtoSerialize (XML::Node &CurrentRoot) const
 
- Public Member Functions inherited from Mezzanine::Physics::CollisionShape
 CollisionShape ()
 Class Constructor.
 
virtual ~CollisionShape ()
 Class Destructor.
 
virtual btCollisionShape * _GetInternalShape () const
 Gets the internal shape pointer this collision shape is based on. More...
 
virtual void _SetShapeName (const String &NewName)
 Sets the name of this collision shape. More...
 
virtual Real GetMargin () const
 Gets the amount of padding currently being applied to the collision shape. More...
 
virtual const StringGetName () const
 Gets the name of this shape. More...
 
virtual Vector3 GetScaling () const
 Gets the current scaling being applied to the collision shape. More...
 
virtual void SetMargin (const Real &Margin)
 Sets the padding that will be applied when checking for collisions. More...
 
virtual void SetScaling (const Vector3 &Scaling)
 Scales the collision shape on each of it's axes. More...
 

Static Public Member Functions

static String SerializableName ()
 Get the name of the the XML tag this class will leave behind as its instances are serialized. More...
 
- Static Public Member Functions inherited from Mezzanine::Physics::CollisionShape
static String SerializableName ()
 Get the name of the the XML tag this class will leave behind as its instances are serialized. More...
 

Protected Member Functions

void SetPointers (btConcaveShape *Shape)
 Sets the internal pointers on the base classes.
 

Additional Inherited Members

- Public Types inherited from Mezzanine::Physics::CollisionShape
enum  ShapeType {
  ST_Box = 0, ST_Capsule = 1, ST_Compound = 2, ST_Cone = 3,
  ST_ConvexHull = 4, ST_Cylinder = 5, ST_MultiSphere = 6, ST_Sphere = 7,
  ST_DynamicTriMesh = 8, ST_Heightfield = 9, ST_Plane = 10, ST_Soft = 11,
  ST_StaticTriMesh = 12
}
 This enum describes what kind of shape you are currently working with. More...
 
- Protected Attributes inherited from Mezzanine::Physics::CollisionShape
String Name
 Storage for the name of this class instance.
 
btCollisionShape * ShapeBase
 A pointer to the bullet collision this uses.
 

Detailed Description

This is the base class for all Mesh shapes.

A Mesh shape is any shape that uses a series of triangles to determine it's bounds. As a rule all Mesh Shapes are considered Concave(even though the triangles don't need to form a concave shape, there is no way to assure the physics engine of that). Mesh shapes are not very performant, and should only be used with static objects, such as terrain.

Definition at line 60 of file meshcollisionshape.h.

Member Function Documentation

btConcaveShape * Mezzanine::Physics::MeshCollisionShape::GetBulletConcaveShape ( ) const
virtual

Definition at line 67 of file meshcollisionshape.cpp.

virtual CollisionShape::ShapeType Mezzanine::Physics::MeshCollisionShape::GetType ( ) const
pure virtual

Gets the type of Collision shape this is.

Returns
Returns an enum value indicating the type of collision shape this is.

Implements Mezzanine::Physics::CollisionShape.

Implemented in Mezzanine::Physics::SoftCollisionShape, Mezzanine::Physics::DynamicMeshCollisionShape, and Mezzanine::Physics::StaticMeshCollisionShape.

void Mezzanine::Physics::MeshCollisionShape::ProtoDeSerialize ( const XML::Node OneNode)
virtual

Reimplemented from Mezzanine::Physics::CollisionShape.

Definition at line 85 of file meshcollisionshape.cpp.

void Mezzanine::Physics::MeshCollisionShape::ProtoSerialize ( XML::Node CurrentRoot) const
virtual

Reimplemented from Mezzanine::Physics::CollisionShape.

Definition at line 70 of file meshcollisionshape.cpp.

String Mezzanine::Physics::MeshCollisionShape::SerializableName ( )
static

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

Returns
A string containing "MeshCollisionShape"

Definition at line 103 of file meshcollisionshape.cpp.


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