119 #ifndef vtkHyperOctree_h
120 #define vtkHyperOctree_h
122 #include "vtkCommonDataModelModule.h"
127 class vtkHyperOctreeInternal;
130 class vtkHyperOctreeIdSet;
183 void SetDimension(
int dim);
257 vtkSetVector3Macro(Size,
double);
264 vtkGetVector3Macro(Size,
double);
271 vtkSetVector3Macro(Origin,
double);
273 vtkGetVector3Macro(Origin,
double);
380 double tol2,
int& subId,
double pcoords[3],
381 double *weights) VTK_OVERRIDE;
392 double tol2,
int& subId,
double pcoords[3],
393 double *weights) VTK_OVERRIDE;
399 void Initialize() VTK_OVERRIDE;
407 int GetMaxCellSize() VTK_OVERRIDE;
438 void GetPointsOnParentFaces(
int faces[3],
521 void SetDualGridFlag(
int flag);
522 vtkGetMacro(DualGridFlag,
int);
533 unsigned long GetActualMemorySize() VTK_OVERRIDE;
548 void ComputeBounds() VTK_OVERRIDE;
555 vtkHyperOctreeInternal *CellTree;
562 void UpdateDualArrays();
568 void UpdateGridArrays();
574 void DeleteInternalArrays();
577 unsigned short *xyzIds,
int level);
579 unsigned char* visited,
580 double* origin,
double*
size);
583 unsigned char* visited,
int* cornerNeighborIds);
591 int NeighborhoodTraversalTable[216];
592 void GenerateGridNeighborhoodTraversalTable();
593 void GenerateDualNeighborhoodTraversalTable();
605 double *origin,
double *
size);
630 unsigned short IsLeaf;
631 unsigned short Level;
void GetPoint(const int i, const int j, const int k, double pnt[3])
object represents upward pointers from points to list of cells using each point
abstract class to specify cell behavior
general representation of visualization data
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
provides thread-safe access to cells
Objects that can traverse hyperoctree nodes.
vtkHyperOctree * GetTree()
vtkHyperOctreeLightWeightCursor()
void Initialize(vtkHyperOctree *tree)
unsigned short GetIsLeaf()
unsigned short GetLevel()
An object used by filters to store points computed on face or edge of an hyperoctant.
A dataset structured as a tree where each node has exactly 2^n children.
static vtkInformationIntegerKey * DIMENSION()
static vtkHyperOctree * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkInformationIntegerKey * LEVELS()
int GetDataObjectType() override
Return what type of dataset this is.
static vtkInformationDoubleVectorKey * SIZES()
list of point or cell ids
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
cell represents a 1D line
helper class to generate triangulations
a cell that represents an orthogonal quadrilateral
quickly locate points in 3-space
represent and manipulate 3D points
a cell that represents an n-sided polygon
a cell that represents a 3D orthogonal parallelepiped
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)