From 6b6fff69baabd4897af96217f27f719ed157736e Mon Sep 17 00:00:00 2001 From: Nimrod Gileadi Date: Fri, 26 Aug 2022 02:08:07 -0700 Subject: [PATCH] Make URDF parser stricter about required attributes. Following the spec at http://wiki.ros.org/urdf/XML PiperOrigin-RevId: 470192022 Change-Id: I4699b6f87fff5706b3ba5f33bb8242bb2ad33478 --- src/xml/xml_urdf.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xml/xml_urdf.cc b/src/xml/xml_urdf.cc index d6f1b8ed..c69015cd 100644 --- a/src/xml/xml_urdf.cc +++ b/src/xml/xml_urdf.cc @@ -255,7 +255,7 @@ void mjXURDF::Body(XMLElement* body_elem) { if ((temp = FindSubElem(elem, "material"))) { // if color specified - use directly if ((temp1 = FindSubElem(temp, "color"))) { - ReadAttr(temp1, "rgba", 4, rgba, text); + ReadAttr(temp1, "rgba", 4, rgba, text, /*required=*/true); } // otherwise use material table @@ -332,7 +332,7 @@ void mjXURDF::Joint(XMLElement* joint_elem) { double axis[3] = {1, 0, 0}; Origin(joint_elem, pbody->pos, pbody->quat); if ((elem = FindSubElem(joint_elem, "axis"))) { - ReadAttr(elem, "xyz", 3, axis, text); + ReadAttr(elem, "xyz", 3, axis, text, /*required=*/true); } // create joint (unless fixed) @@ -626,7 +626,7 @@ void mjXURDF::MakeMaterials(XMLElement* elem) { if (FindName(name, urMat) < 0) { // add rgba value if available if ((color = FindSubElem(elem, "color"))) { - ReadAttr(color, "rgba", 4, rgba.val, text); + ReadAttr(color, "rgba", 4, rgba.val, text, /*required=*/true); AddName(name, urMat); urRGBA.push_back(rgba); }