16#ifndef BT_POLYHEDRAL_CONVEX_SHAPE_H
17#define BT_POLYHEDRAL_CONVEX_SHAPE_H
39 virtual bool initializePolyhedralFeatures(
int shiftVerticesByMargin = 0);
51 virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(
const btVector3* vectors,
btVector3* supportVerticesOut,
int numVectors)
const;
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...
#define ATTRIBUTE_ALIGNED16(a)
The btConvexInternalShape is an internal base class, shared by most convex shape implementations.
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
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicat...
void getNonvirtualAabb(const btTransform &trans, btVector3 &aabbMin, btVector3 &aabbMax, btScalar margin) const
The btPolyhedralConvexShape is an internal interface class for polyhedral convex shapes.
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual bool isInside(const btVector3 &pt, btScalar tolerance) const =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 getNumPlanes() const =0
virtual void getVertex(int i, btVector3 &vtx) const =0
btConvexPolyhedron * m_polyhedron
const btConvexPolyhedron * getConvexPolyhedron() const
virtual int getNumVertices() const =0
virtual int getNumEdges() const =0
btVector3 can be used to represent 3D points and vectors.