Add mj_parseXML and mj_saveXML to xml_api.

PiperOrigin-RevId: 640099466
Change-Id: I75f763523c5bc8f6f7c2f2de6806d82ba37ebd4e
This commit is contained in:
Alessio Quaglino
2024-06-04 11:59:32 +01:00
committed by Saran Tunyasuvunakool
parent 1bf90af0e0
commit b35ae973e1
11 changed files with 143 additions and 37 deletions
+3 -3
View File
@@ -100,7 +100,7 @@ class LocaleOverride {
} // namespace
// Main writer function - calls mjXWrite
std::string mjWriteXML(mjSpec* spec, char* error, int error_sz) {
std::string mjWriteXML(const mjSpec* spec, char* error, int error_sz) {
LocaleOverride locale_override;
// check for empty model
@@ -424,9 +424,9 @@ static void RegisterResourceProvider() {
mjSpec* ParseSpecFromString(std::string_view xml, char* error,
int error_size, mjVFS* vfs) {
int error_size) {
RegisterResourceProvider();
std::string xml2 = {xml.begin(), xml.end()};
std::string str = "LoadModelFromString:" + xml2;
return mjParseXML(str.c_str(), vfs, error, error_size);
return mjParseXML(str.c_str(), nullptr, error, error_size);
}