VTK: Common/DataModel/vtkSmoothErrorMetric.h Source File

| VTK 9.3.1

vtkSmoothErrorMetric.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
22 #ifndef vtkSmoothErrorMetric_h
23 #define vtkSmoothErrorMetric_h
24
25 #include "vtkCommonDataModelModule.h" // For export macro
26 #include "vtkGenericSubdivisionErrorMetric.h"
27
28 VTK_ABI_NAMESPACE_BEGIN
29 class vtkGenericDataSet;
30
31 class VTKCOMMONDATAMODEL_EXPORT vtkSmoothErrorMetric : public vtkGenericSubdivisionErrorMetric
32 {
33 public:
38 static vtkSmoothErrorMetric* New();
39
41
44 vtkTypeMacro(vtkSmoothErrorMetric, vtkGenericSubdivisionErrorMetric);
45 void PrintSelf(ostream& os, vtkIndent indent) override;
47
52 double GetAngleTolerance();
53
60 void SetAngleTolerance(double value);
61
80 int RequiresEdgeSubdivision(
81 double* leftPoint, double* midPoint, double* rightPoint, double alpha) override;
82
96 double GetError(double* leftPoint, double* midPoint, double* rightPoint, double alpha) override;
97
98 protected:
99 vtkSmoothErrorMetric();
100 ~vtkSmoothErrorMetric() override;
101
102 double AngleTolerance;
103 double CosTolerance;
104
105 private:
106 vtkSmoothErrorMetric(const vtkSmoothErrorMetric&) = delete;
107 void operator=(const vtkSmoothErrorMetric&) = delete;
108 };
109
110 VTK_ABI_NAMESPACE_END
111 #endif
vtkGenericDataSet
defines dataset interface
Definition: vtkGenericDataSet.h:59
vtkGenericSubdivisionErrorMetric
Objects that compute error during cell tessellation.
Definition: vtkGenericSubdivisionErrorMetric.h:38
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkSmoothErrorMetric
Objects that compute geometry-based error during cell tessellation according to some max angle.
Definition: vtkSmoothErrorMetric.h:32
vtkSmoothErrorMetric::vtkSmoothErrorMetric
vtkSmoothErrorMetric()
vtkSmoothErrorMetric::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK type and error macros.
vtkSmoothErrorMetric::AngleTolerance
double AngleTolerance
Definition: vtkSmoothErrorMetric.h:102
vtkSmoothErrorMetric::CosTolerance
double CosTolerance
Definition: vtkSmoothErrorMetric.h:103
vtkSmoothErrorMetric::~vtkSmoothErrorMetric
~vtkSmoothErrorMetric() override
vtkSmoothErrorMetric::New
static vtkSmoothErrorMetric * New()
Construct the error metric with a default flatness threshold of 90.1 degrees.
vtkSmoothErrorMetric::GetAngleTolerance
double GetAngleTolerance()
Return the flatness threshold.
vtkSmoothErrorMetric::SetAngleTolerance
void SetAngleTolerance(double value)
Set the flatness threshold with an angle in degrees.
vtkSmoothErrorMetric::RequiresEdgeSubdivision
int RequiresEdgeSubdivision(double *leftPoint, double *midPoint, double *rightPoint, double alpha) override
Does the edge need to be subdivided according to the cosine between the two chords passing through th...
vtkSmoothErrorMetric::GetError
double GetError(double *leftPoint, double *midPoint, double *rightPoint, double alpha) override
Return the error at the mid-point.
vtkX3D::value
@ value
Definition: vtkX3D.h:220
vtkX3D::alpha
@ alpha
Definition: vtkX3D.h:250
vtkGenericSubdivisionErrorMetric.h