struct MLSResult
Overview
Stores the result of a local MLS surface fit, inspired by pcl::MLSResult.
This struct will live inside FilterMLS::Impl
struct MLSResult { // fields EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool valid = false; Eigen::Vector3d mean; Eigen::Vector3d plane_normal; Eigen::Vector3d u_axis; Eigen::Vector3d v_axis; Eigen::VectorXd c_vec; int order = 0; // methods void computeMLSSurface( const Eigen::Vector3d& query_point, const mrpt::maps::CPointsMap& pc, const std::vector<uint64_t>& neighbor_indices, int poly_order, double search_radius ); void projectPointSimple( const Eigen::Vector3d& pt, Eigen::Vector3d& projected_pt, Eigen::Vector3d& projected_normal ) const; };
Methods
void computeMLSSurface( const Eigen::Vector3d& query_point, const mrpt::maps::CPointsMap& pc, const std::vector<uint64_t>& neighbor_indices, int poly_order, double search_radius )
Computes the local surface fit for a query point and its neighbors. This is a port of the logic from pcl::MovingLeastSquares.
void projectPointSimple( const Eigen::Vector3d& pt, Eigen::Vector3d& projected_pt, Eigen::Vector3d& projected_normal ) const
Projects a point onto the fitted surface using the SIMPLE method.