Class InterpolatingAnimation

java.lang.Object
io.sf.carte.echosvg.anim.AbstractAnimation
io.sf.carte.echosvg.anim.InterpolatingAnimation
Direct Known Subclasses:
MotionAnimation, SimpleAnimation

public abstract class InterpolatingAnimation extends AbstractAnimation
An abstract animation class for those animations that interpolate values. Specifically, this is for animations that have the 'calcMode', 'keyTimes', 'keySplines', 'additive' and 'cumulative' attributes.
  • Field Details

    • calcMode

      protected int calcMode
      The interpolation mode of this animator. This should take one of the CALC_MODE_* constants defined in AbstractAnimation.
    • keyTimes

      protected float[] keyTimes
      Time values to control the pacing of the animation.
    • keySplines

      protected float[] keySplines
      Bezier control points that control the pacing of the animation.
    • keySplineCubics

      protected Cubic[] keySplineCubics
      Cubics built from the bezier control points in keySplines.
    • additive

      protected boolean additive
      Whether this animation adds to ones below it in the animation sandwich or replaces them.
    • cumulative

      protected boolean cumulative
      Whether this animation accumulates from previous iterations.
  • Constructor Details

    • InterpolatingAnimation

      public InterpolatingAnimation(TimedElement timedElement, AnimatableElement animatableElement, int calcMode, float[] keyTimes, float[] keySplines, boolean additive, boolean cumulative)
      Creates a new InterpolatingAnimation.
  • Method Details

    • willReplace

      protected boolean willReplace()
      Returns whether this animation will replace values on animations lower in the sandwich.
      Overrides:
      willReplace in class AbstractAnimation
    • sampledLastValue

      protected void sampledLastValue(int repeatIteration)
      Called when the element is sampled for its "last" value.
      Overrides:
      sampledLastValue in class AbstractAnimation
    • sampledAt

      protected void sampledAt(float simpleTime, float simpleDur, int repeatIteration)
      Called when the element is sampled at the given time.
      Specified by:
      sampledAt in class AbstractAnimation
    • sampledAtUnitTime

      protected abstract void sampledAtUnitTime(float unitTime, int repeatIteration)
      Called when the element is sampled at the given unit time. This updates the AbstractAnimation.value of the animation if active.