The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc. More...
#include <btConvexShape.h>
Public Member Functions | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
btConvexShape () | |
not supported on IBM SDK, until we fix the alignment of btVector3 | |
virtual | ~btConvexShape () |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const =0 |
virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const =0 |
btVector3 | localGetSupportVertexWithoutMarginNonVirtual (const btVector3 &vec) const |
btVector3 | localGetSupportVertexNonVirtual (const btVector3 &vec) const |
btScalar | getMarginNonVirtual () const |
void | getAabbNonVirtual (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
virtual void | project (const btTransform &trans, const btVector3 &dir, btScalar &min, btScalar &max) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const =0 |
void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version | |
virtual void | getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
virtual void | setLocalScaling (const btVector3 &scaling)=0 |
virtual const btVector3 & | getLocalScaling () const =0 |
virtual void | setMargin (btScalar margin)=0 |
virtual btScalar | getMargin () const =0 |
virtual int | getNumPreferredPenetrationDirections () const =0 |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const =0 |
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc.
It describes general convex shapes using the localGetSupportingVertex interface, used by collision detectors such as btGjkPairDetector.
Definition at line 31 of file btConvexShape.h.
btConvexShape::btConvexShape | ( | ) |
not supported on IBM SDK, until we fix the alignment of btVector3
Definition at line 36 of file btConvexShape.cpp.
btConvexShape::~btConvexShape | ( | ) | [virtual] |
Definition at line 40 of file btConvexShape.cpp.
virtual void btConvexShape::batchedUnitVectorGetSupportingVertexWithoutMargin | ( | const btVector3 * | vectors, | |
btVector3 * | supportVerticesOut, | |||
int | numVectors | |||
) | const [pure virtual] |
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btCylinderShapeX, btCylinderShapeZ, btMinkowskiSumShape, btMultiSphereShape, btPolyhedralConvexShape, btSphereShape, btTriangleShape, btUniformScalingShape, and btSoftClusterCollisionShape.
btConvexShape::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
Reimplemented from btCollisionShape.
Reimplemented in btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexInternalShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btCylinderShapeX, btCylinderShapeZ, btMinkowskiSumShape, btMultiSphereShape, btPolyhedralConvexShape, btSphereShape, btBU_Simplex1to4, btTriangleShape, and btUniformScalingShape.
void btConvexShape::getAabb | ( | const btTransform & | t, | |
btVector3 & | aabbMin, | |||
btVector3 & | aabbMax | |||
) | const [pure virtual] |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
Implements btCollisionShape.
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConvex2dShape, btConvexInternalShape, btConvexInternalAabbCachingShape, btCylinderShape, btPolyhedralConvexAabbCachingShape, btSphereShape, btBU_Simplex1to4, btTriangleShape, btUniformScalingShape, btTriangleShapeEx, and btSoftClusterCollisionShape.
void btConvexShape::getAabbNonVirtual | ( | const btTransform & | t, | |
btVector3 & | aabbMin, | |||
btVector3 & | aabbMax | |||
) | const |
Definition at line 360 of file btConvexShape.cpp.
virtual void btConvexShape::getAabbSlow | ( | const btTransform & | t, | |
btVector3 & | aabbMin, | |||
btVector3 & | aabbMax | |||
) | const [pure virtual] |
Implemented in btConvex2dShape, btConvexInternalShape, and btUniformScalingShape.
virtual const btVector3& btConvexShape::getLocalScaling | ( | ) | const [pure virtual] |
Implements btCollisionShape.
Implemented in btConvex2dShape, btConvexInternalShape, btConvexTriangleMeshShape, and btUniformScalingShape.
virtual btScalar btConvexShape::getMargin | ( | ) | const [pure virtual] |
Implements btCollisionShape.
Implemented in btConvex2dShape, btConvexInternalShape, btMinkowskiSumShape, btSphereShape, btUniformScalingShape, and btSoftClusterCollisionShape.
btScalar btConvexShape::getMarginNonVirtual | ( | ) | const |
Definition at line 311 of file btConvexShape.cpp.
virtual int btConvexShape::getNumPreferredPenetrationDirections | ( | ) | const [pure virtual] |
Implemented in btBox2dShape, btBoxShape, btConvex2dShape, btConvexInternalShape, btTriangleShape, and btUniformScalingShape.
virtual void btConvexShape::getPreferredPenetrationDirection | ( | int | index, | |
btVector3 & | penetrationVector | |||
) | const [pure virtual] |
Implemented in btBox2dShape, btBoxShape, btConvex2dShape, btConvexInternalShape, btTriangleShape, and btUniformScalingShape.
virtual btVector3 btConvexShape::localGetSupportingVertexWithoutMargin | ( | const btVector3 & | vec | ) | const [pure virtual] |
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btCylinderShapeX, btCylinderShapeZ, btMinkowskiSumShape, btMultiSphereShape, btPolyhedralConvexShape, btSphereShape, btTriangleShape, btUniformScalingShape, and btSoftClusterCollisionShape.
Definition at line 298 of file btConvexShape.cpp.
btVector3 btConvexShape::localGetSupportVertexWithoutMarginNonVirtual | ( | const btVector3 & | vec | ) | const |
Definition at line 120 of file btConvexShape.cpp.
void btConvexShape::project | ( | const btTransform & | trans, | |
const btVector3 & | dir, | |||
btScalar & | min, | |||
btScalar & | max | |||
) | const [virtual] |
Definition at line 46 of file btConvexShape.cpp.
virtual void btConvexShape::setLocalScaling | ( | const btVector3 & | scaling | ) | [pure virtual] |
Implements btCollisionShape.
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexInternalShape, btConvexInternalAabbCachingShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btPolyhedralConvexAabbCachingShape, and btUniformScalingShape.
virtual void btConvexShape::setMargin | ( | btScalar | margin | ) | [pure virtual] |
Implements btCollisionShape.
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConvex2dShape, btConvexInternalShape, btCylinderShape, btSphereShape, btUniformScalingShape, and btSoftClusterCollisionShape.