VTK  9.3.20240425
vtkStaticCleanPolyData.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
64#ifndef vtkStaticCleanPolyData_h
65#define vtkStaticCleanPolyData_h
66
67#include "vtkFiltersCoreModule.h" // For export macro
69#include "vtkStaticPointLocator.h" // For enums
70
71VTK_ABI_NAMESPACE_BEGIN
72class VTKFILTERSCORE_EXPORT vtkStaticCleanPolyData : public vtkPolyDataAlgorithm
73{
74public:
76
80 void PrintSelf(ostream& os, vtkIndent indent) override;
83
85
90 vtkSetMacro(ToleranceIsAbsolute, bool);
91 vtkBooleanMacro(ToleranceIsAbsolute, bool);
92 vtkGetMacro(ToleranceIsAbsolute, bool);
94
96
100 vtkSetClampMacro(Tolerance, double, 0.0, 1.0);
101 vtkGetMacro(Tolerance, double);
103
105
108 vtkSetClampMacro(AbsoluteTolerance, double, 0.0, VTK_DOUBLE_MAX);
109 vtkGetMacro(AbsoluteTolerance, double);
111
113
124 vtkSetStringMacro(MergingArray);
125 vtkGetStringMacro(MergingArray);
127
129
132 vtkSetMacro(ConvertLinesToPoints, bool);
133 vtkBooleanMacro(ConvertLinesToPoints, bool);
134 vtkGetMacro(ConvertLinesToPoints, bool);
136
138
141 vtkSetMacro(ConvertPolysToLines, bool);
142 vtkBooleanMacro(ConvertPolysToLines, bool);
143 vtkGetMacro(ConvertPolysToLines, bool);
145
147
150 vtkSetMacro(ConvertStripsToPolys, bool);
151 vtkBooleanMacro(ConvertStripsToPolys, bool);
152 vtkGetMacro(ConvertStripsToPolys, bool);
154
156
162 vtkSetMacro(RemoveUnusedPoints, bool);
163 vtkBooleanMacro(RemoveUnusedPoints, bool);
164 vtkGetMacro(RemoveUnusedPoints, bool);
166
168
175 vtkSetMacro(ProduceMergeMap, bool);
176 vtkBooleanMacro(ProduceMergeMap, bool);
177 vtkGetMacro(ProduceMergeMap, bool);
179
181
189 vtkSetMacro(AveragePointData, bool);
190 vtkBooleanMacro(AveragePointData, bool);
191 vtkGetMacro(AveragePointData, bool);
193
195
200 vtkSetMacro(OutputPointsPrecision, int);
201 vtkGetMacro(OutputPointsPrecision, int);
203
209 vtkGetObjectMacro(Locator, vtkStaticPointLocator);
210
212 // This filter is difficult to stream. To produce invariant results, the
213 // whole input must be processed at once. This flag allows the user to
214 // select whether strict piece invariance is required. By default it is
215 // on. When off, the filter can stream, but results may change.
216 vtkSetMacro(PieceInvariant, bool);
217 vtkGetMacro(PieceInvariant, bool);
218 vtkBooleanMacro(PieceInvariant, bool);
220
225
226protected:
228 ~vtkStaticCleanPolyData() override = default;
229
230 // Usual data generation method
233
234 double Tolerance;
246
247 // Internal locator for performing point merging
249
250private:
252 void operator=(const vtkStaticCleanPolyData&) = delete;
253};
254
255VTK_ABI_NAMESPACE_END
256#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 polydata as output.
Hold a reference to a vtkObjectBase instance.
merge duplicate points, and/or remove unused points and/or remove degenerate cells
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkMTimeType GetMTime() override
Get the MTime of this object also considering the locator.
static vtkStaticCleanPolyData * New()
Standard methods to instantiate, print, and provide type information.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate, print, and provide type information.
vtkSmartPointer< vtkStaticPointLocator > Locator
~vtkStaticCleanPolyData() override=default
quickly locate points in 3-space
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:270
#define VTK_DOUBLE_MAX
Definition vtkType.h:154