Blender V4.3
btGImpactCollisionAlgorithm Class Reference

Collision Algorithm for GImpact Shapes. More...

#include <btGImpactCollisionAlgorithm.h>

Inherits btActivatingCollisionAlgorithm.

Classes

struct  CreateFunc
 

Protected Member Functions

SIMD_FORCE_INLINE btPersistentManifoldnewContactManifold (const btCollisionObject *body0, const btCollisionObject *body1)
 Creates a new contact point.
 
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.
 
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.
 
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.
 

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()

◆ convex_vs_convex_collision()

◆ 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()

◆ gimpact_vs_concave()

◆ gimpact_vs_gimpact()

◆ gimpact_vs_gimpact_find_pairs()

◆ gimpact_vs_shape()

◆ gimpact_vs_shape_find_pairs()

◆ gimpacttrimeshpart_vs_plane_collision()

◆ internalGetResultOut()

btManifoldResult * btGImpactCollisionAlgorithm::internalGetResultOut ( )
inline

Definition at line 199 of file btGImpactCollisionAlgorithm.h.

References m_resultOut.

Referenced by btGImpactTriangleCallback::processTriangle().

◆ newAlgorithm()

◆ 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()

◆ 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()

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

◆ m_part1

◆ m_resultOut

◆ m_triface0

◆ m_triface1


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