VTK  9.0.1
vtkHyperTreeGrid.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkHyperTreeGrid.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 =========================================================================*/
59 #ifndef vtkHyperTreeGrid_h
60 #define vtkHyperTreeGrid_h
61 
62 #include "vtkCommonDataModelModule.h" // For export macro
63 #include "vtkDataObject.h"
64 
65 #include "vtkNew.h" // vtkSmartPointer
66 #include "vtkSmartPointer.h" // vtkSmartPointer
67 // #include "vtkPointData.h" // vtkPointData
68 
69 #include <cassert> // std::assert
70 #include <map> // std::map
71 #include <memory> // std::shared_ptr
72 
73 class vtkBitArray;
74 class vtkBoundingBox;
75 class vtkCellLinks;
76 class vtkCollection;
77 class vtkDataArray;
78 class vtkHyperTree;
87 class vtkDoubleArray;
89 class vtkIdTypeArray;
90 class vtkLine;
91 class vtkPixel;
92 class vtkPoints;
93 class vtkPointData;
95 
96 class VTKCOMMONDATAMODEL_EXPORT vtkHyperTreeGrid : public vtkDataObject
97 {
98 public:
104 
106  void PrintSelf(ostream& os, vtkIndent indent) override;
107 
112  static constexpr vtkIdType InvalidIndex = ~0;
113 
117  vtkSetStringMacro(ModeSqueeze); // By copy
118  vtkGetStringMacro(ModeSqueeze);
119 
123  virtual void Squeeze();
124 
128  int GetDataObjectType() override { return VTK_HYPER_TREE_GRID; }
129 
134  virtual void CopyStructure(vtkDataObject*);
135 
140 
141  // --------------------------------------------------------------------------
142  // RectilinearGrid common API
143  // --------------------------------------------------------------------------
144 
146 
149  void SetDimensions(const unsigned int dims[3]);
150  void SetDimensions(const int dims[3]);
151  void SetDimensions(unsigned int i, unsigned int j, unsigned int k);
152  void SetDimensions(int i, int j, int k);
154 
156 
160  const unsigned int* GetDimensions() const VTK_SIZEHINT(3);
161  // JB Dommage, car vtkGetVectorMacro(Dimensions,int,3); not const function
162  void GetDimensions(int dim[3]) const;
163  void GetDimensions(unsigned int dim[3]) const;
165 
167 
173  void SetExtent(const int extent[6]);
174  void SetExtent(int x1, int x2, int y1, int y2, int z1, int z2);
175  vtkGetVector6Macro(Extent, int);
177 
179 
184  const unsigned int* GetCellDims() const VTK_SIZEHINT(3);
185  void GetCellDims(int cellDims[3]) const;
186  void GetCellDims(unsigned int cellDims[3]) const;
188 
189  // --------------------------------------------------------------------------
190 
192 
196  unsigned int GetDimension() const { return this->Dimension; }
198 
200 
203  void Get1DAxis(unsigned int& axis) const
204  {
205  assert("pre: valid_dim" && this->GetDimension() == 1);
206  axis = this->Axis[0];
207  }
209 
211 
214  void Get2DAxes(unsigned int& axis1, unsigned int& axis2) const
215  {
216  assert("pre: valid_dim" && this->GetDimension() == 2);
217  axis1 = this->Axis[0];
218  axis2 = this->Axis[1];
219  }
221 
223 
226  const unsigned int* GetAxes() const { return this->Axis; }
228 
230 
233  // vtkGetMacro(NumberOfChildren, unsigned int); not const
234  unsigned int GetNumberOfChildren() const { return this->NumberOfChildren; }
236 
246  // JB ?? virtual void GetNumberOfTreesPerDimension(unsigned int dimsOut[3]);
247 
249 
253  vtkSetMacro(TransposedRootIndexing, bool);
254  vtkGetMacro(TransposedRootIndexing, bool);
255  void SetIndexingModeToKJI() { this->SetTransposedRootIndexing(false); }
256  void SetIndexingModeToIJK() { this->SetTransposedRootIndexing(true); }
258 
260 
266  unsigned int GetOrientation() const { return this->Orientation; }
268 
270 
273  vtkGetMacro(FreezeState, bool);
275 
277 
280  void SetBranchFactor(unsigned int);
281  unsigned int GetBranchFactor() const { return this->BranchFactor; }
283 
288 
293 
298 
303 
307  unsigned int GetNumberOfLevels();
308 
310 
314  vtkGetObjectMacro(XCoordinates, vtkDataArray);
316 
318 
322  vtkGetObjectMacro(YCoordinates, vtkDataArray);
324 
326 
330  vtkGetObjectMacro(ZCoordinates, vtkDataArray);
332 
334 
337  virtual void CopyCoordinates(const vtkHyperTreeGrid* output);
338  virtual void SetFixedCoordinates(unsigned int axis, double value);
340 
342 
346  vtkGetObjectMacro(Mask, vtkBitArray);
348 
352  bool HasMask();
353 
355 
358  vtkSetMacro(HasInterface, bool);
359  vtkGetMacro(HasInterface, bool);
360  vtkBooleanMacro(HasInterface, bool);
362 
364 
367  vtkSetStringMacro(InterfaceNormalsName);
368  vtkGetStringMacro(InterfaceNormalsName);
370 
372 
375  vtkSetStringMacro(InterfaceInterceptsName);
376  vtkGetStringMacro(InterfaceInterceptsName);
378 
380 
383  vtkSetMacro(DepthLimiter, unsigned int);
384  vtkGetMacro(DepthLimiter, unsigned int);
386 
391  vtkHyperTreeGridOrientedCursor* cursor, vtkIdType index, bool create = false);
393 
398  vtkHyperTreeGridOrientedGeometryCursor* cursor, vtkIdType index, bool create = false);
400  vtkIdType index, bool create = false);
401 
406  vtkHyperTreeGridNonOrientedCursor* cursor, vtkIdType index, bool create = false);
408 
413  vtkHyperTreeGridNonOrientedGeometryCursor* cursor, vtkIdType index, bool create = false);
415  vtkIdType index, bool create = false);
416 
421 
422 private:
423  unsigned int RecurseDichotomic(
424  double value, vtkDoubleArray* coord, unsigned int ideb, unsigned int ifin) const;
425 
426  unsigned int FindDichotomic(double value, vtkDataArray* coord) const;
427 
428 public:
429  virtual unsigned int FindDichotomicX(double value) const;
430  virtual unsigned int FindDichotomicY(double value) const;
431  virtual unsigned int FindDichotomicZ(double value) const;
432 
439  vtkIdType index, bool create = false);
440 
446  bool create = false);
448  vtkIdType index, bool create = false);
449 
454  vtkHyperTreeGridNonOrientedMooreSuperCursor* cursor, vtkIdType index, bool create = false);
456  vtkIdType index, bool create = false);
457 
464  vtkIdType index, bool create = false);
465 
469  void Initialize() override;
470 
475  virtual vtkHyperTree* GetTree(vtkIdType, bool create = false);
476 
482 
486  void ShallowCopy(vtkDataObject*) override;
487 
491  void DeepCopy(vtkDataObject*) override;
492 
496  int GetExtentType() override { return VTK_3D_EXTENT; }
497 
506  virtual unsigned long GetActualMemorySizeBytes();
507 
516  unsigned long GetActualMemorySize() override;
517 
523 
528 
579  unsigned int GetChildMask(unsigned int);
580 
584  void GetIndexFromLevelZeroCoordinates(vtkIdType&, unsigned int, unsigned int, unsigned int) const;
585 
591  vtkIdType GetShiftedLevelZeroIndex(vtkIdType, unsigned int, unsigned int, unsigned int) const;
592 
597  vtkIdType, unsigned int&, unsigned int&, unsigned int&) const;
598 
602  virtual void GetLevelZeroOriginAndSizeFromIndex(vtkIdType, double*, double*);
603 
607  virtual void GetLevelZeroOriginFromIndex(vtkIdType, double*);
608 
618 
625 
630  bool HasAnyGhostCells() const;
631 
636 
642 
647 
651  class VTKCOMMONDATAMODEL_EXPORT vtkHyperTreeGridIterator
652  {
653  public:
655 
660 
666 
672 
673  protected:
674  std::map<vtkIdType, vtkSmartPointer<vtkHyperTree> >::iterator Iterator;
676  };
677 
683 
685 
691 
697  virtual double* GetBounds() VTK_SIZEHINT(6);
698 
704  void GetBounds(double bounds[6]);
705 
710  double* GetCenter() VTK_SIZEHINT(3);
711 
716  void GetCenter(double center[3]);
717 
719 
723  vtkPointData* GetPointData();
725 
726 protected:
731 
735  virtual ~vtkHyperTreeGrid() override;
736 
740  char* ModeSqueeze;
741 
742  double Bounds[6]; // (xmin,xmax, ymin,ymax, zmin,zmax) geometric bounds
743  double Center[3]; // geometric center
744 
745  bool FreezeState;
746  unsigned int BranchFactor; // 2 or 3
747  unsigned int Dimension; // 1, 2, or 3
748 
750 
754  vtkUnsignedCharArray* TreeGhostArray;
755  bool TreeGhostArrayCached;
757 private:
758  unsigned int Orientation; // 0, 1, or 2
759  unsigned int Axis[2];
760 
761 protected:
762  unsigned int NumberOfChildren;
763  bool TransposedRootIndexing;
764 
765  // --------------------------------
766  // RectilinearGrid common fields
767  // --------------------------------
768 private:
769  unsigned int Dimensions[3]; // Just for GetDimensions
770  unsigned int CellDims[3]; // Just for GetCellDims
771 protected:
772  int DataDescription;
773  int Extent[6];
774 
775  bool WithCoordinates;
776  vtkDataArray* XCoordinates;
777  vtkDataArray* YCoordinates;
778  vtkDataArray* ZCoordinates;
779  // --------------------------------
780 
781  vtkBitArray* Mask;
782  vtkBitArray* PureMask;
783  bool InitPureMask;
784 
785  bool HasInterface;
786  char* InterfaceNormalsName;
787  char* InterfaceInterceptsName;
788 
789  std::map<vtkIdType, vtkSmartPointer<vtkHyperTree> > HyperTrees;
790 
791  vtkNew<vtkPointData> PointData; // Scalars, vectors, etc. associated w/ each point
792 
793  unsigned int DepthLimiter;
794 
795 private:
796  vtkHyperTreeGrid(const vtkHyperTreeGrid&) = delete;
797  void operator=(const vtkHyperTreeGrid&) = delete;
798 };
799 
800 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:34
vtkHyperTreeGrid::GetTree
virtual vtkHyperTree * GetTree(vtkIdType, bool create=false)
Return tree located at given index of hyper tree grid NB: This will construct a new HyperTree if grid...
vtkHyperTreeGrid::GetMaxNumberOfTrees
vtkIdType GetMaxNumberOfTrees()
Return the maximum number of trees in the level 0 grid.
vtkHyperTreeGridNonOrientedGeometryCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedGeometryCursor.h:57
vtkHyperTreeGrid::GetBranchFactor
unsigned int GetBranchFactor() const
Definition: vtkHyperTreeGrid.h:281
vtkHyperTreeGrid::RecursivelyInitializePureMask
bool RecursivelyInitializePureMask(vtkHyperTreeGridNonOrientedCursor *cursor, vtkDataArray *normale)
Recursively initialize pure material mask.
vtkHyperTreeGrid::Squeeze
virtual void Squeeze()
Squeeze this representation.
vtkHyperTreeGridNonOrientedMooreSuperCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedMooreSuperCursor.h:50
vtkHyperTreeGrid::CopyCoordinates
virtual void CopyCoordinates(const vtkHyperTreeGrid *output)
JB Augented services on Coordinates.
vtkHyperTreeGrid::SetTree
void SetTree(vtkIdType, vtkHyperTree *)
Assign given tree to given index of hyper tree grid NB: This will create a new slot in the grid if ne...
vtkHyperTreeGrid::vtkHyperTreeGridIterator::GetNextTree
vtkHyperTree * GetNextTree(vtkIdType &index)
Get the next tree and set its index then increment the iterator.
vtkHyperTreeGrid::GetActualMemorySize
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
vtkHyperTreeGrid::InitializeNonOrientedGeometryCursor
void InitializeNonOrientedGeometryCursor(vtkHyperTreeGridNonOrientedGeometryCursor *cursor, vtkIdType index, bool create=false)
JB.
vtkHyperTreeGrid::vtkHyperTreeGridIterator::Initialize
void Initialize(vtkHyperTreeGrid *)
Initialize the iterator on the tree set of the given grid.
vtkPointData
represent and manipulate point attribute data
Definition: vtkPointData.h:32
vtkHyperTreeGrid::GetNumberOfVertices
vtkIdType GetNumberOfVertices()
Get the number of vertices in the primal tree grid.
vtkX3D::value
@ value
Definition: vtkX3D.h:226
vtkIdType
int vtkIdType
Definition: vtkType.h:338
vtkHyperTreeGrid::FindDichotomicX
virtual unsigned int FindDichotomicX(double value) const
vtkHyperTreeGrid::GetTreeGhostArray
vtkUnsignedCharArray * GetTreeGhostArray()
Gets the array that defines the ghost type of each point.
vtkHyperTreeGrid::LEVELS
static vtkInformationIntegerKey * LEVELS()
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:54
vtkHyperTreeGrid::GetNumberOfLevels
unsigned int GetNumberOfLevels()
Return the number of levels in the hyper tree grid.
vtkHyperTreeGrid::GetGhostCells
vtkUnsignedCharArray * GetGhostCells()
Accessor on ghost cells.
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
vtkHyperTreeGrid::SetDimensions
void SetDimensions(int i, int j, int k)
vtkUnsignedCharArray
dynamic, self-adjusting array of unsigned char
Definition: vtkUnsignedCharArray.h:36
vtkHyperTreeGrid::DeepCopy
void DeepCopy(vtkDataObject *) override
Create deep copy of hyper tree grid.
vtkHyperTreeGrid::HasAnyGhostCells
bool HasAnyGhostCells() const
Returns 1 if there are any ghost cells 0 otherwise.
vtkSmartPointer
Hold a reference to a vtkObjectBase instance.
Definition: vtkSmartPointer.h:36
vtkHyperTreeGrid::NewNonOrientedVonNeumannSuperCursorLight
vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight * NewNonOrientedVonNeumannSuperCursorLight(vtkIdType index, bool create=false)
vtkHyperTreeGrid::SetYCoordinates
virtual void SetYCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the y-direction.
vtkHyperTreeGrid::FindNonOrientedGeometryCursor
vtkHyperTreeGridNonOrientedGeometryCursor * FindNonOrientedGeometryCursor(double x[3])
JB Retourne un curseur geometrique pointant une des mailles comportant la position spatiale x.
vtkHyperTreeGrid::GetChildMask
unsigned int GetChildMask(unsigned int)
Return hard-coded bitcode correspondng to child mask Dimension 1: Factor 2: 0: 100,...
vtkHyperTreeGrid::CopyEmptyStructure
virtual void CopyEmptyStructure(vtkDataObject *)
Copy the internal structure with no data associated.
VTK_HYPER_TREE_GRID
#define VTK_HYPER_TREE_GRID
Definition: vtkType.h:117
vtkHyperTreeGrid::SetBranchFactor
void SetBranchFactor(unsigned int)
Set/Get the subdivision factor in the grid refinement scheme.
vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight.h:47
vtkHyperTreeGrid::HasMask
bool HasMask()
Determine whether blanking mask is empty or not.
vtkHyperTreeGrid::SetIndexingModeToKJI
void SetIndexingModeToKJI()
Definition: vtkHyperTreeGrid.h:255
vtkHyperTreeGrid::SetDimensions
void SetDimensions(const int dims[3])
vtkX3D::center
@ center
Definition: vtkX3D.h:236
vtkHyperTreeGridNonOrientedCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedCursor.h:51
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:50
vtkHyperTreeGrid::InitializeNonOrientedMooreSuperCursorLight
void InitializeNonOrientedMooreSuperCursorLight(vtkHyperTreeGridNonOrientedMooreSuperCursorLight *cursor, vtkIdType index, bool create=false)
JB.
vtkHyperTreeGrid::ORIENTATION
static vtkInformationIntegerKey * ORIENTATION()
vtkHyperTreeGrid::vtkHyperTreeGridIterator
An iterator object to iteratively access trees in the grid.
Definition: vtkHyperTreeGrid.h:652
vtkHyperTreeGrid::GetExtentType
int GetExtentType() override
Structured extent.
Definition: vtkHyperTreeGrid.h:496
vtkLine
cell represents a 1D line
Definition: vtkLine.h:30
vtkHyperTreeGrid::GetNumberOfChildren
unsigned int GetNumberOfChildren() const
The number of children each node can have.
Definition: vtkHyperTreeGrid.h:234
vtkHyperTreeGrid::NewNonOrientedGeometryCursor
vtkHyperTreeGridNonOrientedGeometryCursor * NewNonOrientedGeometryCursor(vtkIdType index, bool create=false)
vtkHyperTreeGrid::vtkHyperTreeGridIterator::Grid
vtkHyperTreeGrid * Grid
Definition: vtkHyperTreeGrid.h:675
vtkHyperTreeGrid::vtkHyperTreeGridIterator::vtkHyperTreeGridIterator
vtkHyperTreeGridIterator()
Definition: vtkHyperTreeGrid.h:654
VTK_3D_EXTENT
#define VTK_3D_EXTENT
Definition: vtkDataObject.h:56
vtkHyperTreeGrid::GetIndexFromLevelZeroCoordinates
void GetIndexFromLevelZeroCoordinates(vtkIdType &, unsigned int, unsigned int, unsigned int) const
Convert the Cartesian coordinates of a root in the grid to its global index.
vtkHyperTreeGrid::GetGlobalNodeIndexMax
vtkIdType GetGlobalNodeIndexMax()
JB Retourne la valeur maximale du global index.
vtkHyperTreeGrid::InitializeOrientedGeometryCursor
void InitializeOrientedGeometryCursor(vtkHyperTreeGridOrientedGeometryCursor *cursor, vtkIdType index, bool create=false)
JB.
vtkHyperTreeGrid::NewNonOrientedMooreSuperCursor
vtkHyperTreeGridNonOrientedMooreSuperCursor * NewNonOrientedMooreSuperCursor(vtkIdType index, bool create=false)
vtkBoundingBox
Fast, simple class for dealing with 3D bounds.
Definition: vtkBoundingBox.h:35
vtkHyperTreeGrid::GetData
static vtkHyperTreeGrid * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
vtkHyperTreeGrid::GetNumberOfLeaves
vtkIdType GetNumberOfLeaves()
Get the number of leaves in the primal tree grid.
vtkCollection
create and manipulate ordered lists of objects
Definition: vtkCollection.h:53
vtkHyperTreeGrid::SetDimensions
void SetDimensions(unsigned int i, unsigned int j, unsigned int k)
vtkHyperTreeGrid::Get1DAxis
void Get1DAxis(unsigned int &axis) const
JB retourne l'indice de la dimension valide.
Definition: vtkHyperTreeGrid.h:203
vtkHyperTreeGrid::SetXCoordinates
virtual void SetXCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the x-direction.
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:45
vtkHyperTreeGrid::FindDichotomicZ
virtual unsigned int FindDichotomicZ(double value) const
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:32
vtkHyperTreeGridOrientedGeometryCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridOrientedGeometryCursor.h:55
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkHyperTreeGrid::InitializeNonOrientedMooreSuperCursor
void InitializeNonOrientedMooreSuperCursor(vtkHyperTreeGridNonOrientedMooreSuperCursor *cursor, vtkIdType index, bool create=false)
JB.
vtkHyperTreeGrid::vtkHyperTreeGridIterator::Iterator
std::map< vtkIdType, vtkSmartPointer< vtkHyperTree > >::iterator Iterator
Definition: vtkHyperTreeGrid.h:674
vtkHyperTreeGrid::GetShiftedLevelZeroIndex
vtkIdType GetShiftedLevelZeroIndex(vtkIdType, unsigned int, unsigned int, unsigned int) const
Return the root index of a root cell with given index displaced.
vtkSmartPointer.h
vtkHyperTreeGrid::Get2DAxes
void Get2DAxes(unsigned int &axis1, unsigned int &axis2) const
JB Retourne l'indice des deux dimensions valides.
Definition: vtkHyperTreeGrid.h:214
vtkHyperTree
A data object structured as a tree.
Definition: vtkHyperTree.h:179
vtkNew
Allocate and hold a VTK object.
Definition: vtkNew.h:56
vtkHyperTreeGrid::SetMask
void SetMask(vtkBitArray *)
Set/Get the blanking mask of primal leaf cells.
vtkHyperTreeGrid::GetLevelZeroOriginFromIndex
virtual void GetLevelZeroOriginFromIndex(vtkIdType, double *)
JB Convert the global index of a root to its Spacial coordinates origin and size.
vtkHyperTreeGrid::SetZCoordinates
virtual void SetZCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the z-direction.
vtkHyperTreeGrid::GetOrientation
unsigned int GetOrientation() const
Get the orientation of 1D or 2D grids:
Definition: vtkHyperTreeGrid.h:266
vtkHyperTreeGrid::InitializeNonOrientedVonNeumannSuperCursorLight
void InitializeNonOrientedVonNeumannSuperCursorLight(vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight *cursor, vtkIdType index, bool create=false)
JB.
vtkHyperTreeGrid::GetAxes
const unsigned int * GetAxes() const
JB Get the axis information (used for CopyStructure)
Definition: vtkHyperTreeGrid.h:226
vtkHyperTreeGrid::GetDimensions
const unsigned int * GetDimensions() const
Get dimensions of this rectilinear grid dataset.
vtkHyperTreeGridOrientedCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridOrientedCursor.h:49
vtkHyperTreeGrid::NewOrientedGeometryCursor
vtkHyperTreeGridOrientedGeometryCursor * NewOrientedGeometryCursor(vtkIdType index, bool create=false)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:65
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedVonNeumannSuperCursor.h:47
vtkHyperTreeGrid::GetNumberOfLevels
unsigned int GetNumberOfLevels(vtkIdType)
Return the number of levels in an individual (primal) tree.
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkHyperTreeGrid::InitializeTreeIterator
void InitializeTreeIterator(vtkHyperTreeGridIterator &)
Initialize an iterator to browse level 0 trees.
vtkHyperTreeGrid::GetBounds
virtual double * GetBounds()
Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,...
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:36
vtkHyperTreeGrid::GetLevelZeroOriginAndSizeFromIndex
virtual void GetLevelZeroOriginAndSizeFromIndex(vtkIdType, double *, double *)
Convert the global index of a root to its Spacial coordinates origin and size.
vtkNew.h
vtkHyperTreeGrid::SetDimensions
void SetDimensions(const unsigned int dims[3])
Set/Get sizes of this rectilinear grid dataset.
vtkPixel
a cell that represents an orthogonal quadrilateral
Definition: vtkPixel.h:35
vtkHyperTreeGrid::GetActualMemorySizeBytes
virtual unsigned long GetActualMemorySizeBytes()
Return the actual size of the data in kibibytes (1024 bytes).
vtkDataObject.h
vtkInformationDoubleVectorKey
Key for double vector values.
Definition: vtkInformationDoubleVectorKey.h:32
vtkHyperTreeGrid::NewOrientedCursor
vtkHyperTreeGridOrientedCursor * NewOrientedCursor(vtkIdType index, bool create=false)
vtkHyperTreeGrid::NewNonOrientedVonNeumannSuperCursor
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor * NewNonOrientedVonNeumannSuperCursor(vtkIdType index, bool create=false)
vtkHyperTreeGrid::GetLevelZeroCoordinatesFromIndex
void GetLevelZeroCoordinatesFromIndex(vtkIdType, unsigned int &, unsigned int &, unsigned int &) const
Convert the global index of a root to its Cartesian coordinates in the grid.
vtkHyperTreeGrid::New
static vtkHyperTreeGrid * New()
vtkHyperTreeGrid::InitializeOrientedCursor
void InitializeOrientedCursor(vtkHyperTreeGridOrientedCursor *cursor, vtkIdType index, bool create=false)
JB.
vtkHyperTreeGrid::GetData
static vtkHyperTreeGrid * GetData(vtkInformationVector *v, int i=0)
vtkHyperTreeGrid::DIMENSION
static vtkInformationIntegerKey * DIMENSION()
vtkBitArray
dynamic, self-adjusting array of bits
Definition: vtkBitArray.h:34
vtkHyperTreeGrid::CopyStructure
virtual void CopyStructure(vtkDataObject *)
Copy the internal geometric and topological structure of a vtkHyperTreeGrid object.
vtkDoubleArray
dynamic, self-adjusting array of double
Definition: vtkDoubleArray.h:36
vtkX3D::extent
@ extent
Definition: vtkX3D.h:351
vtkHyperTreeGrid::ShallowCopy
void ShallowCopy(vtkDataObject *) override
Create shallow copy of hyper tree grid.
vtkHyperTreeGrid::NewNonOrientedMooreSuperCursorLight
vtkHyperTreeGridNonOrientedMooreSuperCursorLight * NewNonOrientedMooreSuperCursorLight(vtkIdType index, bool create=false)
vtkHyperTreeGrid::InitializeLocalIndexNode
void InitializeLocalIndexNode()
JB Permet d'initialiser les index locaux de chacun des HT de cet HTG une fois que TOUS les HTs aient ...
vtkHyperTreeGrid::vtkHyperTreeGridIterator::GetNextTree
vtkHyperTree * GetNextTree()
Get the next tree and set its index then increment the iterator.
vtkHyperTreeGrid::InitializeNonOrientedCursor
void InitializeNonOrientedCursor(vtkHyperTreeGridNonOrientedCursor *cursor, vtkIdType index, bool create=false)
JB.
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:60
vtkHyperTreeGrid::SIZES
static vtkInformationDoubleVectorKey * SIZES()
vtkHyperTreeGrid::AllocateTreeGhostArray
vtkUnsignedCharArray * AllocateTreeGhostArray()
Allocate ghost array for points.
vtkHyperTreeGrid::SetFixedCoordinates
virtual void SetFixedCoordinates(unsigned int axis, double value)
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkHyperTreeGrid::NewNonOrientedCursor
vtkHyperTreeGridNonOrientedCursor * NewNonOrientedCursor(vtkIdType index, bool create=false)
vtkHyperTreeGridNonOrientedMooreSuperCursorLight
Objects for traversal a HyperTreeGrid.
Definition: vtkHyperTreeGridNonOrientedMooreSuperCursorLight.h:51
vtkHyperTreeGrid::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkHyperTreeGrid::GetDataObjectType
int GetDataObjectType() override
Return what type of dataset this is.
Definition: vtkHyperTreeGrid.h:128
vtkHyperTreeGrid
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Definition: vtkHyperTreeGrid.h:97
vtkHyperTreeGrid::Initialize
void Initialize() override
Restore data object to initial state.
vtkHyperTreeGrid::FindDichotomicY
virtual unsigned int FindDichotomicY(double value) const
vtkHyperTreeGrid::GetPureMask
vtkBitArray * GetPureMask()
Get or create pure material mask.
vtkHyperTreeGrid::SetIndexingModeToIJK
void SetIndexingModeToIJK()
Definition: vtkHyperTreeGrid.h:256
vtkHyperTreeGrid::InitializeNonOrientedVonNeumannSuperCursor
void InitializeNonOrientedVonNeumannSuperCursor(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor *cursor, vtkIdType index, bool create=false)
JB.