Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File 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
vtkScalarRangeTree
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.

Definition at line 75 of file vtkScalarTree.h.


Constructor & Destructor Documentation

vtkScalarTree::vtkScalarTree   [protected]
 

vtkScalarTree::~vtkScalarTree   [protected]
 

vtkScalarTree::vtkScalarTree const vtkScalarTree &    [inline, protected]
 

Definition at line 133 of file vtkScalarTree.h.


Member Function Documentation

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.

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.

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.

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.

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::New   [static]
 

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

Reimplemented from vtkObject.

virtual void vtkScalarTree::SetDataSet vtkDataSet   [virtual]
 

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

virtual vtkDataSet* vtkScalarTree::GetDataSet   [virtual]
 

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 int vtkScalarTree::GetBranchingFactor   [virtual]
 

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.

virtual void vtkScalarTree::SetMaxLevel int    [virtual]
 

Set the maximum allowable level for the tree.

virtual int vtkScalarTree::GetMaxLevel   [virtual]
 

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.

void vtkScalarTree::Initialize void   
 

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.

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.

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

For legacy compatibility. Do not use.

Definition at line 126 of file vtkScalarTree.h.

void vtkScalarTree::operator= const vtkScalarTree &    [inline, protected]
 

Definition at line 134 of file vtkScalarTree.h.


Member Data Documentation

vtkDataSet* vtkScalarTree::DataSet [protected]
 

Definition at line 136 of file vtkScalarTree.h.

vtkScalars* vtkScalarTree::Scalars [protected]
 

Definition at line 137 of file vtkScalarTree.h.

int vtkScalarTree::MaxLevel [protected]
 

Definition at line 138 of file vtkScalarTree.h.

int vtkScalarTree::Level [protected]
 

Definition at line 139 of file vtkScalarTree.h.

int vtkScalarTree::BranchingFactor [protected]
 

Definition at line 140 of file vtkScalarTree.h.

vtkScalarRange* vtkScalarTree::Tree [protected]
 

Definition at line 142 of file vtkScalarTree.h.

int vtkScalarTree::TreeSize [protected]
 

Definition at line 143 of file vtkScalarTree.h.

vtkTimeStamp vtkScalarTree::BuildTime [protected]
 

Definition at line 144 of file vtkScalarTree.h.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 13:00:00 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001