bool solidShapesFromURDFString(const std::string & urdf_string, const std::string & urdf_filename, const Model & model, const std::string urdfGeometryType, iDynTree::ModelSolidShapes & output) { if (urdfGeometryType != "visual" && urdfGeometryType != "collision") { std::cerr << "[ERROR] unknown urdfGeometryType " << urdfGeometryType << std::endl; return false; } ModelLoader loader; ModelParserOptions options; options.originalFilename = urdf_filename; loader.setParsingOptions(options); bool ok = loader.loadModelFromString(urdf_string); if (ok && urdfGeometryType == "visual") { output = loader.model().visualSolidShapes(); } if (ok && urdfGeometryType == "collision") { output = loader.model().collisionSolidShapes(); } return ok; }