vtkScalarTree - organize data according to scalar values (used to accelerate contouring operations)
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-baed 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.