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);
475 bool* extractFace =
nullptr);
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)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
virtual const char * GetOriginalPointIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
vtkTypeBool PassThroughCellIds
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....
int NonlinearSubdivisionLevel
virtual const char * GetOriginalCellIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
vtkIncrementalPointLocator * Locator
vtkPolyData * GetExcludedFaces()
If a second, vtkPolyData input is provided, this second input specifies a list of faces to be exclude...
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkTypeBool PassThroughPointIds
bool RemoveGhostInterfaces
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.
char * OriginalCellIdsName
int StructuredExecute(vtkDataSet *input, vtkPolyData *output, int *wholeExtent, vtkPolyData *exc, bool *extractFace=nullptr)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
virtual int StructuredExecute(vtkDataSet *input, vtkPolyData *output, int *wholeExt, bool *extractFace=nullptr)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
int OutputPointsPrecision
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....
int MatchBoundariesIgnoringCellOrder
char * OriginalPointIdsName
~vtkGeometryFilter() override
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....
int DataSetExecute(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.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
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.
virtual int DataSetExecute(vtkDataSet *input, vtkPolyData *output)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
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_SIZEHINT(...)