16 #ifndef BT_CONVEX_POINT_CLOUD_SHAPE_H
17 #define BT_CONVEX_POINT_CLOUD_SHAPE_H
34 m_localScaling.setValue(1.f,1.f,1.f);
42 m_localScaling = localScaling;
44 m_unscaledPoints = points;
45 m_numPoints = numPoints;
53 m_unscaledPoints = points;
54 m_numPoints = numPoints;
55 m_localScaling = localScaling;
63 return m_unscaledPoints;
68 return m_unscaledPoints;
78 return m_unscaledPoints[index] * m_localScaling;
84 virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(
const btVector3* vectors,
btVector3* supportVerticesOut,
int numVectors)
const;
89 virtual const char*
getName()
const {
return "ConvexPointCloud";}
91 virtual int getNumVertices()
const;
92 virtual int getNumEdges()
const;
94 virtual void getVertex(
int i,
btVector3& vtx)
const;
95 virtual int getNumPlanes()
const;
100 virtual void setLocalScaling(
const btVector3& scaling);
104 #endif //BT_CONVEX_POINT_CLOUD_SHAPE_H
void computeAabb(btVector3 &aabbMin, btVector3 &aabbMax, btConvexInternalShape *convexShape, ppu_address_t convexShapePtr, int shapeType, const btTransform &xform)
not supported on IBM SDK, until we fix the alignment of btVector3
virtual const char * getName() const
btVector3 getScaledPoint(int index) const
const btVector3 * getUnscaledPoints() const
#define SIMD_FORCE_INLINE
btConvexPointCloudShape(btVector3 *points, int numPoints, const btVector3 &localScaling, bool computeAabb=true)
void setPoints(btVector3 *points, int numPoints, bool computeAabb=true, const btVector3 &localScaling=btVector3(1.f, 1.f, 1.f))
btConvexPointCloudShape()
btVector3 * m_unscaledPoints
btVector3 can be used to represent 3D points and vectors.
#define ATTRIBUTE_ALIGNED16(a)
The btPolyhedralConvexAabbCachingShape adds aabb caching to the btPolyhedralConvexShape.
#define BT_DECLARE_ALIGNED_ALLOCATOR()
btVector3 * getUnscaledPoints()
The btConvexPointCloudShape implements an implicit convex hull of an array of vertices.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...