btGImpactCollisionAlgorithm Class Reference

Collision Algorithm for GImpact Shapes. More...

#include <btGImpactCollisionAlgorithm.h>

Inheritance diagram for btGImpactCollisionAlgorithm:
Inheritance graph
[legend]
Collaboration diagram for btGImpactCollisionAlgorithm:
Collaboration graph
[legend]

List of all members.

Classes

struct  CreateFunc

Protected Member Functions

SIMD_FORCE_INLINE
btPersistentManifold
newContactManifold (btCollisionObject *body0, 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
btPersistentManifold
getLastManifold ()
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)
void addContactPoint (btCollisionObject *body0, btCollisionObject *body1, const btVector3 &point, const btVector3 &normal, btScalar distance)

Protected Attributes

btCollisionAlgorithmm_convex_algorithm
btPersistentManifoldm_manifoldPtr
btManifoldResultm_resultOut
const btDispatcherInfom_dispatchInfo
int m_triface0
int m_part0
int m_triface1
int m_part1



void collide_gjk_triangles (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btGImpactMeshShapePart *shape1, const int *pairs, int pair_count)
 Collision routines.
void collide_sat_triangles (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btGImpactMeshShapePart *shape1, const int *pairs, int pair_count)
void shape_vs_shape_collision (btCollisionObject *body0, btCollisionObject *body1, btCollisionShape *shape0, btCollisionShape *shape1)
void convex_vs_convex_collision (btCollisionObject *body0, btCollisionObject *body1, btCollisionShape *shape0, btCollisionShape *shape1)
void gimpact_vs_gimpact_find_pairs (const btTransform &trans0, const btTransform &trans1, btGImpactShapeInterface *shape0, btGImpactShapeInterface *shape1, btPairSet &pairset)
void gimpact_vs_shape_find_pairs (const btTransform &trans0, const btTransform &trans1, btGImpactShapeInterface *shape0, btCollisionShape *shape1, btAlignedObjectArray< int > &collided_primitives)
void gimpacttrimeshpart_vs_plane_collision (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btStaticPlaneShape *shape1, bool swapped)
 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)
virtual void getAllContactManifolds (btManifoldArray &manifoldArray)
void gimpact_vs_gimpact (btCollisionObject *body0, btCollisionObject *body1, btGImpactShapeInterface *shape0, btGImpactShapeInterface *shape1)
 Collides two gimpact shapes.
