add two way coupled penetration resolution; not momentum conserving, but seem to work fine
This commit is contained in:
@@ -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);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user