00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00101
#ifndef __vtkSmoothPolyDataFilter_h
00102
#define __vtkSmoothPolyDataFilter_h
00103
00104
#include "vtkPolyDataToPolyDataFilter.h"
00105
00106
class vtkSmoothPoints;
00107
00108 class VTK_GRAPHICS_EXPORT vtkSmoothPolyDataFilter :
public vtkPolyDataToPolyDataFilter
00109 {
00110
public:
00111 vtkTypeRevisionMacro(vtkSmoothPolyDataFilter,
vtkPolyDataToPolyDataFilter);
00112
void PrintSelf(ostream& os,
vtkIndent indent);
00113
00119
static vtkSmoothPolyDataFilter *
New();
00120
00122
00124 vtkSetClampMacro(Convergence,
float,0.0,1.0);
00125 vtkGetMacro(Convergence,
float);
00127
00129
00130 vtkSetClampMacro(NumberOfIterations,
int,0,VTK_LARGE_INTEGER);
00131 vtkGetMacro(NumberOfIterations,
int);
00133
00135
00140 vtkSetMacro(RelaxationFactor,
float);
00141 vtkGetMacro(RelaxationFactor,
float);
00143
00145
00146 vtkSetMacro(FeatureEdgeSmoothing,
int);
00147 vtkGetMacro(FeatureEdgeSmoothing,
int);
00148 vtkBooleanMacro(FeatureEdgeSmoothing,
int);
00150
00152
00153 vtkSetClampMacro(FeatureAngle,
float,0.0,180.0);
00154 vtkGetMacro(FeatureAngle,
float);
00156
00158
00160 vtkSetClampMacro(EdgeAngle,
float,0.0,180.0);
00161 vtkGetMacro(EdgeAngle,
float);
00163
00165
00166 vtkSetMacro(BoundarySmoothing,
int);
00167 vtkGetMacro(BoundarySmoothing,
int);
00168 vtkBooleanMacro(BoundarySmoothing,
int);
00170
00172
00173 vtkSetMacro(GenerateErrorScalars,
int);
00174 vtkGetMacro(GenerateErrorScalars,
int);
00175 vtkBooleanMacro(GenerateErrorScalars,
int);
00177
00179
00180 vtkSetMacro(GenerateErrorVectors,
int);
00181 vtkGetMacro(GenerateErrorVectors,
int);
00182 vtkBooleanMacro(GenerateErrorVectors,
int);
00184
00186
00189
void SetSource(
vtkPolyData *source);
00190
vtkPolyData *GetSource();
00192
00193
protected:
00194 vtkSmoothPolyDataFilter();
00195 ~vtkSmoothPolyDataFilter() {};
00196
00197
void Execute();
00198
00199 float Convergence;
00200 int NumberOfIterations;
00201 float RelaxationFactor;
00202 int FeatureEdgeSmoothing;
00203 float FeatureAngle;
00204 float EdgeAngle;
00205 int BoundarySmoothing;
00206 int GenerateErrorScalars;
00207 int GenerateErrorVectors;
00208
00209 vtkSmoothPoints *SmoothPoints;
00210
private:
00211 vtkSmoothPolyDataFilter(
const vtkSmoothPolyDataFilter&);
00212
void operator=(
const vtkSmoothPolyDataFilter&);
00213 };
00214
00215
#endif