VTK  9.3.20240329
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 
25 VTK_ABI_NAMESPACE_BEGIN
26 class vtkCharArray;
27 
28 class VTKFILTERSGEOMETRY_EXPORT vtkDataSetRegionSurfaceFilter : public vtkDataSetSurfaceFilter
29 {
30 public:
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 
97 protected:
100 
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 
123 private:
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 
141 VTK_ABI_NAMESPACE_END
142 #endif
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:60
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId)
static vtkDataSetRegionSurfaceFilter * New()
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
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
virtual vtkFastGeomQuad * GetNextVisibleQuadFromHash()
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
Definition: vtkIntArray.h:144
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:181
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
int vtkIdType
Definition: vtkType.h:315