Go to the documentation of this file.
   15 #include <mrpt/core/pimpl.h> 
   16 #include <mrpt/maps/CPointsMap.h> 
   46         std::optional<mrpt::math::TPoint3Df>         
point;
 
   48         std::optional<const mrpt::maps::CPointsMap*> 
source;
 
   80             static_assert(offsetof(
indices_t, cx_) == 0 * 
sizeof(uint32_t));
 
   81             static_assert(offsetof(
indices_t, cy_) == 1 * 
sizeof(uint32_t));
 
   82             static_assert(offsetof(
indices_t, cz_) == 2 * 
sizeof(uint32_t));
 
   84             const uint32_t* vec = 
reinterpret_cast<const uint32_t*
>(&k);
 
   85             return ((1 << 20) - 1) & (vec[0] * 73856093 ^ vec[1] * 19349663 ^ vec[2] * 83492791);
 
   91             if (k1.cx_ != k2.cx_) 
return k1.cx_ < k2.cx_;
 
   92             if (k1.cy_ != k2.cy_) 
return k1.cy_ < k2.cy_;
 
   93             return k1.cz_ < k2.cz_;
 
  100         const std::function<
void(
const indices_t idx, 
const voxel_t& vxl)>& userCode) 
const;
 
  112     mrpt::pimpl<Impl> 
impl_;
 
  
size_t size() const
Returns the number of occupied voxels.
int32_t coord2idx(float xyz) const
void processPointCloud(const mrpt::maps::CPointsMap &p)
bool operator==(const indices_t &o) const
std::optional< mrpt::math::TPoint3Df > point
bool operator()(const indices_t &k1, const indices_t &k2) const noexcept
indices_t(int32_t cx, int32_t cy, int32_t cz)
~PointCloudToVoxelGridSingle()
void visit_voxels(const std::function< void(const indices_t idx, const voxel_t &vxl)> &userCode) const
PointCloudToVoxelGridSingle()
std::optional< size_t > pointIdx
void setResolution(const float voxel_size)
mrpt::pimpl< Impl > impl_
std::size_t operator()(const indices_t &k) const noexcept
Hash operator for unordered maps:
std::optional< const mrpt::maps::CPointsMap * > source
mp2p_icp
Author(s): 
autogenerated on Mon May 26 2025 02:45:50