vtkHierarchicalBoxDataSet Class Reference

#include <vtkHierarchicalBoxDataSet.h>

Inheritance diagram for vtkHierarchicalBoxDataSet:

Inheritance graph
[legend]
Collaboration diagram for vtkHierarchicalBoxDataSet:

Collaboration graph
[legend]

List of all members.


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.


Public Types

typedef vtkCompositeDataSet 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)

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)

Protected Member Functions

 vtkHierarchicalBoxDataSet ()
 ~vtkHierarchicalBoxDataSet ()
virtual void ComputeScalarRange ()

Protected Attributes

double ScalarRange [2]
vtkTimeStamp ScalarRangeComputeTime

Member Typedef Documentation

Reimplemented from vtkCompositeDataSet.

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]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkDataObject.

virtual const char* vtkHierarchicalBoxDataSet::GetClassName (  )  [virtual]

Reimplemented from vtkCompositeDataSet.

static int vtkHierarchicalBoxDataSet::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkCompositeDataSet.

virtual int vtkHierarchicalBoxDataSet::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkCompositeDataSet.

static vtkHierarchicalBoxDataSet* vtkHierarchicalBoxDataSet::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkCompositeDataSet.

void vtkHierarchicalBoxDataSet::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkCompositeDataSet.

virtual vtkCompositeDataIterator* vtkHierarchicalBoxDataSet::NewIterator (  )  [virtual]

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

Reimplemented from vtkCompositeDataSet.

virtual int vtkHierarchicalBoxDataSet::GetDataObjectType (  )  [inline, virtual]

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 
) [inline, virtual]

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. The information carried by the vtkAMRBox is redundant with the extent of the vtkUniformGrid. However, in case of parallel computation, the vtkAMRBox is defined on each processor whereas the vtkUniformGrid is defined only on the processor that owns it.

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 125 of file vtkHierarchicalBoxDataSet.h.

int vtkHierarchicalBoxDataSet::HasLevelMetaData ( unsigned int  level  )  [inline]

Returns if meta-data exists for a given level.

Definition at line 131 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.

Reimplemented from vtkCompositeDataSet.

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

Retrieve an instance of this class from an information object.

Reimplemented from vtkCompositeDataSet.

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  )  [inline, virtual]

Unhiding superclass method.

Reimplemented from vtkCompositeDataSet.

Definition at line 182 of file vtkHierarchicalBoxDataSet.h.

virtual vtkInformation* vtkHierarchicalBoxDataSet::GetMetaData ( vtkCompositeDataIterator iter  )  [inline, virtual]

Unhiding superclass method.

Reimplemented from vtkCompositeDataSet.

Definition at line 188 of file vtkHierarchicalBoxDataSet.h.

virtual int vtkHierarchicalBoxDataSet::HasMetaData ( vtkCompositeDataIterator iter  )  [inline, virtual]

Unhiding superclass method.

Reimplemented from vtkCompositeDataSet.

Definition at line 195 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 (  )  [protected, virtual]

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


Member Data Documentation

Definition at line 212 of file vtkHierarchicalBoxDataSet.h.

Definition at line 214 of file vtkHierarchicalBoxDataSet.h.


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

Generated on Mon Sep 27 18:26:46 2010 for VTK by  doxygen 1.5.6