struct mp2p_icp_filters::FilterMLS::Impl

Overview

struct Impl
{
    // typedefs

    typedef std::vector<mrpt::math::TPoint3Df> TThreadSafePointVec;
    typedef std::vector<mrpt::math::TPoint3Df> TThreadSafeNormalVec;
    typedef std::vector<std::size_t> TThreadSafeIndexVec;

    // fields

    TThreadSafePointVec new_points;
    TThreadSafeIndexVec new_points_source_index;
    TThreadSafeNormalVec new_normals;
    mrpt::containers::NonCopiableData<std::mutex> progress_mutex;
    size_t processed_points = 0;
    size_t next_log_count = 0;
    size_t total_points = 0;
    size_t progress_step_count = 0;
    double percent_print_progress = 0;

    // methods

    void process_point(
        size_t index,
        const mrpt::maps::CPointsMap& input_pc,
        const mrpt::maps::CPointsMap& query_pc,
        const Parameters& p
        );
};