Collision Algorithm for GImpact Shapes. More...
#include <btGImpactCollisionAlgorithm.h>

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 | |
| btCollisionAlgorithm * | m_convex_algorithm |
| const btDispatcherInfo * | m_dispatchInfo |
| btPersistentManifold * | m_manifoldPtr |
| int | m_part0 |
| int | m_part1 |
| btManifoldResult * | m_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. | |
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.
| btGImpactCollisionAlgorithm::btGImpactCollisionAlgorithm | ( | const btCollisionAlgorithmConstructionInfo & | ci, | |
| btCollisionObject * | body0, | |||
| btCollisionObject * | body1 | |||
| ) |
| virtual btGImpactCollisionAlgorithm::~btGImpactCollisionAlgorithm | ( | ) | [virtual] |
| 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.
| 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] |
Definition at line 44 of file btGImpactCollisionAlgorithm.h.
const btDispatcherInfo* btGImpactCollisionAlgorithm::m_dispatchInfo [protected] |
Definition at line 47 of file btGImpactCollisionAlgorithm.h.
btPersistentManifold* btGImpactCollisionAlgorithm::m_manifoldPtr [protected] |
Definition at line 45 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_part0 [protected] |
Definition at line 49 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_part1 [protected] |
Definition at line 51 of file btGImpactCollisionAlgorithm.h.
btManifoldResult* btGImpactCollisionAlgorithm::m_resultOut [protected] |
Definition at line 46 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_triface0 [protected] |
Definition at line 48 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_triface1 [protected] |
Definition at line 50 of file btGImpactCollisionAlgorithm.h.