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 =========================================================================*/
59 #ifndef vtkGeometryFilter_h
60 #define vtkGeometryFilter_h
61 
62 #include "vtkFiltersGeometryModule.h" // For export macro
63 #include "vtkPolyDataAlgorithm.h"
64 
66 
67 class VTKFILTERSGEOMETRY_EXPORT vtkGeometryFilter : public vtkPolyDataAlgorithm
68 {
69 public:
70  static vtkGeometryFilter *New();
72  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
73 
75 
78  vtkSetMacro(PointClipping,int);
79  vtkGetMacro(PointClipping,int);
80  vtkBooleanMacro(PointClipping,int);
82 
84 
87  vtkSetMacro(CellClipping,int);
88  vtkGetMacro(CellClipping,int);
89  vtkBooleanMacro(CellClipping,int);
91 
93 
96  vtkSetMacro(ExtentClipping,int);
97  vtkGetMacro(ExtentClipping,int);
98  vtkBooleanMacro(ExtentClipping,int);
100 
102 
105  vtkSetClampMacro(PointMinimum,vtkIdType,0,VTK_ID_MAX);
106  vtkGetMacro(PointMinimum,vtkIdType);
108 
110 
113  vtkSetClampMacro(PointMaximum,vtkIdType,0,VTK_ID_MAX);
114  vtkGetMacro(PointMaximum,vtkIdType);
116 
118 
121  vtkSetClampMacro(CellMinimum,vtkIdType,0,VTK_ID_MAX);
122  vtkGetMacro(CellMinimum,vtkIdType);
124 
126 
129  vtkSetClampMacro(CellMaximum,vtkIdType,0,VTK_ID_MAX);
130  vtkGetMacro(CellMaximum,vtkIdType);
132 
136  void SetExtent(double xMin, double xMax, double yMin, double yMax,
137  double zMin, double zMax);
138 
140 
143  void SetExtent(double extent[6]);
144  double *GetExtent() { return this->Extent;};
146 
148 
153  vtkSetMacro(Merging,int);
154  vtkGetMacro(Merging,int);
155  vtkBooleanMacro(Merging,int);
157 
159 
163  void SetLocator(vtkIncrementalPointLocator *locator);
164  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
166 
170  void CreateDefaultLocator();
171 
175  vtkMTimeType GetMTime() VTK_OVERRIDE;
176 
177 protected:
179  ~vtkGeometryFilter() VTK_OVERRIDE;
180 
181  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
182  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
183 
184  //special cases for performance
185  void PolyDataExecute(vtkDataSet *, vtkPolyData *);
186  void UnstructuredGridExecute(vtkDataSet *, vtkPolyData *);
187  void StructuredGridExecute(vtkDataSet *, vtkPolyData *, vtkInformation *);
188  int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
189 
190  vtkIdType PointMaximum;
191  vtkIdType PointMinimum;
192  vtkIdType CellMinimum;
193  vtkIdType CellMaximum;
194  double Extent[6];
195  int PointClipping;
196  int CellClipping;
197  int ExtentClipping;
198 
199  int Merging;
201 private:
202  vtkGeometryFilter(const vtkGeometryFilter&) VTK_DELETE_FUNCTION;
203  void operator=(const vtkGeometryFilter&) VTK_DELETE_FUNCTION;
204 };
205 
206 #endif
207 
208 
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
Abstract class in support of both point location and point insertion.
int vtkIdType
Definition: vtkType.h:287
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
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:291
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.