VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
78 class VTKFILTERSCORE_EXPORT vtkCleanPolyData : public vtkPolyDataAlgorithm
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 
169 protected:
171  ~vtkCleanPolyData();
172 
173  // Usual data generation method
174  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
175  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
176  virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
177 
179  double Tolerance;
186 
188 private:
189  vtkCleanPolyData(const vtkCleanPolyData&); // Not implemented.
190  void operator=(const vtkCleanPolyData&); // Not implemented.
191 };
192 
193 #endif
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
Abstract class in support of both point location and point insertion.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:82
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 int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkIncrementalPointLocator * Locator