Attempt to fix "Regression in friction and damping behaviour" , see issue 752

Thanks to Sergej Reich for the report and narrowing down the breaking revision!
This commit is contained in:
erwin.coumans@gmail.com
2013-10-22 09:26:08 +00:00
parent 5e372d6ac5
commit a21480c8ca
5 changed files with 84 additions and 58 deletions

View File

@@ -540,8 +540,8 @@ btMultiBodySolverConstraint& btMultiBodyConstraintSolver::addMultiBodyFrictionCo
btMultiBody* mbA = fcA? fcA->m_multiBody : 0;
btMultiBody* mbB = fcB? fcB->m_multiBody : 0;
int solverBodyIdA = mbA? -1 : getOrInitSolverBody(*colObj0);
int solverBodyIdB = mbB ? -1 : getOrInitSolverBody(*colObj1);
int solverBodyIdA = mbA? -1 : getOrInitSolverBody(*colObj0,infoGlobal.m_timeStep);
int solverBodyIdB = mbB ? -1 : getOrInitSolverBody(*colObj1,infoGlobal.m_timeStep);
solverConstraint.m_solverBodyIdA = solverBodyIdA;
solverConstraint.m_solverBodyIdB = solverBodyIdB;
@@ -572,8 +572,8 @@ void btMultiBodyConstraintSolver::convertMultiBodyContact(btPersistentManifold*
colObj0 = (btCollisionObject*)manifold->getBody0();
colObj1 = (btCollisionObject*)manifold->getBody1();
int solverBodyIdA = mbA? -1 : getOrInitSolverBody(*colObj0);
int solverBodyIdB = mbB ? -1 : getOrInitSolverBody(*colObj1);
int solverBodyIdA = mbA? -1 : getOrInitSolverBody(*colObj0,infoGlobal.m_timeStep);
int solverBodyIdB = mbB ? -1 : getOrInitSolverBody(*colObj1,infoGlobal.m_timeStep);
btSolverBody* solverBodyA = mbA ? 0 : &m_tmpSolverBodyPool[solverBodyIdA];
btSolverBody* solverBodyB = mbB ? 0 : &m_tmpSolverBodyPool[solverBodyIdB];