VTK
dox/Common/DataModel/vtkSmoothErrorMetric.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkSmoothErrorMetric.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 =========================================================================*/
00033 #ifndef __vtkSmoothErrorMetric_h
00034 #define __vtkSmoothErrorMetric_h
00035 
00036 #include "vtkCommonDataModelModule.h" // For export macro
00037 #include "vtkGenericSubdivisionErrorMetric.h"
00038 
00039 class vtkGenericDataSet;
00040 
00041 class VTKCOMMONDATAMODEL_EXPORT vtkSmoothErrorMetric : public vtkGenericSubdivisionErrorMetric
00042 {
00043 public:
00046   static vtkSmoothErrorMetric *New();
00047 
00049 
00050   vtkTypeMacro(vtkSmoothErrorMetric,vtkGenericSubdivisionErrorMetric);
00051   void PrintSelf(ostream& os, vtkIndent indent);
00053 
00056   double GetAngleTolerance();
00057 
00062   void SetAngleTolerance(double value);
00063 
00065 
00078   int RequiresEdgeSubdivision(double *leftPoint, double *midPoint,
00079                               double *rightPoint, double alpha);
00081 
00083 
00092   double GetError(double *leftPoint, double *midPoint, double *rightPoint,
00093                   double alpha);
00095 
00096 protected:
00097   vtkSmoothErrorMetric();
00098   virtual ~vtkSmoothErrorMetric();
00099 
00100   double AngleTolerance;
00101   double CosTolerance;
00102 
00103 private:
00104   vtkSmoothErrorMetric(const vtkSmoothErrorMetric&);  // Not implemented.
00105   void operator=(const vtkSmoothErrorMetric&);  // Not implemented.
00106 };
00107 
00108 #endif