49 #ifndef vtkHyperTreeGrid_h
50 #define vtkHyperTreeGrid_h
52 #include "vtkCommonDataModelModule.h"
62 VTK_ABI_NAMESPACE_BEGIN
109 vtkSetStringMacro(ModeSqueeze);
110 vtkGetStringMacro(ModeSqueeze);
153 void GetDimensions(
int dim[3]) const;
154 void GetDimensions(
unsigned int dim[3]) const;
165 void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
166 vtkGetVector6Macro(Extent,
int);
176 void GetCellDims(
int cellDims[3]) const;
177 void GetCellDims(
unsigned int cellDims[3]) const;
187 unsigned int GetDimension()
const {
return this->Dimension; }
196 assert(
"pre: valid_dim" && this->GetDimension() == 1);
197 axis = this->Axis[0];
205 void Get2DAxes(
unsigned int& axis1,
unsigned int& axis2)
const
207 assert(
"pre: valid_dim" && this->GetDimension() == 2);
208 axis1 = this->Axis[0];
209 axis2 = this->Axis[1];
217 const unsigned int*
GetAxes()
const {
return this->Axis; }
233 vtkSetMacro(TransposedRootIndexing,
bool);
234 vtkGetMacro(TransposedRootIndexing,
bool);
253 vtkGetMacro(FreezeState,
bool);
338 vtkSetMacro(HasInterface,
bool);
339 vtkGetMacro(HasInterface,
bool);
340 vtkBooleanMacro(HasInterface,
bool);
347 vtkSetStringMacro(InterfaceNormalsName);
348 vtkGetStringMacro(InterfaceNormalsName);
355 vtkSetStringMacro(InterfaceInterceptsName);
356 vtkGetStringMacro(InterfaceInterceptsName);
363 vtkSetMacro(DepthLimiter,
unsigned int);
364 vtkGetMacro(DepthLimiter,
unsigned int);
401 bool create =
false);
413 unsigned int RecurseDichotomic(
414 double value,
vtkDoubleArray* coord,
double tol,
unsigned int ideb,
unsigned int ifin)
const;
416 unsigned int FindDichotomic(
double value,
vtkDataArray* coord,
double tol)
const;
441 bool create =
false);
460 bool create =
false);
535 void CleanPureMask();
629 vtkIdType,
unsigned int&,
unsigned int&,
unsigned int&)
const;
701 std::map<vtkIdType, vtkSmartPointer<vtkHyperTree>>::iterator
Iterator;
743 virtual
void GetGridBounds(
double bounds[6]);
803 unsigned int BranchFactor;
804 unsigned int Dimension;
812 bool TreeGhostArrayCached;
815 unsigned int Orientation;
816 unsigned int Axis[2];
821 unsigned int NumberOfChildren;
822 bool TransposedRootIndexing;
828 unsigned int Dimensions[3];
829 unsigned int CellDims[3];
834 bool WithCoordinates;
844 char* InterfaceNormalsName;
845 char* InterfaceInterceptsName;
851 unsigned int DepthLimiter;
858 VTK_ABI_NAMESPACE_END
dynamic, self-adjusting array of bits
Fast, simple class for representing and operating on 3D bounds.
represent and manipulate cell attribute data
object represents upward pointers from points to list of cells using each point
create and manipulate ordered lists of objects
abstract superclass for arrays of numeric data
general representation of visualization data
represent and manipulate attribute data in a dataset
dynamic, self-adjusting array of double
represent and manipulate fields of data
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
Specific Moore super cursor that can subdivied neighborhood.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
An iterator object to iteratively access trees in the grid.
vtkHyperTree * GetNextTree()
Get the next tree and set its index then increment the iterator.
std::map< vtkIdType, vtkSmartPointer< vtkHyperTree > >::iterator Iterator
vtkHyperTreeGridIterator()=default
void Initialize(vtkHyperTreeGrid *)
Initialize the iterator on the tree set of the given grid.
vtkHyperTree * GetNextTree(vtkIdType &index)
Get the next tree and set its index then increment the iterator.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
bool HasMask()
Determine whether blanking mask is empty or not.
int GetExtentType() override
Structured extent.
static vtkHyperTreeGrid * GetData(vtkInformationVector *v, int i=0)
Retrieve an instance of this class from an information object.
vtkHyperTreeGridNonOrientedCursor * NewNonOrientedCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
static vtkInformationIntegerKey * DIMENSION()
vtkIdType GetShiftedLevelZeroIndex(vtkIdType, unsigned int, unsigned int, unsigned int) const
Return the root index of a root cell with given index displaced.
vtkHyperTreeGridOrientedCursor * NewOrientedCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
static vtkInformationDoubleVectorKey * SIZES()
void InitializeNonOrientedUnlimitedGeometryCursor(vtkHyperTreeGridNonOrientedUnlimitedGeometryCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
void SetMask(vtkBitArray *)
Set/Get the blanking mask of primal leaf cells.
virtual void CopyCoordinates(const vtkHyperTreeGrid *output)
Augented services on Coordinates.
void InitializeNonOrientedVonNeumannSuperCursorLight(vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
const unsigned int * GetAxes() const
Get the axis information (used for CopyStructure)
virtual void GetLevelZeroOriginFromIndex(vtkIdType, double *)
Convert the global index of a root to its Spatial coordinates origin and size.
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor * NewNonOrientedVonNeumannSuperCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
vtkUnsignedCharArray * AllocateTreeGhostArray()
Allocate ghost array for points.
virtual void Squeeze()
Squeeze this representation.
vtkHyperTreeGridNonOrientedUnlimitedMooreSuperCursor * NewNonOrientedUnlimitedMooreSuperCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
virtual void SetFixedCoordinates(unsigned int axis, double value)
Augented services on Coordinates.
virtual void CopyEmptyStructure(vtkDataObject *)
Copy the internal structure with no data associated.
void DeepCopy(vtkDataObject *) override
Create deep copy of hyper tree grid.
void Get1DAxis(unsigned int &axis) const
Retourne l'indice de la dimension valide.
void GetIndexFromLevelZeroCoordinates(vtkIdType &, unsigned int, unsigned int, unsigned int) const
Convert the Cartesian coordinates of a root in the grid to its global index.
void InitializeOrientedGeometryCursor(vtkHyperTreeGridOrientedGeometryCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
virtual void CopyStructure(vtkDataObject *)
Copy the internal geometric and topological structure of a vtkHyperTreeGrid object.
unsigned int GetNumberOfLevels(vtkIdType)
Return the number of levels in an individual (primal) tree.
virtual void SetYCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the y-direction.
virtual double * GetBounds()
Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetXCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the x-direction.
virtual unsigned int FindDichotomicY(double value, double tol=0.0) const
static vtkInformationIntegerKey * ORIENTATION()
static vtkInformationIntegerKey * LEVELS()
void Initialize() override
Restore data object to initial state.
unsigned int GetOrientation() const
Get the orientation of 1D or 2D grids:
void SetIndexingModeToKJI()
Specify whether indexing mode of grid root cells must be transposed to x-axis first,...
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...
virtual void GetLevelZeroOriginAndSizeFromIndex(vtkIdType, double *, double *)
Convert the global index of a root to its Spatial coordinates origin and size.
vtkHyperTreeGridNonOrientedUnlimitedGeometryCursor * NewNonOrientedUnlimitedGeometryCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
void InitializeNonOrientedMooreSuperCursorLight(vtkHyperTreeGridNonOrientedMooreSuperCursorLight *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
virtual unsigned int FindDichotomicX(double value, double tol=0.0) const
void SetDimensions(unsigned int i, unsigned int j, unsigned int k)
Set/Get sizes of this rectilinear grid dataset.
vtkBitArray * GetPureMask()
Get or create pure material mask.
vtkHyperTreeGridNonOrientedGeometryCursor * FindNonOrientedGeometryCursor(double x[3])
Return a geometric cursor pointing to one of the nodes at position x
vtkIdType GetNumberOfNonEmptyTrees()
Get the number of non empty trees in this grid.
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...
virtual unsigned long GetActualMemorySizeBytes()
Return the actual size of the data in bytes.
static vtkHyperTreeGrid * New()
void Get2DAxes(unsigned int &axis1, unsigned int &axis2) const
Retourne l'indice des deux dimensions valides.
vtkIdType GetGlobalNodeIndexMax()
Return the maximum global index value.
void InitializeOrientedCursor(vtkHyperTreeGridOrientedCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
void InitializeLocalIndexNode()
Initialize local indexes for every individual Hyper Tree after they have been refined.
virtual void ComputeBounds()
Compute the hyper tree grid bounding box ignoring masked cells.
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
bool SupportsGhostArray(int type) override
Returns true if type is CELL, false otherwise.
void InitializeNonOrientedMooreSuperCursor(vtkHyperTreeGridNonOrientedMooreSuperCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
void InitializeTreeIterator(vtkHyperTreeGridIterator &)
Initialize an iterator to browse level 0 trees.
vtkHyperTreeGridNonOrientedMooreSuperCursor * NewNonOrientedMooreSuperCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight * NewNonOrientedVonNeumannSuperCursorLight(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
unsigned int GetNumberOfLevels()
Return the number of levels in the hyper tree grid.
void SetDimensions(const unsigned int dims[3])
Set/Get sizes of this rectilinear grid dataset.
virtual unsigned int FindDichotomicZ(double value, double tol=0.0) const
void SetDimensions(int i, int j, int k)
Set/Get sizes of this rectilinear grid dataset.
unsigned int GetChildMask(unsigned int)
Return hard-coded bitcode correspondng to child mask Dimension 1: Factor 2: 0: 100,...
virtual void SetZCoordinates(vtkDataArray *)
Set/Get the grid coordinates in the z-direction.
void SetIndexingModeToIJK()
Specify whether indexing mode of grid root cells must be transposed to x-axis first,...
vtkHyperTreeGridNonOrientedGeometryCursor * NewNonOrientedGeometryCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
vtkUnsignedCharArray * GetGhostCells()
Gets the array that defines the ghost type of each cell.
vtkIdType GetMaxNumberOfTrees()
Return the maximum number of trees in the level 0 grid.
bool HasAnyGhostCells() const
Returns true if a ghost cell array is defined.
void SetBranchFactor(unsigned int)
Set/Get the subdivision factor in the grid refinement scheme.
void InitializeNonOrientedUnlimitedMooreSuperCursor(vtkHyperTreeGridNonOrientedUnlimitedMooreSuperCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
vtkUnsignedCharArray * GetTreeGhostArray()
Gets the array that defines the ghost type of each cell.
static vtkHyperTreeGrid * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
vtkIdType GetNumberOfLeaves()
Get the number of leaves in the primal tree grid.
void ShallowCopy(vtkDataObject *) override
Create shallow copy of hyper tree grid.
vtkHyperTreeGridOrientedGeometryCursor * NewOrientedGeometryCursor(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
unsigned int GetBranchFactor() const
Set/Get the subdivision factor in the grid refinement scheme.
vtkHyperTreeGridNonOrientedMooreSuperCursorLight * NewNonOrientedMooreSuperCursorLight(vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
void InitializeNonOrientedGeometryCursor(vtkHyperTreeGridNonOrientedGeometryCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
void InitializeNonOrientedCursor(vtkHyperTreeGridNonOrientedCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
unsigned int GetNumberOfChildren() const
The number of children each node can have.
void InitializeNonOrientedVonNeumannSuperCursor(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor *cursor, vtkIdType index, bool create=false)
Used to initialize a cursor of the given type.
void GetLevelZeroCoordinatesFromIndex(vtkIdType, unsigned int &, unsigned int &, unsigned int &) const
Convert the global index of a root to its Cartesian coordinates in the grid.
int GetDataObjectType() override
Return what type of dataset this is.
const unsigned int * GetDimensions() const
Get dimensions of this rectilinear grid dataset.
void SetDimensions(const int dims[3])
Set/Get sizes of this rectilinear grid dataset.
A data object structured as a tree.
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
cell represents a 1D line
Allocate and hold a VTK object.
a cell that represents an orthogonal quadrilateral
represent and manipulate 3D points
Hold a reference to a vtkObjectBase instance.
record modification and/or execution time
dynamic, self-adjusting array of unsigned char
void GetBounds(T a, double bds[6])
#define VTK_HYPER_TREE_GRID
#define VTK_SIZEHINT(...)