40#include <pcl/surface/marching_cubes.h>
51 template <
typename Po
intNT>
118#ifdef PCL_NO_PRECOMPILE
119#include <pcl/surface/impl/marching_cubes_hoppe.hpp>
Iterator class for point clouds with or without given indices.
shared_ptr< KdTree< PointT > > Ptr
The marching cubes surface reconstruction algorithm, using a signed distance function based on the di...
typename KdTree::Ptr KdTreePtr
~MarchingCubesHoppe()
Destructor.
typename pcl::PointCloud< PointNT >::Ptr PointCloudPtr
float getDistanceIgnore() const
get the distance for ignoring voxels which are far from point cloud.
MarchingCubesHoppe(const float dist_ignore=-1.0f, const float percentage_extend_grid=0.0f, const float iso_level=0.0f)
Constructor.
void voxelizeData() override
Convert the point cloud into voxel data.
float dist_ignore_
ignore the distance function if it is negative or distance between voxel centroid and point are large...
void setDistanceIgnore(const float dist_ignore)
Method that sets the distance for ignoring voxels which are far from point cloud.
The marching cubes surface reconstruction algorithm.
std::vector< float > grid_
The data structure storing the 3D grid.
int res_x_
The grid resolution.
Eigen::Array3f upper_boundary_
bounding box
Eigen::Array3f size_voxel_
size of voxels
Eigen::Array3f lower_boundary_
PointCloudConstPtr input_
The input point cloud dataset.
KdTreePtr tree_
A pointer to the spatial search object.
shared_ptr< PointCloud< PointT > > Ptr
SurfaceReconstruction represents a base surface reconstruction class.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
Defines all the PCL and non-PCL macros used.