Class Spline

java.lang.Object
org.pushingpixels.trident.ease.Spline
All Implemented Interfaces:
TimelineEase

public class Spline extends Object implements TimelineEase
Spline easer. Is based on the code from TimingFramework by Chet Haase and Romain Guy.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Spline(float easeAmount)
     
    Spline(float x1, float y1, float x2, float y2)
    Creates a new instance of SplineInterpolator with the control points defined by (x1, y1) and (x2, y2).
  • Method Summary

    Modifier and Type
    Method
    Description
    float
    map(float lengthFraction)
    Given a fraction of time along the spline (which we can interpret as the length along a spline), return the interpolated value of the spline.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Spline

      public Spline(float easeAmount)
    • Spline

      public Spline(float x1, float y1, float x2, float y2)
      Creates a new instance of SplineInterpolator with the control points defined by (x1, y1) and (x2, y2). The anchor points are implicitly defined as (0, 0) and (1, 1).
      Throws:
      IllegalArgumentException - This exception is thrown when values beyond the allowed [0,1] range are passed in
  • Method Details

    • map

      public float map(float lengthFraction)
      Given a fraction of time along the spline (which we can interpret as the length along a spline), return the interpolated value of the spline. We first calculate the t value for the length (by doing a lookup in our array of previousloy calculated values and then linearly interpolating between the nearest values) and then calculate the Y value for this t.
      Specified by:
      map in interface TimelineEase
      Parameters:
      lengthFraction - Fraction of time in a given time interval.
      Returns:
      interpolated fraction between 0 and 1