1#ifndef BT_COMPOUND_FROM_GIMPACT
2#define BT_COMPOUND_FROM_GIMPACT
17 for (
int i = 0;
i < m_children.size();
i++)
19 delete m_children[
i].m_childShape;
72 MyCallback cb(rayFrom, rayTo, partId, triangleIndex);
99 gimpactMesh->
getAabb(tr, aabbMin, aabbMax);
100 gimpactMesh->
getMeshInterface()->InternalProcessAllTriangles(&cb, aabbMin, aabbMax);
ATTR_WARN_UNUSED_RESULT const BMVert * v2
btCompoundShape * btCreateCompoundFromGimpactShape(const btGImpactMeshShape *gimpactMesh, btScalar depth)
virtual ~btCompoundFromGimpactShape()
btCompoundShape(bool enableDynamicAabbTree=true, const int initialChildCapacity=0)
#define BT_DECLARE_ALIGNED_ALLOCATOR()
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
This class manages a mesh supplied by the btStridingMeshInterface interface.
btStridingMeshInterface * getMeshInterface()
void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
If the Bounding box is not updated, then this class attemps to calculate it.
btTriangleRaycastCallback(const btVector3 &from, const btVector3 &to, unsigned int flags=0)
VecBase< float, 3 > cross(VecOp< float, 3 >, VecOp< float, 3 >) RET
int m_ignoreTriangleIndex
virtual btScalar reportHit(const btVector3 &hitNormalLocal, btScalar hitFraction, int partId, int triangleIndex)
MyCallback(const btVector3 &from, const btVector3 &to, int ignorePart, int ignoreTriangleIndex)
const btGImpactMeshShape * m_gimpactShape
MyInternalTriangleIndexCallback(btCompoundShape *colShape, const btGImpactMeshShape *meshShape, btScalar depth)
virtual void internalProcessTriangleIndex(btVector3 *triangle, int partId, int triangleIndex)
btCompoundShape * m_colShape