16#ifndef BT_CONVEX_SHAPE_INTERFACE1
17#define BT_CONVEX_SHAPE_INTERFACE1
27#define MAX_PREFERRED_PENETRATION_DIRECTIONS 10
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
virtual const btVector3 & getLocalScaling() const =0
btScalar getMarginNonVirtual() const
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const =0
virtual void setLocalScaling(const btVector3 &scaling)=0
btConvexShape()
not supported on IBM SDK, until we fix the alignment of btVector3
virtual void project(const btTransform &trans, const btVector3 &dir, btScalar &minProj, btScalar &maxProj, btVector3 &witnesPtMin, btVector3 &witnesPtMax) const
virtual btVector3 localGetSupportingVertex(const btVector3 &vec) const =0
btVector3 localGetSupportVertexNonVirtual(const btVector3 &vec) const
virtual void setMargin(btScalar margin)=0
virtual int getNumPreferredPenetrationDirections() const =0
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const =0
void getAabbNonVirtual(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
virtual btScalar getMargin() 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 dedicat...
virtual void getAabbSlow(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0
btVector3 localGetSupportVertexWithoutMarginNonVirtual(const btVector3 &vec) const
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual void getPreferredPenetrationDirection(int index, btVector3 &penetrationVector) const =0
btVector3 can be used to represent 3D points and vectors.