VTK  9.7.0
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
17
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
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
void RecordOrigCellId(vtkIdType newIndex, vtkIdType origId)
abstract class to specify dataset behavior
Definition vtkDataSet.h:57
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
Definition vtkIntArray.h:36
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:72
struct vtkFastGeomQuadStruct vtkFastGeomQuad
int vtkIdType
Definition vtkType.h:363