mujoco 3.8.0__tar.gz → 3.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mujoco-3.8.0 → mujoco-3.9.0}/LICENSES_THIRD_PARTY.md +8 -7
- {mujoco-3.8.0/mujoco.egg-info → mujoco-3.9.0}/PKG-INFO +11 -10
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/CMakeLists.txt +3 -3
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/bindings_test.py +1 -1
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/MujocoDependencies.cmake +27 -2
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/constants.cc +1 -1
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/enum_traits.h +28 -10
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/function_traits.h +62 -29
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/functions.cc +39 -8
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/enums.py +29 -11
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/enums_test.py +2 -1
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/functions.py +108 -34
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/structs.py +127 -44
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/mjpython/Info.plist +4 -4
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/raw.h +1 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/renderer_test.py +44 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/rendering/classic/renderer.py +6 -2
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/serialization.h +1 -1
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/CMakeLists.txt +1 -1
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/simulate.cc +2 -2
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/specs.cc +155 -7
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/specs.cc.inc +612 -605
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/specs_test.py +68 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/specs_wrapper.cc +31 -29
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/specs_wrapper.h +1 -1
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/structs.cc +34 -10
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/structs.h +31 -3
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/structs_wrappers.cc +106 -24
- mujoco-3.9.0/mujoco/vfs.h +46 -0
- mujoco-3.9.0/mujoco/vfs_test.py +251 -0
- {mujoco-3.8.0 → mujoco-3.9.0/mujoco.egg-info}/PKG-INFO +11 -10
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco.egg-info/SOURCES.txt +2 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/pyproject.toml +3 -3
- {mujoco-3.8.0 → mujoco-3.9.0}/LICENSE +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/MANIFEST.in +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/README.md +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/callbacks.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cgl/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cgl/cgl.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/CheckAvxSupport.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/FindOrFetch.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/MujocoHarden.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/MujocoLinkOptions.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/MujocoMacOS.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/MujocoOptions.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/ShellTests.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/cmake/TargetAddRpath.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/egl/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/egl/egl_ext.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/enums.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/errors.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/errors.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/functions.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/gl_context.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/glfw/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/indexer_xmacro.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/indexers.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/indexers.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/ast_nodes.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/ast_nodes_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/codegen/formatter.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/codegen/generate_enums.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/codegen/generate_functions.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/codegen/generate_structs.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/functions_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/mjxmacro.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/structs_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/type_parsing.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/introspect/type_parsing_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/memory_leak_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/minimize.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/minimize_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/mjpython/mjpython.icns +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/mjpython/mjpython.mm +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/mjpython/mjpython.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/msh2obj.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/msh2obj_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/osmesa/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/private.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/render.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/render_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/renderer.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/rendering/classic/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/rendering/classic/gl_context.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/rollout.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/rollout.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/rollout_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/array_safety.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/cmake/CheckAvxSupport.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/cmake/FindOrFetch.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/cmake/MujocoHarden.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/cmake/MujocoLinkOptions.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/cmake/MujocoMacOS.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/cmake/SimulateDependencies.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/cmake/SimulateOptions.cmake +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/glfw_adapter.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/glfw_adapter.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/glfw_corevideo.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/glfw_corevideo.mm +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/glfw_dispatch.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/glfw_dispatch.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/macos_gui.mm +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/main.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/platform_ui_adapter.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/platform_ui_adapter.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate/simulate.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/simulate.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/io.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/model_modifier.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/optimize.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/parameter.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/plotting.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/residual.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/signal_modifier.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/signal_transform.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/timeseries.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/_src/trajectory.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/py.typed +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/builder.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/defaults.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/base.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/covariance.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/group.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/insights.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/optimization_trace.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/parameter_distribution.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/parameters.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/row.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/signals.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/sections/video.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/covariance.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/group.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/insights.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/layout.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/optimization_trace.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/parameter_confidence.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/parameters_table.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/plot_generic.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/row.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/signals.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/templates/video.html +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/report/utils.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/__init__.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/conftest.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/test_integration.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/test_model_modifier.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/test_parameter.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/test_signal.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/test_timeseries.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/sysid/tests/test_trajectory.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/MJCF_NoRoot.zip +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/MJCF_Root.zip +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/abdomen_1_body.msh +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/model.urdf +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/model.xml +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/msh.xml +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/simple_usd_preview_surface.usda +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/testdata/usd_golden.usda +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/threadpool.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/threadpool.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/camera.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/demo.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/exporter.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/exporter_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/lights.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/objects.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/shapes.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/usd/utils.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/CMakeLists.txt +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/array_traits.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/array_traits_test.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/crossplatform.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/func_traits.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/func_traits_test.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/func_wrap.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/func_wrap_test.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/tuple_tools.h +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/util/tuple_tools_test.cc +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/viewer.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco/viewer_test.py +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco.egg-info/dependency_links.txt +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco.egg-info/requires.txt +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/mujoco.egg-info/top_level.txt +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/setup.cfg +0 -0
- {mujoco-3.8.0 → mujoco-3.9.0}/setup.py +0 -0
|
@@ -841,12 +841,13 @@ must not be misrepresented as being the original software.
|
|
|
841
841
|
distribution.
|
|
842
842
|
```
|
|
843
843
|
|
|
844
|
-
###
|
|
844
|
+
### miniz
|
|
845
845
|
|
|
846
846
|
```
|
|
847
|
-
|
|
847
|
+
Copyright 2013-2014 RAD Game Tools and Valve Software
|
|
848
|
+
Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC
|
|
848
849
|
|
|
849
|
-
|
|
850
|
+
All Rights Reserved.
|
|
850
851
|
|
|
851
852
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
852
853
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -855,14 +856,14 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
855
856
|
copies of the Software, and to permit persons to whom the Software is
|
|
856
857
|
furnished to do so, subject to the following conditions:
|
|
857
858
|
|
|
858
|
-
The above copyright notice and this permission notice shall be included in
|
|
859
|
-
copies or substantial portions of the Software.
|
|
859
|
+
The above copyright notice and this permission notice shall be included in
|
|
860
|
+
all copies or substantial portions of the Software.
|
|
860
861
|
|
|
861
862
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
862
863
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
863
864
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
864
865
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
865
866
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
866
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
867
|
-
SOFTWARE.
|
|
867
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
868
|
+
THE SOFTWARE.
|
|
868
869
|
```
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mujoco
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9.0
|
|
4
4
|
Summary: MuJoCo Physics Simulator
|
|
5
5
|
Author-email: Google DeepMind <mujoco@deepmind.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
7
|
Project-URL: Homepage, https://github.com/google-deepmind/mujoco
|
|
8
|
-
Project-URL: Documentation, https://mujoco.readthedocs.io/en/3.
|
|
8
|
+
Project-URL: Documentation, https://mujoco.readthedocs.io/en/3.9.0
|
|
9
9
|
Project-URL: Repository, https://github.com/google-deepmind/mujoco
|
|
10
|
-
Project-URL: Changelog, https://mujoco.readthedocs.io/en/3.
|
|
10
|
+
Project-URL: Changelog, https://mujoco.readthedocs.io/en/3.9.0/changelog.html
|
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
12
|
Classifier: Intended Audience :: Developers
|
|
13
13
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -963,12 +963,13 @@ must not be misrepresented as being the original software.
|
|
|
963
963
|
distribution.
|
|
964
964
|
```
|
|
965
965
|
|
|
966
|
-
###
|
|
966
|
+
### miniz
|
|
967
967
|
|
|
968
968
|
```
|
|
969
|
-
|
|
969
|
+
Copyright 2013-2014 RAD Game Tools and Valve Software
|
|
970
|
+
Copyright 2010-2014 Rich Geldreich and Tenacious Software LLC
|
|
970
971
|
|
|
971
|
-
|
|
972
|
+
All Rights Reserved.
|
|
972
973
|
|
|
973
974
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
974
975
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -977,14 +978,14 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
977
978
|
copies of the Software, and to permit persons to whom the Software is
|
|
978
979
|
furnished to do so, subject to the following conditions:
|
|
979
980
|
|
|
980
|
-
The above copyright notice and this permission notice shall be included in
|
|
981
|
-
copies or substantial portions of the Software.
|
|
981
|
+
The above copyright notice and this permission notice shall be included in
|
|
982
|
+
all copies or substantial portions of the Software.
|
|
982
983
|
|
|
983
984
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
984
985
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
985
986
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
986
987
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
987
988
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
988
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
989
|
-
SOFTWARE.
|
|
989
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
990
|
+
THE SOFTWARE.
|
|
990
991
|
```
|
|
@@ -86,7 +86,7 @@ if(NOT TARGET mujoco)
|
|
|
86
86
|
if(MUJOCO_FRAMEWORK)
|
|
87
87
|
message("MuJoCo framework is at ${MUJOCO_FRAMEWORK}/mujoco.framework")
|
|
88
88
|
set(MUJOCO_LIBRARY
|
|
89
|
-
${MUJOCO_FRAMEWORK}/mujoco.framework/Versions/A/libmujoco.3.
|
|
89
|
+
${MUJOCO_FRAMEWORK}/mujoco.framework/Versions/A/libmujoco.3.9.0.dylib
|
|
90
90
|
)
|
|
91
91
|
target_compile_options(mujoco INTERFACE -F${MUJOCO_FRAMEWORK})
|
|
92
92
|
endif()
|
|
@@ -94,7 +94,7 @@ if(NOT TARGET mujoco)
|
|
|
94
94
|
|
|
95
95
|
if(NOT MUJOCO_FRAMEWORK)
|
|
96
96
|
find_library(
|
|
97
|
-
MUJOCO_LIBRARY mujoco mujoco.3.
|
|
97
|
+
MUJOCO_LIBRARY mujoco mujoco.3.9.0 HINTS ${MUJOCO_LIBRARY_DIR} REQUIRED
|
|
98
98
|
)
|
|
99
99
|
find_path(MUJOCO_INCLUDE mujoco/mujoco.h HINTS ${MUJOCO_INCLUDE_DIR} REQUIRED)
|
|
100
100
|
message("MuJoCo is at ${MUJOCO_LIBRARY}")
|
|
@@ -175,7 +175,7 @@ findorfetch(
|
|
|
175
175
|
GIT_REPO
|
|
176
176
|
https://gitlab.com/libeigen/eigen
|
|
177
177
|
GIT_TAG
|
|
178
|
-
|
|
178
|
+
ea13a98decd497a8c5588fb5de71b57bcf10d864
|
|
179
179
|
TARGETS
|
|
180
180
|
Eigen3::Eigen
|
|
181
181
|
EXCLUDE_FROM_ALL
|
|
@@ -966,7 +966,7 @@ Euler integrator, semi-implicit in velocity.
|
|
|
966
966
|
self.assertEqual(mujoco.mjtEnableBit.mjENBL_OVERRIDE, 1 << 0)
|
|
967
967
|
self.assertEqual(mujoco.mjtEnableBit.mjENBL_ENERGY, 1 << 1)
|
|
968
968
|
self.assertEqual(mujoco.mjtEnableBit.mjENBL_FWDINV, 1 << 2)
|
|
969
|
-
self.assertEqual(mujoco.mjtEnableBit.mjNENABLE,
|
|
969
|
+
self.assertEqual(mujoco.mjtEnableBit.mjNENABLE, 6)
|
|
970
970
|
self.assertEqual(mujoco.mjtGeom.mjGEOM_PLANE, 0)
|
|
971
971
|
self.assertEqual(mujoco.mjtGeom.mjGEOM_HFIELD, 1)
|
|
972
972
|
self.assertEqual(mujoco.mjtGeom.mjGEOM_SPHERE, 2)
|
|
@@ -38,8 +38,12 @@ set(MUJOCO_DEP_VERSION_qhull
|
|
|
38
38
|
62ccc56af071eaa478bef6ed41fd7a55d3bb2d80
|
|
39
39
|
CACHE STRING "Version of `qhull` to be fetched."
|
|
40
40
|
)
|
|
41
|
+
set(MUJOCO_DEP_VERSION_miniz
|
|
42
|
+
d10b03cc73475af673df40f06e5cefd1d5f940d9
|
|
43
|
+
CACHE STRING "Version of `miniz` to be fetched."
|
|
44
|
+
)
|
|
41
45
|
set(MUJOCO_DEP_VERSION_Eigen3
|
|
42
|
-
|
|
46
|
+
ea13a98decd497a8c5588fb5de71b57bcf10d864
|
|
43
47
|
CACHE STRING "Version of `Eigen3` to be fetched."
|
|
44
48
|
)
|
|
45
49
|
|
|
@@ -54,7 +58,7 @@ set(MUJOCO_DEP_VERSION_gtest
|
|
|
54
58
|
)
|
|
55
59
|
|
|
56
60
|
set(MUJOCO_DEP_VERSION_benchmark
|
|
57
|
-
|
|
61
|
+
834a61fc65e8b7885fcf177f1230ae4b897118fa
|
|
58
62
|
CACHE STRING "Version of `benchmark` to be fetched."
|
|
59
63
|
)
|
|
60
64
|
|
|
@@ -243,6 +247,27 @@ if(WIN32)
|
|
|
243
247
|
endif()
|
|
244
248
|
endif()
|
|
245
249
|
|
|
250
|
+
if(DEFINED BUILD_TESTS)
|
|
251
|
+
set(_OLD_BUILD_TESTS "${BUILD_TESTS}")
|
|
252
|
+
set(_BUILD_TESTS_WAS_DEFINED TRUE)
|
|
253
|
+
else()
|
|
254
|
+
set(_BUILD_TESTS_WAS_DEFINED FALSE)
|
|
255
|
+
endif()
|
|
256
|
+
set(BUILD_TESTS OFF)
|
|
257
|
+
fetchpackage(
|
|
258
|
+
PACKAGE_NAME miniz
|
|
259
|
+
GIT_REPO https://github.com/richgel999/miniz.git
|
|
260
|
+
GIT_TAG ${MUJOCO_DEP_VERSION_miniz}
|
|
261
|
+
TARGETS miniz
|
|
262
|
+
)
|
|
263
|
+
if(_BUILD_TESTS_WAS_DEFINED)
|
|
264
|
+
set(BUILD_TESTS "${_OLD_BUILD_TESTS}")
|
|
265
|
+
else()
|
|
266
|
+
unset(BUILD_TESTS)
|
|
267
|
+
endif()
|
|
268
|
+
unset(_BUILD_TESTS_WAS_DEFINED)
|
|
269
|
+
|
|
270
|
+
|
|
246
271
|
if(MUJOCO_BUILD_TESTS OR MUJOCO_BUILD_STUDIO OR MUJOCO_USE_FILAMENT)
|
|
247
272
|
set(ABSL_PROPAGATE_CXX_STD ON)
|
|
248
273
|
|
|
@@ -59,6 +59,7 @@ struct mjtEnableBit {
|
|
|
59
59
|
std::make_pair("mjENBL_FWDINV", ::mjtEnableBit::mjENBL_FWDINV),
|
|
60
60
|
std::make_pair("mjENBL_INVDISCRETE", ::mjtEnableBit::mjENBL_INVDISCRETE),
|
|
61
61
|
std::make_pair("mjENBL_SLEEP", ::mjtEnableBit::mjENBL_SLEEP),
|
|
62
|
+
std::make_pair("mjENBL_DIAGEXACT", ::mjtEnableBit::mjENBL_DIAGEXACT),
|
|
62
63
|
std::make_pair("mjNENABLE", ::mjtEnableBit::mjNENABLE)};
|
|
63
64
|
};
|
|
64
65
|
|
|
@@ -476,15 +477,6 @@ struct mjtSDFType {
|
|
|
476
477
|
std::make_pair("mjSDFTYPE_COLLISION", ::mjtSDFType::mjSDFTYPE_COLLISION)};
|
|
477
478
|
};
|
|
478
479
|
|
|
479
|
-
struct mjtTaskStatus {
|
|
480
|
-
static constexpr char name[] = "mjtTaskStatus";
|
|
481
|
-
using type = ::mjtTaskStatus;
|
|
482
|
-
static constexpr auto values = std::array{
|
|
483
|
-
std::make_pair("mjTASK_NEW", ::mjtTaskStatus::mjTASK_NEW),
|
|
484
|
-
std::make_pair("mjTASK_QUEUED", ::mjtTaskStatus::mjTASK_QUEUED),
|
|
485
|
-
std::make_pair("mjTASK_COMPLETED", ::mjtTaskStatus::mjTASK_COMPLETED)};
|
|
486
|
-
};
|
|
487
|
-
|
|
488
480
|
struct mjtState {
|
|
489
481
|
static constexpr char name[] = "mjtState";
|
|
490
482
|
using type = ::mjtState;
|
|
@@ -580,6 +572,15 @@ struct mjtSleepState {
|
|
|
580
572
|
std::make_pair("mjS_AWAKE", ::mjtSleepState::mjS_AWAKE)};
|
|
581
573
|
};
|
|
582
574
|
|
|
575
|
+
struct mjtTaskStatus {
|
|
576
|
+
static constexpr char name[] = "mjtTaskStatus";
|
|
577
|
+
using type = ::mjtTaskStatus;
|
|
578
|
+
static constexpr auto values = std::array{
|
|
579
|
+
std::make_pair("mjTASK_NEW", ::mjtTaskStatus::mjTASK_NEW),
|
|
580
|
+
std::make_pair("mjTASK_QUEUED", ::mjtTaskStatus::mjTASK_QUEUED),
|
|
581
|
+
std::make_pair("mjTASK_COMPLETED", ::mjtTaskStatus::mjTASK_COMPLETED)};
|
|
582
|
+
};
|
|
583
|
+
|
|
583
584
|
struct mjtGeomInertia {
|
|
584
585
|
static constexpr char name[] = "mjtGeomInertia";
|
|
585
586
|
using type = ::mjtGeomInertia;
|
|
@@ -670,6 +671,22 @@ struct mjtOrientation {
|
|
|
670
671
|
std::make_pair("mjORIENTATION_EULER", ::mjtOrientation::mjORIENTATION_EULER)};
|
|
671
672
|
};
|
|
672
673
|
|
|
674
|
+
struct mjtCTimer {
|
|
675
|
+
static constexpr char name[] = "mjtCTimer";
|
|
676
|
+
using type = ::mjtCTimer;
|
|
677
|
+
static constexpr auto values = std::array{
|
|
678
|
+
std::make_pair("mjCTIMER_TOTAL", ::mjtCTimer::mjCTIMER_TOTAL),
|
|
679
|
+
std::make_pair("mjCTIMER_ASSETS", ::mjtCTimer::mjCTIMER_ASSETS),
|
|
680
|
+
std::make_pair("mjCTIMER_TEXTURE", ::mjtCTimer::mjCTIMER_TEXTURE),
|
|
681
|
+
std::make_pair("mjCTIMER_MESH_LOAD", ::mjtCTimer::mjCTIMER_MESH_LOAD),
|
|
682
|
+
std::make_pair("mjCTIMER_MESH_HULL", ::mjtCTimer::mjCTIMER_MESH_HULL),
|
|
683
|
+
std::make_pair("mjCTIMER_MESH_POLYGON", ::mjtCTimer::mjCTIMER_MESH_POLYGON),
|
|
684
|
+
std::make_pair("mjCTIMER_MESH_INERTIA", ::mjtCTimer::mjCTIMER_MESH_INERTIA),
|
|
685
|
+
std::make_pair("mjCTIMER_MESH_BVH", ::mjtCTimer::mjCTIMER_MESH_BVH),
|
|
686
|
+
std::make_pair("mjCTIMER_MESH_OCTREE", ::mjtCTimer::mjCTIMER_MESH_OCTREE),
|
|
687
|
+
std::make_pair("mjNCTIMER", ::mjtCTimer::mjNCTIMER)};
|
|
688
|
+
};
|
|
689
|
+
|
|
673
690
|
struct mjtCatBit {
|
|
674
691
|
static constexpr char name[] = "mjtCatBit";
|
|
675
692
|
using type = ::mjtCatBit;
|
|
@@ -967,13 +984,13 @@ static constexpr auto kAllEnums = std::make_tuple(
|
|
|
967
984
|
mjtLRMode{},
|
|
968
985
|
mjtFlexSelf{},
|
|
969
986
|
mjtSDFType{},
|
|
970
|
-
mjtTaskStatus{},
|
|
971
987
|
mjtState{},
|
|
972
988
|
mjtConstraint{},
|
|
973
989
|
mjtConstraintState{},
|
|
974
990
|
mjtWarning{},
|
|
975
991
|
mjtTimer{},
|
|
976
992
|
mjtSleepState{},
|
|
993
|
+
mjtTaskStatus{},
|
|
977
994
|
mjtGeomInertia{},
|
|
978
995
|
mjtMeshInertia{},
|
|
979
996
|
mjtMeshBuiltin{},
|
|
@@ -983,6 +1000,7 @@ static constexpr auto kAllEnums = std::make_tuple(
|
|
|
983
1000
|
mjtAlignFree{},
|
|
984
1001
|
mjtInertiaFromGeom{},
|
|
985
1002
|
mjtOrientation{},
|
|
1003
|
+
mjtCTimer{},
|
|
986
1004
|
mjtCatBit{},
|
|
987
1005
|
mjtMouse{},
|
|
988
1006
|
mjtPertBit{},
|
|
@@ -1829,7 +1829,7 @@ struct mj_versionString {
|
|
|
1829
1829
|
struct mj_ray {
|
|
1830
1830
|
static constexpr char name[] = "mj_ray";
|
|
1831
1831
|
static constexpr char doc[] = "Intersect ray (pnt+x*vec, x>=0) with visible geoms, except geoms in bodyexclude. Return distance (x) to nearest surface, or -1 if no intersection. geomgroup, flg_static are as in mjvOption; geomgroup==NULL skips group exclusion.";
|
|
1832
|
-
using type = mjtNum (const mjModel *, const mjData *, const mjtNum (*)[3], const mjtNum (*)[3], const mjtByte *,
|
|
1832
|
+
using type = mjtNum (const mjModel *, const mjData *, const mjtNum (*)[3], const mjtNum (*)[3], const mjtByte *, mjtBool, int, int (*)[1], mjtNum (*)[3]);
|
|
1833
1833
|
static constexpr auto param_names = std::make_tuple("m", "d", "pnt", "vec", "geomgroup", "flg_static", "bodyexclude", "geomid", "normal");
|
|
1834
1834
|
|
|
1835
1835
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -1840,7 +1840,7 @@ struct mj_ray {
|
|
|
1840
1840
|
struct mj_multiRay {
|
|
1841
1841
|
static constexpr char name[] = "mj_multiRay";
|
|
1842
1842
|
static constexpr char doc[] = "Intersect multiple rays emanating from a single point, compute normals if given. Similar semantics to mj_ray, but vec, normal and dist are arrays. Geoms further than cutoff are ignored.";
|
|
1843
|
-
using type = void (const mjModel *, mjData *, const mjtNum (*)[3], const mjtNum *, const mjtByte *,
|
|
1843
|
+
using type = void (const mjModel *, mjData *, const mjtNum (*)[3], const mjtNum *, const mjtByte *, mjtBool, int, int *, mjtNum *, mjtNum *, int, mjtNum);
|
|
1844
1844
|
static constexpr auto param_names = std::make_tuple("m", "d", "pnt", "vec", "geomgroup", "flg_static", "bodyexclude", "geomid", "dist", "normal", "nray", "cutoff");
|
|
1845
1845
|
|
|
1846
1846
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -1884,7 +1884,7 @@ struct mju_rayGeom {
|
|
|
1884
1884
|
struct mj_rayFlex {
|
|
1885
1885
|
static constexpr char name[] = "mj_rayFlex";
|
|
1886
1886
|
static constexpr char doc[] = "Intersect ray with flex; return nearest distance or -1 if no intersection, and also output nearest vertex id and surface normal.";
|
|
1887
|
-
using type = mjtNum (const mjModel *, const mjData *, int,
|
|
1887
|
+
using type = mjtNum (const mjModel *, const mjData *, int, mjtBool, mjtBool, mjtBool, mjtBool, int, const mjtNum (*)[3], const mjtNum (*)[3], int (*)[1], mjtNum (*)[3]);
|
|
1888
1888
|
static constexpr auto param_names = std::make_tuple("m", "d", "flex_layer", "flg_vert", "flg_edge", "flg_face", "flg_skin", "flexid", "pnt", "vec", "vertid", "normal");
|
|
1889
1889
|
|
|
1890
1890
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -2717,6 +2717,17 @@ struct mjs_getError {
|
|
|
2717
2717
|
}
|
|
2718
2718
|
};
|
|
2719
2719
|
|
|
2720
|
+
struct mjs_getTimer {
|
|
2721
|
+
static constexpr char name[] = "mjs_getTimer";
|
|
2722
|
+
static constexpr char doc[] = "Get compiler timing diagnostics from spec, returns pointer to array of size mjNCTIMER.";
|
|
2723
|
+
using type = const double * (mjSpec *);
|
|
2724
|
+
static constexpr auto param_names = std::make_tuple("s");
|
|
2725
|
+
|
|
2726
|
+
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
2727
|
+
return ::mjs_getTimer;
|
|
2728
|
+
}
|
|
2729
|
+
};
|
|
2730
|
+
|
|
2720
2731
|
struct mjs_isWarning {
|
|
2721
2732
|
static constexpr char name[] = "mjs_isWarning";
|
|
2722
2733
|
static constexpr char doc[] = "Return 1 if compiler error is a warning.";
|
|
@@ -3256,6 +3267,17 @@ struct mju_sparse2dense {
|
|
|
3256
3267
|
}
|
|
3257
3268
|
};
|
|
3258
3269
|
|
|
3270
|
+
struct mju_sym2dense {
|
|
3271
|
+
static constexpr char name[] = "mju_sym2dense";
|
|
3272
|
+
static constexpr char doc[] = "Convert lower-triangular symmetric CSR matrix to full dense matrix.";
|
|
3273
|
+
using type = void (mjtNum *, const mjtNum *, int, const int *, const int *, const int *);
|
|
3274
|
+
static constexpr auto param_names = std::make_tuple("res", "mat", "n", "rownnz", "rowadr", "colind");
|
|
3275
|
+
|
|
3276
|
+
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
3277
|
+
return ::mju_sym2dense;
|
|
3278
|
+
}
|
|
3279
|
+
};
|
|
3280
|
+
|
|
3259
3281
|
struct mju_rotVecQuat {
|
|
3260
3282
|
static constexpr char name[] = "mju_rotVecQuat";
|
|
3261
3283
|
static constexpr char doc[] = "Rotate vector by quaternion.";
|
|
@@ -3501,7 +3523,7 @@ struct mju_cholSolveBand {
|
|
|
3501
3523
|
struct mju_band2Dense {
|
|
3502
3524
|
static constexpr char name[] = "mju_band2Dense";
|
|
3503
3525
|
static constexpr char doc[] = "Convert banded matrix to dense matrix, fill upper triangle if flg_sym>0.";
|
|
3504
|
-
using type = void (mjtNum *, const mjtNum *, int, int, int,
|
|
3526
|
+
using type = void (mjtNum *, const mjtNum *, int, int, int, mjtBool);
|
|
3505
3527
|
static constexpr auto param_names = std::make_tuple("res", "mat", "ntotal", "nband", "ndense", "flg_sym");
|
|
3506
3528
|
|
|
3507
3529
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -3523,7 +3545,7 @@ struct mju_dense2Band {
|
|
|
3523
3545
|
struct mju_bandMulMatVec {
|
|
3524
3546
|
static constexpr char name[] = "mju_bandMulMatVec";
|
|
3525
3547
|
static constexpr char doc[] = "Multiply band-diagonal matrix with nvec vectors, include upper triangle if flg_sym>0.";
|
|
3526
|
-
using type = void (mjtNum *, const mjtNum *, const mjtNum *, int, int, int, int,
|
|
3548
|
+
using type = void (mjtNum *, const mjtNum *, const mjtNum *, int, int, int, int, mjtBool);
|
|
3527
3549
|
static constexpr auto param_names = std::make_tuple("res", "mat", "vec", "ntotal", "nband", "ndense", "nvec", "flg_sym");
|
|
3528
3550
|
|
|
3529
3551
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -3908,7 +3930,7 @@ struct mjc_gradient {
|
|
|
3908
3930
|
struct mjd_transitionFD {
|
|
3909
3931
|
static constexpr char name[] = "mjd_transitionFD";
|
|
3910
3932
|
static constexpr char doc[] = "Finite differenced transition matrices (control theory notation) d(x_next) = A*dx + B*du d(sensor) = C*dx + D*du required output matrix dimensions: A: (2*nv+na x 2*nv+na) B: (2*nv+na x nu) D: (nsensordata x 2*nv+na) C: (nsensordata x nu)";
|
|
3911
|
-
using type = void (const mjModel *, mjData *, mjtNum,
|
|
3933
|
+
using type = void (const mjModel *, mjData *, mjtNum, mjtBool, mjtNum *, mjtNum *, mjtNum *, mjtNum *);
|
|
3912
3934
|
static constexpr auto param_names = std::make_tuple("m", "d", "eps", "flg_centered", "A", "B", "C", "D");
|
|
3913
3935
|
|
|
3914
3936
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -3919,7 +3941,7 @@ struct mjd_transitionFD {
|
|
|
3919
3941
|
struct mjd_inverseFD {
|
|
3920
3942
|
static constexpr char name[] = "mjd_inverseFD";
|
|
3921
3943
|
static constexpr char doc[] = "Finite differenced Jacobians of (force, sensors) = mj_inverse(state, acceleration) All outputs are optional. Output dimensions (transposed w.r.t Control Theory convention): DfDq: (nv x nv) DfDv: (nv x nv) DfDa: (nv x nv) DsDq: (nv x nsensordata) DsDv: (nv x nsensordata) DsDa: (nv x nsensordata) DmDq: (nv x nM) single-letter shortcuts: inputs: q=qpos, v=qvel, a=qacc outputs: f=qfrc_inverse, s=sensordata, m=qM notes: optionally computes mass matrix Jacobian DmDq flg_actuation specifies whether to subtract qfrc_actuator from qfrc_inverse";
|
|
3922
|
-
using type = void (const mjModel *, mjData *, mjtNum,
|
|
3944
|
+
using type = void (const mjModel *, mjData *, mjtNum, mjtBool, mjtNum *, mjtNum *, mjtNum *, mjtNum *, mjtNum *, mjtNum *, mjtNum *);
|
|
3923
3945
|
static constexpr auto param_names = std::make_tuple("m", "d", "eps", "flg_actuation", "DfDq", "DfDv", "DfDa", "DsDq", "DsDv", "DsDa", "DmDq");
|
|
3924
3946
|
|
|
3925
3947
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4722,7 +4744,7 @@ struct mjs_makeMesh {
|
|
|
4722
4744
|
struct mjs_getSpec {
|
|
4723
4745
|
static constexpr char name[] = "mjs_getSpec";
|
|
4724
4746
|
static constexpr char doc[] = "Get spec from body.";
|
|
4725
|
-
using type = mjSpec * (mjsElement *);
|
|
4747
|
+
using type = mjSpec * (const mjsElement *);
|
|
4726
4748
|
static constexpr auto param_names = std::make_tuple("element");
|
|
4727
4749
|
|
|
4728
4750
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4730,10 +4752,21 @@ struct mjs_getSpec {
|
|
|
4730
4752
|
}
|
|
4731
4753
|
};
|
|
4732
4754
|
|
|
4755
|
+
struct mjs_getOriginSpec {
|
|
4756
|
+
static constexpr char name[] = "mjs_getOriginSpec";
|
|
4757
|
+
static constexpr char doc[] = "get spec that originally defined an element contrary to mjs_getSpec, this does not change after attachment";
|
|
4758
|
+
using type = mjSpec * (const mjsElement *);
|
|
4759
|
+
static constexpr auto param_names = std::make_tuple("element");
|
|
4760
|
+
|
|
4761
|
+
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
4762
|
+
return ::mjs_getOriginSpec;
|
|
4763
|
+
}
|
|
4764
|
+
};
|
|
4765
|
+
|
|
4733
4766
|
struct mjs_getCompiler {
|
|
4734
4767
|
static constexpr char name[] = "mjs_getCompiler";
|
|
4735
4768
|
static constexpr char doc[] = "Get compiler associated with element's origin spec.";
|
|
4736
|
-
using type = mjsCompiler * (mjsElement *);
|
|
4769
|
+
using type = mjsCompiler * (const mjsElement *);
|
|
4737
4770
|
static constexpr auto param_names = std::make_tuple("element");
|
|
4738
4771
|
|
|
4739
4772
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4744,7 +4777,7 @@ struct mjs_getCompiler {
|
|
|
4744
4777
|
struct mjs_findSpec {
|
|
4745
4778
|
static constexpr char name[] = "mjs_findSpec";
|
|
4746
4779
|
static constexpr char doc[] = "Find spec (model asset) by name.";
|
|
4747
|
-
using type = mjSpec * (mjSpec *, const char *);
|
|
4780
|
+
using type = mjSpec * (const mjSpec *, const char *);
|
|
4748
4781
|
static constexpr auto param_names = std::make_tuple("spec", "name");
|
|
4749
4782
|
|
|
4750
4783
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4755,7 +4788,7 @@ struct mjs_findSpec {
|
|
|
4755
4788
|
struct mjs_findBody {
|
|
4756
4789
|
static constexpr char name[] = "mjs_findBody";
|
|
4757
4790
|
static constexpr char doc[] = "Find body in spec by name.";
|
|
4758
|
-
using type = mjsBody * (mjSpec *, const char *);
|
|
4791
|
+
using type = mjsBody * (const mjSpec *, const char *);
|
|
4759
4792
|
static constexpr auto param_names = std::make_tuple("s", "name");
|
|
4760
4793
|
|
|
4761
4794
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4766,7 +4799,7 @@ struct mjs_findBody {
|
|
|
4766
4799
|
struct mjs_findElement {
|
|
4767
4800
|
static constexpr char name[] = "mjs_findElement";
|
|
4768
4801
|
static constexpr char doc[] = "Find element in spec by name.";
|
|
4769
|
-
using type = mjsElement * (mjSpec *, mjtObj, const char *);
|
|
4802
|
+
using type = mjsElement * (const mjSpec *, mjtObj, const char *);
|
|
4770
4803
|
static constexpr auto param_names = std::make_tuple("s", "type", "name");
|
|
4771
4804
|
|
|
4772
4805
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4777,7 +4810,7 @@ struct mjs_findElement {
|
|
|
4777
4810
|
struct mjs_findChild {
|
|
4778
4811
|
static constexpr char name[] = "mjs_findChild";
|
|
4779
4812
|
static constexpr char doc[] = "Find child body by name.";
|
|
4780
|
-
using type = mjsBody * (mjsBody *, const char *);
|
|
4813
|
+
using type = mjsBody * (const mjsBody *, const char *);
|
|
4781
4814
|
static constexpr auto param_names = std::make_tuple("body", "name");
|
|
4782
4815
|
|
|
4783
4816
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4788,7 +4821,7 @@ struct mjs_findChild {
|
|
|
4788
4821
|
struct mjs_getParent {
|
|
4789
4822
|
static constexpr char name[] = "mjs_getParent";
|
|
4790
4823
|
static constexpr char doc[] = "Get parent body.";
|
|
4791
|
-
using type = mjsBody * (mjsElement *);
|
|
4824
|
+
using type = mjsBody * (const mjsElement *);
|
|
4792
4825
|
static constexpr auto param_names = std::make_tuple("element");
|
|
4793
4826
|
|
|
4794
4827
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4799,7 +4832,7 @@ struct mjs_getParent {
|
|
|
4799
4832
|
struct mjs_getFrame {
|
|
4800
4833
|
static constexpr char name[] = "mjs_getFrame";
|
|
4801
4834
|
static constexpr char doc[] = "Get parent frame.";
|
|
4802
|
-
using type = mjsFrame * (mjsElement *);
|
|
4835
|
+
using type = mjsFrame * (const mjsElement *);
|
|
4803
4836
|
static constexpr auto param_names = std::make_tuple("element");
|
|
4804
4837
|
|
|
4805
4838
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4810,7 +4843,7 @@ struct mjs_getFrame {
|
|
|
4810
4843
|
struct mjs_findFrame {
|
|
4811
4844
|
static constexpr char name[] = "mjs_findFrame";
|
|
4812
4845
|
static constexpr char doc[] = "Find frame by name.";
|
|
4813
|
-
using type = mjsFrame * (mjSpec *, const char *);
|
|
4846
|
+
using type = mjsFrame * (const mjSpec *, const char *);
|
|
4814
4847
|
static constexpr auto param_names = std::make_tuple("s", "name");
|
|
4815
4848
|
|
|
4816
4849
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4821,7 +4854,7 @@ struct mjs_findFrame {
|
|
|
4821
4854
|
struct mjs_getDefault {
|
|
4822
4855
|
static constexpr char name[] = "mjs_getDefault";
|
|
4823
4856
|
static constexpr char doc[] = "Get default corresponding to an element.";
|
|
4824
|
-
using type = mjsDefault * (mjsElement *);
|
|
4857
|
+
using type = mjsDefault * (const mjsElement *);
|
|
4825
4858
|
static constexpr auto param_names = std::make_tuple("element");
|
|
4826
4859
|
|
|
4827
4860
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4832,7 +4865,7 @@ struct mjs_getDefault {
|
|
|
4832
4865
|
struct mjs_findDefault {
|
|
4833
4866
|
static constexpr char name[] = "mjs_findDefault";
|
|
4834
4867
|
static constexpr char doc[] = "Find default in model by class name.";
|
|
4835
|
-
using type = mjsDefault * (mjSpec *, const char *);
|
|
4868
|
+
using type = mjsDefault * (const mjSpec *, const char *);
|
|
4836
4869
|
static constexpr auto param_names = std::make_tuple("s", "classname");
|
|
4837
4870
|
|
|
4838
4871
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4843,7 +4876,7 @@ struct mjs_findDefault {
|
|
|
4843
4876
|
struct mjs_getSpecDefault {
|
|
4844
4877
|
static constexpr char name[] = "mjs_getSpecDefault";
|
|
4845
4878
|
static constexpr char doc[] = "Get global default from model.";
|
|
4846
|
-
using type = mjsDefault * (mjSpec *);
|
|
4879
|
+
using type = mjsDefault * (const mjSpec *);
|
|
4847
4880
|
static constexpr auto param_names = std::make_tuple("s");
|
|
4848
4881
|
|
|
4849
4882
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4854,7 +4887,7 @@ struct mjs_getSpecDefault {
|
|
|
4854
4887
|
struct mjs_getId {
|
|
4855
4888
|
static constexpr char name[] = "mjs_getId";
|
|
4856
4889
|
static constexpr char doc[] = "Get element id.";
|
|
4857
|
-
using type = int (mjsElement *);
|
|
4890
|
+
using type = int (const mjsElement *);
|
|
4858
4891
|
static constexpr auto param_names = std::make_tuple("element");
|
|
4859
4892
|
|
|
4860
4893
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4865,7 +4898,7 @@ struct mjs_getId {
|
|
|
4865
4898
|
struct mjs_firstChild {
|
|
4866
4899
|
static constexpr char name[] = "mjs_firstChild";
|
|
4867
4900
|
static constexpr char doc[] = "Return body's first child of given type. If recurse is nonzero, also search the body's subtree.";
|
|
4868
|
-
using type = mjsElement * (mjsBody *, mjtObj, int);
|
|
4901
|
+
using type = mjsElement * (const mjsBody *, mjtObj, int);
|
|
4869
4902
|
static constexpr auto param_names = std::make_tuple("body", "type", "recurse");
|
|
4870
4903
|
|
|
4871
4904
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4876,7 +4909,7 @@ struct mjs_firstChild {
|
|
|
4876
4909
|
struct mjs_nextChild {
|
|
4877
4910
|
static constexpr char name[] = "mjs_nextChild";
|
|
4878
4911
|
static constexpr char doc[] = "Return body's next child of the same type; return NULL if child is last. If recurse is nonzero, also search the body's subtree.";
|
|
4879
|
-
using type = mjsElement * (mjsBody *, mjsElement *, int);
|
|
4912
|
+
using type = mjsElement * (const mjsBody *, const mjsElement *, int);
|
|
4880
4913
|
static constexpr auto param_names = std::make_tuple("body", "child", "recurse");
|
|
4881
4914
|
|
|
4882
4915
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4887,7 +4920,7 @@ struct mjs_nextChild {
|
|
|
4887
4920
|
struct mjs_firstElement {
|
|
4888
4921
|
static constexpr char name[] = "mjs_firstElement";
|
|
4889
4922
|
static constexpr char doc[] = "Return spec's first element of selected type.";
|
|
4890
|
-
using type = mjsElement * (mjSpec *, mjtObj);
|
|
4923
|
+
using type = mjsElement * (const mjSpec *, mjtObj);
|
|
4891
4924
|
static constexpr auto param_names = std::make_tuple("s", "type");
|
|
4892
4925
|
|
|
4893
4926
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4898,7 +4931,7 @@ struct mjs_firstElement {
|
|
|
4898
4931
|
struct mjs_nextElement {
|
|
4899
4932
|
static constexpr char name[] = "mjs_nextElement";
|
|
4900
4933
|
static constexpr char doc[] = "Return spec's next element; return NULL if element is last.";
|
|
4901
|
-
using type = mjsElement * (mjSpec *, mjsElement *);
|
|
4934
|
+
using type = mjsElement * (const mjSpec *, const mjsElement *);
|
|
4902
4935
|
static constexpr auto param_names = std::make_tuple("s", "element");
|
|
4903
4936
|
|
|
4904
4937
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4909,7 +4942,7 @@ struct mjs_nextElement {
|
|
|
4909
4942
|
struct mjs_getWrapTarget {
|
|
4910
4943
|
static constexpr char name[] = "mjs_getWrapTarget";
|
|
4911
4944
|
static constexpr char doc[] = "Get wrapped element in tendon path.";
|
|
4912
|
-
using type = mjsElement * (mjsWrap *);
|
|
4945
|
+
using type = mjsElement * (const mjsWrap *);
|
|
4913
4946
|
static constexpr auto param_names = std::make_tuple("wrap");
|
|
4914
4947
|
|
|
4915
4948
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4920,7 +4953,7 @@ struct mjs_getWrapTarget {
|
|
|
4920
4953
|
struct mjs_getWrapSideSite {
|
|
4921
4954
|
static constexpr char name[] = "mjs_getWrapSideSite";
|
|
4922
4955
|
static constexpr char doc[] = "Get wrapped element side site in tendon path if it has one, nullptr otherwise.";
|
|
4923
|
-
using type = mjsSite * (mjsWrap *);
|
|
4956
|
+
using type = mjsSite * (const mjsWrap *);
|
|
4924
4957
|
static constexpr auto param_names = std::make_tuple("wrap");
|
|
4925
4958
|
|
|
4926
4959
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4931,7 +4964,7 @@ struct mjs_getWrapSideSite {
|
|
|
4931
4964
|
struct mjs_getWrapDivisor {
|
|
4932
4965
|
static constexpr char name[] = "mjs_getWrapDivisor";
|
|
4933
4966
|
static constexpr char doc[] = "Get divisor of mjsWrap wrapping a puller.";
|
|
4934
|
-
using type = double (mjsWrap *);
|
|
4967
|
+
using type = double (const mjsWrap *);
|
|
4935
4968
|
static constexpr auto param_names = std::make_tuple("wrap");
|
|
4936
4969
|
|
|
4937
4970
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4942,7 +4975,7 @@ struct mjs_getWrapDivisor {
|
|
|
4942
4975
|
struct mjs_getWrapCoef {
|
|
4943
4976
|
static constexpr char name[] = "mjs_getWrapCoef";
|
|
4944
4977
|
static constexpr char doc[] = "Get coefficient of mjsWrap wrapping a joint.";
|
|
4945
|
-
using type = double (mjsWrap *);
|
|
4978
|
+
using type = double (const mjsWrap *);
|
|
4946
4979
|
static constexpr auto param_names = std::make_tuple("wrap");
|
|
4947
4980
|
|
|
4948
4981
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|
|
@@ -4997,7 +5030,7 @@ struct mjs_setStringVec {
|
|
|
4997
5030
|
struct mjs_setInStringVec {
|
|
4998
5031
|
static constexpr char name[] = "mjs_setInStringVec";
|
|
4999
5032
|
static constexpr char doc[] = "Set entry in string vector.";
|
|
5000
|
-
using type =
|
|
5033
|
+
using type = mjtBool (mjStringVec *, int, const char *);
|
|
5001
5034
|
static constexpr auto param_names = std::make_tuple("dest", "i", "text");
|
|
5002
5035
|
|
|
5003
5036
|
MUJOCO_ALWAYS_INLINE static type& GetFunc() {
|