From 8a1a509e1077212d83c30b70f4449dac13fec4d7 Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Tue, 12 Jan 2010 03:18:49 +0000 Subject: [PATCH] fix setConvexConvexMultipointIterations feature (broken in a recent commit) --- .../CollisionDispatch/btConvexConvexAlgorithm.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp b/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp index b4fd4c6a6..7420764f0 100644 --- a/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp +++ b/src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp @@ -367,8 +367,6 @@ void btConvexConvexAlgorithm ::processCollision (btCollisionObject* body0,btColl gjkPairDetector.getClosestPoints(input,*resultOut,dispatchInfo.m_debugDraw); - btVector3 v0,v1; - btVector3 sepNormalWorldSpace; #ifdef USE_SEPDISTANCE_UTIL2 @@ -380,8 +378,7 @@ void btConvexConvexAlgorithm ::processCollision (btCollisionObject* body0,btColl { sepDist += dispatchInfo.m_convexConservativeDistanceThreshold; //now perturbe directions to get multiple contact points - sepNormalWorldSpace = gjkPairDetector.getCachedSeparatingAxis().normalized(); - btPlaneSpace1(sepNormalWorldSpace,v0,v1); + } } #endif //USE_SEPDISTANCE_UTIL2 @@ -393,6 +390,12 @@ void btConvexConvexAlgorithm ::processCollision (btCollisionObject* body0,btColl { int i; + btVector3 v0,v1; + btVector3 sepNormalWorldSpace; + + sepNormalWorldSpace = gjkPairDetector.getCachedSeparatingAxis().normalized(); + btPlaneSpace1(sepNormalWorldSpace,v0,v1); + bool perturbeA = true; const btScalar angleLimit = 0.125f * SIMD_PI;