add two way coupled penetration resolution; not momentum conserving, but seem to work fine

This commit is contained in:
Xuchen Han
2019-07-12 13:26:58 -07:00
parent 98cd9a85e4
commit ac628f4d39

View File

@@ -87,21 +87,22 @@ void btDeformableBodySolver::postStabilize()
if (dp < 0) if (dp < 0)
{ {
c.m_node->m_x -= dp * cti.m_normal * c.m_c4; c.m_node->m_x -= dp * cti.m_normal * c.m_c4;
// c.m_node->m_x -= impulse * c.m_c2;
//// ////
// if (cti.m_colObj->getInternalType() == btCollisionObject::CO_RIGID_BODY) if (cti.m_colObj->getInternalType() == btCollisionObject::CO_RIGID_BODY)
// { {
// if (rigidCol) if (rigidCol)
// rigidCol->applyImpulse(impulse, c.m_c1); rigidCol->applyImpulse(impulse, c.m_c1);
// } }
// else if (cti.m_colObj->getInternalType() == btCollisionObject::CO_FEATHERSTONE_LINK) else if (cti.m_colObj->getInternalType() == btCollisionObject::CO_FEATHERSTONE_LINK)
// { {
// if (multibodyLinkCol) if (multibodyLinkCol)
// { {
// double multiplier = 0.5; double multiplier = 0.5;
// multibodyLinkCol->m_multiBody->applyDeltaVeeMultiDof(deltaV, -impulse.length() * multiplier); multibodyLinkCol->m_multiBody->applyDeltaVeeMultiDof(deltaV, -impulse.length() * multiplier);
// } }
// } }
} }
} }
} }