31 impl_->pts_voxels.clear();
42 const auto& xs = p.getPointsBufferRef_x();
43 const auto& ys = p.getPointsBufferRef_y();
44 const auto& zs = p.getPointsBufferRef_z();
45 const auto npts = xs.size();
49 x0 = y0 = z0 = std::numeric_limits<float>::max();
51 auto& pts_voxels =
impl_->pts_voxels;
53 pts_voxels.reserve(pts_voxels.size() + npts);
55 for (std::size_t i = 0; i < npts; i++)
59 max3(abs(x0 - xs[i]), abs(y0 - ys[i]), abs(z0 - zs[i])) <
70 auto& cell = pts_voxels[vxl_idx];
71 cell.indices.push_back(i);
78 impl_->pts_voxels.clear();
82 const std::function<
void(
const indices_t idx,
const voxel_t& vxl)>& userCode)
const
84 for (
const auto& [idx, vxl] :
impl_->pts_voxels) userCode(idx, vxl);