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.