mj_multiRay: Reset elevation angle if crossing the coordinate singularity.

PiperOrigin-RevId: 529341397
Change-Id: I0ca6ed5b97bcc585b0f426d6fb8a6b4cf9367a2b
This commit is contained in:
Alessio Quaglino
2023-05-04 01:49:41 -07:00
committed by Copybara-Service
parent 3d82d2a40f
commit 7e49d935ba
2 changed files with 9 additions and 3 deletions
+2 -2
View File
@@ -234,9 +234,9 @@ TEST_F(RayTest, EdgeCases) {
m->geom_aabb[3] = m->geom_aabb[4] = m->geom_aabb[5] = 0;
mju_multiRayPrepare(m, d, pnt4, NULL, NULL, 1, -1, geom_ba, NULL);
EXPECT_FLOAT_EQ(geom_ba[0], 0);
EXPECT_FLOAT_EQ(geom_ba[1], mjPI/2);
EXPECT_FLOAT_EQ(geom_ba[1], -mjPI/2);
EXPECT_FLOAT_EQ(geom_ba[2], 0);
EXPECT_FLOAT_EQ(geom_ba[3], mjPI/2);
EXPECT_FLOAT_EQ(geom_ba[3], -mjPI/2);
mjtNum vec4[] = {1, 0, 0};
mj_multiRay(m, d, pnt4, vec4, NULL, 1, -1, &rgeomid, &dist, 1);
EXPECT_FLOAT_EQ(dist, 0.9);