VTK  9.1.0
vtkAttributesErrorMetric.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkAttributesErrorMetric.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 vtkAttributesErrorMetric_h
29#define vtkAttributesErrorMetric_h
30
31#include "vtkCommonDataModelModule.h" // For export macro
33
36
37class VTKCOMMONDATAMODEL_EXPORT vtkAttributesErrorMetric : public vtkGenericSubdivisionErrorMetric
38{
39public:
45
47
51 void PrintSelf(ostream& os, vtkIndent indent) override;
53
55
63 vtkGetMacro(AbsoluteAttributeTolerance, double);
65
77
79
87 vtkGetMacro(AttributeTolerance, double);
89
95 void SetAttributeTolerance(double value);
96
117 double* leftPoint, double* midPoint, double* rightPoint, double alpha) override;
118
132 double GetError(double* leftPoint, double* midPoint, double* rightPoint, double alpha) override;
133
134protected:
137
143
145
146 double SquareAbsoluteAttributeTolerance; // cached value computed from
147 // AttributeTolerance and active attribute/component
148
151
153
154 double Range; // cached value computed from active attribute/component
155
157
158private:
160 void operator=(const vtkAttributesErrorMetric&) = delete;
161};
162
163#endif
Objects that compute attribute-based error during cell tessellation.
void SetAttributeTolerance(double value)
Set the relative attribute accuracy to ‘value’.
~vtkAttributesErrorMetric() override
double GetError(double *leftPoint, double *midPoint, double *rightPoint, double alpha) override
Return the error at the mid-point.
int RequiresEdgeSubdivision(double *leftPoint, double *midPoint, double *rightPoint, double alpha) override
Does the edge need to be subdivided according to the distance between the value of the active attribu...
vtkGenericAttributeCollection * AttributeCollection
static vtkAttributesErrorMetric * New()
Construct the error metric with a default relative attribute accuracy equal to 0.1.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK type and error macros.
void ComputeSquareAbsoluteAttributeTolerance()
Compute the square absolute attribute tolerance, only if the cached value is obsolete.
vtkTimeStamp SquareAbsoluteAttributeToleranceComputeTime
void SetAbsoluteAttributeTolerance(double value)
Set the absolute attribute accuracy to ‘value’.
defines dataset interface
Objects that compute error during cell tessellation.
a simple class to control print indentation
Definition: vtkIndent.h:113
record modification and/or execution time
Definition: vtkTimeStamp.h:52