Kyle Bayes
5ac5cfb618
Support directories in VFS via mj_addBufferVFS.
...
PiperOrigin-RevId: 655286683
Change-Id: I846376a0571d8df28d979beb5981a0cbccd7a04f
2024-07-23 13:39:18 -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
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
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
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
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
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
Alessio Quaglino
f6cc3f4091
Remove classname from mjs* structs.
...
PiperOrigin-RevId: 647277317
Change-Id: Ic3cb0d3bf890d6be2712c0538e21910a8f12ab44
2024-06-27 05:13:02 -07:00
Alessio Quaglino
6be4e0697e
Simplify mjs_addDefault.
...
PiperOrigin-RevId: 646534046
Change-Id: I658224e4800849231e68ed02d8fad07b8d796231
2024-06-25 10:51:57 -07:00
Alessio Quaglino
7bd7065e0e
Renamed mjs_fullInertia to mjuu_fullInertia and moved it to user_util.
...
PiperOrigin-RevId: 644769379
Change-Id: I83511eeb4c0972ce9f46f0e3443d438cccdd4d9f
2024-06-19 09:39:02 -07:00
Yuval Tassa
8e2f830fd2
Fix type errors in compiler and tests.
...
In preparation for a float32 build of MuJoCo.
PiperOrigin-RevId: 644407674
Change-Id: I60069f0f865ef89fbf613f5a2ca0c336cc63461e
2024-06-18 09:12:44 -07:00
Tom Erez
739512a0e4
Fix comment typos.
...
PiperOrigin-RevId: 643762423
Change-Id: I98289ed4053e635b863b029f239b14a232e505e3
2024-06-16 05:54:33 -07:00
Alessio Quaglino
7a06bcfdaf
Make model editing API public, fixes #364
...
Still missing:
- Detailed documentation.
- Python bindings.
PiperOrigin-RevId: 641445626
Change-Id: I20e67b707cf1bebae7e0cc94d17f7b76a89171f0
2024-06-07 22:28:01 -07:00
Baruch Tabanpour
ace0c8f0a3
Add maxhullvert.
...
PiperOrigin-RevId: 641092710
Change-Id: Ib4fa828a9c82531614f0a67de9990340dbb25406
2024-06-06 19:05:16 -07:00
Alessio Quaglino
ba8a2d4c8a
Dynamic model editing.
...
PiperOrigin-RevId: 640838852
Change-Id: I559b1d60f2a3a2d866788d4006be31757454c619
2024-06-06 03:30:59 -07:00
Alessio Quaglino
14a3ce5ffa
Add tree traversal utilities to C API.
...
PiperOrigin-RevId: 639285787
Change-Id: Ieb52da87fb5e1c674985f03c9ff2b18783d1d657
2024-06-01 01:28:13 -07:00
Alessio Quaglino
b38998eff2
Replace mjs_deleteBody with mjs_delete.
...
PiperOrigin-RevId: 639058333
Change-Id: I9ac9ca8c6b8c0219f0130cd65dc83602f1829684
2024-05-31 09:24:59 -07:00
Kyle Bayes
e885a3dc3d
Make default class members private.
...
PiperOrigin-RevId: 634288934
Change-Id: I1b7a5ec8dd51c65377b09bcb85c56a849573cac7
2024-05-16 03:22:31 -07:00
Kyle Bayes
13bf9ae6bd
Encapsulate mjCModel internal lists.
...
PiperOrigin-RevId: 631760335
Change-Id: I9b67f6ed2e65a01877de15a92a04a1b31a6b3ff4
2024-05-08 05:02:21 -07:00
Alessio Quaglino
96844db926
Update BVH during fusestatic. Fixes #1069 and #1577 .
...
PiperOrigin-RevId: 631748750
Change-Id: I4e1ae01207568c90fc49bcd7d9f760f5187f1afa
2024-05-08 04:13:16 -07:00
Alessio Quaglino
259d3876ce
Remove C-style vectors from user_mesh.
...
PiperOrigin-RevId: 630031676
Change-Id: I87cba3eb816095657acd886037af2c0f06fe4fdd
2024-05-02 05:27:29 -07:00
Alessio Quaglino
26f23066d1
Add replicate element to MJCF. Fixes #553
...
PiperOrigin-RevId: 629393578
Change-Id: Ia1db1b9e47eba8868117b0f7b85edcd0cc1b6d79
2024-04-30 06:29:18 -07:00
Alessio Quaglino
618d879904
Make BVH generation robust to very small perturbations.
...
PiperOrigin-RevId: 629070367
Change-Id: I62b91a572cd59a51ed85e4e97aea53fdb2da1986
2024-04-29 08:06:32 -07:00
Yuval Tassa
f457789de1
Improve full inertia user API.
...
PiperOrigin-RevId: 627399310
Change-Id: Ie2bdc6778e80b2b8127b52c73a3cc4b4755d8e0a
2024-04-23 08:40:01 -07:00
Alessio Quaglino
cc78db41f4
Add mjs_detachBody to C API.
...
PiperOrigin-RevId: 626947850
Change-Id: I7c897048098ecd4f2247725ef2d378dbd00ef4a0
2024-04-22 01:11:13 -07:00
Alessio Quaglino
c331d18a6e
Support nested frames in mjs_attachFrame.
...
PiperOrigin-RevId: 626001651
Change-Id: I3dc52baa6aad875504dd4c7d969a4091f52c4c16
2024-04-18 05:37:12 -07:00
Alessio Quaglino
81feadad5c
Add mjs_attachFrame to user_api.
...
PiperOrigin-RevId: 625648309
Change-Id: I4d6dfc4d38ad6ce688df83eb7cc2c34676076193
2024-04-17 05:25:16 -07:00
Alessio Quaglino
961124ab0b
Changed semantics of mjCBody::operator+=
...
PiperOrigin-RevId: 625318655
Change-Id: I0b722bf22125bb0dfb886661e7de5c1638bbe1f9
2024-04-16 07:07:31 -07:00
Yuval Tassa
7b3f1a0261
Add mjModel.mesh_scale: scaling applied to asset vertices.
...
PiperOrigin-RevId: 625083195
Change-Id: I36290282379e57ad23ec771d65d1bd6bf2a75b07
2024-04-15 14:26:06 -07:00
Alessio Quaglino
70f00b05a1
Allow attaching a model to itself.
...
PiperOrigin-RevId: 623806812
Change-Id: I9b0e36308be754e838790ead8ec717953e4b2350
2024-04-11 06:28:48 -07:00
Alessio Quaglino
dfe2b75378
Convert mjElement to struct rather than opaque pointer.
...
By making mjElement the parent of mjCBase, mjCModel, and mjCDef, this CL enables safer casting using static_cast instead of reinterpret_cast and C-style casting.
PiperOrigin-RevId: 619526291
Change-Id: Ifa2b4bd3ecd95bade61f41a7005c62212f456c00
2024-03-27 07:37:49 -07:00
Yuval Tassa
4d2aa46e56
Rename mjmDefault -> mjsDefault
...
PiperOrigin-RevId: 619180662
Change-Id: Id7cedf82fbb022f08accc7c9a547495ed8eecba0
2024-03-26 07:20:03 -07:00
Alessio Quaglino
357ff8bbdc
Remove mjCAlternative and user_objects dependency from xml_urdf.
...
PiperOrigin-RevId: 618832482
Change-Id: I626bb956cd3eb35317811b9b577cc7db128262ea
2024-03-25 07:21:03 -07:00
Yuval Tassa
4660a297d1
rename mjspec api structs and functions mjm -> mjs
...
PiperOrigin-RevId: 618017976
Change-Id: I5f790167e5ca670f8d5f92e8e1c920db8d236144
2024-03-21 18:04:50 -07:00
Alessio Quaglino
c3fb8e7f35
Do not attach elements not referenced in the subtree.
...
PiperOrigin-RevId: 617849280
Change-Id: I391fe7c00f67d020d7394ddd31219d727b2eaa94
2024-03-21 08:22:03 -07:00
Alessio Quaglino
cc85a38f3c
Add mjm_attachBody to the C API.
...
PiperOrigin-RevId: 617207000
Change-Id: I1fe59ba0d79938a4a383b115997c31dd6c71b8e5
2024-03-19 10:01:00 -07:00
Alessio Quaglino
372aa021d0
Add copy constructor and assignment to mjCModel.
...
PiperOrigin-RevId: 616850780
Change-Id: I7fedab2efa2a90fd7ce952eac4e195f77c5ff5bc
2024-03-18 09:25:27 -07:00
Nimrod Gileadi
de918a8b2d
Small cosmetic fixes to MakeBVH.
...
Remove the index member of BVElement, since it's redundant for the purpose of sorting. BVElement is now 32 bytes instead of 40, which should make things a bit better, as this data gets moved around during MakeBVH. Unfortunately, this has no measurable effect on the benchmark.
PiperOrigin-RevId: 616806520
Change-Id: I3b8a28c42a4a21dc25985e63ac57764fdb669afa
2024-03-18 06:19:33 -07:00
Kyle Bayes
74d3d8cb4e
Cache OBJ files in MuJoCo compiler.
...
PiperOrigin-RevId: 616211896
Change-Id: I3b765f4529957914e6154f0e62ef36fd9df93c96
2024-03-15 12:32:06 -07:00
Nimrod Gileadi
c5aa22b177
Speed up MakeBVH.
...
1. Avoid creating unnecessary temporary vectors for the left and right sides of the recursive call, since std::nth_element already splits the array in the right way.
2. Filter contype and conaffinity before calling MakeBVH. This only affects the top level of the MakeBVH recursion.
3. Avoid repeatedly computing mju_rotVecQuat for each element at each nesting level.
This is roughly a 2x speedup.
PiperOrigin-RevId: 616152673
Change-Id: I6ce7d99cd4a923c43156beb3f2493c649602260e
2024-03-15 09:24:40 -07:00
Alessio Quaglino
bda03af49a
Add childclass support to frames.
...
PiperOrigin-RevId: 615487831
Change-Id: I0e4d2efd52211701b4286a0b0de84424470a3a47
2024-03-13 11:31:22 -07:00
Alessio Quaglino
693e3c66c8
Add copy constructors and assignments to user_objects.
...
All of the constructors and assignments operators are declared by this CL, but only those that are currently used are implemented here.
PiperOrigin-RevId: 615369559
Change-Id: I9f8cc4a7cd2070362baba04f2af4c5567a696596
2024-03-13 04:50:05 -07:00
Alessio Quaglino
c418139fec
Add copy constructor to mjCBody.
...
PiperOrigin-RevId: 615050891
Change-Id: I420e19a0444e93e5ec99da10f5cc20b429802d3e
2024-03-12 08:33:35 -07:00
Alessio Quaglino
93cbdaee07
Move mjC objects attributes to parent classes in user_objects.
...
This is in preparation of adding copy constructors for all of the objects.
PiperOrigin-RevId: 615014168
Change-Id: I24801d71d74dd6756167a6c438f9573825a396b5
2024-03-12 06:06:51 -07:00
Alessio Quaglino
8413a615d7
Add copy constructors to body subelements.
...
PiperOrigin-RevId: 614665384
Change-Id: I1ad2b644cf9816fb9490b5634c16e95f360a8684
2024-03-11 08:00:10 -07:00
Alessio Quaglino
9ac048e262
Add recompilation test to user_api_test.
...
PiperOrigin-RevId: 613192683
Change-Id: Ibb44e1c2d63ac0afb7b5f3a15dff26378deb6c82
2024-03-06 06:27:28 -08:00
Alessio Quaglino
c6a41fbfe6
Copy default spec before assigning defaults.
...
PiperOrigin-RevId: 609766747
Change-Id: I79ebff62928ac2ffa5133020ee8bd001b68cdcd3
2024-02-23 10:24:13 -08:00
Alessio Quaglino
c248beb7e2
Remove name and classname from mjmWrap.
...
PiperOrigin-RevId: 609563968
Change-Id: Ic69b95412ec5914fb5a8dcd134c7e6e733bc05b0
2024-02-22 18:14:33 -08:00
Alessio Quaglino
0ae9ba37f9
Replace PointToLocal with operator overload in mjCDef.
...
PiperOrigin-RevId: 609376948
Change-Id: Id69909d06ab48824a9cbe0d5a305e8f8b72a193d
2024-02-22 08:12:52 -08:00
Alessio Quaglino
78dc5aee9f
Remove mjCPlugin from xml_native_reader.
...
PiperOrigin-RevId: 608546883
Change-Id: Ib529c2756102e4e2185d1d8e9585187c30049011
2024-02-20 03:46:42 -08:00