62 #ifndef vtkHyperTreeGrid_h
63 #define vtkHyperTreeGrid_h
65 #include "vtkCommonDataModelModule.h"
120 vtkSetStringMacro(ModeSqueeze);
121 vtkGetStringMacro(ModeSqueeze);
126 virtual void Squeeze();
152 void SetDimensions(
const unsigned int dims[3]);
153 void SetDimensions(
const int dims[3]);
154 void SetDimensions(
unsigned int i,
unsigned int j,
unsigned int k);
155 void SetDimensions(
int i,
int j,
int k);
163 const unsigned int* GetDimensions() const
VTK_SIZEHINT(3);
165 void GetDimensions(
int dim[3]) const;
166 void GetDimensions(
unsigned int dim[3]) const;
176 void SetExtent(const
int extent[6]);
177 void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
178 vtkGetVector6Macro(Extent,
int);
187 const
unsigned int* GetCellDims() const
VTK_SIZEHINT(3);
188 void GetCellDims(
int cellDims[3]) const;
189 void GetCellDims(
unsigned int cellDims[3]) const;
199 unsigned int GetDimension()
const {
return this->Dimension; }
208 assert(
"pre: valid_dim" && this->GetDimension() == 1);
209 axis = this->Axis[0];
217 void Get2DAxes(
unsigned int& axis1,
unsigned int& axis2)
const
219 assert(
"pre: valid_dim" && this->GetDimension() == 2);
220 axis1 = this->Axis[0];
221 axis2 = this->Axis[1];
229 const unsigned int*
GetAxes()
const {
return this->Axis; }
256 vtkSetMacro(TransposedRootIndexing,
bool);
257 vtkGetMacro(TransposedRootIndexing,
bool);
276 vtkGetMacro(FreezeState,
bool);
283 void SetBranchFactor(
unsigned int);
311 unsigned int GetNumberOfLevels(
vtkIdType);
316 unsigned int GetNumberOfLevels();
323 vtkGetObjectMacro(XCoordinates, vtkDataArray);
330 virtual
void SetYCoordinates(vtkDataArray*);
331 vtkGetObjectMacro(YCoordinates, vtkDataArray);
338 virtual
void SetZCoordinates(vtkDataArray*);
339 vtkGetObjectMacro(ZCoordinates, vtkDataArray);
347 virtual
void SetFixedCoordinates(
unsigned int axis,
double value);
355 vtkGetObjectMacro(Mask, vtkBitArray);
367 vtkSetMacro(HasInterface,
bool);
368 vtkGetMacro(HasInterface,
bool);
369 vtkBooleanMacro(HasInterface,
bool);
376 vtkSetStringMacro(InterfaceNormalsName);
377 vtkGetStringMacro(InterfaceNormalsName);
384 vtkSetStringMacro(InterfaceInterceptsName);
385 vtkGetStringMacro(InterfaceInterceptsName);
392 vtkSetMacro(DepthLimiter,
unsigned int);
393 vtkGetMacro(DepthLimiter,
unsigned int);
399 void InitializeOrientedCursor(
406 void InitializeOrientedGeometryCursor(
409 vtkIdType index,
bool create = false);
414 void InitializeNonOrientedCursor(
421 void InitializeNonOrientedGeometryCursor(
424 vtkIdType index,
bool create = false);
432 unsigned int RecurseDichotomic(
433 double value,
vtkDoubleArray* coord,
unsigned int ideb,
unsigned int ifin) const;
435 unsigned int FindDichotomic(
double value, vtkDataArray* coord) const;
438 virtual
unsigned int FindDichotomicX(
double value) const;
439 virtual
unsigned int FindDichotomicY(
double value) const;
440 virtual
unsigned int FindDichotomicZ(
double value) const;
445 void InitializeNonOrientedVonNeumannSuperCursor(
448 vtkIdType index,
bool create = false);
453 void InitializeNonOrientedVonNeumannSuperCursorLight(
455 bool create = false);
457 vtkIdType index,
bool create = false);
462 void InitializeNonOrientedMooreSuperCursor(
465 vtkIdType index,
bool create = false);
470 void InitializeNonOrientedMooreSuperCursorLight(
473 vtkIdType index,
bool create = false);
478 void Initialize() override;
484 virtual
vtkHyperTree* GetTree(vtkIdType,
bool create = false);
515 virtual unsigned long GetActualMemorySizeBytes();
530 bool RecursivelyInitializePureMask(
588 unsigned int GetChildMask(
unsigned int);
593 void GetIndexFromLevelZeroCoordinates(
vtkIdType&,
unsigned int,
unsigned int,
unsigned int)
const;
600 vtkIdType GetShiftedLevelZeroIndex(
vtkIdType,
unsigned int,
unsigned int,
unsigned int)
const;
605 void GetLevelZeroCoordinatesFromIndex(
606 vtkIdType,
unsigned int&,
unsigned int&,
unsigned int&)
const;
611 virtual void GetLevelZeroOriginAndSizeFromIndex(
vtkIdType,
double*,
double*);
616 virtual void GetLevelZeroOriginFromIndex(
vtkIdType,
double*);
633 void InitializeLocalIndexNode();
638 bool HasAnyGhostCells()
const;
684 std::map<vtkIdType, vtkSmartPointer<vtkHyperTree>>::iterator
Iterator;
726 void GetCenter(
double center[3]);
763 ~vtkHyperTreeGrid() override;
774 unsigned int BranchFactor;
775 unsigned int Dimension;
783 bool TreeGhostArrayCached;
786 unsigned int Orientation;
787 unsigned int Axis[2];
790 unsigned int NumberOfChildren;
791 bool TransposedRootIndexing;
797 unsigned int Dimensions[3];
798 unsigned int CellDims[3];
803 bool WithCoordinates;
814 char* InterfaceNormalsName;
815 char* InterfaceInterceptsName;
821 unsigned int DepthLimiter;
824 vtkHyperTreeGrid(const vtkHyperTreeGrid&) = delete;
825 void operator=(const vtkHyperTreeGrid&) = delete;
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Get2DAxes(unsigned int &axis1, unsigned int &axis2) const
JB Retourne l'indice des deux dimensions valides.
void GetBounds(T a, double bds[6])
object represents upward pointers from points to list of cells using each point
static vtkDataObject * New()
void SetIndexingModeToKJI()
Get the number or trees available along the 3 axis.
unsigned int GetBranchFactor() const
Set/Get the subdivision factor in the grid refinement scheme.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
#define VTK_DEPRECATED_IN_9_2_0(reason)
represent and manipulate cell attribute data
#define VTK_HYPER_TREE_GRID
a cell that represents an orthogonal quadrilateral
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
dynamic, self-adjusting array of vtkIdType
Hold a reference to a vtkObjectBase instance.
void SetIndexingModeToIJK()
Get the number or trees available along the 3 axis.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
dynamic, self-adjusting array of double
cell represents a 1D line
a simple class to control print indentation
Objects for traversal a HyperTreeGrid.
const unsigned int * GetAxes() const
JB Get the axis information (used for CopyStructure)
abstract superclass for arrays of numeric data
unsigned int GetOrientation() const
Get the orientation of 1D or 2D grids:
unsigned int GetNumberOfChildren() const
The number of children each node can have.
int GetDataObjectType() override
Return what type of dataset this is.
represent and manipulate attribute data in a dataset
#define VTK_SIZEHINT(...)
void Get1DAxis(unsigned int &axis) const
JB retourne l'indice de la dimension valide.
virtual unsigned long GetActualMemorySize()
Return the actual size of the data in kibibytes (1024 bytes).
vtkSmartPointer< vtkDataArray > GetData(const Ioss::GroupingEntity *entity, const std::string &fieldname, Ioss::Transform *transform=nullptr, Cache *cache=nullptr, const std::string &cachekey=std::string())
Returns a VTK array for a given field (fieldname) on the chosen block (or set) entity.
Objects for traversal a HyperTreeGrid.
dynamic, self-adjusting array of unsigned char
std::map< vtkIdType, vtkSmartPointer< vtkHyperTree > >::iterator Iterator
dynamic, self-adjusting array of bits
create and manipulate ordered lists of objects
A data object structured as a tree.
Allocate and hold a VTK object.
An iterator object to iteratively access trees in the grid.
Objects for traversal a HyperTreeGrid.
general representation of visualization data
represent and manipulate 3D points
Fast, simple class for representing and operating on 3D bounds.
represent and manipulate fields of data
Objects for traversal a HyperTreeGrid.