JAL-4134 - refactor tree calculation code to work with binaryNode base type.
[jalview.git] / src / jalview / analysis / TreeModel.java
index 4d5e4b2..703702a 100644 (file)
@@ -95,7 +95,7 @@ public class TreeModel
    */
   public TreeModel(TreeBuilder tree)
   {
-    this(tree.getSequences(), tree.getTopNode(), tree.hasDistances(),
+    this(tree.getSequences(), (SequenceNode) tree.getTopNode(), tree.hasDistances(),
             tree.hasBootstrap(), tree.hasRootDistance());
     seqData = tree.getOriginalData();
   }
@@ -345,7 +345,7 @@ public class TreeModel
    * @param nd
    *          SequenceNode
    */
-  void printNode(SequenceNode nd)
+  void printNode(BinaryNode nd)
   {
     if (nd == null)
     {
@@ -361,8 +361,8 @@ public class TreeModel
     else
     {
       System.out.println("Dist " + nd.dist);
-      printNode((SequenceNode) nd.left());
-      printNode((SequenceNode) nd.right());
+      printNode((BinaryNode) nd.left());
+      printNode((BinaryNode) nd.right());
     }
   }
 
@@ -422,7 +422,7 @@ public class TreeModel
    * 
    * @return DOCUMENT ME!
    */
-  public double findHeight(SequenceNode nd)
+  public double findHeight(BinaryNode nd)
   {
     if (nd == null)
     {
@@ -431,7 +431,7 @@ public class TreeModel
 
     if ((nd.left() == null) && (nd.right() == null))
     {
-      nd.height = ((SequenceNode) nd.parent()).height + nd.dist;
+      nd.height = ((BinaryNode) nd.parent()).height + nd.dist;
 
       if (nd.height > maxheight)
       {
@@ -446,7 +446,7 @@ public class TreeModel
     {
       if (nd.parent() != null)
       {
-        nd.height = ((SequenceNode) nd.parent()).height + nd.dist;
+        nd.height = ((BinaryNode) nd.parent()).height + nd.dist;
       }
       else
       {
@@ -454,8 +454,8 @@ public class TreeModel
         nd.height = (float) 0.0;
       }
 
-      maxheight = findHeight((SequenceNode) (nd.left()));
-      maxheight = findHeight((SequenceNode) (nd.right()));
+      maxheight = findHeight((BinaryNode) (nd.left()));
+      maxheight = findHeight((BinaryNode) (nd.right()));
     }
 
     return maxheight;
@@ -467,7 +467,7 @@ public class TreeModel
    * @param nd
    *          DOCUMENT ME!
    */
-  void printN(SequenceNode nd)
+  void printN(BinaryNode nd)
   {
     if (nd == null)
     {
@@ -476,8 +476,8 @@ public class TreeModel
 
     if ((nd.left() != null) && (nd.right() != null))
     {
-      printN((SequenceNode) nd.left());
-      printN((SequenceNode) nd.right());
+      printN((BinaryNode) nd.left());
+      printN((BinaryNode) nd.right());
     }
     else
     {
@@ -494,7 +494,7 @@ public class TreeModel
    * @param nd
    *          DOCUMENT ME!
    */
-  public void reCount(SequenceNode nd)
+  public void reCount(BinaryNode nd)
   {
     ycount = 0;
     // _lycount = 0;
@@ -510,7 +510,7 @@ public class TreeModel
    * @param nd
    *          DOCUMENT ME!
    */
-  void _reCount(SequenceNode nd)
+  void _reCount(BinaryNode nd)
   {
     // if (_lycount<_lylimit)
     // {
@@ -526,11 +526,11 @@ public class TreeModel
     if ((nd.left() != null) && (nd.right() != null))
     {
 
-      _reCount((SequenceNode) nd.left());
-      _reCount((SequenceNode) nd.right());
+      _reCount((BinaryNode) nd.left());
+      _reCount((BinaryNode) nd.right());
 
-      SequenceNode l = (SequenceNode) nd.left();
-      SequenceNode r = (SequenceNode) nd.right();
+      BinaryNode l = (BinaryNode) nd.left();
+      BinaryNode r = (BinaryNode) nd.right();
 
       nd.count = l.count + r.count;
       nd.ycount = (l.ycount + r.ycount) / 2;
@@ -549,14 +549,14 @@ public class TreeModel
    * @param nd
    *          DOCUMENT ME!
    */
-  public void swapNodes(SequenceNode nd)
+  public void swapNodes(BinaryNode nd)
   {
     if (nd == null)
     {
       return;
     }
 
-    SequenceNode tmp = (SequenceNode) nd.left();
+    BinaryNode tmp = (BinaryNode) nd.left();
 
     nd.setLeft(nd.right());
     nd.setRight(tmp);
@@ -570,7 +570,7 @@ public class TreeModel
    * @param dir
    *          DOCUMENT ME!
    */
-  void changeDirection(SequenceNode nd, SequenceNode dir)
+  void changeDirection(BinaryNode nd, BinaryNode dir)
   {
     if (nd == null)
     {
@@ -579,9 +579,9 @@ public class TreeModel
 
     if (nd.parent() != top)
     {
-      changeDirection((SequenceNode) nd.parent(), nd);
+      changeDirection((BinaryNode) nd.parent(), nd);
 
-      SequenceNode tmp = (SequenceNode) nd.parent();
+      BinaryNode tmp = (BinaryNode) nd.parent();
 
       if (dir == nd.left())
       {