Update to Worldwind release 0.4.0
[worldwind-tracker.git] / gov / nasa / worldwind / view / ViewStateIterator.java
blob655c9d58874fab8fdc62cb9fa4773c8ded4dfdb3
1 /*
2 Copyright (C) 2001, 2006 United States Government as represented by
3 the Administrator of the National Aeronautics and Space Administration.
4 All Rights Reserved.
5 */
6 package gov.nasa.worldwind.view;
8 /**
9 * An iteration over <code>View</code> state changes.
11 * @author dcollins
12 * @version $Id: ViewStateIterator.java 2422 2007-07-25 23:07:49Z tgaskins $
13 * @see View
15 public interface ViewStateIterator
17 /**
18 * If possible, merges this <code>ViewStateIterator</code> with <code>stateIterator</code> and returns the result.
20 * @param view the <code>View</code> context.
21 * @param stateIterator the <code>ViewStateIterator</code> to merge with.
22 * @return the merged <code>ViewStateIterator</code>.
23 * @throws IllegalArgumentException if <code>view</code> or <code>stateIterator</code> are null.
25 ViewStateIterator coalesceWith(View view, ViewStateIterator stateIterator);
27 /**
28 * Returns true if <code>ViewStateIterator</code> has more state changes.
30 * @param view the <code>View</code> context.
31 * @return true if <code>ViewStateIterator</code> has more state changes; false otherwise.
33 boolean hasNextState(View view);
35 /**
36 * Applies the the next viewing state change to <code>view</code>.
38 * @param view the <code>View</code> context.
40 void nextState(View view);