Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
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>

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 566 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 612 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

Definition at line 597 of file mls.h.

References bounding_min_, and voxel_size_.

Referenced by MLSVoxelGrid().

◆ getIndexIn1D()

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

Definition at line 580 of file mls.h.

References data_size_.

Referenced by dilate(), and MLSVoxelGrid().

◆ getIndexIn3D()

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

Definition at line 587 of file mls.h.

References data_size_.

Referenced by dilate(), and getPosition().

◆ 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_

Definition at line 614 of file mls.h.

Referenced by MLSVoxelGrid().

◆ bounding_min_

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

Definition at line 614 of file mls.h.

Referenced by getCellIndex(), getPosition(), and MLSVoxelGrid().

◆ data_size_

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

Definition at line 615 of file mls.h.

Referenced by getIndexIn1D(), getIndexIn3D(), and MLSVoxelGrid().

◆ 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_

Definition at line 616 of file mls.h.

Referenced by getCellIndex(), getPosition(), and MLSVoxelGrid().


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