VTK
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 
85  static vtkStaticCleanPolyData *New();
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 
171  { return this->Locator; }
173 
177  vtkMTimeType GetMTime() override;
178 
179 protected:
181  ~vtkStaticCleanPolyData() override;
182 
183  // Usual data generation method
186 
187  double Tolerance;
194 
197 
198 private:
200  void operator=(const vtkStaticCleanPolyData&) = delete;
201 };
202 
203 #endif
vtkStaticCleanPolyData::AbsoluteTolerance
double AbsoluteTolerance
Definition: vtkStaticCleanPolyData.h:188
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkPolyDataAlgorithm::RequestUpdateExtent
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
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::ConvertLinesToPoints
vtkTypeBool ConvertLinesToPoints
Definition: vtkStaticCleanPolyData.h:189
vtkPolyDataAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolyDataAlgorithm.h
vtkPolyDataAlgorithm::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkObject::GetMTime
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkStaticCleanPolyData::ConvertStripsToPolys
vtkTypeBool ConvertStripsToPolys
Definition: vtkStaticCleanPolyData.h:191
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkStaticCleanPolyData
merge duplicate points, and/or remove unused points and/or remove degenerate cells
Definition: vtkStaticCleanPolyData.h:78
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:80
vtkStaticPointLocator
quickly locate points in 3-space
Definition: vtkStaticPointLocator.h:60
vtkStaticCleanPolyData::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtkStaticCleanPolyData.h:196
vtkStaticCleanPolyData::Tolerance
double Tolerance
Definition: vtkStaticCleanPolyData.h:187
vtkStaticCleanPolyData::PieceInvariant
vtkTypeBool PieceInvariant
Definition: vtkStaticCleanPolyData.h:195
vtkStaticCleanPolyData::ToleranceIsAbsolute
vtkTypeBool ToleranceIsAbsolute
Definition: vtkStaticCleanPolyData.h:192
vtkStaticCleanPolyData::ConvertPolysToLines
vtkTypeBool ConvertPolysToLines
Definition: vtkStaticCleanPolyData.h:190
VTK_DOUBLE_MAX
#define VTK_DOUBLE_MAX
Definition: vtkType.h:169
vtkStaticCleanPolyData::Locator
vtkStaticPointLocator * Locator
Definition: vtkStaticCleanPolyData.h:193
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkPolyDataAlgorithm::New
static vtkPolyDataAlgorithm * New()
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:41