btGImpactCollisionAlgorithm Class Reference

Collision Algorithm for GImpact Shapes. More...

#include <btGImpactCollisionAlgorithm.h>

Inheritance diagram for btGImpactCollisionAlgorithm:
Inheritance graph
[legend]

List of all members.

Classes

struct  CreateFunc

Protected Member Functions

void addContactPoint (btCollisionObject *body0, btCollisionObject *body1, const btVector3 &point, const btVector3 &normal, btScalar distance)
SIMD_FORCE_INLINE void checkConvexAlgorithm (btCollisionObject *body0, btCollisionObject *body1)
SIMD_FORCE_INLINE void checkManifold (btCollisionObject *body0, btCollisionObject *body1)
SIMD_FORCE_INLINE void clearCache ()
SIMD_FORCE_INLINE void destroyContactManifolds ()
SIMD_FORCE_INLINE void destroyConvexAlgorithm ()
SIMD_FORCE_INLINE
btPersistentManifold * 
getLastManifold ()
SIMD_FORCE_INLINE
btCollisionAlgorithm
newAlgorithm (btCollisionObject *body0, btCollisionObject *body1)
SIMD_FORCE_INLINE
btPersistentManifold * 
newContactManifold (btCollisionObject *body0, btCollisionObject *body1)
 Creates a new contact point.

Protected Attributes

btCollisionAlgorithmm_convex_algorithm
const btDispatcherInfom_dispatchInfo
btPersistentManifold * m_manifoldPtr
int m_part0
int m_part1
btManifoldResultm_resultOut
int m_triface0
int m_triface1



void collide_gjk_triangles (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btGImpactMeshShapePart *shape1, const int *pairs, int pair_count)
void collide_sat_triangles (btCollisionObject *body0, btCollisionObject *body1, btGImpactMeshShapePart *shape0, btGImpactMeshShapePart *shape1, const int *pairs, int pair_count)
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)
void shape_vs_shape_collision (btCollisionObject *body0, btCollisionObject *body1, btCollisionShape *shape0, btCollisionShape *shape1)
 btGImpactCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, btCollisionObject *body0, btCollisionObject *body1)
btScalar calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual void getAllContactManifolds (btManifoldArray &manifoldArray)
int getFace0 ()
int getFace1 ()
int getPart0 ()
int getPart1 ()
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 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)
virtual void processCollision (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
void setFace0 (int value)
 Accessor/Mutator pairs for Part and triangleID.
void setFace1 (int value)
void setPart0 (int value)
void setPart1 (int value)
virtual ~btGImpactCollisionAlgorithm ()
static float getAverageTreeCollisionTime ()
 Gets the average time in miliseconds of tree collisions.
static float getAverageTriangleCollisionTime ()
 Gets the average time in miliseconds of triangle collisions.
static void registerAlgorithm (btCollisionDispatcher *dispatcher)
 Use this function for register the algorithm externally.

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 
)
virtual btGImpactCollisionAlgorithm::~btGImpactCollisionAlgorithm (  )  [virtual]

Member Function Documentation

void btGImpactCollisionAlgorithm::addContactPoint ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btVector3 &  point,
const btVector3 &  normal,
btScalar  distance 
) [protected]
btScalar btGImpactCollisionAlgorithm::calculateTimeOfImpact ( btCollisionObject *  body0,
btCollisionObject *  body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
) [virtual]

Implements btCollisionAlgorithm.

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

Definition at line 117 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 96 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 78 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

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

Definition at line 71 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 61 of file btGImpactCollisionAlgorithm.h.

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

Implements btCollisionAlgorithm.

Definition at line 194 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 255 of file btGImpactCollisionAlgorithm.h.

int btGImpactCollisionAlgorithm::getFace1 (  )  [inline]

Definition at line 263 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 89 of file btGImpactCollisionAlgorithm.h.

int btGImpactCollisionAlgorithm::getPart0 (  )  [inline]

Definition at line 271 of file btGImpactCollisionAlgorithm.h.

int btGImpactCollisionAlgorithm::getPart1 (  )  [inline]

Definition at line 279 of file btGImpactCollisionAlgorithm.h.

void btGImpactCollisionAlgorithm::gimpact_vs_compoundshape ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactShapeInterface shape0,
btCompoundShape *  shape1,
bool  swapped 
)
void btGImpactCollisionAlgorithm::gimpact_vs_concave ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactShapeInterface shape0,
btConcaveShape shape1,
bool  swapped 
)
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
void btGImpactCollisionAlgorithm::gimpact_vs_gimpact_find_pairs ( const btTransform trans0,
const btTransform trans1,
btGImpactShapeInterface shape0,
btGImpactShapeInterface shape1,
btPairSet pairset 
) [protected]
void btGImpactCollisionAlgorithm::gimpact_vs_shape ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactShapeInterface shape0,
btCollisionShape shape1,
bool  swapped 
)
void btGImpactCollisionAlgorithm::gimpact_vs_shape_find_pairs ( const btTransform trans0,
const btTransform trans1,
btGImpactShapeInterface shape0,
btCollisionShape shape1,
btAlignedObjectArray< int > &  collided_primitives 
) [protected]
void btGImpactCollisionAlgorithm::gimpacttrimeshpart_vs_plane_collision ( btCollisionObject *  body0,
btCollisionObject *  body1,
btGImpactMeshShapePart shape0,
btStaticPlaneShape *  shape1,
bool  swapped 
) [protected]
SIMD_FORCE_INLINE btCollisionAlgorithm* btGImpactCollisionAlgorithm::newAlgorithm ( btCollisionObject *  body0,
btCollisionObject *  body1 
) [inline, protected]

Definition at line 107 of file btGImpactCollisionAlgorithm.h.

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

Creates a new contact point.

Definition at line 55 of file btGImpactCollisionAlgorithm.h.

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

Implements btCollisionAlgorithm.

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

Use this function for register the algorithm externally.

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

Accessor/Mutator pairs for Part and triangleID.

Definition at line 251 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 259 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 267 of file btGImpactCollisionAlgorithm.h.

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

Definition at line 275 of file btGImpactCollisionAlgorithm.h.

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

Member Data Documentation

Definition at line 44 of file btGImpactCollisionAlgorithm.h.

Definition at line 47 of file btGImpactCollisionAlgorithm.h.

btPersistentManifold* btGImpactCollisionAlgorithm::m_manifoldPtr [protected]

Definition at line 45 of file btGImpactCollisionAlgorithm.h.

Definition at line 49 of file btGImpactCollisionAlgorithm.h.

Definition at line 51 of file btGImpactCollisionAlgorithm.h.

Definition at line 46 of file btGImpactCollisionAlgorithm.h.

Definition at line 48 of file btGImpactCollisionAlgorithm.h.

Definition at line 50 of file btGImpactCollisionAlgorithm.h.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


bullet
Author(s): Erwin Coumans, ROS package maintained by Tully Foote
autogenerated on Fri Jan 11 10:11:04 2013