16#ifndef BT_POLYHEDRAL_CONVEX_SHAPE_H
17#define BT_POLYHEDRAL_CONVEX_SHAPE_H
25btPolyhedralConvexShape : public btConvexInternalShape
57 virtual void getEdge(
int i, btVector3& pa, btVector3& pb)
const = 0;
58 virtual void getVertex(
int i, btVector3& vtx)
const = 0;
60 virtual void getPlane(btVector3 & planeNormal, btVector3 & planeSupport,
int i)
const = 0;
69 btVector3 m_localAabbMin;
70 btVector3 m_localAabbMax;
71 bool m_isLocalAabbValid;
76 m_isLocalAabbValid =
true;
101 virtual void getAabb(
const btTransform& t, btVector3& aabbMin, btVector3& aabbMax)
const;
SIMD_FORCE_INLINE void btTransformAabb(const btVector3 &halfExtents, btScalar margin, const btTransform &t, btVector3 &aabbMinOut, btVector3 &aabbMaxOut)
virtual bool isInside(const btVector3 &pt, btScalar tolerance) const =0
BT_DECLARE_ALIGNED_ALLOCATOR()
btPolyhedralConvexShape()
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
btConvexShape Interface
virtual ~btPolyhedralConvexShape()
virtual int getNumEdges() const =0
virtual bool initializePolyhedralFeatures(int shiftVerticesByMargin=0)
virtual void getPlane(btVector3 &planeNormal, btVector3 &planeSupport, int i) const =0
virtual void getEdge(int i, btVector3 &pa, btVector3 &pb) const =0
virtual int getNumVertices() const =0
virtual void getVertex(int i, btVector3 &vtx) const =0
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
CollisionShape Interface.
virtual void setPolyhedralFeatures(btConvexPolyhedron &polyhedron)
const btConvexPolyhedron * getConvexPolyhedron() const
virtual int getNumPlanes() const =0
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
The btPolyhedralConvexAabbCachingShape adds aabb caching to the btPolyhedralConvexShape.
void getCachedLocalAabb(btVector3 &aabbMin, btVector3 &aabbMax) const
btPolyhedralConvexAabbCachingShape()
virtual void setLocalScaling(const btVector3 &scaling)
void setCachedLocalAabb(const btVector3 &aabbMin, const btVector3 &aabbMax)
virtual void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
void getNonvirtualAabb(const btTransform &trans, btVector3 &aabbMin, btVector3 &aabbMax, btScalar margin) const