VTK
vtkCleanPolyData.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCleanPolyData.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 vtkCleanPolyData_h
71 #define vtkCleanPolyData_h
72 
73 #include "vtkFiltersCoreModule.h" // For export macro
74 #include "vtkPolyDataAlgorithm.h"
75 
77 
79 {
80 public:
81  static vtkCleanPolyData *New();
82  void PrintSelf(ostream& os, vtkIndent indent);
84 
86 
89  vtkSetMacro(ToleranceIsAbsolute,int);
90  vtkBooleanMacro(ToleranceIsAbsolute,int);
91  vtkGetMacro(ToleranceIsAbsolute,int);
93 
95 
97  vtkSetClampMacro(Tolerance,double,0.0,1.0);
98  vtkGetMacro(Tolerance,double);
100 
102 
103  vtkSetClampMacro(AbsoluteTolerance,double,0.0,VTK_DOUBLE_MAX);
104  vtkGetMacro(AbsoluteTolerance,double);
106 
108 
109  vtkSetMacro(ConvertLinesToPoints,int);
110  vtkBooleanMacro(ConvertLinesToPoints,int);
111  vtkGetMacro(ConvertLinesToPoints,int);
113 
115 
116  vtkSetMacro(ConvertPolysToLines,int);
117  vtkBooleanMacro(ConvertPolysToLines,int);
118  vtkGetMacro(ConvertPolysToLines,int);
120 
122 
123  vtkSetMacro(ConvertStripsToPolys,int);
124  vtkBooleanMacro(ConvertStripsToPolys,int);
125  vtkGetMacro(ConvertStripsToPolys,int);
127 
129 
133  vtkSetMacro(PointMerging,int);
134  vtkGetMacro(PointMerging,int);
135  vtkBooleanMacro(PointMerging,int);
137 
139 
141  virtual void SetLocator(vtkIncrementalPointLocator *locator);
142  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
144 
146  void CreateDefaultLocator(vtkPolyData *input = 0);
147 
149  void ReleaseLocator() { this->SetLocator(NULL); }
150 
152  unsigned long int GetMTime();
153 
155  virtual void OperateOnPoint(double in[3], double out[3]);
156 
158  virtual void OperateOnBounds(double in[6], double out[6]);
159 
160  // This filter is difficult to stream.
161  // To get invariant results, the whole input must be processed at once.
162  // This flag allows the user to select whether strict piece invariance
163  // is required. By default it is on. When off, the filter can stream,
164  // but results may change.
165  vtkSetMacro(PieceInvariant, int);
166  vtkGetMacro(PieceInvariant, int);
167  vtkBooleanMacro(PieceInvariant, int);
168 
170 
173  vtkSetMacro(OutputPointsPrecision,int);
174  vtkGetMacro(OutputPointsPrecision,int);
176 
177 protected:
179  ~vtkCleanPolyData();
180 
181  // Usual data generation method
184 
186  double Tolerance;
193 
196 private:
197  vtkCleanPolyData(const vtkCleanPolyData&); // Not implemented.
198  void operator=(const vtkCleanPolyData&); // Not implemented.
199 };
200 
201 #endif
#define VTK_DOUBLE_MAX
Definition: vtkType.h:142
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
#define VTKFILTERSCORE_EXPORT
Abstract class in support of both point location and point insertion.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:83
merge duplicate points, and/or remove unused points and/or remove degenerate cells ...
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Superclass for algorithms that produce only polydata as output.
virtual unsigned long GetMTime()
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
vtkIncrementalPointLocator * Locator