VTK  9.1.0
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=========================================================================*/
28#ifndef vtkGeometricErrorMetric_h
29#define vtkGeometricErrorMetric_h
30
31#include "vtkCommonDataModelModule.h" // For export macro
33
35
36class VTKCOMMONDATAMODEL_EXPORT vtkGeometricErrorMetric : public vtkGenericSubdivisionErrorMetric
37{
38public:
44
46
50 void PrintSelf(ostream& os, vtkIndent indent) override;
52
54
59 vtkGetMacro(AbsoluteGeometricTolerance, double);
61
71
80
100 double* leftPoint, double* midPoint, double* rightPoint, double alpha) override;
101
115 double GetError(double* leftPoint, double* midPoint, double* rightPoint, double alpha) override;
116
121
122protected:
125
131 double Distance2LinePoint(double x[3], double y[3], double z[3]);
132
135 int Relative; // Control the type of output of GetError()
136
137private:
139 void operator=(const vtkGeometricErrorMetric&) = delete;
140};
141
142#endif
defines dataset interface
Objects that compute error during cell tessellation.
Objects that compute geometry-based error during cell tessellation.
void SetRelativeGeometricTolerance(double value, vtkGenericDataSet *ds)
Set the geometric accuracy with a value relative to the length of the bounding box of the dataset.
static vtkGeometricErrorMetric * New()
Construct the error metric with a default squared absolute geometric accuracy equal to 1.
int GetRelative()
Return the type of output of GetError()
~vtkGeometricErrorMetric() override
void SetAbsoluteGeometricTolerance(double value)
Set the geometric accuracy with a squared absolute value.
double Distance2LinePoint(double x[3], double y[3], double z[3])
Square distance between a straight line (defined by points x and y) and a point z.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK type and error macros.
int RequiresEdgeSubdivision(double *leftPoint, double *midPoint, double *rightPoint, double alpha) override
Does the edge need to be subdivided according to the distance between the line passing through its en...
double GetError(double *leftPoint, double *midPoint, double *rightPoint, double alpha) override
Return the error at the mid-point.
a simple class to control print indentation
Definition: vtkIndent.h:113