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);
144 
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:
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
vtkCleanPolyData::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkCleanPolyData::Tolerance
double Tolerance
Definition: vtkCleanPolyData.h:186
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkCleanPolyData::vtkCleanPolyData
vtkCleanPolyData()
vtkCleanPolyData::AbsoluteTolerance
double AbsoluteTolerance
Definition: vtkCleanPolyData.h:187
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkCleanPolyData
merge duplicate points, and/or remove unused points and/or remove degenerate cells
Definition: vtkCleanPolyData.h:79
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkCleanPolyData::ReleaseLocator
void ReleaseLocator()
Definition: vtkCleanPolyData.h:149
vtkCleanPolyData::ConvertStripsToPolys
int ConvertStripsToPolys
Definition: vtkCleanPolyData.h:190
vtkgl::input
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
vtkgl::in
GLuint in
Definition: vtkgl.h:16905
vtkCleanPolyData::New
static vtkCleanPolyData * New()
vtkFiltersCoreModule.h
vtkPolyDataAlgorithm.h
vtkCleanPolyData::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkCleanPolyData::SetLocator
virtual void SetLocator(vtkIncrementalPointLocator *locator)
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkCleanPolyData::ToleranceIsAbsolute
int ToleranceIsAbsolute
Definition: vtkCleanPolyData.h:191
vtkCleanPolyData::RequestUpdateExtent
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkCleanPolyData::PieceInvariant
int PieceInvariant
Definition: vtkCleanPolyData.h:194
vtkCleanPolyData::ConvertLinesToPoints
int ConvertLinesToPoints
Definition: vtkCleanPolyData.h:188
vtkCleanPolyData::Locator
vtkIncrementalPointLocator * Locator
Definition: vtkCleanPolyData.h:192
VTKFILTERSCORE_EXPORT
#define VTKFILTERSCORE_EXPORT
Definition: vtkFiltersCoreModule.h:15
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCleanPolyData::GetMTime
unsigned long int GetMTime()
vtkIncrementalPointLocator
Abstract class in support of both point location and point insertion.
Definition: vtkIncrementalPointLocator.h:54
vtkCleanPolyData::ConvertPolysToLines
int ConvertPolysToLines
Definition: vtkCleanPolyData.h:189
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkCleanPolyData::OutputPointsPrecision
int OutputPointsPrecision
Definition: vtkCleanPolyData.h:195
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkCleanPolyData::OperateOnPoint
virtual void OperateOnPoint(double in[3], double out[3])
vtkCleanPolyData::~vtkCleanPolyData
~vtkCleanPolyData()
vtkCleanPolyData::CreateDefaultLocator
void CreateDefaultLocator(vtkPolyData *input=0)
VTK_DOUBLE_MAX
#define VTK_DOUBLE_MAX
Definition: vtkType.h:142
vtkCleanPolyData::PointMerging
int PointMerging
Definition: vtkCleanPolyData.h:185
vtkCleanPolyData::OperateOnBounds
virtual void OperateOnBounds(double in[6], double out[6])
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:44