Chaste  Build::
SurfaceCleaner Class Reference

#include <SurfaceCleaner.hpp>

+ Collaboration diagram for SurfaceCleaner:

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< SurfaceCleanerCreate ()
 

Private Attributes

vtkSmartPointer< vtkPolyData > mpInputSurface
 
vtkSmartPointer< vtkPolyData > mpOutputSurface
 
double mDecimateTargetReduction
 
double mDecimateFeatureAngle
 
unsigned mLinearSubdivisionNumber
 

Detailed Description

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.

Constructor & Destructor Documentation

SurfaceCleaner::SurfaceCleaner ( )

Constructor

Definition at line 40 of file SurfaceCleaner.cpp.

SurfaceCleaner::~SurfaceCleaner ( )

Destructor

Definition at line 56 of file SurfaceCleaner.cpp.

Member Function Documentation

boost::shared_ptr< SurfaceCleaner > SurfaceCleaner::Create ( )
static

Factory constructor method

Returns
a pointer the surface cleaner

Definition at line 50 of file SurfaceCleaner.cpp.

vtkSmartPointer< vtkPolyData > SurfaceCleaner::GetOutput ( )

Return the cleaned surface

Returns
the cleaned surface

Definition at line 61 of file SurfaceCleaner.cpp.

References mpOutputSurface.

void SurfaceCleaner::SetDecimateFeatureAngle ( double  value)

Angle for preserving features

Parameters
valuethe feature angle

Definition at line 83 of file SurfaceCleaner.cpp.

References mDecimateFeatureAngle.

void SurfaceCleaner::SetDecimateTargetReduction ( double  value)

Set the input surface

Parameters
valuethe target reduction value

Definition at line 78 of file SurfaceCleaner.cpp.

References mDecimateTargetReduction.

void SurfaceCleaner::SetInput ( vtkSmartPointer< vtkPolyData >  pInputSurface)

Set the input surface

Parameters
pInputSurfacethe input surface for cleaning

Definition at line 73 of file SurfaceCleaner.cpp.

References mpInputSurface.

void SurfaceCleaner::SetLinearSubdivisionNumber ( double  value)

Number of linear subdivision

Parameters
valuethe number of subdivisions

Definition at line 88 of file SurfaceCleaner.cpp.

References mLinearSubdivisionNumber.

void SurfaceCleaner::Update ( )

Member Data Documentation

double SurfaceCleaner::mDecimateFeatureAngle
private

The feature angle for the decimation filter

Definition at line 70 of file SurfaceCleaner.hpp.

Referenced by SetDecimateFeatureAngle(), and Update().

double SurfaceCleaner::mDecimateTargetReduction
private

The target reduction for the decimation filter

Definition at line 65 of file SurfaceCleaner.hpp.

Referenced by SetDecimateTargetReduction(), and Update().

unsigned SurfaceCleaner::mLinearSubdivisionNumber
private

The number of subdivisions to perform

Definition at line 75 of file SurfaceCleaner.hpp.

Referenced by SetLinearSubdivisionNumber(), and Update().

vtkSmartPointer<vtkPolyData> SurfaceCleaner::mpInputSurface
private

The input surface

Definition at line 55 of file SurfaceCleaner.hpp.

Referenced by SetInput(), and Update().

vtkSmartPointer<vtkPolyData> SurfaceCleaner::mpOutputSurface
private

The output surface

Definition at line 60 of file SurfaceCleaner.hpp.

Referenced by GetOutput(), and Update().


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