summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Koenig <nate@openrobotics.org>2023-03-07 11:31:10 -0800
committerNate Koenig <nate@openrobotics.org>2023-03-07 11:31:10 -0800
commit94e5b69379fea38d7cc13c808573e0ddab920f40 (patch)
tree4d192361f6f5cd65582d561f84c616f61082969d
parent2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5 (diff)
downloadbullet3-94e5b69379fea38d7cc13c808573e0ddab920f40.tar.gz
Skip zeroAccSpatFrc for the constraint passes
Signed-off-by: Nate Koenig <nate@openrobotics.org>
-rw-r--r--src/BulletDynamics/Featherstone/btMultiBody.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/BulletDynamics/Featherstone/btMultiBody.cpp b/src/BulletDynamics/Featherstone/btMultiBody.cpp
index d7588aedc..1bc2ffe22 100644
--- a/src/BulletDynamics/Featherstone/btMultiBody.cpp
+++ b/src/BulletDynamics/Featherstone/btMultiBody.cpp
@@ -936,7 +936,8 @@ void btMultiBody::computeAccelerationsArticulatedBodyAlgorithmMultiDof(btScalar
if (m_useGyroTerm)
zeroAccSpatFrc[i + 1].addAngular(spatVel[i + 1].getAngular().cross(m_links[i].m_inertiaLocal * spatVel[i + 1].getAngular()));
//
- zeroAccSpatFrc[i + 1].addLinear(m_links[i].m_mass * spatVel[i + 1].getAngular().cross(spatVel[i + 1].getLinear()));
+ if (!isConstraintPass)
+ zeroAccSpatFrc[i + 1].addLinear(m_links[i].m_mass * spatVel[i + 1].getAngular().cross(spatVel[i + 1].getLinear()));
//
//btVector3 temp = m_links[i].m_mass * spatVel[i+1].getAngular().cross(spatVel[i+1].getLinear());
////clamp parent's omega