bool ModelLoader::loadModelFromString(const std::string& modelString, const std::string& /*filetype*/) { Model _model; SensorsList _sensors; bool parsingCorrect = false; parsingCorrect = modelFromURDFString(modelString,_model); if( !parsingCorrect ) { reportError("loadModelFromString","loadModelFromString","Error in parsing model from URDF."); return false; } parsingCorrect = sensorsFromURDFString(modelString,_model,_sensors); if( !parsingCorrect ) { reportError("loadModelFromString","loadModelFromString","Error in parsing sensors from URDF."); return false; } return setModelAndSensors(_model,_sensors); }
bool ModelLoader::loadReducedModelFromString(const std::string modelString, const std::vector< std::string >& consideredJoints, const std::string /*filetype*/) { SensorsList _sensorsFull, _sensorsReduced; Model _modelFull, _modelReduced; bool parsingCorrect = modelFromURDFString(modelString,_modelFull); if( !parsingCorrect ) { reportError("ModelLoader","loadReducedModelFromString","Error in parsing model from URDF."); return false; } parsingCorrect = sensorsFromURDFString(modelString,_modelFull,_sensorsFull); if( !parsingCorrect ) { reportError("ModelLoader","loadReducedModelFromString","Error in parsing sensors from URDF."); return false; } parsingCorrect = createReducedModelAndSensors(_modelFull,_sensorsFull,consideredJoints,_modelReduced,_sensorsReduced); if( !parsingCorrect ) { return false; } return setModelAndSensors(_modelReduced,_sensorsReduced); }
bool sensorsFromURDFString(const std::string& urdf_string, iDynTree::SensorsList& output) { iDynTree::Model model; bool ok = modelFromURDFString(urdf_string,model); if( !ok ) { std::cerr << "[ERROR] iDynTree::sensorsListFromURDFString : error in loading urdf string " << urdf_string << std::endl; return false; } ok = sensorsFromURDFString(urdf_string,model,output); return ok; }