27 for (
const auto&
f : filters)
29 ASSERT_(
f.get() !=
nullptr);
35 const mrpt::containers::yaml& c,
const mrpt::system::VerbosityLevel& vLevel)
37 if (c.isNullNode())
return {};
39 ASSERT_(c.isSequence());
43 for (
const auto& entry : c.asSequence())
45 const auto& e = entry.asMap();
47 const auto sClass = e.at(
"class_name").as<
std::string>();
48 auto o = mrpt::rtti::classFactory(sClass);
51 auto f = std::dynamic_pointer_cast<FilterBase>(o);
54 "`%s` class seems not to be derived from FilterBase",
57 f->setMinLoggingLevel(vLevel);
59 f->initialize(e.at(
"params"));
69 const auto yamlContent = mrpt::containers::yaml::FromFile(
filename);
71 ASSERT_(yamlContent.has(
"filters") && yamlContent[
"filters"].isSequence());