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. More...
#include <vtk_mesh_smoothing_windowed_sinc.h>
Public Member Functions | |
bool | getBoundarySmoothing () |
Get the status of the boundary smoothing. | |
float | getEdgeAngle () |
Get the edge angle to control smoothing along edges. | |
float | getFeatureAngle () |
Get the angle threshold for considering an edge to be sharp. | |
bool | getFeatureEdgeSmoothing () |
Get the status of the feature edge smoothing. | |
bool | getNormalizeCoordinates () |
Get whether the coordinate normalization is active or not. | |
int | getNumIter () |
Get the number of iterations. | |
float | getPassBand () |
Get the pass band value. | |
MeshSmoothingWindowedSincVTK () | |
Empty constructor that sets the values of the algorithm parameters to the VTK defaults. | |
void | setBoundarySmoothing (bool boundary_smoothing) |
Turn on/off the smoothing of vertices on the boundary of the mesh. | |
void | setEdgeAngle (float edge_angle) |
Specify the edge angle to control smoothing along edges (either interior or boundary). | |
void | setFeatureAngle (float feature_angle) |
Specify the feature angle for sharp edge identification. | |
void | setFeatureEdgeSmoothing (bool feature_edge_smoothing) |
Turn on/off smoothing along sharp interior edges. | |
void | setNormalizeCoordinates (bool normalize_coordinates) |
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. | |
void | setNumIter (int num_iter) |
Set the number of iterations for the smoothing filter. | |
void | setPassBand (float pass_band) |
Set the pass band value for windowed sinc filtering. | |
Protected Member Functions | |
void | performProcessing (pcl::PolygonMesh &output) |
Abstract surface processing method. | |
Private Attributes | |
bool | boundary_smoothing_ |
float | edge_angle_ |
float | feature_angle_ |
bool | feature_edge_smoothing_ |
bool | normalize_coordinates_ |
int | num_iter_ |
float | pass_band_ |
vtkSmartPointer< vtkPolyData > | vtk_polygons_ |
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 52 of file vtk_mesh_smoothing_windowed_sinc.h.
Empty constructor that sets the values of the algorithm parameters to the VTK defaults.
Definition at line 56 of file vtk_mesh_smoothing_windowed_sinc.h.
bool pcl::MeshSmoothingWindowedSincVTK::getBoundarySmoothing | ( | ) | [inline] |
Get the status of the boundary smoothing.
Definition at line 178 of file vtk_mesh_smoothing_windowed_sinc.h.
float pcl::MeshSmoothingWindowedSincVTK::getEdgeAngle | ( | ) | [inline] |
Get the edge angle to control smoothing along edges.
Definition at line 161 of file vtk_mesh_smoothing_windowed_sinc.h.
float pcl::MeshSmoothingWindowedSincVTK::getFeatureAngle | ( | ) | [inline] |
Get the angle threshold for considering an edge to be sharp.
Definition at line 145 of file vtk_mesh_smoothing_windowed_sinc.h.
bool pcl::MeshSmoothingWindowedSincVTK::getFeatureEdgeSmoothing | ( | ) | [inline] |
Get the status of the feature edge smoothing.
Definition at line 129 of file vtk_mesh_smoothing_windowed_sinc.h.
bool pcl::MeshSmoothingWindowedSincVTK::getNormalizeCoordinates | ( | ) | [inline] |
Get whether the coordinate normalization is active or not.
Definition at line 113 of file vtk_mesh_smoothing_windowed_sinc.h.
int pcl::MeshSmoothingWindowedSincVTK::getNumIter | ( | ) | [inline] |
Get the number of iterations.
Definition at line 78 of file vtk_mesh_smoothing_windowed_sinc.h.
float pcl::MeshSmoothingWindowedSincVTK::getPassBand | ( | ) | [inline] |
Get the pass band value.
Definition at line 94 of file vtk_mesh_smoothing_windowed_sinc.h.
void pcl::MeshSmoothingWindowedSincVTK::performProcessing | ( | pcl::PolygonMesh & | output | ) | [protected, virtual] |
Abstract surface processing method.
Implements pcl::MeshProcessing.
Definition at line 47 of file vtk_mesh_smoothing_windowed_sinc.cpp.
void pcl::MeshSmoothingWindowedSincVTK::setBoundarySmoothing | ( | bool | boundary_smoothing | ) | [inline] |
Turn on/off the smoothing of vertices on the boundary of the mesh.
[in] | boundary_smoothing | decision whether boundary smoothing is on or off |
Definition at line 171 of file vtk_mesh_smoothing_windowed_sinc.h.
void pcl::MeshSmoothingWindowedSincVTK::setEdgeAngle | ( | float | edge_angle | ) | [inline] |
Specify the edge angle to control smoothing along edges (either interior or boundary).
[in] | edge_angle | the angle to control smoothing along edges |
Definition at line 154 of file vtk_mesh_smoothing_windowed_sinc.h.
void pcl::MeshSmoothingWindowedSincVTK::setFeatureAngle | ( | float | feature_angle | ) | [inline] |
Specify the feature angle for sharp edge identification.
[in] | feature_angle | the angle threshold for considering an edge to be sharp |
Definition at line 138 of file vtk_mesh_smoothing_windowed_sinc.h.
void pcl::MeshSmoothingWindowedSincVTK::setFeatureEdgeSmoothing | ( | bool | feature_edge_smoothing | ) | [inline] |
Turn on/off smoothing along sharp interior edges.
[in] | status | decision whether to enable/disable smoothing along sharp interior edges |
Definition at line 122 of file vtk_mesh_smoothing_windowed_sinc.h.
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.
[in] | normalize_coordinates | decision whether to normalize coordinates or not |
Definition at line 106 of file vtk_mesh_smoothing_windowed_sinc.h.
void pcl::MeshSmoothingWindowedSincVTK::setNumIter | ( | int | num_iter | ) | [inline] |
Set the number of iterations for the smoothing filter.
[in] | num_iter | the number of iterations |
Definition at line 71 of file vtk_mesh_smoothing_windowed_sinc.h.
void pcl::MeshSmoothingWindowedSincVTK::setPassBand | ( | float | pass_band | ) | [inline] |
Set the pass band value for windowed sinc filtering.
[in] | pass_band | value for the pass band. |
Definition at line 87 of file vtk_mesh_smoothing_windowed_sinc.h.
bool pcl::MeshSmoothingWindowedSincVTK::boundary_smoothing_ [private] |
Definition at line 195 of file vtk_mesh_smoothing_windowed_sinc.h.
float pcl::MeshSmoothingWindowedSincVTK::edge_angle_ [private] |
Definition at line 194 of file vtk_mesh_smoothing_windowed_sinc.h.
float pcl::MeshSmoothingWindowedSincVTK::feature_angle_ [private] |
Definition at line 193 of file vtk_mesh_smoothing_windowed_sinc.h.
bool pcl::MeshSmoothingWindowedSincVTK::feature_edge_smoothing_ [private] |
Definition at line 192 of file vtk_mesh_smoothing_windowed_sinc.h.
bool pcl::MeshSmoothingWindowedSincVTK::normalize_coordinates_ [private] |
Definition at line 196 of file vtk_mesh_smoothing_windowed_sinc.h.
int pcl::MeshSmoothingWindowedSincVTK::num_iter_ [private] |
Definition at line 190 of file vtk_mesh_smoothing_windowed_sinc.h.
float pcl::MeshSmoothingWindowedSincVTK::pass_band_ [private] |
Definition at line 191 of file vtk_mesh_smoothing_windowed_sinc.h.
vtkSmartPointer<vtkPolyData> pcl::MeshSmoothingWindowedSincVTK::vtk_polygons_ [private] |
Definition at line 189 of file vtk_mesh_smoothing_windowed_sinc.h.