125 #ifndef __vtkHyperTree_h
126 #define __vtkHyperTree_h
128 #include "vtkCommonDataModelModule.h"
129 #include "vtkObject.h"
137 virtual void Initialize() = 0;
139 virtual vtkIdType GetNumberOfLeaves() = 0;
140 virtual vtkIdType GetNumberOfNodes() = 0;
141 virtual vtkIdType GetNumberOfIndex() = 0;
142 virtual int GetBranchFactor() = 0;
143 virtual int GetDimension() = 0;
144 virtual void SetScale(
double[3] ) = 0;
145 virtual void GetScale(
double[3] ) = 0;
146 virtual double GetScale(
unsigned int ) = 0;
150 virtual vtkIdType GetNumberOfLevels() = 0;
159 virtual unsigned int GetActualMemorySize() = 0;
164 static vtkHyperTree* CreateInstance(
unsigned int branchFactor,
165 unsigned int dimension );
170 virtual void FindChildParameters(
int, vtkIdType&,
bool& );
174 virtual void SetGlobalIndexStart( vtkIdType ) = 0;
177 virtual void SetGlobalIndexFromLocal( vtkIdType local, vtkIdType global ) = 0;
181 virtual vtkIdType GetGlobalIndexFromLocal( vtkIdType local ) = 0;
Objects that can traverse hypertree nodes.
An object structured as a tree where each node has exactly either 2^n or 3^n children.