59 #ifndef vtkHyperTreeGrid_h
60 #define vtkHyperTreeGrid_h
62 #include "vtkCommonDataModelModule.h"
117 vtkSetStringMacro(ModeSqueeze);
118 vtkGetStringMacro(ModeSqueeze);
162 void GetDimensions(
int dim[3]) const;
163 void GetDimensions(
unsigned int dim[3]) const;
174 void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
175 vtkGetVector6Macro(Extent,
int);
185 void GetCellDims(
int cellDims[3]) const;
186 void GetCellDims(
unsigned int cellDims[3]) const;
196 unsigned int GetDimension()
const {
return this->Dimension; }
205 assert(
"pre: valid_dim" && this->GetDimension() == 1);
206 axis = this->Axis[0];
214 void Get2DAxes(
unsigned int& axis1,
unsigned int& axis2)
const
216 assert(
"pre: valid_dim" && this->GetDimension() == 2);
217 axis1 = this->Axis[0];
218 axis2 = this->Axis[1];
226 const unsigned int*
GetAxes()
const {
return this->Axis; }
253 vtkSetMacro(TransposedRootIndexing,
bool);
254 vtkGetMacro(TransposedRootIndexing,
bool);
273 vtkGetMacro(FreezeState,
bool);
358 vtkSetMacro(HasInterface,
bool);
359 vtkGetMacro(HasInterface,
bool);
360 vtkBooleanMacro(HasInterface,
bool);
367 vtkSetStringMacro(InterfaceNormalsName);
368 vtkGetStringMacro(InterfaceNormalsName);
375 vtkSetStringMacro(InterfaceInterceptsName);
376 vtkGetStringMacro(InterfaceInterceptsName);
383 vtkSetMacro(DepthLimiter,
unsigned int);
384 vtkGetMacro(DepthLimiter,
unsigned int);
423 unsigned int RecurseDichotomic(
446 bool create =
false);
597 vtkIdType,
unsigned int&,
unsigned int&,
unsigned int&)
const;
674 std::map<vtkIdType, vtkSmartPointer<vtkHyperTree> >::iterator
Iterator;
704 void GetBounds(
double bounds[6]);
746 unsigned int BranchFactor;
747 unsigned int Dimension;
755 bool TreeGhostArrayCached;
758 unsigned int Orientation;
759 unsigned int Axis[2];
762 unsigned int NumberOfChildren;
763 bool TransposedRootIndexing;
769 unsigned int Dimensions[3];
770 unsigned int CellDims[3];
775 bool WithCoordinates;
786 char* InterfaceNormalsName;
787 char* InterfaceInterceptsName;
793 unsigned int DepthLimiter;
dynamic, self-adjusting array of bits
Fast, simple class for dealing with 3D bounds.
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
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.
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
void Initialize(vtkHyperTreeGrid *)
Initialize the iterator on the tree set of the given grid.
vtkHyperTreeGridIterator()
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)
vtkHyperTreeGridNonOrientedCursor * NewNonOrientedCursor(vtkIdType index, bool create=false)
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)
static vtkInformationDoubleVectorKey * SIZES()
void SetMask(vtkBitArray *)
Set/Get the blanking mask of primal leaf cells.
virtual void CopyCoordinates(const vtkHyperTreeGrid *output)
JB Augented services on Coordinates.
void InitializeNonOrientedVonNeumannSuperCursorLight(vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight *cursor, vtkIdType index, bool create=false)
JB.
const unsigned int * GetAxes() const
JB Get the axis information (used for CopyStructure)
virtual void GetLevelZeroOriginFromIndex(vtkIdType, double *)
JB Convert the global index of a root to its Spacial coordinates origin and size.
vtkHyperTreeGridNonOrientedVonNeumannSuperCursor * NewNonOrientedVonNeumannSuperCursor(vtkIdType index, bool create=false)
vtkUnsignedCharArray * AllocateTreeGhostArray()
Allocate ghost array for points.
virtual unsigned int FindDichotomicX(double value) const
virtual void Squeeze()
Squeeze this representation.
virtual void SetFixedCoordinates(unsigned int axis, double value)
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
JB 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)
JB.
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.
bool RecursivelyInitializePureMask(vtkHyperTreeGridNonOrientedCursor *cursor, vtkDataArray *normale)
Recursively initialize pure material mask.
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()
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 Spacial coordinates origin and size.
void InitializeNonOrientedMooreSuperCursorLight(vtkHyperTreeGridNonOrientedMooreSuperCursorLight *cursor, vtkIdType index, bool create=false)
JB.
void SetDimensions(unsigned int i, unsigned int j, unsigned int k)
vtkBitArray * GetPureMask()
Get or create pure material mask.
vtkHyperTreeGridNonOrientedGeometryCursor * FindNonOrientedGeometryCursor(double x[3])
JB Retourne un curseur geometrique pointant une des mailles comportant la position spatiale x.
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 kibibytes (1024 bytes).
static vtkHyperTreeGrid * New()
void Get2DAxes(unsigned int &axis1, unsigned int &axis2) const
JB Retourne l'indice des deux dimensions valides.
vtkIdType GetGlobalNodeIndexMax()
JB Retourne la valeur maximale du global index.
void InitializeOrientedCursor(vtkHyperTreeGridOrientedCursor *cursor, vtkIdType index, bool create=false)
JB.
void InitializeLocalIndexNode()
JB Permet d'initialiser les index locaux de chacun des HT de cet HTG une fois que TOUS les HTs aient ...
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
void InitializeNonOrientedMooreSuperCursor(vtkHyperTreeGridNonOrientedMooreSuperCursor *cursor, vtkIdType index, bool create=false)
JB.
void InitializeTreeIterator(vtkHyperTreeGridIterator &)
Initialize an iterator to browse level 0 trees.
vtkHyperTreeGridNonOrientedMooreSuperCursor * NewNonOrientedMooreSuperCursor(vtkIdType index, bool create=false)
vtkHyperTreeGridNonOrientedVonNeumannSuperCursorLight * NewNonOrientedVonNeumannSuperCursorLight(vtkIdType index, bool create=false)
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.
void SetDimensions(int i, int j, int k)
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()
vtkHyperTreeGridNonOrientedGeometryCursor * NewNonOrientedGeometryCursor(vtkIdType index, bool create=false)
vtkUnsignedCharArray * GetGhostCells()
Accessor on ghost cells.
vtkIdType GetMaxNumberOfTrees()
Return the maximum number of trees in the level 0 grid.
bool HasAnyGhostCells() const
Returns 1 if there are any ghost cells 0 otherwise.
void SetBranchFactor(unsigned int)
Set/Get the subdivision factor in the grid refinement scheme.
vtkUnsignedCharArray * GetTreeGhostArray()
Gets the array that defines the ghost type of each point.
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.
virtual unsigned int FindDichotomicZ(double value) const
virtual unsigned int FindDichotomicY(double value) const
vtkHyperTreeGridOrientedGeometryCursor * NewOrientedGeometryCursor(vtkIdType index, bool create=false)
unsigned int GetBranchFactor() const
vtkHyperTreeGridNonOrientedMooreSuperCursorLight * NewNonOrientedMooreSuperCursorLight(vtkIdType index, bool create=false)
void InitializeNonOrientedGeometryCursor(vtkHyperTreeGridNonOrientedGeometryCursor *cursor, vtkIdType index, bool create=false)
JB.
void InitializeNonOrientedCursor(vtkHyperTreeGridNonOrientedCursor *cursor, vtkIdType index, bool create=false)
JB.
unsigned int GetNumberOfChildren() const
The number of children each node can have.
void InitializeNonOrientedVonNeumannSuperCursor(vtkHyperTreeGridNonOrientedVonNeumannSuperCursor *cursor, vtkIdType index, bool create=false)
JB.
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.
vtkIdType GetNumberOfVertices()
Get the number of vertices in the primal tree grid.
void SetDimensions(const int dims[3])
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 point attribute data
represent and manipulate 3D points
Hold a reference to a vtkObjectBase instance.
dynamic, self-adjusting array of unsigned char
#define VTK_HYPER_TREE_GRID
#define VTK_SIZEHINT(...)