Point Cloud Library (PCL)  1.14.0-dev
List of all members | Classes | Public Types | Public Member Functions | Public Attributes
pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid Class Reference

A minimalistic implementation of a voxel grid, necessary for the point cloud upsampling. More...

#include <pcl/surface/mls.h>

+ Collaboration diagram for pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid:

Classes

struct  Leaf
 

Public Types

using HashMap = std::map< std::uint64_t, Leaf >
 

Public Member Functions

 MLSVoxelGrid (PointCloudInConstPtr &cloud, IndicesPtr &indices, float voxel_size, int dilation_iteration_num)
 
void dilate ()
 
void getIndexIn1D (const Eigen::Vector3i &index, std::uint64_t &index_1d) const
 
void getIndexIn3D (std::uint64_t index_1d, Eigen::Vector3i &index_3d) const
 
void getCellIndex (const Eigen::Vector3f &p, Eigen::Vector3i &index) const
 
void getPosition (const std::uint64_t &index_1d, Eigen::Vector3f &point) const
 

Public Attributes

HashMap voxel_grid_
 
Eigen::Vector4f bounding_min_
 
Eigen::Vector4f bounding_max_
 
std::uint64_t data_size_ {0}
 
float voxel_size_
 

Detailed Description

template<typename PointInT, typename PointOutT>
class pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid

A minimalistic implementation of a voxel grid, necessary for the point cloud upsampling.

Note
Used only in the case of VOXEL_GRID_DILATION upsampling

Definition at line 576 of file mls.h.

Member Typedef Documentation

◆ HashMap

template<typename PointInT , typename PointOutT >
using pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::HashMap = std::map<std::uint64_t, Leaf>

Definition at line 622 of file mls.h.

Constructor & Destructor Documentation

◆ MLSVoxelGrid()

template<typename PointInT , typename PointOutT >
pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::MLSVoxelGrid ( PointCloudInConstPtr cloud,
IndicesPtr indices,
float  voxel_size,
int  dilation_iteration_num 
)

Member Function Documentation

◆ dilate()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::dilate

◆ getCellIndex()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::getCellIndex ( const Eigen::Vector3f &  p,
Eigen::Vector3i &  index 
) const
inline

◆ getIndexIn1D()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::getIndexIn1D ( const Eigen::Vector3i &  index,
std::uint64_t &  index_1d 
) const
inline

◆ getIndexIn3D()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::getIndexIn3D ( std::uint64_t  index_1d,
Eigen::Vector3i &  index_3d 
) const
inline

◆ getPosition()

template<typename PointInT , typename PointOutT >
void pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::getPosition ( const std::uint64_t &  index_1d,
Eigen::Vector3f &  point 
) const
inline

Member Data Documentation

◆ bounding_max_

template<typename PointInT , typename PointOutT >
Eigen::Vector4f pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::bounding_max_

◆ bounding_min_

template<typename PointInT , typename PointOutT >
Eigen::Vector4f pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::bounding_min_

◆ data_size_

template<typename PointInT , typename PointOutT >
std::uint64_t pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::data_size_ {0}

◆ voxel_grid_

template<typename PointInT , typename PointOutT >
HashMap pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::voxel_grid_

◆ voxel_size_

template<typename PointInT , typename PointOutT >
float pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::voxel_size_

The documentation for this class was generated from the following files: