Expose minimal asset cache API.
PiperOrigin-RevId: 803126923 Change-Id: Iabf63802572f7cb86864b5ece85f44b3f15a4ec0
This commit is contained in:
committed by
Copybara-Service
parent
02a535b44f
commit
ea660f4c13
@@ -1289,6 +1289,12 @@ Add file to VFS. The directory argument is optional and can be NULL or empty. Re
|
||||
|
||||
*Nullable:* ``directory``
|
||||
|
||||
|
||||
.. Assetcache:
|
||||
|
||||
The asset cache is a mechanism for caching assets (e.g. textures, meshes, etc.) to avoid repeated slow recompilation.
|
||||
The following methods provide way to control the capacity of the cache or to disable it altogether.
|
||||
|
||||
.. _mj_addBufferVFS:
|
||||
|
||||
`mj_addBufferVFS <#mj_addBufferVFS>`__
|
||||
|
||||
@@ -25,6 +25,12 @@ Add file to VFS. The directory argument is optional and can be NULL or empty. Re
|
||||
|
||||
*Nullable:* ``directory``
|
||||
|
||||
|
||||
.. Assetcache:
|
||||
|
||||
The asset cache is a mechanism for caching assets (e.g. textures, meshes, etc.) to avoid repeated slow recompilation.
|
||||
The following methods provide way to control the capacity of the cache or to disable it altogether.
|
||||
|
||||
.. _Parseandcompile:
|
||||
|
||||
The key function here is :ref:`mj_loadXML`. It invokes the built-in parser and compiler, and either returns a pointer to
|
||||
|
||||
@@ -789,6 +789,10 @@ struct mjLROpt_ { // options for mj_setLengthRange()
|
||||
mjtNum tolrange; // convergence tolerance (relative to range)
|
||||
};
|
||||
typedef struct mjLROpt_ mjLROpt;
|
||||
struct mjCache_ { // asset cache used by the compiler
|
||||
void* impl_; // internal pointer to cache
|
||||
};
|
||||
typedef struct mjCache_ mjCache;
|
||||
struct mjVFS_ { // virtual file system for loading from memory
|
||||
void* impl_; // internal pointer to VFS memory
|
||||
};
|
||||
@@ -2999,6 +3003,11 @@ int mj_addFileVFS(mjVFS* vfs, const char* directory, const char* filename);
|
||||
int mj_addBufferVFS(mjVFS* vfs, const char* name, const void* buffer, int nbuffer);
|
||||
int mj_deleteFileVFS(mjVFS* vfs, const char* filename);
|
||||
void mj_deleteVFS(mjVFS* vfs);
|
||||
size_t mj_getCacheSize(const mjCache* cache);
|
||||
size_t mj_getCacheCapacity(const mjCache* cache);
|
||||
size_t mj_setCacheCapacity(mjCache* cache, size_t size);
|
||||
mjCache* mj_getCache(void);
|
||||
void mj_clearCache(mjCache* cache);
|
||||
mjModel* mj_loadXML(const char* filename, const mjVFS* vfs, char* error, int error_sz);
|
||||
mjSpec* mj_parseXML(const char* filename, const mjVFS* vfs, char* error, int error_sz);
|
||||
mjSpec* mj_parseXMLString(const char* xml, const mjVFS* vfs, char* error, int error_sz);
|
||||
|
||||
Reference in New Issue
Block a user