VTK  9.5.20250901
vtkUnstructuredGridQuadricDecimation.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2007, 2008 by University of Utah
3// SPDX-License-Identifier: BSD-3-Clause
51#ifndef vtkUnstructuredGridQuadricDecimation_h
52#define vtkUnstructuredGridQuadricDecimation_h
53
54#include "vtkFiltersCoreModule.h" // For export macro
56#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
57
58VTK_ABI_NAMESPACE_BEGIN
61{
62public:
64 void PrintSelf(ostream& os, vtkIndent indent) override;
66
67 // The following 3 parameters will control the process of simplification in
68 // the priority:
69 // NumberOfEdgesToDecimate, NumberOfTetsOutput, TargetReduction.
70 // If NumberOfEdgesToDecimate is 0, NumberOfTetsOutput will be considered. If
71 // NumbersOfTetsOutput is also 0, then TargetReduction will control the
72 // output.
73
75
79 vtkSetMacro(TargetReduction, double);
80 vtkGetMacro(TargetReduction, double);
82
84
87 vtkSetMacro(NumberOfTetsOutput, int);
88 vtkGetMacro(NumberOfTetsOutput, int);
90
92
95 vtkSetMacro(NumberOfEdgesToDecimate, int);
96 vtkGetMacro(NumberOfEdgesToDecimate, int);
98
100
105 vtkSetMacro(NumberOfCandidates, int);
106 vtkGetMacro(NumberOfCandidates, int);
108
110
119 vtkSetMacro(AutoAddCandidates, int);
120 vtkGetMacro(AutoAddCandidates, int);
122
124
128 vtkSetMacro(AutoAddCandidatesThreshold, double);
129 vtkGetMacro(AutoAddCandidatesThreshold, double);
131
133
137 vtkSetMacro(BoundaryWeight, double);
138 vtkGetMacro(BoundaryWeight, double);
140
142
145 vtkSetStringMacro(ScalarsName);
146 vtkGetStringMacro(ScalarsName);
148
149 enum
150 {
151 NON_ERROR = 0,
152 NON_TETRAHEDRA = 1,
153 NO_SCALARS = 2,
154 NO_CELLS = 3
155 };
156
157protected:
160
161 void ReportError(int err);
163
168
173
174private:
176 void operator=(const vtkUnstructuredGridQuadricDecimation&) = delete;
177};
178
179VTK_ABI_NAMESPACE_END
180#endif
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only unstructured grid as output.
reduce the number of tetrahedra in a mesh
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkUnstructuredGridQuadricDecimation * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_MARSHALAUTO