Add spec.find_site().

PiperOrigin-RevId: 702733068
Change-Id: I4cc7fd2b9b59185a4458fdac8537f8287af1f295
This commit is contained in:
Alessio Quaglino
2024-12-04 08:20:03 -08:00
committed by Copybara-Service
parent d1b02556ef
commit a3b9f986c0
2 changed files with 7 additions and 0 deletions
+6
View File
@@ -344,6 +344,12 @@ PYBIND11_MODULE(_specs, m) {
return mjs_findFrame(self.ptr, name.c_str());
},
py::return_value_policy::reference_internal);
mjSpec.def(
"find_site",
[](MjSpec& self, std::string& name) -> raw::MjsSite* {
return mjs_asSite(mjs_findElement(self.ptr, mjOBJ_SITE, name.c_str()));
},
py::return_value_policy::reference_internal);
mjSpec.def(
"find_default",
[](MjSpec& self, std::string& classname) -> const raw::MjsDefault* {
+1
View File
@@ -723,6 +723,7 @@ class SpecsTest(absltest.TestCase):
self.assertIsNotNone(head)
site = head.first_site()
self.assertIsNotNone(site)
self.assertEqual(site, spec.find_site('head'))
site.delete()
spec.sensors[-1].delete()