VTK  9.1.0
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
28class vtkCharArray;
29
30class VTKFILTERSGEOMETRY_EXPORT vtkDataSetRegionSurfaceFilter : public vtkDataSetSurfaceFilter
31{
32public:
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
99protected:
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
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
125private:
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:68
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId)
virtual vtkFastGeomQuad * GetNextVisibleQuadFromHash()
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
static vtkDataSetRegionSurfaceFilter * New()
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
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:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:149
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
int vtkIdType
Definition: vtkType.h:332