From fadf6aa61249ae84aa7e0760fc96714af4501eee Mon Sep 17 00:00:00 2001 From: Xuchen Han Date: Tue, 20 Aug 2019 16:26:19 -0700 Subject: [PATCH] prevent division by zero in mass spring --- src/BulletSoftBody/btDeformableMassSpringForce.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BulletSoftBody/btDeformableMassSpringForce.h b/src/BulletSoftBody/btDeformableMassSpringForce.h index 8caf7702f..14d4e8260 100644 --- a/src/BulletSoftBody/btDeformableMassSpringForce.h +++ b/src/BulletSoftBody/btDeformableMassSpringForce.h @@ -92,7 +92,7 @@ public: // elastic force // explicit elastic force btVector3 dir = (node2->m_q - node1->m_q); - btVector3 dir_normalized = dir.normalized(); + btVector3 dir_normalized = (dir.norm() > SIMD_EPSILON) ? dir.normalized() : btVector3(0,0,0); btVector3 scaled_force = scale * m_elasticStiffness * (dir - dir_normalized * r); force[id1] += scaled_force; force[id2] -= scaled_force;