16#if defined(_WIN32) || defined(__i386__)
17#define BT_USE_SSE_IN_API
43#define MIN(_a, _b) ((_a) < (_b) ? (_a) : (_b))
55 vec.setValue(1, 0, 0);
168 return "btMultiSphereShapeData";
@ MULTI_SPHERE_SHAPE_PROXYTYPE
const T & btMax(const T &a, const T &b)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar btSqrt(btScalar y)
int size() const
return the number of elements in the array
void resize(int newsize, const T &fillData=T())
btConvexInternalAabbCachingShape adds local aabb caching for convex shapes, to avoid expensive boundi...
void getCachedLocalAabb(btVector3 &aabbMin, btVector3 &aabbMax) const
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual btScalar getMargin() const
btAlignedObjectArray< btVector3 > m_localPositionArray
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
btConvexShape Interface
btAlignedObjectArray< btScalar > m_radiArray
btMultiSphereShape(const btVector3 *positions, const btScalar *radi, int numSpheres)
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
CollisionShape Interface.
btVector3 can be used to represent 3D points and vectors.
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
btScalar length2() const
Return the length of the vector squared.