Go to the documentation of this file.
118 #ifndef vtkHyperOctree_h
119 #define vtkHyperOctree_h
126 class vtkHyperOctreeInternal;
129 class vtkHyperOctreeIdSet;
323 double tol2,
int& subId,
double pcoords[3],
335 double tol2,
int& subId,
double pcoords[3],
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];
528 double *origin,
double *
size);
556 unsigned short IsLeaf;
557 unsigned short Level;
represent and manipulate 3D points
static vtkInformationIntegerKey * LEVELS()
unsigned short GetLevel()
virtual vtkIdType FindCell(double x[3], vtkCell *cell, vtkGenericCell *gencell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)
vtkIdType EvaluateGridCorner(int level, vtkHyperOctreeLightWeightCursor *neighborhood, unsigned char *visited, int *cornerNeighborIds)
void GetPointsOnParentEdge(vtkHyperOctreeCursor *cursor, int level, int axis, int k, int j, vtkHyperOctreePointsGrabber *grabber)
static vtkInformationIntegerKey * DIMENSION()
unsigned short GetIsLeaf()
#define vtkSetVector3Macro(name, type)
virtual int GetMaxCellSize()
vtkIdTypeArray * LeafCornerIds
a cell that represents an n-sided polygon
virtual void GetCell(vtkIdType cellId, vtkGenericCell *cell)
represent and manipulate attribute data in a dataset
quickly locate points in 3-space
vtkIdType GetNumberOfCells()
vtkPoints * GetCornerPoints()
#define vtkTypeMacro(thisClass, superclass)
Objects that can traverse hyperoctree nodes.
void Initialize(vtkHyperOctree *tree)
GLint GLint GLint GLint GLint x
vtkIdType GetNumberOfLeaves()
An object used by filters to store points computed on face or edge of an hyperoctant....
virtual vtkIdType FindCell(double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)
static vtkInformationDoubleVectorKey * SIZES()
vtkHyperOctreeInternal * CellTree
cell represents a 1D line
helper class to generate triangulations
void GetPointsOnEdge(vtkHyperOctreeCursor *sibling, int level, int axis, int k, int j, vtkHyperOctreePointsGrabber *grabber)
vtkIdTypeArray * CornerLeafIds
void SetDualGridFlag(int flag)
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)
void CollapseTerminalNode(vtkHyperOctreeCursor *node)
vtkHyperOctree * GetTree()
vtkIdTypeArray * GetCornerLeafIds()
#define vtkGetVector3Macro(name, type)
virtual int GetCellType(vtkIdType cellId)
abstract class to specify cell behavior
void GenerateGridNeighborhoodTraversalTable()
vtkIdTypeArray * GetLeafCornerIds()
vtkIdType GetMaxNumberOfPointsOnBoundary(int level)
vtkHyperOctreeCursor * NewCellCursor()
a simple class to control print indentation
static vtkHyperOctree * GetData(vtkInformationVector *v, int i=0)
object represents upward pointers from points to list of cells using each point
vtkPoints * GetLeafCenters()
static vtkHyperOctree * GetData(vtkInformation *info)
vtkIdType GetMaxNumberOfCellsOnBoundary(int level)
list of point or cell ids
virtual void GetPoint(vtkIdType id, double x[3])
void GetPointsOnParentEdge2D(vtkHyperOctreeCursor *cursor, int edge, int level, vtkHyperOctreePointsGrabber *grabber)
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
void DeleteInternalArrays()
#define vtkGetMacro(name, type)
vtkHyperOctreeLightWeightCursor()
static vtkHyperOctree * New()
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)
vtkIdType GetNumberOfLevels()
void TraverseDualRecursively(vtkHyperOctreeLightWeightCursor *neighborhood, unsigned short *xyzIds, int level)
abstract class to specify dataset behavior
vtkDataSetAttributes * GetLeafData()
vtkIdType GetMaxNumberOfPoints(int level)
dynamic, self-adjusting array of vtkIdType
a cell that represents an orthogonal quadrilateral
void EvaluateDualCorner(vtkHyperOctreeLightWeightCursor *neighborhood)
void TraverseGridRecursively(vtkHyperOctreeLightWeightCursor *neighborhood, unsigned char *visited, double *origin, double *size)
void SubdivideLeaf(vtkHyperOctreeCursor *leaf)
void PrintSelf(ostream &os, vtkIndent indent)
provides thread-safe access to cells
void CopyStructure(vtkDataSet *ds)
vtkHyperOctreeCursor * TmpChild
GLenum GLuint GLint GLenum face
vtkIdType RecursiveFindPoint(double x[3], vtkHyperOctreeLightWeightCursor *cursor, double *origin, double *size)
#define VTKCOMMONDATAMODEL_EXPORT
void SetDimension(int dim)
A dataset structured as a tree where each node has exactly 2^n children.
virtual vtkIdType FindPoint(double x[3])
void DeepCopy(vtkDataObject *src)
general representation of visualization data
virtual void GetCellPoints(vtkIdType cellId, vtkIdType &npts, vtkIdType *&pts)
virtual vtkCell * GetCell(vtkIdType cellId)
virtual double * GetPoint(vtkIdType ptId)
void GetPointsOnParentFaces(int faces[3], int level, vtkHyperOctreeCursor *cursor, vtkHyperOctreePointsGrabber *grabber)
void GetPointsOnFace(vtkHyperOctreeCursor *sibling, int face, int level, vtkHyperOctreePointsGrabber *grabber)
void GetPointsOnEdge2D(vtkHyperOctreeCursor *sibling, int edge, int level, vtkHyperOctreePointsGrabber *grabber)
void ShallowCopy(vtkDataObject *src)
vtkIdType GetNumberOfPoints()
unsigned long GetActualMemorySize()
void GenerateDualNeighborhoodTraversalTable()
a cell that represents a 3D orthogonal parallelepiped