Add mj_copyBack for copying real-valued arrays from mjModel back to mjSpec.
Also add `SaveAndReadXML` function to test fixture using `mjSpec` as input. PiperOrigin-RevId: 765393821 Change-Id: Ic257addd2fc89678fc11b226c168c077626cc51e
This commit is contained in:
committed by
Copybara-Service
parent
072c872deb
commit
84ad22a590
+3
-2
@@ -230,7 +230,8 @@ mjSpec* mj_parseXMLString(const char* xml, const mjVFS* vfs, char* error, int er
|
||||
|
||||
// save spec to XML file, return 0 on success, -1 otherwise
|
||||
int mj_saveXML(const mjSpec* s, const char* filename, char* error, int error_sz) {
|
||||
std::string result = WriteXML(NULL, s, error, error_sz);
|
||||
// cast to mjSpec since WriteXML can in principle perform mj_copyBack (not here)
|
||||
std::string result = WriteXML(NULL, (mjSpec*)s, error, error_sz);
|
||||
if (result.empty()) {
|
||||
return -1;
|
||||
}
|
||||
@@ -247,7 +248,7 @@ int mj_saveXML(const mjSpec* s, const char* filename, char* error, int error_sz)
|
||||
// save spec to XML string, return 0 on success, -1 on failure
|
||||
// if length of the output buffer is too small, returns the required size
|
||||
int mj_saveXMLString(const mjSpec* s, char* xml, int xml_sz, char* error, int error_sz) {
|
||||
std::string result = WriteXML(NULL, s, error, error_sz);
|
||||
std::string result = WriteXML(NULL, (mjSpec*)s, error, error_sz);
|
||||
if (result.empty()) {
|
||||
return -1;
|
||||
} else if (result.size() >= xml_sz) {
|
||||
|
||||
Reference in New Issue
Block a user