Chaste
Build::
|
#include <SurfaceCleaner.hpp>
Public Member Functions | |
SurfaceCleaner () | |
~SurfaceCleaner () | |
vtkSmartPointer< vtkPolyData > | GetOutput () |
void | SetInput (vtkSmartPointer< vtkPolyData > pInputSurface) |
void | SetDecimateTargetReduction (double value) |
void | SetDecimateFeatureAngle (double value) |
void | SetLinearSubdivisionNumber (double value) |
void | Update () |
Static Public Member Functions | |
static boost::shared_ptr< SurfaceCleaner > | Create () |
Private Attributes | |
vtkSmartPointer< vtkPolyData > | mpInputSurface |
vtkSmartPointer< vtkPolyData > | mpOutputSurface |
double | mDecimateTargetReduction |
double | mDecimateFeatureAngle |
unsigned | mLinearSubdivisionNumber |
This class tries to improve the quality of a triangulated vtk polydata surface through decimation and then linear subdivision. It is useful for removing 'staircase' effects in surfaces derived from pixel/voxel based descriptions. With increased 'cleaning' there is greater divergence of the output surface from the original.
Definition at line 50 of file SurfaceCleaner.hpp.
SurfaceCleaner::SurfaceCleaner | ( | ) |
Constructor
Definition at line 40 of file SurfaceCleaner.cpp.
SurfaceCleaner::~SurfaceCleaner | ( | ) |
Destructor
Definition at line 56 of file SurfaceCleaner.cpp.
|
static |
Factory constructor method
Definition at line 50 of file SurfaceCleaner.cpp.
vtkSmartPointer< vtkPolyData > SurfaceCleaner::GetOutput | ( | ) |
Return the cleaned surface
Definition at line 61 of file SurfaceCleaner.cpp.
References mpOutputSurface.
void SurfaceCleaner::SetDecimateFeatureAngle | ( | double | value | ) |
Angle for preserving features
value | the feature angle |
Definition at line 83 of file SurfaceCleaner.cpp.
References mDecimateFeatureAngle.
void SurfaceCleaner::SetDecimateTargetReduction | ( | double | value | ) |
Set the input surface
value | the target reduction value |
Definition at line 78 of file SurfaceCleaner.cpp.
References mDecimateTargetReduction.
void SurfaceCleaner::SetInput | ( | vtkSmartPointer< vtkPolyData > | pInputSurface | ) |
Set the input surface
pInputSurface | the input surface for cleaning |
Definition at line 73 of file SurfaceCleaner.cpp.
References mpInputSurface.
void SurfaceCleaner::SetLinearSubdivisionNumber | ( | double | value | ) |
Number of linear subdivision
value | the number of subdivisions |
Definition at line 88 of file SurfaceCleaner.cpp.
References mLinearSubdivisionNumber.
void SurfaceCleaner::Update | ( | ) |
Run the cleaner
Definition at line 93 of file SurfaceCleaner.cpp.
References mDecimateFeatureAngle, mDecimateTargetReduction, mLinearSubdivisionNumber, mpInputSurface, and mpOutputSurface.
|
private |
The feature angle for the decimation filter
Definition at line 70 of file SurfaceCleaner.hpp.
Referenced by SetDecimateFeatureAngle(), and Update().
|
private |
The target reduction for the decimation filter
Definition at line 65 of file SurfaceCleaner.hpp.
Referenced by SetDecimateTargetReduction(), and Update().
|
private |
The number of subdivisions to perform
Definition at line 75 of file SurfaceCleaner.hpp.
Referenced by SetLinearSubdivisionNumber(), and Update().
|
private |
The input surface
Definition at line 55 of file SurfaceCleaner.hpp.
Referenced by SetInput(), and Update().
|
private |
The output surface
Definition at line 60 of file SurfaceCleaner.hpp.
Referenced by GetOutput(), and Update().