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

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 boost::shared_ptr
< SurfaceReconstruction
< PointInT > > 
Ptr
typedef boost::shared_ptr
< const SurfaceReconstruction
< PointInT > > 
ConstPtr

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 ()>.

Protected Member Functions

virtual void performReconstruction (pcl::PolygonMesh &output)=0
 Abstract surface reconstruction method.
virtual void performReconstruction (pcl::PointCloud< PointInT > &points, std::vector< pcl::Vertices > &polygons)=0
 Abstract surface reconstruction method.

Protected Attributes

bool check_tree_
 A flag specifying whether or not the derived reconstruction algorithm needs the search object tree.

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 119 of file reconstruction.h.


Member Typedef Documentation

template<typename PointInT>
typedef boost::shared_ptr<const SurfaceReconstruction<PointInT> > pcl::SurfaceReconstruction< PointInT >::ConstPtr
template<typename PointInT>
typedef boost::shared_ptr<SurfaceReconstruction<PointInT> > pcl::SurfaceReconstruction< PointInT >::Ptr

Constructor & Destructor Documentation

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

Constructor.

Definition at line 133 of file reconstruction.h.

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

Destructor.

Definition at line 136 of file reconstruction.h.


Member Function Documentation

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

Abstract surface reconstruction method.

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

Implemented in pcl::GridProjection< PointNT >, pcl::MarchingCubes< PointNT >, and pcl::Poisson< PointNT >.

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

Abstract surface reconstruction method.

Parameters:
[out] output the output polygonal mesh

Implemented in pcl::GridProjection< PointNT >, pcl::MarchingCubes< PointNT >, and pcl::Poisson< PointNT >.

Referenced by pcl::SurfaceReconstruction< PointInT >::reconstruct().

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

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

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

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

Definition at line 86 of file reconstruction.hpp.

References pcl::SurfaceReconstruction< PointInT >::check_tree_, pcl::PointCloud< PointT >::clear(), pcl::PCLBase< PointInT >::deinitCompute(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PCLBase< PointInT >::indices_, pcl::PCLBase< PointInT >::initCompute(), pcl::PCLBase< PointInT >::input_, pcl::SurfaceReconstruction< PointInT >::performReconstruction(), pcl::PCLSurfaceBase< PointInT >::tree_, and pcl::PointCloud< PointT >::width.

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

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

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

References pcl::SurfaceReconstruction< PointInT >::check_tree_, pcl::PolygonMesh::cloud, pcl::PCLPointCloud2::data, pcl::PCLBase< PointInT >::deinitCompute(), pcl::PolygonMesh::header, pcl::PCLPointCloud2::height, pcl::PCLBase< PointInT >::indices_, pcl::PCLBase< PointInT >::initCompute(), pcl::PCLBase< PointInT >::input_, pcl::SurfaceReconstruction< PointInT >::performReconstruction(), pcl::PolygonMesh::polygons, pcl::toPCLPointCloud2(), pcl::PCLSurfaceBase< PointInT >::tree_, and pcl::PCLPointCloud2::width.


Member Data Documentation

template<typename PointInT>
bool pcl::SurfaceReconstruction< PointInT >::check_tree_ [protected]

A flag specifying whether or not the derived reconstruction algorithm needs the search object tree.

Definition at line 158 of file reconstruction.h.

Referenced by pcl::SurfaceReconstruction< PointInT >::reconstruct().


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