27 The top level of the tree is not considered a grid level
28 NB: For ease of legibility, white spaces are allowed and ignored.
31 This
class was written by Philippe Pebay and Joachim Pouderoux,
33 This work was supported in part by Commissariat a l'Energie Atomique (CEA/DIF)
36 @ref c2_vtk_e_vtkHyperTreeGridSource
"vtkHyperTreeGridSource (Examples)"
39 @ref c2_vtk_t_vtkHyperTreeGridSource
"vtkHyperTreeGridSource (Tests)"
42 #ifndef __vtkHyperTreeGridSource_h
43 #define __vtkHyperTreeGridSource_h
45 #include "vtkFiltersSourcesModule.h"
47 #include "vtkStdString.h"
54 class vtkImplicitFunction;
62 void PrintSelf(ostream& os, vtkIndent indent);
68 unsigned int GetMaximumLevel();
72 void SetMaximumLevel(
unsigned int levels );
76 vtkSetVector3Macro(Origin,
double);
77 vtkGetVector3Macro(Origin,
double);
83 vtkSetVector3Macro(GridScale,
double);
84 vtkGetVector3Macro(GridScale,
double);
89 vtkSetVector3Macro(GridSize,
unsigned int);
90 vtkGetVector3Macro(GridSize,
unsigned int);
97 vtkSetMacro(TransposedRootIndexing,
bool);
98 vtkGetMacro(TransposedRootIndexing,
bool);
99 void SetIndexingModeToKJI();
100 void SetIndexingModeToIJK();
105 vtkSetClampMacro(BranchFactor,
unsigned int, 2, 3);
106 vtkGetMacro(BranchFactor,
unsigned int);
111 vtkSetClampMacro(Dimension,
unsigned int, 2, 3);
112 vtkGetMacro(Dimension,
unsigned int);
118 vtkSetMacro(UseDescriptor,
bool);
119 vtkGetMacro(UseDescriptor,
bool);
120 vtkBooleanMacro(UseDescriptor,
bool);
126 vtkSetMacro(UseMaterialMask,
bool);
127 vtkGetMacro(UseMaterialMask,
bool);
128 vtkBooleanMacro(UseMaterialMask,
bool);
133 vtkSetStringMacro(Descriptor);
134 vtkGetStringMacro(Descriptor);
139 vtkSetStringMacro(MaterialMask);
140 vtkGetStringMacro(MaterialMask);
145 virtual void SetDescriptorBits( vtkBitArray* );
146 vtkGetObjectMacro( DescriptorBits, vtkBitArray );
150 virtual void SetLevelZeroMaterialIndex( vtkIdTypeArray* );
154 virtual void SetMaterialMaskBits( vtkBitArray* );
155 vtkGetObjectMacro( MaterialMaskBits, vtkBitArray );
160 virtual void SetQuadric( vtkQuadric* );
161 vtkGetObjectMacro(Quadric, vtkQuadric);
166 void SetQuadricCoefficients(
double[10] );
167 void GetQuadricCoefficients(
double[10] );
168 double* GetQuadricCoefficients();
172 unsigned long GetMTime();
176 vtkBitArray* ConvertDescriptorStringToBitArray(
const vtkStdString& );
177 vtkBitArray* ConvertMaterialMaskStringToBitArray(
const vtkStdString& );
184 int RequestInformation ( vtkInformation*,
185 vtkInformationVector**,
186 vtkInformationVector* );
188 virtual int RequestData( vtkInformation*,
189 vtkInformationVector**,
190 vtkInformationVector* );
193 int InitializeFromStringDescriptor();
196 int InitializeFromBitsDescriptor();
236 double EvaluateQuadric(
double[3] );
240 unsigned int GridSize[3];
vtkBitArray * MaterialMaskBits
Create a synthetic grid of hypertrees.
std::vector< vtkIdType > LevelBitsIndexCnt
std::map< vtkIdType, vtkIdType > LevelZeroMaterialMap
vtkDataArray * ZCoordinates
unsigned int BranchFactor
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
std::vector< vtkStdString > LevelMaterialMasks
vtkIdTypeArray * LevelZeroMaterialIndex
Objects that can traverse hypertree nodes.
vtkHyperTreeGrid * Output
vtkDataArray * YCoordinates
std::vector< vtkIdType > LevelBitsIndex
vtkDataArray * XCoordinates
Superclass for algorithms that produce a hyper tree grid as output.
std::vector< vtkStdString > LevelDescriptors
vtkBitArray * DescriptorBits
std::vector< int > LevelCounters
unsigned int MaximumLevel
bool TransposedRootIndexing