VTK
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:
101  ~vtkDataSetRegionSurfaceFilter() override;
102 
103  int FillInputPortInformation(int port, vtkInformation* info) override;
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 
116  void InsertTriInHash(
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
vtkDataSetSurfaceFilter::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkIdType
int vtkIdType
Definition: vtkType.h:349
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkDataSetRegionSurfaceFilter::InsertTriInHash
virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId)
Definition: vtkDataSetRegionSurfaceFilter.h:118
vtkDataSetSurfaceFilter::GetNextVisibleQuadFromHash
vtkFastGeomQuad * GetNextVisibleQuadFromHash()
vtkDataSetSurfaceFilter::InsertTriInHash
virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId=-1)
vtkDataSetSurfaceFilter
Extracts outer (polygonal) surface.
Definition: vtkDataSetSurfaceFilter.h:49
vtkDataSetSurfaceFilter::InsertQuadInHash
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId)
vtkCharArray
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:35
vtkX3D::port
Definition: vtkX3D.h:453
vtkDataSetSurfaceFilter::New
static vtkDataSetSurfaceFilter * New()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:39
vtkDataSetSurfaceFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDataSetRegionSurfaceFilter
Extract surface of materials.
Definition: vtkDataSetRegionSurfaceFilter.h:30
vtkDataSetRegionSurfaceFilter::InsertQuadInHash
void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId) override
Definition: vtkDataSetRegionSurfaceFilter.h:110
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:64
vtkX3D::info
Definition: vtkX3D.h:382
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:35
vtkDataSetSurfaceFilter::RecordOrigCellId
void RecordOrigCellId(vtkIdType newIndex, vtkIdType origId)
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkDataSetSurfaceFilter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkFastGeomQuadStruct
Definition: vtkDataSetSurfaceFilter.h:40
vtkDataSetSurfaceFilter::UnstructuredGridExecute
virtual int UnstructuredGridExecute(vtkDataSet *input, vtkPolyData *output)
vtkDataSetSurfaceFilter.h