VTK  9.3.20240425
vtkDataSetRegionSurfaceFilter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3// SPDX-License-Identifier: BSD-3-Clause
18#ifndef vtkDataSetRegionSurfaceFilter_h
19#define vtkDataSetRegionSurfaceFilter_h
20
21#include "vtkFiltersGeometryModule.h" // For export macro
22
24
25VTK_ABI_NAMESPACE_BEGIN
26class vtkCharArray;
27
28class VTKFILTERSGEOMETRY_EXPORT vtkDataSetRegionSurfaceFilter : public vtkDataSetSurfaceFilter
29{
30public:
33 void PrintSelf(ostream& os, vtkIndent indent) override;
34
36
40 vtkSetStringMacro(RegionArrayName);
41 vtkGetStringMacro(RegionArrayName);
43
44 int UnstructuredGridExecute(vtkDataSet* input, vtkPolyData* output) override;
45
46 // make it clear we want all the recordOrigCellId signatures from our parent
48
49 // override one of the signatures
50 void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad* quad) override;
51
53
57 vtkSetMacro(SingleSided, bool);
58 vtkGetMacro(SingleSided, bool);
60
62
66 vtkSetStringMacro(MaterialPropertiesName);
67 vtkGetStringMacro(MaterialPropertiesName);
69
71
75 vtkSetStringMacro(MaterialIDsName);
76 vtkGetStringMacro(MaterialIDsName);
78
80
84 vtkSetStringMacro(MaterialPIDsName);
85 vtkGetStringMacro(MaterialPIDsName);
87
89
93 vtkSetStringMacro(InterfaceIDsName);
94 vtkGetStringMacro(InterfaceIDsName);
96
97protected:
100
101 int FillInputPortInformation(int port, vtkInformation* info) override;
102
105
106 virtual void InsertQuadInHash(
107 vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId);
109 vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId) override
110 {
111 this->InsertQuadInHash(a, b, c, d, sourceId, -1); // for -Woverloaded-virtual comp warning
112 }
113
115 vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId) override;
116 virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId)
117 {
118 this->InsertTriInHash(a, b, c, sourceId, -1); // for -Woverloaded-virtual comp warning
119 }
120
122
123private:
125 void operator=(const vtkDataSetRegionSurfaceFilter&) = delete;
126
127 char* RegionArrayName;
128 vtkIntArray* RegionArray;
129 vtkIdTypeArray* OrigCellIds;
130 vtkCharArray* CellFaceIds;
131 bool SingleSided;
132 char* MaterialPropertiesName;
133 char* MaterialIDsName;
134 char* MaterialPIDsName;
135 char* InterfaceIDsName;
136
137 class Internals;
138 Internals* Internal;
139};
140
141VTK_ABI_NAMESPACE_END
142#endif
dynamic, self-adjusting array of char
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId)
virtual vtkFastGeomQuad * GetNextVisibleQuadFromHash()
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Implementation of the algorithm.
int UnstructuredGridExecute(vtkDataSet *input, vtkPolyData *output) override
Execute the filter on input and store the result in output.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkDataSetRegionSurfaceFilter() override
void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId) override
static vtkDataSetRegionSurfaceFilter * New()
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId)
void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad *quad) override
void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId) override
Extracts outer surface (as vtkPolyData) of any dataset.
void RecordOrigCellId(vtkIdType newIndex, vtkIdType origId)
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId)
virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId=-1)
abstract class to specify dataset behavior
Definition vtkDataSet.h:166
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
concrete dataset represents vertices, lines, polygons, and triangle strips
int vtkIdType
Definition vtkType.h:315