fixes in GJK/btGjkEpa2, thanks to Dev0 for reporting and Nathanael for fixing
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -144,6 +144,13 @@ void btGjkPairDetector::getClosestPoints(const ClosestPointInput& input,Result&
|
||||
break;
|
||||
}
|
||||
|
||||
if(m_cachedSeparatingAxis.length2()<REL_ERROR2)
|
||||
{
|
||||
m_degenerateSimplex = 6;
|
||||
checkSimplex = true;
|
||||
break;
|
||||
}
|
||||
|
||||
btScalar previousSquaredDistance = squaredDistance;
|
||||
squaredDistance = m_cachedSeparatingAxis.length2();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user