47 #ifndef vtkHyperTreeGrid_h
48 #define vtkHyperTreeGrid_h
50 #include "vtkCommonDataModelModule.h"
99 void SetGridSize(
unsigned int[3] );
100 void SetGridSize(
unsigned int i,
unsigned int j,
unsigned int k );
101 vtkGetVector3Macro(GridSize,
unsigned int);
109 void SetGridExtent(
int iMin,
int iMax,
int jMin,
int jMax,
119 vtkGetMacro(TransposedRootIndexing,
bool);
120 void SetIndexingModeToKJI()
121 { this->SetTransposedRootIndexing(
false ); }
123 { this->SetTransposedRootIndexing(
true ); }
132 vtkGetMacro(BranchFactor,
unsigned int);
141 vtkGetMacro(Dimension,
unsigned int);
212 virtual
void GenerateTrees();
332 double tol2,
int& subId,
double pcoords[3],
333 double *weights ) VTK_OVERRIDE;
344 double tol2,
int& subId,
double pcoords[3],
345 double *weights ) VTK_OVERRIDE;
351 void Initialize() VTK_OVERRIDE;
364 int GetMaxCellSize() VTK_OVERRIDE;
392 void GenerateSuperCursorTraversalTable();
415 unsigned int childIdx );
422 vtkGetMacro(NumberOfChildren,
unsigned int);
438 void ComputeBounds() VTK_OVERRIDE;
442 void ComputeDualGrid();
446 unsigned int Dimension;
447 unsigned int GridSize[3];
449 unsigned int BranchFactor;
450 unsigned int NumberOfChildren;
451 bool TransposedRootIndexing;
468 void DeleteInternalArrays();
471 #if !defined(__VTK_WRAP__) && !defined(__WRAP_GCCXML__)
509 double* origin,
double*
size);
533 unsigned short Level;
560 std::map<vtkIdType, vtkHyperTree*>::iterator
Iterator;
579 return this->Cursors + this->MiddleCursorId + idx;
void GetPoint(const int i, const int j, const int k, double pnt[3])
dynamic, self-adjusting array of bits
object represents upward pointers from points to list of cells using each point
abstract class to specify cell behavior
create and manipulate unsorted lists of objects
abstract superclass for arrays of numeric data
general representation of visualization data
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
provides thread-safe access to cells
Objects that can traverse hypertree nodes.
vtkHyperTree * GetNextTree()
Get the next tree and set its index then increment the iterator.
std::map< vtkIdType, vtkHyperTree * >::iterator Iterator
void Initialize(vtkHyperTreeGrid *)
Initialize the iterator on the tree set of the given HyperTreeGrid.
vtkHyperTree * GetNextTree(vtkIdType &index)
Get the next tree and set its index then increment the iterator.
void Initialize(vtkHyperTreeGrid *, vtkIdType, int[3])
vtkIdType GetGlobalNodeIndex()
unsigned short GetLevel()
vtkHyperTreeSimpleCursor()
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
void InitializeSuperCursorChild(vtkHyperTreeGridSuperCursor *parent, vtkHyperTreeGridSuperCursor *child, unsigned int childIdx)
Initialize a cursor to point to a child of an existing super cursor.
static vtkInformationIntegerKey * DIMENSION()
void GetLevelZeroCoordsFromIndex(vtkIdType index, unsigned int &i, unsigned int &j, unsigned int &k)
Convert a level 0 index to its ijk coordinates according the grid size.
static vtkInformationDoubleVectorKey * SIZES()
void EvaluateDualCorner(vtkHyperTreeSimpleCursor *)
void PrintSelf(ostream &, vtkIndent) override
Methods invoked by print to print information about the object including superclasses.
static vtkInformationIntegerKey * LEVELS()
vtkIdType GetNumberOfCells() override
Return the number of cells in the dual grid.
void TraverseDualMaskedLeaf(vtkHyperTreeGridSuperCursor *)
void SetDimension(unsigned int)
Set/Get the dimensionality of the grid NB: Can only be 1, 2 or 3.
static vtkHyperTreeGrid * New()
void TraverseDualLeaf(vtkHyperTreeGridSuperCursor *)
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
void TraverseDualRecursively(vtkHyperTreeGridSuperCursor *, unsigned int)
~vtkHyperTreeGrid() override
void SetIndexingModeToIJK()
void InitializeSuperCursor(vtkHyperTreeGridSuperCursor *, unsigned int, unsigned int, unsigned int, vtkIdType)
Initialize a super cursor to point to one of the root trees in the grid.
void SetBranchFactor(unsigned int)
Set/Get the subdivision factor in the grid refinement scheme NB: Can only be 2 or 3.
void InitializeSuperCursor(vtkHyperTreeGridSuperCursor *, vtkIdType)
vtkIdType RecursiveFindPoint(double x[3], vtkHyperTreeSimpleCursor *cursor, double *origin, double *size)
int GetDataObjectType() override
Return what type of dataset this is.
An object structured as a tree where each node has exactly either 2^n or 3^n children.
list of point or cell ids
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
cell represents a 1D line
a cell that represents an orthogonal quadrilateral
represent and manipulate 3D points
a cell that represents a 3D orthogonal parallelepiped
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
vtkHyperTreeSimpleCursor * GetCursor(int idx)
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.