VTK  9.1.0
vtkUnstructuredGridQuadricDecimation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkUnstructuredGridQuadricDecimation.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  Copyright 2007, 2008 by University of Utah.
15 
16 =========================================================================*/
17 
62 #ifndef vtkUnstructuredGridQuadricDecimation_h
63 #define vtkUnstructuredGridQuadricDecimation_h
64 
65 #include "vtkFiltersCoreModule.h" // For export macro
67 
68 class VTKFILTERSCORE_EXPORT vtkUnstructuredGridQuadricDecimation
70 {
71 public:
73  void PrintSelf(ostream& os, vtkIndent indent) override;
75 
76  // The following 3 parameters will control the process of simplification in
77  // the priority:
78  // NumberOfEdgesToDecimate, NumberOfTetsOutput, TargetReduction.
79  // If NumberOfEdgesToDecimate is 0, NumberOfTetsOutput will be considered. If
80  // NumbersOfTetsOutput is also 0, then TargetReduction will control the
81  // output.
82 
84 
88  vtkSetMacro(TargetReduction, double);
89  vtkGetMacro(TargetReduction, double);
91 
93 
96  vtkSetMacro(NumberOfTetsOutput, int);
97  vtkGetMacro(NumberOfTetsOutput, int);
99 
101 
104  vtkSetMacro(NumberOfEdgesToDecimate, int);
105  vtkGetMacro(NumberOfEdgesToDecimate, int);
107 
109 
114  vtkSetMacro(NumberOfCandidates, int);
115  vtkGetMacro(NumberOfCandidates, int);
117 
119 
128  vtkSetMacro(AutoAddCandidates, int);
129  vtkGetMacro(AutoAddCandidates, int);
131 
133 
137  vtkSetMacro(AutoAddCandidatesThreshold, double);
138  vtkGetMacro(AutoAddCandidatesThreshold, double);
140 
142 
146  vtkSetMacro(BoundaryWeight, double);
147  vtkGetMacro(BoundaryWeight, double);
149 
151 
154  vtkSetStringMacro(ScalarsName);
155  vtkGetStringMacro(ScalarsName);
157 
158  enum
159  {
160  NO_ERROR = 0,
161  NON_TETRAHEDRA = 1,
162  NO_SCALARS = 2,
163  NO_CELLS = 3
164  };
165 
166 protected:
169 
170  void ReportError(int err);
172 
177 
181  char* ScalarsName;
182 
183 private:
185  void operator=(const vtkUnstructuredGridQuadricDecimation&) = delete;
186 };
187 
188 #endif
a simple class to control print indentation
Definition: vtkIndent.h:34
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.