Add support for printing to stdout in mj_saveLastXML.

PiperOrigin-RevId: 546849864
Change-Id: I799ea3fcd723cf036f82ef5c1ef8152c314072dc
This commit is contained in:
Kyle Bayes
2023-07-10 06:07:24 -07:00
committed by Copybara-Service
parent 5cfbb6ac8b
commit 24c1ec9aec
7 changed files with 69 additions and 45 deletions
+5 -24
View File
@@ -92,37 +92,18 @@ class LocaleOverride {
} // namespace
// Main writer function - calls mjXWrite
bool mjWriteXML(mjCModel* model, string filename, char* error, int error_sz) {
string mjWriteXML(mjCModel* model, char* error, int error_sz) {
LocaleOverride locale_override;
// check for empty model
if (!model) {
mjCopyError(error, "Cannot write empty model", error_sz);
return false;
return "";
}
// write
FILE* fp = fopen(filename.c_str(), "w");
if (!fp) {
mjCopyError(error, "File not found", error_sz);
return false;
}
try {
mjXWriter writer;
writer.SetModel(model);
writer.Write(fp);
}
// catch known errors
catch (mjXError err) {
mjCopyError(error, err.message, error_sz);
fclose(fp);
return false;
}
fclose(fp);
return true;
mjXWriter writer;
writer.SetModel(model);
return writer.Write(error, error_sz);
}