16#if defined(_WIN32) || defined(__i386__)
17#define BT_USE_SSE_IN_API
54 if (recalculateLocalAabb)
179#ifdef BT_USE_DOUBLE_PRECISION
184 shapeData->m_unscaledPointsDoublePtr = 0;
204 return "btConvexHullShapeData";
@ CONVEX_HULL_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...
#define btVector3DataName
int size() const
return the number of elements in the array
void resize(int newsize, const T &fillData=T())
void push_back(const T &_Val)
Convex hull implementation based on Preparata and Hong See http://code.google.com/p/bullet/issues/det...
btScalar compute(const void *coords, bool doubleCoords, int stride, int count, btScalar shrink, btScalar shrinkClamp)
btAlignedObjectArray< btVector3 > m_unscaledPoints
virtual int getNumPlanes() const
virtual int getNumVertices() const
void optimizeConvexHull()
virtual int getNumEdges() const
virtual void getVertex(int i, btVector3 &vtx) const
virtual bool isInside(const btVector3 &pt, btScalar tolerance) const
virtual void getEdge(int i, btVector3 &pa, btVector3 &pb) const
virtual void project(const btTransform &trans, const btVector3 &dir, btScalar &minProj, btScalar &maxProj, btVector3 &witnesPtMin, btVector3 &witnesPtMax) const
btVector3 getScaledPoint(int i) const
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual btVector3 localGetSupportingVertex(const btVector3 &vec) const
virtual void getPlane(btVector3 &planeNormal, btVector3 &planeSupport, int i) const
void addPoint(const btVector3 &point, bool recalculateLocalAabb=true)
virtual void setLocalScaling(const btVector3 &scaling)
in case we receive negative scaling
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
The btPolyhedralConvexAabbCachingShape adds aabb caching to the btPolyhedralConvexShape.
btVector3 can be used to represent 3D points and vectors.
btScalar dot(const btVector3 &v) const
Return the dot product.
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
long maxDot(const btVector3 *array, long array_count, btScalar &dotOut) const
returns index of maximum dot product between this and vectors in array[]
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64