Alessio Quaglino
d3dfa6f970
Add mjs_findElement() to find any element in a spec by name.
...
Also, remove mjs_findMesh() and mjs_findKeyframe().
PiperOrigin-RevId: 670978980
Change-Id: Id88b800eb8a4c5efc40866f72a4442bf1d1437d0
2024-09-04 08:24:22 -07:00
Alessio Quaglino
0e8c0b80eb
add content_type to model in the XML schema.
...
PiperOrigin-RevId: 670961443
Change-Id: I98cd6bb61b50029cdd4f5b31e23d268989d136da
2024-09-04 07:25:55 -07:00
Yuval Tassa
3437361bfb
Add reduced sparse dof-dof matrix structures to mjData.
...
PiperOrigin-RevId: 670919263
Change-Id: I3592de802ae84648d97230115c2e9c3437424968
2024-09-04 04:24:02 -07:00
Yuval Tassa
a1036b86d3
Allow connect constraints to be specified using sites.
...
PiperOrigin-RevId: 668925419
Change-Id: I10cb71e6706e617c830cd90d6d0836b94a5a8cfa
2024-08-29 07:10:51 -07:00
Alessio Quaglino
505d01a1c1
Add error handling to mj_recompile.
...
This CL adds error handling to the mj_recompile function. If the recompile fails, the function will return -1 and set the error message in the spec. The Python wrapper for mj_recompile will catch the error and raise a ValueError exception.
PiperOrigin-RevId: 666784579
Change-Id: I225eca1769ea839c782be3c03fc4ff1ea5885a48
2024-08-23 07:18:28 -07:00
Yuval Tassa
2efbd31762
Add mjSAMEFRAME_BODYROT and mjSAMEFRAME_INERTIAROT frame alignment shortcuts.
...
PiperOrigin-RevId: 666318799
Change-Id: I0af1824d2bd9eaca7b48a9e33e09f873dd33b22d
2024-08-22 06:08:25 -07:00
Yuval Tassa
8b03daa09b
Add mjtSameFrame enum to specify frame alignment of bodies with their children.
...
PiperOrigin-RevId: 666303674
Change-Id: I53dc56e1ca52afa280ae5abaf4158edc465fb1e0
2024-08-22 05:17:06 -07:00
Yuval Tassa
ad9cd7301e
Correctly apply frame transform to light direction.
...
PiperOrigin-RevId: 665340267
Change-Id: Ida16ddbf3a057ffd3e260b71180a45acbf749931
2024-08-20 06:48:11 -07:00
Yuval Tassa
5d91231d31
Rename mjBuffer to mjByteVec.
...
PiperOrigin-RevId: 664872558
Change-Id: I7b003374c390958667635fb21089faf2ece54b14
2024-08-19 10:40:26 -07:00
Yuval Tassa
4aab00fa2d
Minor cleanups to body and joint compilers.
...
PiperOrigin-RevId: 664824939
Change-Id: I6014ff10683849e2926f1b1c8df8b6862192cd00
2024-08-19 08:43:10 -07:00
Michael Ahn
9924d9ca89
Fixed incorrect mesh face circumradius calculation
...
- In 8e2f830 , this was changed from `mju_norm3` to `mjuu_normvec`, but the
latter will mutate its input to be normalized instead of just
returning the norm (the former was likely mistaken as `mju_normalize3`
which does mutate its input).
2024-08-15 20:53:57 -07:00
Alessio Quaglino
e0e134ca63
Add plugin tests for mjSpec.
...
Fixes #1903 .
PiperOrigin-RevId: 663352920
Change-Id: I3a9e17aec5694e49c20b542f4b0a4402f88a2f17
2024-08-15 10:19:53 -07:00
Alessio Quaglino
4b88e9bebf
Do not delete keyframes during mjs_detachBody.
...
PiperOrigin-RevId: 663281082
Change-Id: I6eedf8c5a3a422bcd78086f2fe30c2099f0b9d16
2024-08-15 06:10:43 -07:00
Yuval Tassa
d932faa1d4
Flip order of cases in user_objects.cc (readability)
...
PiperOrigin-RevId: 663040865
Change-Id: I27d06a6a769d5bfc41189d270021b4fc1d4b5932
2024-08-14 13:49:11 -07:00
Alessio Quaglino
4c64e6f036
Add mocap state to SaveState/RestoreState and attached keyframes.
...
PiperOrigin-RevId: 662975257
Change-Id: I3edb44f34426525813033902caf31db16ad7b2ab
2024-08-14 10:42:49 -07:00
Alessio Quaglino
5927b3d4d9
Add time to attached keyframes.
...
PiperOrigin-RevId: 662886533
Change-Id: If9118a226250d2e806d184c9715c7e6a1390fd95
2024-08-14 05:47:43 -07:00
Alessio Quaglino
7be4df7e03
Add ctrl to attached keyframes.
...
PiperOrigin-RevId: 662878508
Change-Id: Ie273fae0220c8b257766cbbd90a880d44b901725
2024-08-14 05:14:49 -07:00
Alessio Quaglino
afd7c73f44
Attach multiple keyframes.
...
Still missing: support for ctrl, mocap, and time.
PiperOrigin-RevId: 662871569
Change-Id: I8a418c4007663e3063d7146bd72db4eba78ddc5d
2024-08-14 04:42:54 -07:00
Alessio Quaglino
19aa68c2b2
Add keyframe support to attach.
...
Limitations:
- Supports attaching a single keyframe. If multiple keyframes are present in the child, only the first one will be attached.
- Does not support time, ctrl, mpos, mquat.
- If mjs_detachBody is used, all keyframes are removed.
PiperOrigin-RevId: 662517666
Change-Id: If6e3839471e1884afc14e1a75e7ce1957c2f3581
2024-08-13 08:00:01 -07:00
Kyle Bayes
39896f8064
Restructure mjCMesh for caching.
...
PiperOrigin-RevId: 662496475
Change-Id: I4c3a58a63ef2c3b1196b3e6b30eb556b5528ff7f
2024-08-13 06:40:36 -07:00
Saran Tunyasuvunakool
acab66d799
Remove superfluous break statements.
2024-08-13 10:46:35 +01:00
Alessio Quaglino
851bb6eef4
Add option to mjspec for creating a texture directly from a buffer.
...
PiperOrigin-RevId: 662186527
Change-Id: I469c876681d52964ac971c0bb2ec3517224d3a3d
2024-08-12 12:29:08 -07:00
Kyle Bayes
20cae556ee
Encapsulate BVH class members.
...
PiperOrigin-RevId: 662141171
Change-Id: Ica202d31dacc9cc500d0aeecded941b79002b9a1
2024-08-12 10:27:03 -07:00
Alessio Quaglino
648fd56ed1
Preserve time when recompiling a model.
...
Fixes #1890 .
PiperOrigin-RevId: 662084324
Change-Id: I6aed40761cee5044e63426935d102123db295b25
2024-08-12 08:00:36 -07:00
Yuval Tassa
d3a976e10d
Fix indent.
...
PiperOrigin-RevId: 662035313
Change-Id: I30ec124e8144b8130623daa6b0802a46de124aec
2024-08-12 04:23:48 -07:00
Yuval Tassa
d45d13e5ad
Remove uses of mjtNum-typed functions from user_objects.cc
...
PiperOrigin-RevId: 662026275
Change-Id: Idfb2b6ced6eac4b4b60079e219aac63fc1d00b89
2024-08-12 03:45:43 -07:00
Yuval Tassa
02ffaa8248
Yet another GCC-related fix.
...
PiperOrigin-RevId: 661595661
Change-Id: Ib66a0d891533be50451adc850d7350532fc39d67
2024-08-10 05:32:28 -07:00
Yuval Tassa
d72f01bad4
Add break statements in user_objects.cc to appease persnickety GCC
...
PiperOrigin-RevId: 661590599
Change-Id: I2d167ca92cc4d5230922d221c9267a2e8d018b40
2024-08-10 04:56:18 -07:00
Yuval Tassa
e397fcb5a5
Add return values to private mjJCJoint methods.
...
PiperOrigin-RevId: 661438758
Change-Id: I08a77eb878703610ead526040d86f3f3fccb080b
2024-08-09 16:09:17 -07:00
Taylor Howell
466368efc6
Add shellinertia support for primitives: sphere, capsule, cylinder, ellipsoid, and box.
...
PiperOrigin-RevId: 661407997
Change-Id: Icddac58c540c71ea26ac7a3be874788443bd1122
2024-08-09 14:40:13 -07:00
Alessio Quaglino
ec43ec7c30
Remove hard-coded nPOS and nVEL from mjCModel.
...
PiperOrigin-RevId: 661370196
Change-Id: Ib2c1876dfea55dbf496e2358000f24bbde29fc52
2024-08-09 12:53:55 -07:00
Taylor Howell
82c27165f2
mjQUICKSORT uses std::sort with C++.
...
fixes #1638
PiperOrigin-RevId: 660887790
Change-Id: Ia3b493feda98b246d963aa749bc81b96c42fddaa
2024-08-08 10:24:34 -07:00
Nimrod Gileadi
6a8e28f0e9
Prevent integer overflow when computing texture sizes and allocating memory for them.
...
Correctly check for failed allocations when resizing std::vector
PiperOrigin-RevId: 659488680
Change-Id: I7bf4c0b416e96eda2baec32b21be78456604f4b0
2024-08-05 02:58:46 -07:00
Nimrod Gileadi
ff5d339e48
GMSH loading: Check that std::stoi isn't out of range.
...
PiperOrigin-RevId: 659485119
Change-Id: I584ba33f87dbe3b87a8c4fb90feb8963106115da
2024-08-05 02:41:19 -07:00
Alessio Quaglino
b341bd391d
Fix a bug with mjs_delete functions.
...
PiperOrigin-RevId: 657615906
Change-Id: Ic70eaa9a5c20337db3897cf882a60e9d94f2869b
2024-07-30 09:13:57 -07:00
Copybara-Service
123a01bd83
Merge pull request #1833 from JewelryForge:main
...
PiperOrigin-RevId: 657249579
Change-Id: I11b9602ea685b22d0cc61add9e90e7a5c68559dd
2024-07-29 10:36:39 -07:00
Alessio Quaglino
3f0749a0f7
Do not remove elements that contain user errors when detaching a subtree.
...
PiperOrigin-RevId: 657190780
Change-Id: I073a437013f80596a341f7b80bed991536efeb43
2024-07-29 07:19:12 -07:00
Kyle Bayes
5ac5cfb618
Support directories in VFS via mj_addBufferVFS.
...
PiperOrigin-RevId: 655286683
Change-Id: I846376a0571d8df28d979beb5981a0cbccd7a04f
2024-07-23 13:39:18 -07:00
Kyle Bayes
2746cb8559
Support FilePaths instead of raw strings in XML code.
...
PiperOrigin-RevId: 655177026
Change-Id: I55b055551384b01ba7a4baa5d75fbe3329b7d25d
2024-07-23 08:36:53 -07:00
Tom Erez
33e5960653
Allow multiple textures per material in MJCF.
...
PiperOrigin-RevId: 654795013
Change-Id: I418b72533484d00accaf801a342aa183e602a2d0
2024-07-22 09:57:51 -07:00
Alessio Quaglino
e79efa60d6
Reset tree indices before recompiling.
...
Fixes #1822 .
PiperOrigin-RevId: 654762203
Change-Id: I7f656f7dad376d4899229a8741315c8f821bfa56
2024-07-22 08:30:29 -07:00
Chengrui Zhu
cdd8531290
Fix typos and indents.
2024-07-22 13:45:15 +08:00
Tom Erez
796173170c
Add support in mjModel for tagging textures with different roles, and use the slot index of a texture to designate its role.
...
PiperOrigin-RevId: 654030065
Change-Id: I34a5b132a7f91a6bb8f260500c1b9c128a03b596
2024-07-19 09:29:22 -07:00
Kyle Bayes
8a8a44a4db
Refactor numerical parsing in XML.
...
PiperOrigin-RevId: 653979240
Change-Id: I4d39f4041b88396193eb35f0cc393141d64f6fc0
2024-07-19 05:42:02 -07:00
Tom Erez
e92af73cbf
Add mjmodel support for textures with different number of channels.
...
PiperOrigin-RevId: 653974959
Change-Id: Ia280e0bdb21027646249f104f21bedee792ba7e5
2024-07-19 05:22:19 -07:00
Alessio Quaglino
c198a69bbf
Return null pointer from mjs_firstChild and mjs_firstElement when the requested list is empty.
...
Fixes #1824 .
PiperOrigin-RevId: 653758711
Change-Id: I6ede762cafd88dcbb0dfc9c2999b7aee24bd2e2a
2024-07-18 14:35:36 -07:00
Alessio Quaglino
231d9632cd
Avoid duplicated code in mjCModel by adding ResetTreeLists().
...
PiperOrigin-RevId: 653575505
Change-Id: I61ee1462deae2a371cf6f36ca1cf3dbbd88d174c
2024-07-18 05:08:18 -07:00
Alessio Quaglino
dd9dd295ba
Prevent uninitialized memory during a copy of joints and actuators.
...
PiperOrigin-RevId: 653340718
Change-Id: Icc5ada05abd590504c157311a309f9b8493feac9
2024-07-17 13:22:11 -07:00
Yuval Tassa
dd25973481
Remove unnecessary def_map copying.
...
Introduced in 5b080bacc4
Made obsolete by 27b9ddda5b
[Context](https://github.com/google-deepmind/mujoco/commit/27b9ddda5bdd12345abdfbc0a6efce121d40cd6c#r144157607 )
PiperOrigin-RevId: 653254345
Change-Id: Ie944d2c3924d3eb91f7743c0d0c8413cd2cd79cc
2024-07-17 09:10:31 -07:00
Alessio Quaglino
2664cc1391
Allow passing a null pointer in mj_recompile.
...
Fixes #1819 .
PiperOrigin-RevId: 653242587
Change-Id: I36dbd6ed54abdf21abeb62cf41ee88f159008d01
2024-07-17 08:29:01 -07:00