Spinning Topp Logo BlackTopp Studios
inc
Public Member Functions | Protected Attributes | List of all members
Mezzanine::Physics::StaticMeshCollisionShape Class Reference

A triangle mesh collsion shape based on a graphics mesh. More...

#include <staticmeshcollisionshape.h>

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

Public Member Functions

 StaticMeshCollisionShape (const String &Name, btBvhTriangleMeshShape *BulletShape)
 Internal Constructor. More...
 
virtual ~StaticMeshCollisionShape ()
 Class Destructor.
 
virtual CollisionShape::ShapeType GetType () const
 Gets the type of Collision shape this is. More...
 
- Public Member Functions inherited from Mezzanine::Physics::MeshCollisionShape
 MeshCollisionShape ()
 Class Constructor.
 
virtual ~MeshCollisionShape ()
 Class Destructor.
 
virtual btConcaveShape * GetBulletConcaveShape () const
 
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...
 

Protected Attributes

btBvhTriangleMeshShape * BvhShape
 
- 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.
 

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...
 
- Static Public Member Functions inherited from Mezzanine::Physics::MeshCollisionShape
static String GetSerializableName ()
 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 GetSerializableName ()
 Get the name of the the XML tag this class will leave behind as its instances are serialized. More...
 
- Protected Member Functions inherited from Mezzanine::Physics::MeshCollisionShape
void SetPointers (btConcaveShape *Shape)
 Sets the internal pointers on the base classes.
 

Detailed Description

A triangle mesh collsion shape based on a graphics mesh.

As the name suggests, this is a TriMesh shape intended for static objects. If this shape is used in a dynamic object, it will simply not provide any collisions with other objects.

This shape will provide "pixel-perfect" collisions like the DynamicMeshCollisionShape class, but is much more performant at the cost of only being usable on static objects.

Definition at line 59 of file staticmeshcollisionshape.h.

Constructor & Destructor Documentation

Mezzanine::Physics::StaticMeshCollisionShape::StaticMeshCollisionShape ( const String Name,
btBvhTriangleMeshShape *  BulletShape 
)

Internal Constructor.

Parameters
NameThe name of this Shape.
BulletShapeThe internal shape this shape is based on.
Todo:
May need to create a btScaledBvhTriangleMeshShape for scaling this shape appropriately.

Definition at line 56 of file staticmeshcollisionshape.cpp.

Member Function Documentation

CollisionShape::ShapeType Mezzanine::Physics::StaticMeshCollisionShape::GetType ( ) const
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::MeshCollisionShape.

Definition at line 69 of file staticmeshcollisionshape.cpp.


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