Class Matcher

Inheritance Relationships

Base Types

  • public mrpt::system::COutputLogger

  • public mrpt::rtti::CObject

  • public mp2p_icp::Parameterizable

Derived Type

Class Documentation

class Matcher : public mrpt::system::COutputLogger, public mrpt::rtti::CObject, public mp2p_icp::Parameterizable

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.

Subclassed by mp2p_icp::Matcher_Points_Base

Public Functions

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.

Public Members

uint32_t runFromIteration = 0
uint32_t runUpToIteration = 0

0: no limit

bool enabled = true

Protected Functions

virtual bool impl_match(const metric_map_t &pcGlobal, const metric_map_t &pcLocal, const mrpt::poses::CPose3D &localPose, const MatchContext &mc, MatchState &ms, Pairings &out) const = 0
Returns:

true if the mather is actually invoked, false if disabled.