16#ifndef BT_SOFT_BODY_CONCAVE_COLLISION_ALGORITHM_H
17#define BT_SOFT_BODY_CONCAVE_COLLISION_ALGORITHM_H
67 const btCollisionObject* m_triBody;
91 virtual void processTriangle(btVector3* triangle,
int partId,
int triangleIndex);
btCollisionShape
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
#define MAX_NUM_PARTS_IN_BITS
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
virtual void * allocateCollisionAlgorithm(int size)=0
btManifoldResult is a helper class to manage contact results.
btSoftBodyConcaveCollisionAlgorithm supports collision between soft body shapes and (concave) triange...
virtual void processCollision(const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
btSoftBodyConcaveCollisionAlgorithm(const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
virtual void getAllContactManifolds(btManifoldArray &manifoldArray)
btScalar calculateTimeOfImpact(btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual ~btSoftBodyConcaveCollisionAlgorithm()
For each triangle in the concave mesh that overlaps with the AABB of a soft body (m_softBody),...
virtual void processTriangle(btVector3 *triangle, int partId, int triangleIndex)
btSoftBodyTriangleCallback(btDispatcher *dispatcher, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
SIMD_FORCE_INLINE const btVector3 & getAabbMax() const
virtual ~btSoftBodyTriangleCallback()
SIMD_FORCE_INLINE const btVector3 & getAabbMin() const
void setTimeStepAndCounters(btScalar collisionMarginTriangle, const btCollisionObjectWrapper *triObjWrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
btDispatcher * m_dispatcher1
Used by the btCollisionDispatcher to register and create instances for btCollisionAlgorithm.
virtual btCollisionAlgorithm * CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
virtual btCollisionAlgorithm * CreateCollisionAlgorithm(btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
int getTriangleIndex() const
class btCollisionShape * m_childShape
btTriIndex(int partId, int triangleIndex, btCollisionShape *shape)
int m_PartIdTriangleIndex