class mp2p_icp::Matcher
Overview
Pointcloud matching generic base class. Each “matcher” implementation takes a global (“reference”) metric_map_t
and another local (“mobile”) metric_map_t
which is assumed to be placed in a hypothetical SE(3) pose in the global frame, and generates pairings between the geometric entities (points, planes, etc.) of both groups.
#include <Matcher.h> class Matcher: public mrpt::system::COutputLogger, public mrpt::rtti::CObject, public mp2p_icp::Parameterizable { public: // fields uint32_t runUpToIteration = 0; // methods virtual void initialize(const mrpt::containers::yaml& params); virtual bool match( const metric_map_t& pcGlobal, const metric_map_t& pcLocal, const mrpt::poses::CPose3D& localPose, const MatchContext& mc, MatchState& ms, Pairings& out ) const; }; // direct descendants class Matcher_Points_Base;
Fields
uint32_t runUpToIteration = 0
0: no limit
Methods
virtual void initialize(const mrpt::containers::yaml& params)
Check each derived class to see required and optional parameters.
virtual bool match( const metric_map_t& pcGlobal, const metric_map_t& pcLocal, const mrpt::poses::CPose3D& localPose, const MatchContext& mc, MatchState& ms, Pairings& out ) const
Finds correspondences between the two point clouds. “out” is not cleared, but new pairings added to it.
Returns:
false if the matcher is disabled and was not actually run.