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 
47  vtkPolyData *output) override;
48 
49  //make it clear we want all the recordOrigCellId signatures from our parent
51 
52  //override one of the signatures
53  void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad *quad) override;
54 
56 
60  vtkSetMacro(SingleSided, bool);
61  vtkGetMacro(SingleSided, bool);
63 
65 
69  vtkSetStringMacro(MaterialPropertiesName);
70  vtkGetStringMacro(MaterialPropertiesName);
72 
74 
78  vtkSetStringMacro(MaterialIDsName);
79  vtkGetStringMacro(MaterialIDsName);
81 
83 
87  vtkSetStringMacro(MaterialPIDsName);
88  vtkGetStringMacro(MaterialPIDsName);
90 
92 
96  vtkSetStringMacro(InterfaceIDsName);
97  vtkGetStringMacro(InterfaceIDsName);
99 
100 protected:
102  ~vtkDataSetRegionSurfaceFilter() override;
103 
104  int FillInputPortInformation(int port, vtkInformation *info) override;
105 
109  vtkInformationVector *) override;
110 
111  virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c,
112  vtkIdType d, vtkIdType sourceId, vtkIdType faceId);
114  vtkIdType d, vtkIdType sourceId) override
115  {
116  this->InsertQuadInHash(a,b,c,d,sourceId, -1); //for -Woverloaded-virtual comp warning
117  }
118 
120  vtkIdType sourceId, vtkIdType faceId) override;
122  vtkIdType sourceId)
123  {
124  this->InsertTriInHash(a,b,c,sourceId, -1); //for -Woverloaded-virtual comp warning
125  }
126 
128 
129 private:
131  void operator=(const vtkDataSetRegionSurfaceFilter&) = delete;
132 
133  char *RegionArrayName;
134  vtkIntArray *RegionArray;
135  vtkIdTypeArray *OrigCellIds;
136  vtkCharArray *CellFaceIds;
137  bool SingleSided;
138  char *MaterialPropertiesName;
139  char *MaterialIDsName;
140  char *MaterialPIDsName;
141  char *InterfaceIDsName;
142 
143  class Internals;
144  Internals *Internal;
145 };
146 
147 #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:347
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:121
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:447
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:113
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:80
vtkX3D::info
Definition: vtkX3D.h:376
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:79
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