VTK  9.2.5
vtkDataSetRegionSurfaceFilter.h
Go to the documentation of this file.
1 //=========================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //=========================================================================
24 #ifndef vtkDataSetRegionSurfaceFilter_h
25 #define vtkDataSetRegionSurfaceFilter_h
26 
27 #include "vtkFiltersGeometryModule.h" // For export macro
28 
30 
31 class vtkCharArray;
32 
33 class VTKFILTERSGEOMETRY_EXPORT vtkDataSetRegionSurfaceFilter : public vtkDataSetSurfaceFilter
34 {
35 public:
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
41 
45  vtkSetStringMacro(RegionArrayName);
46  vtkGetStringMacro(RegionArrayName);
48 
49  int UnstructuredGridExecute(vtkDataSet* input, vtkPolyData* output) override;
50 
51  // make it clear we want all the recordOrigCellId signatures from our parent
53 
54  // override one of the signatures
55  void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad* quad) override;
56 
58 
62  vtkSetMacro(SingleSided, bool);
63  vtkGetMacro(SingleSided, bool);
65 
67 
71  vtkSetStringMacro(MaterialPropertiesName);
72  vtkGetStringMacro(MaterialPropertiesName);
74 
76 
80  vtkSetStringMacro(MaterialIDsName);
81  vtkGetStringMacro(MaterialIDsName);
83 
85 
89  vtkSetStringMacro(MaterialPIDsName);
90  vtkGetStringMacro(MaterialPIDsName);
92 
94 
98  vtkSetStringMacro(InterfaceIDsName);
99  vtkGetStringMacro(InterfaceIDsName);
101 
102 protected:
105 
107 
110 
111  virtual void InsertQuadInHash(
112  vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId);
114  vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId) override
115  {
116  this->InsertQuadInHash(a, b, c, d, sourceId, -1); // for -Woverloaded-virtual comp warning
117  }
118 
120  vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId) override;
121  virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId)
122  {
123  this->InsertTriInHash(a, b, c, sourceId, -1); // for -Woverloaded-virtual comp warning
124  }
125 
127 
128 private:
130  void operator=(const vtkDataSetRegionSurfaceFilter&) = delete;
131 
132  char* RegionArrayName;
133  vtkIntArray* RegionArray;
134  vtkIdTypeArray* OrigCellIds;
135  vtkCharArray* CellFaceIds;
136  bool SingleSided;
137  char* MaterialPropertiesName;
138  char* MaterialIDsName;
139  char* MaterialPIDsName;
140  char* InterfaceIDsName;
141 
142  class Internals;
143  Internals* Internal;
144 };
145 
146 #endif
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:71
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:172
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:155
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:200
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
int vtkIdType
Definition: vtkType.h:332