VTK
vtkHyperTree.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperTree.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
125 #ifndef vtkHyperTree_h
126 #define vtkHyperTree_h
127 
128 #include "vtkCommonDataModelModule.h" // For export macro
129 #include "vtkObject.h"
130 
131 class vtkHyperTreeCursor;
132 
134 {
135 public:
137  virtual void Initialize() = 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;
147 
151 
155  virtual void SubdivideLeaf( vtkHyperTreeCursor* leaf ) = 0;
156 
159  virtual unsigned int GetActualMemorySize() = 0;
160 
162 
164  static vtkHyperTree* CreateInstance( unsigned int branchFactor,
165  unsigned int dimension );
167 
170  virtual void FindChildParameters( int, vtkIdType&, bool& );
171 
174  virtual void SetGlobalIndexStart( vtkIdType ) = 0;
175 
177  virtual void SetGlobalIndexFromLocal( vtkIdType local, vtkIdType global ) = 0;
178 
182 
183 protected:
185  {
186  }
187 
188 private:
189  vtkHyperTree(const vtkHyperTree&); // Not implemented.
190  void operator=(const vtkHyperTree&); // Not implemented.
191 };
192 
193 
194 #endif
vtkHyperTree::vtkHyperTree
vtkHyperTree()
Definition: vtkHyperTree.h:184
vtkHyperTree::GetActualMemorySize
virtual unsigned int GetActualMemorySize()=0
vtkHyperTree::FindChildParameters
virtual void FindChildParameters(int, vtkIdType &, bool &)
vtkHyperTree::GetDimension
virtual int GetDimension()=0
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkCommonDataModelModule.h
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkHyperTree::SubdivideLeaf
virtual void SubdivideLeaf(vtkHyperTreeCursor *leaf)=0
vtkHyperTree::SetGlobalIndexStart
virtual void SetGlobalIndexStart(vtkIdType)=0
vtkHyperTree::GetBranchFactor
virtual int GetBranchFactor()=0
vtkHyperTree::NewCursor
virtual vtkHyperTreeCursor * NewCursor()=0
vtkHyperTree::SetGlobalIndexFromLocal
virtual void SetGlobalIndexFromLocal(vtkIdType local, vtkIdType global)=0
vtkHyperTree::GetScale
virtual void GetScale(double[3])=0
vtkHyperTree::GetNumberOfNodes
virtual vtkIdType GetNumberOfNodes()=0
vtkHyperTree::GetNumberOfIndex
virtual vtkIdType GetNumberOfIndex()=0
vtkHyperTreeCursor
Objects that can traverse hypertree nodes.
Definition: vtkHyperTreeCursor.h:57
vtkHyperTree::GetGlobalIndexFromLocal
virtual vtkIdType GetGlobalIndexFromLocal(vtkIdType local)=0
vtkHyperTree
An object structured as a tree where each node has exactly either 2^n or 3^n children.
Definition: vtkHyperTree.h:134
vtkObject.h
vtkHyperTree::SetScale
virtual void SetScale(double[3])=0
vtkHyperTree::GetScale
virtual double GetScale(unsigned int)=0
vtkHyperTree::CreateInstance
static vtkHyperTree * CreateInstance(unsigned int branchFactor, unsigned int dimension)
vtkHyperTree::GetNumberOfLeaves
virtual vtkIdType GetNumberOfLeaves()=0
VTKCOMMONDATAMODEL_EXPORT
#define VTKCOMMONDATAMODEL_EXPORT
Definition: vtkCommonDataModelModule.h:15
vtkHyperTree::GetNumberOfLevels
virtual vtkIdType GetNumberOfLevels()=0
vtkHyperTree::Initialize
virtual void Initialize()=0