Expose mj_copyData in Python bindings.

This allows calling `mujoco.mj_copyData(dest, model, src)` to copy data between existing `mjData` instances.

PiperOrigin-RevId: 855150139
Change-Id: If122cb7acf590846e25ee15f9770c3c087147169
This commit is contained in:
Yuval Tassa
2026-01-12 03:20:08 -08:00
committed by Copybara-Service
parent 1d482047d1
commit d7e4038be8
2 changed files with 14 additions and 1 deletions
+5 -1
View File
@@ -159,7 +159,11 @@ PYBIND11_MODULE(_functions, pymodule) {
// Skipped: mj_deleteModel (have MjModel.__del__)
Def<traits::mj_sizeModel>(pymodule);
// Skipped: mj_makeData (have MjData.__init__)
// Skipped: mj_copyData (have MjData.__copy__, memory managed by MjData)
DEF_WITH_OMITTED_PY_ARGS(traits::mj_copyData)(
pymodule,
[](raw::MjData* dest, const raw::MjModel* m, const raw::MjData* src) {
InterceptMjErrors(::mj_copyData)(dest, m, src);
});
Def<traits::mj_resetData>(pymodule);
Def<traits::mj_resetDataDebug>(pymodule);
Def<traits::mj_resetDataKeyframe>(pymodule);