40#include <pcl/surface/marching_cubes.h>
55 template <
typename Po
intNT>
59 using Ptr = shared_ptr<MarchingCubesRBF<PointNT> >;
60 using ConstPtr = shared_ptr<const MarchingCubesRBF<PointNT> >;
80 const float percentage_extend_grid = 0.0f,
81 const float iso_level = 0.0f) :
112 kernel (Eigen::Vector3d c, Eigen::Vector3d x);
122#ifdef PCL_NO_PRECOMPILE
123#include <pcl/surface/impl/marching_cubes_rbf.hpp>
KdTree represents the base spatial locator class for kd-tree implementations.
shared_ptr< KdTree< PointT > > Ptr
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
typename KdTree::Ptr KdTreePtr
Eigen::Array3f size_voxel_
size of voxels
typename pcl::PointCloud< PointNT >::Ptr PointCloudPtr
shared_ptr< MarchingCubes< PointNT > > Ptr
shared_ptr< const MarchingCubes< PointNT > > ConstPtr
Eigen::Array3f lower_boundary_
The marching cubes surface reconstruction algorithm, using a signed distance function based on radial...
float getOffSurfaceDisplacement()
Get the off-surface points displacement value.
void setOffSurfaceDisplacement(float epsilon)
Set the off-surface points displacement value.
float off_surface_epsilon_
The off-surface displacement value.
void voxelizeData() override
Convert the point cloud into voxel data.
MarchingCubesRBF(const float off_surface_epsilon=0.1f, const float percentage_extend_grid=0.0f, const float iso_level=0.0f)
Constructor.
double kernel(Eigen::Vector3d c, Eigen::Vector3d x)
the Radial Basis Function kernel.
~MarchingCubesRBF() override
Destructor.
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.