Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Graphics/vtkSmoothPolyDataFilter.h

Go to the documentation of this file.
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 =========================================================================*/
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&);  // Not implemented.
00208   void operator=(const vtkSmoothPolyDataFilter&);  // Not implemented.
00209 };
00210 
00211 #endif