From d33f297b56e61e73f302914d091ffcf8f92fb2ec Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Mon, 3 Aug 2026 09:24:30 -0700 Subject: [PATCH] Zero out stale lambda coordinate in S3D in GJK. PiperOrigin-RevId: 958414972 Change-Id: Ia21f8959a990c18b9d67959be5b2adeb1d3fa1dd --- src/engine/engine_collision_gjk.c | 1 + test/engine/engine_collision_gjk_test.cc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engine/engine_collision_gjk.c b/src/engine/engine_collision_gjk.c index e451b3d0..43afeda1 100644 --- a/src/engine/engine_collision_gjk.c +++ b/src/engine/engine_collision_gjk.c @@ -677,6 +677,7 @@ static void S3D(mjtNum lambda[4], const mjtNum s1[3], const mjtNum s2[3], lambda[0] = lambda_2d[0]; lambda[1] = lambda_2d[1]; lambda[2] = lambda_2d[2]; + lambda[3] = 0; } } } diff --git a/test/engine/engine_collision_gjk_test.cc b/test/engine/engine_collision_gjk_test.cc index d9c6f9fb..54c804ba 100644 --- a/test/engine/engine_collision_gjk_test.cc +++ b/test/engine/engine_collision_gjk_test.cc @@ -1397,7 +1397,7 @@ TEST_F(MjGjkTest, BoxBoxMultiCCD15) { mjtNum dist; int ncons = Penetration(status, dist, dir, pos, model, data, g1, g2, 0, 4); - ASSERT_EQ(ncons, sizeof(mjtNum) == 8 ? 4 : 0); + ASSERT_EQ(ncons, 4); } TEST_F(MjGjkTest, SmallBoxMesh) {