VTK  9.3.20240328
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 
57 VTK_ABI_NAMESPACE_BEGIN
58 class VTKFILTERSCORE_EXPORT vtkUnstructuredGridQuadricDecimation
60 {
61 public:
63  void PrintSelf(ostream& os, vtkIndent indent) override;
65 
66  // The following 3 parameters will control the process of simplification in
67  // the priority:
68  // NumberOfEdgesToDecimate, NumberOfTetsOutput, TargetReduction.
69  // If NumberOfEdgesToDecimate is 0, NumberOfTetsOutput will be considered. If
70  // NumbersOfTetsOutput is also 0, then TargetReduction will control the
71  // output.
72 
74 
78  vtkSetMacro(TargetReduction, double);
79  vtkGetMacro(TargetReduction, double);
81 
83 
86  vtkSetMacro(NumberOfTetsOutput, int);
87  vtkGetMacro(NumberOfTetsOutput, int);
89 
91 
94  vtkSetMacro(NumberOfEdgesToDecimate, int);
95  vtkGetMacro(NumberOfEdgesToDecimate, int);
97 
99 
104  vtkSetMacro(NumberOfCandidates, int);
105  vtkGetMacro(NumberOfCandidates, int);
107 
109 
118  vtkSetMacro(AutoAddCandidates, int);
119  vtkGetMacro(AutoAddCandidates, int);
121 
123 
127  vtkSetMacro(AutoAddCandidatesThreshold, double);
128  vtkGetMacro(AutoAddCandidatesThreshold, double);
130 
132 
136  vtkSetMacro(BoundaryWeight, double);
137  vtkGetMacro(BoundaryWeight, double);
139 
141 
144  vtkSetStringMacro(ScalarsName);
145  vtkGetStringMacro(ScalarsName);
147 
148  enum
149  {
150  NON_ERROR = 0,
151  NON_TETRAHEDRA = 1,
152  NO_SCALARS = 2,
153  NO_CELLS = 3
154  };
155 
156 protected:
159 
160  void ReportError(int err);
162 
167 
171  char* ScalarsName;
172 
173 private:
175  void operator=(const vtkUnstructuredGridQuadricDecimation&) = delete;
176 };
177 
178 VTK_ABI_NAMESPACE_END
179 #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.