Class RMInterpolator
- java.lang.Object
-
- com.inductiveautomation.rm.graphics.RMInterpolator
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
RMInterpolator.Bounce,RMInterpolator.Periodic
public class RMInterpolator extends java.lang.Object implements java.lang.CloneableThis class provides functionality to interpolate between two numbers given a ratio between 0-1.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRMInterpolator.BounceParameterizable bounce interpolator class.static classRMInterpolator.Directionstatic classRMInterpolator.PeriodicAn Interpolator subclass that can be used for periodic (ie looping) motion.
-
Field Summary
Fields Modifier and Type Field Description static RMInterpolatorBOUNCEBounce interpolator.static RMInterpolatorEASE_BOTHEase Both interpolator.static RMInterpolatorEASE_BOTH_CUBICEase Both interpolator.static RMInterpolatorEASE_INEase In interpolator.static RMInterpolatorEASE_IN_CUBICEase In interpolator.static RMInterpolatorEASE_OUTEase Out interpolator.static RMInterpolatorEASE_OUT_CUBICEase Out interpolator.static RMInterpolatorLINEARLinear interpolator.static RMInterpolatorONE_SHOTOne Shot interpolator.static RMInterpolatorRANDOMRandom interpolator.
-
Constructor Summary
Constructors Constructor Description RMInterpolator()Creates a new interpolator.RMInterpolator(RMInterpolator.Direction aDirection)Creates a new interpolator with given direction.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RMInterpolatorclone()Standard clone implementation.RMInterpolator.DirectiongetDirection()Returns the interpolator direction.static RMInterpolatorgetInterpolator(int anIndex)Returns the individual common interpolator at given index.static RMInterpolatorgetInterpolator(java.lang.String aName)Returns a shared interpolator for given name.static intgetInterpolatorCount()Returns number of shared common interpolators.java.lang.StringgetName()Returns the name of this interpolator.static RMInterpolatorgetNewInterpolator(java.lang.String aName)Returns a new interpolator instance for a given name.doublegetRatio(double aRatio)Returns a new ratio given normal ratio.doublegetValue(double aRatio)Returns an interpolated value for 0 & 1 given a ratio.doublegetValue(double aRatio, double aStart, double anEnd)Returns a value given a ratio and start/end values.doubleinterpolate(double aRatio, double aStart, double aEnd)Direction In interpolation.doubleinterpolateBoth(double aRatio, double aStart, double anEnd)Direction Both interpolation.doubleinterpolateOut(double aRatio, double aStart, double aEnd)Direction Out interpolation.booleanisShared()Returns true if there's only a single shared instance of this interpolator.java.lang.StringtoString()Returns a string representation of this interpolator.
-
-
-
Field Detail
-
LINEAR
public static RMInterpolator LINEAR
Linear interpolator.
-
EASE_IN
public static RMInterpolator EASE_IN
Ease In interpolator.
-
EASE_OUT
public static RMInterpolator EASE_OUT
Ease Out interpolator.
-
EASE_BOTH
public static RMInterpolator EASE_BOTH
Ease Both interpolator.
-
EASE_IN_CUBIC
public static RMInterpolator EASE_IN_CUBIC
Ease In interpolator.
-
EASE_OUT_CUBIC
public static RMInterpolator EASE_OUT_CUBIC
Ease Out interpolator.
-
EASE_BOTH_CUBIC
public static RMInterpolator EASE_BOTH_CUBIC
Ease Both interpolator.
-
RANDOM
public static RMInterpolator RANDOM
Random interpolator. Object will get a random value at every frame, bounded by the start & end values.
-
BOUNCE
public static RMInterpolator BOUNCE
Bounce interpolator.
-
ONE_SHOT
public static RMInterpolator ONE_SHOT
One Shot interpolator.
-
-
Constructor Detail
-
RMInterpolator
public RMInterpolator()
Creates a new interpolator.
-
RMInterpolator
public RMInterpolator(RMInterpolator.Direction aDirection)
Creates a new interpolator with given direction.
-
-
Method Detail
-
getInterpolator
public static RMInterpolator getInterpolator(java.lang.String aName)
Returns a shared interpolator for given name.
-
getNewInterpolator
public static RMInterpolator getNewInterpolator(java.lang.String aName)
Returns a new interpolator instance for a given name.
-
getDirection
public RMInterpolator.Direction getDirection()
Returns the interpolator direction.
-
getValue
public double getValue(double aRatio)
Returns an interpolated value for 0 & 1 given a ratio.
-
getValue
public double getValue(double aRatio, double aStart, double anEnd)Returns a value given a ratio and start/end values.
-
getRatio
public double getRatio(double aRatio)
Returns a new ratio given normal ratio.
-
interpolate
public double interpolate(double aRatio, double aStart, double aEnd)Direction In interpolation.
-
interpolateOut
public double interpolateOut(double aRatio, double aStart, double aEnd)Direction Out interpolation.
-
interpolateBoth
public double interpolateBoth(double aRatio, double aStart, double anEnd)Direction Both interpolation.
-
getName
public java.lang.String getName()
Returns the name of this interpolator.
-
toString
public java.lang.String toString()
Returns a string representation of this interpolator.- Overrides:
toStringin classjava.lang.Object
-
isShared
public boolean isShared()
Returns true if there's only a single shared instance of this interpolator.
-
clone
public RMInterpolator clone()
Standard clone implementation.- Overrides:
clonein classjava.lang.Object
-
getInterpolatorCount
public static int getInterpolatorCount()
Returns number of shared common interpolators.
-
getInterpolator
public static RMInterpolator getInterpolator(int anIndex)
Returns the individual common interpolator at given index.
-
-