Add mjs_getParent to retrieve the parent body of an object.

PiperOrigin-RevId: 715794859
Change-Id: Ib9792787cdb966f579938dde3f94ebabca8ef1fc
This commit is contained in:
Alessio Quaglino
2025-01-15 07:41:45 -08:00
committed by Copybara-Service
parent 10c7207cea
commit 05d4c3d670
10 changed files with 116 additions and 0 deletions
+9
View File
@@ -646,6 +646,10 @@ class SpecsTest(absltest.TestCase):
self.assertEqual(spec.bodies[2].name, 'body2')
self.assertEqual(spec.bodies[3].name, 'body3')
self.assertEqual(spec.bodies[4].name, 'body4')
self.assertEqual(spec.bodies[1].parent, spec.worldbody)
self.assertEqual(spec.bodies[2].parent, spec.worldbody)
self.assertEqual(spec.bodies[3].parent, spec.bodies[1])
self.assertEqual(spec.bodies[4].parent, spec.bodies[3])
self.assertLen(spec.worldbody.find_all(bodytype), 4)
self.assertLen(spec.bodies[1].find_all(bodytype), 2)
self.assertLen(spec.bodies[3].find_all(bodytype), 1)
@@ -671,6 +675,11 @@ class SpecsTest(absltest.TestCase):
self.assertEqual(spec.bodies[3].sites[2].name, 'site3')
self.assertEqual(spec.bodies[3].sites[3].name, 'site4')
self.assertEqual(spec.bodies[4].sites[0].name, 'site5')
self.assertEqual(spec.bodies[3].sites[0].parent, spec.bodies[3])
self.assertEqual(spec.bodies[3].sites[1].parent, spec.bodies[3])
self.assertEqual(spec.bodies[3].sites[2].parent, spec.bodies[3])
self.assertEqual(spec.bodies[3].sites[3].parent, spec.bodies[3])
self.assertEqual(spec.bodies[4].sites[0].parent, spec.bodies[4])
with self.assertRaises(ValueError) as cm:
spec.worldbody.find_all('actuator')
self.assertEqual(