Go to the documentation of this file.
119 #ifndef vtkHyperOctree_h
120 #define vtkHyperOctree_h
122 #include "vtkCommonDataModelModule.h"
127 class vtkHyperOctreeInternal;
130 class vtkHyperOctreeIdSet;
163 void CopyStructure(
vtkDataSet *ds) VTK_OVERRIDE;
183 void SetDimension(
int dim);
200 vtkIdType GetNumberOfCells() VTK_OVERRIDE;
211 vtkIdType GetNumberOfPoints() VTK_OVERRIDE;
257 vtkSetVector3Macro(Size,
double);
264 vtkGetVector3Macro(Size,
double);
271 vtkSetVector3Macro(Origin,
double);
273 vtkGetVector3Macro(Origin,
double);
335 int GetCellType(
vtkIdType cellId) VTK_OVERRIDE;
366 vtkIdType FindPoint(
double x[3]) VTK_OVERRIDE;
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();
603 vtkIdType RecursiveFindPoint(
double x[3],
605 double *origin,
double *
size);
622 void ToChild(
int child);
623 unsigned short GetIsLeaf();
630 unsigned short IsLeaf;
631 unsigned short Level;
represent and manipulate 3D points
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
unsigned short GetLevel()
a cell that represents an n-sided polygon
represent and manipulate attribute data in a dataset
quickly locate points in 3-space
int GetDataObjectType() override
Return the type of data object.
Objects that can traverse hyperoctree nodes.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
An object used by filters to store points computed on face or edge of an hyperoctant....
void GetPoint(const int i, const int j, const int k, double pnt[3])
cell represents a 1D line
helper class to generate triangulations
vtkHyperOctree * GetTree()
abstract class to specify cell behavior
a simple class to control print indentation
object represents upward pointers from points to list of cells using each point
void Initialize() override
Restore data object to initial state.
list of point or cell ids
abstract class to specify dataset behavior
dynamic, self-adjusting array of vtkIdType
a cell that represents an orthogonal quadrilateral
provides thread-safe access to cells
A dataset structured as a tree where each node has exactly 2^n children.
general representation of visualization data
static vtkDataObject * New()
a cell that represents a 3D orthogonal parallelepiped