Blender V2.61 - r43446
|
For each triangle in the concave mesh that overlaps with the AABB of a soft body (m_softBody), processTriangle is called. More...
#include <btSoftBodyConcaveCollisionAlgorithm.h>
Public Member Functions | |
btSoftBodyTriangleCallback (btDispatcher *dispatcher, btCollisionObject *body0, btCollisionObject *body1, bool isSwapped) | |
void | setTimeStepAndCounters (btScalar collisionMarginTriangle, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut) |
virtual | ~btSoftBodyTriangleCallback () |
virtual void | processTriangle (btVector3 *triangle, int partId, int triangleIndex) |
void | clearCache () |
SIMD_FORCE_INLINE const btVector3 & | getAabbMin () const |
SIMD_FORCE_INLINE const btVector3 & | getAabbMax () const |
Public Attributes | |
int | m_triangleCount |
For each triangle in the concave mesh that overlaps with the AABB of a soft body (m_softBody), processTriangle is called.
Definition at line 63 of file btSoftBodyConcaveCollisionAlgorithm.h.
btSoftBodyTriangleCallback::btSoftBodyTriangleCallback | ( | btDispatcher * | dispatcher, |
btCollisionObject * | body0, | ||
btCollisionObject * | body1, | ||
bool | isSwapped | ||
) |
Definition at line 52 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References clearCache().
btSoftBodyTriangleCallback::~btSoftBodyTriangleCallback | ( | ) | [virtual] |
Definition at line 67 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References clearCache().
void btSoftBodyTriangleCallback::clearCache | ( | ) |
Definition at line 75 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References btAssert, btHashMap< Key, Value >::clear(), btHashMap< Key, Value >::getAtIndex(), btSoftBody::getWorldInfo(), i, btTriIndex::m_childShape, btSoftBodyWorldInfo::m_sparsesdf, btSparseSdf< CELLSIZE >::RemoveReferences(), and btHashMap< Key, Value >::size().
Referenced by btSoftBodyTriangleCallback(), btSoftBodyConcaveCollisionAlgorithm::clearCache(), and ~btSoftBodyTriangleCallback().
SIMD_FORCE_INLINE const btVector3& btSoftBodyTriangleCallback::getAabbMax | ( | ) | const [inline] |
Definition at line 98 of file btSoftBodyConcaveCollisionAlgorithm.h.
Referenced by btSoftBodyConcaveCollisionAlgorithm::processCollision().
SIMD_FORCE_INLINE const btVector3& btSoftBodyTriangleCallback::getAabbMin | ( | ) | const [inline] |
Definition at line 94 of file btSoftBodyConcaveCollisionAlgorithm.h.
Referenced by btSoftBodyConcaveCollisionAlgorithm::processCollision().
void btSoftBodyTriangleCallback::processTriangle | ( | btVector3 * | triangle, |
int | partId, | ||
int | triangleIndex | ||
) | [virtual] |
debug drawing of the overlapping triangles
this should use the btDispatcher, so the actual registered algorithm is used
Implements btTriangleCallback.
Definition at line 89 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References BT_SOFTBODY_TRIANGLE_EXTRUSION, btAssert, MakeCursor::color, cross(), btIDebugDraw::DBG_DrawWireframe, btIDebugDraw::drawLine(), btDispatcher::findAlgorithm(), btDispatcher::freeCollisionAlgorithm(), btIDebugDraw::getDebugMode(), btTriIndex::getUid(), btHashMap< Key, Value >::insert(), btTriIndex::m_childShape, btDispatcherInfo::m_debugDraw, btCollisionAlgorithmConstructionInfo::m_dispatcher1, btCollisionAlgorithm::processCollision(), btCollisionShape::setUserPointer(), and btCollisionAlgorithm::~btCollisionAlgorithm().
void btSoftBodyTriangleCallback::setTimeStepAndCounters | ( | btScalar | collisionMarginTriangle, |
const btDispatcherInfo & | dispatchInfo, | ||
btManifoldResult * | resultOut | ||
) |
Definition at line 190 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References BT_SOFTBODY_TRIANGLE_EXTRUSION, btTransformAabb(), btSoftBody::getAabb(), btTransform::setIdentity(), and btTransform::setOrigin().
Referenced by btSoftBodyConcaveCollisionAlgorithm::processCollision().
Definition at line 80 of file btSoftBodyConcaveCollisionAlgorithm.h.