Add missing id attributes in Python bindings of mjsElements.

PiperOrigin-RevId: 649435098
Change-Id: I16383958c25cb8fdc16a107d5abef8626a675632
This commit is contained in:
Yuval Tassa
2024-07-04 09:31:45 -07:00
committed by Copybara-Service
parent 57e6760ec9
commit 47d25bc4ac
+42 -57
View File
@@ -492,8 +492,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSBODY ===================================== // ============================= MJSBODY =====================================
mjsBody.def_property_readonly( mjsBody.def_property_readonly(
"id", [](raw::MjsBody& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsBody& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsBody.def("delete", [](raw::MjsBody& self) { mjs_delete(self.element); }); mjsBody.def("delete", [](raw::MjsBody& self) { mjs_delete(self.element); });
mjsBody.def( mjsBody.def(
"add_body", "add_body",
@@ -666,8 +665,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSFRAME ==================================== // ============================= MJSFRAME ====================================
mjsFrame.def_property_readonly( mjsFrame.def_property_readonly(
"id", [](raw::MjsFrame& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsFrame& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsFrame.def("delete", [](raw::MjsFrame& self) { mjs_delete(self.element); }); mjsFrame.def("delete", [](raw::MjsFrame& self) { mjs_delete(self.element); });
mjsFrame.def("set_frame", [](raw::MjsFrame& self, raw::MjsFrame& frame) { mjsFrame.def("set_frame", [](raw::MjsFrame& self, raw::MjsFrame& frame) {
mjs_setFrame(self.element, &frame); mjs_setFrame(self.element, &frame);
@@ -679,8 +677,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSGEOM ===================================== // ============================= MJSGEOM =====================================
mjsGeom.def_property_readonly( mjsGeom.def_property_readonly(
"id", [](raw::MjsGeom& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsGeom& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsGeom.def("delete", [](raw::MjsGeom& self) { mjs_delete(self.element); }); mjsGeom.def("delete", [](raw::MjsGeom& self) { mjs_delete(self.element); });
mjsGeom.def("set_frame", [](raw::MjsGeom& self, raw::MjsFrame& frame) { mjsGeom.def("set_frame", [](raw::MjsGeom& self, raw::MjsFrame& frame) {
mjs_setFrame(self.element, &frame); mjs_setFrame(self.element, &frame);
@@ -697,8 +694,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSJOINT ==================================== // ============================= MJSJOINT ====================================
mjsJoint.def_property_readonly( mjsJoint.def_property_readonly(
"id", [](raw::MjsJoint& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsJoint& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsJoint.def("delete", [](raw::MjsJoint& self) { mjs_delete(self.element); }); mjsJoint.def("delete", [](raw::MjsJoint& self) { mjs_delete(self.element); });
mjsJoint.def("set_frame", [](raw::MjsJoint& self, raw::MjsFrame& frame) { mjsJoint.def("set_frame", [](raw::MjsJoint& self, raw::MjsFrame& frame) {
mjs_setFrame(self.element, &frame); mjs_setFrame(self.element, &frame);
@@ -715,8 +711,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSSITE ===================================== // ============================= MJSSITE =====================================
mjsSite.def_property_readonly( mjsSite.def_property_readonly(
"id", [](raw::MjsSite& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsSite& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsSite.def("delete", [](raw::MjsSite& self) { mjs_delete(self.element); }); mjsSite.def("delete", [](raw::MjsSite& self) { mjs_delete(self.element); });
mjsSite.def("set_frame", [](raw::MjsSite& self, raw::MjsFrame& frame) { mjsSite.def("set_frame", [](raw::MjsSite& self, raw::MjsFrame& frame) {
mjs_setFrame(self.element, &frame); mjs_setFrame(self.element, &frame);
@@ -732,9 +727,9 @@ PYBIND11_MODULE(_specs, m) {
py::return_value_policy::reference_internal); py::return_value_policy::reference_internal);
// ============================= MJSCAMERA =================================== // ============================= MJSCAMERA ===================================
mjsCamera.def_property_readonly( mjsCamera.def_property_readonly("id", [](raw::MjsCamera& self) -> int {
"id", [](raw::MjsCamera& self) -> int { return mjs_getId(self.element); }, return mjs_getId(self.element);
py::return_value_policy::reference_internal); });
mjsCamera.def("delete", mjsCamera.def("delete",
[](raw::MjsCamera& self) { mjs_delete(self.element); }); [](raw::MjsCamera& self) { mjs_delete(self.element); });
mjsCamera.def("set_frame", [](raw::MjsCamera& self, raw::MjsFrame& frame) { mjsCamera.def("set_frame", [](raw::MjsCamera& self, raw::MjsFrame& frame) {
@@ -752,8 +747,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSLIGHT ==================================== // ============================= MJSLIGHT ====================================
mjsLight.def_property_readonly( mjsLight.def_property_readonly(
"id", [](raw::MjsLight& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsLight& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsLight.def("delete", [](raw::MjsLight& self) { mjs_delete(self.element); }); mjsLight.def("delete", [](raw::MjsLight& self) { mjs_delete(self.element); });
mjsLight.def("set_frame", [](raw::MjsLight& self, raw::MjsFrame& frame) { mjsLight.def("set_frame", [](raw::MjsLight& self, raw::MjsFrame& frame) {
mjs_setFrame(self.element, &frame); mjs_setFrame(self.element, &frame);
@@ -769,10 +763,9 @@ PYBIND11_MODULE(_specs, m) {
py::return_value_policy::reference_internal); py::return_value_policy::reference_internal);
// ============================= MJSMATERIAL ================================= // ============================= MJSMATERIAL =================================
mjsMaterial.def_property_readonly( mjsMaterial.def_property_readonly("id", [](raw::MjsMaterial& self) -> int {
"id", return mjs_getId(self.element);
[](raw::MjsMaterial& self) -> int { return mjs_getId(self.element); }, });
py::return_value_policy::reference_internal);
mjsMaterial.def("delete", mjsMaterial.def("delete",
[](raw::MjsMaterial& self) { mjs_delete(self.element); }); [](raw::MjsMaterial& self) { mjs_delete(self.element); });
mjsMaterial.def("set_default", mjsMaterial.def("set_default",
@@ -788,8 +781,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSMESH ===================================== // ============================= MJSMESH =====================================
mjsMesh.def_property_readonly( mjsMesh.def_property_readonly(
"id", [](raw::MjsMesh& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsMesh& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsMesh.def("delete", [](raw::MjsMesh& self) { mjs_delete(self.element); }); mjsMesh.def("delete", [](raw::MjsMesh& self) { mjs_delete(self.element); });
mjsMesh.def("set_default", [](raw::MjsMesh& self, raw::MjsDefault& def) { mjsMesh.def("set_default", [](raw::MjsMesh& self, raw::MjsDefault& def) {
mjs_setDefault(self.element, &def); mjs_setDefault(self.element, &def);
@@ -803,8 +795,7 @@ PYBIND11_MODULE(_specs, m) {
// ============================= MJSPAIR ===================================== // ============================= MJSPAIR =====================================
mjsPair.def_property_readonly( mjsPair.def_property_readonly(
"id", [](raw::MjsPair& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsPair& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsPair.def("delete", [](raw::MjsPair& self) { mjs_delete(self.element); }); mjsPair.def("delete", [](raw::MjsPair& self) { mjs_delete(self.element); });
mjsPair.def("set_default", [](raw::MjsPair& self, raw::MjsDefault& def) { mjsPair.def("set_default", [](raw::MjsPair& self, raw::MjsDefault& def) {
mjs_setDefault(self.element, &def); mjs_setDefault(self.element, &def);
@@ -817,10 +808,9 @@ PYBIND11_MODULE(_specs, m) {
py::return_value_policy::reference_internal); py::return_value_policy::reference_internal);
// ============================= MJSEQUAL ==================================== // ============================= MJSEQUAL ====================================
mjsEquality.def_property_readonly( mjsEquality.def_property_readonly("id", [](raw::MjsEquality& self) -> int {
"id", return mjs_getId(self.element);
[](raw::MjsEquality& self) -> int { return mjs_getId(self.element); }, });
py::return_value_policy::reference_internal);
mjsEquality.def("delete", mjsEquality.def("delete",
[](raw::MjsEquality& self) { mjs_delete(self.element); }); [](raw::MjsEquality& self) { mjs_delete(self.element); });
mjsEquality.def("set_default", mjsEquality.def("set_default",
@@ -835,10 +825,9 @@ PYBIND11_MODULE(_specs, m) {
py::return_value_policy::reference_internal); py::return_value_policy::reference_internal);
// ============================= MJSACTUATOR ================================= // ============================= MJSACTUATOR =================================
mjsActuator.def_property_readonly( mjsActuator.def_property_readonly("id", [](raw::MjsActuator& self) -> int {
"id", return mjs_getId(self.element);
[](raw::MjsActuator& self) -> int { return mjs_getId(self.element); }, });
py::return_value_policy::reference_internal);
mjsActuator.def("delete", mjsActuator.def("delete",
[](raw::MjsActuator& self) { mjs_delete(self.element); }); [](raw::MjsActuator& self) { mjs_delete(self.element); });
mjsActuator.def("set_default", mjsActuator.def("set_default",
@@ -853,9 +842,9 @@ PYBIND11_MODULE(_specs, m) {
py::return_value_policy::reference_internal); py::return_value_policy::reference_internal);
// ============================= MJSTENDON =================================== // ============================= MJSTENDON ===================================
mjsTendon.def_property_readonly( mjsTendon.def_property_readonly("id", [](raw::MjsTendon& self) -> int {
"id", [](raw::MjsTendon& self) -> int { return mjs_getId(self.element); }, return mjs_getId(self.element);
py::return_value_policy::reference_internal); });
mjsTendon.def("delete", mjsTendon.def("delete",
[](raw::MjsTendon& self) { mjs_delete(self.element); }); [](raw::MjsTendon& self) { mjs_delete(self.element); });
mjsTendon.def("set_default", [](raw::MjsTendon& self, raw::MjsDefault& def) { mjsTendon.def("set_default", [](raw::MjsTendon& self, raw::MjsDefault& def) {
@@ -893,22 +882,21 @@ PYBIND11_MODULE(_specs, m) {
py::return_value_policy::reference_internal); py::return_value_policy::reference_internal);
// ============================= MJSSENSOR =================================== // ============================= MJSSENSOR ===================================
mjsSensor.def_property_readonly( mjsSensor.def_property_readonly("id", [](raw::MjsSensor& self) -> int {
"id", [](raw::MjsSensor& self) -> int { return mjs_getId(self.element); }, return mjs_getId(self.element);
py::return_value_policy::reference_internal); });
mjsSensor.def("delete", mjsSensor.def("delete",
[](raw::MjsSensor& self) { mjs_delete(self.element); }); [](raw::MjsSensor& self) { mjs_delete(self.element); });
// ============================= MJSFLEX ===================================== // ============================= MJSFLEX =====================================
mjsFlex.def_property_readonly( mjsFlex.def_property_readonly(
"id", [](raw::MjsFlex& self) -> int { return mjs_getId(self.element); }, "id", [](raw::MjsFlex& self) -> int { return mjs_getId(self.element); });
py::return_value_policy::reference_internal);
mjsFlex.def("delete", [](raw::MjsFlex& self) { mjs_delete(self.element); }); mjsFlex.def("delete", [](raw::MjsFlex& self) { mjs_delete(self.element); });
// ============================= MJSHFIELD =================================== // ============================= MJSHFIELD ===================================
mjsHField.def_property_readonly( mjsHField.def_property_readonly("id", [](raw::MjsHField& self) -> int {
"id", [](raw::MjsHField& self) -> int { return mjs_getId(self.element); }, return mjs_getId(self.element);
py::return_value_policy::reference_internal); });
mjsHField.def("delete", mjsHField.def("delete",
[](raw::MjsHField& self) { mjs_delete(self.element); }); [](raw::MjsHField& self) { mjs_delete(self.element); });
@@ -919,46 +907,43 @@ PYBIND11_MODULE(_specs, m) {
mjsSkin.def("delete", [](raw::MjsSkin& self) { mjs_delete(self.element); }); mjsSkin.def("delete", [](raw::MjsSkin& self) { mjs_delete(self.element); });
// ============================= MJSTEXTURE ================================== // ============================= MJSTEXTURE ==================================
mjsTexture.def_property_readonly( mjsTexture.def_property_readonly("id", [](raw::MjsTexture& self) -> int {
"id", return mjs_getId(self.element);
[](raw::MjsTexture& self) -> int { return mjs_getId(self.element); }, });
py::return_value_policy::reference_internal);
mjsTexture.def("delete", mjsTexture.def("delete",
[](raw::MjsTexture& self) { mjs_delete(self.element); }); [](raw::MjsTexture& self) { mjs_delete(self.element); });
// ============================= MJSKEY ====================================== // ============================= MJSKEY ======================================
mjsKey.def("id", mjsKey.def_property_readonly(
[](raw::MjsKey& self) -> int { return mjs_getId(self.element); }); "id", [](raw::MjsKey& self) -> int { return mjs_getId(self.element); });
mjsKey.def("delete", [](raw::MjsKey& self) { mjs_delete(self.element); }); mjsKey.def("delete", [](raw::MjsKey& self) { mjs_delete(self.element); });
// ============================= MJSTEXT ===================================== // ============================= MJSTEXT =====================================
mjsText.def("id", [](raw::MjsText& self) -> int { mjsText.def_property_readonly(
return mjs_getId(self.element); "id", [](raw::MjsText& self) -> int { return mjs_getId(self.element); });
});
mjsText.def("delete", [](raw::MjsText& self) { mjs_delete(self.element); }); mjsText.def("delete", [](raw::MjsText& self) { mjs_delete(self.element); });
// ============================= MJSNUMERIC ================================== // ============================= MJSNUMERIC ==================================
mjsNumeric.def("id", [](raw::MjsNumeric& self) -> int { mjsNumeric.def_property_readonly("id", [](raw::MjsNumeric& self) -> int {
return mjs_getId(self.element); return mjs_getId(self.element);
}); });
mjsNumeric.def("delete", mjsNumeric.def("delete",
[](raw::MjsNumeric& self) { mjs_delete(self.element); }); [](raw::MjsNumeric& self) { mjs_delete(self.element); });
// ============================= MJSEXCLUDE ================================== // ============================= MJSEXCLUDE ==================================
mjsExclude.def("id", [](raw::MjsExclude& self) -> int { mjsExclude.def_property_readonly("id", [](raw::MjsExclude& self) -> int {
return mjs_getId(self.element); return mjs_getId(self.element);
}); });
mjsExclude.def("delete", mjsExclude.def("delete",
[](raw::MjsExclude& self) { mjs_delete(self.element); }); [](raw::MjsExclude& self) { mjs_delete(self.element); });
// ============================= MJSTUPLE ==================================== // ============================= MJSTUPLE ====================================
mjsTuple.def("id", [](raw::MjsTuple& self) -> int { mjsTuple.def_property_readonly(
return mjs_getId(self.element); "id", [](raw::MjsTuple& self) -> int { return mjs_getId(self.element); });
});
mjsTuple.def("delete", [](raw::MjsTuple& self) { mjs_delete(self.element); }); mjsTuple.def("delete", [](raw::MjsTuple& self) { mjs_delete(self.element); });
// ============================= MJSPLUGIN =================================== // ============================= MJSPLUGIN ===================================
mjsPlugin.def("id", [](raw::MjsPlugin& self) -> int { mjsPlugin.def_property_readonly("id", [](raw::MjsPlugin& self) -> int {
return mjs_getId(self.instance); return mjs_getId(self.instance);
}); });
mjsPlugin.def("delete", mjsPlugin.def("delete",