VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkHierarchicalBoxDataSet Class Reference

hierarchical dataset of vtkUniformGrids More...

#include <vtkHierarchicalBoxDataSet.h>

Inheritance diagram for vtkHierarchicalBoxDataSet:
[legend]
Collaboration diagram for vtkHierarchicalBoxDataSet:
[legend]

Public Types

typedef vtkCompositeDataSet Superclass
 
- Public Types inherited from vtkCompositeDataSet
typedef vtkDataObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual vtkCompositeDataIteratorNewIterator ()
 
virtual int GetDataObjectType ()
 
void SetNumberOfLevels (unsigned int numLevels)
 
unsigned int GetNumberOfLevels ()
 
void SetNumberOfDataSets (unsigned int level, unsigned int numdatasets)
 
unsigned int GetNumberOfDataSets (unsigned int level)
 
vtkAMRBox GetAMRBox (vtkCompositeDataIterator *iter)
 
vtkInformationGetMetaData (unsigned int level, unsigned int index)
 
int HasMetaData (unsigned int level, unsigned int index)
 
void SetRefinementRatio (unsigned int level, int refRatio)
 
int GetRefinementRatio (unsigned int level)
 
int GetRefinementRatio (vtkCompositeDataIterator *iter)
 
void GenerateVisibilityArrays ()
 
virtual void GetScalarRange (double range[])
 
virtual double * GetScalarRange ()
 
unsigned int GetFlatIndex (unsigned int level, unsigned int index)
 
virtual void SetDataSet (vtkCompositeDataIterator *iter, vtkDataObject *dataObj)
 
void SetDataSet (unsigned int level, unsigned int id, int LoCorner[3], int HiCorner[3], vtkUniformGrid *dataSet)
 
void SetDataSet (unsigned int level, unsigned int id, vtkAMRBox &box, vtkUniformGrid *dataSet)
 
vtkUniformGridGetDataSet (unsigned int level, unsigned int id, vtkAMRBox &box)
 
vtkInformationGetLevelMetaData (unsigned int level)
 
int HasLevelMetaData (unsigned int level)
 
virtual vtkDataObjectGetDataSet (vtkCompositeDataIterator *iter)
 
virtual vtkInformationGetMetaData (vtkCompositeDataIterator *iter)
 
virtual int HasMetaData (vtkCompositeDataIterator *iter)
 
- Public Member Functions inherited from vtkCompositeDataSet
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual vtkAlgorithmOutputGetProducerPort ()
 
virtual void CopyStructure (vtkCompositeDataSet *input)
 
virtual unsigned long GetActualMemorySize ()
 
virtual void Initialize ()
 
virtual vtkIdType GetNumberOfPoints ()
 
virtual void ShallowCopy (vtkDataObject *src)
 
virtual void DeepCopy (vtkDataObject *src)
 

Static Public Member Functions

static vtkHierarchicalBoxDataSetNew ()
 
static int IsTypeOf (const char *type)
 
static vtkHierarchicalBoxDataSetSafeDownCast (vtkObject *o)
 
static
vtkInformationIntegerVectorKey
BOX ()
 
static vtkInformationIntegerKeyBOX_DIMENSIONALITY ()
 
static vtkInformationIntegerKeyREFINEMENT_RATIO ()
 
static vtkInformationIdTypeKeyNUMBER_OF_BLANKED_POINTS ()
 
static vtkHierarchicalBoxDataSetGetData (vtkInformation *info)
 
static vtkHierarchicalBoxDataSetGetData (vtkInformationVector *v, int i=0)
 
- Static Public Member Functions inherited from vtkCompositeDataSet
static int IsTypeOf (const char *type)
 
static vtkCompositeDataSetSafeDownCast (vtkObject *o)
 
static vtkInformationStringKeyNAME ()
 
static vtkCompositeDataSetGetData (vtkInformation *info)
 
static vtkCompositeDataSetGetData (vtkInformationVector *v, int i=0)
 

Protected Member Functions

 vtkHierarchicalBoxDataSet ()
 
 ~vtkHierarchicalBoxDataSet ()
 
virtual void ComputeScalarRange ()
 
- Protected Member Functions inherited from vtkCompositeDataSet
 vtkCompositeDataSet ()
 
 ~vtkCompositeDataSet ()
 
void SetNumberOfChildren (unsigned int num)
 
unsigned int GetNumberOfChildren ()
 
void SetChild (unsigned int index, vtkDataObject *)
 
void RemoveChild (unsigned int index)
 
vtkDataObjectGetChild (unsigned int num)
 
vtkInformationGetChildMetaData (unsigned int index)
 
void SetChildMetaData (unsigned int index, vtkInformation *info)
 
int HasChildMetaData (unsigned int index)
 

Protected Attributes

double ScalarRange [2]
 
