VTK  9.1.0
vtkGenericGeometryFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkGenericGeometryFilter.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=========================================================================*/
47#ifndef vtkGenericGeometryFilter_h
48#define vtkGenericGeometryFilter_h
49
50#include "vtkFiltersGenericModule.h" // For export macro
52
54class vtkPointData;
55
56class VTKFILTERSGENERIC_EXPORT vtkGenericGeometryFilter : public vtkPolyDataAlgorithm
57{
58public:
61 void PrintSelf(ostream& os, vtkIndent indent) override;
62
64
67 vtkSetMacro(PointClipping, vtkTypeBool);
68 vtkGetMacro(PointClipping, vtkTypeBool);
69 vtkBooleanMacro(PointClipping, vtkTypeBool);
71
73
76 vtkSetMacro(CellClipping, vtkTypeBool);
77 vtkGetMacro(CellClipping, vtkTypeBool);
78 vtkBooleanMacro(CellClipping, vtkTypeBool);
80
82
85 vtkSetMacro(ExtentClipping, vtkTypeBool);
86 vtkGetMacro(ExtentClipping, vtkTypeBool);
87 vtkBooleanMacro(ExtentClipping, vtkTypeBool);
89
91
94 vtkSetClampMacro(PointMinimum, vtkIdType, 0, VTK_ID_MAX);
95 vtkGetMacro(PointMinimum, vtkIdType);
97
99
102 vtkSetClampMacro(PointMaximum, vtkIdType, 0, VTK_ID_MAX);
103 vtkGetMacro(PointMaximum, vtkIdType);
105
107
110 vtkSetClampMacro(CellMinimum, vtkIdType, 0, VTK_ID_MAX);
111 vtkGetMacro(CellMinimum, vtkIdType);
113
115
118 vtkSetClampMacro(CellMaximum, vtkIdType, 0, VTK_ID_MAX);
119 vtkGetMacro(CellMaximum, vtkIdType);
121
125 void SetExtent(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax);
126
128
131 void SetExtent(double extent[6]);
132 double* GetExtent() { return this->Extent; }
134
136
141 vtkSetMacro(Merging, vtkTypeBool);
142 vtkGetMacro(Merging, vtkTypeBool);
143 vtkBooleanMacro(Merging, vtkTypeBool);
145
147
152 vtkGetObjectMacro(Locator, vtkIncrementalPointLocator);
154
159
164
166
172 vtkSetMacro(PassThroughCellIds, vtkTypeBool);
173 vtkGetMacro(PassThroughCellIds, vtkTypeBool);
174 vtkBooleanMacro(PassThroughCellIds, vtkTypeBool);
176
177protected:
180
182 void PolyDataExecute(); // special cases for performance
186
188
193 double Extent[6];
197
200
201 // Used internal by vtkGenericAdaptorCell::Tessellate()
203
205
206private:
208 void operator=(const vtkGenericGeometryFilter&) = delete;
209};
210
211#endif
extract geometry from data (or convert data to polygonal type)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetLocator(vtkIncrementalPointLocator *locator)
Set / get a spatial locator for merging points.
vtkMTimeType GetMTime() override
Return the MTime also considering the locator.
void SetExtent(double extent[6])
Set / get a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
void CreateDefaultLocator()
Create default locator.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetExtent(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
Specify a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
static vtkGenericGeometryFilter * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkGenericGeometryFilter() override
double * GetExtent()
Set / get a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
vtkIncrementalPointLocator * Locator
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate point attribute data
Definition: vtkPointData.h:142
Superclass for algorithms that produce only polydata as output.
int vtkTypeBool
Definition: vtkABI.h:69
int vtkIdType
Definition: vtkType.h:332
#define VTK_ID_MAX
Definition: vtkType.h:336
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287