Class Evaluator<T>

java.lang.Object
org.jdesktop.animation.timing.interpolation.Evaluator<T>

public abstract class Evaluator<T> extends Object
This class is used by KeyValues to calculate intermediate values for specific types. This class has built-in support for the following data types:
  • java.lang.Byte
  • java.lang.Short
  • java.lang.Integer
  • java.lang.Long
  • java.lang.Float
  • java.lang.Double
  • java.awt.Color
  • java.awt.geom.Point2D
  • java.awt.geom.Line2D
  • java.awt.geom.Dimension2D
  • java.awt.geom.Rectangle2D
  • java.awt.geom.RoundRectangle2D
  • java.awt.geom.Ellipse2D
  • java.awt.geom.Arc2D
  • java.awt.geom.QuadCurve2D
  • java.awt.geom.CubicCurve2D
  • Constructor Details

    • Evaluator

      public Evaluator()
  • Method Details

    • evaluate

      public abstract T evaluate(T v0, T v1, float fraction)
      Abstract method to evaluate between two boundary values. Built-in implementations all use linear parametric evaluation:
            v = v0 + (v1 - v0) * fraction
       
      Extenders of Evaluator will need to override this method and do something similar for their own types. Note that this mechanism may be used to create non-linear interpolators for specific value types, although it may besimpler to just use the linear/parametric interpolation technique here and perform non-linear interpolation through custom Interpolators rather than perform custom calculations in this method; the point of this class is to allow calculations with new/unknown types, not to provide another mechanism for non-linear interpolation.