15 #include <mrpt/math/TPoint3D.h> 79 void initialize(
const mrpt::containers::yaml& params)
override;
89 std::optional<std::vector<std::size_t>>
idxs;
95 static constexpr
auto fMax = std::numeric_limits<float>::max();
99 const mrpt::maps::CPointsMap& pcLocal,
100 const mrpt::poses::CPose3D& localPose,
101 const std::size_t maxLocalPoints = 0,
102 const uint64_t localPointsSampleSeed = 0);
107 const mrpt::poses::CPose3D& localPose,
const MatchContext& mc,
112 const mrpt::maps::CMetricMap& pcGlobal,
113 const mrpt::maps::CPointsMap& pcLocal,
114 const mrpt::poses::CPose3D& localPose,
MatchState& ms,
Pointcloud matching generic base class.
bool allowMatchAlreadyMatchedPoints_
Generic container of pointcloud(s), extracted features and other maps.
static TransformedLocalPointCloud transform_local_to_global(const mrpt::maps::CPointsMap &pcLocal, const mrpt::poses::CPose3D &localPose, const std::size_t maxLocalPoints=0, const uint64_t localPointsSampleSeed=0)
virtual void implMatchOneLayer(const mrpt::maps::CMetricMap &pcGlobal, const mrpt::maps::CPointsMap &pcLocal, const mrpt::poses::CPose3D &localPose, MatchState &ms, const layer_name_t &globalName, const layer_name_t &localName, Pairings &out) const =0
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 override final
uint64_t maxLocalPointsPerLayer_
std::optional< std::size_t > kdtree_leaf_max_points_
Matcher_Points_Base()=default
uint64_t localPointsSampleSeed_
void initialize(const mrpt::containers::yaml ¶ms) override
bool allowMatchAlreadyMatchedGlobalPoints_
std::map< std::string, std::map< std::string, double > > weight_pt2pt_layers