void gimpact_vs_shape (btCollisionObject *body0, btCollisionObject *body1, btGImpactShapeInterface *shape0, btCollisionShape *shape1, bool swapped)
void gimpact_vs_compoundshape (btCollisionObject *body0, btCollisionObject *body1, btGImpactShapeInterface *shape0, btCompoundShape *shape1, bool swapped)
void gimpact_vs_concave (btCollisionObject *body0, btCollisionObject *body1, btGImpactShapeInterface *shape0, 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.
static float getAverageTreeCollisionTime ()
 Gets the average time in miliseconds of tree collisions.
static float getAverageTriangleCollisionTime ()
 Gets the average time in miliseconds of triangle collisions.

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

Definition at line 54 of file btGImpactCollisionAlgorithm.h.


Constructor & Destructor Documentation

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

Definition at line 196 of file btGImpactCollisionAlgorithm.cpp.

btGImpactCollisionAlgorithm::~btGImpactCollisionAlgorithm (  )  [virtual]

Definition at line 203 of file btGImpactCollisionAlgorithm.cpp.


Member Function Documentation

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

Definition at line 212 of file btGImpactCollisionAlgorithm.cpp.

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

Implements btCollisionAlgorithm.

Definition at line 876 of file btGImpactCollisionAlgorithm.cpp.

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

Definition at line 130 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 109 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 91 of file btGImpactCollisionAlgorithm.h.

void btGImpactCollisionAlgorithm::collide_gjk_triangles ( btCollisionObject body0,
btCollisionObject body1,
btGImpactMeshShapePart shape0,
btGImpactMeshShapePart shape1,
const int *  pairs,
int  pair_count 
) [protected]

Collision routines.

Definition at line 362 of file btGImpactCollisionAlgorithm.cpp.

void btGImpactCollisionAlgorithm::collide_sat_triangles ( btCollisionObject body0,
btCollisionObject body1,
btGImpactMeshShapePart shape0,
btGImpactMeshShapePart shape1,
const int *  pairs,
int  pair_count 
) [protected]

Definition at line 401 of file btGImpactCollisionAlgorithm.cpp.

void btGImpactCollisionAlgorithm::convex_vs_convex_collision ( btCollisionObject body0,
btCollisionObject body1,
btCollisionShape shape0,
btCollisionShape shape1 
) [protected]

Definition at line 255 of file btGImpactCollisionAlgorithm.cpp.

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

Definition at line 84 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 74 of file btGImpactCollisionAlgorithm.h.

virtual void btGImpactCollisionAlgorithm::getAllContactManifolds ( btManifoldArray manifoldArray  )  [inline, virtual]

Implements btCollisionAlgorithm.

Definition at line 207 of file btGImpactCollisionAlgorithm.h.

static float btGImpactCollisionAlgorithm::getAverageTreeCollisionTime (  )  [static]

Gets the average time in miliseconds of tree collisions.

static float btGImpactCollisionAlgorithm::getAverageTriangleCollisionTime (  )  [static]

Gets the average time in miliseconds of triangle collisions.

int btGImpactCollisionAlgorithm::getFace0 (  )  [inline]

Definition at line 268 of file btGImpactCollisionAlgorithm.h.

int btGImpactCollisionAlgorithm::getFace1 (  )  [inline]

Definition at line 276 of file btGImpactCollisionAlgorithm.h.

SIMD_FORCE_INLINE btPersistentManifold* btGImpactCollisionAlgorithm::getLastManifold (  )  [inline, protected]

Definition at line 102 of file btGImpactCollisionAlgorithm.h.

int btGImpactCollisionAlgorithm::getPart0 (  )  [inline]

Definition at line 284 of file btGImpactCollisionAlgorithm.h.

int btGImpactCollisionAlgorithm::getPart1 (  )  [inline]

Definition at line 292 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 694 of file btGImpactCollisionAlgorithm.cpp.

void btGImpactCollisionAlgorithm::gimpact_vs_concave ( btCollisionObject body0,
btCollisionObject body1,
btGImpactShapeInterface shape0,
btConcaveShape shape1,
bool  swapped 
)

Definition at line 813 of file btGImpactCollisionAlgorithm.cpp.

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

Collides two gimpact shapes.

Precondition:
shape0 and shape1 couldn't be btGImpactMeshShape objects

Definition at line 474 of file btGImpactCollisionAlgorithm.cpp.

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

Definition at line 283 of file btGImpactCollisionAlgorithm.cpp.

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

Definition at line 584 of file btGImpactCollisionAlgorithm.cpp.

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

Definition at line 320 of file btGImpactCollisionAlgorithm.cpp.

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

Definition at line 720 of file btGImpactCollisionAlgorithm.cpp.

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

Definition at line 120 of file btGImpactCollisionAlgorithm.h.

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

Creates a new contact point.

Definition at line 68 of file btGImpactCollisionAlgorithm.h.

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

Implements btCollisionAlgorithm.

Definition at line 842 of file btGImpactCollisionAlgorithm.cpp.

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

Use this function for register the algorithm externally.

Definition at line 887 of file btGImpactCollisionAlgorithm.cpp.

void btGImpactCollisionAlgorithm::setFace0 ( int  value  )  [inline]

Accessor/Mutator pairs for Part and triangleID.

Definition at line 264 of file btGImpactCollisionAlgorithm.h.

void btGImpactCollisionAlgorithm::setFace1 ( int  value  )  [inline]

Definition at line 272 of file btGImpactCollisionAlgorithm.h.

void btGImpactCollisionAlgorithm::setPart0 ( int  value  )  [inline]

Definition at line 280 of file btGImpactCollisionAlgorithm.h.

void btGImpactCollisionAlgorithm::setPart1 ( int  value  )  [inline]

Definition at line 288 of file btGImpactCollisionAlgorithm.h.

void btGImpactCollisionAlgorithm::shape_vs_shape_collision ( btCollisionObject body0,
btCollisionObject body1,
btCollisionShape shape0,
btCollisionShape shape1 
) [protected]

Definition at line 225 of file btGImpactCollisionAlgorithm.cpp.


Member Data Documentation

Definition at line 57 of file btGImpactCollisionAlgorithm.h.

Definition at line 60 of file btGImpactCollisionAlgorithm.h.

Definition at line 58 of file btGImpactCollisionAlgorithm.h.

Definition at line 62 of file btGImpactCollisionAlgorithm.h.

Definition at line 64 of file btGImpactCollisionAlgorithm.h.

Definition at line 59 of file btGImpactCollisionAlgorithm.h.

Definition at line 61 of file btGImpactCollisionAlgorithm.h.

Definition at line 63 of file btGImpactCollisionAlgorithm.h.


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

Generated on Mon Feb 15 22:22:52 2010 for Bullet Collision Detection & Physics Library by  doxygen 1.6.1