fix sphere sdf parsing

This commit is contained in:
erwincoumans
2018-10-22 16:01:58 -07:00
parent 84870739af
commit 707bac9c3d

View File

@@ -346,14 +346,27 @@ bool UrdfParser::parseGeometry(UrdfGeometry& geom, XMLElement* g, ErrorLogger* l
if (type_name == "sphere") if (type_name == "sphere")
{ {
geom.m_type = URDF_GEOM_SPHERE; geom.m_type = URDF_GEOM_SPHERE;
if (!shape->Attribute("radius")) if (m_parseSDF)
{ {
logger->reportError("Sphere shape must have a radius attribute"); XMLElement* size = shape->FirstChildElement("radius");
return false; if (0 == size)
{
logger->reportError("sphere requires a radius child element");
return false;
}
geom.m_sphereRadius = urdfLexicalCast<double>(size->GetText());
} }
else else
{ {
geom.m_sphereRadius = m_urdfScaling * urdfLexicalCast<double>(shape->Attribute("radius")); if (!shape->Attribute("radius"))
{
logger->reportError("Sphere shape must have a radius attribute");
return false;
}
else
{
geom.m_sphereRadius = m_urdfScaling * urdfLexicalCast<double>(shape->Attribute("radius"));
}
} }
} }
else if (type_name == "box") else if (type_name == "box")