Public Types | Public Member Functions | Protected Member Functions | List of all members
mirtk::MeshSmoothing Class Reference

#include <MeshSmoothing.h>

Inheritance diagram for mirtk::MeshSmoothing:
Inheritance graph
Collaboration diagram for mirtk::MeshSmoothing:
Collaboration graph

Public Types

typedef Array< string > ArrayNames
 List of point data array names.
 
typedef Array< vtkSmartPointer< vtkDataArray > > DataArrays
 Vector of point data arrays to be smoothed.
 
enum  WeightFunction {
  Default, Combinatorial, InverseDistance, Gaussian,
  AnisotropicGaussian, NormalDeviation
}
 Enumeration of smoothing kernel functions. More...
 

Public Member Functions

 MeshSmoothing ()
 Constructor.
 
 MeshSmoothing (const MeshSmoothing &)
 Copy constructor.
 
 mirtkGetMacro (NumberOfIterations, int)
 Get number of smoothing iterations.
 
 mirtkGetMacro (Lambda, double)
 Get relaxation factor.
 
 mirtkGetMacro (Sigma, double)
 Get smoothing kernel standard deviation.
 
 mirtkGetMacro (MaximumDirectionSigma, double)
 Get smoothing kernel standard deviation in direction of maximum curvature.
 
 mirtkOnOffMacro (AdjacentValuesOnly)
 Enable/disable averaging of adjacent node values only.
 
 mirtkOnOffMacro (SmoothPoints)
 Enable/disable smoothing of node positions.
 
 mirtkSetMacro (NumberOfIterations, int)
 Set number of smoothing iterations.
 
 mirtkSetMacro (Lambda, double)
 Set relaxation factor.
 
 mirtkSetMacro (Sigma, double)
 Set smoothing kernel standard deviation.
 
 mirtkSetMacro (MaximumDirectionSigma, double)
 Set smoothing kernel standard deviation in direction of maximum curvature.
 
MeshSmoothingoperator= (const MeshSmoothing &)
 Assignment operator.
 
void SmoothArray (const char *name, int attr=-1)
 
virtual ~MeshSmoothing ()
 Destructor.
 
- Public Member Functions inherited from mirtk::MeshFilter
vtkPolyData * GetOutput ()
 Get output surface mesh.
 
 mirtkOnOffMacro (DoublePrecision)
 Enable/disable double precision output.
 
virtual void Run ()
 Run filter.
 
void SetInput (vtkPolyData *)
 Set input surface mesh.
 
void SetInputData (vtkPolyData *)
 Set input surface mesh.
 
void Update ()
 Run filter.
 
- Public Member Functions inherited from mirtk::Object
virtual const char * NameOfClass () const =0
 Get name of class, which this object is an instance of.
 
virtual ParameterList Parameter () const
 Get parameter name/value pairs.
 
bool Parameter (const ParameterList &)
 Set parameters from name/value pairs.
 
virtual bool Set (const char *name, const char *value)
 
virtual ~Object ()
 Destructor.
 

Protected Member Functions

virtual void Execute ()
 Execute filter.
 
virtual void Finalize ()
 Finalize filter execution.
 
virtual void Initialize ()
 Initialize filter after input and parameters are set.
 
- Protected Member Functions inherited from mirtk::MeshFilter
virtual void InitializeEdgeTable ()
 To be called by subclass in Initialize when _EdgeTable is needed.
 
 MeshFilter ()
 Default constructor.
 
 MeshFilter (const MeshFilter &)
 Copy constructor.
 
vtkSmartPointer< vtkDataArray > NewArray (const char *name, vtkIdType n, int c, int type=VTK_VOID) const
 
vtkSmartPointer< vtkDataArray > NewArray (const char *name, int c=1, int type=VTK_VOID) const
 
vtkSmartPointer< vtkDataArray > NewCellArray (const char *name, int c=1, int type=VTK_VOID) const
 
vtkSmartPointer< vtkDataArray > NewPointArray (const char *name, int c=1, int type=VTK_VOID) const
 
MeshFilteroperator= (const MeshFilter &)
 Assignment operator.
 
virtual ~MeshFilter ()
 Destructor.
 
- Protected Member Functions inherited from mirtk::Object
template<typename... Args>
void Throw (ErrorType err, const char *func, Args... args) const
 

Additional Inherited Members

- Static Public Member Functions inherited from mirtk::Object
static const char * NameOfType ()
 Get name of this class type.
 
- Static Protected Member Functions inherited from mirtk::Object
template<typename... Args>
static void ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args)
 

Detailed Description

Smooth scalars and/or points of triangulated surface mesh

Definition at line 36 of file MeshSmoothing.h.

Member Enumeration Documentation

§ WeightFunction

Enumeration of smoothing kernel functions.

Enumerator
Default 

Undefined weighting function, use default.

Combinatorial 

Uniform node weights / "umbrella operator".

InverseDistance 

Inverse node distance.

Gaussian 

Gaussian node weights.

AnisotropicGaussian 

Anisotropic Gaussian node weights.

NormalDeviation 

Weight by cosine of angle made up by normals.

Definition at line 46 of file MeshSmoothing.h.

Member Function Documentation

§ SmoothArray()

void mirtk::MeshSmoothing::SmoothArray ( const char *  name,
int  attr = -1 
)
inline

Add named point data array to list of arrays to be smoothed

Parameters
[in]nameName of data array to smooth.
[in]attrArray attribute type, see vtkDataSetAttributes::AttributeTypes. When vtkDataSetAttributes::VECTORS, an array with 3 components is treated as 3D direction vectors and the smoothing is performed independent of the sign of the direction.

Definition at line 269 of file MeshSmoothing.h.


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