VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkSmoothPolyDataFilter.h,v $ 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 =========================================================================*/ 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&); // Not implemented. 00207 void operator=(const vtkSmoothPolyDataFilter&); // Not implemented. 00208 }; 00209 00210 #endif