VTK
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 
65 #ifndef vtkUnstructuredGridQuadricDecimation_h
66 #define vtkUnstructuredGridQuadricDecimation_h
67 
68 #include "vtkFiltersCoreModule.h" // For export macro
70 
72 {
73 public:
75  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
77 
78  // The following 3 parameters will control the process of simplification in
79  // the priority:
80  // NumberOfEdgesToDecimate, NumberOfTetsOutput, TargetReduction.
81  // If NumberOfEdgesToDecimate is 0, NumberOfTetsOutput will be considered. If
82  // NumbersOfTetsOutput is also 0, then TargetReduction will control the
83  // output.
84 
86 
90  vtkSetMacro(TargetReduction, double);
91  vtkGetMacro(TargetReduction, double);
93 
95 
98  vtkSetMacro(NumberOfTetsOutput, int);
99  vtkGetMacro(NumberOfTetsOutput, int);
101 
103 
106  vtkSetMacro(NumberOfEdgesToDecimate, int);
107  vtkGetMacro(NumberOfEdgesToDecimate, int);
109 
111 
116  vtkSetMacro(NumberOfCandidates, int);
117  vtkGetMacro(NumberOfCandidates, int);
119 
121 
130  vtkSetMacro(AutoAddCandidates, int);
131  vtkGetMacro(AutoAddCandidates, int);
133 
135 
139  vtkSetMacro(AutoAddCandidatesThreshold, double);
140  vtkGetMacro(AutoAddCandidatesThreshold, double);
142 
144 
148  vtkSetMacro(BoundaryWeight, double);
149  vtkGetMacro(BoundaryWeight, double);
151 
153 
156  vtkSetStringMacro(ScalarsName);
157  vtkGetStringMacro(ScalarsName);
159 
160  enum
161  {
162  NO_ERROR=0,
163  NON_TETRAHEDRA=1,
164  NO_SCALARS=2,
165  NO_CELLS=3
166  };
167 
168 protected:
170  ~vtkUnstructuredGridQuadricDecimation() VTK_OVERRIDE;
171 
172  void ReportError(int err);
173  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
174 
175  int NumberOfTetsOutput;
176  int NumberOfEdgesToDecimate;
177  int NumberOfCandidates;
178  int AutoAddCandidates;
179 
180  double TargetReduction;
181  double AutoAddCandidatesThreshold;
182  double BoundaryWeight;
183  char *ScalarsName;
184 
185 private:
187  void operator=(const vtkUnstructuredGridQuadricDecimation&) VTK_DELETE_FUNCTION;
188 
189 };
190 
191 #endif
Store vtkAlgorithm input/output information.
static vtkUnstructuredGridAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
Superclass for algorithms that produce only unstructured grid as output.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
reduce the number of tetrahedra in a mesh