struct mp2p_icp_filters::PointCloudToVoxelGrid::Impl

Overview

struct Impl
{
    // fields

    tsl::robin_map<indices_t, VoxelEntry, IndicesHash> pts_voxels;
    std::map<indices_t, VoxelEntry, IndicesHash> pts_voxels_std_map;
    std::vector<std::uint32_t> indices;
    std::vector<std::uint32_t> indices_aux;
    std::uint32_t total_indices = 0;
};

Fields

std::vector<std::uint32_t> indices

Flat storage for the point indices of every voxel, one contiguous run per voxel. Kept across calls (only its size is reset in clear()) to avoid reallocating it for each processed cloud.

std::vector<std::uint32_t> indices_aux

Scratch buffer used to rebuild indices when runs move around.

std::uint32_t total_indices = 0

Sum of the count of all voxels, i.e. the size indices must have.