VTK
vtkGeometryFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGeometryFilter.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 =========================================================================*/
53 #ifndef vtkGeometryFilter_h
54 #define vtkGeometryFilter_h
55 
56 #include "vtkFiltersGeometryModule.h" // For export macro
57 #include "vtkPolyDataAlgorithm.h"
58 
60 
61 class VTKFILTERSGEOMETRY_EXPORT vtkGeometryFilter : public vtkPolyDataAlgorithm
62 {
63 public:
64  static vtkGeometryFilter *New();
66  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
67 
69 
72  vtkSetMacro(PointClipping,int);
73  vtkGetMacro(PointClipping,int);
74  vtkBooleanMacro(PointClipping,int);
76 
78 
81  vtkSetMacro(CellClipping,int);
82  vtkGetMacro(CellClipping,int);
83  vtkBooleanMacro(CellClipping,int);
85 
87 
90  vtkSetMacro(ExtentClipping,int);
91  vtkGetMacro(ExtentClipping,int);
92  vtkBooleanMacro(ExtentClipping,int);
94 
96 
99  vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_ID_MAX);
100  vtkGetMacro(PointMinimum,vtkIdType);
102 
104 
107  vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_ID_MAX);
108  vtkGetMacro(PointMaximum,vtkIdType);
110 
112 
115  vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_ID_MAX);
116  vtkGetMacro(CellMinimum,vtkIdType);
118 
120 
123  vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_ID_MAX);
124  vtkGetMacro(CellMaximum,vtkIdType);
126 
130  void SetExtent(double xMin, double xMax, double yMin, double yMax,
131  double zMin, double zMax);
132 
134 
137  void SetExtent(double extent[6]);
138  double *GetExtent() { return this->Extent;};
140 
142 
147  vtkSetMacro(Merging,int);
148  vtkGetMacro(Merging,int);
149  vtkBooleanMacro(Merging,int);
151 
153 
157  void SetLocator(vtkIncrementalPointLocator *locator);
158  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
160 
164  void CreateDefaultLocator();
165 
169  vtkMTimeType GetMTime() VTK_OVERRIDE;
170 
171 protected:
173  ~vtkGeometryFilter() VTK_OVERRIDE;
174 
175  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
176  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
177 
178  //special cases for performance
179  void PolyDataExecute(vtkDataSet *, vtkPolyData *);
180  void UnstructuredGridExecute(vtkDataSet *, vtkPolyData *);
181  void StructuredGridExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
182  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
183 
184  vtkIdType PointMaximum;
185  vtkIdType PointMinimum;
186  vtkIdType CellMinimum;
187  vtkIdType CellMaximum;
188  double Extent[6];
189  int PointClipping;
190  int CellClipping;
191  int ExtentClipping;
192 
193  int Merging;
195 private:
196  vtkGeometryFilter(const vtkGeometryFilter&) VTK_DELETE_FUNCTION;
197  void operator=(const vtkGeometryFilter&) VTK_DELETE_FUNCTION;
198 };
199 
200 #endif
201 
202 
Store vtkAlgorithm input/output information.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:300
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
Abstract class in support of both point location and point insertion.
int vtkIdType
Definition: vtkType.h:345
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:79
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
virtual vtkMTimeType GetMTime()
Return this object's modified time.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#define VTK_ID_MAX
Definition: vtkType.h:349
double * GetExtent()
Set / get a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
Store zero or more vtkInformation instances.
extract geometry from data (or convert data to polygonal type)
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.