X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FContactListImpl.java;h=bde13ff3c74a40b35a3ffeee1307c1dd03b63181;hb=8288438dd58cfc2d1fe18a060afda0d647b85c32;hp=6eb4cdb301afe4680b4015ef4b4cefbd3a0927c2;hpb=4a560601f94b229cca59f64561bf87f146cc896b;p=jalview.git diff --git a/src/jalview/datamodel/ContactListImpl.java b/src/jalview/datamodel/ContactListImpl.java index 6eb4cdb..bde13ff 100644 --- a/src/jalview/datamodel/ContactListImpl.java +++ b/src/jalview/datamodel/ContactListImpl.java @@ -1,5 +1,9 @@ package jalview.datamodel; +import java.awt.Color; + +import jalview.renderer.ContactGeometry.contactInterval; + /** * helper class to compute min/max/mean for a range on a contact list * @@ -10,7 +14,6 @@ public class ContactListImpl implements ContactListI { ContactListProviderI clist; - public static ContactListI newContactList(ContactListProviderI list) { return new ContactListImpl(list); @@ -22,6 +25,12 @@ public class ContactListImpl implements ContactListI } @Override + public int getPosition() + { + return clist.getPosition(); + } + + @Override public double getContactAt(int column) { return clist.getContactAt(column); @@ -36,6 +45,7 @@ public class ContactListImpl implements ContactListI @Override public ContactRange getRangeFor(int from_column, int to_column) { + // TODO: consider caching ContactRange for a particular call ? if (clist instanceof ContactListI) { // clist may implement getRangeFor in a more efficient way, so use theirs @@ -53,7 +63,7 @@ public class ContactListImpl implements ContactListI cr.setFrom_column(from_column); cr.setTo_column(to_column); double tot = 0; - for (int i = from_column; i < to_column; i++) + for (int i = from_column; i <= to_column; i++) { double contact = getContactAt(i); tot += contact; @@ -80,7 +90,7 @@ public class ContactListImpl implements ContactListI } if (tot > 0) { - cr.setMean(tot / (to_column - from_column)); + cr.setMean(tot / (1 + to_column - from_column)); } else { @@ -88,5 +98,14 @@ public class ContactListImpl implements ContactListI } return cr; } - + @Override + public int[] getMappedPositionsFor(int cStart, int cEnd) + { + return clist.getMappedPositionsFor(cStart, cEnd); + } + @Override + public Color getColourForGroup() + { + return clist.getColourForGroup(); + } }