90 #ifndef vtkGeometryFilter_h
91 #define vtkGeometryFilter_h
93 #include "vtkFiltersGeometryModule.h"
98 VTK_ABI_NAMESPACE_BEGIN
115 OTHER_LINEAR_CELLS = 4,
116 NON_LINEAR_CELLS = 5,
127 return this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
128 !this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
129 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
133 return !this->CellTypesInfo[VERTS] && this->CellTypesInfo[LINES] &&
134 !this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
135 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
139 return !this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
140 this->CellTypesInfo[POLYS] && !this->CellTypesInfo[STRIPS] &&
141 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
145 return !this->CellTypesInfo[VERTS] && !this->CellTypesInfo[LINES] &&
146 !this->CellTypesInfo[POLYS] && this->CellTypesInfo[STRIPS] &&
147 !this->CellTypesInfo[OTHER_LINEAR_CELLS] && !this->CellTypesInfo[NON_LINEAR_CELLS];
167 vtkSetMacro(PointClipping,
bool);
168 vtkGetMacro(PointClipping,
bool);
169 vtkBooleanMacro(PointClipping,
bool);
176 vtkSetMacro(CellClipping,
bool);
177 vtkGetMacro(CellClipping,
bool);
178 vtkBooleanMacro(CellClipping,
bool);
185 vtkSetMacro(ExtentClipping,
bool);
186 vtkGetMacro(ExtentClipping,
bool);
187 vtkBooleanMacro(ExtentClipping,
bool);
225 void SetExtent(
double xMin,
double xMax,
double yMin,
double yMax,
double zMin,
double zMax);
244 vtkSetMacro(Merging,
bool);
245 vtkGetMacro(Merging,
bool);
246 vtkBooleanMacro(Merging,
bool);
269 vtkSetMacro(FastMode,
bool);
270 vtkGetMacro(FastMode,
bool);
271 vtkBooleanMacro(FastMode,
bool);
283 virtual
void SetDegree(
unsigned int vtkNotUsed(arg)) {}
285 virtual
unsigned int GetDegreeMinValue() {
return 1; }
287 virtual
unsigned int GetDegreeMaxValue() {
return static_cast<int>(~0u >> 1); }
289 virtual
unsigned int GetDegree() {
return 4; }
309 void CreateDefaultLocator();
319 vtkSetMacro(PieceInvariant,
int);
320 vtkGetMacro(PieceInvariant,
int);
356 vtkSetStringMacro(OriginalCellIdsName);
357 virtual const
char* GetOriginalCellIdsName()
359 return (this->OriginalCellIdsName ? this->OriginalCellIdsName :
"vtkOriginalCellIds");
361 vtkSetStringMacro(OriginalPointIdsName);
364 return (this->OriginalPointIdsName ? this->OriginalPointIdsName :
"vtkOriginalPointIds");
397 vtkSetMacro(NonlinearSubdivisionLevel,
int);
398 vtkGetMacro(NonlinearSubdivisionLevel,
int);
422 vtkSetMacro(RemoveGhostInterfaces,
bool);
423 vtkBooleanMacro(RemoveGhostInterfaces,
bool);
424 vtkGetMacro(RemoveGhostInterfaces,
bool);
444 bool* extractFace =
nullptr);
446 virtual
int StructuredExecute(
448 virtual
int StructuredExecute(
473 int OutputPointsPrecision;
474 bool RemoveGhostInterfaces;
484 char* OriginalCellIdsName;
487 char* OriginalPointIdsName;
489 int NonlinearSubdivisionLevel;
498 VTK_ABI_NAMESPACE_END
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 int PolyDataExecute(vtkDataSet *, vtkPolyData *)
Direct access methods so that this class can be used as an algorithm without using it as a filter (i....
double * GetExtent()
Set / get a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
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.
virtual const char * GetOriginalPointIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
vtkPolyData * GetExcludedFaces()
If a second, vtkPolyData input is provided, this second input specifies a list of faces to be exclude...
static vtkGeometryFilter * New()
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.
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.
CellTypesInformation CellTypesInfo
static void CopyFilterParams(vtkDataSetSurfaceFilter *dssf, vtkGeometryFilter *gf)
std::array< bool, NUM_CELL_TYPES > CellTypesInformation
static void CopyFilterParams(vtkGeometryFilter *gf, vtkDataSetSurfaceFilter *dssf)
static vtkGeometryFilterHelper * CharacterizeUnstructuredGrid(vtkUnstructuredGridBase *)
#define VTK_DEPRECATED_IN_9_3_0(reason)
#define VTK_DEPRECATED_IN_9_2_0(reason)
#define VTK_SIZEHINT(...)