Loading [MathJax]/extensions/tex2jax.js
VTK  9.4.20250409
vtkAdaptiveDataSetSurfaceFilter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
23#ifndef vtkAdaptiveDataSetSurfaceFilter_h
24#define vtkAdaptiveDataSetSurfaceFilter_h
25
26#include "vtkFiltersHybridModule.h" // For export macro
27#include "vtkGeometryFilter.h"
28
29VTK_ABI_NAMESPACE_BEGIN
30class vtkBitArray;
31class vtkCamera;
33class vtkMatrix4x4;
34class vtkRenderer;
35
38
39class VTKFILTERSHYBRID_EXPORT vtkAdaptiveDataSetSurfaceFilter : public vtkGeometryFilter
40{
41public:
44 void PrintSelf(ostream& os, vtkIndent indent) override;
45
47
51 vtkGetObjectMacro(Renderer, vtkRenderer);
53
58
60
65 vtkSetMacro(ViewPointDepend, bool);
66 vtkGetMacro(ViewPointDepend, bool);
68
70
75 vtkSetMacro(FixedLevelMax, int);
76 vtkGetMacro(FixedLevelMax, int);
78
79 VTK_DEPRECATED_IN_9_5_0("CircleSelection has been removed. Do not use.")
80 virtual void SetCircleSelection(bool _arg);
81 VTK_DEPRECATED_IN_9_5_0("CircleSelection has been removed. Do not use.")
82 virtual bool GetCircleSelection();
83
84 VTK_DEPRECATED_IN_9_5_0("BBSelection has been removed. Do not use.")
85 virtual void SetBBSelection(bool _arg);
86 VTK_DEPRECATED_IN_9_5_0("BBSelection has been removed. Do not use.")
87 virtual bool GetBBSelection();
88
89 VTK_DEPRECATED_IN_9_5_0("DynamicDecimateLevelMax has been removed. Do not use.")
90 virtual void SetDynamicDecimateLevelMax(int _arg);
91 VTK_DEPRECATED_IN_9_5_0("DynamicDecimateLevelMax has been removed. Do not use.")
92 virtual int GetDynamicDecimateLevelMax();
93
94 VTK_DEPRECATED_IN_9_5_0("Scale has been removed. Do not use.")
95 virtual void SetScale(double _arg);
96 VTK_DEPRECATED_IN_9_5_0("Scale has been removed. Do not use.")
97 virtual int GetScale();
98
99protected:
102
103 int RequestData(vtkInformation* vtkNotUsed(request), vtkInformationVector** inputVector,
104 vtkInformationVector* outputVector) override;
105 int DataObjectExecute(vtkDataObject* input, vtkPolyData* output);
106 int FillInputPortInformation(int port, vtkInformation* info) override;
107
108private:
110 void operator=(const vtkAdaptiveDataSetSurfaceFilter&) = delete;
111
112 enum class ShapeState : uint8_t;
113
120 template <int N>
121 ShapeState IsShapeVisible(const std::array<std::array<double, 3>, N>& points, int level);
122
126 void ProcessTrees(vtkHyperTreeGrid* input, vtkPolyData* output);
127
131 void RecursivelyProcessTree1D(vtkHyperTreeGridNonOrientedGeometryCursor*, int);
132 void RecursivelyProcessTree2D(vtkHyperTreeGridNonOrientedGeometryCursor*, int);
133 void RecursivelyProcessTree3D(vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight*, int);
134
139
144
149
153 void AddFace(vtkIdType, const double*, const double*, int, unsigned int);
154
155 vtkDataSetAttributes* InData = nullptr;
156 vtkDataSetAttributes* OutData = nullptr;
157
161 unsigned int Dimension = 0;
162
166 unsigned int Orientation = 0;
167
171 vtkBitArray* Mask;
172
176 vtkPoints* Points = nullptr;
177
181 vtkCellArray* Cells = nullptr;
182
186 vtkRenderer* Renderer = nullptr;
187
191 unsigned int Axis1;
192
196 unsigned int Axis2;
197
201 int LastRendererSize[2] = { 0, 0 };
202
206 bool ViewPointDepend = true;
207
211 int FixedLevelMax = -1;
212
216 bool IsParallel = false;
217
221 int MaxLevel = VTK_INT_MAX;
222
223 vtkSmartPointer<vtkMatrix4x4> ModelViewMatrix;
224 vtkSmartPointer<vtkMatrix4x4> ProjectionMatrix;
225};
226
227VTK_ABI_NAMESPACE_END
228#endif // vtkAdaptiveDataSetSurfaceFilter_h
Adaptively extract dataset surface.
vtkMTimeType GetMTime() override
Get the mtime of this object.
void SetRenderer(vtkRenderer *ren)
Set/Get the renderer attached to this adaptive surface extractor.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkAdaptiveDataSetSurfaceFilter * New()
dynamic, self-adjusting array of bits
Definition vtkBitArray.h:29
a virtual camera for 3D rendering
Definition vtkCamera.h:151
object to represent cell connectivity
general representation of visualization data
represent and manipulate attribute data in a dataset
extract boundary geometry from dataset (or convert data to polygonal type)
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 4x4 transformation matrices
represent and manipulate 3D points
Definition vtkPoints.h:139
concrete dataset represents vertices, lines, polygons, and triangle strips
abstract specification for renderers
Hold a reference to a vtkObjectBase instance.
@ Cells
A cell specified by degrees of freedom held in arrays.
#define VTK_DEPRECATED_IN_9_5_0(reason)
int vtkIdType
Definition vtkType.h:332
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_INT_MAX
Definition vtkType.h:161