Point Cloud Library (PCL)  1.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions
pcl::SurfaceReconstruction< PointInT > Class Template Reference

SurfaceReconstruction represents a base surface reconstruction class. More...

#include <pcl/surface/reconstruction.h>

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

List of all members.

Public Types

typedef pcl::search::Search
< PointInT > 
KdTree
typedef pcl::search::Search
< PointInT >::Ptr 
KdTreePtr
typedef pcl::PointCloud< PointInT > PointCloud
typedef PointCloud::Ptr PointCloudPtr
typedef PointCloud::ConstPtr PointCloudConstPtr
typedef PointIndices::Ptr PointIndicesPtr
typedef PointIndices::ConstPtr PointIndicesConstPtr

Public Member Functions

 SurfaceReconstruction ()
 Constructor.
virtual ~SurfaceReconstruction ()
 Destructor.
virtual void reconstruct (pcl::PolygonMesh &output)
 Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>
virtual void reconstruct (pcl::PointCloud< PointInT > &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 PointInT & operator[] (size_t pos)
 Override PointCloud operator[] to shorten code.

Detailed Description

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

SurfaceReconstruction represents a base surface reconstruction class.

All surface reconstruction methods take in a point cloud and generate a new surface from it, by either re-sampling the data or generating new data altogether. These methods are thus not preserving the topology of the original data.

Note:
Reconstruction methods that always preserve the original input point cloud data as the surface vertices and simply construct the mesh on top should inherit from MeshConstruction.
Author:
Radu B. Rusu, Michael Dixon, Alexandru E. Ichim

Definition at line 114 of file reconstruction.h.


Member Typedef Documentation

template<typename PointInT>
typedef pcl::search::Search<PointInT> pcl::PCLSurfaceBase< PointInT >::KdTree [inherited]
template<typename PointInT>
typedef pcl::search::Search<PointInT>::Ptr pcl::PCLSurfaceBase< PointInT >::KdTreePtr [inherited]
typedef pcl::PointCloud<PointInT > pcl::PCLBase< PointInT >::PointCloud [inherited]

Definition at line 74 of file pcl_base.h.

typedef PointCloud::ConstPtr pcl::PCLBase< PointInT >::PointCloudConstPtr [inherited]
typedef PointCloud::Ptr pcl::PCLBase< PointInT >::PointCloudPtr [inherited]

Reimplemented in pcl::OrganizedFastMesh< PointInT >.

Definition at line 75 of file pcl_base.h.

typedef PointIndices::ConstPtr pcl::PCLBase< PointInT >::PointIndicesConstPtr [inherited]

Definition at line 79 of file pcl_base.h.

typedef PointIndices::Ptr pcl::PCLBase< PointInT >::PointIndicesPtr [inherited]

Definition at line 78 of file pcl_base.h.


Constructor & Destructor Documentation

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

Constructor.

Definition at line 125 of file reconstruction.h.

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

Destructor.

Definition at line 128 of file reconstruction.h.


Member Function Documentation

IndicesPtr const pcl::PCLBase< PointInT >::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< PointInT >::getInputCloud ( ) [inline, inherited]

Get a pointer to the input point cloud dataset.

Definition at line 107 of file pcl_base.h.

template<typename PointInT>
KdTreePtr pcl::PCLSurfaceBase< PointInT >::getSearchMethod ( ) [inline, inherited]

Get a pointer to the search method used.

Definition at line 82 of file reconstruction.h.

const PointInT & pcl::PCLBase< PointInT >::operator[] ( size_t  pos) [inline, inherited]

Override PointCloud operator[] to shorten code.

Note:
this method can be called instead of (*input_)[(*indices_)[pos]] or input_->points[(*indices_)[pos]]
Parameters:
posposition in indices_ vector

Definition at line 197 of file pcl_base.h.

template<typename PointInT >
void pcl::SurfaceReconstruction< PointInT >::reconstruct ( pcl::PolygonMesh output) [virtual]

Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>

Parameters:
[out]outputthe resultant reconstructed surface model

NOTE: passing in boost shared pointer with * as const& should be OK here

NOTE: usually the number of triangles is around twice the number of vertices

Implements pcl::PCLSurfaceBase< PointInT >.

Definition at line 46 of file reconstruction.hpp.

template<typename PointInT>
void pcl::SurfaceReconstruction< PointInT >::reconstruct ( pcl::PointCloud< PointInT > &  points,
std::vector< pcl::Vertices > &  polygons 
) [virtual]

Base method for surface reconstruction for all points given in <setInputCloud (), setIndices ()>

Parameters:
[out]pointsthe resultant points lying on the new surface
[out]polygonsthe resultant polygons, as a set of vertices. The Vertices structure contains an array of point indices.

NOTE: usually the number of triangles is around twice the number of vertices

Definition at line 86 of file reconstruction.hpp.

void pcl::PCLBase< PointInT >::setIndices ( const IndicesPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 113 of file pcl_base.h.

void pcl::PCLBase< PointInT >::setIndices ( const IndicesConstPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 124 of file pcl_base.h.

void pcl::PCLBase< PointInT >::setIndices ( const PointIndicesConstPtr indices) [inline, inherited]

Provide a pointer to the vector of indices that represents the input data.

Parameters:
indicesa pointer to the vector of indices that represents the input data.

Definition at line 135 of file pcl_base.h.

void pcl::PCLBase< PointInT >::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.

Note:
you shouldn't call this method on unorganized point clouds!
Parameters:
row_startthe offset on rows
col_startthe offset on columns
nb_rowsthe number of rows to be considered row_start included
nb_colsthe number of columns to be considered col_start included

Definition at line 151 of file pcl_base.h.

virtual void pcl::PCLBase< PointInT >::setInputCloud ( const PointCloudConstPtr cloud) [inline, virtual, inherited]

Provide a pointer to the input dataset.

Parameters:
cloudthe const boost shared pointer to a PointCloud message

Definition at line 103 of file pcl_base.h.

template<typename PointInT>
void pcl::PCLSurfaceBase< PointInT >::setSearchMethod ( const KdTreePtr tree) [inline, inherited]

Provide an optional pointer to a search object.

Parameters:
[in]treea pointer to the spatial search object.

Definition at line 75 of file reconstruction.h.


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