vtkTimeStamp ScalarRangeComputeTime
 
- Protected Attributes inherited from vtkCompositeDataSet
vtkCompositeDataSetInternalsInternals
 

Detailed Description

hierarchical dataset of vtkUniformGrids

vtkHierarchicalBoxDataSet is a concrete implementation of vtkCompositeDataSet. The dataset type is restricted to vtkUniformGrid. Each dataset has an associated vtkAMRBox that represents it's region (similar to extent) in space.

Warning
To compute the cellId of a cell within a vtkUniformGrid with AMRBox=box, you should not use vtkUniformGrid::ComputeCellId( {x,y,z} ) but instead use the following pseudo code: for (int i=0; i<3; i++) { cellDims[i] = box.HiCorner[i] - box.LoCorner[i] + 1; } vtkIdType cellId = (z-box.LoCorner[2])*cellDims[0]*cellDims[1] + (y-box.LoCorner[1])*cellDims[0] + (x-box.LoCorner[0]);
NOTE vtkAMRBox is used to compute cell visibility, therefor it should be dimensioned according to the visible region.

Definition at line 53 of file vtkHierarchicalBoxDataSet.h.

Member Typedef Documentation

Definition at line 57 of file vtkHierarchicalBoxDataSet.h.

Constructor & Destructor Documentation

vtkHierarchicalBoxDataSet::vtkHierarchicalBoxDataSet ( )
protected
vtkHierarchicalBoxDataSet::~vtkHierarchicalBoxDataSet ( )
protected

Member Function Documentation

static vtkHierarchicalBoxDataSet* vtkHierarchicalBoxDataSet::New ( )
static
virtual const char* vtkHierarchicalBoxDataSet::GetClassName ( )
virtual

Reimplemented from vtkCompositeDataSet.

static int vtkHierarchicalBoxDataSet::IsTypeOf ( const char *  type)
static
virtual int vtkHierarchicalBoxDataSet::IsA ( const char *  type)
virtual

Reimplemented from vtkCompositeDataSet.

static vtkHierarchicalBoxDataSet* vtkHierarchicalBoxDataSet::SafeDownCast ( vtkObject o)
static
void vtkHierarchicalBoxDataSet::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual vtkCompositeDataIterator* vtkHierarchicalBoxDataSet::NewIterator ( )
virtual

Return a new iterator (the iterator has to be deleted by user).

Reimplemented from vtkCompositeDataSet.

virtual int vtkHierarchicalBoxDataSet::GetDataObjectType ( )
inlinevirtual

Return class name of data type (see vtkType.h for definitions).

Reimplemented from vtkCompositeDataSet.

Definition at line 64 of file vtkHierarchicalBoxDataSet.h.

void vtkHierarchicalBoxDataSet::SetNumberOfLevels ( unsigned int  numLevels)

Set the number of refinement levels. This call might cause allocation if the new number of levels is larger than the current one.

unsigned int vtkHierarchicalBoxDataSet::GetNumberOfLevels ( )

Returns the number of levels.

void vtkHierarchicalBoxDataSet::SetNumberOfDataSets ( unsigned int  level,
unsigned int  numdatasets 
)

Set the number of data set at a given level.

unsigned int vtkHierarchicalBoxDataSet::GetNumberOfDataSets ( unsigned int  level)

Returns the number of data sets available at any level.

virtual void vtkHierarchicalBoxDataSet::SetDataSet ( vtkCompositeDataIterator iter,
vtkDataObject dataObj 
)
inlinevirtual

Sets the data set at the location pointed by the iterator. The iterator does not need to be iterating over this dataset itself. It can be any composite datasite with similar structure (achieve by using CopyStructure). Un-hiding superclass overload.

Reimplemented from vtkCompositeDataSet.

Definition at line 84 of file vtkHierarchicalBoxDataSet.h.

void vtkHierarchicalBoxDataSet::SetDataSet ( unsigned int  level,
unsigned int  id,
int  LoCorner[3],
int  HiCorner[3],
vtkUniformGrid dataSet 
)

Set the dataset pointer for a given node. This will resize the number of levels and the number of datasets in the level to fit level, id requested.

void vtkHierarchicalBoxDataSet::SetDataSet ( unsigned int  level,
unsigned int  id,
vtkAMRBox box,
vtkUniformGrid dataSet 
)

Set the dataset pointer for a given node. This will resize the number of levels and the number of datasets in the level to fit level, id requested.

vtkUniformGrid* vtkHierarchicalBoxDataSet::GetDataSet ( unsigned int  level,
unsigned int  id,
vtkAMRBox box 
)

Get a dataset given a level and an id. In case of parallel computation, the dataset can be a null pointer whereas the vtkAMRBox is always defined.

vtkAMRBox vtkHierarchicalBoxDataSet::GetAMRBox ( vtkCompositeDataIterator iter)

