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 
62 #ifndef vtkUnstructuredGridQuadricDecimation_h
63 #define vtkUnstructuredGridQuadricDecimation_h
64 
65 #include "vtkFiltersCoreModule.h" // For export macro
67 
69 {
70 public:
72  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
74 
75  // The following 3 parameters will control the process of simplification in
76  // the priority:
77  // NumberOfEdgesToDecimate, NumberOfTetsOutput, TargetReduction.
78  // If NumberOfEdgesToDecimate is 0, NumberOfTetsOutput will be considered. If
79  // NumbersOfTetsOutput is also 0, then TargetReduction will control the
80  // output.
81 
83 
87  vtkSetMacro(TargetReduction, double);
88  vtkGetMacro(TargetReduction, double);
90 
92 
95  vtkSetMacro(NumberOfTetsOutput, int);
96  vtkGetMacro(NumberOfTetsOutput, int);
98 
100 
103  vtkSetMacro(NumberOfEdgesToDecimate, int);
104  vtkGetMacro(NumberOfEdgesToDecimate, int);
106 
108 
113  vtkSetMacro(NumberOfCandidates, int);
114  vtkGetMacro(NumberOfCandidates, int);
116 
118 
127  vtkSetMacro(AutoAddCandidates, int);
128  vtkGetMacro(AutoAddCandidates, int);
130 
132 
136  vtkSetMacro(AutoAddCandidatesThreshold, double);
137  vtkGetMacro(AutoAddCandidatesThreshold, double);
139 
141 
145  vtkSetMacro(BoundaryWeight, double);
146  vtkGetMacro(BoundaryWeight, double);
148 
150 
153  vtkSetStringMacro(ScalarsName);
154  vtkGetStringMacro(ScalarsName);
156 
157  enum
158  {
159  NO_ERROR=0,
160  NON_TETRAHEDRA=1,
161  NO_SCALARS=2,
162  NO_CELLS=3
163  };
164 
165 protected:
167  ~vtkUnstructuredGridQuadricDecimation() VTK_OVERRIDE;
168 
169  void ReportError(int err);
170  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
171 
172  int NumberOfTetsOutput;
173  int NumberOfEdgesToDecimate;
174  int NumberOfCandidates;
175  int AutoAddCandidates;
176 
177  double TargetReduction;
178  double AutoAddCandidatesThreshold;
179  double BoundaryWeight;
180  char *ScalarsName;
181 
182 private:
184  void operator=(const vtkUnstructuredGridQuadricDecimation&) VTK_DELETE_FUNCTION;
185 
186 };
187 
188 #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:33
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