00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00097
#ifndef __vtkSmoothPolyDataFilter_h
00098
#define __vtkSmoothPolyDataFilter_h
00099
00100
#include "vtkPolyDataToPolyDataFilter.h"
00101
00102
class vtkSmoothPoints;
00103
00104 class VTK_GRAPHICS_EXPORT vtkSmoothPolyDataFilter :
public vtkPolyDataToPolyDataFilter
00105 {
00106
public:
00107 vtkTypeRevisionMacro(vtkSmoothPolyDataFilter,
vtkPolyDataToPolyDataFilter);
00108
void PrintSelf(ostream& os,
vtkIndent indent);
00109
00115
static vtkSmoothPolyDataFilter *
New();
00116
00118
00120 vtkSetClampMacro(Convergence,
double,0.0,1.0);
00121 vtkGetMacro(Convergence,
double);
00123
00125
00126 vtkSetClampMacro(NumberOfIterations,
int,0,VTK_LARGE_INTEGER);
00127 vtkGetMacro(NumberOfIterations,
int);
00129
00131
00136 vtkSetMacro(RelaxationFactor,
double);
00137 vtkGetMacro(RelaxationFactor,
double);
00139
00141
00142 vtkSetMacro(FeatureEdgeSmoothing,
int);
00143 vtkGetMacro(FeatureEdgeSmoothing,
int);
00144 vtkBooleanMacro(FeatureEdgeSmoothing,
int);
00146
00148
00149 vtkSetClampMacro(FeatureAngle,
double,0.0,180.0);
00150 vtkGetMacro(FeatureAngle,
double);
00152
00154
00156 vtkSetClampMacro(EdgeAngle,
double,0.0,180.0);
00157 vtkGetMacro(EdgeAngle,
double);
00159
00161
00162 vtkSetMacro(BoundarySmoothing,
int);
00163 vtkGetMacro(BoundarySmoothing,
int);
00164 vtkBooleanMacro(BoundarySmoothing,
int);
00166
00168
00169 vtkSetMacro(GenerateErrorScalars,
int);
00170 vtkGetMacro(GenerateErrorScalars,
int);
00171 vtkBooleanMacro(GenerateErrorScalars,
int);
00173
00175
00176 vtkSetMacro(GenerateErrorVectors,
int);
00177 vtkGetMacro(GenerateErrorVectors,
int);
00178 vtkBooleanMacro(GenerateErrorVectors,
int);
00180
00182
00185
void SetSource(
vtkPolyData *source);
00186
vtkPolyData *GetSource();
00188
00189
protected:
00190 vtkSmoothPolyDataFilter();
00191 ~vtkSmoothPolyDataFilter() {};
00192
00193
void Execute();
00194
00195 double Convergence;
00196 int NumberOfIterations;
00197 double RelaxationFactor;
00198 int FeatureEdgeSmoothing;
00199 double FeatureAngle;
00200 double EdgeAngle;
00201 int BoundarySmoothing;
00202 int GenerateErrorScalars;
00203 int GenerateErrorVectors;
00204
00205 vtkSmoothPoints *SmoothPoints;
00206
private:
00207 vtkSmoothPolyDataFilter(
const vtkSmoothPolyDataFilter&);
00208
void operator=(
const vtkSmoothPolyDataFilter&);
00209 };
00210
00211
#endif