Blender V4.3
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 )

◆ 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

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.

Referenced by getAabbMax().

◆ m_collisionMarginTriangle

btScalar m_collisionMarginTriangle

Definition at line 41 of file btConvexConcaveCollisionAlgorithm.h.

◆ m_convexBodyWrap

const btCollisionObjectWrapper* m_convexBodyWrap

◆ m_dispatcher

◆ m_dispatchInfoPtr

const btDispatcherInfo* m_dispatchInfoPtr

Definition at line 40 of file btConvexConcaveCollisionAlgorithm.h.

◆ m_isSwapped

bool m_isSwapped

Definition at line 81 of file btConvexConcaveCollisionAlgorithm.h.

◆ 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