150#ifndef vtkGeometryFilter_h
151#define vtkGeometryFilter_h
153#include "vtkFiltersGeometryModule.h"
158VTK_ABI_NAMESPACE_BEGIN
175 OTHER_LINEAR_CELLS = 4,
176 NON_LINEAR_CELLS = 5,
187 return this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
188 !this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
189 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
193 return !this->CellTypesInfo[VERTS] && this->CellTypesInfo[LINES] &&
194 !this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
195 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
199 return !this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
200 this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
201 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
205 return !this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
206 !this->CellTypesInfo[POLYS] && this->CellTypesInfo[STRIPS] &&
207 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
227 vtkSetMacro(PointClipping,
bool);
228 vtkGetMacro(PointClipping,
bool);
229 vtkBooleanMacro(PointClipping,
bool);
236 vtkSetMacro(CellClipping,
bool);
237 vtkGetMacro(CellClipping,
bool);
238 vtkBooleanMacro(CellClipping,
bool);
245 vtkSetMacro(ExtentClipping,
bool);
246 vtkGetMacro(ExtentClipping,
bool);
247 vtkBooleanMacro(ExtentClipping,
bool);
285 void SetExtent(
double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax);
304 vtkSetMacro(Merging,
bool);
305 vtkGetMacro(Merging,
bool);
306 vtkBooleanMacro(Merging,
bool);
329 vtkSetMacro(FastMode,
bool);
330 vtkGetMacro(FastMode,
bool);
331 vtkBooleanMacro(FastMode,
bool);
342 vtkSetMacro(PieceInvariant,
int);
343 vtkGetMacro(PieceInvariant,
int);
379 vtkSetStringMacro(OriginalCellIdsName);
382 return (this->OriginalCellIdsName ? this->OriginalCellIdsName :
"vtkOriginalCellIds");
384 vtkSetStringMacro(OriginalPointIdsName);
387 return (this->OriginalPointIdsName ? this->OriginalPointIdsName :
"vtkOriginalPointIds");
420 vtkSetMacro(NonlinearSubdivisionLevel,
int);
421 vtkGetMacro(NonlinearSubdivisionLevel,
int);
431 vtkSetMacro(MatchBoundariesIgnoringCellOrder,
int);
432 vtkGetMacro(MatchBoundariesIgnoringCellOrder,
int);
456 vtkSetMacro(RemoveGhostInterfaces,
bool);
457 vtkBooleanMacro(RemoveGhostInterfaces,
bool);
458 vtkGetMacro(RemoveGhostInterfaces,
bool);
478 bool* extractFace =
nullptr);
480 virtual
int StructuredExecute(
482 virtual
int StructuredExecute(
507 int OutputPointsPrecision;
508 bool RemoveGhostInterfaces;
518 char* OriginalCellIdsName;
521 char* OriginalPointIdsName;
523 int NonlinearSubdivisionLevel;
524 int MatchBoundariesIgnoringCellOrder;
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....
virtual const char * GetOriginalCellIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
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_SIZEHINT(...)