Returns the AMR box for the location pointer by the iterator.

vtkInformation* vtkHierarchicalBoxDataSet::GetLevelMetaData ( unsigned int  level)
inline

Get meta-data associated with a level. This may allocate a new vtkInformation object if none is already present. Use HasLevelMetaData to avoid unnecessary allocations.

Definition at line 124 of file vtkHierarchicalBoxDataSet.h.

int vtkHierarchicalBoxDataSet::HasLevelMetaData ( unsigned int  level)
inline

Returns if meta-data exists for a given level.

Definition at line 130 of file vtkHierarchicalBoxDataSet.h.

vtkInformation* vtkHierarchicalBoxDataSet::GetMetaData ( unsigned int  level,
unsigned int  index 
)

Get meta-data associated with a dataset. This may allocate a new vtkInformation object if none is already present. Use HasMetaData to avoid unnecessary allocations.

int vtkHierarchicalBoxDataSet::HasMetaData ( unsigned int  level,
unsigned int  index 
)

Returns if meta-data exists for a given dataset under a given level.

void vtkHierarchicalBoxDataSet::SetRefinementRatio ( unsigned int  level,
int  refRatio 
)

Sets the refinement of a given level. The spacing at level level+1 is defined as spacing(level+1) = spacing(level)/refRatio(level). Note that currently, this is not enforced by this class however some algorithms might not function properly if the spacing in the blocks (vtkUniformGrid) does not match the one described by the refinement ratio.

int vtkHierarchicalBoxDataSet::GetRefinementRatio ( unsigned int  level)

Returns the refinement of a given level.

int vtkHierarchicalBoxDataSet::GetRefinementRatio ( vtkCompositeDataIterator iter)

Returns the refinement ratio for the position pointed by the iterator.

void vtkHierarchicalBoxDataSet::GenerateVisibilityArrays ( )

Blank lower level cells if they are overlapped by higher level ones.

static vtkInformationIntegerVectorKey* vtkHierarchicalBoxDataSet::BOX ( )
static
static vtkInformationIntegerKey* vtkHierarchicalBoxDataSet::BOX_DIMENSIONALITY ( )
static
static vtkInformationIntegerKey* vtkHierarchicalBoxDataSet::REFINEMENT_RATIO ( )
static
static vtkInformationIdTypeKey* vtkHierarchicalBoxDataSet::NUMBER_OF_BLANKED_POINTS ( )
static
static vtkHierarchicalBoxDataSet* vtkHierarchicalBoxDataSet::GetData ( vtkInformation info)
static

Retrieve an instance of this class from an information object.

static vtkHierarchicalBoxDataSet* vtkHierarchicalBoxDataSet::GetData ( vtkInformationVector v,
int  i = 0 
)
static

Retrieve an instance of this class from an information object.

virtual void vtkHierarchicalBoxDataSet::GetScalarRange ( double  range[])
virtual

Copy the cached scalar range into range.

virtual double* vtkHierarchicalBoxDataSet::GetScalarRange ( )
virtual

Return the cached range.

virtual vtkDataObject* vtkHierarchicalBoxDataSet::GetDataSet ( vtkCompositeDataIterator iter)
inlinevirtual

Unhiding superclass method.

Reimplemented from vtkCompositeDataSet.

Definition at line 181 of file vtkHierarchicalBoxDataSet.h.

virtual vtkInformation* vtkHierarchicalBoxDataSet::GetMetaData ( vtkCompositeDataIterator iter)
inlinevirtual

Unhiding superclass method.

Reimplemented from vtkCompositeDataSet.

Definition at line 187 of file vtkHierarchicalBoxDataSet.h.

virtual int vtkHierarchicalBoxDataSet::HasMetaData ( vtkCompositeDataIterator iter)
inlinevirtual

Unhiding superclass method.

Reimplemented from vtkCompositeDataSet.

Definition at line 194 of file vtkHierarchicalBoxDataSet.h.

unsigned int vtkHierarchicalBoxDataSet::GetFlatIndex ( unsigned int  level,
unsigned int  index 
)

Given the level and dataset index, returns the flat index provided level and dataset index are valid.

virtual void vtkHierarchicalBoxDataSet::ComputeScalarRange ( )
protectedvirtual

Compute the range of the scalars and cache it into ScalarRange only if the cache became invalid (ScalarRangeComputeTime).

Member Data Documentation

double vtkHierarchicalBoxDataSet::ScalarRange[2]
protected

Definition at line 211 of file vtkHierarchicalBoxDataSet.h.

vtkTimeStamp vtkHierarchicalBoxDataSet::ScalarRangeComputeTime
protected

Definition at line 213 of file vtkHierarchicalBoxDataSet.h.


The documentation for this class was generated from the following file: