VTK  9.0.3
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 //=========================================================================
21 #ifndef vtkDataSetRegionSurfaceFilter_h
22 #define vtkDataSetRegionSurfaceFilter_h
23 
24 #include "vtkFiltersGeometryModule.h" // For export macro
25 
27 
28 class vtkCharArray;
29 
30 class VTKFILTERSGEOMETRY_EXPORT vtkDataSetRegionSurfaceFilter : public vtkDataSetSurfaceFilter
31 {
32 public:
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
38 
42  vtkSetStringMacro(RegionArrayName);
43  vtkGetStringMacro(RegionArrayName);
45 
46  int UnstructuredGridExecute(vtkDataSet* input, vtkPolyData* output) override;
47 
48  // make it clear we want all the recordOrigCellId signatures from our parent
50 
51  // override one of the signatures
52  void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad* quad) override;
53 
55 
59  vtkSetMacro(SingleSided, bool);
60  vtkGetMacro(SingleSided, bool);
62 
64 
68  vtkSetStringMacro(MaterialPropertiesName);
69  vtkGetStringMacro(MaterialPropertiesName);
71 
73 
77  vtkSetStringMacro(MaterialIDsName);
78  vtkGetStringMacro(MaterialIDsName);
80 
82 
86  vtkSetStringMacro(MaterialPIDsName);
87  vtkGetStringMacro(MaterialPIDsName);
89 
91 
95  vtkSetStringMacro(InterfaceIDsName);
96  vtkGetStringMacro(InterfaceIDsName);
98 
99 protected:
102 
104 
107 
108  virtual void InsertQuadInHash(
109  vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId);
111  vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId) override
112  {
113  this->InsertQuadInHash(a, b, c, d, sourceId, -1); // for -Woverloaded-virtual comp warning
114  }
115 
117  vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId) override;
118  virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId)
119  {
120  this->InsertTriInHash(a, b, c, sourceId, -1); // for -Woverloaded-virtual comp warning
121  }
122 
124 
125 private:
127  void operator=(const vtkDataSetRegionSurfaceFilter&) = delete;
128 
129  char* RegionArrayName;
130  vtkIntArray* RegionArray;
131  vtkIdTypeArray* OrigCellIds;
132  vtkCharArray* CellFaceIds;
133  bool SingleSided;
134  char* MaterialPropertiesName;
135  char* MaterialIDsName;
136  char* MaterialPIDsName;
137  char* InterfaceIDsName;
138 
139  class Internals;
140  Internals* Internal;
141 };
142 
143 #endif
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:36
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
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 (polygonal) surface.
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:57
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:40
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
int vtkIdType
Definition: vtkType.h:338