Main Page   Class Hierarchy   Alphabetical List   Compound List   Compound Members   Related Pages  

vtkScalarTree Class Reference

organize data according to scalar values (used to accelerate contouring operations). More...

#include <vtkScalarTree.h>

Inheritance diagram for vtkScalarTree:

Inheritance graph
[legend]
Collaboration diagram for vtkScalarTree:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetDataSet (vtkDataSet *)
virtual vtkDataSetGetDataSet ()
virtual void SetBranchingFactor (int)
virtual int GetBranchingFactor ()
virtual int GetLevel ()
virtual void SetMaxLevel (int)
virtual int GetMaxLevel ()
void BuildTree ()
void Initialize ()
void InitTraversal (float scalarValue)
vtkCellGetNextCell (int &cellId, vtkIdList *&ptIds, vtkScalars *cellScalars)
vtkCellGetNextCell (int &cellId, vtkIdList *&ptIds, vtkScalars &cellScalars)

Static Public Methods

int IsTypeOf (const char *type)
vtkScalarTree * SafeDownCast (vtkObject *o)
vtkScalarTree * New ()

Protected Methods

 vtkScalarTree ()
 ~vtkScalarTree ()
 vtkScalarTree (const vtkScalarTree &)
void operator= (const vtkScalarTree &)

Protected Attributes

vtkDataSetDataSet
vtkScalarsScalars
int MaxLevel
int Level
int BranchingFactor
vtkScalarRange * Tree
int TreeSize
vtkTimeStamp BuildTime

Detailed Description

organize data according to scalar values (used to accelerate contouring operations).

Date:
2000/12/10 20:08:51
Revision:
1.19

vtkScalarTree creates a pointerless binary tree that helps search for cells that lie within a particular scalar range. This object is used to accelerate some contouring (and other scalar-based techniques).

The tree consists of an array of (min,max) scalar range pairs per node in the tree. The (min,max) range is determined from looking at the range of the children of the tree node. If the node is a leaf, then the range is determined by scanning the range of scalar data in n cells in the dataset. The n cells are determined by arbitrary selecting cell ids from id(i) to id(i+n), and where n is specified using the BranchingFactor ivar. Note that leaf node i=0 contains the scalar range computed from cell ids (0,n-1); leaf node i=1 contains the range from cell ids (n,2n-1); and so on. The implication is that there are no direct lists of cell ids per leaf node, instead the cell ids are implicitly known.


Member Function Documentation

void vtkScalarTree::BuildTree  
 

Construct the scalar tree from the dataset provided. Checks build times and modified time from input and reconstructs the tree if necessary.

virtual const char* vtkScalarTree::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

virtual int vtkScalarTree::GetLevel   [virtual]
 

Get the level of the locator (determined automatically if Automatic is true). The value of this ivar may change each time the locator is built.

vtkCell* vtkScalarTree::GetNextCell int &    cellId,
vtkIdList *&    ptIds,
vtkScalars   cellScalars
[inline]
 

For legacy compatibility. Do not use.

vtkCell* vtkScalarTree::GetNextCell int &    cellId,
vtkIdList *&    ptIds,
vtkScalars   cellScalars
 

Return the next cell that may contain scalar value specified to initialize traversal. The value NULL is returned if the list is exhausted. Make sure that InitTraversal() has been invoked first or you'll get erratic behavior.

void vtkScalarTree::Initialize  
 

Initialize locator. Frees memory and resets object as appropriate.

void vtkScalarTree::InitTraversal float    scalarValue
 

Begin to traverse the cells based on a scalar value. Returned cells will have scalar values that span the scalar value specified.

virtual int vtkScalarTree::IsA const char *    type [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 vtkObject.

int vtkScalarTree::IsTypeOf const char *    type [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 vtkObject.

vtkScalarTree* vtkScalarTree::New   [static]
 

Instantiate scalar tree with maximum level of 20 and branching factor of 5.

Reimplemented from vtkObject.

void vtkScalarTree::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 vtkObject.

vtkScalarTree* vtkScalarTree::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

virtual void vtkScalarTree::SetBranchingFactor int    [virtual]
 

Set the branching factor for the tree. This is the number of children per tree node. Smaller values (minimum is 2) mean deeper trees and more memory overhead. Larger values mean shallower trees, less memory usage, but worse performance.

virtual void vtkScalarTree::SetDataSet vtkDataSet   [virtual]
 

Build the tree from the points/cells defining this dataset.

virtual void vtkScalarTree::SetMaxLevel int    [virtual]
 

Set the maximum allowable level for the tree.


The documentation for this class was generated from the following file:
Generated on Tue Mar 19 13:32:50 2002 for VTK by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002