81 #ifndef vtkGeometryFilter_h
82 #define vtkGeometryFilter_h
84 #include "vtkFiltersGeometryModule.h"
89 VTK_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);
222 void SetExtent(
double extent[6]);
235 vtkSetMacro(Merging,
bool);
236 vtkGetMacro(Merging,
bool);
237 vtkBooleanMacro(Merging,
bool);
248 void SetOutputPointsPrecision(
int precision);
249 int GetOutputPointsPrecision()
const;
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);
323 vtkGetMacro(PassThroughCellIds, vtkTypeBool);
324 vtkBooleanMacro(PassThroughCellIds, vtkTypeBool);
335 vtkSetMacro(PassThroughPointIds, vtkTypeBool);
336 vtkGetMacro(PassThroughPointIds, vtkTypeBool);
337 vtkBooleanMacro(PassThroughPointIds, vtkTypeBool);
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);
427 int UnstructuredGridExecute(
435 bool* extractFace =
nullptr);
437 virtual
int StructuredExecute(
439 virtual
int StructuredExecute(
448 ~vtkGeometryFilter() override;
451 int FillInputPortInformation(
int port, vtkInformation*
info) override;
454 int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
464 int OutputPointsPrecision;
465 bool RemoveGhostInterfaces;
475 char* OriginalCellIdsName;
478 char* OriginalPointIdsName;
480 int NonlinearSubdivisionLevel;
485 vtkGeometryFilter(const vtkGeometryFilter&) = delete;
486 void operator=(const vtkGeometryFilter&) = delete;
489 VTK_ABI_NAMESPACE_END
abstract class to specify dataset behavior
#define VTK_DEPRECATED_IN_9_2_0(reason)
Abstract class in support of both point location and point insertion.
concrete dataset represents vertices, lines, polygons, and triangle strips
Proxy object to connect input/output ports.
static vtkPolyDataAlgorithm * New()
#define VTK_DEPRECATED_IN_9_3_0(reason)
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
CellTypesInformation CellTypesInfo
#define VTK_SIZEHINT(...)
virtual const char * GetOriginalPointIdsName()
If PassThroughCellIds or PassThroughPointIds is on, then these ivars control the name given to the fi...
topologically regular array of data
double * GetExtent()
Set / get a (xmin,xmax, ymin,ymax, zmin,zmax) bounding box to clip data.
extract boundary geometry from dataset (or convert data to polygonal type)
std::array< bool, NUM_CELL_TYPES > CellTypesInformation
Extracts outer surface (as vtkPolyData) of any dataset.
dataset represents arbitrary combinations of all possible cell types.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.