41 #ifndef vtkHyperTreeGrid_h
42 #define vtkHyperTreeGrid_h
44 #include "vtkCommonDataModelModule.h"
81 int GetDataObjectType() VTK_OVERRIDE;
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;
161 vtkIdType GetNumberOfTrees();
168 vtkGetObjectMacro(XCoordinates, vtkDataArray);
175 void SetYCoordinates( vtkDataArray* );
176 vtkGetObjectMacro(YCoordinates, vtkDataArray);
183 void SetZCoordinates( vtkDataArray* );
184 vtkGetObjectMacro(ZCoordinates, vtkDataArray);
192 vtkGetObjectMacro(MaterialMask, vtkBitArray);
200 vtkGetObjectMacro(MaterialMaskIndex, vtkIdTypeArray);
206 virtual
void GenerateTrees();
229 double*
GetPoint( vtkIdType ) VTK_OVERRIDE;
239 void GetPoint( vtkIdType,
double[3] ) VTK_OVERRIDE;
248 vtkCell* GetCell( vtkIdType ) VTK_OVERRIDE;
267 int GetCellType( vtkIdType ) VTK_OVERRIDE;
276 void GetCellPoints( vtkIdType,
vtkIdList* ) VTK_OVERRIDE;
282 virtual
void GetCellPoints( vtkIdType, vtkIdType&, vtkIdType*& );
291 void GetPointCells( vtkIdType,
vtkIdList* ) VTK_OVERRIDE;
303 void GetCellNeighbors( vtkIdType,
vtkIdList*, vtkIdList* ) VTK_OVERRIDE;
311 vtkIdType FindPoint(
double x[3] ) VTK_OVERRIDE;
326 vtkIdType FindCell(
double x[3],
vtkCell *cell, vtkIdType cellId,
327 double tol2,
int& subId,
double pcoords[3],
328 double *weights ) VTK_OVERRIDE;
337 vtkIdType FindCell(
double x[3],
vtkCell *cell,
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;
459 std::map<vtkIdType,
bool> PointShifted;
460 std::map<vtkIdType,
double> PointShifts[3];
461 std::map<vtkIdType,
double> ReductionFactors;
463 void DeleteInternalArrays();
466 #if !defined(__VTK_WRAP__) && !defined(__WRAP_GCCXML__)
502 vtkIdType RecursiveFindPoint(
double x[3],
504 double* origin,
double*
size);
522 vtkIdType GetGlobalNodeIndex();
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
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.