50 #ifndef vtkHyperTreeGrid_h
51 #define vtkHyperTreeGrid_h
53 #include "vtkCommonDataModelModule.h"
64 VTK_ABI_NAMESPACE_BEGIN
111 vtkSetStringMacro(ModeSqueeze);
112 vtkGetStringMacro(ModeSqueeze);
117 virtual void Squeeze();
143 void SetDimensions(
const unsigned int dims[3]);
144 void SetDimensions(
const int dims[3]);
145 void SetDimensions(
unsigned int i,
unsigned int j,
unsigned int k);
146 void SetDimensions(
int i,
int j,
int k);
154 const unsigned int* GetDimensions() const
VTK_SIZEHINT(3);
156 void GetDimensions(
int dim[3]) const;
157 void GetDimensions(
unsigned int dim[3]) const;
167 void SetExtent(const
int extent[6]);
168 void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
169 vtkGetVector6Macro(Extent,
int);
178 const
unsigned int* GetCellDims() const
VTK_SIZEHINT(3);
179 void GetCellDims(
int cellDims[3]) const;
180 void GetCellDims(
unsigned int cellDims[3]) const;
190 unsigned int GetDimension()
const {
return this->Dimension; }
199 assert(
"pre: valid_dim" && this->GetDimension() == 1);
200 axis = this->Axis[0];
208 void Get2DAxes(
unsigned int& axis1,
unsigned int& axis2)
const
210 assert(
"pre: valid_dim" && this->GetDimension() == 2);
211 axis1 = this->Axis[0];
212 axis2 = this->Axis[1];
220 const unsigned int*
GetAxes()
const {
return this->Axis; }
247 vtkSetMacro(TransposedRootIndexing,
bool);
248 vtkGetMacro(TransposedRootIndexing,
bool);
267 vtkGetMacro(FreezeState,
bool);
274 void SetBranchFactor(
unsigned int);
302 unsigned int GetNumberOfLevels(
vtkIdType);
307 unsigned int GetNumberOfLevels();
314 vtkGetObjectMacro(XCoordinates, vtkDataArray);
321 virtual
void SetYCoordinates(vtkDataArray*);
322 vtkGetObjectMacro(YCoordinates, vtkDataArray);
329 virtual
void SetZCoordinates(vtkDataArray*);
330 vtkGetObjectMacro(ZCoordinates, vtkDataArray);
338 virtual
void SetFixedCoordinates(
unsigned int axis,
double value);
346 vtkGetObjectMacro(Mask, vtkBitArray);
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);
397 void InitializeOrientedCursor(
402 void InitializeOrientedGeometryCursor(
406 vtkIdType index,
bool create = false);
408 void InitializeNonOrientedCursor(
413 void InitializeNonOrientedGeometryCursor(
417 vtkIdType index,
bool create = false);
419 void InitializeNonOrientedUnlimitedGeometryCursor(
421 bool create = false);
424 vtkIdType index,
bool create = false);
433 unsigned int RecurseDichotomic(
434 double value,
vtkDoubleArray* coord,
double tol,
unsigned int ideb,
unsigned int ifin) const;
436 unsigned int FindDichotomic(
double value, vtkDataArray* coord,
double tol) const;
439 virtual
unsigned int FindDichotomicX(
double value,
double tol = 0.0) const;
440 virtual
unsigned int FindDichotomicY(
double value,
double tol = 0.0) const;
441 virtual
unsigned int FindDichotomicZ(
double value,
double tol = 0.0) const;
453 void InitializeNonOrientedVonNeumannSuperCursor(
457 vtkIdType index,
bool create = false);
459 void InitializeNonOrientedVonNeumannSuperCursorLight(
461 bool create = false);
464 vtkIdType index,
bool create = false);
466 void InitializeNonOrientedMooreSuperCursor(
470 vtkIdType index,
bool create = false);
472 void InitializeNonOrientedMooreSuperCursorLight(
476 vtkIdType index,
bool create = false);
478 void InitializeNonOrientedUnlimitedMooreSuperCursor(
480 bool create = false);
483 vtkIdType index,
bool create = false);
489 void Initialize() override;
495 virtual
vtkHyperTree* GetTree(vtkIdType,
bool create = false);
526 virtual unsigned long GetActualMemorySizeBytes();
541 bool RecursivelyInitializePureMask(
599 unsigned int GetChildMask(
unsigned int);
604 void GetIndexFromLevelZeroCoordinates(
vtkIdType&,
unsigned int,
unsigned int,
unsigned int)
const;
611 vtkIdType GetShiftedLevelZeroIndex(
vtkIdType,
unsigned int,
unsigned int,
unsigned int)
const;
616 void GetLevelZeroCoordinatesFromIndex(
617 vtkIdType,
unsigned int&,
unsigned int&,
unsigned int&)
const;
622 virtual void GetLevelZeroOriginAndSizeFromIndex(
vtkIdType,
double*,
double*);
627 virtual void GetLevelZeroOriginFromIndex(
vtkIdType,
double*);
644 void InitializeLocalIndexNode();
649 bool HasAnyGhostCells()
const;
695 std::map<vtkIdType, vtkSmartPointer<vtkHyperTree>>::iterator
Iterator;
737 void GetCenter(
double center[3]);
774 ~vtkHyperTreeGrid() override;
785 unsigned int BranchFactor;
786 unsigned int Dimension;
794 bool TreeGhostArrayCached;
797 unsigned int Orientation;
798 unsigned int Axis[2];
801 unsigned int NumberOfChildren;
802 bool TransposedRootIndexing;
808 unsigned int Dimensions[3];
809 unsigned int CellDims[3];
814 bool WithCoordinates;
825 char* InterfaceNormalsName;
826 char* InterfaceInterceptsName;
832 unsigned int DepthLimiter;
835 vtkHyperTreeGrid(const vtkHyperTreeGrid&) = delete;
836 void operator=(const vtkHyperTreeGrid&) = delete;
839 VTK_ABI_NAMESPACE_END
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)
Specific Moore super cursor that can subdivied neighborhood.
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.
Objects for traversal a HyperTreeGrid.
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.