pcl::ConcaveHull< PointInT > Class Template Reference
[Module surface]

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

#include <pcl/surface/concave_hull.h>

Inheritance diagram for pcl::ConcaveHull< PointInT >:
Inheritance graph
[legend]
Collaboration diagram for pcl::ConcaveHull< PointInT >:
Collaboration graph
[legend]

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]
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 ( std::vector< pcl::Vertices > &  polygons  )  [inline, protected, virtual]

Abstract surface reconstruction method.

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

References pcl::ConcaveHull< PointInT >::performReconstruction().

template<typename PointInT >
void pcl::ConcaveHull< PointInT >::performReconstruction ( PolygonMesh output  )  [inline, protected, virtual]

Abstract surface reconstruction method.

Parameters:
[out] output the output polygonal mesh

Implements pcl::MeshConstruction< PointInT >.

Definition at line 602 of file concave_hull.hpp.

References pcl::PolygonMesh::cloud, pcl::ConcaveHull< PointInT >::performReconstruction(), pcl::PolygonMesh::polygons, and pcl::toPCLPointCloud2().

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

Compute a concave hull for all points given.

Parameters:
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::ConcaveHull< PointInT >::alpha_, pcl::PCLBase< PointInT >::deinitCompute(), pcl::ConcaveHull< PointInT >::getClassName(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PCLBase< PointInT >::initCompute(), pcl::PCLBase< PointInT >::input_, pcl::PointCloud< PointT >::is_dense, pcl::ConcaveHull< PointInT >::performReconstruction(), 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:
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_.

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

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

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

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:
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_.

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(), pcl::ConcaveHull< PointInT >::performReconstruction(), pcl::ConcaveHull< PointInT >::reconstruct(), and pcl::ConcaveHull< PointInT >::setAlpha().

template<typename PointInT>
int pcl::ConcaveHull< PointInT >::dim_ [protected]
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 >::performReconstruction(), and 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 >::performReconstruction(), and pcl::ConcaveHull< PointInT >::setVoronoiCenters().


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends