Point Cloud Library (PCL)
1.7.0
|
ConcaveHull (alpha shapes) using libqhull library. More...
#include <pcl/surface/concave_hull.h>
Public Types | |
typedef pcl::PointCloud< PointInT > | PointCloud |
typedef PointCloud::Ptr | PointCloudPtr |
typedef PointCloud::ConstPtr | PointCloudConstPtr |
Public Member Functions | |
ConcaveHull () | |
Empty constructor. | |
virtual | ~ConcaveHull () |
Empty destructor. | |
void | reconstruct (PointCloud &points, std::vector< pcl::Vertices > &polygons) |
Compute a concave hull for all points given. | |
void | reconstruct (PointCloud &output) |
Compute a concave hull for all points given. | |
void | setAlpha (double alpha) |
Set the alpha value, which limits the size of the resultant hull segments (the smaller the more detailed the hull). | |
double | getAlpha () |
Returns the alpha parameter, see setAlpha(). | |
void | setVoronoiCenters (PointCloudPtr voronoi_centers) |
If set, the voronoi cells center will be saved in _voronoi_centers_. | |
void | setKeepInformation (bool value) |
If keep_information_is set to true the convex hull points keep other information like rgb, normals, ... | |
PCL_DEPRECATED (int getDim() const,"[pcl::ConcaveHull::getDim] This method is deprecated. Please use getDimension () instead.") | |
Returns the dimensionality (2 or 3) of the calculated hull. | |
int | getDimension () const |
Returns the dimensionality (2 or 3) of the calculated hull. | |
void | setDimension (int dimension) |
Sets the dimension on the input data, 2D or 3D. | |
Protected Types | |
typedef boost::shared_ptr < ConcaveHull< PointInT > > | Ptr |
typedef boost::shared_ptr < const ConcaveHull< PointInT > > | ConstPtr |
Protected Member Functions | |
std::string | getClassName () const |
Class get name method. | |
void | performReconstruction (PointCloud &points, std::vector< pcl::Vertices > &polygons) |
The actual reconstruction method. | |
virtual void | performReconstruction (PolygonMesh &output) |
Abstract surface reconstruction method. | |
virtual void | performReconstruction (std::vector< pcl::Vertices > &polygons) |
Abstract surface reconstruction method. | |
Protected Attributes | |
double | alpha_ |
The method accepts facets only if the distance from any vertex to the facet->center (center of the voronoi cell) is smaller than alpha. | |
bool | keep_information_ |
If set to true, the reconstructed point cloud describing the hull is obtained from the original input cloud by performing a nearest neighbor search from Qhull output. | |
PointCloudPtr | voronoi_centers_ |
the centers of the voronoi cells | |
int | dim_ |
the dimensionality of the concave hull |
ConcaveHull (alpha shapes) using libqhull library.
Definition at line 56 of file concave_hull.h.
typedef boost::shared_ptr<const ConcaveHull<PointInT> > pcl::ConcaveHull< PointInT >::ConstPtr [protected] |
Reimplemented from pcl::MeshConstruction< PointInT >.
Definition at line 60 of file concave_hull.h.
typedef pcl::PointCloud<PointInT> pcl::ConcaveHull< PointInT >::PointCloud |
Reimplemented from pcl::PCLBase< PointInT >.
Definition at line 70 of file concave_hull.h.
typedef PointCloud::ConstPtr pcl::ConcaveHull< PointInT >::PointCloudConstPtr |
Reimplemented from pcl::PCLBase< PointInT >.
Definition at line 72 of file concave_hull.h.
typedef PointCloud::Ptr pcl::ConcaveHull< PointInT >::PointCloudPtr |
Reimplemented from pcl::PCLBase< PointInT >.
Definition at line 71 of file concave_hull.h.
typedef boost::shared_ptr<ConcaveHull<PointInT> > pcl::ConcaveHull< PointInT >::Ptr [protected] |
Reimplemented from pcl::MeshConstruction< PointInT >.
Definition at line 59 of file concave_hull.h.
pcl::ConcaveHull< PointInT >::ConcaveHull | ( | ) | [inline] |
Empty constructor.
Definition at line 75 of file concave_hull.h.
virtual pcl::ConcaveHull< PointInT >::~ConcaveHull | ( | ) | [inline, virtual] |
Empty destructor.
Definition at line 80 of file concave_hull.h.
double pcl::ConcaveHull< PointInT >::getAlpha | ( | ) | [inline] |
Returns the alpha parameter, see setAlpha().
Definition at line 112 of file concave_hull.h.
References pcl::ConcaveHull< PointInT >::alpha_.
std::string pcl::ConcaveHull< PointInT >::getClassName | ( | ) | const [inline, protected, virtual] |
Class get name method.
Reimplemented from pcl::PCLSurfaceBase< PointInT >.
Definition at line 161 of file concave_hull.h.
Referenced by pcl::ConcaveHull< PointInT >::setDimension().
int pcl::ConcaveHull< PointInT >::getDimension | ( | ) | const [inline] |
Returns the dimensionality (2 or 3) of the calculated hull.
Definition at line 141 of file concave_hull.h.
References pcl::ConcaveHull< PointInT >::dim_.
pcl::ConcaveHull< PointInT >::PCL_DEPRECATED | ( | int getDim() | const, |
" This method is deprecated. Please use getDimension () instead." | [pcl::ConcaveHull::getDim] | ||
) |
Returns the dimensionality (2 or 3) of the calculated hull.
void pcl::ConcaveHull< PointInT >::performReconstruction | ( | PointCloud & | points, |
std::vector< pcl::Vertices > & | polygons | ||
) | [protected] |
The actual reconstruction method.
points | the resultant points lying on the concave hull |
polygons | the resultant concave hull polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
Definition at line 130 of file concave_hull.hpp.
References pcl::computeMeanAndCovarianceMatrix(), pcl::copyPointCloud(), pcl::demeanPointCloud(), pcl::eigen33(), pcl::EIGEN_ALIGN16, pcl::getCircumcircleRadius(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::KdTreeFLANN< PointT, Dist >::nearestKSearch(), pcl::PointCloud< PointT >::points, pcl::KdTreeFLANN< PointT, Dist >::setInputCloud(), pcl::PointCloud< PointT >::size(), pcl::transformPointCloud(), pcl::Vertices::vertices, and pcl::PointCloud< PointT >::width.
void pcl::ConcaveHull< PointInT >::performReconstruction | ( | PolygonMesh & | output | ) | [protected, virtual] |
Abstract surface reconstruction method.
[out] | output | the output polygonal mesh |
Implements pcl::MeshConstruction< PointInT >.
Definition at line 602 of file concave_hull.hpp.
References pcl::PolygonMesh::cloud, pcl::PolygonMesh::polygons, and pcl::toPCLPointCloud2().
void pcl::ConcaveHull< PointInT >::performReconstruction | ( | std::vector< pcl::Vertices > & | polygons | ) | [protected, virtual] |
Abstract surface reconstruction method.
[out] | polygons | the resultant polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
Implements pcl::MeshConstruction< PointInT >.
Definition at line 614 of file concave_hull.hpp.
void pcl::ConcaveHull< PointInT >::reconstruct | ( | PointCloud & | points, |
std::vector< pcl::Vertices > & | polygons | ||
) |
Compute a concave hull for all points given.
points | the resultant points lying on the concave hull |
polygons | the resultant concave hull polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
Definition at line 99 of file concave_hull.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, and pcl::PointCloud< PointT >::width.
void pcl::ConcaveHull< PointInT >::reconstruct | ( | PointCloud & | output | ) |
Compute a concave hull for all points given.
output | the resultant concave hull vertices |
Definition at line 70 of file concave_hull.hpp.
References pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points, and pcl::PointCloud< PointT >::width.
void pcl::ConcaveHull< PointInT >::setAlpha | ( | double | alpha | ) | [inline] |
Set the alpha value, which limits the size of the resultant hull segments (the smaller the more detailed the hull).
alpha | positive, non-zero value, defining the maximum length from a vertex to the facet center (center of the voronoi cell). |
Definition at line 105 of file concave_hull.h.
References pcl::ConcaveHull< PointInT >::alpha_.
void pcl::ConcaveHull< PointInT >::setDimension | ( | int | dimension | ) | [inline] |
Sets the dimension on the input data, 2D or 3D.
[in] | dimension | The dimension of the input data. If not set, this will be determined automatically. |
Definition at line 150 of file concave_hull.h.
References pcl::ConcaveHull< PointInT >::dim_, and pcl::ConcaveHull< PointInT >::getClassName().
void pcl::ConcaveHull< PointInT >::setKeepInformation | ( | bool | value | ) | [inline] |
If keep_information_is set to true the convex hull points keep other information like rgb, normals, ...
value | where to keep the information or not, default is false |
Definition at line 131 of file concave_hull.h.
References pcl::ConcaveHull< PointInT >::keep_information_.
void pcl::ConcaveHull< PointInT >::setVoronoiCenters | ( | PointCloudPtr | voronoi_centers | ) | [inline] |
If set, the voronoi cells center will be saved in _voronoi_centers_.
voronoi_centers |
Definition at line 121 of file concave_hull.h.
References pcl::ConcaveHull< PointInT >::voronoi_centers_.
double pcl::ConcaveHull< PointInT >::alpha_ [protected] |
The method accepts facets only if the distance from any vertex to the facet->center (center of the voronoi cell) is smaller than alpha.
Definition at line 186 of file concave_hull.h.
Referenced by pcl::ConcaveHull< PointInT >::getAlpha(), and pcl::ConcaveHull< PointInT >::setAlpha().
int pcl::ConcaveHull< PointInT >::dim_ [protected] |
the dimensionality of the concave hull
Definition at line 197 of file concave_hull.h.
Referenced by pcl::ConcaveHull< PointInT >::getDimension(), and pcl::ConcaveHull< PointInT >::setDimension().
bool pcl::ConcaveHull< PointInT >::keep_information_ [protected] |
If set to true, the reconstructed point cloud describing the hull is obtained from the original input cloud by performing a nearest neighbor search from Qhull output.
Definition at line 191 of file concave_hull.h.
Referenced by pcl::ConcaveHull< PointInT >::setKeepInformation().
PointCloudPtr pcl::ConcaveHull< PointInT >::voronoi_centers_ [protected] |
the centers of the voronoi cells
Definition at line 194 of file concave_hull.h.
Referenced by pcl::ConcaveHull< PointInT >::setVoronoiCenters().