001/**
002 * 
003 */
004package icy.type;
005
006import icy.type.point.Point5D;
007
008import java.util.NoSuchElementException;
009
010/**
011 * Position 5D iterator.
012 * 
013 * @author Stephane
014 */
015public interface Position5DIterator
016{
017    /**
018     * Reset iterator to initial position.
019     */
020    public void reset();
021
022    /**
023     * Pass to the next element.
024     * 
025     * @exception NoSuchElementException
026     *            iteration has no more elements.
027     */
028    public void next() throws NoSuchElementException;
029
030    /**
031     * Returns <tt>true</tt> if the iterator has no more elements.
032     */
033    public boolean done();
034
035    /**
036     * @return the current position of the iterator
037     * @exception NoSuchElementException
038     *            iteration has no more elements.
039     */
040    public Point5D get() throws NoSuchElementException;
041
042    /**
043     * @return the current position X of the iterator
044     */
045    public int getX() throws NoSuchElementException;
046
047    /**
048     * @return the current position Y of the iterator
049     */
050    public int getY() throws NoSuchElementException;;
051
052    /**
053     * @return the current position Z of the iterator
054     */
055    public int getZ() throws NoSuchElementException;;
056
057    /**
058     * @return the current position T of the iterator
059     */
060    public int getT() throws NoSuchElementException;;
061
062    /**
063     * @return the current position C of the iterator
064     */
065    public int getC() throws NoSuchElementException;;
066}