A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
More...
#include <vtkHyperTreeGrid.h>
Inherits vtkDataSet.
|
virtual int | IsA (const char *type) |
|
vtkHyperTreeGrid * | NewInstance () const |
|
void | PrintSelf (ostream &, vtkIndent) |
|
int | GetDataObjectType () |
|
void | CopyStructure (vtkDataSet *) |
|
vtkIdType | GetNumberOfCells () |
|
vtkIdType | GetNumberOfPoints () |
|
vtkIdType | GetNumberOfLeaves () |
|
vtkIdType | GetNumberOfLevels (vtkIdType) |
|
vtkIdType | GetNumberOfTrees () |
|
virtual void | GenerateTrees () |
|
vtkHyperTreeCursor * | NewCursor (vtkIdType) |
|
void | SubdivideLeaf (vtkHyperTreeCursor *, vtkIdType) |
|
virtual double * | GetPoint (vtkIdType) |
|
virtual void | GetPoint (vtkIdType, double[3]) |
|
virtual vtkCell * | GetCell (vtkIdType) |
|
virtual void | GetCell (vtkIdType, vtkGenericCell *) |
|
virtual int | GetCellType (vtkIdType) |
|
virtual void | GetCellPoints (vtkIdType, vtkIdList *) |
|
virtual void | GetCellPoints (vtkIdType, vtkIdType &, vtkIdType *&) |
|
virtual void | GetPointCells (vtkIdType, vtkIdList *) |
|
virtual void | GetCellNeighbors (vtkIdType, vtkIdList *, vtkIdList *) |
|
virtual vtkIdType | FindPoint (double x[3]) |
|
void | Initialize () |
|
void | InitializeTreeIterator (vtkHyperTreeIterator &) |
|
virtual int | GetMaxCellSize () |
|
unsigned long | GetActualMemorySize () |
|
void | GenerateSuperCursorTraversalTable () |
|
|
void | SetGridSize (unsigned int[3]) |
|
virtual unsigned int * | GetGridSize () |
|
virtual void | GetGridSize (unsigned int &, unsigned int &, unsigned int &) |
|
virtual void | GetGridSize (unsigned int[3]) |
|
|
virtual void | SetTransposedRootIndexing (bool) |
|
virtual bool | GetTransposedRootIndexing () |
|
void | SetIndexingModeToKJI () |
|
void | SetIndexingModeToIJK () |
|
|
void | SetBranchFactor (unsigned int) |
|
virtual unsigned int | GetBranchFactor () |
|
|
void | SetDimension (unsigned int) |
|
virtual unsigned int | GetDimension () |
|
|
void | SetXCoordinates (vtkDataArray *) |
|
virtual vtkDataArray * | GetXCoordinates () |
|
|
void | SetYCoordinates (vtkDataArray *) |
|
virtual vtkDataArray * | GetYCoordinates () |
|
|
void | SetZCoordinates (vtkDataArray *) |
|
virtual vtkDataArray * | GetZCoordinates () |
|
|
void | SetMaterialMask (vtkBitArray *) |
|
virtual vtkBitArray * | GetMaterialMask () |
|
|
virtual void | SetMaterialMaskIndex (vtkIdTypeArray *) |
|
virtual vtkIdTypeArray * | GetMaterialMaskIndex () |
|
|
virtual vtkIdType | FindCell (double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights) |
|
|
virtual vtkIdType | FindCell (double x[3], vtkCell *cell, vtkGenericCell *gencell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights) |
|
|
void | ShallowCopy (vtkDataObject *) |
|
void | DeepCopy (vtkDataObject *) |
|
|
void | InitializeSuperCursor (vtkHyperTreeGridSuperCursor *, unsigned int, unsigned int, unsigned int, vtkIdType) |
|
void | InitializeSuperCursor (vtkHyperTreeGridSuperCursor *, vtkIdType) |
|
|
void | InitializeSuperCursorChild (vtkHyperTreeGridSuperCursor *parent, vtkHyperTreeGridSuperCursor *child, unsigned int childIdx) |
|
|
virtual unsigned int | GetNumberOfChildren () |
|
|
void | GetLevelZeroCoordsFromIndex (vtkIdType index, unsigned int &i, unsigned int &j, unsigned int &k) |
|
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
An hypertree grid is a dataset containing a rectilinear grid of root nodes, each of which can be refined as a vtkHyperTree grid. This organization of the root nodes allows for the definition of tree-based AMR grids that do not have uniform geometry. Some filters can be applied on this dataset: contour, outline, geometry.
- Warning
- It is not a spatial search object. If you are looking for this kind of octree see vtkCellLocator instead.
- See Also
- vtkHyperTree vtkRectilinearGrid
- Thanks:
- This class was written by Philippe Pebay, Joachim Pouderoux and Charles Law, Kitware 2013 This work was supported in part by Commissariat a l'Energie Atomique (CEA/DIF)
- Examples:
- vtkHyperTreeGrid (Examples)
- Tests:
- vtkHyperTreeGrid (Tests)
Definition at line 66 of file vtkHyperTreeGrid.h.
vtkHyperTreeGrid::vtkHyperTreeGrid |
( |
| ) |
|
|
protected |
vtkHyperTreeGrid::~vtkHyperTreeGrid |
( |
| ) |
|
|
protected |
static vtkInformationIntegerKey* vtkHyperTreeGrid::LEVELS |
( |
| ) |
|
|
static |
static vtkInformationIntegerKey* vtkHyperTreeGrid::DIMENSION |
( |
| ) |
|
|
static |
static vtkInformationDoubleVectorKey* vtkHyperTreeGrid::SIZES |
( |
| ) |
|
|
static |
static int vtkHyperTreeGrid::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkHyperTreeGrid::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkHyperTreeGrid::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkHyperTreeGrid::PrintSelf |
( |
ostream & |
, |
|
|
vtkIndent |
|
|
) |
| |
int vtkHyperTreeGrid::GetDataObjectType |
( |
| ) |
|
Return what type of dataset this is.
void vtkHyperTreeGrid::CopyStructure |
( |
vtkDataSet * |
| ) |
|
Copy the internal geometric and topological structure of a vtkHyperTreeGrid object.
void vtkHyperTreeGrid::SetGridSize |
( |
unsigned |
int[3] | ) |
|
Set/Get sizes of this rectilinear grid dataset
virtual unsigned int* vtkHyperTreeGrid::GetGridSize |
( |
| ) |
|
|
virtual |
Set/Get sizes of this rectilinear grid dataset
virtual void vtkHyperTreeGrid::GetGridSize |
( |
unsigned int & |
, |
|
|
unsigned int & |
, |
|
|
unsigned int & |
|
|
) |
| |
|
virtual |
Set/Get sizes of this rectilinear grid dataset
virtual void vtkHyperTreeGrid::GetGridSize |
( |
unsigned |
int[3] | ) |
|
|
virtual |
Set/Get sizes of this rectilinear grid dataset
virtual void vtkHyperTreeGrid::SetTransposedRootIndexing |
( |
bool |
| ) |
|
|
virtual |
Specify whether indexing mode of grid root cells must be transposed to x-axis first, z-axis last, instead of the default z-axis first, k-axis last
virtual bool vtkHyperTreeGrid::GetTransposedRootIndexing |
( |
| ) |
|
|
virtual |
Specify whether indexing mode of grid root cells must be transposed to x-axis first, z-axis last, instead of the default z-axis first, k-axis last
void vtkHyperTreeGrid::SetIndexingModeToKJI |
( |
| ) |
|
|
inline |
Specify whether indexing mode of grid root cells must be transposed to x-axis first, z-axis last, instead of the default z-axis first, k-axis last
Definition at line 102 of file vtkHyperTreeGrid.h.
void vtkHyperTreeGrid::SetIndexingModeToIJK |
( |
| ) |
|
|
inline |
Specify whether indexing mode of grid root cells must be transposed to x-axis first, z-axis last, instead of the default z-axis first, k-axis last
Definition at line 104 of file vtkHyperTreeGrid.h.
void vtkHyperTreeGrid::SetBranchFactor |
( |
unsigned |
int | ) |
|
Set/Get the subdivision factor in the grid refinement scheme NB: Can only be 2 or 3
virtual unsigned int vtkHyperTreeGrid::GetBranchFactor |
( |
| ) |
|
|
virtual |
Set/Get the subdivision factor in the grid refinement scheme NB: Can only be 2 or 3
void vtkHyperTreeGrid::SetDimension |
( |
unsigned |
int | ) |
|
Set/Get the dimensionality of the grid NB: Can only be 1, 2 or 3
virtual unsigned int vtkHyperTreeGrid::GetDimension |
( |
| ) |
|
|
virtual |
Set/Get the dimensionality of the grid NB: Can only be 1, 2 or 3
vtkIdType vtkHyperTreeGrid::GetNumberOfCells |
( |
| ) |
|
Return the number of cells in the dual grid.
vtkIdType vtkHyperTreeGrid::GetNumberOfPoints |
( |
| ) |
|
Return the number of points in the dual grid.
vtkIdType vtkHyperTreeGrid::GetNumberOfLeaves |
( |
| ) |
|
Get the number of leaves in the primal tree grid.
vtkIdType vtkHyperTreeGrid::GetNumberOfLevels |
( |
vtkIdType |
| ) |
|
Return the number of levels in an individual (primal) tree
vtkIdType vtkHyperTreeGrid::GetNumberOfTrees |
( |
| ) |
|
Return the number of trees in the level 0 grid.
void vtkHyperTreeGrid::SetXCoordinates |
( |
vtkDataArray * |
| ) |
|
Specify the grid coordinates in the x-direction.
virtual vtkDataArray* vtkHyperTreeGrid::GetXCoordinates |
( |
| ) |
|
|
virtual |
Specify the grid coordinates in the x-direction.
void vtkHyperTreeGrid::SetYCoordinates |
( |
vtkDataArray * |
| ) |
|
Specify the grid coordinates in the y-direction.
virtual vtkDataArray* vtkHyperTreeGrid::GetYCoordinates |
( |
| ) |
|
|
virtual |
Specify the grid coordinates in the y-direction.
void vtkHyperTreeGrid::SetZCoordinates |
( |
vtkDataArray * |
| ) |
|
Specify the grid coordinates in the z-direction.
virtual vtkDataArray* vtkHyperTreeGrid::GetZCoordinates |
( |
| ) |
|
|
virtual |
Specify the grid coordinates in the z-direction.
void vtkHyperTreeGrid::SetMaterialMask |
( |
vtkBitArray * |
| ) |
|
Specify the blanking mask of primal leaf cells
virtual vtkBitArray* vtkHyperTreeGrid::GetMaterialMask |
( |
| ) |
|
|
virtual |
Specify the blanking mask of primal leaf cells
virtual void vtkHyperTreeGrid::SetMaterialMaskIndex |
( |
vtkIdTypeArray * |
| ) |
|
|
virtual |
Specify the visibility mask of primal leaf cells
virtual vtkIdTypeArray* vtkHyperTreeGrid::GetMaterialMaskIndex |
( |
| ) |
|
|
virtual |
Specify the visibility mask of primal leaf cells
virtual void vtkHyperTreeGrid::GenerateTrees |
( |
| ) |
|
|
virtual |
This method must be called once the tree settings change
Create a new cursor: an object that can traverse the cells of an individual hyper tree.
- Postcondition
- result_exists: result!=0
Subdivide node pointed by cursor, only if its a leaf. At the end, cursor points on the node that used to be leaf.
- Precondition
- leaf_exists: leaf!=0
-
is_a_leaf: leaf->CurrentIsLeaf()
virtual double* vtkHyperTreeGrid::GetPoint |
( |
vtkIdType |
| ) |
|
|
virtual |
This method should be avoided in favor of cell/point iterators. Random access to points requires that arrays are created explicitly. Get point coordinates with ptId such that: 0 <= ptId < NumberOfPoints. THIS METHOD IS NOT THREAD SAFE.
virtual void vtkHyperTreeGrid::GetPoint |
( |
vtkIdType |
, |
|
|
double |
[3] |
|
) |
| |
|
virtual |
This method should be avoided in favor of cell/point iterators. Random access to points requires that arrays are created explicitly. Copy point coordinates into user provided array x[3] for specified point id. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED
virtual vtkCell* vtkHyperTreeGrid::GetCell |
( |
vtkIdType |
| ) |
|
|
virtual |
This method should be avoided in favor of cell/point iterators. Random access to cells requires that connectivity arrays are created explicitly. Get cell with cellId such that: 0 <= cellId < NumberOfCells. THIS METHOD IS NOT THREAD SAFE.
virtual void vtkHyperTreeGrid::GetCell |
( |
vtkIdType |
, |
|
|
vtkGenericCell * |
|
|
) |
| |
|
virtual |
This method should be avoided in favor of cell/point iterators. Random access to cells requires that connectivity arrays are created explicitly. Get cell with cellId such that: 0 <= cellId < NumberOfCells. This is a thread-safe alternative to the previous GetCell() method. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED
virtual int vtkHyperTreeGrid::GetCellType |
( |
vtkIdType |
| ) |
|
|
virtual |
All cell types are 2: quadrilaters,3d: hexahedrons. They may be degenerate though. Get type of cell with cellId such that: 0 <= cellId < NumberOfCells. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED
virtual void vtkHyperTreeGrid::GetCellPoints |
( |
vtkIdType |
, |
|
|
vtkIdList * |
|
|
) |
| |
|
virtual |
This method should be avoided in favor of cell/point iterators. Random access to cells requires that connectivity arrays are created explicitly. Topological inquiry to get points defining cell. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED
virtual void vtkHyperTreeGrid::GetCellPoints |
( |
vtkIdType |
, |
|
|
vtkIdType & |
, |
|
|
vtkIdType *& |
|
|
) |
| |
|
virtual |
Return a pointer to a list of point ids defining cell. NB: More efficient than alternative method.
virtual void vtkHyperTreeGrid::GetPointCells |
( |
vtkIdType |
, |
|
|
vtkIdList * |
|
|
) |
| |
|
virtual |
This method should be avoided in favor of cell/point iterators. Random access to cells requires that connectivity arrays are created explicitly. Topological inquiry to get cells using point. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED
virtual void vtkHyperTreeGrid::GetCellNeighbors |
( |
vtkIdType |
, |
|
|
vtkIdList * |
, |
|
|
vtkIdList * |
|
|
) |
| |
|
virtual |
This method should be avoided in favor of cell/point iterators. Random access to cells requires that connectivity arrays are created explicitly. Topological inquiry to get all cells using list of points exclusive of cell specified (e.g., cellId). Note that the list consists of only cells that use ALL the points provided. This is exactly the same as GetCellNeighbors in unstructured grid. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED
virtual vtkIdType vtkHyperTreeGrid::FindPoint |
( |
double |
x[3] | ) |
|
|
virtual |
Find cell to which this point belongs, or at least closest one, even if the point is outside the grid. Since dual points are leaves, use the structure of the Tree instead of a point locator.
virtual vtkIdType vtkHyperTreeGrid::FindCell |
( |
double |
x[3], |
|
|
vtkCell * |
cell, |
|
|
vtkIdType |
cellId, |
|
|
double |
tol2, |
|
|
int & |
subId, |
|
|
double |
pcoords[3], |
|
|
double * |
weights |
|
) |
| |
|
virtual |
Locate cell based on global coordinate x and tolerance squared. If cell and cellId is non-NULL, then search starts from this cell and looks at immediate neighbors. Returns cellId >= 0 if inside, < 0 otherwise. The parametric coordinates are provided in pcoords[3]. The interpolation weights are returned in weights[]. (The number of weights is equal to the number of points in the found cell). Tolerance is used to control how close the point is to be considered "in" the cell. NB: There is actually no need for a starting cell, just use the point, as the tree structure is efficient enough. THIS METHOD IS NOT THREAD SAFE.
virtual vtkIdType vtkHyperTreeGrid::FindCell |
( |
double |
x[3], |
|
|
vtkCell * |
cell, |
|
|
vtkGenericCell * |
gencell, |
|
|
vtkIdType |
cellId, |
|
|
double |
tol2, |
|
|
int & |
subId, |
|
|
double |
pcoords[3], |
|
|
double * |
weights |
|
) |
| |
|
virtual |
This is a version of the above method that can be used with multithreaded applications. A vtkGenericCell must be passed in to be used in internal calls that might be made to GetCell() THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED
void vtkHyperTreeGrid::Initialize |
( |
| ) |
|
Restore data object to initial state, THIS METHOD IS NOT THREAD SAFE.
Initialize an iterator to browse level 0 trees.
virtual int vtkHyperTreeGrid::GetMaxCellSize |
( |
| ) |
|
|
virtual |
Convenience method returns largest cell size in dataset. This is generally used to allocate memory for supporting data structures. This is the number of points of a cell. THIS METHOD IS THREAD SAFE
unsigned long vtkHyperTreeGrid::GetActualMemorySize |
( |
| ) |
|
Return the actual size of the data in kilobytes. This number is valid only after the pipeline has updated. The memory size returned is guaranteed to be greater than or equal to the memory required to represent the data (e.g., extra space in arrays, etc. are not included in the return value). THIS METHOD IS THREAD SAFE.
void vtkHyperTreeGrid::GenerateSuperCursorTraversalTable |
( |
| ) |
|
Generate the table before calling InitializeSuperCursorChild.
Initialize a super cursor to point to one of the root trees in the grid. The super cursor points to a node in a tree and also keeps pointers to the 26 neighbors of said node.
Initialize a super cursor to point to one of the root trees in the grid. The super cursor points to a node in a tree and also keeps pointers to the 26 neighbors of said node.
Initialize a cursor to point to a child of an existing super cursor. This will not work in place.
virtual unsigned int vtkHyperTreeGrid::GetNumberOfChildren |
( |
| ) |
|
|
virtual |
The number of children each node can have.
void vtkHyperTreeGrid::GetLevelZeroCoordsFromIndex |
( |
vtkIdType |
index, |
|
|
unsigned int & |
i, |
|
|
unsigned int & |
j, |
|
|
unsigned int & |
k |
|
) |
| |
Convert a level 0 index to its ijk coordinates according the grid size.
void vtkHyperTreeGrid::ComputeBounds |
( |
| ) |
|
|
protected |
void vtkHyperTreeGrid::GetCell |
( |
vtkIdType |
, |
|
|
vtkCell * |
|
|
) |
| |
|
protected |
void vtkHyperTreeGrid::ComputeDualGrid |
( |
| ) |
|
|
protected |
vtkPoints* vtkHyperTreeGrid::GetPoints |
( |
| ) |
|
|
protected |
vtkIdTypeArray* vtkHyperTreeGrid::GetConnectivity |
( |
| ) |
|
|
protected |
void vtkHyperTreeGrid::DeleteInternalArrays |
( |
| ) |
|
|
protected |
void vtkHyperTreeGrid::DeleteTrees |
( |
| ) |
|
|
protected |
void vtkHyperTreeGrid::BuildLinks |
( |
| ) |
|
|
protected |
vtkIdType vtkHyperTreeGrid::RecursiveFindPoint |
( |
double |
x[3], |
|
|
vtkHyperTreeSimpleCursor * |
cursor, |
|
|
double * |
origin, |
|
|
double * |
size |
|
) |
| |
|
protected |
unsigned int vtkHyperTreeGrid::Dimension |
|
protected |
unsigned int vtkHyperTreeGrid::GridSize[3] |
|
protected |
unsigned int vtkHyperTreeGrid::BranchFactor |
|
protected |
unsigned int vtkHyperTreeGrid::NumberOfChildren |
|
protected |
bool vtkHyperTreeGrid::TransposedRootIndexing |
|
protected |
vtkBitArray* vtkHyperTreeGrid::MaterialMask |
|
protected |
vtkIdTypeArray* vtkHyperTreeGrid::MaterialMaskIndex |
|
protected |
vtkDataArray* vtkHyperTreeGrid::XCoordinates |
|
protected |
vtkDataArray* vtkHyperTreeGrid::YCoordinates |
|
protected |
vtkDataArray* vtkHyperTreeGrid::ZCoordinates |
|
protected |
std::map<vtkIdType, vtkHyperTree*> vtkHyperTreeGrid::HyperTrees |
|
protected |
vtkPoints* vtkHyperTreeGrid::Points |
|
protected |
vtkIdTypeArray* vtkHyperTreeGrid::Connectivity |
|
protected |
std::map<vtkIdType, bool> vtkHyperTreeGrid::PointShifted |
|
protected |
std::map<vtkIdType, double> vtkHyperTreeGrid::PointShifts[3] |
|
protected |
std::map<vtkIdType, double> vtkHyperTreeGrid::ReductionFactors |
|
protected |
vtkLine* vtkHyperTreeGrid::Line |
|
protected |
vtkVoxel* vtkHyperTreeGrid::Voxel |
|
protected |
The documentation for this class was generated from the following file: