Point Cloud Library (PCL)  1.5.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions
pcl::MeshSmoothingLaplacianVTK Class Reference

PCL mesh smoothing based on the vtkSmoothPolyDataFilter algorithm from the VTK library. More...

#include <pcl/surface/vtk_smoothing/vtk_mesh_smoothing_laplacian.h>

Inheritance diagram for pcl::MeshSmoothingLaplacianVTK:
Inheritance graph
[legend]
Collaboration diagram for pcl::MeshSmoothingLaplacianVTK:
Collaboration graph
[legend]

List of all members.

Public Types

typedef PolygonMesh::ConstPtr PolygonMeshConstPtr

Public Member Functions

 MeshSmoothingLaplacianVTK ()
 Empty constructor that sets the values of the algorithm parameters to the VTK defaults.
void setNumIter (int num_iter)
 Set the number of iterations for the smoothing filter.
int getNumIter ()
 Get the number of iterations.
void setConvergence (float convergence)
 Specify a convergence criterion for the iteration process.
float getConvergence ()
 Get the convergence criterion.
void setRelaxationFactor (float relaxation_factor)
 Specify the relaxation factor for Laplacian smoothing.
float getRelaxationFactor ()
 Get the relaxation factor of the Laplacian smoothing.
void setFeatureEdgeSmoothing (bool feature_edge_smoothing)
 Turn on/off smoothing along sharp interior edges.
bool getFeatureEdgeSmoothing ()
 Get the status of the feature edge smoothing.
void setFeatureAngle (float feature_angle)
 Specify the feature angle for sharp edge identification.
float getFeatureAngle ()
 Get the angle threshold for considering an edge to be sharp.
void setEdgeAngle (float edge_angle)
 Specify the edge angle to control smoothing along edges (either interior or boundary).
float getEdgeAngle ()
 Get the edge angle to control smoothing along edges.
void setBoundarySmoothing (bool boundary_smoothing)
 Turn on/off the smoothing of vertices on the boundary of the mesh.
bool getBoundarySmoothing ()
 Get the status of the boundary smoothing.
void setInputMesh (const pcl::PolygonMeshConstPtr &input)
 Set the input mesh that we want to process.
void process (pcl::PolygonMesh &output)
 Process the input surface mesh and store the results.

Detailed Description

PCL mesh smoothing based on the vtkSmoothPolyDataFilter algorithm from the VTK library.

Please check out the original documentation for more details on the inner workings of the algorithm Warning: This wrapper does two fairly computationally expensive conversions from the PCL PolygonMesh data structure to the vtkPolyData data structure and back.

Definition at line 54 of file vtk_mesh_smoothing_laplacian.h.


Member Typedef Documentation

Definition at line 55 of file processing.h.


Constructor & Destructor Documentation

Empty constructor that sets the values of the algorithm parameters to the VTK defaults.

Definition at line 58 of file vtk_mesh_smoothing_laplacian.h.


Member Function Documentation

Get the status of the boundary smoothing.

Definition at line 179 of file vtk_mesh_smoothing_laplacian.h.

Get the convergence criterion.

Definition at line 96 of file vtk_mesh_smoothing_laplacian.h.

Get the edge angle to control smoothing along edges.

Definition at line 163 of file vtk_mesh_smoothing_laplacian.h.

Get the angle threshold for considering an edge to be sharp.

Definition at line 147 of file vtk_mesh_smoothing_laplacian.h.

Get the status of the feature edge smoothing.

Definition at line 131 of file vtk_mesh_smoothing_laplacian.h.

Get the number of iterations.

Definition at line 80 of file vtk_mesh_smoothing_laplacian.h.

Get the relaxation factor of the Laplacian smoothing.

Definition at line 115 of file vtk_mesh_smoothing_laplacian.h.

void pcl::MeshProcessing::process ( pcl::PolygonMesh output) [inherited]

Process the input surface mesh and store the results.

Parameters:
[out]outputthe resultant processed surface model
void pcl::MeshSmoothingLaplacianVTK::setBoundarySmoothing ( bool  boundary_smoothing) [inline]

Turn on/off the smoothing of vertices on the boundary of the mesh.

Parameters:
[in]boundary_smoothingdecision whether boundary smoothing is on or off

Definition at line 172 of file vtk_mesh_smoothing_laplacian.h.

void pcl::MeshSmoothingLaplacianVTK::setConvergence ( float  convergence) [inline]

Specify a convergence criterion for the iteration process.

Smaller numbers result in more smoothing iterations.

Parameters:
[in]convergenceconvergence criterion for the Laplacian smoothing

Definition at line 89 of file vtk_mesh_smoothing_laplacian.h.

void pcl::MeshSmoothingLaplacianVTK::setEdgeAngle ( float  edge_angle) [inline]

Specify the edge angle to control smoothing along edges (either interior or boundary).

Parameters:
[in]edge_anglethe angle to control smoothing along edges

Definition at line 156 of file vtk_mesh_smoothing_laplacian.h.

void pcl::MeshSmoothingLaplacianVTK::setFeatureAngle ( float  feature_angle) [inline]

Specify the feature angle for sharp edge identification.

Parameters:
[in]feature_anglethe angle threshold for considering an edge to be sharp

Definition at line 140 of file vtk_mesh_smoothing_laplacian.h.

void pcl::MeshSmoothingLaplacianVTK::setFeatureEdgeSmoothing ( bool  feature_edge_smoothing) [inline]

Turn on/off smoothing along sharp interior edges.

Parameters:
[in]statusdecision whether to enable/disable smoothing along sharp interior edges

Definition at line 124 of file vtk_mesh_smoothing_laplacian.h.

void pcl::MeshProcessing::setInputMesh ( const pcl::PolygonMeshConstPtr input) [inline, inherited]

Set the input mesh that we want to process.

Parameters:
[in]inputthe input polygonal mesh

Definition at line 64 of file processing.h.

void pcl::MeshSmoothingLaplacianVTK::setNumIter ( int  num_iter) [inline]

Set the number of iterations for the smoothing filter.

Parameters:
[in]num_iterthe number of iterations

Definition at line 73 of file vtk_mesh_smoothing_laplacian.h.

void pcl::MeshSmoothingLaplacianVTK::setRelaxationFactor ( float  relaxation_factor) [inline]

Specify the relaxation factor for Laplacian smoothing.

As in all iterative methods, the stability of the process is sensitive to this parameter. In general, small relaxation factors and large numbers of iterations are more stable than larger relaxation factors and smaller numbers of iterations.

Parameters:
[in]relaxation_factorthe relaxation factor of the Laplacian smoothing algorithm

Definition at line 108 of file vtk_mesh_smoothing_laplacian.h.


The documentation for this class was generated from the following file: