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 | 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. |
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 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
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 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.
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 | ||
) |
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 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.
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 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 57 of file btGImpactCollisionAlgorithm.h.
const btDispatcherInfo* btGImpactCollisionAlgorithm::m_dispatchInfo [protected] |
Definition at line 60 of file btGImpactCollisionAlgorithm.h.
btPersistentManifold* btGImpactCollisionAlgorithm::m_manifoldPtr [protected] |
Definition at line 58 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_part0 [protected] |
Definition at line 62 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_part1 [protected] |
Definition at line 64 of file btGImpactCollisionAlgorithm.h.
btManifoldResult* btGImpactCollisionAlgorithm::m_resultOut [protected] |
Definition at line 59 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_triface0 [protected] |
Definition at line 61 of file btGImpactCollisionAlgorithm.h.
int btGImpactCollisionAlgorithm::m_triface1 [protected] |
Definition at line 63 of file btGImpactCollisionAlgorithm.h.