1 package jalview.datamodel;
3 import java.util.ArrayList;
4 import java.util.Iterator;
8 * An iterator which iterates over visible regions in a range.
10 public class VisibleContigsIterator implements Iterator<int[]>
12 private List<int[]> vcontigs = new ArrayList<>();
14 private int currentPosition = 0;
16 VisibleContigsIterator(int start, int end,
17 List<int[]> hiddenColumns)
19 if (hiddenColumns != null && hiddenColumns.size() > 0)
25 for (int[] region : hiddenColumns)
27 hideStart = region[0];
35 if (hideStart > vstart)
37 int[] contig = new int[] { vstart, hideStart - 1 };
42 // exit if we're past the end
51 int[] contig = new int[] { vstart, end - 1 };
57 int[] contig = new int[] { start, end - 1 };
63 public boolean hasNext()
65 return (currentPosition < vcontigs.size());
71 int[] result = vcontigs.get(currentPosition);