Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Member Functions | Protected Member Functions
pcl::MeshSmoothingWindowedSincVTK Class Reference

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

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

+ Inheritance diagram for pcl::MeshSmoothingWindowedSincVTK:
+ Collaboration diagram for pcl::MeshSmoothingWindowedSincVTK:

Public Member Functions

 MeshSmoothingWindowedSincVTK ()=default
 Empty constructor that sets the values of the algorithm parameters to the VTK defaults. More...
 
void setNumIter (int num_iter)
 Set the number of iterations for the smoothing filter. More...
 
int getNumIter () const
 Get the number of iterations. More...
 
void setPassBand (float pass_band)
 Set the pass band value for windowed sinc filtering. More...
 
float getPassBand () const
 Get the pass band value. More...
 
void setNormalizeCoordinates (bool normalize_coordinates)
 Turn on/off coordinate normalization. More...
 
bool getNormalizeCoordinates () const
 Get whether the coordinate normalization is active or not. More...
 
void setFeatureEdgeSmoothing (bool feature_edge_smoothing)
 Turn on/off smoothing along sharp interior edges. More...
 
bool getFeatureEdgeSmoothing () const
 Get the status of the feature edge smoothing. More...
 
void setFeatureAngle (float feature_angle)
 Specify the feature angle for sharp edge identification. More...
 
float getFeatureAngle () const
 Get the angle threshold for considering an edge to be sharp. More...
 
void setEdgeAngle (float edge_angle)
 Specify the edge angle to control smoothing along edges (either interior or boundary). More...
 
float getEdgeAngle () const
 Get the edge angle to control smoothing along edges. More...
 
void setBoundarySmoothing (bool boundary_smoothing)
 Turn on/off the smoothing of vertices on the boundary of the mesh. More...
 
bool getBoundarySmoothing () const
 Get the status of the boundary smoothing. More...
 
- Public Member Functions inherited from pcl::MeshProcessing
 MeshProcessing ()=default
 Constructor. More...
 
virtual ~MeshProcessing ()=default
 Destructor. More...
 
void setInputMesh (const pcl::PolygonMeshConstPtr &input)
 Set the input mesh that we want to process. More...
 
pcl::PolygonMeshConstPtr getInputMesh () const
 Get the input mesh to be processed. More...
 
void process (pcl::PolygonMesh &output)
 Process the input surface mesh and store the results. More...
 

Protected Member Functions

void performProcessing (pcl::PolygonMesh &output) override
 Abstract surface processing method. More...
 
- Protected Member Functions inherited from pcl::MeshProcessing
virtual bool initCompute ()
 Initialize computation. More...
 
virtual void deinitCompute ()
 UnInitialize computation. More...
 
virtual std::string getClassName () const
 Abstract class get name method. More...
 

Additional Inherited Members

- Public Types inherited from pcl::MeshProcessing
using Ptr = shared_ptr< MeshProcessing >
 
using ConstPtr = shared_ptr< const MeshProcessing >
 
using PolygonMeshConstPtr = PolygonMesh::ConstPtr
 
- Protected Attributes inherited from pcl::MeshProcessing
pcl::PolygonMeshConstPtr input_mesh_
 Input polygonal mesh. More...
 

Detailed Description

PCL mesh smoothing based on the vtkWindowedSincPolyDataFilter 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 51 of file vtk_mesh_smoothing_windowed_sinc.h.

Constructor & Destructor Documentation

◆ MeshSmoothingWindowedSincVTK()

pcl::MeshSmoothingWindowedSincVTK::MeshSmoothingWindowedSincVTK ( )
default

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

Member Function Documentation

◆ getBoundarySmoothing()

bool pcl::MeshSmoothingWindowedSincVTK::getBoundarySmoothing ( ) const
inline

Get the status of the boundary smoothing.

Definition at line 168 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ getEdgeAngle()

float pcl::MeshSmoothingWindowedSincVTK::getEdgeAngle ( ) const
inline

Get the edge angle to control smoothing along edges.

Definition at line 151 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ getFeatureAngle()

float pcl::MeshSmoothingWindowedSincVTK::getFeatureAngle ( ) const
inline

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

Definition at line 135 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ getFeatureEdgeSmoothing()

bool pcl::MeshSmoothingWindowedSincVTK::getFeatureEdgeSmoothing ( ) const
inline

Get the status of the feature edge smoothing.

Definition at line 119 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ getNormalizeCoordinates()

bool pcl::MeshSmoothingWindowedSincVTK::getNormalizeCoordinates ( ) const
inline

Get whether the coordinate normalization is active or not.

Definition at line 103 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ getNumIter()

int pcl::MeshSmoothingWindowedSincVTK::getNumIter ( ) const
inline

Get the number of iterations.

Definition at line 68 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ getPassBand()

float pcl::MeshSmoothingWindowedSincVTK::getPassBand ( ) const
inline

Get the pass band value.

Definition at line 84 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ performProcessing()

void pcl::MeshSmoothingWindowedSincVTK::performProcessing ( pcl::PolygonMesh output)
overrideprotectedvirtual

Abstract surface processing method.

Implements pcl::MeshProcessing.

◆ setBoundarySmoothing()

void pcl::MeshSmoothingWindowedSincVTK::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 161 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ setEdgeAngle()

void pcl::MeshSmoothingWindowedSincVTK::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 144 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ setFeatureAngle()

void pcl::MeshSmoothingWindowedSincVTK::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 128 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ setFeatureEdgeSmoothing()

void pcl::MeshSmoothingWindowedSincVTK::setFeatureEdgeSmoothing ( bool  feature_edge_smoothing)
inline

Turn on/off smoothing along sharp interior edges.

Parameters
[in]feature_edge_smoothingwhether to enable/disable smoothing along sharp interior edges

Definition at line 112 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ setNormalizeCoordinates()

void pcl::MeshSmoothingWindowedSincVTK::setNormalizeCoordinates ( bool  normalize_coordinates)
inline

Turn on/off coordinate normalization.

The positions can be translated and scaled such that they fit within a [-1, 1] prior to the smoothing computation. The default is off. The numerical stability of the solution can be improved by turning normalization on. If normalization is on, the coordinates will be rescaled to the original coordinate system after smoothing has completed.

Parameters
[in]normalize_coordinatesdecision whether to normalize coordinates or not

Definition at line 96 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ setNumIter()

void pcl::MeshSmoothingWindowedSincVTK::setNumIter ( int  num_iter)
inline

Set the number of iterations for the smoothing filter.

Parameters
[in]num_iterthe number of iterations

Definition at line 61 of file vtk_mesh_smoothing_windowed_sinc.h.

◆ setPassBand()

void pcl::MeshSmoothingWindowedSincVTK::setPassBand ( float  pass_band)
inline

Set the pass band value for windowed sinc filtering.

Parameters
[in]pass_bandvalue for the pass band.

Definition at line 77 of file vtk_mesh_smoothing_windowed_sinc.h.


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