ConvexHull using libqhull library. More...
#include <pcl/surface/convex_hull.h>
Public Types | |
using | Ptr = shared_ptr< ConvexHull< PointInT > > |
using | ConstPtr = shared_ptr< const ConvexHull< PointInT > > |
using | PointCloud = pcl::PointCloud< PointInT > |
using | PointCloudPtr = typename PointCloud::Ptr |
using | PointCloudConstPtr = typename PointCloud::ConstPtr |
Public Types inherited from pcl::MeshConstruction< PointInT > | |
using | Ptr = shared_ptr< MeshConstruction< PointInT > > |
using | ConstPtr = shared_ptr< const MeshConstruction< PointInT > > |
Public Types inherited from pcl::PCLSurfaceBase< PointInT > | |
using | Ptr = shared_ptr< PCLSurfaceBase< PointInT > > |
using | ConstPtr = shared_ptr< const PCLSurfaceBase< PointInT > > |
using | KdTree = pcl::search::Search< PointInT > |
using | KdTreePtr = typename KdTree::Ptr |
Public Types inherited from pcl::PCLBase< PointInT > | |
using | PointCloud = pcl::PointCloud< PointInT > |
using | PointCloudPtr = typename PointCloud::Ptr |
using | PointCloudConstPtr = typename PointCloud::ConstPtr |
using | PointIndicesPtr = PointIndices::Ptr |
using | PointIndicesConstPtr = PointIndices::ConstPtr |
Public Member Functions | |
ConvexHull () | |
Empty constructor. More... |
|
~ConvexHull () | |
Empty destructor. More... |
|
void | reconstruct (PointCloud &points, std::vector< pcl::Vertices > &polygons) |
Compute a convex hull for all points given. More... |
|
void | reconstruct (PointCloud &points) |
Compute a convex hull for all points given. More... |
|
void | setComputeAreaVolume (bool value) |
If set to true, the qhull library is called to compute the total area and volume of the convex hull. More... |
|
double | getTotalArea () const |
Returns the total area of the convex hull. More... |
|
double | getTotalVolume () const |
Returns the total volume of the convex hull. More... |
|
void | setDimension (int dimension) |
Sets the dimension on the input data, 2D or 3D. More... |
|
int | getDimension () const |
Returns the dimensionality (2 or 3) of the calculated hull. More... |
|
void | getHullPointIndices (pcl::PointIndices &hull_point_indices) const |
Retrieve the indices of the input point cloud that for the convex hull. More... |
|
Public Member Functions inherited from pcl::MeshConstruction< PointInT > | |
MeshConstruction () | |
Constructor. More... |
|
~MeshConstruction () | |
Destructor. More... |
|
void | reconstruct (pcl::PolygonMesh &output) override |
Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()> More... |
|
virtual void | reconstruct (std::vector< pcl::Vertices > &polygons) |
Base method for mesh construction for all points given in <setInputCloud (), setIndices ()> More... |
|
Public Member Functions inherited from pcl::PCLSurfaceBase< PointInT > | |
PCLSurfaceBase () | |
Empty constructor. More... |
|
~PCLSurfaceBase () | |
Empty destructor. More... |
|
void | setSearchMethod (const KdTreePtr &tree) |
Provide an optional pointer to a search object. More... |
|
KdTreePtr | getSearchMethod () |
Get a pointer to the search method used. More... |
|
Public Member Functions inherited from pcl::PCLBase< PointInT > | |
PCLBase () | |
Empty constructor. More... |
|
PCLBase (const PCLBase &base) | |
Copy constructor. More... |
|
virtual | ~PCLBase ()=default |
Destructor. More... |
|
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. More... |
|
const PointCloudConstPtr | getInputCloud () const |
Get a pointer to the input point cloud dataset. More... |
|
virtual void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (const IndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... |
|
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
Set the indices for the points laying within an interest region of the point cloud. More... |
|
IndicesPtr | getIndices () |
Get a pointer to the vector of indices used. More... |
|
const IndicesConstPtr | getIndices () const |
Get a pointer to the vector of indices used. More... |
|
const PointInT & | operator[] (std::size_t pos) const |
Override PointCloud operator[] to shorten code. More... |
|
Protected Member Functions | |
void | performReconstruction (PointCloud &points, std::vector< pcl::Vertices > &polygons, bool fill_polygon_data=false) |
The actual reconstruction method. More... |
|
void | performReconstruction2D (PointCloud &points, std::vector< pcl::Vertices > &polygons, bool fill_polygon_data=false) |
The reconstruction method for 2D data. More... |
|
void | performReconstruction3D (PointCloud &points, std::vector< pcl::Vertices > &polygons, bool fill_polygon_data=false) |
The reconstruction method for 3D data. More... |
|
void | performReconstruction (PolygonMesh &output) override |
A reconstruction method that returns a polygonmesh. More... |
|
void | performReconstruction (std::vector< pcl::Vertices > &polygons) override |
A reconstruction method that returns the polygon of the convex hull. More... |
|
void | calculateInputDimension () |
Automatically determines the dimension of input data - 2D or 3D. More... |
|
std::string | getClassName () const override |
Class get name method. More... |
|
Protected Member Functions inherited from pcl::PCLBase< PointInT > | |
bool | initCompute () |
This method should get called before starting the actual computation. More... |
|
bool | deinitCompute () |
This method should get called after finishing the actual computation. More... |
|
Protected Attributes | |
bool | compute_area_ |
double | total_area_ |
double | total_volume_ |
int | dimension_ |
The dimensionality of the concave hull (2D or 3D). More... |
|
double | projection_angle_thresh_ |
How close can a 2D plane's normal be to an axis to make projection problematic. More... |
|
std::string | qhull_flags |
Option flag string to be used calling qhull. More... |
|
const Eigen::Vector3d | x_axis_ |
const Eigen::Vector3d | y_axis_ |
const Eigen::Vector3d | z_axis_ |
pcl::PointIndices | hull_indices_ |
Protected Attributes inherited from pcl::MeshConstruction< PointInT > | |
bool | check_tree_ |
A flag specifying whether or not the derived reconstruction algorithm needs the search object tree. More... |
|
Protected Attributes inherited from pcl::PCLSurfaceBase< PointInT > | |
KdTreePtr | tree_ |
A pointer to the spatial search object. More... |
|
Protected Attributes inherited from pcl::PCLBase< PointInT > | |
PointCloudConstPtr | input_ |
The input point cloud dataset. More... |
|
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... |
|
bool | use_indices_ |
Set to true if point indices are used. More... |
|
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... |
|
ConvexHull using libqhull library.
Definition at line 72 of file convex_hull.h.
using pcl::ConvexHull< PointInT >::ConstPtr = shared_ptr<const ConvexHull<PointInT> > |
Definition at line 82 of file convex_hull.h.
using pcl::ConvexHull< PointInT >::PointCloud = pcl::PointCloud<PointInT> |
Definition at line 86 of file convex_hull.h.
using pcl::ConvexHull< PointInT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Definition at line 88 of file convex_hull.h.
using pcl::ConvexHull< PointInT >::PointCloudPtr = typename PointCloud::Ptr |
Definition at line 87 of file convex_hull.h.
using pcl::ConvexHull< PointInT >::Ptr = shared_ptr<ConvexHull<PointInT> > |
Definition at line 81 of file convex_hull.h.
| inline |
Empty constructor.
Definition at line 91 of file convex_hull.h.
| inline |
Empty destructor.
Definition at line 98 of file convex_hull.h.
| protected |
Automatically determines the dimension of input data - 2D or 3D.
Definition at line 57 of file convex_hull.hpp.
References pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized(), and pcl::eigen33().
| inlineoverrideprotectedvirtual |
Class get name method.
Reimplemented from pcl::PCLSurfaceBase< PointInT >.
Definition at line 234 of file convex_hull.h.
Referenced by pcl::ConvexHull< PointInT >::setDimension().
| inline |
Returns the dimensionality (2 or 3) of the calculated hull.
Definition at line 164 of file convex_hull.h.
References pcl::ConvexHull< PointInT >::dimension_.
void pcl::ConvexHull< PointInT >::getHullPointIndices | ( | pcl::PointIndices & | hull_point_indices | ) | const |
Retrieve the indices of the input point cloud that for the convex hull.
[out] | hull_point_indices | The indices of the points forming the point cloud |
Definition at line 503 of file convex_hull.hpp.
| inline |
Returns the total area of the convex hull.
Definition at line 136 of file convex_hull.h.
References pcl::ConvexHull< PointInT >::total_area_.
| inline |
Returns the total volume of the convex hull.
Only valid for 3-dimensional sets. For 2D-sets volume is zero.
Definition at line 145 of file convex_hull.h.
References pcl::ConvexHull< PointInT >::total_volume_.
| protected |
The actual reconstruction method.
[out] | points | the resultant points lying on the convex hull |
[out] | polygons | the resultant convex hull polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
[in] | fill_polygon_data | true if polygons should be filled, false otherwise |
Definition at line 425 of file convex_hull.hpp.
| overrideprotectedvirtual |
A reconstruction method that returns a polygonmesh.
[out] | output | a PolygonMesh representing the convex hull of the input data. |
Implements pcl::MeshConstruction< PointInT >.
Definition at line 463 of file convex_hull.hpp.
References pcl::PolygonMesh::cloud, pcl::PolygonMesh::polygons, and pcl::toPCLPointCloud2().
| overrideprotectedvirtual |
A reconstruction method that returns the polygon of the convex hull.
[out] | polygons | the polygon(s) representing the convex hull of the input data. |
Implements pcl::MeshConstruction< PointInT >.
Definition at line 475 of file convex_hull.hpp.
| protected |
The reconstruction method for 2D data.
Does not require dimension to be set.
[out] | points | the resultant points lying on the convex hull |
[out] | polygons | the resultant convex hull polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
[in] | fill_polygon_data | true if polygons should be filled, false otherwise |
Definition at line 76 of file convex_hull.hpp.
References pcl::PointCloud< PointT >::clear(), pcl::comparePoints2D(), pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized(), pcl::eigen33(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.
| protected |
The reconstruction method for 3D data.
Does not require dimension to be set.
[out] | points | the resultant points lying on the convex hull |
[out] | polygons | the resultant convex hull polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
[in] | fill_polygon_data | true if polygons should be filled, false otherwise |
Definition at line 292 of file convex_hull.hpp.
References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.
void pcl::ConvexHull< PointInT >::reconstruct | ( | PointCloud & | points | ) |
Compute a convex hull for all points given.
[out] | points | the resultant points lying on the convex hull. |
Definition at line 440 of file convex_hull.hpp.
References pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.
void pcl::ConvexHull< PointInT >::reconstruct | ( | PointCloud & | points, |
std::vector< pcl::Vertices > & | polygons | ||
) |
Compute a convex hull for all points given.
[out] | points | the resultant points lying on the convex hull. |
[out] | polygons | the resultant convex hull polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
Definition at line 483 of file convex_hull.hpp.
References pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.
| inline |
If set to true, the qhull library is called to compute the total area and volume of the convex hull.
NOTE: When this option is activated, the qhull library produces output to the console.
[in] | value | whether to compute the area and the volume, default is false |
Definition at line 125 of file convex_hull.h.
References pcl::ConvexHull< PointInT >::compute_area_, and pcl::ConvexHull< PointInT >::qhull_flags.
| 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 154 of file convex_hull.h.
References pcl::ConvexHull< PointInT >::dimension_, and pcl::ConvexHull< PointInT >::getClassName().
| protected |
Definition at line 240 of file convex_hull.h.
Referenced by pcl::ConvexHull< PointInT >::setComputeAreaVolume().
| protected |
The dimensionality of the concave hull (2D or 3D).
Definition at line 249 of file convex_hull.h.
Referenced by pcl::ConvexHull< PointInT >::getDimension(), and pcl::ConvexHull< PointInT >::setDimension().
| protected |
Definition at line 267 of file convex_hull.h.
| protected |
How close can a 2D plane's normal be to an axis to make projection problematic.
Definition at line 252 of file convex_hull.h.
| protected |
Option flag string to be used calling qhull.
Definition at line 255 of file convex_hull.h.
Referenced by pcl::ConvexHull< PointInT >::setComputeAreaVolume().
| protected |
Definition at line 243 of file convex_hull.h.
Referenced by pcl::ConvexHull< PointInT >::getTotalArea().
| protected |
Definition at line 246 of file convex_hull.h.
Referenced by pcl::ConvexHull< PointInT >::getTotalVolume().
| protected |
Definition at line 258 of file convex_hull.h.
| protected |
Definition at line 261 of file convex_hull.h.
| protected |
Definition at line 264 of file convex_hull.h.
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_convex_hull.html