81#ifndef vtkGeometryFilter_h
82#define vtkGeometryFilter_h
84#include "vtkFiltersGeometryModule.h"
89VTK_ABI_NAMESPACE_BEGIN
106 OTHER_LINEAR_CELLS = 4,
107 NON_LINEAR_CELLS = 5,
118 return this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
119 !this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
120 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
124 return !this->CellTypesInfo[VERTS] && this->CellTypesInfo[LINES] &&
125 !this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
126 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
130 return !this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
131 this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
132 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
136 return !this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
137 !this->CellTypesInfo[POLYS] && this->CellTypesInfo[STRIPS] &&
138 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
158 vtkSetMacro(PointClipping,
bool);
159 vtkGetMacro(PointClipping,
bool);
160 vtkBooleanMacro(PointClipping,
bool);
167 vtkSetMacro(CellClipping,
bool);
168 vtkGetMacro(CellClipping,
bool);
169 vtkBooleanMacro(CellClipping,
bool);
176 vtkSetMacro(ExtentClipping,
bool);
177 vtkGetMacro(ExtentClipping,
bool);
178 vtkBooleanMacro(ExtentClipping,
bool);
216 void SetExtent(
double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax);
235 vtkSetMacro(Merging,
bool);
236 vtkGetMacro(Merging,
bool);
237 vtkBooleanMacro(Merging,
bool);
260 vtkSetMacro(FastMode,
bool);
261 vtkGetMacro(FastMode,
bool);
262 vtkBooleanMacro(FastMode,
bool);
274 virtual
void SetDegree(
unsigned int vtkNotUsed(arg)) {}
276 virtual
unsigned int GetDegreeMinValue() {
return 1; }
278 virtual
unsigned int GetDegreeMaxValue() {
return static_cast<int>(~0u >> 1); }
280 virtual
unsigned int GetDegree() {
return 4; }
300 void CreateDefaultLocator();
310 vtkSetMacro(PieceInvariant,
int);
311 vtkGetMacro(PieceInvariant,
int);
347 vtkSetStringMacro(OriginalCellIdsName);
348 virtual const
char* GetOriginalCellIdsName()
350 return (this->OriginalCellIdsName ? this->OriginalCellIdsName :
"vtkOriginalCellIds");
352 vtkSetStringMacro(OriginalPointIdsName);
355 return (this->OriginalPointIdsName ? this->OriginalPointIdsName :
"vtkOriginalPointIds");
388 vtkSetMacro(NonlinearSubdivisionLevel,
int);
389 vtkGetMacro(NonlinearSubdivisionLevel,
int);
413 vtkSetMacro(RemoveGhostInterfaces,
bool);
414 vtkBooleanMacro(RemoveGhostInterfaces,
bool);
415 vtkGetMacro(RemoveGhostInterfaces,
bool);
435 bool* extractFace =
nullptr);
437 virtual
int StructuredExecute(
439 virtual
int StructuredExecute(
464 int OutputPointsPrecision;
465 bool RemoveGhostInterfaces;
475 char* OriginalCellIdsName;
478 char* OriginalPointIdsName;
480 int NonlinearSubdivisionLevel;
Proxy object to connect input/output ports.
Extracts outer surface (as vtkPolyData) of any dataset.
abstract class to specify dataset behavior
extract boundary geometry from dataset (or convert data to polygonal type)
virtual const char * GetOriginalPointIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
virtual int PolyDataExecute(vtkDataSet *, vtkPolyData *)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
vtkPolyData * GetExcludedFaces()
If a second, vtkPolyData input is provided, this second input specifies a list of faces to be exclude...
int GetOutputPointsPrecision() const
Set/get the desired precision for the output types.
void SetOutputPointsPrecision(int precision)
Set/get the desired precision for the output types.
static vtkGeometryFilter * New()
Standard methods for instantiation, type information, and printing.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
int UnstructuredGridExecute(vtkDataSet *input, vtkPolyData *output, vtkGeometryFilterHelper *info, vtkPolyData *exc)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
virtual int UnstructuredGridExecute(vtkDataSet *input, vtkPolyData *output)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
void SetExcludedFacesConnection(vtkAlgorithmOutput *algOutput)
If a second, vtkPolyData input is provided, this second input specifies a list of faces to be exclude...
int PolyDataExecute(vtkDataSet *input, vtkPolyData *output, vtkPolyData *exc)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
void SetExtent(double extent[6])
Set / get a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
void SetExcludedFacesData(vtkPolyData *)
If a second, vtkPolyData input is provided, this second input specifies a list of faces to be exclude...
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.
double * GetExtent()
Set / get a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
topologically regular array of data
dataset represents arbitrary combinations of all possible cell types.
static vtkGeometryFilterHelper * CharacterizeUnstructuredGrid(vtkUnstructuredGridBase *)
CellTypesInformation CellTypesInfo
static void CopyFilterParams(vtkDataSetSurfaceFilter *dssf, vtkGeometryFilter *gf)
std::array< bool, NUM_CELL_TYPES > CellTypesInformation
static void CopyFilterParams(vtkGeometryFilter *gf, vtkDataSetSurfaceFilter *dssf)
#define VTK_DEPRECATED_IN_9_3_0(reason)
#define VTK_DEPRECATED_IN_9_2_0(reason)
#define VTK_SIZEHINT(...)