| Bullet Collision Detection & Physics Library
    | 
 
 
 
Go to the documentation of this file.
   16 #if defined(_WIN32) || defined(__i386__) 
   17 #define BT_USE_SSE_IN_API 
   33         for (
int i = 0; i < numSpheres; i++)
 
   43 #define MIN(_a, _b) ((_a) < (_b) ? (_a) : (_b)) 
   70         for (
int k = 0; k < numSpheres; k += 128)
 
   73                 int inner_count = 
MIN(numSpheres - k, 128);
 
   74                 for (
long i = 0; i < inner_count; i++)
 
   80                 long i = vec.
maxDot(temp, inner_count, newDot);
 
   93         for (
int j = 0; j < numVectors; j++)
 
  106                 for (
int k = 0; k < numSpheres; k += 128)
 
  109                         int inner_count = 
MIN(numSpheres - k, 128);
 
  110                         for (
long i = 0; i < inner_count; i++)
 
  116                         long i = vec.
maxDot(temp, inner_count, newDot);
 
  120                                 supportVerticesOut[j] = temp[i];
 
  139                                          mass / (
btScalar(12.0)) * (lx * lx + lz * lz),
 
  140                                          mass / (
btScalar(12.0)) * (lx * lx + ly * ly));
 
  157                 for (
int i = 0; i < numElem; i++, memPtr++)
 
  168         return "btMultiSphereShapeData";
 
  
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btConvexInternalAabbCachingShape adds local aabb caching for convex shapes, to avoid expensive boundi...
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btAlignedObjectArray< btScalar > m_radiArray
virtual void * getUniquePointer(void *oldPtr)=0
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
CollisionShape Interface.
int m_localPositionArraySize
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
const btScalar & y() const
Return the y value.
btMultiSphereShape(const btVector3 *positions, const btScalar *radi, int numSpheres)
btPositionAndRadius * m_localPositionArrayPtr
void resize(int newsize, const T &fillData=T())
btAlignedObjectArray< btVector3 > m_localPositionArray
void getCachedLocalAabb(btVector3 &aabbMin, btVector3 &aabbMax) const
virtual void finalizeChunk(btChunk *chunk, const char *structType, int chunkCode, void *oldPtr)=0
btVector3 can be used to represent 3D points and vectors.
virtual btScalar getMargin() const
const btScalar & x() const
Return the x value.
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
btConvexShape Interface
btConvexInternalShapeData m_convexInternalShapeData
btScalar btSqrt(btScalar y)
virtual btChunk * allocate(size_t size, int numElements)=0
const btScalar & z() const
Return the z value.
int size() const
return the number of elements in the array
btScalar length2() const
Return the length of the vector squared.
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
long maxDot(const btVector3 *array, long array_count, btScalar &dotOut) const
returns index of maximum dot product between this and vectors in array[]