38 #ifndef vtkHyperTreeGridNonOrientedSuperCursorLight_h
39 #define vtkHyperTreeGridNonOrientedSuperCursorLight_h
41 #include "vtkCommonDataModelModule.h"
89 bool HasTree(
unsigned int icursor);
103 vtkIdType GetVertexId(
unsigned int icursor);
115 vtkIdType GetGlobalNodeIndex(
unsigned int icursor);
121 unsigned int icursor,
unsigned int&
level,
bool& leaf,
vtkIdType&
id);
127 unsigned char GetDimension();
133 unsigned char GetNumberOfChildren();
155 void SetMask(
bool state);
156 void SetMask(
unsigned int icursor,
bool state);
162 bool IsMasked(
unsigned int icursor);
168 void GetBounds(
double bounds[6]);
180 bool IsLeaf(
unsigned int icursor);
185 void SubdivideLeaf();
195 unsigned int GetLevel();
196 unsigned int GetLevel(
unsigned int icursor);
203 void ToChild(
unsigned char);
255 std::vector<vtkHyperTreeGridLevelEntry>
Entries;
269 assert(
"pre: icursor != IndiceCentralCursor" && icursor != this->IndiceCentralCursor);
270 assert(
"pre: valid_icursor" && icursor < this->NumberOfCursors);
271 if (icursor > this->IndiceCentralCursor)
273 assert(
"pre: valid_icursor" &&
274 0 <=
long(this->FirstCurrentNeighboorReferenceEntry + icursor) - 1 &&
275 long(this->FirstCurrentNeighboorReferenceEntry + icursor) - 1 <
276 long(this->ReferenceEntries.size()));
277 assert(
"pre: valid_icursor" &&
278 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor - 1] <
279 this->Entries.size());
280 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor - 1];
284 assert(
"pre: valid_icursor" &&
285 this->FirstCurrentNeighboorReferenceEntry + icursor < this->ReferenceEntries.size());
286 assert(
"pre: valid_icursor" &&
287 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor] <
288 this->Entries.size());
289 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry + icursor];
298 assert(
"pre: icursor != IndiceCentralCursor" && icursor != IndiceCentralCursor);
299 assert(
"pre: valid_icursor" && icursor < this->NumberOfCursors);
300 if (icursor > this->IndiceCentralCursor)
302 assert(
"pre: valid_icursor" &&
304 long(this->FirstCurrentNeighboorReferenceEntry - (this->NumberOfCursors - 1) + icursor) -
306 long(this->FirstCurrentNeighboorReferenceEntry - (this->NumberOfCursors - 1) + icursor) -
308 long(this->ReferenceEntries.size()));
309 assert(
"pre: valid_icursor" &&
310 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
311 (this->NumberOfCursors - 1) + icursor - 1] < this->Entries.size());
312 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
313 (this->NumberOfCursors - 1) + icursor - 1];
317 assert(
"pre: valid_icursor" &&
318 this->FirstCurrentNeighboorReferenceEntry - (this->NumberOfCursors - 1) + icursor <
319 this->ReferenceEntries.size());
320 assert(
"pre: valid_icursor" &&
321 this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
322 (this->NumberOfCursors - 1) + icursor] < this->Entries.size());
323 return this->ReferenceEntries[this->FirstCurrentNeighboorReferenceEntry -
324 (this->NumberOfCursors - 1) + icursor];