Blender V5.0
btConvexConcaveCollisionAlgorithm.h File Reference

Go to the source code of this file.

Classes

struct  CreateFunc
struct  SwappedCreateFunc

Functions

 BT_DECLARE_ALIGNED_ALLOCATOR ()
 btConvexTriangleCallback (btDispatcher *dispatcher, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
void setTimeStepAndCounters (btScalar collisionMarginTriangle, const btDispatcherInfo &dispatchInfo, const btCollisionObjectWrapper *convexBodyWrap, const btCollisionObjectWrapper *triBodyWrap, btManifoldResult *resultOut)
void clearWrapperData ()
virtual ~btConvexTriangleCallback ()
virtual void processTriangle (btVector3 *triangle, int partId, int triangleIndex)
void clearCache ()
SIMD_FORCE_INLINE const btVector3getAabbMin () const
SIMD_FORCE_INLINE const btVector3getAabbMax () const
 btConvexConcaveCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
virtual ~btConvexConcaveCollisionAlgorithm ()
virtual void processCollision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
btScalar calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual void getAllContactManifolds (btManifoldArray &manifoldArray)

Variables

btConvexTriangleCallback __pad0__
 For each triangle in the concave mesh that overlaps with the AABB of a convex (m_convexProxy), processTriangle is called.
btVector3 m_aabbMax
const btCollisionObjectWrapperm_convexBodyWrap
const btCollisionObjectWrapperm_triBodyWrap
btManifoldResultm_resultOut
btDispatcherm_dispatcher
const btDispatcherInfom_dispatchInfoPtr
btScalar m_collisionMarginTriangle
int m_triangleCount
btPersistentManifoldm_manifoldPtr
btConvexConcaveCollisionAlgorithm __pad1__
 btConvexConcaveCollisionAlgorithm supports collision between convex shapes and (concave) trianges meshes.
bool m_isSwapped

Function Documentation

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ btConvexConcaveCollisionAlgorithm()

btConvexConcaveCollisionAlgorithm::btConvexConcaveCollisionAlgorithm ( const btCollisionAlgorithmConstructionInfo & ci,
const btCollisionObjectWrapper * body0Wrap,
const btCollisionObjectWrapper * body1Wrap,
bool isSwapped )

◆ btConvexTriangleCallback()

btConvexTriangleCallback::btConvexTriangleCallback ( btDispatcher * dispatcher,
const btCollisionObjectWrapper * body0Wrap,
const btCollisionObjectWrapper * body1Wrap,
bool isSwapped )

◆ calculateTimeOfImpact()

btScalar calculateTimeOfImpact ( btCollisionObject * body0,
btCollisionObject * body1,
const btDispatcherInfo & dispatchInfo,
btManifoldResult * resultOut )

References btCollisionObject.

◆ clearCache()

void clearCache ( )

◆ clearWrapperData()

void clearWrapperData ( )

Definition at line 54 of file btConvexConcaveCollisionAlgorithm.h.

References m_convexBodyWrap, and m_triBodyWrap.

◆ getAabbMax()

SIMD_FORCE_INLINE const btVector3 & getAabbMax ( ) const

◆ getAabbMin()

SIMD_FORCE_INLINE const btVector3 & getAabbMin ( ) const

◆ getAllContactManifolds()

virtual void getAllContactManifolds ( btManifoldArray & manifoldArray)
virtual

Definition at line 7 of file btEmptyCollisionAlgorithm.h.

◆ processCollision()

virtual void processCollision ( const btCollisionObjectWrapper * body0Wrap,
const btCollisionObjectWrapper * body1Wrap,
const btDispatcherInfo & dispatchInfo,
btManifoldResult * resultOut )
virtual

◆ processTriangle()

virtual void processTriangle ( btVector3 * triangle,
int partId,
int triangleIndex )
virtual

◆ setTimeStepAndCounters()

void setTimeStepAndCounters ( btScalar collisionMarginTriangle,
const btDispatcherInfo & dispatchInfo,
const btCollisionObjectWrapper * convexBodyWrap,
const btCollisionObjectWrapper * triBodyWrap,
btManifoldResult * resultOut )

◆ ~btConvexConcaveCollisionAlgorithm()

btConvexConcaveCollisionAlgorithm::~btConvexConcaveCollisionAlgorithm ( )
virtual

Definition at line 38 of file btConvexConcaveCollisionAlgorithm.cpp.

◆ ~btConvexTriangleCallback()

btConvexTriangleCallback::~btConvexTriangleCallback ( )
virtual

Definition at line 64 of file btConvexConcaveCollisionAlgorithm.cpp.

References clearCache(), m_dispatcher, and m_manifoldPtr.

Variable Documentation

◆ __pad0__

For each triangle in the concave mesh that overlaps with the AABB of a convex (m_convexProxy), processTriangle is called.

Definition at line 30 of file btConvexConcaveCollisionAlgorithm.h.

◆ __pad1__

btConvexConcaveCollisionAlgorithm supports collision between convex shapes and (concave) trianges meshes.

Definition at line 77 of file btConvexConcaveCollisionAlgorithm.h.

◆ m_aabbMax

btVector3 m_aabbMax

Definition at line 33 of file btConvexConcaveCollisionAlgorithm.h.

◆ m_collisionMarginTriangle

btScalar m_collisionMarginTriangle

Definition at line 41 of file btConvexConcaveCollisionAlgorithm.h.

◆ m_convexBodyWrap

const btCollisionObjectWrapper* m_convexBodyWrap

◆ m_dispatcher

btDispatcher* m_dispatcher

◆ m_dispatchInfoPtr

const btDispatcherInfo* m_dispatchInfoPtr

Definition at line 40 of file btConvexConcaveCollisionAlgorithm.h.

Referenced by btConvexTriangleCallback().

◆ m_isSwapped

bool m_isSwapped

◆ m_manifoldPtr

◆ m_resultOut

btManifoldResult* m_resultOut

Definition at line 38 of file btConvexConcaveCollisionAlgorithm.h.

◆ m_triangleCount

int m_triangleCount

Definition at line 46 of file btConvexConcaveCollisionAlgorithm.h.

◆ m_triBodyWrap

const btCollisionObjectWrapper* m_triBodyWrap