Replace mj_makeEmptyFileVFS in Python bindings with mj_addBufferVFS.

PiperOrigin-RevId: 609383859
Change-Id: Ib23ee49e803630a2895a471e9a3ed8b33551cbb9
This commit is contained in:
Kyle Bayes
2024-02-22 08:35:42 -08:00
committed by Copybara-Service
parent 0ae9ba37f9
commit 109f2d7119
+4 -4
View File
@@ -20,6 +20,7 @@
#include <cstddef> #include <cstddef>
#include <cstdint> #include <cstdint>
#include <cstring> #include <cstring>
#include <exception>
#include <ios> #include <ios>
#include <iostream> #include <iostream>
#include <memory> #include <memory>
@@ -28,6 +29,7 @@
#include <string> #include <string>
#include <string_view> #include <string_view>
#include <type_traits> #include <type_traits>
#include <unordered_map>
#include <utility> #include <utility>
#include <vector> #include <vector>
@@ -323,13 +325,11 @@ static raw::MjModel* LoadModelFileImpl(
}); });
mj_defaultVFS(vfs.get()); mj_defaultVFS(vfs.get());
for (const auto& asset : assets) { for (const auto& asset : assets) {
const int vfs_error = InterceptMjErrors(mj_makeEmptyFileVFS)( const int vfs_error = InterceptMjErrors(mj_addBufferVFS)(
vfs.get(), asset.name, asset.content_size); vfs.get(), asset.name, asset.content, asset.content_size);
if (vfs_error) { if (vfs_error) {
throw py::value_error("assets dict is too big"); throw py::value_error("assets dict is too big");
} }
std::memcpy(vfs->filedata[vfs->nfile - 1],
asset.content, asset.content_size);
} }
} }