Blender  V3.3
Classes | Protected Member Functions | Protected Attributes | List of all members
btGImpactCollisionAlgorithm Class Reference

Collision Algorithm for GImpact Shapes. More...

#include <btGImpactCollisionAlgorithm.h>

Inheritance diagram for btGImpactCollisionAlgorithm:
btActivatingCollisionAlgorithm btCollisionAlgorithm

Classes

struct  CreateFunc
 

Protected Member Functions

SIMD_FORCE_INLINE btPersistentManifoldnewContactManifold (const btCollisionObject *body0, const btCollisionObject *body1)
 Creates a new contact point. More...
 
SIMD_FORCE_INLINE void destroyConvexAlgorithm ()
 
SIMD_FORCE_INLINE void destroyContactManifolds ()
 
SIMD_FORCE_INLINE void clearCache ()
 
SIMD_FORCE_INLINE btPersistentManifoldgetLastManifold ()
 
SIMD_FORCE_INLINE void checkManifold (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
 
SIMD_FORCE_INLINE btCollisionAlgorithmnewAlgorithm (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
 
SIMD_FORCE_INLINE void checkConvexAlgorithm (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
 
void addContactPoint (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btVector3 &point, const btVector3 &normal, btScalar distance)
 
- Protected Member Functions inherited from btActivatingCollisionAlgorithm
 btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
 
 btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
 

Protected Attributes

btCollisionAlgorithmm_convex_algorithm
 
btPersistentManifoldm_manifoldPtr
 
btManifoldResultm_resultOut
 
const btDispatcherInfom_dispatchInfo
 
int m_triface0
 
int m_part0
 
int m_triface1
 
int m_part1
 
- Protected Attributes inherited from btCollisionAlgorithm
btDispatcherm_dispatcher
 
void collide_gjk_triangles (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btGImpactMeshShapePart *shape0, const btGImpactMeshShapePart *shape1, const int *pairs, int pair_count)
 
void collide_sat_triangles (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btGImpactMeshShapePart *shape0, const btGImpactMeshShapePart *shape1, const int *pairs, int pair_count)
 
void shape_vs_shape_collision (const btCollisionObjectWrapper *body0, const btCollisionObjectWrapper *body1, const btCollisionShape *shape0, const btCollisionShape *shape1)
 
void convex_vs_convex_collision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btCollisionShape *shape0, const btCollisionShape *shape1)
 
void gimpact_vs_gimpact_find_pairs (const btTransform &trans0, const btTransform &trans1, const btGImpactShapeInterface *shape0, const btGImpactShapeInterface *shape1, btPairSet &pairset)
 
void gimpact_vs_shape_find_pairs (const btTransform &trans0, const btTransform &trans1, const btGImpactShapeInterface *shape0, const btCollisionShape *shape1, btAlignedObjectArray< int > &collided_primitives)
 
void gimpacttrimeshpart_vs_plane_collision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btGImpactMeshShapePart *shape0, const btStaticPlaneShape *shape1, bool swapped)
 
 btGImpactCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
 
virtual ~btGImpactCollisionAlgorithm ()
 
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)
 
btManifoldResultinternalGetResultOut ()
 
void gimpact_vs_gimpact (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btGImpactShapeInterface *shape0, const btGImpactShapeInterface *shape1)
 Collides two gimpact shapes. More...
 
void gimpact_vs_shape (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btGImpactShapeInterface *shape0, const btCollisionShape *shape1, bool swapped)
 
void gimpact_vs_compoundshape (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btGImpactShapeInterface *shape0, const btCompoundShape *shape1, bool swapped)
 
void gimpact_vs_concave (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btGImpactShapeInterface *shape0, const btConcaveShape *shape1, bool swapped)
 
void setFace0 (int value)
 Accessor/Mutator pairs for Part and triangleID. More...
 
int getFace0 ()
 
void setFace1 (int value)
 
int getFace1 ()
 
void setPart0 (int value)
 
int getPart0 ()
 
void setPart1 (int value)
 
int getPart1 ()
 
static void registerAlgorithm (btCollisionDispatcher *dispatcher)
 Use this function for register the algorithm externally. More...
 

Additional Inherited Members

- Public Member Functions inherited from btActivatingCollisionAlgorithm
virtual ~btActivatingCollisionAlgorithm ()
 
- Public Member Functions inherited from btCollisionAlgorithm
 btCollisionAlgorithm ()
 
 btCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
 
virtual ~btCollisionAlgorithm ()
 

Detailed Description

Collision Algorithm for GImpact Shapes.

For register this algorithm in Bullet, proceed as following:

