33 impl_->pts_voxels.clear();
44 const auto& xs = p.getPointsBufferRef_x();
45 const auto& ys = p.getPointsBufferRef_y();
46 const auto& zs = p.getPointsBufferRef_z();
47 const auto npts = xs.size();
51 x0 = y0 = z0 = std::numeric_limits<float>::max();
53 auto& pts_voxels =
impl_->pts_voxels;
55 pts_voxels.reserve(pts_voxels.size() + npts);
57 for (std::size_t i = 0; i < npts; i++)
61 max3(abs(x0 - xs[i]), abs(y0 - ys[i]), abs(z0 - zs[i])) <
72 auto& cell = pts_voxels[vxl_idx];
73 cell.indices.push_back(i);
80 impl_->pts_voxels.clear();
87 for (
const auto& [idx, vxl] :
impl_->pts_voxels) userCode(idx, vxl);