A triangle mesh collsion shape based on a graphics mesh. More...
#include <collisionshape.h>
Public Member Functions | |
DynamicMeshCollisionShape (const String &Name, btGImpactMeshShape *BulletShape) | |
Internal Constructor. More... | |
virtual | ~DynamicMeshCollisionShape () |
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 String & | GetName () 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 | |
btGImpactMeshShape * | GImpactShape |
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. | |
A triangle mesh collsion shape based on a graphics mesh.
As the name suggests, this is a TriMesh shape intended for dynamic objects. This can be used with static objects, but using the StaticMeshCollisionShape class instead will yeild much better performance.
In general, this collision shape will provide "pixel-perfect" collisions, but this comes at a steep performance cost. You can't have too many objects with this kind of shape before running into noticable performance drops. This class should be avoided in real-time applications if at all possible. Primitives provide much better performance.
Definition at line 63 of file dynamicmeshcollisionshape.h.
Mezzanine::Physics::DynamicMeshCollisionShape::DynamicMeshCollisionShape | ( | const String & | Name, |
btGImpactMeshShape * | BulletShape | ||
) |
Internal Constructor.
Name | The name of this Shape. |
BulletShape | The internal shape this shape is based on. |
Definition at line 57 of file dynamicmeshcollisionshape.cpp.
|
virtual |
Gets the type of Collision shape this is.
Implements Mezzanine::Physics::MeshCollisionShape.
Definition at line 69 of file dynamicmeshcollisionshape.cpp.