Add pluggable resource writing to MuJoCo
Extend mjpResourceProvider with an optional write callback (write) so that mj_encode, mj_saveXML, and mj_saveModel can write to any registered provider. PiperOrigin-RevId: 945202741 Change-Id: I37903425260932e555f4a8c2392c4ff8c2e6cc06
This commit is contained in:
committed by
Copybara-Service
parent
bdeb7e7c4d
commit
dc7581acfa
+7
-4
@@ -186,10 +186,13 @@ int mj_saveXML(const mjSpec* s, const char* filename, char* error, int error_sz)
|
||||
return -1;
|
||||
}
|
||||
|
||||
std::ofstream file;
|
||||
file.open(filename);
|
||||
file << result;
|
||||
file.close();
|
||||
mjtSize written = mju_writeResource(filename, result.data(), result.size(), NULL, error, error_sz);
|
||||
if (written != result.size()) {
|
||||
if (error && error_sz > 0 && error[0] == '\0') {
|
||||
std::snprintf(error, error_sz, "Error writing XML file '%s'", filename);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user