14 #include <mrpt/core/exceptions.h>
40 const mrpt::poses::CPose3D& local_wrt_global,
const MatchContext& mc,
41 const mrpt::optional_ref<MatchState>& userProvidedMS)
47 std::optional<MatchState> localMS;
49 if (userProvidedMS.has_value())
52 ms = &userProvidedMS.value().get();
57 localMS.emplace(pcGlobal, pcLocal);
58 ms = &localMS.value();
63 for (
const auto& matcher : matchers)
67 bool hasRun = matcher->match(pcGlobal, pcLocal, local_wrt_global, mc, *ms, pc);
68 anyRun = anyRun || hasRun;
74 std::cerr <<
"[mp2p_icp::run_matchers] WARNING: No active matcher "
75 "actually ran on the two maps."