16 #ifndef BT_POLYHEDRAL_CONVEX_SHAPE_H
17 #define BT_POLYHEDRAL_CONVEX_SHAPE_H
44 virtual bool initializePolyhedralFeatures(
int shiftVerticesByMargin=0);
54 virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(
const btVector3* vectors,
btVector3* supportVerticesOut,
int numVectors)
const;
59 virtual int getNumVertices()
const = 0 ;
60 virtual int getNumEdges()
const = 0;
62 virtual void getVertex(
int i,
btVector3& vtx)
const = 0;
63 virtual int getNumPlanes()
const = 0;
64 virtual void getPlane(
btVector3& planeNormal,
btVector3& planeSupport,
int i )
const = 0;
116 #endif //BT_POLYHEDRAL_CONVEX_SHAPE_H
void getNonvirtualAabb(const btTransform &trans, btVector3 &aabbMin, btVector3 &aabbMax, btScalar margin) const
The btConvexInternalShape is an internal base class, shared by most convex shape implementations.
virtual void setLocalScaling(const btVector3 &scaling)
void getCachedLocalAabb(btVector3 &aabbMin, btVector3 &aabbMax) const
virtual void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicat...
const btConvexPolyhedron * getConvexPolyhedron() const
The btPolyhedralConvexShape is an internal interface class for polyhedral convex shapes.
btPolyhedralConvexAabbCachingShape()
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
The btPolyhedralConvexAabbCachingShape adds aabb caching to the btPolyhedralConvexShape.
#define BT_DECLARE_ALIGNED_ALLOCATOR()
btConvexPolyhedron * m_polyhedron
void btTransformAabb(const btVector3 &halfExtents, btScalar margin, const btTransform &t, btVector3 &aabbMinOut, btVector3 &aabbMaxOut)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
void setCachedLocalAabb(const btVector3 &aabbMin, const btVector3 &aabbMax)