41 #ifndef vtkHyperTreeGrid_h 42 #define vtkHyperTreeGrid_h 44 #include "vtkCommonDataModelModule.h" 87 void CopyStructure(
vtkDataSet* ) VTK_OVERRIDE;
93 void SetGridSize(
unsigned int[3] );
94 void SetGridSize(
unsigned int i,
unsigned int j,
unsigned int k );
95 vtkGetVector3Macro(GridSize,
unsigned int);
102 void SetGridExtent(
int extent[6]);
103 void SetGridExtent(
int iMin,
int iMax,
int jMin,
int jMax,
113 vtkGetMacro(TransposedRootIndexing,
bool);
114 void SetIndexingModeToKJI()
115 { this->SetTransposedRootIndexing(
false ); }
117 { this->SetTransposedRootIndexing(
true ); }
125 void SetBranchFactor(
unsigned int );
126 vtkGetMacro(BranchFactor,
unsigned int);
134 void SetDimension(
unsigned int );
135 vtkGetMacro(Dimension,
unsigned int);
146 vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
206 virtual
void GenerateTrees();
267 int GetCellType(
vtkIdType ) VTK_OVERRIDE;
311 vtkIdType FindPoint(
double x[3] ) VTK_OVERRIDE;
327 double tol2,
int& subId,
double pcoords[3],
328 double *weights ) VTK_OVERRIDE;
339 double tol2,
int& subId,
double pcoords[3],
340 double *weights ) VTK_OVERRIDE;
346 void Initialize() VTK_OVERRIDE;
351 void InitializeTreeIterator( vtkHyperTreeIterator& );
359 int GetMaxCellSize() VTK_OVERRIDE;
387 void GenerateSuperCursorTraversalTable();
396 void InitializeSuperCursor( vtkHyperTreeGridSuperCursor*,
401 void InitializeSuperCursor( vtkHyperTreeGridSuperCursor*,
408 void InitializeSuperCursorChild( vtkHyperTreeGridSuperCursor* parent,
409 vtkHyperTreeGridSuperCursor* child,
410 unsigned int childIdx );
417 vtkGetMacro(NumberOfChildren,
unsigned int);
433 void ComputeBounds() VTK_OVERRIDE;
437 void ComputeDualGrid();
441 unsigned int Dimension;
442 unsigned int GridSize[3];
444 unsigned int BranchFactor;
445 unsigned int NumberOfChildren;
446 bool TransposedRootIndexing;
463 void DeleteInternalArrays();
466 #if !defined(__VTK_WRAP__) && !defined(__WRAP_GCCXML__) 502 vtkIdType RecursiveFindPoint(
double x[3],
504 double* origin,
double*
size);
528 unsigned short Level;
555 std::map<vtkIdType, vtkHyperTree*>::iterator
Iterator;
574 return this->Cursors + this->MiddleCursorId + idx;
virtual vtkIdType GetNumberOfCells()=0
Determine the number of cells composing the dataset.
object represents upward pointers from points to list of cells using each point
static vtkDataObject * New()
abstract class to specify dataset behavior
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a cell that represents an orthogonal quadrilateral
unsigned short GetLevel()
dynamic, self-adjusting array of vtkIdType
void SetIndexingModeToIJK()
Specify whether indexing mode of grid root cells must be transposed to x-axis first, z-axis last, instead of the default z-axis first, k-axis last.
provides thread-safe access to cells
void GetPoint(const int i, const int j, const int k, double pnt[3])
Objects that can traverse hypertree nodes.
cell represents a 1D line
abstract class to specify cell behavior
a cell that represents a 3D orthogonal parallelepiped
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
a simple class to control print indentation
list of point or cell ids
abstract superclass for arrays of numeric data
int GetDataObjectType() override
Return the type of data object.
represent and manipulate attribute data in a dataset
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
dynamic, self-adjusting array of bits
create and manipulate ordered lists of objects
An object structured as a tree where each node has exactly either 2^n or 3^n children.
vtkHyperTreeSimpleCursor * GetCursor(int idx)
general representation of visualization data
std::map< vtkIdType, vtkHyperTree * >::iterator Iterator
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.