Alessio Quaglino
e973dc74dd
Yield ownership of char[], vector<string>, and vector<byte> to mjSpec in Python bindings.
...
PiperOrigin-RevId: 681522091
Change-Id: Icb3788d9ef6e914a307531e39ad8171c24f590af
2024-10-02 11:14:48 -07:00
Alessio Quaglino
89aea5e217
Add body.find_all() to Python bindings.
...
This enables to generate a list of all body children of a given type.
Also, add recursive option to mjs_firstChild and mjs_nextChild. Fixes #2112 .
PiperOrigin-RevId: 681039348
Change-Id: Iebbb26fd5ec314150206edfdddd88633baa0bec6
2024-10-01 08:57:25 -07:00
Alessio Quaglino
8a825e6050
Add auto-generated tree element lists to Python bindings.
...
PiperOrigin-RevId: 680973047
Change-Id: I948151260cba330c6b7218cecf13aae2c7ae92c7
2024-10-01 05:23:03 -07:00
Alessio Quaglino
6a415da267
Make from_file() and from_string() classmethod functions.
...
This prevents the user from modifying an mjSpec and then calling the functions to load it from string/file.
PiperOrigin-RevId: 679311284
Change-Id: I4f1ae3cc8f15bece245f624303470d538deec410
2024-09-26 15:16:10 -07:00
Alessio Quaglino
5bca7876c4
Update spec.from_string() and spec.from_file() to match the respective mjModel functions.
...
PiperOrigin-RevId: 678230403
Change-Id: I7f3d8c5fd44d30b5695eee1f8513cc27f4158d94
2024-09-24 06:57:20 -07:00
Alessio Quaglino
b5bcc91a03
Add bindings generation for mjOption, mjVisual, and mjStatistic.
...
Fixes #2076 .
PiperOrigin-RevId: 677789263
Change-Id: Ie1bda40af62c5ac9bbba541668a50adfc59d3f7c
2024-09-23 07:43:09 -07:00
Alessio Quaglino
0ba11b9623
Add plugins list to mjSpec Python API.
...
Fixes #2061 .
PiperOrigin-RevId: 677762985
Change-Id: I8e407373e7b505d9b0f1c023e97c5ea92169bbf6
2024-09-23 06:13:42 -07:00
Taylor Howell
6c7e1095c5
Add mjsPlugin and mjsOrientation related keyword argument support for mjSpec Python bindings.
...
PiperOrigin-RevId: 676412967
Change-Id: I8cc1bfcc443327fde33246981400b375f8d4ff3d
2024-09-19 07:55:31 -07:00
Taylor Howell
bfda9f4ace
Add optional kwarg inputs to mjSpec Python bindings for mjSpec add constructors.
...
PiperOrigin-RevId: 675929024
Change-Id: Idd8c584276d8f585b79585230f5167f79760eaef
2024-09-18 04:02:10 -07:00
Taylor Howell
b0c7101f1c
Add optional kwarg inputs to mjSpec Python bindings for mjsBody add constructors.
...
PiperOrigin-RevId: 675141078
Change-Id: I8d735ae7d0a018ce7cd1aca56c899d1455586015
2024-09-16 07:32:55 -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
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
b341bd391d
Fix a bug with mjs_delete functions.
...
PiperOrigin-RevId: 657615906
Change-Id: Ic70eaa9a5c20337db3897cf882a60e9d94f2869b
2024-07-30 09:13:57 -07:00
Alessio Quaglino
70ac76bb4b
Add assets to MjSpec.compile()
...
PiperOrigin-RevId: 653965318
Change-Id: Ib9ec1c70a7241f7ee547b799a08cc58e7d4bace7
2024-07-19 04:34:38 -07:00
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
9d0812911c
Add a test for type attribute.
...
PiperOrigin-RevId: 649635359
Change-Id: Ibe5d9fcb5f14371e5f154d645b838a9d012331d5
2024-07-05 06:16:46 -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
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
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
Alessio Quaglino
9106f40e2b
Add mjSpec bindings.
...
Co-authored-by: Saran Tunyasuvunakool <stunya@google.com >
PiperOrigin-RevId: 648444641
Change-Id: I08ee1d3f4fae1efbc7934ba94702b1c06d8cb92a
2024-07-01 12:05:50 -07:00