24#ifndef vtkOverlappingAMRMetaData_h
25#define vtkOverlappingAMRMetaData_h
30#include "vtkCommonDataModelModule.h"
33VTK_ABI_NAMESPACE_BEGIN
50 void Initialize(
const std::vector<unsigned int>& blocksPerLevel)
override;
72 void GetBounds(
unsigned int level,
unsigned int id,
double* bb);
79 void SetBounds(
unsigned int level,
unsigned int id,
double* bb);
86 bool GetOrigin(
unsigned int level,
unsigned int id,
double* origin);
187 unsigned int*
GetParents(
unsigned int level,
unsigned int index,
unsigned int& numParents);
194 unsigned int*
GetChildren(
unsigned int level,
unsigned int index,
unsigned int& numChildren);
221 bool FindCell(
double q[3],
unsigned int level,
unsigned int index,
int& cellIdx);
227 bool FindGrid(
double q[3],
int level,
unsigned int& gridId);
233 bool FindGrids(
double q[3],
unsigned int level, std::vector<unsigned int>& gridIds);
240 bool FindGrid(
double q[3],
unsigned int& level,
unsigned int& gridId);
248 return this->AllChildren[i];
255 [[nodiscard]] vtkGetMacro(GridType,
unsigned int);
256 vtkSetMacro(GridType,
unsigned int);
273 bool HasValidOrigin()
const;
274 bool HasValidBounds()
const;
275 void UpdateBounds(
int level,
int id);
276 void AllocateBoxes(
unsigned int n);
277 void AllocateBlockBounds(
unsigned int n);
278 void CalculateParentChildRelationShip(
unsigned int level,
279 std::vector<std::vector<unsigned int>>& children,
280 std::vector<std::vector<unsigned int>>& parents);
291 std::vector<vtkAMRBox> Boxes;
294 std::vector<vtkBoundingBox> BlockBounds;
311 vtkNew<vtkIntArray> Refinement;
314 std::vector<std::vector<std::vector<unsigned int>>> AllChildren;
315 std::vector<std::vector<std::vector<unsigned int>>> AllParents;
Encloses a rectangular region of voxel like cells.
dynamic, self-adjusting array of double
a simple class to control print indentation
dynamic, self-adjusting array of int
Allocate and hold a VTK object.
Computes the portion of a dataset which is inside a selection.
Hold a reference to a vtkObjectBase instance.