btGImpactCollisionAlgorithm Class Reference

Collision Algorithm for GImpact Shapes. More...

#include <btGImpactCollisionAlgorithm.h>

List of all members.

Public Member Functions

 btGImpactCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, btCollisionObject *body0, btCollisionObject *body1)
virtual ~btGImpactCollisionAlgorithm ()
virtual void processCollision (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
btScalar calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
void shape_vs_shape_collision (btCollisionObject *body0, btCollisionObject *body1, btCollisionShape *shape0, btCollisionShape *shape1, bool swapped)
void convex_vs_convex_collision (btCollisionObject *body0, btCollisionObject *body1, btCollisionShape *shape0, btCollisionShape *shape1)
void gimpacttrimesh_vs_shape_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShape *shape0, btCollisionShape *shape1, bool swapped)
void gimpacttrimesh_vs_gimpacttrimesh (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShape *shape0, btGImpactMeshShape *shape1)
void gimpacttrimesh_vs_gimpactcompound (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShape *shape0, btGImpactCompoundShape *shape1, bool swapped)
void gimpacttrimesh_vs_trimeshpart (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShape *shape0, btGImpactMeshShapePart *shape1, bool swapped)
void gimpactcompound_vs_gimpactcompound_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactCompoundShape *shape0, btGImpactCompoundShape *shape1)
void gimpactcompound_vs_gimpacttrimeshpart_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactCompoundShape *shape0, btGImpactMeshShapePart *shape1, bool swapped)
void gimpactcompound_vs_shape_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactCompoundShape *shape0, btCollisionShape *shape1, bool swapped)
void gimpacttrimeshpart_vs_gimpacttrimeshpart_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btGImpactMeshShapePart *shape1, bool swapped)
void gimpacttrimeshpart_vs_plane_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btStaticPlaneShape *shape1, bool swapped)
void gimpacttrimeshpart_vs_concave_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btConcaveShape *shape1, bool swapped)
void gimpacttrimeshpart_vs_shape_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btCollisionShape *shape1, bool swapped)
void gimpact_vs_compoundshape (btCollisionObject *body0, btCollisionObject *body1, btGImpactShapeInterface *shape0, btCompoundShape *shape1, bool swapped)
void gimpact_vs_shape (btCollisionObject *body0, btCollisionObject *body1, btGImpactShapeInterface *shape0, btCollisionShape *shape1, bool swapped)
void gimpact_vs_gimpact (btCollisionObject *body0, btCollisionObject *body1, btGImpactShapeInterface *shape0, btGImpactShapeInterface *shape1)

Static Public Member Functions

static void registerAlgorithm (btCollisionDispatcher *dispatcher)
 Use this function for register the algorithm externally.

Protected Member Functions

SIMD_FORCE_INLINE btPersistentManifold * newContactManifold (btCollisionObject *body0, btCollisionObject *body1)
SIMD_FORCE_INLINE void destroyConvexAlgorithm ()
SIMD_FORCE_INLINE void clearCache ()
SIMD_FORCE_INLINE void checkManifold (btCollisionObject *body0, btCollisionObject *body1)
SIMD_FORCE_INLINE btCollisionAlgorithm * newAlgorithm (btCollisionObject *body0, btCollisionObject *body1)
SIMD_FORCE_INLINE void checkConvexAlgorithm (btCollisionObject *body0, btCollisionObject *body1)
SIMD_FORCE_INLINE void addContactPoint (btCollisionObject *body0, btCollisionObject *body1, const btVector3 &point, const btVector3 &normal, btScalar distance)
void gimpactcompound_vs_gimpactcompound_find_pairs (const btTransform &trans0, const btTransform &trans1, btGImpactCompoundShape *shape0, btGImpactCompoundShape *shape1, gim_pair_set &pairset) const
void gimpacttrimeshpart_vs_gimpacttrimeshpart_find_pairs (const btTransform &trans0, const btTransform &trans1, btGImpactMeshShapePart *shape0, btGImpactMeshShapePart *shape1, gim_pair_set &pairset) const
void gimpactcompound_vs_gimpacttrimeshpart_find_pairs (const btTransform &trans0, const btTransform &trans1, btGImpactCompoundShape *shape0, btGImpactMeshShapePart *shape1, gim_pair_set &pairset) const

Protected Attributes

btCollisionAlgorithm * m_convex_algorithm
btPersistentManifold * m_manifoldPtr
btManifoldResult * m_resultOut
const btDispatcherInfo * m_dispatchInfo
int m_triface0
int m_part0
int m_triface1
int m_part1

Classes

struct  CreateFunc


Detailed Description

Collision Algorithm for GImpact Shapes.

For register this algorithm in Bullet, proceed as following:

btCollisionDispatcher * dispatcher = static_cast<btCollisionDispatcher *>(m_dynamicsWorld ->getDispatcher());
btGImpactCollisionAlgorithm::registerAlgorithm(dispatcher);


Constructor & Destructor Documentation

btGImpactCollisionAlgorithm::btGImpactCollisionAlgorithm ( const btCollisionAlgorithmConstructionInfo &  ci,
btCollisionObject *  body0,
btCollisionObject *  body1 
)

