summaryrefslogtreecommitdiff
path: root/examples/Importers/ImportURDFDemo/UrdfParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Importers/ImportURDFDemo/UrdfParser.cpp')
-rw-r--r--examples/Importers/ImportURDFDemo/UrdfParser.cpp174
1 files changed, 1 insertions, 173 deletions
diff --git a/examples/Importers/ImportURDFDemo/UrdfParser.cpp b/examples/Importers/ImportURDFDemo/UrdfParser.cpp
index aea391592..96f7538a2 100644
--- a/examples/Importers/ImportURDFDemo/UrdfParser.cpp
+++ b/examples/Importers/ImportURDFDemo/UrdfParser.cpp
@@ -1282,171 +1282,6 @@ bool UrdfParser::parseDeformable(UrdfModel& model, tinyxml2::XMLElement* config,
return true;
}
-bool UrdfParser::parseReducedDeformable(UrdfModel& model, tinyxml2::XMLElement* config, ErrorLogger* logger)
-{
- UrdfReducedDeformable& reduced_deformable = model.m_reducedDeformable;
- const char* name = config->Attribute("name");
- if (!name)
- {
- logger->reportError("Reduced deformable with no name");
- return false;
- }
- reduced_deformable.m_name = name;
-
- {
- XMLElement* numModes_xml = config->FirstChildElement("num_modes");
- if (numModes_xml)
- {
- if (!numModes_xml->Attribute("value"))
- {
- logger->reportError("numModes_xml element must have value attribute");
- return false;
- }
- reduced_deformable.m_numModes = urdfLexicalCast<double>(numModes_xml->Attribute("value"));
- }
- }
-
- {
- XMLElement* mass_xml = config->FirstChildElement("mass");
- if (mass_xml)
- {
- if (!mass_xml->Attribute("value"))
- {
- logger->reportError("mass_xml element must have value attribute");
- return false;
- }
- reduced_deformable.m_mass = urdfLexicalCast<double>(mass_xml->Attribute("value"));
- }
- }
-
- {
- XMLElement* stiffnessScale_xml = config->FirstChildElement("stiffness_scale");
- if (stiffnessScale_xml)
- {
- if (!stiffnessScale_xml->Attribute("value"))
- {
- logger->reportError("stiffnessScale_xml element must have value attribute");
- return false;
- }
- reduced_deformable.m_stiffnessScale = urdfLexicalCast<double>(stiffnessScale_xml->Attribute("value"));
- }
- }
-
- {
- XMLElement* collisionMargin_xml = config->FirstChildElement("collision_margin");
- if (collisionMargin_xml)
- {
- if (!collisionMargin_xml->Attribute("value"))
- {
- logger->reportError("collision_margin element must have value attribute");
- return false;
- }
- reduced_deformable.m_collisionMargin = urdfLexicalCast<double>(collisionMargin_xml->Attribute("value"));
- }
- }
-
- {
- XMLElement* erp_xml = config->FirstChildElement("erp");
- if (erp_xml)
- {
- if (!erp_xml->Attribute("value"))
- {
- logger->reportError("friction element must have value attribute");
- return false;
- }
- reduced_deformable.m_erp = urdfLexicalCast<double>(erp_xml->Attribute("value"));
- }
- }
-
- {
- XMLElement* cfm_xml = config->FirstChildElement("cfm");
- if (cfm_xml)
- {
- if (!cfm_xml->Attribute("value"))
- {
- logger->reportError("cfm element must have value attribute");
- return false;
- }
- reduced_deformable.m_cfm = urdfLexicalCast<double>(cfm_xml->Attribute("value"));
- }
- }
-
- {
- XMLElement* damping_xml = config->FirstChildElement("damping_coefficient");
- if (damping_xml)
- {
- if (!damping_xml->Attribute("value"))
- {
- logger->reportError("damping_coefficient element must have value attribute");
- return false;
- }
- reduced_deformable.m_damping = urdfLexicalCast<double>(damping_xml->Attribute("value"));
- }
- }
-
- {
- XMLElement* friction_xml = config->FirstChildElement("friction");
- if (friction_xml)
- {
- if (!friction_xml->Attribute("value"))
- {
- logger->reportError("friction element must have value attribute");
- return false;
- }
- reduced_deformable.m_friction = urdfLexicalCast<double>(friction_xml->Attribute("value"));
- }
- }
-
- XMLElement* vis_xml = config->FirstChildElement("visual");
- if (!vis_xml)
- {
- logger->reportError("expected an visual element");
- return false;
- }
- if (!vis_xml->Attribute("filename"))
- {
- logger->reportError("expected a filename for visual geometry");
- return false;
- }
- std::string fn = vis_xml->Attribute("filename");
- reduced_deformable.m_visualFileName = fn;
-
- int out_type(0);
- bool success = UrdfFindMeshFile(m_fileIO,
- model.m_sourceFile, fn, sourceFileLocation(vis_xml),
- &reduced_deformable.m_visualFileName, &out_type);
-
- if (!success)
- {
- // warning already printed
- return false;
- }
-
- // collision mesh is optional
- XMLElement* col_xml = config->FirstChildElement("collision");
- if (col_xml)
- {
- if (!col_xml->Attribute("filename"))
- {
- logger->reportError("expected a filename for collision geoemtry");
- return false;
- }
- fn = col_xml->Attribute("filename");
- success = UrdfFindMeshFile(m_fileIO,
- model.m_sourceFile, fn, sourceFileLocation(col_xml),
- &reduced_deformable.m_simFileName, &out_type);
-
- if (!success)
- {
- // warning already printed
- return false;
- }
- }
-
- ParseUserData(config, reduced_deformable.m_userData, logger);
- return true;
-}
-
bool UrdfParser::parseJointLimits(UrdfJoint& joint, XMLElement* config, ErrorLogger* logger)
{
joint.m_lowerLimit = 0.f;
@@ -2291,16 +2126,9 @@ bool UrdfParser::loadUrdf(const char* urdfText, ErrorLogger* logger, bool forceF
// logger->printMessage(msg);
-
- XMLElement* reduced_deformable_xml = robot_xml->FirstChildElement("reduced_deformable");
- if (reduced_deformable_xml) {
- return parseReducedDeformable(m_urdf2Model, reduced_deformable_xml, logger);
- }
-
XMLElement* deformable_xml = robot_xml->FirstChildElement("deformable");
- if (deformable_xml) {
+ if(deformable_xml)
return parseDeformable(m_urdf2Model, deformable_xml, logger);
- }
for (XMLElement* link_xml = robot_xml->FirstChildElement("link"); link_xml; link_xml = link_xml->NextSiblingElement("link"))
{