VTK  9.0.20210725
vtkStaticCleanPolyData.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkStaticCleanPolyData.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 =========================================================================*/
70 #ifndef vtkStaticCleanPolyData_h
71 #define vtkStaticCleanPolyData_h
72 
73 #include "vtkFiltersCoreModule.h" // For export macro
74 #include "vtkPolyDataAlgorithm.h"
75 
77 
78 class VTKFILTERSCORE_EXPORT vtkStaticCleanPolyData : public vtkPolyDataAlgorithm
79 {
80 public:
82 
86  void PrintSelf(ostream& os, vtkIndent indent) override;
89 
91 
96  vtkSetMacro(ToleranceIsAbsolute, vtkTypeBool);
97  vtkBooleanMacro(ToleranceIsAbsolute, vtkTypeBool);
98  vtkGetMacro(ToleranceIsAbsolute, vtkTypeBool);
100 
102 
106  vtkSetClampMacro(Tolerance, double, 0.0, 1.0);
107  vtkGetMacro(Tolerance, double);
109 
111 
114  vtkSetClampMacro(AbsoluteTolerance, double, 0.0, VTK_DOUBLE_MAX);
115  vtkGetMacro(AbsoluteTolerance, double);
117 
119 
122  vtkSetMacro(ConvertLinesToPoints, vtkTypeBool);
123  vtkBooleanMacro(ConvertLinesToPoints, vtkTypeBool);
124  vtkGetMacro(ConvertLinesToPoints, vtkTypeBool);
126 
128 
131  vtkSetMacro(ConvertPolysToLines, vtkTypeBool);
132  vtkBooleanMacro(ConvertPolysToLines, vtkTypeBool);
133  vtkGetMacro(ConvertPolysToLines, vtkTypeBool);
135 
137 
140  vtkSetMacro(ConvertStripsToPolys, vtkTypeBool);
141  vtkBooleanMacro(ConvertStripsToPolys, vtkTypeBool);
142  vtkGetMacro(ConvertStripsToPolys, vtkTypeBool);
144 
145  // This filter is difficult to stream.
146  // To get invariant results, the whole input must be processed at once.
147  // This flag allows the user to select whether strict piece invariance
148  // is required. By default it is on. When off, the filter can stream,
149  // but results may change.
150  vtkSetMacro(PieceInvariant, vtkTypeBool);
151  vtkGetMacro(PieceInvariant, vtkTypeBool);
152  vtkBooleanMacro(PieceInvariant, vtkTypeBool);
153 
155 
160  vtkSetMacro(OutputPointsPrecision, int);
161  vtkGetMacro(OutputPointsPrecision, int);
163 
165 
170  vtkStaticPointLocator* GetLocator() { return this->Locator; }
172 
176  vtkMTimeType GetMTime() override;
177 
178 protected:
181 
182  // Usual data generation method
185 
186  double Tolerance;
193 
196 
197 private:
199  void operator=(const vtkStaticCleanPolyData&) = delete;
200 };
201 
202 #endif
vtkStaticCleanPolyData::~vtkStaticCleanPolyData
~vtkStaticCleanPolyData() override
vtkStaticCleanPolyData::AbsoluteTolerance
double AbsoluteTolerance
Definition: vtkStaticCleanPolyData.h:187
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
vtkStaticCleanPolyData::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkStaticCleanPolyData::GetLocator
vtkStaticPointLocator * GetLocator()
Retrieve the internal locator to manually configure it, for example specifying the number of points p...
Definition: vtkStaticCleanPolyData.h:170
vtkStaticCleanPolyData::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to instantiate, print, and provide type information.
vtkStaticCleanPolyData::ConvertLinesToPoints
vtkTypeBool ConvertLinesToPoints
Definition: vtkStaticCleanPolyData.h:188
vtkStaticCleanPolyData::GetMTime
vtkMTimeType GetMTime() override
Get the MTime of this object also considering the locator.
vtkPolyDataAlgorithm.h
vtkStaticCleanPolyData::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkStaticCleanPolyData::ConvertStripsToPolys
vtkTypeBool ConvertStripsToPolys
Definition: vtkStaticCleanPolyData.h:190
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkStaticCleanPolyData
merge duplicate points, and/or remove unused points and/or remove degenerate cells
Definition: vtkStaticCleanPolyData.h:79
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:74
vtkStaticPointLocator
quickly locate points in 3-space
Definition: vtkStaticPointLocator.h:60
vtkStaticCleanPolyData::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtkStaticCleanPolyData.h:195
vtkStaticCleanPolyData::vtkStaticCleanPolyData
vtkStaticCleanPolyData()
vtkStaticCleanPolyData::New
static vtkStaticCleanPolyData * New()
Standard methods to instantiate, print, and provide type information.
vtkStaticCleanPolyData::Tolerance
double Tolerance
Definition: vtkStaticCleanPolyData.h:186
vtkStaticCleanPolyData::PieceInvariant
vtkTypeBool PieceInvariant
Definition: vtkStaticCleanPolyData.h:194
vtkStaticCleanPolyData::ToleranceIsAbsolute
vtkTypeBool ToleranceIsAbsolute
Definition: vtkStaticCleanPolyData.h:191
vtkStaticCleanPolyData::ConvertPolysToLines
vtkTypeBool ConvertPolysToLines
Definition: vtkStaticCleanPolyData.h:189
VTK_DOUBLE_MAX
#define VTK_DOUBLE_MAX
Definition: vtkType.h:165
vtkStaticCleanPolyData::Locator
vtkStaticPointLocator * Locator
Definition: vtkStaticCleanPolyData.h:192
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:42