/// Evolver Copyright 2000, Morgan McGuire
/// matrix@alum.mit.edu   http://graphics3d.com/matrix
public abstract class AnimationChunk
{
  /**
   * Duration (in seconds) of this chunk.
   */
  double duration;

  /**
   * Start time of this chunk, recomputed as necessary.
   */
  double startTime;

  /**
   * Index in the animation of this chunk, recomputed as necessary.
   */
  int index;

  public void setDuration(double duration)
  {
    this.duration = duration;
  }

  public double getDuration()
  {
    return duration;
  }

  abstract public ELExpression getExpression();

  /**
   * Returns a new display appropriate for this chunk.
   */
  abstract public ChunkDisplay getDisplay(AnimationEditor editor);

  /**
   * Serialize this chunk
   */
  abstract public String unparse();
}

 
