43 #ifndef vtkHyperTreeGrid_h 44 #define vtkHyperTreeGrid_h 46 #include "vtkCommonDataModelModule.h" 71 class vtkHyperTreePositionCursor;
99 void SetGridSize(
unsigned int[3] );
100 void SetGridSize(
unsigned int,
unsigned int,
unsigned int );
101 vtkGetVector3Macro(GridSize,
unsigned int);
109 void SetGridExtent(
int extent[6]);
110 void SetGridExtent(
int,
int,
int,
int,
int,
int );
118 vtkSetMacro(TransposedRootIndexing,
bool);
119 vtkGetMacro(TransposedRootIndexing,
bool);
121 { this->SetTransposedRootIndexing(
false ); }
123 { this->SetTransposedRootIndexing(
true ); }
130 void SetDimension(
unsigned int );
131 vtkGetMacro(Dimension,
unsigned int);
141 virtual void SetOrientation(
unsigned int);
142 vtkGetMacro(Orientation,
unsigned int);
149 void SetBranchFactor(
unsigned int );
150 vtkGetMacro(BranchFactor,
unsigned int);
223 bool HasMaterialMask();
237 vtkSetMacro( HasInterface,
bool );
238 vtkGetMacro( HasInterface,
bool );
239 vtkBooleanMacro( HasInterface,
bool );
246 vtkSetStringMacro(InterfaceNormalsName);
247 vtkGetStringMacro(InterfaceNormalsName);
254 vtkSetStringMacro(InterfaceInterceptsName);
255 vtkGetStringMacro(InterfaceInterceptsName);
261 virtual void GenerateTrees();
352 return this->Superclass::GetCell(i,j,k);
432 double tol2,
int& subId,
double pcoords[3],
433 double *weights )
override;
444 double tol2,
int& subId,
double pcoords[3],
445 double *weights )
override;
468 void InitializeTreeIterator( vtkHyperTreeGridIterator& );
507 vtkGetMacro(NumberOfChildren,
unsigned int);
570 unsigned int GetChildMask(
unsigned int );
575 void GetLevelZeroCoordinatesFromIndex(
vtkIdType,
583 void GetIndexFromLevelZeroCoordinates(
vtkIdType&,
593 unsigned int GetShiftedLevelZeroIndex(
vtkIdType,
630 unsigned short Level;
675 std::map<vtkIdType, vtkHyperTree*>::iterator
Iterator;
698 void ComputeBounds()
override;
706 void ComputeDualGrid();
714 unsigned int GridSize[3];
737 std::map<vtkIdType, double> PointShifts[3];
762 void ResetSuperCursor();
821 vtkIdType RecursivelyFindPoint(
double x[3],
826 #if !defined(__VTK_WRAP__) && !defined(__WRAP_GCCXML__)
vtkLine * Line
These are needed by the GetCell() method.
std::map< vtkIdType, vtkHyperTree * > HyperTrees
virtual vtkIdType GetNumberOfCells()=0
Determine the number of cells composing the dataset.
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)=0
Topological inquiry to get cells using point.
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
Locate cell based on global coordinate x and tolerance squared.
void SetIndexingModeToKJI()
Specify whether indexing mode of grid root cells must be transposed to x-axis first,...
vtkHyperTreeGridIterator()
unsigned int NumberOfChildren
virtual vtkIdType GetNumberOfPoints()=0
Determine the number of points composing the dataset.
abstract class to specify dataset behavior
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a cell that represents an orthogonal quadrilateral
vtkDataArray * ZCoordinates
unsigned short GetLevel()
Return level at which cursor is positioned.
vtkCell * GetCell(int i, int j, int k) override
Overridden so as no not unintentionally hide parent class.
dynamic, self-adjusting array of vtkIdType
unsigned int BranchFactor
vtkHyperTree * GetTree()
Methods that belong to the vtkHyperTreeCursor API.
void SetIndexingModeToIJK()
Specify whether indexing mode of grid root cells must be transposed to x-axis first,...
provides thread-safe access to cells
vtkVoxel * Voxel
These are needed by the GetCell() method.
Objects for depth-first traversal HyperTrees.
cell represents a 1D line
abstract class to specify cell behavior
Objects for depth-first traversal HyperTreeGrids.
a cell that represents a 3D orthogonal parallelepiped
std::map< vtkIdType, vtkHyperTree * >::iterator Iterator
char * InterfaceNormalsName
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
a simple class to control print indentation
virtual int GetMaxCellSize()=0
Convenience method returns largest cell size in dataset.
list of point or cell ids
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
Topological inquiry to get points defining cell.
abstract superclass for arrays of numeric data
int GetDataObjectType() override
Return the type of data object.
vtkDataArray * YCoordinates
vtkIdTypeArray * Connectivity
std::map< vtkIdType, bool > PointShifted
void DeepCopy(vtkDataObject *src) override
Shallow and Deep copy.
represent and manipulate attribute data in a dataset
vtkIdTypeArray * MaterialMaskIndex
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
Topological inquiry to get all cells using list of points exclusive of cell specified (e....
void Initialize() override
Restore data object to initial state.
A simplified hyper tree cursor, to be used by the hyper tree.
dynamic, self-adjusting array of bits
create and manipulate ordered lists of objects
Public structure used by filters to move around the hyper tree grid and easily access neighbors to le...
An object structured as a tree where each node has exactly either 2^d or 3^d children.
bool TransposedRootIndexing
vtkIdType GetLeafIndex()
Only valid for leaves.
An iterator object to iteratively access trees in the grid.
virtual void CopyStructure(vtkDataSet *ds)=0
Copy the geometric and topological structure of an object.
void ShallowCopy(vtkDataObject *src) override
Shallow and Deep copy.
vtkBitArray * PureMaterialMask
bool InitPureMaterialMask
virtual double * GetPoint(vtkIdType ptId)=0
Get point coordinates with ptId such that: 0 <= ptId < NumberOfPoints.
std::map< vtkIdType, double > ReductionFactors
vtkPixel * Pixel
These are needed by the GetCell() method.
vtkCellLinks * Links
Not really needed.
vtkBitArray * MaterialMask
general representation of visualization data
int GetExtentType() override
Structured extent.
vtkIdType FindPoint(double x, double y, double z)
Locate the closest point to the global coordinate x.
char * InterfaceInterceptsName
vtkDataArray * XCoordinates
virtual vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
represent and manipulate 3D points
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int GetCellType(vtkIdType cellId)=0
Get type of cell with cellId such that: 0 <= cellId < NumberOfCells.
Fast Simple Class for dealing with 3D bounds.