Volume Cartographer 2.27.0
|
Apply Laplacian smoothing to a mesh. More...
#include <vc/meshing/LaplacianSmooth.hpp>
Public Member Functions | |
void | setInputMesh (const ITKMesh::Pointer &m) |
Set the input mesh. | |
void | setIterations (std::size_t i) |
The number of smoothing interations. More... | |
void | setRelaxationFactor (double f) |
Relaxation factor for Laplacian smoothing. More... | |
void | setFeatureEdgeSmoothing (bool b) |
Smoothing along sharp interior edges. More... | |
void | setFeatureAngle (double a) |
Feature angle for sharp edge identification. More... | |
void | setEdgeAngle (double a) |
Edge angle for sharp edge identification. More... | |
void | setBoundarySmoothing (bool b) |
Smoothing vertices on the mesh boundary. More... | |
auto | iterations () const -> std::size_t |
The number of smoothing interations. | |
auto | relaxationFactor () const -> double |
Relaxation factor for Laplacian smoothing. | |
auto | featureEdgeSmoothing () const -> bool |
Smoothing along sharp interior edges. | |
auto | featureAngle () const -> double |
Feature angle for sharp edge identification. | |
auto | edgeAngle () const -> double |
Edge angle for sharp edge identification. | |
auto | boundarySmoothing () const -> bool |
Smoothing vertices on the mesh boundary. | |
auto | compute () -> ITKMesh::Pointer |
Compute the smoothed mesh. | |
auto | getOutputMesh () -> ITKMesh::Pointer |
Return the smoothed mesh. | |
Private Attributes | |
ITKMesh::Pointer | input_ {nullptr} |
ITKMesh::Pointer | output_ {nullptr} |
std::size_t | iters_ {20} |
double | relax_ {0.01} |
bool | edgeSmooth_ {false} |
double | featureAngle_ {45} |
double | edgeAngle_ {15} |
bool | boundarySmooth_ {true} |
Apply Laplacian smoothing to a mesh.
A wrapper around vtkSmoothPolyDataFilter
Definition at line 17 of file LaplacianSmooth.hpp.
void volcart::meshing::LaplacianSmooth::setBoundarySmoothing | ( | bool | b | ) |
Smoothing vertices on the mesh boundary.
void volcart::meshing::LaplacianSmooth::setEdgeAngle | ( | double | a | ) |
Edge angle for sharp edge identification.
void volcart::meshing::LaplacianSmooth::setFeatureAngle | ( | double | a | ) |
Feature angle for sharp edge identification.
void volcart::meshing::LaplacianSmooth::setFeatureEdgeSmoothing | ( | bool | b | ) |
Smoothing along sharp interior edges.
void volcart::meshing::LaplacianSmooth::setIterations | ( | std::size_t | i | ) |
The number of smoothing interations.
void volcart::meshing::LaplacianSmooth::setRelaxationFactor | ( | double | f | ) |
Relaxation factor for Laplacian smoothing.
|
private |
Smooth boundary vertices
Definition at line 71 of file LaplacianSmooth.hpp.
|
private |
Sharp edge angle
Definition at line 69 of file LaplacianSmooth.hpp.
|
private |
Do feature edge smoothing
Definition at line 65 of file LaplacianSmooth.hpp.
|
private |
Feature edge angle
Definition at line 67 of file LaplacianSmooth.hpp.
|
private |
Input mesh
Definition at line 57 of file LaplacianSmooth.hpp.
|
private |
Num iters
Definition at line 61 of file LaplacianSmooth.hpp.
|
private |
Output mesh
Definition at line 59 of file LaplacianSmooth.hpp.
|
private |
Relaxation factor
Definition at line 63 of file LaplacianSmooth.hpp.