1 package jalview.util;
\r
7 * Simple way of mapping a linear series to a new linear range with new points introduced.
\r
8 * Use at your own risk!
\r
9 * <p>Title: ShiftList</p>
\r
11 * <p>Description: </p>
\r
13 * <p>Copyright: Copyright (c) 2004</p>
\r
15 * <p>Company: Dundee University</p>
\r
17 * @author not attributable
\r
20 public class ShiftList
\r
25 shifts = new Vector();
\r
30 * @param pos start position for shift (in original reference frame)
\r
31 * @param shift length of shift
\r
33 public void addShift(int pos, int shift)
\r
37 while (sidx<shifts.size() && (rshift=(int[]) shifts.elementAt(sidx))[0]<pos)
\r
39 if (sidx==shifts.size())
\r
40 shifts.insertElementAt(new int[] { pos, shift}, sidx);
\r
49 * @return int shifted position
\r
51 public int shift(int pos)
\r
53 if (shifts.size()==0)
\r
58 while (sidx<shifts.size()
\r
60 (rshift=((int[]) shifts.elementAt(sidx++)))[0]<=pos) {
\r
61 shifted += rshift[1];
\r
71 shifts.removeAllElements();
\r