org.pushingpixels.trident.ease
Class Spline

java.lang.Object
  extended by 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
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
 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 Detail

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 Detail

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