VTK
9.5.2
Main Page
Related Pages
Topics
Namespaces
Classes
Files
Examples
File List
File Members
Common
DataModel
vtkHyperTreeGrid.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
58
59
#ifndef vtkHyperTreeGrid_h
60
#define vtkHyperTreeGrid_h
61
62
#include "vtkCommonDataModelModule.h"
// For export macro
63
#include "
vtkDataObject.h
"
64
65
#include "
vtkNew.h
"
// vtkSmartPointer
66
#include "
vtkSmartPointer.h
"
// vtkSmartPointer
67
68
#include <cassert>
// std::assert
69
#include <map>
// std::map
70
#include <memory>
// std::shared_ptr
71
72
VTK_ABI_NAMESPACE_BEGIN
73
class
vtkBitArray
;
74
class
vtkBoundingBox
;
75
class
vtkCellLinks
;
76
class
vtkCollection
;
77
class
vtkDataArray
;
78
class
vtkHyperTree
;
79
class
vtkHyperTreeGridOrientedCursor
;
80
class
vtkHyperTreeGridOrientedGeometryCursor
;
81
class
vtkHyperTreeGridNonOrientedCursor
;
82
class
vtkHyperTreeGridNonOrientedGeometryCursor
;
83
class
vtkHyperTreeGridNonOrientedUnlimitedGeometryCursor
;
84
class
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor
;
85
class
vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight
;
86
class
vtkHyperTreeGridNonOrientedMooreSuperCursor
;
87
class
vtkHyperTreeGridNonOrientedMooreSuperCursorLight
;
88
class
vtkHyperTreeGridNonOrientedUnlimitedMooreSuperCursor
;
89
class
vtkDoubleArray
;
90
class
vtkDataSetAttributes
;
91
class
vtkIdTypeArray
;
92
class
vtkLine
;
93
class
vtkPixel
;
94
class
vtkPoints
;
95
class
vtkCellData
;
96
class
vtkUnsignedCharArray
;
97
98
class
VTKCOMMONDATAMODEL_EXPORT
vtkHyperTreeGrid
:
public
vtkDataObject
99
{
100
public
:
101
static
vtkInformationIntegerKey
*
LEVELS
();
102
static
vtkInformationIntegerKey
*
DIMENSION
();
103
static
vtkInformationIntegerKey
*
ORIENTATION
();
104
static
vtkInformationDoubleVectorKey
*
SIZES
();
105
static
vtkHyperTreeGrid
*
New
();
106
107
vtkTypeMacro(
vtkHyperTreeGrid
,
vtkDataObject
);
108
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
109
114
static
constexpr
vtkIdType
InvalidIndex
= ~0;
115
119
vtkSetStringMacro(
ModeSqueeze
);
// By copy
120
vtkGetStringMacro(
ModeSqueeze
);
121
125
virtual
void
Squeeze
();
126
130
int
GetDataObjectType
() VTK_FUTURE_CONST
override
{
return
VTK_HYPER_TREE_GRID
; }
131
136
virtual
void
CopyStructure
(
vtkDataObject
*);
137
141
virtual
void
CopyEmptyStructure
(
vtkDataObject
*);
142
143
// --------------------------------------------------------------------------
144
// RectilinearGrid common API
145
// --------------------------------------------------------------------------
146
148
151
void
SetDimensions
(
const
unsigned
int
dims[3]);
152
void
SetDimensions
(
const
int
dims[3]);
153
void
SetDimensions
(
unsigned
int
i,
unsigned
int
j,
unsigned
int
k);
154
void
SetDimensions
(
int
i,
int
j,
int
k);
156
158
162
const
unsigned
int
*
GetDimensions
() const
VTK_SIZEHINT
(3);
163
void
GetDimensions
(
int
dim[3]) const;
164
void
GetDimensions
(
unsigned
int
dim[3]) const;
166
168
174
void
SetExtent
(const
int
extent[6]);
175
void
SetExtent
(
int
x1,
int
x2,
int
y1,
int
y2,
int
z1,
int
z2);
176
vtkGetVector6Macro(
Extent
,
int
);
178
180
185
const
unsigned
int
*
GetCellDims
() const
VTK_SIZEHINT
(3);
186
void
GetCellDims
(
int
cellDims[3]) const;
187
void
GetCellDims
(
unsigned
int
cellDims[3]) const;
189
190
// --------------------------------------------------------------------------
191
193
196
unsigned
int
GetDimension
()
const
{
return
this->
Dimension
; }
198
200
203
void
Get1DAxis
(
unsigned
int
& axis)
const
204
{
205
assert(
"pre: valid_dim"
&& this->
GetDimension
() == 1);
206
axis = this->Axis[0];
207
}
208
209
211
214
void
Get2DAxes
(
unsigned
int
& axis1,
unsigned
int
& axis2)
const
215
{
216
assert(
"pre: valid_dim"
&& this->
GetDimension
() == 2);
217
axis1 = this->Axis[0];
218
axis2 = this->Axis[1];
219
}
220
221
223
226
const
unsigned
int
*
GetAxes
()
const
{
return
this->Axis; }
228
230
233
// vtkGetMacro(NumberOfChildren, unsigned int); not const
234
unsigned
int
GetNumberOfChildren
()
const
{
return
this->
NumberOfChildren
; }
236
238
242
vtkSetMacro(
TransposedRootIndexing
,
bool
);
243
vtkGetMacro(
TransposedRootIndexing
,
bool
);
244
void
SetIndexingModeToKJI
() { this->
SetTransposedRootIndexing
(
false
); }
245
void
SetIndexingModeToIJK
() { this->
SetTransposedRootIndexing
(
true
); }
247
249
255
unsigned
int
GetOrientation
()
const
{
return
this->Orientation; }
257
259
262
vtkGetMacro(
FreezeState
,
bool
);
264
266
269
void
SetBranchFactor
(
unsigned
int
);
270
unsigned
int
GetBranchFactor
()
const
{
return
this->
BranchFactor
; }
272
276
vtkIdType
GetMaxNumberOfTrees
()
const
;
277
281
vtkIdType
GetNumberOfNonEmptyTrees
();
282
286
vtkIdType
GetNumberOfLeaves
();
287
291
unsigned
int
GetNumberOfLevels
(
vtkIdType
);
292
296
unsigned
int
GetNumberOfLevels
();
297
299
302
virtual
void
SetXCoordinates
(
vtkDataArray
*);
303
vtkGetObjectMacro(
XCoordinates
,
vtkDataArray
);
305
307
310
virtual
void
SetYCoordinates
(
vtkDataArray
*);
311
vtkGetObjectMacro(
YCoordinates
,
vtkDataArray
);
313
315
318
virtual
void
SetZCoordinates
(
vtkDataArray
*);
319
vtkGetObjectMacro(
ZCoordinates
,
vtkDataArray
);
321
323
326
virtual
void
CopyCoordinates
(
const
vtkHyperTreeGrid
* output);
327
virtual
void
SetFixedCoordinates
(
unsigned
int
axis,
double
value);
329
331
334
void
SetMask
(
vtkBitArray
*);
335
vtkGetObjectMacro(
Mask
,
vtkBitArray
);
337
341
bool
HasMask
();
342
344
347
vtkSetMacro(
HasInterface
,
bool
);
348
vtkGetMacro(
HasInterface
,
bool
);
349
vtkBooleanMacro(
HasInterface
,
bool
);
351
353
356
vtkSetStringMacro(
InterfaceNormalsName
);
357
vtkGetStringMacro(
InterfaceNormalsName
);
359
361
364
vtkSetStringMacro(
InterfaceInterceptsName
);
365
vtkGetStringMacro(
InterfaceInterceptsName
);
367
369
372
vtkSetMacro(
DepthLimiter
,
unsigned
int
);
373
vtkGetMacro(
DepthLimiter
,
unsigned
int
);
375
377
386
void
InitializeOrientedCursor
(<