Copybara-Service
7690965d73
Merge pull request #769 from milutter:plugin_loading
...
PiperOrigin-RevId: 517231543
Change-Id: Ia3f0929650da235589e9434db84500b3d9f17df1
2023-03-16 14:40:25 -07:00
Yuval Tassa
d59a919ef6
Minor style fixes.
...
PiperOrigin-RevId: 517193740
Change-Id: I093e57efa1480e5d1d6053493b665e145f9b3f87
2023-03-16 12:24:06 -07:00
Saran Tunyasuvunakool
e20ab6c96f
Add a number of missing struct fields to Python bindings.
...
It is quite possible that there are a few other fields still missing since we currently do not yet have automated testing of struct field existence.
Fixes #747 .
PiperOrigin-RevId: 517189048
Change-Id: I7c1d95e700eaea05aaa3cde1fd05e1a259553117
2023-03-16 12:05:50 -07:00
Copybara-Service
a04c4314fd
Merge pull request #770 from jonas-eschmann:patch-1
...
PiperOrigin-RevId: 517174871
Change-Id: I9a52f6bc79777fb7d987eaf057185d9c0e87e477
2023-03-16 11:15:11 -07:00
Saran Tunyasuvunakool
81ba9ec54a
Fix a rare crash when running simulate on macOS.
...
The bug was introduced in 2f0fb1e4ef . The glfwSwapBuffers call should occur on the main UI thread, not the CoreVideo DisplayLink thread.
PiperOrigin-RevId: 517172202
Change-Id: I2491f2194765019748198cd0cc61ca9263331b01
2023-03-16 11:06:25 -07:00
Saran Tunyasuvunakool
230e2780de
Add viewer.launch_passive and a mjpython launcher for macOS.
...
The `launch_passive` function launches the GUI viewer in a non-blocking manner, allowing the Python script or REPL to continue execution. The viewer is automatically kept up to date with any subsequent modifications to mjModel and mjData.
Note that when run inside a REPL (including IPython), `launch_passive` is functionally identical to `launch_repl`.
On Linux and Windows, this is achieved by spawning a new thread and launching the GUI there.
On macOS, this is not possible as all Cocoa API calls must be made on the "macOS main thread", which is always the first thread launched in a process and carries the `com.apple.main-thread` dispatch queue. We also cannot simply trampoline from a Python script on the main thread into the user's script on a side thread because CPython's signal handler can only be installed on the "Python main thread". Putting the user's script in a side thread means that it cannot e.g. gracefully handle SIGINT by catching a KeyboardInterrupt exception. To work around this, we ship a custom Python launcher on macOS called `mjpython`. This launcher is a native binary that spawns a pthread and initialize the Python interpreter on that thread, thus allowing "Python main thread" and "macOS main thread" to represent two distinct threads. From Python's point of view, the "macOS main thread" is a secondary thread that runs a loop that continuously empties a Queue of (mjModel, mjData) and launches a viewer.
PiperOrigin-RevId: 517167868
Change-Id: Icac9d2126bbb4760d47e0b9300e0a979cffa4338
2023-03-16 10:53:11 -07:00
Yuval Tassa
9a97674e1e
Break up engine_derivative.c into analytical and finite-differencing functions (moved to engine_derivative_fd.c)
...
PiperOrigin-RevId: 517165392
Change-Id: I649f5521364877d36d7564bb650a889298f0c8a1
2023-03-16 10:45:15 -07:00
Yuval Tassa
1731baa925
Add links to all attributes in XMLreference.rst
...
PiperOrigin-RevId: 517158584
Change-Id: Ia50a2840049e1c5c24eb2f571483d65537276296
2023-03-16 10:22:53 -07:00
Yuval Tassa
448ab1a299
More consistent formatting of mjdata.h
...
PiperOrigin-RevId: 517142236
Change-Id: I3ee93e10b843cb3f3a73a6a19e6b96f23be05cc3
2023-03-16 09:23:53 -07:00
mlutter
5215992d55
review comments
2023-03-15 20:51:47 -04:00
Yuval Tassa
8c7f6ce5a0
New implicitfast integrator and sparse RNE derivatives for implicit.
...
PiperOrigin-RevId: 516910733
Change-Id: I29a0465c0f0b1749a73e3d7e01925200d025ddd0
2023-03-15 13:17:41 -07:00
jonas-eschmann
1fa538a43b
Fixing typo in the documentation
2023-03-15 16:10:50 -04:00
Kyle Bayes
056e849273
Provide improved mju_sqrMatTDSparse implementation that doesn't require dense memory allocation for sparse matrices.
...
PiperOrigin-RevId: 516812783
Change-Id: Ieb43337831d8d3b2c7f18a7facd8e0a0f2b0eff5
2023-03-15 06:56:16 -07:00
mlutter
3cb0121474
fix typo
2023-03-14 14:28:31 -04:00
milutter
53ab95c792
Ensure that loaded plugins are a shared library
2023-03-14 14:21:16 -04:00
Yuval Tassa
fe18e58ad2
Rendering of mjGEOM_LINE respects size[0] (width argument of mjv_makeconnector), denominated in pixels.
...
- Before this change, line width was hardcoded to 3 pixels and the width argument of mjv_makeConnector was ignored.
- After this change, the width argument is respected and interpreted in units of pixel. The non-standard width unit is ok since lines can only be drawn programmatically.
PiperOrigin-RevId: 516529265
Change-Id: I27bffabba69cde415d2ada67263a887c9240efbf
2023-03-14 08:17:36 -07:00
Yuval Tassa
972770ba55
Improve order of sections in APIfunctions.rst
...
PiperOrigin-RevId: 516518339
Change-Id: I84e973e6f9034a5d24f20791c13b3880fedde46c
2023-03-14 07:26:29 -07:00
Saran Tunyasuvunakool
b6080108c3
Ignore -Wdeprecated-declarations for NSOpenGLContext.
...
PiperOrigin-RevId: 516500366
Change-Id: I39d974626e51627c767c52a7f90135963fdeb1c2
2023-03-14 05:53:35 -07:00
Saran Tunyasuvunakool
2f0fb1e4ef
Workaround for broken VSync in Simulate on macOS.
...
OpenGL VSync became broken again in macOS 13 (https://github.com/glfw/glfw/issues/2249 ). This workaround is similar to https://github.com/glfw/glfw/pull/2277 but is implemented entirely outside of GLFW.
PiperOrigin-RevId: 516320722
Change-Id: Ib8a651a942f592c74e00ad3c7b22f2dfd156be5f
2023-03-13 14:19:17 -07:00
Alessio Quaglino
3abf2ae2cd
Increase maximum number of geoms in simulate from 5000 to 20,000.
...
PiperOrigin-RevId: 516246198
Change-Id: I8a07a075b370ad0c212db8ed68b3d61389eba197
2023-03-13 10:16:12 -07:00
Yuval Tassa
c16d4d0d25
Move mjtByte definition from mjmodel.h to mjtnum.h.
...
PiperOrigin-RevId: 516193927
Change-Id: Idbba21119ef2f7da3ab6f6f21611a757658aad23
2023-03-13 06:38:46 -07:00
Yuval Tassa
b4d29abfc1
Add table of contents to API Functions documentation page.
...
PiperOrigin-RevId: 516191825
Change-Id: I792aa72e748443a3f422d0b6cf65a2803f3ec012
2023-03-13 06:26:52 -07:00
Alessio Quaglino
ae2c530d8b
Tighter axis-aligned bounding box for meshes.
...
PiperOrigin-RevId: 516166936
Change-Id: Ie99217f8894bdd4bb093900fc0df9d4a1e5030d3
2023-03-13 03:54:33 -07:00
Yuval Tassa
2f03da740a
Fix typos.
...
PiperOrigin-RevId: 516135725
Change-Id: I094f6af5d3ef8dd6a93430c09c61f29c23f55e02
2023-03-13 01:01:45 -07:00
Yuval Tassa
c57a588ab5
Re-organise API data structure documentation.
...
PiperOrigin-RevId: 515515875
Change-Id: I743a0409eb9b867249a90d5c1cb4d77bacade4dc
2023-03-09 20:24:32 -08:00
Kyle Bayes
d3d789cf7d
Convert mju_error and mju_warning to variadic functions, supporting printf-like arguments. The functions mju_error_i, mju_error_s, mju_warning_i, and mju_warning_s are now deprecated.
...
PiperOrigin-RevId: 515431052
Change-Id: I440de0cb417ce216b6d636a5d86dc9ef6cc1fc06
2023-03-09 13:51:27 -08:00
Yuval Tassa
2e6a37e8c5
Changelog: Move the image under the "Simulate" heading.
...
PiperOrigin-RevId: 514666433
Change-Id: Ief3f10260fb071412fdd0d4b481fb10ee99b71ff
2023-03-07 02:09:16 -08:00
Nimrod Gileadi
ac78f8aee9
Update CMake dependencies to latest versions.
...
Upgrade abseil and pybind11.
PiperOrigin-RevId: 514397331
Change-Id: I4a35dc9f3b9dcc79bdd13016a5326f72cd3fc67f
2023-03-06 07:12:22 -08:00
Copybara-Service
93b4d4981d
Merge pull request #758 from PeterMitrano:main
...
PiperOrigin-RevId: 514385239
Change-Id: Ie85f355f1bdcd0b81ff228b71685e37552f679ea
2023-03-06 06:38:00 -08:00
Kevin Zakka
bddc4b88b2
Fix comment typos.
...
PiperOrigin-RevId: 514360878
Change-Id: If119beec09d7eae568d8f6d8e3fa150ec7de88b6
2023-03-06 06:37:42 -08:00
Kevin Zakka
ed52b4084e
Add missing affine gaintype to XMLreference.
...
PiperOrigin-RevId: 514359011
Change-Id: I96668ed20dbb20b4d2b60a08eb71286bdfe5fe37
2023-03-06 06:37:26 -08:00
Yuval Tassa
367c254f54
Remove .cc suffix from sample code titles.
...
PiperOrigin-RevId: 514342526
Change-Id: I4484b70e1c4da7dc98e362cfef16195224d0c65e
2023-03-06 06:37:10 -08:00
Kyle Bayes
49dd6b4193
Clean up mj_id2name and mj_name2id.
...
PiperOrigin-RevId: 514340647
Change-Id: Idf895b2d7a4a8833725afbe5c71c777081b42d9e
2023-03-06 06:36:48 -08:00
Peter Mitrano
fa4c55a21a
found another potential typo
2023-03-06 02:09:35 +00:00
Peter Mitrano
277be19c5c
fix potential typo
2023-03-06 02:06:56 +00:00
Yuval Tassa
222ee00a66
Break out passive force functions into a new file engine_passive.c
...
PiperOrigin-RevId: 513834952
Change-Id: I5347440f24d767a7dc81a34e48e1e17d8c10173f
2023-03-03 08:32:16 -08:00
Yuval Tassa
fd1070cf03
Delete remaining code related to now-removed distance equality constraint.
...
PiperOrigin-RevId: 513391064
Change-Id: I47fc344708a580c1e99bd2753113aaa408812966
2023-03-01 17:57:54 -08:00
Kyle Bayes
50bebcb4ee
Precount number of non-zeros for constraint Jacobian sparse matrix.
...
PiperOrigin-RevId: 512947632
Change-Id: I9605e81b4e51fbc90854c13153e4fee38ad48fb9
2023-02-28 08:57:56 -08:00
Kyle Bayes
90b5dd14ca
Fix issue where mj_addConstraint was writing values into efc_J_rowadr and efc_J_rownnz that are not needed.
...
PiperOrigin-RevId: 512919818
Change-Id: I8ee7443a2bf2265934899673f8943a83cdd4ef69
2023-02-28 06:47:56 -08:00
Alessio Quaglino
f2413a5d55
Remove overwriting of particle geoms as spheres that was restored by mistake in commit d0b1a97.
...
PiperOrigin-RevId: 512597403
Change-Id: Ifa29ccc405d1c98ffadf65b2cefa164067f95220
2023-02-27 05:09:39 -08:00
Alessio Quaglino
7e5419f806
Remove trailing spaces in printArray, printArrayInt, printVector, and printSparse.
...
PiperOrigin-RevId: 512596881
Change-Id: Icfa955628b9a2955df73093b6c8df7751260adfb
2023-02-27 05:06:33 -08:00
Copybara-Service
2729f9fcf8
Merge pull request #740 from hyarion:fix/unity-fluidshape
...
PiperOrigin-RevId: 511791324
Change-Id: I28e98e55efe43ba053b803838082646289e4f09e
2023-02-23 08:19:20 -08:00
Yuval Tassa
cadab1f438
Make the word extent more clearly visible in documentation of zfar and znear.
...
Fixes #746 .
PiperOrigin-RevId: 511719937
Change-Id: If697e2dd4992dfa3f345ae4caa25bd67d015a91b
2023-02-23 01:33:27 -08:00
Benjamin Nauck
42c3faa462
Add support for fluid coefficients to Unity plugin
2023-02-20 18:46:16 +01:00
Yuval Tassa
7e7cb177a4
Cosmetic changes.
...
PiperOrigin-RevId: 511008317
Change-Id: Id8d7cd4f4e22e0658857d16b47d51053f1477bb9
2023-02-20 09:23:32 -08:00
Yuval Tassa
7542c90cd2
Improved behaviour of mouse-spring interactions.
...
Also:
- Renamed recently introduced `mjvPerturb` member `reflocalpos` -> `refselpos` and corrected docstring.
- Added `mjvPerturb.localmass`: body spatial inertia at selection point.
- Removed `const` qualifier to `mjData` argument of `mjv_initPerturb()`, to facilitate spatial inertia computation.
- Improved `mj_Object{Velocity, Acceleration}` docstrings, clarifying that rotational velocities precede linear velocities.
- Removed redundant const qualifiers from non pointer arguments to `mju_dot` and `mju_writeNumBytes`.
PiperOrigin-RevId: 511002168
Change-Id: I27400f497947f330072d4abb7c9bf7e71e6c5d49
2023-02-20 08:40:33 -08:00
Alessio Quaglino
9756ed0d80
Read normals and textures from OBJ, do not duplicate vertices.
...
PiperOrigin-RevId: 510461549
Change-Id: I19245d691e722a8371e61153383f275f599353d6
2023-02-17 10:15:25 -08:00
Yuval Tassa
35967a30d9
Fix order of API function sections, add missing Plugins section.
...
PiperOrigin-RevId: 510442237
Change-Id: I1fd4e309f33f45247eac84233745bfa35b5d796f
2023-02-17 08:50:25 -08:00
Kyle Bayes
090c25988a
Split API reference pages into Data Structures and Functions pages.
...
PiperOrigin-RevId: 510422950
Change-Id: I6b2eebab0c0020b80fec83094aa65c6a412e277e
2023-02-17 07:06:20 -08:00
Yuval Tassa
2607e67f8d
Add contact labels showing which geom pairs are in contact.
...
PiperOrigin-RevId: 510422404
Change-Id: Ia73570098752e7c7175e4b5a5f2a0f8b08a6c006
2023-02-17 07:03:19 -08:00