Volume Cartographer 2.27.0
Public Member Functions | Private Attributes | List of all members
volcart::meshing::LaplacianSmooth Class Reference

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}
 

Detailed Description

Apply Laplacian smoothing to a mesh.

A wrapper around vtkSmoothPolyDataFilter

Definition at line 17 of file LaplacianSmooth.hpp.

Member Function Documentation

◆ setBoundarySmoothing()

void volcart::meshing::LaplacianSmooth::setBoundarySmoothing ( bool  b)

Smoothing vertices on the mesh boundary.

◆ setEdgeAngle()

void volcart::meshing::LaplacianSmooth::setEdgeAngle ( double  a)

Edge angle for sharp edge identification.

◆ setFeatureAngle()

void volcart::meshing::LaplacianSmooth::setFeatureAngle ( double  a)

Feature angle for sharp edge identification.

◆ setFeatureEdgeSmoothing()

void volcart::meshing::LaplacianSmooth::setFeatureEdgeSmoothing ( bool  b)

Smoothing along sharp interior edges.

◆ setIterations()

void volcart::meshing::LaplacianSmooth::setIterations ( std::size_t  i)

The number of smoothing interations.

◆ setRelaxationFactor()

void volcart::meshing::LaplacianSmooth::setRelaxationFactor ( double  f)

Relaxation factor for Laplacian smoothing.

Member Data Documentation

◆ boundarySmooth_

bool volcart::meshing::LaplacianSmooth::boundarySmooth_ {true}
private

Smooth boundary vertices

Definition at line 71 of file LaplacianSmooth.hpp.

◆ edgeAngle_

double volcart::meshing::LaplacianSmooth::edgeAngle_ {15}
private

Sharp edge angle

Definition at line 69 of file LaplacianSmooth.hpp.

◆ edgeSmooth_

bool volcart::meshing::LaplacianSmooth::edgeSmooth_ {false}
private

Do feature edge smoothing

Definition at line 65 of file LaplacianSmooth.hpp.

◆ featureAngle_

double volcart::meshing::LaplacianSmooth::featureAngle_ {45}
private

Feature edge angle

Definition at line 67 of file LaplacianSmooth.hpp.

◆ input_

ITKMesh::Pointer volcart::meshing::LaplacianSmooth::input_ {nullptr}
private

Input mesh

Definition at line 57 of file LaplacianSmooth.hpp.

◆ iters_

std::size_t volcart::meshing::LaplacianSmooth::iters_ {20}
private

Num iters

Definition at line 61 of file LaplacianSmooth.hpp.

◆ output_

ITKMesh::Pointer volcart::meshing::LaplacianSmooth::output_ {nullptr}
private

Output mesh

Definition at line 59 of file LaplacianSmooth.hpp.

◆ relax_

double volcart::meshing::LaplacianSmooth::relax_ {0.01}
private

Relaxation factor

Definition at line 63 of file LaplacianSmooth.hpp.


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