Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound 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   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00112 #ifndef __vtkSmoothPolyDataFilter_h
00113 #define __vtkSmoothPolyDataFilter_h
00114 
00115 #include "vtkPolyDataToPolyDataFilter.h"
00116 
00117 class vtkSmoothPoints;
00118 
00119 class VTK_GRAPHICS_EXPORT vtkSmoothPolyDataFilter : public vtkPolyDataToPolyDataFilter
00120 {
00121 public:
00122   vtkTypeRevisionMacro(vtkSmoothPolyDataFilter,vtkPolyDataToPolyDataFilter);
00123   void PrintSelf(ostream& os, vtkIndent indent);
00124 
00130   static vtkSmoothPolyDataFilter *New();
00131 
00133 
00135   vtkSetClampMacro(Convergence,float,0.0,1.0);
00136   vtkGetMacro(Convergence,float);
00138 
00140 
00141   vtkSetClampMacro(NumberOfIterations,int,0,VTK_LARGE_INTEGER);
00142   vtkGetMacro(NumberOfIterations,int);
00144 
00146 
00151   vtkSetMacro(RelaxationFactor,float);
00152   vtkGetMacro(RelaxationFactor,float);
00154 
00156 
00157   vtkSetMacro(FeatureEdgeSmoothing,int);
00158   vtkGetMacro(FeatureEdgeSmoothing,int);
00159   vtkBooleanMacro(FeatureEdgeSmoothing,int);
00161 
00163 
00164   vtkSetClampMacro(FeatureAngle,float,0.0,180.0);
00165   vtkGetMacro(FeatureAngle,float);
00167 
00169 
00171   vtkSetClampMacro(EdgeAngle,float,0.0,180.0);
00172   vtkGetMacro(EdgeAngle,float);
00174 
00176 
00177   vtkSetMacro(BoundarySmoothing,int);
00178   vtkGetMacro(BoundarySmoothing,int);
00179   vtkBooleanMacro(BoundarySmoothing,int);
00181 
00183 
00184   vtkSetMacro(GenerateErrorScalars,int);
00185   vtkGetMacro(GenerateErrorScalars,int);
00186   vtkBooleanMacro(GenerateErrorScalars,int);
00188 
00190 
00191   vtkSetMacro(GenerateErrorVectors,int);
00192   vtkGetMacro(GenerateErrorVectors,int);
00193   vtkBooleanMacro(GenerateErrorVectors,int);
00195 
00197 
00200   void SetSource(vtkPolyData *source);
00201   vtkPolyData *GetSource();
00203   
00204 protected:
00205   vtkSmoothPolyDataFilter();
00206   ~vtkSmoothPolyDataFilter() {};
00207 
00208   void Execute();
00209 
00210   float Convergence;
00211   int NumberOfIterations;
00212   float RelaxationFactor;
00213   int FeatureEdgeSmoothing;
00214   float FeatureAngle;
00215   float EdgeAngle;
00216   int BoundarySmoothing;
00217   int GenerateErrorScalars;
00218   int GenerateErrorVectors;
00219 
00220   vtkSmoothPoints *SmoothPoints;
00221 private:
00222   vtkSmoothPolyDataFilter(const vtkSmoothPolyDataFilter&);  // Not implemented.
00223   void operator=(const vtkSmoothPolyDataFilter&);  // Not implemented.
00224 };
00225 
00226 #endif