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
31class vtkCharArray;
32
33class VTKFILTERSGEOMETRY_EXPORT vtkDataSetRegionSurfaceFilter : public vtkDataSetSurfaceFilter
34{
35public:
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
102protected:
105
106 int FillInputPortInformation(int port, vtkInformation* info) override;
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
128private:
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:52
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:63
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:46
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:91
int vtkIdType
Definition: vtkType.h:332