Add a new plugin / extension mechanism called a resource provider along with retrofitting VFS on top of it.

A resource provider provides a mechanism for MuJoCo to read from filesystems other than the OS filesystem or the Virtual File System (VFS).

PiperOrigin-RevId: 525394983
Change-Id: I077ff5a7e2e76806b48b6defb531280aadc8b169
This commit is contained in:
Kyle Bayes
2023-04-19 03:01:33 -07:00
committed by Copybara-Service
parent b25728cc2e
commit fe3dccfd1d
27 changed files with 1467 additions and 607 deletions
+49
View File
@@ -3069,3 +3069,52 @@ mjp_getPluginAtSlot
Look up a plugin by the registered slot number that was returned by mjp_registerPlugin.
.. _mjp_defaultResourceProvider:
mjp_defaultResourceProvider
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. mujoco-include:: mjp_defaultResourceProvider
Set default resource provider definition.
.. _mjp_registerResourceProvider:
mjp_registerResourceProvider
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. mujoco-include:: mjp_registerResourceProvider
Globally register a resource provider in a thread-safe manner. The provider must have a prefix
that is not a sub-prefix or super-prefix of any current registered providers. This function
returns a slot number > 0 on success.
.. _mjp_resourceProviderCount:
mjp_resourceProviderCount
~~~~~~~~~~~~~~~~~~~~~~~~~
.. mujoco-include:: mjp_resourceProviderCount
Return the number of globally registered resource providers.
.. _mjp_getResourceProvider:
mjp_getResourceProvider
~~~~~~~~~~~~~~~~~~~~~~~
.. mujoco-include:: mjp_getResourceProvider
Return the resource provider with the prefix that matches against the resource name.
If no match, return NULL.
.. _mjp_getResourceProviderAtSlot:
mjp_getResourceProviderAtSlot
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. mujoco-include:: mjp_getResourceProviderAtSlot
Look up a resource provider by slot number returned by mjp_registerResourceProvider.
If invalid slot number, return NULL.