btCollisionDispatcher * dispatcher = static_cast<btCollisionDispatcher *>(m_dynamicsWorld ->getDispatcher());
static void registerAlgorithm(btCollisionDispatcher *dispatcher)
Use this function for register the algorithm externally.

Definition at line 53 of file btGImpactCollisionAlgorithm.h.

Constructor & Destructor Documentation

◆ btGImpactCollisionAlgorithm()

btGImpactCollisionAlgorithm::btGImpactCollisionAlgorithm ( const btCollisionAlgorithmConstructionInfo ci,
const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap 
)

◆ ~btGImpactCollisionAlgorithm()

btGImpactCollisionAlgorithm::~btGImpactCollisionAlgorithm ( )
virtual

Definition at line 190 of file btGImpactCollisionAlgorithm.cpp.

References clearCache().

Member Function Documentation

◆ addContactPoint()

void btGImpactCollisionAlgorithm::addContactPoint ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btVector3 point,
const btVector3 normal,
btScalar  distance 
)
protected

◆ calculateTimeOfImpact()

btScalar btGImpactCollisionAlgorithm::calculateTimeOfImpact ( btCollisionObject body0,
btCollisionObject body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
)
virtual

Implements btCollisionAlgorithm.

Definition at line 843 of file btGImpactCollisionAlgorithm.cpp.

◆ checkConvexAlgorithm()

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::checkConvexAlgorithm ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap 
)
inlineprotected

Definition at line 127 of file btGImpactCollisionAlgorithm.h.

References m_convex_algorithm, and newAlgorithm().

Referenced by convex_vs_convex_collision().

◆ checkManifold()

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::checkManifold ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap 
)
inlineprotected

◆ clearCache()

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::clearCache ( )
inlineprotected

◆ collide_gjk_triangles()

void btGImpactCollisionAlgorithm::collide_gjk_triangles ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btGImpactMeshShapePart shape0,
const btGImpactMeshShapePart shape1,
const int *  pairs,
int  pair_count 
)
protected

◆ collide_sat_triangles()

void btGImpactCollisionAlgorithm::collide_sat_triangles ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btGImpactMeshShapePart shape0,
const btGImpactMeshShapePart shape1,
const int *  pairs,
int  pair_count 
)
protected

◆ convex_vs_convex_collision()

void btGImpactCollisionAlgorithm::convex_vs_convex_collision ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btCollisionShape shape0,
const btCollisionShape shape1 
)
protected

◆ destroyContactManifolds()

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::destroyContactManifolds ( )
inlineprotected

◆ destroyConvexAlgorithm()

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::destroyConvexAlgorithm ( )
inlineprotected

◆ getAllContactManifolds()

virtual void btGImpactCollisionAlgorithm::getAllContactManifolds ( btManifoldArray manifoldArray)
inlinevirtual

◆ getFace0()

int btGImpactCollisionAlgorithm::getFace0 ( )
inline

Definition at line 254 of file btGImpactCollisionAlgorithm.h.

References m_triface0.

◆ getFace1()

int btGImpactCollisionAlgorithm::getFace1 ( )
inline

Definition at line 262 of file btGImpactCollisionAlgorithm.h.

References m_triface1.

◆ getLastManifold()

SIMD_FORCE_INLINE btPersistentManifold* btGImpactCollisionAlgorithm::getLastManifold ( )
inlineprotected

Definition at line 100 of file btGImpactCollisionAlgorithm.h.

References m_manifoldPtr.

Referenced by checkManifold(), newAlgorithm(), and processCollision().

◆ getPart0()

int btGImpactCollisionAlgorithm::getPart0 ( )
inline

Definition at line 270 of file btGImpactCollisionAlgorithm.h.

References m_part0.

◆ getPart1()

int btGImpactCollisionAlgorithm::getPart1 ( )
inline

Definition at line 278 of file btGImpactCollisionAlgorithm.h.

References m_part1.

◆ gimpact_vs_compoundshape()

void btGImpactCollisionAlgorithm::gimpact_vs_compoundshape ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btGImpactShapeInterface shape0,
const btCompoundShape shape1,
bool  swapped 
)

◆ gimpact_vs_concave()

void btGImpactCollisionAlgorithm::gimpact_vs_concave ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btGImpactShapeInterface shape0,
const btConcaveShape shape1,
bool  swapped 
)

◆ gimpact_vs_gimpact()

void btGImpactCollisionAlgorithm::gimpact_vs_gimpact ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btGImpactShapeInterface shape0,
const btGImpactShapeInterface shape1 
)

◆ gimpact_vs_gimpact_find_pairs()

void btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs ( const btTransform trans0,
const btTransform trans1,
const btGImpactShapeInterface shape0,
const btGImpactShapeInterface shape1,
btPairSet pairset 
)
protected

◆ gimpact_vs_shape()

void btGImpactCollisionAlgorithm::gimpact_vs_shape ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btGImpactShapeInterface shape0,
const btCollisionShape shape1,
bool  swapped 
)

◆ gimpact_vs_shape_find_pairs()

void btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs ( const btTransform trans0,
const btTransform trans1,
const btGImpactShapeInterface shape0,
const btCollisionShape shape1,
btAlignedObjectArray< int > &  collided_primitives 
)
protected

◆ gimpacttrimeshpart_vs_plane_collision()

void btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btGImpactMeshShapePart shape0,
const btStaticPlaneShape shape1,
bool  swapped 
)
protected

◆ internalGetResultOut()

btManifoldResult* btGImpactCollisionAlgorithm::internalGetResultOut ( )
inline

Definition at line 199 of file btGImpactCollisionAlgorithm.h.

References m_resultOut.

Referenced by btGImpactTriangleCallback::processTriangle().

◆ newAlgorithm()

SIMD_FORCE_INLINE btCollisionAlgorithm* btGImpactCollisionAlgorithm::newAlgorithm ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap 
)
inlineprotected

◆ newContactManifold()

SIMD_FORCE_INLINE btPersistentManifold* btGImpactCollisionAlgorithm::newContactManifold ( const btCollisionObject body0,
const btCollisionObject body1 
)
inlineprotected

Creates a new contact point.

Definition at line 66 of file btGImpactCollisionAlgorithm.h.

References btDispatcher::getNewManifold(), btCollisionAlgorithm::m_dispatcher, and m_manifoldPtr.

Referenced by checkManifold().

◆ processCollision()

void btGImpactCollisionAlgorithm::processCollision ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
)
virtual

◆ registerAlgorithm()

void btGImpactCollisionAlgorithm::registerAlgorithm ( btCollisionDispatcher dispatcher)
static

Use this function for register the algorithm externally.

Definition at line 851 of file btGImpactCollisionAlgorithm.cpp.

References GIMPACT_SHAPE_PROXYTYPE, MAX_BROADPHASE_COLLISION_TYPES, and btCollisionDispatcher::registerCollisionCreateFunc().

Referenced by RB_dworld_new().

◆ setFace0()

void btGImpactCollisionAlgorithm::setFace0 ( int  value)
inline

Accessor/Mutator pairs for Part and triangleID.

Definition at line 250 of file btGImpactCollisionAlgorithm.h.

References m_triface0.

Referenced by btGImpactTriangleCallback::processTriangle().

◆ setFace1()

void btGImpactCollisionAlgorithm::setFace1 ( int  value)
inline

Definition at line 258 of file btGImpactCollisionAlgorithm.h.

References m_triface1.

Referenced by btGImpactTriangleCallback::processTriangle().

◆ setPart0()

void btGImpactCollisionAlgorithm::setPart0 ( int  value)
inline

Definition at line 266 of file btGImpactCollisionAlgorithm.h.

References m_part0.

Referenced by btGImpactTriangleCallback::processTriangle().

◆ setPart1()

void btGImpactCollisionAlgorithm::setPart1 ( int  value)
inline

Definition at line 274 of file btGImpactCollisionAlgorithm.h.

References m_part1.

Referenced by btGImpactTriangleCallback::processTriangle().

◆ shape_vs_shape_collision()

void btGImpactCollisionAlgorithm::shape_vs_shape_collision ( const btCollisionObjectWrapper body0,
const btCollisionObjectWrapper body1,
const btCollisionShape shape0,
const btCollisionShape shape1 
)
protected

Member Data Documentation

◆ m_convex_algorithm

btCollisionAlgorithm* btGImpactCollisionAlgorithm::m_convex_algorithm
protected

◆ m_dispatchInfo

const btDispatcherInfo* btGImpactCollisionAlgorithm::m_dispatchInfo
protected

◆ m_manifoldPtr

btPersistentManifold* btGImpactCollisionAlgorithm::m_manifoldPtr
protected

◆ m_part0

int btGImpactCollisionAlgorithm::m_part0
protected

◆ m_part1

int btGImpactCollisionAlgorithm::m_part1
protected

◆ m_resultOut

btManifoldResult* btGImpactCollisionAlgorithm::m_resultOut
protected

◆ m_triface0

int btGImpactCollisionAlgorithm::m_triface0
protected

◆ m_triface1

int btGImpactCollisionAlgorithm::m_triface1
protected

The documentation for this class was generated from the following files: