VTK  9.7.1
vtkHyperTreeGridEntry.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
52 #ifndef vtkHyperTreeGridEntry_h
53 #define vtkHyperTreeGridEntry_h
54 
55 #include "vtkObject.h"
56 
57 VTK_ABI_NAMESPACE_BEGIN
58 class vtkHyperTree;
59 class vtkHyperTreeGrid;
60 
62 {
63 public:
67  void PrintSelf(ostream& os, vtkIndent indent);
68 
72  void Dump(ostream& os);
73 
77  vtkHyperTreeGridEntry() { this->Index = 0; }
78 
81 
86 
90  ~vtkHyperTreeGridEntry() = default;
91 
95  vtkHyperTree* Initialize(vtkHyperTreeGrid* grid, vtkIdType treeIndex, bool create = false);
96 
100  void Initialize(vtkIdType index) { this->Index = index; }
101 
105  void Copy(const vtkHyperTreeGridEntry* entry) { this->Index = entry->Index; }
106 
110  vtkIdType GetVertexId() const { return this->Index; }
111 
116  vtkIdType GetGlobalNodeIndex(const vtkHyperTree* tree) const;
117 
123 
129 
134  void SetMask(const vtkHyperTreeGrid* grid, const vtkHyperTree* tree, bool state);
135 
140  bool IsMasked(const vtkHyperTreeGrid* grid, const vtkHyperTree* tree) const;
141 
147  bool IsLeaf(const vtkHyperTreeGrid* grid, const vtkHyperTree* tree, unsigned int level) const;
148 
156  void SubdivideLeaf(const vtkHyperTreeGrid* grid, vtkHyperTree* tree, unsigned int level);
157 
162  bool IsTerminalNode(
163  const vtkHyperTreeGrid* grid, const vtkHyperTree* tree, unsigned int level) const;
164 
168  bool IsRoot() const { return (this->Index == 0); }
169 
178  void ToChild(const vtkHyperTreeGrid* grid, const vtkHyperTree* tree, unsigned int level,
179  unsigned char ichild);
180 
181 protected:
186 };
187 
188 VTK_ABI_NAMESPACE_END
189 #endif // vtkHyperTreeGridEntry_h
190 // VTK-HeaderTest-Exclude: vtkHyperTreeGridEntry.h
void Initialize(vtkIdType index)
Initialize cursor at root of given tree index in grid.
vtkHyperTreeGridEntry & operator=(vtkHyperTreeGridEntry const &)=default
vtkHyperTree * Initialize(vtkHyperTreeGrid *grid, vtkIdType treeIndex, bool create=false)
Initialize cursor at root of given tree index in grid.
vtkHyperTreeGridEntry(vtkIdType index)
Constructor.
void ToChild(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, unsigned int level, unsigned char ichild)
Move the cursor to i-th child of the current cell.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
vtkIdType Index
index of the current cell in the HyperTree.
bool IsTerminalNode(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, unsigned int level) const
Is the cursor pointing to a coarse with all children being leaves?
vtkIdType GetVertexId() const
Return the index of the current vertex in the tree.
int vtkIdType
Definition: vtkType.h:363
a simple class to control print indentation
Definition: vtkIndent.h:28
void SetGlobalIndexStart(vtkHyperTree *tree, vtkIdType index)
Set the global index for the root cell of the HyperTree.
vtkHyperTreeGridEntry()
Constructor.
void SubdivideLeaf(const vtkHyperTreeGrid *grid, vtkHyperTree *tree, unsigned int level)
Change the current cell's status: if leaf then becomes coarse and all its children are created...
Entries are cache data for cursors.
bool IsMasked(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree) const
Determine whether blanking mask is empty or not.
void PrintSelf(ostream &os, vtkIndent indent)
Display info about the entry.
bool IsLeaf(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, unsigned int level) const
Is the cursor pointing to a leaf?
void Copy(const vtkHyperTreeGridEntry *entry)
Copy function.
A data object structured as a tree.
Definition: vtkHyperTree.h:170
void SetMask(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, bool state)
Set the blanking mask is empty or not.
bool IsRoot() const
Is the cursor at HyperTree root?
void Dump(ostream &os)
Dump information.
void SetGlobalIndexFromLocal(vtkHyperTree *tree, vtkIdType index)
Set the global index for the current cell of the HyperTree.
vtkIdType GetGlobalNodeIndex(const vtkHyperTree *tree) const
Return the global index for the current cell (cf.
~vtkHyperTreeGridEntry()=default
Destructor.