VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSmoothPolyDataFilter.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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 vtkTypeMacro(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&); // Not implemented. 00210 void operator=(const vtkSmoothPolyDataFilter&); // Not implemented. 00211 }; 00212 00213 #endif