118 #ifndef vtkHyperOctree_h
119 #define vtkHyperOctree_h
126 class vtkHyperOctreeInternal;
129 class vtkHyperOctreeIdSet;
174 void SetDimension(
int dim);
232 vtkSetVector3Macro(Size,
double);
237 vtkGetVector3Macro(Size,
double);
242 vtkSetVector3Macro(Origin,
double);
244 vtkGetVector3Macro(Origin,
double);
323 double tol2,
int& subId,
double pcoords[3],
335 double tol2,
int& subId,
double pcoords[3],
371 void GetPointsOnParentFaces(
int faces[3],
445 void SetDualGridFlag(
int flag);
446 vtkGetMacro(DualGridFlag,
int);
485 void UpdateDualArrays();
491 void UpdateGridArrays();
497 void DeleteInternalArrays();
500 unsigned short *xyzIds,
int level);
502 unsigned char* visited,
503 double* origin,
double*
size);
506 unsigned char* visited,
int* cornerNeighborIds);
514 int NeighborhoodTraversalTable[216];
515 void GenerateGridNeighborhoodTraversalTable();
516 void GenerateDualNeighborhoodTraversalTable();
526 vtkIdType RecursiveFindPoint(
double x[3],
528 double *origin,
double *
size);
548 void ToChild(
int child);
549 unsigned short GetIsLeaf();
556 unsigned short IsLeaf;
557 unsigned short Level;
virtual vtkIdType GetNumberOfCells()=0
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)=0
vtkIdTypeArray * CornerLeafIds
unsigned long GetActualMemorySize()
object represents upward pointers from points to list of cells using each point
static vtkDataObject * New()
virtual vtkIdType FindCell(double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)=0
quickly locate points in 3-space
virtual vtkIdType GetNumberOfPoints()=0
abstract class to specify dataset behavior
unsigned short GetLevel()
a cell that represents an orthogonal quadrilateral
virtual void ComputeBounds()
An object used by filters to store points computed on face or edge of an hyperoctant. It is an abstract class. vtkClipHyperOctree and vtkHyperOctreeCutter use vtkHyperOctreeClipCutPointsGrabber vtkHyperOctreeContourFilter use an internal one: vtkHyperOctreeContourFilterPointsGrabber.
vtkHyperOctree * GetTree()
helper class to generate triangulations
dynamic, self-adjusting array of vtkIdType
A dataset structured as a tree where each node has exactly 2^n children.
static vtkDataSet * GetData(vtkInformation *info)
provides thread-safe access to cells
cell represents a 1D line
abstract class to specify cell behavior
void PrintSelf(ostream &os, vtkIndent indent)
a cell that represents a 3D orthogonal parallelepiped
a simple class to control print indentation
virtual int GetMaxCellSize()=0
list of point or cell ids
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
a cell that represents an n-sided polygon
represent and manipulate attribute data in a dataset
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
void DeepCopy(vtkDataObject *src)
Objects that can traverse hyperoctree nodes.
vtkHyperOctreeInternal * CellTree
virtual void CopyStructure(vtkDataSet *ds)=0
virtual double * GetPoint(vtkIdType ptId)=0
vtkIdTypeArray * LeafCornerIds
vtkHyperOctreeCursor * TmpChild
general representation of visualization data
vtkIdType FindPoint(double x, double y, double z)
#define VTKCOMMONDATAMODEL_EXPORT
virtual vtkCell * GetCell(vtkIdType cellId)=0
represent and manipulate 3D points
virtual int GetCellType(vtkIdType cellId)=0
void ShallowCopy(vtkDataObject *src)