From 596e94dfd1ebe6f7b007b4f341b15e27f3d1b39f Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Sun, 25 May 2008 17:45:13 +0000 Subject: [PATCH] fixes in GJK/btGjkEpa2, thanks to Dev0 for reporting and Nathanael for fixing --- src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp | 2 +- .../NarrowPhaseCollision/btGjkPairDetector.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp b/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp index 3781eff98..0c07fd792 100644 --- a/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp +++ b/src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp @@ -287,7 +287,7 @@ bool EncloseOrigin() { btVector3 axis=btVector3(0,0,0); axis[i]=1; - if(btFabs(dot(axis,d))>0) + if(btFabs(dot(axis,d))<1) { const btVector3 p=cross(d,axis); appendvertice(*m_simplex, p); diff --git a/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp b/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp index c5f50d4dd..59b3794ff 100644 --- a/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp +++ b/src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp @@ -144,6 +144,13 @@ void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result& break; } + if(m_cachedSeparatingAxis.length2()