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{
73public:
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
168protected:
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
185private:
187 void operator=(const vtkUnstructuredGridQuadricDecimation&) VTK_DELETE_FUNCTION;
188
189};
190
191#endif
a simple class to control print indentation
Definition: vtkIndent.h:40
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
static vtkUnstructuredGridQuadricDecimation * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.