net.sf.jtreemap.ktreemap
Class SplitStrategy

java.lang.Object
  extended by net.sf.jtreemap.ktreemap.SplitStrategy
Direct Known Subclasses:
SplitByNumber, SplitBySlice, SplitBySortedWeight, SplitByWeight, SplitSquarified

public abstract class SplitStrategy
extends java.lang.Object

Abtract class with the method which split the elements of a KTreeMap.

The split is done by dichotomy. We split the elements in 2 groups with a defined strategy (for example : take care of the weight of the elements)

 

Constructor Summary
SplitStrategy()
           
 
Method Summary
 void calculatePositions(TreeMapNode root)
          calculate the positions for all the elements of the root.
protected  void calculatePositionsRec(org.eclipse.swt.graphics.Rectangle bounds, double weight0, java.util.List<TreeMapNode> children)
           
protected  void sortList(java.util.List<TreeMapNode> v)
          Sort the elements by descending weight.
abstract  void splitElements(java.util.List<TreeMapNode> v, java.util.List<TreeMapNode> v1, java.util.List<TreeMapNode> v2)
          split the elements of a JTreeMap.
 double sumWeight(java.util.List<TreeMapNode> children)
          Sum the weight of elements.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SplitStrategy

public SplitStrategy()
Method Detail

calculatePositions

public void calculatePositions(TreeMapNode root)
calculate the positions for all the elements of the root.

Parameters:
root - the root to calculate

splitElements

public abstract void splitElements(java.util.List<TreeMapNode> v,
                                   java.util.List<TreeMapNode> v1,
                                   java.util.List<TreeMapNode> v2)
split the elements of a JTreeMap.

Parameters:
v - Vector with the elements to split (arg IN)
v1 - first Vector of the split (arg OUT)
v2 - second Vector of the split (arg OUT)

sumWeight

public double sumWeight(java.util.List<TreeMapNode> children)
Sum the weight of elements.
You can override this method if you want to apply a coef on the weights or to cancel the effect of weight on the strategy.

Parameters:
children - List with the elements to sum
Returns:
the sum of the weight of elements

calculatePositionsRec

protected void calculatePositionsRec(org.eclipse.swt.graphics.Rectangle bounds,
                                     double weight0,
                                     java.util.List<TreeMapNode> children)

sortList

protected void sortList(java.util.List<TreeMapNode> v)
Sort the elements by descending weight.

Parameters:
v - Vector with the elements to be sorted