42#include <pcl/pcl_config.h>
45#include <pcl/surface/reconstruction.h>
54 template<
typename Po
intInT>
58 using Ptr = shared_ptr<ConcaveHull<PointInT> >;
59 using ConstPtr = shared_ptr<const ConcaveHull<PointInT> >;
89 std::vector<pcl::Vertices> &polygons);
148 if ((dimension == 2) || (dimension == 3))
151 PCL_ERROR (
"[pcl::%s::setDimension] Invalid input dimension specified!\n",
getClassName ().c_str ());
169 return (
"ConcaveHull");
181 std::vector<pcl::Vertices> &polygons);
210#ifdef PCL_NO_PRECOMPILE
211#include <pcl/surface/impl/concave_hull.hpp>
ConcaveHull (alpha shapes) using libqhull library.
void setVoronoiCenters(PointCloudPtr voronoi_centers)
If set, the voronoi cells center will be saved in voronoi_centers
ConcaveHull()
Empty constructor.
void setKeepInformation(bool value)
If keep_information_is set to true the convex hull points keep other information like rgb,...
pcl::PointIndices hull_indices_
vector containing the point cloud indices of the convex hull points.
double alpha_
The method accepts facets only if the distance from any vertex to the facet->center (center of the vo...
int getDimension() const
Returns the dimensionality (2 or 3) of the calculated hull.
shared_ptr< ConcaveHull< PointInT > > Ptr
typename PointCloud::ConstPtr PointCloudConstPtr
~ConcaveHull() override=default
Empty destructor.
bool keep_information_
If set to true, the reconstructed point cloud describing the hull is obtained from the original input...
void reconstruct(PointCloud &points, std::vector< pcl::Vertices > &polygons)
Compute a concave hull for all points given.
PointCloudPtr voronoi_centers_
the centers of the voronoi cells
void setAlpha(double alpha)
Set the alpha value, which limits the size of the resultant hull segments (the smaller the more detai...
shared_ptr< const ConcaveHull< PointInT > > ConstPtr
int dim_
the dimensionality of the concave hull
typename PointCloud::Ptr PointCloudPtr
void getHullPointIndices(pcl::PointIndices &hull_point_indices) const
Retrieve the indices of the input point cloud that for the convex hull.
std::string getClassName() const override
Class get name method.
void performReconstruction(PointCloud &points, std::vector< pcl::Vertices > &polygons)
The actual reconstruction method.
double getAlpha()
Returns the alpha parameter, see setAlpha().
void setDimension(int dimension)
Sets the dimension on the input data, 2D or 3D.
MeshConstruction represents a base surface reconstruction class.
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
bool initCompute()
This method should get called before starting the actual computation.
bool deinitCompute()
This method should get called after finishing the actual computation.
shared_ptr< PointCloud< PointInT > > Ptr
shared_ptr< const PointCloud< PointInT > > ConstPtr