Blender
V3.3
|
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, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped) | |
void | setTimeStepAndCounters (btScalar collisionMarginTriangle, const btCollisionObjectWrapper *triObjWrap, 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 |
![]() | |
virtual | ~btTriangleCallback () |
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 64 of file btSoftBodyConcaveCollisionAlgorithm.h.
btSoftBodyTriangleCallback::btSoftBodyTriangleCallback | ( | btDispatcher * | dispatcher, |
const btCollisionObjectWrapper * | body0Wrap, | ||
const btCollisionObjectWrapper * | body1Wrap, | ||
bool | isSwapped | ||
) |
Definition at line 46 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References clearCache(), and btCollisionObjectWrapper::getCollisionObject().
|
virtual |
Definition at line 60 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References clearCache().
void btSoftBodyTriangleCallback::clearCache | ( | ) |
Definition at line 66 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References btAssert, btHashMap< Key, Value >::clear(), btHashMap< Key, Value >::getAtIndex(), btSoftBody::getWorldInfo(), btTriIndex::m_childShape, btSoftBodyWorldInfo::m_sparsesdf, btSparseSdf< CELLSIZE >::RemoveReferences(), and btHashMap< Key, Value >::size().
Referenced by btSoftBodyTriangleCallback(), btSoftBodyConcaveCollisionAlgorithm::clearCache(), and ~btSoftBodyTriangleCallback().
|
inline |
Definition at line 99 of file btSoftBodyConcaveCollisionAlgorithm.h.
References m_aabbMax.
Referenced by btSoftBodyConcaveCollisionAlgorithm::processCollision().
|
inline |
Definition at line 95 of file btSoftBodyConcaveCollisionAlgorithm.h.
References m_aabbMin.
Referenced by btSoftBodyConcaveCollisionAlgorithm::processCollision().
|
virtual |
debug drawing of the overlapping triangles
Implements btTriangleCallback.
Definition at line 79 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References BT_CLOSEST_POINT_ALGORITHMS, BT_CONTACT_POINT_ALGORITHMS, BT_SOFTBODY_TRIANGLE_EXTRUSION, btAssert, btCollisionShape, btConvexHullShape(), btTransform, btVector3, color, blender::math::cross(), btIDebugDraw::DBG_DrawWireframe, btIDebugDraw::drawLine(), btDispatcher::findAlgorithm(), btDispatcher::freeCollisionAlgorithm(), btIDebugDraw::getDebugMode(), btTriIndex::getUid(), getX(), btHashMap< Key, Value >::insert(), btTriIndex::m_childShape, btManifoldResult::m_closestPointDistanceThreshold, btDispatcherInfo::m_debugDraw, btCollisionAlgorithmConstructionInfo::m_dispatcher1, normal, btCollisionAlgorithm::processCollision(), and btCollisionAlgorithm::~btCollisionAlgorithm().
void btSoftBodyTriangleCallback::setTimeStepAndCounters | ( | btScalar | collisionMarginTriangle, |
const btCollisionObjectWrapper * | triObjWrap, | ||
const btDispatcherInfo & | dispatchInfo, | ||
btManifoldResult * | resultOut | ||
) |
Definition at line 166 of file btSoftBodyConcaveCollisionAlgorithm.cpp.
References BT_SOFTBODY_TRIANGLE_EXTRUSION, btTransform, btTransformAabb(), btVector3, btSoftBody::getAabb(), and btCollisionObjectWrapper::getWorldTransform().
Referenced by btSoftBodyConcaveCollisionAlgorithm::processCollision().
int btSoftBodyTriangleCallback::m_triangleCount |
Definition at line 81 of file btSoftBodyConcaveCollisionAlgorithm.h.