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 private boolean endsAtHidden = false;
18 VisibleContigsIterator(int start, int end,
19 List<int[]> hiddenColumns)
21 if (hiddenColumns != null && hiddenColumns.size() > 0)
27 for (int[] region : hiddenColumns)
30 hideStart = region[0];
38 if (hideStart > vstart)
40 int[] contig = new int[] { vstart, hideStart - 1 };
46 // exit if we're past the end
55 int[] contig = new int[] { vstart, end - 1 };
62 int[] contig = new int[] { start, end - 1 };
68 public boolean hasNext()
70 return (currentPosition < vcontigs.size());
76 int[] result = vcontigs.get(currentPosition);
81 public boolean endsAtHidden()