Alessio Quaglino
5d51b4cd5f
Check that element is a nullptr before casting.
...
The bug was caused by the fact that the `mjs_as*` functions would return a pointer to a `mjC*` object, even if the input `mjsElement` pointer was null. This would cause a segfault.
PiperOrigin-RevId: 651802736
Change-Id: Ibec00d269a4befadff8a68e0513fd381c7e38a2a
2024-07-12 09:46:16 -07:00
Yuval Tassa
e76f3ce1e3
Rename model to spec in xml_native_reader.cc.
...
PiperOrigin-RevId: 651780148
Change-Id: I476c79af4b47bf763f1f3cb166d3f0897554a207
2024-07-12 08:22:54 -07:00
Richard Levasseur
a0df72f43f
Raise memory limit so test passes with dynamic linking
...
The memory leak test fails with `RAW: mmap error: 12` when dynamic
linking is enabled. This is probabably because
of the additional memory overhead dynamic linking incurs. Raising it slightly
appears to satisfy the test.
Tested:
TAP --sample ran all affected tests and none failed
http://test/OCL:650692833:BASE:650634362:1720548680801:c55c6a68
PiperOrigin-RevId: 651750900
Change-Id: Ia63d153b326ff7451391789e2d7cae50a62be723
2024-07-12 06:10:37 -07:00
Nimrod Gileadi
84108589c4
Move the map lookup outside of the mesh processing loop. Change to unordered_map.
...
PiperOrigin-RevId: 651745837
Change-Id: Ibfcbe4b8cefa53a3dbaa99c4ca68442e2e10bc5d
2024-07-12 05:45:25 -07:00
Alessio Quaglino
6e64dd10e8
Fix bug in RemoveFromList.
...
The function was interpreting that the elements that were expected to be detached contained useful user errors, and therefore it was not detaching them. Also, the function tried to compare the namespace between two models, but the namespace is already fused in the references at detach time.
PiperOrigin-RevId: 651738364
Change-Id: Ifdaa9bd5b658bfd18b544b7138a5c2c56b66e936
2024-07-12 05:08:00 -07:00
Yuval Tassa
f1aa52aa9b
Never use more threads than meshes for multi-threaded compile.
...
PiperOrigin-RevId: 651728817
Change-Id: Ib607d528c25a10e2cdb8c2b0b0da2189683d2691
2024-07-12 04:18:35 -07:00
Kyle Bayes
9c9faa02d5
Add FilePath utility class for handling resource / file paths in MuJoCo user code.
...
PiperOrigin-RevId: 651716008
Change-Id: I250b8cec32aab538f5862f8a05f42d1fae698307
2024-07-12 03:21:21 -07:00
Alessio Quaglino
2f46dec669
Fix bug in frame saving. Fixes #1802
...
PiperOrigin-RevId: 651696068
Change-Id: Ie1e2e1de4e83c42f2b5ebcc3afd0540b9afe7bbd
2024-07-12 01:56:38 -07:00
Yuval Tassa
3d1d1d0718
Multithreaded mesh compilation.
...
PiperOrigin-RevId: 651358120
Change-Id: Id6272aac84ec6ac1b709d2f4a44b7593307bd158
2024-07-11 04:21:49 -07:00
Nimrod Gileadi
e7301edd20
Copy arena contents in mj_copyData.
...
Fixes #1710 .
PiperOrigin-RevId: 651351384
Change-Id: I56e3204b30bb18f48278117e85e90464177da973
2024-07-11 03:54:44 -07:00
Kyle Bayes
f9ab89b205
Refactor user cache to just support void pointers so user objects can be cached whole.
...
PiperOrigin-RevId: 651307384
Change-Id: I92c058a900727070235d00b6d2165c29fd12e7b0
2024-07-11 01:01:27 -07:00
Erik Frey
c145b79f6e
Using typing instead of collections.abc. Fixes #1763
...
PiperOrigin-RevId: 651186508
Change-Id: I844ec884b802837554b0b60f2414d6bc37f2da14
2024-07-10 16:21:00 -07:00
Alessio Quaglino
27b9ddda5b
Add attach tag to MJCF.
...
PiperOrigin-RevId: 651117953
Change-Id: I57b0e53ed44607d479b3785d908e0837c0804cf3
2024-07-10 12:41:43 -07:00
Copybara-Service
5b080bacc4
Merge pull request #1799 from JewelryForge:main
...
PiperOrigin-RevId: 651069985
Change-Id: I758e27e2f4bf19bba38d9e1189a41accae40d028
2024-07-10 10:29:22 -07:00
Copybara-Service
60afda949c
Merge pull request #1714 from abhihjoshi:tendons
...
PiperOrigin-RevId: 651048034
Change-Id: If5b7cb55ff0007c3c6f932e62f068d1168778a33
2024-07-10 09:26:54 -07:00
Alessio Quaglino
7f9f8b5429
Catch errors in attach during replicate.
...
PiperOrigin-RevId: 651041336
Change-Id: I59986e157b4e22c74f8b8493899cdd4a3d5df839
2024-07-10 09:04:37 -07:00
Chengrui Zhu
1a47860577
Add a xml test file whose mesh has a default class. user_api_test will have a segmentation fault before #1799 .
2024-07-10 23:10:22 +08:00
Yuval Tassa
b483ce608e
Use std::thread in compiler on all platforms.
...
PiperOrigin-RevId: 651005412
Change-Id: I8dfb142dc2d87ab0af79583f2df168c105b50138
2024-07-10 07:10:45 -07:00
Yuval Tassa
7e97caaafd
Add a test for lengthrange computation, with and without threading.
...
PiperOrigin-RevId: 650997405
Change-Id: I45c3725dacb6ccf17977953a9ffed717c927b786
2024-07-10 06:39:18 -07:00
Yuval Tassa
17f6b12930
Report model load time in simulate if it takes more than 0.5 seconds.
...
PiperOrigin-RevId: 650933302
Change-Id: Id33aa9935a6b4f493dfa9a913f8a424b3f387fa1
2024-07-10 02:56:47 -07:00
Chengrui Zhu
5bd13b4982
Copy all keys of def_map when copying a mjCModel. Fixes #1798
2024-07-10 16:40:36 +08:00
Alessio Quaglino
462cfa5ceb
Attach the tree of defaults recursively and with namespacing.
...
PiperOrigin-RevId: 650664018
Change-Id: I17751a02a406dcb2a2ca218c316b5eb0370071b8
2024-07-09 09:54:09 -07:00
Yuval Tassa
d0f86bc2c5
Correct API documentation of mjvSceneState. Fixes #1793
...
PiperOrigin-RevId: 650662466
Change-Id: Ie887a63ca9136bbc688db6a79036701b9516c1d6
2024-07-09 09:49:07 -07:00
Nimrod Gileadi
393895bb29
Explicitly specify actdim on PID plugin actuators, to allow them to be used with keyframes.
...
Support actdim attribute on plugin actuators.
Remove the actuator_actdim callback. This callback leads to crashes when loading keyframes for models that have a stateful plugin.
PiperOrigin-RevId: 650649505
Change-Id: I40d1994d02ae4e20ce631b2702a984766cf2628e
2024-07-09 09:08:48 -07:00
Alessio Quaglino
e0d33eb1d0
Remove mjCBase::def and use mjCBase::classname instead.
...
PiperOrigin-RevId: 650629741
Change-Id: I10a9955b99e4a5ff0b5a742e22635ccad1455f1a
2024-07-09 08:02:32 -07:00
Nimrod Gileadi
c5f958bdff
When reporting compilation errors, include warning strings.
...
This allows plugins to call mju_warning, and have the string propagate to users.
PiperOrigin-RevId: 650621601
Change-Id: I608e7a3a1ad126ab8da2ff0634fa708458fb9ccc
2024-07-09 07:33:11 -07:00
Kyle Bayes
450e7ff777
Move user_resource.c to C++.
...
PiperOrigin-RevId: 650592110
Change-Id: I5e043970e3aa722e3961e478334cad4f3f1c191e
2024-07-09 05:33:38 -07:00
Yuval Tassa
70f86617f8
Fix typos in documentation.
...
PiperOrigin-RevId: 650191926
Change-Id: I84d098782c6e4585a31e1de6bb1a7af3b3698f94
2024-07-08 03:49:12 -07:00
Alessio Quaglino
f57dc90669
Refactor Default class to use pointers instead of indices.
...
This in order to make it easier to append the default tree to another tree.
PiperOrigin-RevId: 649812975
Change-Id: I2915ac7e37957e45eadc24d6caaf7beea236bf29
2024-07-06 03:51:30 -07:00
Yuval Tassa
9d0812911c
Add a test for type attribute.
...
PiperOrigin-RevId: 649635359
Change-Id: Ibe5d9fcb5f14371e5f154d645b838a9d012331d5
2024-07-05 06:16:46 -07:00
Kyle Bayes
c6fd002f87
Move engine/engine_resource.{c,h} to user/user_resource.{c,h}.
...
PiperOrigin-RevId: 649628768
Change-Id: Id90c983cf70c0f92c3b033ac1b1654c53696955d
2024-07-05 05:41:55 -07:00
Abhishek Joshi
e734527e7b
Fixing formatting for USD scripts
2024-07-04 16:25:44 -05:00
Abhishek Joshi
fcb247e35b
Merge remote-tracking branch 'upstream/main' into tendons
2024-07-04 15:10:29 -05:00
Abhishek Joshi
c79ae6f242
fixing frame rate bug in demo file
2024-07-04 15:06:25 -05:00
Saran Tunyasuvunakool
d029e4ff99
Get rid of unnecessary return value policy specification.
...
PiperOrigin-RevId: 649437250
Change-Id: I61f8db0af526ebf667244124fcd4984881c6ef13
2024-07-04 09:45:22 -07:00
Yuval Tassa
47d25bc4ac
Add missing id attributes in Python bindings of mjsElements.
...
PiperOrigin-RevId: 649435098
Change-Id: I16383958c25cb8fdc16a107d5abef8626a675632
2024-07-04 09:32:33 -07:00
Kyle Bayes
57e6760ec9
Re-implement VFS internals in C++, removing the constraints of the previous implementation.
...
PiperOrigin-RevId: 649433087
Change-Id: Icaa3e6b7f2ef14f56b04fef2f4360b46d8b5f022
2024-07-04 09:22:23 -07:00
Yuval Tassa
118b6810b3
Make "id" a property rather than a method of mjsElements in Python bindings.
...
PiperOrigin-RevId: 649424035
Change-Id: I8226b3040aa2001ae9748399257e36ac263b7c8b
2024-07-04 08:35:37 -07:00
Kyle Bayes
f8b944bf7f
Fix missing fclose when resource is closed without being read. Fixes #1685 .
...
PiperOrigin-RevId: 649416747
Change-Id: I05eeb1071868116b6e5be76e26b465788e4d35b1
2024-07-04 08:07:34 -07:00
Alessio Quaglino
a5a3c9efc7
Discard all keyframes when attaching models.
...
PiperOrigin-RevId: 649415647
Change-Id: Ie2defe248df7078684d987351985cb66bd754e5b
2024-07-04 08:04:40 -07:00
Alessio Quaglino
a0945e4b5a
Add non-tree element lists to python bindings.
...
Fixes #1752 .
PiperOrigin-RevId: 649405039
Change-Id: Ie0b575a3ec912b773141694397ac2f394bff1227
2024-07-04 07:24:02 -07:00
Kyle Bayes
d831153401
Reorganize GJK support logic.
...
PiperOrigin-RevId: 649361144
Change-Id: I9868377cf36cccdcf66de3bc27afb872a164da8d
2024-07-04 03:48:52 -07:00
Abhishek Joshi
59303bb161
Fixing formatting for usd files and adding pylint configuration
2024-07-03 18:32:59 -05:00
Copybara-Service
4b733b14d7
Merge pull request #1770 from fanminshi:fix_mjx_import
...
PiperOrigin-RevId: 649199077
Change-Id: Ie1e404cfb0c33db077fa6299edc45645aaecd1cf
2024-07-03 14:27:00 -07:00
Yuval Tassa
ca44ad4f0f
Improve docstrings and layout in mjdata.h
...
PiperOrigin-RevId: 649195756
Change-Id: Iadf6589c226acacd9f3e85959de552a98fc7435a
2024-07-03 14:15:51 -07:00
Kyle Bayes
5cce67439b
Clean up user_util.
...
PiperOrigin-RevId: 649166858
Change-Id: I79423dda628fb4bf3ceae438dd8dc5b96d69d2a9
2024-07-03 12:38:36 -07:00
Kyle Bayes
2a4410e4e5
Fix bug with absolute meshdirs in included XML files. Fixes #1772 .
...
PiperOrigin-RevId: 649150979
Change-Id: I5df08c689afc4f5bc625e989a8c0b9733fcfa3c2
2024-07-03 11:49:17 -07:00
Alessio Quaglino
9107d3b507
Add mjs_findKeyframe.
...
PiperOrigin-RevId: 649036650
Change-Id: If514d5c333dd6084af9509324fd658c72576d7b5
2024-07-03 05:17:41 -07:00
Yuval Tassa
8f16b72f44
Rename mjSpec.euler to eulerseq to match MJCF.
...
PiperOrigin-RevId: 649007737
Change-Id: Iedb53c1d8a6e6a082a6ba30a1fb2bb4516839fa1
2024-07-03 03:10:02 -07:00
Tom Erez
df7ea3ed33
Add support for multiple textures in one material (mjModel).
...
PiperOrigin-RevId: 648732764
Change-Id: I29b60dd62a069789a32017ff0d55e36b57e0052b
2024-07-02 08:50:23 -07:00