59 #ifndef vtkHyperTreeGrid_h
60 #define vtkHyperTreeGrid_h
62 #include "vtkCommonDataModelModule.h"
73 VTK_ABI_NAMESPACE_BEGIN
129 void SetModeSqueeze(const
char* vtkNotUsed(vtksqueeze)) {};
131 char* GetModeSqueeze() {
return nullptr; }
134 virtual
void Squeeze() {};
160 void SetDimensions(
const unsigned int dims[3]);
161 void SetDimensions(
const int dims[3]);
162 void SetDimensions(
unsigned int i,
unsigned int j,
unsigned int k);
163 void SetDimensions(
int i,
int j,
int k);
183 void SetExtent(const
int extent[6]);
184 void SetExtent(
int x1,
int x2,
int y1,
int y2,
int z1,
int z2);
185 vtkGetVector6Macro(Extent,
int);
194 const
unsigned int* GetCellDims() const
VTK_SIZEHINT(3);
195 void GetCellDims(
int cellDims[3]) const;
196 void GetCellDims(
unsigned int cellDims[3]) const;
205 unsigned int GetDimension()
const {
return this->Dimension; }
214 assert(
"pre: valid_dim" && this->GetDimension() == 1);
215 axis = this->Axis[0];
223 void Get2DAxes(
unsigned int& axis1,
unsigned int& axis2)
const
225 assert(
"pre: valid_dim" && this->GetDimension() == 2);
226 axis1 = this->Axis[0];
227 axis2 = this->Axis[1];
235 const unsigned int*
GetAxes()
const {
return this->Axis; }
251 vtkSetMacro(TransposedRootIndexing,
bool);
252 vtkGetMacro(TransposedRootIndexing,
bool);
268 bool GetFreezeState() {
return false; };
274 void SetBranchFactor(
unsigned int);
296 unsigned int GetNumberOfLevels(
vtkIdType);
301 unsigned int GetNumberOfLevels();
332 virtual void SetFixedCoordinates(
unsigned int axis,
double value);
352 vtkSetMacro(HasInterface,
bool);
353 vtkGetMacro(HasInterface,
bool);
354 vtkBooleanMacro(HasInterface,
bool);
361 vtkSetStringMacro(InterfaceNormalsName);
362 vtkGetStringMacro(InterfaceNormalsName);
369 vtkSetStringMacro(InterfaceInterceptsName);
370 vtkGetStringMacro(InterfaceInterceptsName);
377 vtkSetMacro(DepthLimiter,
unsigned int);
378 vtkGetMacro(DepthLimiter,
unsigned int);
391 void InitializeOrientedCursor(
396 void InitializeOrientedGeometryCursor(
402 void InitializeNonOrientedCursor(
407 void InitializeNonOrientedGeometryCursor(
413 void InitializeNonOrientedUnlimitedGeometryCursor(
415 bool create =
false);
430 virtual void GenerateGhostArray(
int zeroExt[6]);
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(
459 void InitializeNonOrientedVonNeumannSuperCursorLight(
461 bool create =
false);
466 void InitializeNonOrientedMooreSuperCursor(
472 void InitializeNonOrientedMooreSuperCursorLight(
478 void InitializeNonOrientedUnlimitedMooreSuperCursor(
480 bool create =
false);
532 virtual unsigned long GetActualMemorySizeBytes();
561 void CleanPureMask();
637 unsigned int GetChildMask(
unsigned int);
642 void GetIndexFromLevelZeroCoordinates(
vtkIdType&,
unsigned int,
unsigned int,
unsigned int)
const;
659 void GetLevelZeroCoordinatesFromIndex(
660 vtkIdType,
unsigned int&,
unsigned int&,
unsigned int&)
const;
665 virtual void GetLevelZeroOriginAndSizeFromIndex(
vtkIdType,
double*,
double*);
670 virtual void GetLevelZeroOriginFromIndex(
vtkIdType,
double*);
681 void InitializeLocalIndexNode();
686 bool HasAnyGhostCells()
const;
732 std::map<vtkIdType, vtkSmartPointer<vtkHyperTree>>::iterator
Iterator;
753 virtual void ComputeBounds();
773 virtual
void GetGridBounds(
double bounds[6]);
785 void GetCenter(
double center[3]);
819 ~vtkHyperTreeGrid() override;
822 double Center[3]{ 0.0, 0.0, 0.0 };
824 unsigned int BranchFactor = 0;
825 unsigned int Dimension = 0;
841 bool TreeGhostArrayCached =
false;
845 unsigned int NumberOfChildren = 0;
846 bool TransposedRootIndexing =
false;
852 unsigned int Dimensions[3] = { 0, 0, 0 };
853 unsigned int CellDims[3] = { 0, 0, 0 };
856 int Extent[6] = { 0, -1, 0, -1, 0, -1 };
858 bool WithCoordinates =
false;
867 bool HasInterface =
false;
868 char* InterfaceNormalsName =
nullptr;
869 char* InterfaceInterceptsName =
nullptr;
871 std::map<vtkIdType, vtkSmartPointer<vtkHyperTree>>
HyperTrees;
882 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
Return the indices of the two valid dimensions.
void GetBounds(T a, double bds[6])
VTKIOHDF_EXPORT std::vector< hsize_t > GetDimensions(hid_t fileID, const char *datasetName)
Returns the dimensions of a HDF dataset of a file.
object represents upward pointers from points to list of cells using each point
static vtkDataObject * New()
void SetIndexingModeToKJI()
Specify whether indexing mode of grid root cells must be transposed to x-axis first, z-axis last, instead of the default z-axis first, k-axis last.
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.
record modification and/or execution time
represent and manipulate cell attribute data
a cell that represents an orthogonal quadrilateral
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
virtual bool SupportsGhostArray(int type)
Returns if this type of data object support ghost array for specified type.
virtual void Initialize()
Restore data object to initial state,.
dynamic, self-adjusting array of vtkIdType
int GetExtentType() VTK_FUTURE_CONST override
Structured extent.
void SetIndexingModeToIJK()
Specify whether indexing mode of grid root cells must be transposed to x-axis first, z-axis last, instead of the default z-axis first, k-axis last.
Objects for traversal a HyperTreeGrid.
Objects for traversal a HyperTreeGrid.
dynamic, self-adjusting array of double
cell represents a 1D line
#define VTK_DEPRECATED_IN_9_6_0(reason)
a simple class to control print indentation
Objects for traversal a HyperTreeGrid.
const unsigned int * GetAxes() const
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.
represent and manipulate attribute data in a dataset
vtkNew< vtkCellData > CellData
#define VTK_SIZEHINT(...)
void Get1DAxis(unsigned int &axis) const
Return the index of the valid dimension.
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.
std::map< vtkIdType, vtkSmartPointer< vtkHyperTree > > HyperTrees
dynamic, self-adjusting array of unsigned char
std::map< vtkIdType, vtkSmartPointer< vtkHyperTree > >::iterator Iterator
vtkSmartPointer< vtkDataArray > ZCoordinates
dynamic, self-adjusting array of bits
create and manipulate ordered lists of objects
A data object structured as a tree.
vtkSmartPointer< vtkDataArray > XCoordinates
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
vtkSmartPointer< vtkBitArray > Mask
virtual void DeepCopy(vtkDataObject *src)
The goal of the method is to copy the complete data from src into this object.
represent and manipulate 3D points
Fast, simple class for representing and operating on 3D bounds.
virtual void ShallowCopy(vtkDataObject *src)
The goal of the method is to copy the data up to the array pointers only.
Represents and manipulates a collection of data arrays.
vtkSmartPointer< vtkDataArray > YCoordinates
int GetDataObjectType() VTK_FUTURE_CONST override
Return what type of dataset this is.
Objects for traversal a HyperTreeGrid.