00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00095 #ifndef __vtkSmoothPolyDataFilter_h
00096 #define __vtkSmoothPolyDataFilter_h
00097
00098 #include "vtkPolyDataAlgorithm.h"
00099
00100 class vtkSmoothPoints;
00101
00102 class VTK_GRAPHICS_EXPORT vtkSmoothPolyDataFilter : public vtkPolyDataAlgorithm
00103 {
00104 public:
00105 vtkTypeRevisionMacro(vtkSmoothPolyDataFilter,vtkPolyDataAlgorithm);
00106 void PrintSelf(ostream& os, vtkIndent indent);
00107
00113 static vtkSmoothPolyDataFilter *New();
00114
00116
00118 vtkSetClampMacro(Convergence,double,0.0,1.0);
00119 vtkGetMacro(Convergence,double);
00121
00123
00124 vtkSetClampMacro(NumberOfIterations,int,0,VTK_LARGE_INTEGER);
00125 vtkGetMacro(NumberOfIterations,int);
00127
00129
00134 vtkSetMacro(RelaxationFactor,double);
00135 vtkGetMacro(RelaxationFactor,double);
00137
00139
00140 vtkSetMacro(FeatureEdgeSmoothing,int);
00141 vtkGetMacro(FeatureEdgeSmoothing,int);
00142 vtkBooleanMacro(FeatureEdgeSmoothing,int);
00144
00146
00147 vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
00148 vtkGetMacro(FeatureAngle,double);
00150
00152
00154 vtkSetClampMacro(EdgeAngle,double,0.0,180.0);
00155 vtkGetMacro(EdgeAngle,double);
00157
00159
00160 vtkSetMacro(BoundarySmoothing,int);
00161 vtkGetMacro(BoundarySmoothing,int);
00162 vtkBooleanMacro(BoundarySmoothing,int);
00164
00166
00167 vtkSetMacro(GenerateErrorScalars,int);
00168 vtkGetMacro(GenerateErrorScalars,int);
00169 vtkBooleanMacro(GenerateErrorScalars,int);
00171
00173
00174 vtkSetMacro(GenerateErrorVectors,int);
00175 vtkGetMacro(GenerateErrorVectors,int);
00176 vtkBooleanMacro(GenerateErrorVectors,int);
00178
00180
00183 void SetSource(vtkPolyData *source);
00184 vtkPolyData *GetSource();
00186
00187 protected:
00188 vtkSmoothPolyDataFilter();
00189 ~vtkSmoothPolyDataFilter() {};
00190
00191 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00192 virtual int FillInputPortInformation(int port, vtkInformation *info);
00193
00194 double Convergence;
00195 int NumberOfIterations;
00196 double RelaxationFactor;
00197 int FeatureEdgeSmoothing;
00198 double FeatureAngle;
00199 double EdgeAngle;
00200 int BoundarySmoothing;
00201 int GenerateErrorScalars;
00202 int GenerateErrorVectors;
00203
00204 vtkSmoothPoints *SmoothPoints;
00205 private:
00206 vtkSmoothPolyDataFilter(const vtkSmoothPolyDataFilter&);
00207 void operator=(const vtkSmoothPolyDataFilter&);
00208 };
00209
00210 #endif