Point Cloud Library (PCL)  1.7.0
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
pcl::ConcaveHull< PointInT > Class Template Reference

ConcaveHull (alpha shapes) using libqhull library. More...

#include <pcl/surface/concave_hull.h>

+ Inheritance diagram for pcl::ConcaveHull< PointInT >:

List of all members.

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

Detailed Description

template<typename PointInT>
class pcl::ConcaveHull< PointInT >

ConcaveHull (alpha shapes) using libqhull library.

Author:
Aitor Aldoma

Definition at line 56 of file concave_hull.h.


Member Typedef Documentation

template<typename PointInT>
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.

template<typename PointInT>
typedef pcl::PointCloud<PointInT> pcl::ConcaveHull< PointInT >::PointCloud

Reimplemented from pcl::PCLBase< PointInT >.

Definition at line 70 of file concave_hull.h.

template<typename PointInT>
typedef PointCloud::ConstPtr pcl::ConcaveHull< PointInT >::PointCloudConstPtr

Reimplemented from pcl::PCLBase< PointInT >.

Definition at line 72 of file concave_hull.h.

template<typename PointInT>
typedef PointCloud::Ptr pcl::ConcaveHull< PointInT >::PointCloudPtr

Reimplemented from pcl::PCLBase< PointInT >.

Definition at line 71 of file concave_hull.h.

template<typename PointInT>
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.


Constructor & Destructor Documentation

template<typename PointInT>
pcl::ConcaveHull< PointInT >::ConcaveHull ( ) [inline]

Empty constructor.

Definition at line 75 of file concave_hull.h.

template<typename PointInT>
virtual pcl::ConcaveHull< PointInT >::~ConcaveHull ( ) [inline, virtual]

Empty destructor.

Definition at line 80 of file concave_hull.h.


Member Function Documentation

template<typename PointInT>
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_.

template<typename PointInT>
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().

template<typename PointInT>
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_.

template<typename PointInT>
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.

template<typename PointInT >
void pcl::ConcaveHull< PointInT >::performReconstruction ( PointCloud points,
std::vector< pcl::Vertices > &  polygons 
) [protected]
template<typename PointInT >
void pcl::ConcaveHull< PointInT >::performReconstruction ( PolygonMesh output) [protected, virtual]

Abstract surface reconstruction method.

Parameters:
[out]outputthe 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().

template<typename PointInT >
void pcl::ConcaveHull< PointInT >::performReconstruction ( std::vector< pcl::Vertices > &  polygons) [protected, virtual]

Abstract surface reconstruction method.

Parameters:
[out]polygonsthe 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.

template<typename PointInT >
void pcl::ConcaveHull< PointInT >::reconstruct ( PointCloud points,
std::vector< pcl::Vertices > &  polygons 
)

Compute a concave hull for all points given.

Parameters:
pointsthe resultant points lying on the concave hull
polygonsthe 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.

template<typename PointInT >
void pcl::ConcaveHull< PointInT >::reconstruct ( PointCloud output)

Compute a concave hull for all points given.

Parameters:
outputthe 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.

template<typename PointInT>
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).

Parameters:
alphapositive, 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_.

template<typename PointInT>
void pcl::ConcaveHull< PointInT >::setDimension ( int  dimension) [inline]

Sets the dimension on the input data, 2D or 3D.

Parameters:
[in]dimensionThe 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().

template<typename PointInT>
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, ...

Parameters:
valuewhere to keep the information or not, default is false

Definition at line 131 of file concave_hull.h.

References pcl::ConcaveHull< PointInT >::keep_information_.

template<typename PointInT>
void pcl::ConcaveHull< PointInT >::setVoronoiCenters ( PointCloudPtr  voronoi_centers) [inline]

If set, the voronoi cells center will be saved in _voronoi_centers_.

Parameters:
voronoi_centers

Definition at line 121 of file concave_hull.h.

References pcl::ConcaveHull< PointInT >::voronoi_centers_.


Member Data Documentation

template<typename PointInT>
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().

template<typename PointInT>
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().

template<typename PointInT>
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().

template<typename PointInT>
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().


The documentation for this class was generated from the following files: