Logo Search packages:      
Sourcecode: blender version File versions  Download package

btConvexConvexAlgorithm Class Reference

#include <btConvexConvexAlgorithm.h>

Inheritance diagram for btConvexConvexAlgorithm:

btActivatingCollisionAlgorithm btCollisionAlgorithm

List of all members.

Detailed Description

Enabling USE_SEPDISTANCE_UTIL2 requires 100% reliable distance computation. However, when using large size ratios GJK can be imprecise so the distance is not conservative. In that case, enabling this USE_SEPDISTANCE_UTIL2 would result in failing/missing collisions. Either improve GJK for large size ratios (testing a 100 units versus a 0.1 unit object) or only enable the util for certain pairs that have a small size ratio define USE_SEPDISTANCE_UTIL2 1 The convexConvexAlgorithm collision algorithm implements time of impact, convex closest points and penetration depth calculations between two convex objects. Multiple contact points are calculated by perturbing the orientation of the smallest object orthogonal to the separating normal. This idea was described by Gino van den Bergen in this forum topic http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=4&t=288&p=888#p888

Definition at line 39 of file btConvexConvexAlgorithm.h.

Public Member Functions

 btConvexConvexAlgorithm (btPersistentManifold *mf, const btCollisionAlgorithmConstructionInfo &ci, btCollisionObject *body0, btCollisionObject *body1, btSimplexSolverInterface *simplexSolver, btConvexPenetrationDepthSolver *pdSolver, int numPerturbationIterations, int minimumPointsPerturbationThreshold)
 cache separating vector to speedup collision detection
virtual btScalar calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual void getAllContactManifolds (btManifoldArray &manifoldArray)
const btPersistentManifold * getManifold ()
virtual void processCollision (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
void setLowLevelOfDetail (bool useLowLevel)

Protected Member Functions

int getDispatcherId ()

Protected Attributes


Private Attributes

bool m_lowLevelOfDetail
btPersistentManifold * m_manifoldPtr
int m_minimumPointsPerturbationThreshold
int m_numPerturbationIterations
bool m_ownManifold
btSimplexSolverInterface * m_simplexSolver


struct  CreateFunc

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

Generated by  Doxygen 1.6.0   Back to index