18 const mrpt::containers::yaml& icpParams,
const mrpt::system::VerbosityLevel& vLevel)
25 auto icp = std::dynamic_pointer_cast<mp2p_icp::ICP>(mrpt::rtti::classFactory(icpClassName));
27 THROW_EXCEPTION_FMT(
"Could not instantiate ICP algorithm named '%s'", icpClassName.c_str());
29 icp->setVerbosityLevel(vLevel);
32 bool isDerived =
false;
33 if (icpParams.has(
"derived"))
35 icp->initialize_derived(icpParams[
"derived"]);
40 if (icpParams.has(
"solvers")) icp->initialize_solvers(icpParams[
"solvers"]);
43 if (icpParams.has(
"matchers")) icp->initialize_matchers(icpParams[
"matchers"]);
46 ASSERT_(icpParams.has(
"quality"));
47 icp->initialize_quality_evaluators(icpParams[
"quality"]);
53 ASSERT_(icpParams.has(
"params"));