40#include <pcl/surface/marching_cubes.h>
51 template <
typename Po
intNT>
55 using Ptr = shared_ptr<MarchingCubesHoppe<PointNT> >;
56 using ConstPtr = shared_ptr<const MarchingCubesHoppe<PointNT> >;
76 const float percentage_extend_grid = 0.0f,
77 const float iso_level = 0.0f) :
118#ifdef PCL_NO_PRECOMPILE
119#include <pcl/surface/impl/marching_cubes_hoppe.hpp>
KdTree represents the base spatial locator class for kd-tree implementations.
shared_ptr< KdTree< PointT > > Ptr
The marching cubes surface reconstruction algorithm, using a signed distance function based on the di...
typename KdTree::Ptr KdTreePtr
shared_ptr< MarchingCubesHoppe< PointNT > > Ptr
~MarchingCubesHoppe()
Destructor.
typename pcl::PointCloud< PointNT >::Ptr PointCloudPtr
float getDistanceIgnore() const
get the distance for ignoring voxels which are far from point cloud.
shared_ptr< const MarchingCubesHoppe< PointNT > > ConstPtr
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.