struct mp2p_icp::plane_patch_t

Overview

#include <plane_patch.h>

struct plane_patch_t
{
    // fields

    mrpt::math::TPlane plane;
    mrpt::math::TPoint3D centroid;
    double area = 0;
    uint32_t num_points = 0;

    // construction

    plane_patch_t();

    plane_patch_t(
        const mrpt::math::TPlane3D& pl,
        const mrpt::math::TPoint3D& center
        );

    plane_patch_t(
        const mrpt::math::TPlane3D& pl,
        const mrpt::math::TPoint3D& center,
        double patchArea,
        uint32_t nPoints
        );
};

Fields

double area = 0

Surface area [m2] the patch was fitted from, and the number of points in it. Both are zero for patches from a source that does not measure an extent, and for anything read back from a map serialized before they existed.

A patch without an extent cannot be weighted against another, which is what any estimator combining several of them needs: a 3 m2 fragment and a 50 m2 wall are not equally strong evidence of the same thing.