36 #ifndef vtkHyperTreeGridGeometryLevelEntry_h
37 #define vtkHyperTreeGridGeometryLevelEntry_h
66 for (
unsigned int d = 0; d < 3; ++d)
80 void Dump(ostream& os);
90 for (
unsigned int d = 0; d < 3; ++d)
92 this->Origin[d] = origin[d];
106 this->Tree =
nullptr;
115 this->
Initialize(entry->Tree, entry->Level, entry->Index, entry->Origin);
127 cursor->
Initialize(grid, this->Tree, this->Level, this->Index, this->Origin);
138 assert(
"pre: level==0" && this->Level == 0);
141 cursor->
Initialize(grid, this->Tree, this->Level, this->Index, this->Origin);
207 bool IsRoot() {
return (this->Index == 0); }
227 unsigned int GetLevel()
const {
return this->Level; }
233 const double*
GetOrigin()
const {
return this->Origin; }
267 #endif // vtkHyperTreeGridGeometryLevelEntry
bool IsRoot()
Is the cursor at tree root?
void Copy(const vtkHyperTreeGridGeometryLevelEntry *entry)
Copy function.
vtkIdType GetVertexId() const
Return the index of the current vertex in the tree.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
void SetGlobalIndexFromLocal(vtkIdType index)
Set the global index for the current cell of the HyperTree.
void ToChild(const vtkHyperTreeGrid *grid, unsigned char ichild)
Move the cursor to child `child' of the current vertex.
~vtkHyperTreeGridGeometryLevelEntry()=default
Destructor.
void Initialize(vtkHyperTree *tree, unsigned int level, vtkIdType index, const double *origin)
Initialize cache entry from explicit required data.
double * GetOrigin()
Getter for origin coordinates of the current cell.
Hold a reference to a vtkObjectBase instance.
bool IsTerminalNode(const vtkHyperTreeGrid *grid) const
Is the cursor pointing to a coarse with all childrens being leaves ?
static vtkSmartPointer< T > New()
Create an instance of a VTK object.
void Initialize(vtkHyperTreeGrid *grid, vtkIdType treeIndex, bool create=false)
Initialize cursor at root of given tree index in grid.
unsigned int GetLevel() const
Get level info from current cache entry.
void GetPoint(double point[3]) const
Getter for center of the current cell.
void GetBounds(double bounds[6]) const
Getter for bounding box of the current cell.
void SetGlobalIndexStart(vtkIdType index)
Set the global index for the root cell of the HyperTree.
vtkHyperTree * GetTree() const
Get HyperTree from current cache entry.
a simple class to control print indentation
void Reset()
Reset function.
vtkIdType GetGlobalNodeIndex() const
Return the global index (relative to the grid) of the current vertex in the tree. ...
void PrintSelf(ostream &os, vtkIndent indent)
Display info about the entry.
bool IsMasked(const vtkHyperTreeGrid *grid) const
Determine whether blanking mask is empty or not.
bool IsLeaf(const vtkHyperTreeGrid *grid) const
Is the cursor pointing to a leaf?
vtkSmartPointer< vtkHyperTreeGridNonOrientedGeometryCursor > GetHyperTreeGridNonOrientedGeometryCursor(vtkHyperTreeGrid *grid)
Create a vtkHyperTreeGridNonOrientedCursor from input grid and current entry data.
vtkSmartPointer< vtkHyperTreeGridOrientedGeometryCursor > GetHyperTreeGridOrientedGeometryCursor(vtkHyperTreeGrid *grid)
Create a vtkHyperTreeGridOrientedCursor from input grid and current entry data.
A data object structured as a tree.
Cursor cache data with coordinates and level info.
vtkHyperTreeGridGeometryLevelEntry()
Constructor.
void SubdivideLeaf(const vtkHyperTreeGrid *grid)
Change the current cell's status: if leaf then becomes coarse and all its children are created...
void SetMask(const vtkHyperTreeGrid *grid, bool state)
Set the blanking mask is empty or not.
void Dump(ostream &os)
Dump information.
const double * GetOrigin() const
void Initialize(vtkHyperTreeGrid *grid, vtkIdType treeIndex, bool create=false)
Initialize cursor at root of given tree index in grid.