|
Point Cloud Library (PCL)
1.6.0
|
The marching cubes surface reconstruction algorithm. More...
#include <pcl/surface/marching_cubes.h>


Public Types | |
| typedef pcl::PointCloud < PointNT >::Ptr | PointCloudPtr |
| typedef pcl::KdTree< PointNT > | KdTree |
| typedef pcl::KdTree< PointNT >::Ptr | KdTreePtr |
| typedef pcl::PointCloud< PointNT > | PointCloud |
| typedef PointCloud::ConstPtr | PointCloudConstPtr |
| typedef PointIndices::Ptr | PointIndicesPtr |
| typedef PointIndices::ConstPtr | PointIndicesConstPtr |
Public Member Functions | |
| MarchingCubes () | |
| Constructor. | |
| ~MarchingCubes () | |
| Destructor. | |
| void | setIsoLevel (float iso_level) |
| Method that sets the iso level of the surface to be extracted. | |
| float | getIsoLevel () |
| Method that returns the iso level of the surface to be extracted. | |
| void | setGridResolution (int res_x, int res_y, int res_z) |
| Method that sets the marching cubes grid resolution. | |
| void | getGridResolution (int &res_x, int &res_y, int &res_z) |
| Method to get the marching cubes grid resolution. | |
| void | setPercentageExtendGrid (float percentage) |
| Method that sets the parameter that defines how much free space should be left inside the grid between the bounding box of the point cloud and the grid limits. | |
| float | getPercentageExtendGrid () |
| Method that gets the parameter that defines how much free space should be left inside the grid between the bounding box of the point cloud and the grid limits, as a percentage of the bounding box. | |
| virtual void | reconstruct (pcl::PolygonMesh &output) |
| Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()> | |
| virtual void | reconstruct (pcl::PointCloud< PointNT > &points, std::vector< pcl::Vertices > &polygons) |
| Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()> | |
| void | setSearchMethod (const KdTreePtr &tree) |
| Provide an optional pointer to a search object. | |
| KdTreePtr | getSearchMethod () |
| Get a pointer to the search method used. | |
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Provide a pointer to the input dataset. | |
| PointCloudConstPtr const | getInputCloud () |
| Get a pointer to the input point cloud dataset. | |
| void | setIndices (const IndicesPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| void | setIndices (const IndicesConstPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| void | setIndices (const PointIndicesConstPtr &indices) |
| Provide a pointer to the vector of indices that represents the input data. | |
| void | setIndices (size_t row_start, size_t col_start, size_t nb_rows, size_t nb_cols) |
| Set the indices for the points laying within an interest region of the point cloud. | |
| IndicesPtr const | getIndices () |
| Get a pointer to the vector of indices used. | |
| const PointNT & | operator[] (size_t pos) |
| Override PointCloud operator[] to shorten code. | |
The marching cubes surface reconstruction algorithm.
This is an abstract class that takes a grid and extracts the isosurface as a mesh, based on the original marching cubes paper:
Lorensen W.E., Cline H.E., "Marching cubes: A high resolution 3d surface construction algorithm", SIGGRAPH '87
Definition at line 363 of file marching_cubes.h.
| typedef pcl::KdTree<PointNT> pcl::MarchingCubes< PointNT >::KdTree |
Reimplemented from pcl::PCLSurfaceBase< PointNT >.
Reimplemented in pcl::MarchingCubesRBF< PointNT >, and pcl::MarchingCubesHoppe< PointNT >.
Definition at line 371 of file marching_cubes.h.
| typedef pcl::KdTree<PointNT>::Ptr pcl::MarchingCubes< PointNT >::KdTreePtr |
Reimplemented from pcl::PCLSurfaceBase< PointNT >.
Reimplemented in pcl::MarchingCubesRBF< PointNT >, and pcl::MarchingCubesHoppe< PointNT >.
Definition at line 372 of file marching_cubes.h.
typedef pcl::PointCloud<PointNT > pcl::PCLBase< PointNT >::PointCloud [inherited] |
Definition at line 74 of file pcl_base.h.
typedef PointCloud::ConstPtr pcl::PCLBase< PointNT >::PointCloudConstPtr [inherited] |
Definition at line 76 of file pcl_base.h.
| typedef pcl::PointCloud<PointNT>::Ptr pcl::MarchingCubes< PointNT >::PointCloudPtr |
Reimplemented from pcl::PCLBase< PointNT >.
Reimplemented in pcl::MarchingCubesRBF< PointNT >, and pcl::MarchingCubesHoppe< PointNT >.
Definition at line 369 of file marching_cubes.h.
typedef PointIndices::ConstPtr pcl::PCLBase< PointNT >::PointIndicesConstPtr [inherited] |
Definition at line 79 of file pcl_base.h.
typedef PointIndices::Ptr pcl::PCLBase< PointNT >::PointIndicesPtr [inherited] |
Definition at line 78 of file pcl_base.h.
| pcl::MarchingCubes< PointNT >::MarchingCubes | ( | ) |
Constructor.
Definition at line 47 of file marching_cubes.hpp.
| pcl::MarchingCubes< PointNT >::~MarchingCubes | ( | ) |
Destructor.
Definition at line 54 of file marching_cubes.hpp.
| void pcl::MarchingCubes< PointNT >::getGridResolution | ( | int & | res_x, |
| int & | res_y, | ||
| int & | res_z | ||
| ) | [inline] |
Method to get the marching cubes grid resolution.
| [in] | res_x | the resolution of the grid along the x-axis |
| [in] | res_y | the resolution of the grid along the y-axis |
| [in] | res_z | the resolution of the grid along the z-axis |
Definition at line 410 of file marching_cubes.h.
| IndicesPtr const pcl::PCLBase< PointNT >::getIndices | ( | ) | [inline, inherited] |
Get a pointer to the vector of indices used.
Definition at line 190 of file pcl_base.h.
| PointCloudConstPtr const pcl::PCLBase< PointNT >::getInputCloud | ( | ) | [inline, inherited] |
Get a pointer to the input point cloud dataset.
Definition at line 107 of file pcl_base.h.
| float pcl::MarchingCubes< PointNT >::getIsoLevel | ( | ) | [inline] |
Method that returns the iso level of the surface to be extracted.
Definition at line 391 of file marching_cubes.h.
| float pcl::MarchingCubes< PointNT >::getPercentageExtendGrid | ( | ) | [inline] |
Method that gets the parameter that defines how much free space should be left inside the grid between the bounding box of the point cloud and the grid limits, as a percentage of the bounding box.
Definition at line 427 of file marching_cubes.h.
| KdTreePtr pcl::PCLSurfaceBase< PointNT >::getSearchMethod | ( | ) | [inline, inherited] |
Get a pointer to the search method used.
Definition at line 82 of file reconstruction.h.
| const PointNT & pcl::PCLBase< PointNT >::operator[] | ( | size_t | pos | ) | [inline, inherited] |
Override PointCloud operator[] to shorten code.
| pos | position in indices_ vector |
Definition at line 197 of file pcl_base.h.
| virtual void pcl::SurfaceReconstruction< PointNT >::reconstruct | ( | pcl::PolygonMesh & | output | ) | [virtual, inherited] |
Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>
| [out] | output | the resultant reconstructed surface model |
Implements pcl::PCLSurfaceBase< PointNT >.
| virtual void pcl::SurfaceReconstruction< PointNT >::reconstruct | ( | pcl::PointCloud< PointNT > & | points, |
| std::vector< pcl::Vertices > & | polygons | ||
| ) | [virtual, inherited] |
Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>
| [out] | points | the resultant points lying on the new surface |
| [out] | polygons | the resultant polygons, as a set of vertices. The Vertices structure contains an array of point indices. |
| void pcl::MarchingCubes< PointNT >::setGridResolution | ( | int | res_x, |
| int | res_y, | ||
| int | res_z | ||
| ) | [inline] |
Method that sets the marching cubes grid resolution.
| [in] | res_x | the resolution of the grid along the x-axis |
| [in] | res_y | the resolution of the grid along the y-axis |
| [in] | res_z | the resolution of the grid along the z-axis |
Definition at line 400 of file marching_cubes.h.
| void pcl::PCLBase< PointNT >::setIndices | ( | const IndicesPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 113 of file pcl_base.h.
| void pcl::PCLBase< PointNT >::setIndices | ( | const IndicesConstPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 124 of file pcl_base.h.
| void pcl::PCLBase< PointNT >::setIndices | ( | const PointIndicesConstPtr & | indices | ) | [inline, inherited] |
Provide a pointer to the vector of indices that represents the input data.
| indices | a pointer to the vector of indices that represents the input data. |
Definition at line 135 of file pcl_base.h.
| void pcl::PCLBase< PointNT >::setIndices | ( | size_t | row_start, |
| size_t | col_start, | ||
| size_t | nb_rows, | ||
| size_t | nb_cols | ||
| ) | [inline, inherited] |
Set the indices for the points laying within an interest region of the point cloud.
| row_start | the offset on rows |
| col_start | the offset on columns |
| nb_rows | the number of rows to be considered row_start included |
| nb_cols | the number of columns to be considered col_start included |
Definition at line 151 of file pcl_base.h.
| virtual void pcl::PCLBase< PointNT >::setInputCloud | ( | const PointCloudConstPtr & | cloud | ) | [inline, virtual, inherited] |
Provide a pointer to the input dataset.
| cloud | the const boost shared pointer to a PointCloud message |
Definition at line 103 of file pcl_base.h.
| void pcl::MarchingCubes< PointNT >::setIsoLevel | ( | float | iso_level | ) | [inline] |
Method that sets the iso level of the surface to be extracted.
| [in] | iso_level | the iso level. |
Definition at line 386 of file marching_cubes.h.
| void pcl::MarchingCubes< PointNT >::setPercentageExtendGrid | ( | float | percentage | ) | [inline] |
Method that sets the parameter that defines how much free space should be left inside the grid between the bounding box of the point cloud and the grid limits.
Does not affect the resolution of the grid, it just changes the voxel size accordingly.
| [in] | percentage | the percentage of the bounding box that should be left empty between the bounding box and the grid limits. |
Definition at line 420 of file marching_cubes.h.
| void pcl::PCLSurfaceBase< PointNT >::setSearchMethod | ( | const KdTreePtr & | tree | ) | [inline, inherited] |
Provide an optional pointer to a search object.
| [in] | tree | a pointer to the spatial search object. |
Definition at line 75 of file reconstruction.h.
1.7.6.1