38 #ifndef vtkHyperTreeGridGeometryEntry_h
39 #define vtkHyperTreeGridGeometryEntry_h
65 for (
unsigned int d = 0; d < 3; ++d)
67 this->Origin[d] = origin[d];
79 void Dump(ostream& os);
92 for (
unsigned int d = 0; d < 3; ++d)
94 this->Origin[d] = origin[d];
103 this->Index = entry->Index;
104 for (
unsigned int d = 0; d < 3; ++d)
106 this->Origin[d] = entry->Origin[d];
172 bool IsRoot()
const {
return (this->Index == 0); }
183 const double* sizeChild,
unsigned char ichild);
189 const double*
GetOrigin()
const {
return this->Origin; }
194 void GetBounds(
const double* sizeChild,
double bounds[6])
const
197 bounds[0] = this->Origin[0];
198 bounds[1] = this->Origin[0] + sizeChild[0];
199 bounds[2] = this->Origin[1];
200 bounds[3] = this->Origin[1] + sizeChild[1];
201 bounds[4] = this->Origin[2];
202 bounds[5] = this->Origin[2] + sizeChild[2];
211 point[0] = this->Origin[0] + sizeChild[0] / 2.;
212 point[1] = this->Origin[1] + sizeChild[1] / 2.;
213 point[2] = this->Origin[2] + sizeChild[2] / 2.;
228 #endif // vtkHyperTreeGridGeometryEntry_h
void GetBounds(const double *sizeChild, double bounds[6]) const
Getter for bounding box of the current cell.
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 PrintSelf(ostream &os, vtkIndent indent)
Display info about the entry.
void GetPoint(const double *sizeChild, double point[3]) const
Getter for center of the current cell.
vtkHyperTreeGridGeometryEntry(vtkIdType index, const double *origin)
Constructor.
~vtkHyperTreeGridGeometryEntry()=default
Destructor.
const double * GetOrigin() const
vtkHyperTreeGridGeometryEntry()
Constructor.
bool IsRoot() const
Is the cursor at tree root?
a simple class to control print indentation
double * GetOrigin()
Getter for origin coordinates of the current cell.
void SetGlobalIndexStart(vtkHyperTree *tree, vtkIdType index)
Set the global index for the root cell of the HyperTree.
void Copy(const vtkHyperTreeGridGeometryEntry *entry)
Copy function.
void Dump(ostream &os)
Dump information.
void SetMask(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, bool state)
Set the blanking mask is empty or not.
bool IsTerminalNode(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, unsigned int level) const
Is the cursor pointing to a coarse with all childrens leaves ?
A data object structured as a tree.
vtkIdType GetGlobalNodeIndex(const vtkHyperTree *tree) const
Return the global index (relative to the grid) of the current vertex in the tree. ...
vtkHyperTree * Initialize(vtkHyperTreeGrid *grid, vtkIdType treeIndex, bool create=false)
Initialize cursor at root of given tree index in grid.
void Initialize(vtkIdType index, const double *origin)
Initialize cursor from explicit required data.
bool IsLeaf(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, unsigned int level) const
Is the cursor pointing to a leaf?
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...
void SetGlobalIndexFromLocal(vtkHyperTree *tree, vtkIdType index)
Set the global index for the current cell of the HyperTree.
void ToChild(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree, unsigned int level, const double *sizeChild, unsigned char ichild)
Move the cursor to child `child' of the current vertex.
bool IsMasked(const vtkHyperTreeGrid *grid, const vtkHyperTree *tree) const
Determine whether blanking mask is empty or not.