VTK
vtkGeometricErrorMetric.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGeometricErrorMetric.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
30 #ifndef vtkGeometricErrorMetric_h
31 #define vtkGeometricErrorMetric_h
32 
33 #include "vtkCommonDataModelModule.h" // For export macro
35 
36 class vtkGenericDataSet;
37 
39 {
40 public:
43  static vtkGeometricErrorMetric *New();
44 
46 
48  void PrintSelf(ostream& os, vtkIndent indent);
50 
52 
55  vtkGetMacro(AbsoluteGeometricTolerance, double);
57 
64  void SetAbsoluteGeometricTolerance(double value);
65 
67 
71  void SetRelativeGeometricTolerance(double value,
72  vtkGenericDataSet *ds);
74 
76 
89  int RequiresEdgeSubdivision(double *leftPoint, double *midPoint, double *rightPoint,
90  double alpha);
92 
94 
103  double GetError(double *leftPoint, double *midPoint,
104  double *rightPoint, double alpha);
106 
108  int GetRelative();
109 
110 protected:
112  virtual ~vtkGeometricErrorMetric();
113 
115 
118  double Distance2LinePoint(double x[3],
119  double y[3],
120  double z[3]);
122 
124  double SmallestSize;
125  int Relative; // Control the type of output of GetError()
126 
127 private:
128  vtkGeometricErrorMetric(const vtkGeometricErrorMetric&); // Not implemented.
129  void operator=(const vtkGeometricErrorMetric&); // Not implemented.
130 };
131 
132 #endif
virtual int RequiresEdgeSubdivision(double *leftPoint, double *midPoint, double *rightPoint, double alpha)=0
a simple class to control print indentation
Definition: vtkIndent.h:38
Objects that compute error during cell tessellation.
virtual double GetError(double *leftPoint, double *midPoint, double *rightPoint, double alpha)=0
defines dataset interface
static vtkObject * New()
Objects that compute geometry-based error during cell tessellation.
void PrintSelf(ostream &os, vtkIndent indent)
#define VTKCOMMONDATAMODEL_EXPORT