Cosmetic improvements to src/xml/ source files.

PiperOrigin-RevId: 738010419
Change-Id: Idb90a42a374682450737684e67388329c184c777
This commit is contained in:
Yuval Tassa
2025-03-18 08:11:40 -07:00
committed by Copybara-Service
parent 205599ac1a
commit efe213a7b3
5 changed files with 743 additions and 733 deletions
+3 -1
View File
@@ -100,7 +100,9 @@ mjModel* mj_loadXML(const char* filename, const mjVFS* vfs,
// parse new model // parse new model
std::unique_ptr<mjSpec, std::function<void(mjSpec*)> > spec( std::unique_ptr<mjSpec, std::function<void(mjSpec*)> > spec(
ParseXML(filename, vfs, error, error_sz), ParseXML(filename, vfs, error, error_sz),
[](mjSpec* s) { mj_deleteSpec(s); }); [](mjSpec* s) {
mj_deleteSpec(s);
});
if (!spec) { if (!spec) {
return nullptr; return nullptr;
} }
+3 -1
View File
@@ -2137,7 +2137,9 @@ void mjXReader::OneActuator(XMLElement* elem, mjsActuator* actuator) {
if (r2) { if (r2) {
mjs_setString(actuator->slidersite, slidersite.c_str()); mjs_setString(actuator->slidersite, slidersite.c_str());
} }
if ((r1 || r2) && actuator->trntype!=mjTRN_SLIDERCRANK && actuator->trntype!=mjTRN_UNDEFINED) { if ((r1 || r2) &&
actuator->trntype != mjTRN_SLIDERCRANK &&
actuator->trntype != mjTRN_UNDEFINED) {
throw mjXError(elem, "cranklength and slidersite can only be used in slidercrank transmission"); throw mjXError(elem, "cranklength and slidersite can only be used in slidercrank transmission");
} }
+11 -5
View File
@@ -474,7 +474,8 @@ void mjXWriter::OneGeom(XMLElement* elem, const mjCGeom* geom, mjCDef* def, stri
WriteAttr(elem, "margin", 1, &geom->margin, &def->Geom().margin); WriteAttr(elem, "margin", 1, &geom->margin, &def->Geom().margin);
WriteAttr(elem, "gap", 1, &geom->gap, &def->Geom().gap); WriteAttr(elem, "gap", 1, &geom->gap, &def->Geom().gap);
WriteAttr(elem, "gap", 1, &geom->gap, &def->Geom().gap); WriteAttr(elem, "gap", 1, &geom->gap, &def->Geom().gap);
WriteAttrKey(elem, "fluidshape", fluid_map, 2, geom->fluid_ellipsoid, def->Geom().fluid_ellipsoid); WriteAttrKey(elem, "fluidshape",
fluid_map, 2, geom->fluid_ellipsoid, def->Geom().fluid_ellipsoid);
WriteAttr(elem, "fluidcoef", 5, geom->fluid_coefs, def->Geom().fluid_coefs); WriteAttr(elem, "fluidcoef", 5, geom->fluid_coefs, def->Geom().fluid_coefs);
if (geom->type != mjGEOM_MESH) { if (geom->type != mjGEOM_MESH) {
WriteAttrKey(elem, "shellinertia", meshtype_map, 2, geom->typeinertia, WriteAttrKey(elem, "shellinertia", meshtype_map, 2, geom->typeinertia,
@@ -1122,7 +1123,8 @@ void mjXWriter::Visual(XMLElement* root) {
// global // global
elem = InsertEnd(section, "global"); elem = InsertEnd(section, "global");
WriteAttrKey(elem, "orthographic", bool_map, 2, vis->global.orthographic, visdef.global.orthographic); WriteAttrKey(elem, "orthographic",
bool_map, 2, vis->global.orthographic, visdef.global.orthographic);
WriteAttr(elem, "fovy", 1, &vis->global.fovy, &visdef.global.fovy); WriteAttr(elem, "fovy", 1, &vis->global.fovy, &visdef.global.fovy);
WriteAttr(elem, "ipd", 1, &vis->global.ipd, &visdef.global.ipd); WriteAttr(elem, "ipd", 1, &vis->global.ipd, &visdef.global.ipd);
WriteAttr(elem, "azimuth", 1, &vis->global.azimuth, &visdef.global.azimuth); WriteAttr(elem, "azimuth", 1, &vis->global.azimuth, &visdef.global.azimuth);
@@ -1132,7 +1134,8 @@ void mjXWriter::Visual(XMLElement* root) {
WriteAttr(elem, "realtime", 1, &vis->global.realtime, &visdef.global.realtime); WriteAttr(elem, "realtime", 1, &vis->global.realtime, &visdef.global.realtime);
WriteAttrInt(elem, "offwidth", vis->global.offwidth, visdef.global.offwidth); WriteAttrInt(elem, "offwidth", vis->global.offwidth, visdef.global.offwidth);
WriteAttrInt(elem, "offheight", vis->global.offheight, visdef.global.offheight); WriteAttrInt(elem, "offheight", vis->global.offheight, visdef.global.offheight);
WriteAttrKey(elem, "ellipsoidinertia", bool_map, 2, vis->global.ellipsoidinertia, visdef.global.ellipsoidinertia); WriteAttrKey(elem, "ellipsoidinertia",
bool_map, 2, vis->global.ellipsoidinertia, visdef.global.ellipsoidinertia);
WriteAttrKey(elem, "bvactive", bool_map, 2, vis->global.bvactive, visdef.global.bvactive); WriteAttrKey(elem, "bvactive", bool_map, 2, vis->global.bvactive, visdef.global.bvactive);
if (!elem->FirstAttribute()) { if (!elem->FirstAttribute()) {
section->DeleteChild(elem); section->DeleteChild(elem);
@@ -1804,7 +1807,8 @@ void mjXWriter::Equality(XMLElement* root) {
// write all constraints // write all constraints
for (int i=0; i < num; i++) { for (int i=0; i < num; i++) {
mjCEquality* equality = (mjCEquality*)model->GetObject(mjOBJ_EQUALITY, i); mjCEquality* equality = (mjCEquality*)model->GetObject(mjOBJ_EQUALITY, i);
XMLElement* elem = InsertEnd(section, FindValue(equality_map, equality_sz, equality->type).c_str()); XMLElement* elem = InsertEnd(section,
FindValue(equality_map, equality_sz, equality->type).c_str());
OneEquality(elem, equality, model->def_map[equality->classname]); OneEquality(elem, equality, model->def_map[equality->classname]);
} }
} }
@@ -2201,7 +2205,9 @@ void mjXWriter::Sensor(XMLElement* root) {
// user-defined sensor // user-defined sensor
case mjSENS_USER: case mjSENS_USER:
elem = InsertEnd(section, "user"); elem = InsertEnd(section, "user");
if (mju_type2Str(sensor->objtype)) WriteAttrTxt(elem, "objtype", mju_type2Str(sensor->objtype)); if (mju_type2Str(sensor->objtype)) {
WriteAttrTxt(elem, "objtype", mju_type2Str(sensor->objtype));
}
WriteAttrTxt(elem, "objname", sensor->get_objname()); WriteAttrTxt(elem, "objname", sensor->get_objname());
WriteAttrInt(elem, "dim", sensor->dim); WriteAttrInt(elem, "dim", sensor->dim);
WriteAttrKey(elem, "needstage", stage_map, stage_sz, (int)sensor->needstage); WriteAttrKey(elem, "needstage", stage_map, stage_sz, (int)sensor->needstage);