25 #ifndef vtkHyperTreeGridNonOrientedSuperCursorLight_h
26 #define vtkHyperTreeGridNonOrientedSuperCursorLight_h
28 #include "vtkCommonDataModelModule.h"
37 VTK_ABI_NAMESPACE_BEGIN
77 bool HasTree(
unsigned int icursor);
91 vtkIdType GetVertexId(
unsigned int icursor);
103 vtkIdType GetGlobalNodeIndex(
unsigned int icursor);
106 unsigned int icursor,
unsigned int&
level,
bool& leaf,
vtkIdType&
id);
112 unsigned char GetDimension();
118 unsigned char GetNumberOfChildren();
131 void SetMask(
bool state);
132 void SetMask(
unsigned int icursor,
bool state);
138 bool IsMasked(
unsigned int icursor);
154 bool IsLeaf(
unsigned int icursor);
156 void SubdivideLeaf();
166 unsigned int GetLevel();
167 unsigned int GetLevel(
unsigned int icursor);
174 void ToChild(
unsigned char);
215 std::vector<vtkHyperTreeGridLevelEntry>
Entries;
226 assert(
"pre: icursor != IndiceCentralCursor" && icursor != this->IndiceCentralCursor);
227 assert(
"pre: valid_icursor" && icursor < this->NumberOfCursors);
228 if (icursor > this->IndiceCentralCursor)
230 assert(
"pre: valid_icursor" &&
231 0 <=
long(this->FirstCurrentNeighboorReferenceEntry + icursor) - 1 &&
232 long(this->FirstCurrentNeighboorReferenceEntry + icursor) - 1 <
233 long(this->ReferenceEntries.size()));
234 assert(
"pre: valid_icursor" &&
235 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor - 1] <
236 this->Entries.size());
237 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor - 1];
241 assert(
"pre: valid_icursor" &&
242 this->FirstCurrentNeighboorReferenceEntry + icursor < this->ReferenceEntries.size());
243 assert(
"pre: valid_icursor" &&
244 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor] <
245 this->Entries.size());
246 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor];
255 assert(
"pre: icursor != IndiceCentralCursor" && icursor != IndiceCentralCursor);
256 assert(
"pre: valid_icursor" && icursor < this->NumberOfCursors);
257 if (icursor > this->IndiceCentralCursor)
259 assert(
"pre: valid_icursor" &&
261 long(this->FirstCurrentNeighboorReferenceEntry - (this->NumberOfCursors - 1) + icursor) -
263 long(this->FirstCurrentNeighboorReferenceEntry - (this->NumberOfCursors - 1) + icursor) -
265 long(this->ReferenceEntries.size()));
266 assert(
"pre: valid_icursor" &&
267 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
268 (this->NumberOfCursors - 1) + icursor - 1] < this->Entries.size());
269 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
270 (this->NumberOfCursors - 1) + icursor - 1];
274 assert(
"pre: valid_icursor" &&
275 this->FirstCurrentNeighboorReferenceEntry - (this->NumberOfCursors - 1) + icursor <
276 this->ReferenceEntries.size());
277 assert(
"pre: valid_icursor" &&
278 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
279 (this->NumberOfCursors - 1) + icursor] < this->Entries.size());
280 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
281 (this->NumberOfCursors - 1) + icursor];
304 VTK_ABI_NAMESPACE_END
void GetBounds(T a, double bds[6])
abstract base class for most VTK objects
unsigned int GetNumberOfCursors()
std::vector< unsigned int > FirstNonValidEntryByLevel
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
unsigned int IndiceCentralCursor
unsigned int FirstCurrentNeighboorReferenceEntry
The last valid reference to describe neighbors.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
const unsigned int * ChildCursorToChildTable
vtkSmartPointer< vtkHyperTreeGridNonOrientedGeometryCursor > CentralCursor
std::vector< vtkHyperTreeGridLevelEntry > Entries
unsigned int GetIndiceEntry(unsigned int icursor)
Objects for traversal a HyperTreeGrid.
a simple class to control print indentation
unsigned int NumberOfCursors
unsigned int GetIndicePreviousEntry(unsigned int icursor)
The previous value.
void GetPoint(int i, int j, int k, double pnt[3])
A data object structured as a tree.
vtkHyperTreeGrid * Grid
Currently processed Hyper Tree.
unsigned int CurrentFirstNonValidEntryByLevel
Hyper tree grid to which the cursor is attached.
Objects for traversal a HyperTreeGrid.
const unsigned int * ChildCursorToParentCursorTable
std::vector< unsigned int > ReferenceEntries