virtual btGImpactCollisionAlgorithm::~btGImpactCollisionAlgorithm (  )  [virtual]


Member Function Documentation

SIMD_FORCE_INLINE btPersistentManifold* btGImpactCollisionAlgorithm::newContactManifold ( btCollisionObject *  body0,
btCollisionObject *  body1 
) [inline, protected]

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::destroyConvexAlgorithm (  )  [inline, protected]

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::clearCache (  )  [inline, protected]

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::checkManifold ( btCollisionObject *  body0,
btCollisionObject *  body1 
) [inline, protected]

SIMD_FORCE_INLINE btCollisionAlgorithm* btGImpactCollisionAlgorithm::newAlgorithm ( btCollisionObject *  body0,
btCollisionObject *  body1 
) [inline, protected]

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::checkConvexAlgorithm ( btCollisionObject *  body0,
btCollisionObject *  body1 
) [inline, protected]

SIMD_FORCE_INLINE void btGImpactCollisionAlgorithm::addContactPoint ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btVector3 &  point,
const btVector3 &  normal,
btScalar  distance 
) [inline, protected]

void btGImpactCollisionAlgorithm::gimpactcompound_vs_gimpactcompound_find_pairs ( const btTransform &  trans0,
const btTransform &  trans1,
btGImpactCompoundShape shape0,
btGImpactCompoundShape shape1,
gim_pair_set pairset 
) const [protected]

void btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_gimpacttrimeshpart_find_pairs ( const btTransform &  trans0,
const btTransform &  trans1,
btGImpactMeshShapePart shape0,
btGImpactMeshShapePart shape1,
gim_pair_set pairset 
) const [protected]

void btGImpactCollisionAlgorithm::gimpactcompound_vs_gimpacttrimeshpart_find_pairs ( const btTransform &  trans0,
const btTransform &  trans1,
btGImpactCompoundShape shape0,
btGImpactMeshShapePart shape1,
gim_pair_set pairset 
) const [protected]

virtual void btGImpactCollisionAlgorithm::processCollision ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btDispatcherInfo &  dispatchInfo,
btManifoldResult *  resultOut 
) [virtual]

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

static void btGImpactCollisionAlgorithm::registerAlgorithm ( btCollisionDispatcher *  dispatcher  )  [static]

Use this function for register the algorithm externally.

void btGImpactCollisionAlgorithm::shape_vs_shape_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btCollisionShape *  shape0,
btCollisionShape *  shape1,
bool  swapped 
)

Collision algorithms

void btGImpactCollisionAlgorithm::convex_vs_convex_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btCollisionShape *  shape0,
btCollisionShape *  shape1 
)

void btGImpactCollisionAlgorithm::gimpacttrimesh_vs_shape_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShape shape0,
btCollisionShape *  shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpacttrimesh_vs_gimpacttrimesh ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShape shape0,
btGImpactMeshShape shape1 
)

void btGImpactCollisionAlgorithm::gimpacttrimesh_vs_gimpactcompound ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShape shape0,
btGImpactCompoundShape shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpacttrimesh_vs_trimeshpart ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShape shape0,
btGImpactMeshShapePart shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpactcompound_vs_gimpactcompound_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactCompoundShape shape0,
btGImpactCompoundShape shape1 
)

void btGImpactCollisionAlgorithm::gimpactcompound_vs_gimpacttrimeshpart_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactCompoundShape shape0,
btGImpactMeshShapePart shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpactcompound_vs_shape_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactCompoundShape shape0,
btCollisionShape *  shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_gimpacttrimeshpart_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShapePart shape0,
btGImpactMeshShapePart shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShapePart shape0,
btStaticPlaneShape *  shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_concave_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShapePart shape0,
btConcaveShape *  shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_shape_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShapePart shape0,
btCollisionShape *  shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpact_vs_compoundshape ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactShapeInterface shape0,
btCompoundShape *  shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpact_vs_shape ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactShapeInterface shape0,
btCollisionShape *  shape1,
bool  swapped 
)

void btGImpactCollisionAlgorithm::gimpact_vs_gimpact ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactShapeInterface shape0,
btGImpactShapeInterface shape1 
)


Member Data Documentation

btCollisionAlgorithm* btGImpactCollisionAlgorithm::m_convex_algorithm [protected]

btPersistentManifold* btGImpactCollisionAlgorithm::m_manifoldPtr [protected]

btManifoldResult* btGImpactCollisionAlgorithm::m_resultOut [protected]

const btDispatcherInfo* btGImpactCollisionAlgorithm::m_dispatchInfo [protected]

int btGImpactCollisionAlgorithm::m_triface0 [protected]

int btGImpactCollisionAlgorithm::m_part0 [protected]

int btGImpactCollisionAlgorithm::m_triface1 [protected]

int btGImpactCollisionAlgorithm::m_part1 [protected]


The documentation for this class was generated from the following file:
Generated on Wed Jun 13 16:58:22 2007 for GIMPACT by  doxygen 1.5.2