VTK: Filters/Geometry/vtkDataSetRegionSurfaceFilter.h Source File

| VTK 9.3.1

vtkDataSetRegionSurfaceFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3 // SPDX-License-Identifier: BSD-3-Clause
18 #ifndef vtkDataSetRegionSurfaceFilter_h
19 #define vtkDataSetRegionSurfaceFilter_h
20
21 #include "vtkFiltersGeometryModule.h" // For export macro
22
23 #include "vtkDataSetSurfaceFilter.h"
24
25 VTK_ABI_NAMESPACE_BEGIN
26 class vtkCharArray;
27
28 class VTKFILTERSGEOMETRY_EXPORT vtkDataSetRegionSurfaceFilter : public vtkDataSetSurfaceFilter
29 {
30 public:
31 static vtkDataSetRegionSurfaceFilter* New();
32 vtkTypeMacro(vtkDataSetRegionSurfaceFilter, vtkDataSetSurfaceFilter);
33 void PrintSelf(ostream& os, vtkIndent indent) override;
34
36
40 vtkSetStringMacro(RegionArrayName);
41 vtkGetStringMacro(RegionArrayName);
43
44 int UnstructuredGridExecute(vtkDataSet* input, vtkPolyData* output) override;
45
46 // make it clear we want all the recordOrigCellId signatures from our parent
47 using vtkDataSetSurfaceFilter::RecordOrigCellId;
48
49 // override one of the signatures
50 void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad* quad) override;
51
53
57 vtkSetMacro(SingleSided, bool);
58 vtkGetMacro(SingleSided, bool);
60
62
66 vtkSetStringMacro(MaterialPropertiesName);
67 vtkGetStringMacro(MaterialPropertiesName);
69
71
75 vtkSetStringMacro(MaterialIDsName);
76 vtkGetStringMacro(MaterialIDsName);
78
80
84 vtkSetStringMacro(MaterialPIDsName);
85 vtkGetStringMacro(MaterialPIDsName);
87
89
93 vtkSetStringMacro(InterfaceIDsName);
94 vtkGetStringMacro(InterfaceIDsName);
96
97 protected:
98 vtkDataSetRegionSurfaceFilter();
99 ~vtkDataSetRegionSurfaceFilter() override;
100
101 int FillInputPortInformation(int port, vtkInformation* info) override;
102
104 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
105
106 virtual void InsertQuadInHash(
107 vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId);
108 void InsertQuadInHash(
109 vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId) override
110 {
111 this->InsertQuadInHash(a, b, c, d, sourceId, -1); // for -Woverloaded-virtual comp warning
112 }
113
114 void InsertTriInHash(
115 vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId) override;
116 virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId)
117 {
118 this->InsertTriInHash(a, b, c, sourceId, -1); // for -Woverloaded-virtual comp warning
119 }
120
121 virtual vtkFastGeomQuad* GetNextVisibleQuadFromHash();
122
123 private:
124 vtkDataSetRegionSurfaceFilter(const vtkDataSetRegionSurfaceFilter&) = delete;
125 void operator=(const vtkDataSetRegionSurfaceFilter&) = delete;
126
127 char* RegionArrayName;
128 vtkIntArray* RegionArray;
129 vtkIdTypeArray* OrigCellIds;
130 vtkCharArray* CellFaceIds;
131 bool SingleSided;
132 char* MaterialPropertiesName;
133 char* MaterialIDsName;
134 char* MaterialPIDsName;
135 char* InterfaceIDsName;
136
137 class Internals;
138 Internals* Internal;
139 };
140
141 VTK_ABI_NAMESPACE_END
142 #endif
vtkCharArray
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:50
vtkDataSetRegionSurfaceFilter
Extract surface of materials.
Definition: vtkDataSetRegionSurfaceFilter.h:29
vtkDataSetRegionSurfaceFilter::InsertQuadInHash
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId, vtkIdType faceId)
vtkDataSetRegionSurfaceFilter::New
static vtkDataSetRegionSurfaceFilter * New()
vtkDataSetRegionSurfaceFilter::vtkDataSetRegionSurfaceFilter
vtkDataSetRegionSurfaceFilter()
vtkDataSetRegionSurfaceFilter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Implementation of the algorithm.
vtkDataSetRegionSurfaceFilter::UnstructuredGridExecute
int UnstructuredGridExecute(vtkDataSet *input, vtkPolyData *output) override
Execute the filter on input and store the result in output.
vtkDataSetRegionSurfaceFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDataSetRegionSurfaceFilter::~vtkDataSetRegionSurfaceFilter
~vtkDataSetRegionSurfaceFilter() override
vtkDataSetRegionSurfaceFilter::InsertQuadInHash
void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId) override
Definition: vtkDataSetRegionSurfaceFilter.h:108
vtkDataSetRegionSurfaceFilter::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkDataSetRegionSurfaceFilter::InsertTriInHash
virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId)
Definition: vtkDataSetRegionSurfaceFilter.h:116
vtkDataSetRegionSurfaceFilter::RecordOrigCellId
void RecordOrigCellId(vtkIdType newIndex, vtkFastGeomQuad *quad) override
vtkDataSetRegionSurfaceFilter::GetNextVisibleQuadFromHash
virtual vtkFastGeomQuad * GetNextVisibleQuadFromHash()
vtkDataSetRegionSurfaceFilter::InsertTriInHash
void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId) override
vtkDataSetSurfaceFilter
Extracts outer surface (as vtkPolyData) of any dataset.
Definition: vtkDataSetSurfaceFilter.h:118
vtkDataSetSurfaceFilter::RecordOrigCellId
void RecordOrigCellId(vtkIdType newIndex, vtkIdType origId)
vtkDataSetSurfaceFilter::InsertQuadInHash
virtual void InsertQuadInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType d, vtkIdType sourceId)
vtkDataSetSurfaceFilter::InsertTriInHash
virtual void InsertTriInHash(vtkIdType a, vtkIdType b, vtkIdType c, vtkIdType sourceId, vtkIdType faceId=-1)
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:37
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:44
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:89
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkFastGeomQuadStruct
Definition: vtkDataSetSurfaceFilter.h:109
vtkDataSetSurfaceFilter.h
vtkIdType
int vtkIdType
Definition: vtkType.h:315