-package jalview.util;
-
-import java.util.*;
-
-/**
- * ShiftList
- * Simple way of mapping a linear series to a new linear range with new points introduced.
- * Use at your own risk!
- * <p>Title: ShiftList</p>
- *
- * <p>Description: </p>
- *
- * <p>Copyright: Copyright (c) 2004</p>
- *
- * <p>Company: Dundee University</p>
- *
- * @author not attributable
- * @version 1.0
- */
-public class ShiftList
-{
- Vector shifts;
- public ShiftList()
- {
- shifts = new Vector();
- }
-
- /**
- * addShift
- * @param pos start position for shift (in original reference frame)
- * @param shift length of shift
- */
- public void addShift(int pos, int shift)
- {
- int sidx = 0;
- int[] rshift=null;
- while (sidx<shifts.size() && (rshift=(int[]) shifts.get(sidx))[0]<pos)
- sidx++;
- if (sidx==shifts.size())
- shifts.insertElementAt(new int[] { pos, shift}, 0);
- else
- rshift[1]+=shift;
- }
-
- /**
- * shift
- *
- * @param pos int
- * @return int shifted position
- */
- public int shift(int pos)
- {
- if (shifts.size()==0)
- return pos;
- int shifted=pos;
- int sidx=0;
- int rshift[];
- while (sidx<shifts.size()
- &&
- (rshift=((int[]) shifts.get(sidx++)))[0]<=pos) {
- shifted += rshift[1];
- }
- return shifted;
- }
-
- /**
- * clear all shifts
- */
- public void clear()
- {
- shifts.removeAllElements();
- }
-
-}
+package jalview.util;\r
+\r
+import java.util.*;\r
+\r
+/**\r
+ * ShiftList\r
+ * Simple way of mapping a linear series to a new linear range with new points introduced.\r
+ * Use at your own risk!\r
+ * <p>Title: ShiftList</p>\r
+ *\r
+ * <p>Description: </p>\r
+ *\r
+ * <p>Copyright: Copyright (c) 2004</p>\r
+ *\r
+ * <p>Company: Dundee University</p>\r
+ *\r
+ * @author not attributable\r
+ * @version 1.0\r
+ */\r
+public class ShiftList\r
+{\r
+ Vector shifts;\r
+ public ShiftList()\r
+ {\r
+ shifts = new Vector();\r
+ }\r
+\r
+ /**\r
+ * addShift\r
+ * @param pos start position for shift (in original reference frame)\r
+ * @param shift length of shift\r
+ */\r
+ public void addShift(int pos, int shift)\r
+ {\r
+ int sidx = 0;\r
+ int[] rshift=null;\r
+ while (sidx<shifts.size() && (rshift=(int[]) shifts.elementAt(sidx))[0]<pos)\r
+ sidx++;\r
+ if (sidx==shifts.size())\r
+ shifts.insertElementAt(new int[] { pos, shift}, 0);\r
+ else\r
+ rshift[1]+=shift;\r
+ }\r
+\r
+ /**\r
+ * shift\r
+ *\r
+ * @param pos int\r
+ * @return int shifted position\r
+ */\r
+ public int shift(int pos)\r
+ {\r
+ if (shifts.size()==0)\r
+ return pos;\r
+ int shifted=pos;\r
+ int sidx=0;\r
+ int rshift[];\r
+ while (sidx<shifts.size()\r
+ &&\r
+ (rshift=((int[]) shifts.elementAt(sidx++)))[0]<=pos) {\r
+ shifted += rshift[1];\r
+ }\r
+ return shifted;\r
+ }\r
+\r
+ /**\r
+ * clear all shifts\r
+ */\r
+ public void clear()\r
+ {\r
+ shifts.removeAllElements();\r
+ }\r
+\r
+}\r