00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00098 #ifndef __vtkSmoothPolyDataFilter_h
00099 #define __vtkSmoothPolyDataFilter_h
00100
00101 #include "vtkPolyDataAlgorithm.h"
00102
00103 class vtkSmoothPoints;
00104
00105 class VTK_GRAPHICS_EXPORT vtkSmoothPolyDataFilter : public vtkPolyDataAlgorithm
00106 {
00107 public:
00108 vtkTypeRevisionMacro(vtkSmoothPolyDataFilter,vtkPolyDataAlgorithm);
00109 void PrintSelf(ostream& os, vtkIndent indent);
00110
00116 static vtkSmoothPolyDataFilter *New();
00117
00119
00121 vtkSetClampMacro(Convergence,double,0.0,1.0);
00122 vtkGetMacro(Convergence,double);
00124
00126
00127 vtkSetClampMacro(NumberOfIterations,int,0,VTK_LARGE_INTEGER);
00128 vtkGetMacro(NumberOfIterations,int);
00130
00132
00137 vtkSetMacro(RelaxationFactor,double);
00138 vtkGetMacro(RelaxationFactor,double);
00140
00142
00143 vtkSetMacro(FeatureEdgeSmoothing,int);
00144 vtkGetMacro(FeatureEdgeSmoothing,int);
00145 vtkBooleanMacro(FeatureEdgeSmoothing,int);
00147
00149
00150 vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
00151 vtkGetMacro(FeatureAngle,double);
00153
00155
00157 vtkSetClampMacro(EdgeAngle,double,0.0,180.0);
00158 vtkGetMacro(EdgeAngle,double);
00160
00162
00163 vtkSetMacro(BoundarySmoothing,int);
00164 vtkGetMacro(BoundarySmoothing,int);
00165 vtkBooleanMacro(BoundarySmoothing,int);
00167
00169
00170 vtkSetMacro(GenerateErrorScalars,int);
00171 vtkGetMacro(GenerateErrorScalars,int);
00172 vtkBooleanMacro(GenerateErrorScalars,int);
00174
00176
00177 vtkSetMacro(GenerateErrorVectors,int);
00178 vtkGetMacro(GenerateErrorVectors,int);
00179 vtkBooleanMacro(GenerateErrorVectors,int);
00181
00183
00186 void SetSource(vtkPolyData *source);
00187 vtkPolyData *GetSource();
00189
00190 protected:
00191 vtkSmoothPolyDataFilter();
00192 ~vtkSmoothPolyDataFilter() {};
00193
00194 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00195 virtual int FillInputPortInformation(int port, vtkInformation *info);
00196
00197 double Convergence;
00198 int NumberOfIterations;
00199 double RelaxationFactor;
00200 int FeatureEdgeSmoothing;
00201 double FeatureAngle;
00202 double EdgeAngle;
00203 int BoundarySmoothing;
00204 int GenerateErrorScalars;
00205 int GenerateErrorVectors;
00206
00207 vtkSmoothPoints *SmoothPoints;
00208 private:
00209 vtkSmoothPolyDataFilter(const vtkSmoothPolyDataFilter&);
00210 void operator=(const vtkSmoothPolyDataFilter&);
00211 };
00212
00213 #endif