Add bindings generation for mjOption, mjVisual, and mjStatistic.

Fixes #2076.

PiperOrigin-RevId: 677789263
Change-Id: Ie1bda40af62c5ac9bbba541668a50adfc59d3f7c
This commit is contained in:
Alessio Quaglino
2024-09-23 07:41:52 -07:00
committed by Copybara-Service
parent 41ea95f077
commit b5bcc91a03
3 changed files with 48 additions and 2 deletions
+25
View File
@@ -717,5 +717,30 @@ class SpecsTest(absltest.TestCase):
self.assertIsNotNone(model)
self.assertEqual(model.nplugin, 0)
def test_access_option_stat_visual(self):
spec = mujoco.MjSpec()
spec.from_string(textwrap.dedent("""
<mujoco model="MuJoCo Model">
<option timestep="0.001"/>
<statistic meansize="0.05"/>
<visual>
<quality shadowsize="4096"/>
</visual>
</mujoco>
"""))
self.assertEqual(spec.option.timestep, 0.001)
self.assertEqual(spec.stat.meansize, 0.05)
self.assertEqual(spec.visual.quality.shadowsize, 4096)
spec.option.timestep = 0.002
spec.stat.meansize = 0.06
spec.visual.quality.shadowsize = 8192
model = spec.compile()
self.assertEqual(model.opt.timestep, 0.002)
self.assertEqual(model.stat.meansize, 0.06)
self.assertEqual(model.vis.quality.shadowsize, 8192)
if __name__ == '__main__':
absltest.main()