Make mj_loadModelBuffer a public API.

PiperOrigin-RevId: 843105390
Change-Id: I4058471b4cf64995dd5ab43e9c8c24e322004b62
This commit is contained in:
Haroon Qureshi
2025-12-11 01:23:03 -08:00
committed by Copybara-Service
parent d0cf2a3ca5
commit caec236b2f
7 changed files with 39 additions and 2 deletions
+9
View File
@@ -1475,6 +1475,15 @@ If vfs is not NULL, look up file in vfs before reading from disk.
*Nullable:* ``vfs``
.. _mj_loadModelBuffer:
`mj_loadModelBuffer <#mj_loadModelBuffer>`__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. mujoco-include:: mj_loadModelBuffer
Load model from memory buffer.
.. _mj_deleteModel:
`mj_deleteModel <#mj_deleteModel>`__
+1
View File
@@ -3096,6 +3096,7 @@ void mj_defaultVisual(mjVisual* vis);
mjModel* mj_copyModel(mjModel* dest, const mjModel* src);
void mj_saveModel(const mjModel* m, const char* filename, void* buffer, int buffer_sz);
mjModel* mj_loadModel(const char* filename, const mjVFS* vfs);
mjModel* mj_loadModelBuffer(const void* buffer, int buffer_sz);
void mj_deleteModel(mjModel* m);
mjtSize mj_sizeModel(const mjModel* m);
mjData* mj_makeData(const mjModel* m);
+3
View File
@@ -212,6 +212,9 @@ MJAPI void mj_saveModel(const mjModel* m, const char* filename, void* buffer, in
// Nullable: vfs
MJAPI mjModel* mj_loadModel(const char* filename, const mjVFS* vfs);
// Load model from memory buffer.
MJAPI mjModel* mj_loadModelBuffer(const void* buffer, int buffer_sz);
// Free memory allocation in model.
MJAPI void mj_deleteModel(mjModel* m);
+20
View File
@@ -839,6 +839,26 @@ FUNCTIONS: Mapping[str, FunctionDecl] = dict([
),
doc='Load model from binary MJB file. If vfs is not NULL, look up file in vfs before reading from disk.', # pylint: disable=line-too-long
)),
('mj_loadModelBuffer',
FunctionDecl(
name='mj_loadModelBuffer',
return_type=PointerType(
inner_type=ValueType(name='mjModel'),
),
parameters=(
FunctionParameterDecl(
name='buffer',
type=PointerType(
inner_type=ValueType(name='void', is_const=True),
),
),
FunctionParameterDecl(
name='buffer_sz',
type=ValueType(name='int'),
),
),
doc='Load model from memory buffer.',
)),
('mj_deleteModel',
FunctionDecl(
name='mj_deleteModel',
+2 -2
View File
@@ -69,8 +69,8 @@ MJAPI void mjv_copyModel(mjModel* dest, const mjModel* src);
// save model to binary file
MJAPI void mj_saveModel(const mjModel* m, const char* filename, void* buffer, int buffer_sz);
// load binary MJB
mjModel* mj_loadModelBuffer(const void* buffer, int buffer_sz);
// load model from binary buffer
MJAPI mjModel* mj_loadModelBuffer(const void* buffer, int buffer_sz);
// deallocate model
MJAPI void mj_deleteModel(mjModel* m);
+3
View File
@@ -6444,6 +6444,9 @@ public static unsafe extern void mj_saveModel(mjModel_* m, [MarshalAs(UnmanagedT
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern mjModel_* mj_loadModel([MarshalAs(UnmanagedType.LPStr)]string filename, void* vfs);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern mjModel_* mj_loadModelBuffer(void* buffer, int buffer_sz);
[DllImport("mujoco", CallingConvention = CallingConvention.Cdecl)]
public static unsafe extern void mj_deleteModel(mjModel_* m);
+1
View File
@@ -139,6 +139,7 @@ _SKIPPED_MEMORY_FUNCTIONS: tuple[str, ...] = (
"mj_freeLastXML",
"mj_freeStack",
"mj_loadModel",
"mj_loadModelBuffer",
"mj_markStack",
"mj_saveModel",
"mj_stackAllocByte",