Class KeyValues<T>
java.lang.Object
org.pushingpixels.radiance.animation.api.interpolator.KeyValues<T>
- Type Parameters:
T
- Value type
Stores a list of values that correspond to the times in a
KeyTimes
object. These structures are then used to create a KeyFrames
object,
which is then used to create a TimelinePropertyBuilder.PropertySetter
for the purposes of
modifying an object's property over time.
At each of the times in KeyTimes
, the property will take on the
corresponding value in the KeyValues object. Between these times, the
property will take on a value based on the interpolation information stored
in the KeyFrames object and the PropertyInterpolator
for the type of the values
in KeyValues.
This class has built-in support for various known types, as defined in
PropertyInterpolator
.
For a simple example using KeyValues to create a KeyFrames and PropertySetter
object, see the class header comments in TimelinePropertyBuilder.PropertySetter
.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final PropertyInterpolator
<T> private T
private final Class
<?> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> KeyValues
<T> create
(PropertyInterpolator<T> interpolator, T[] params) Constructs a KeyValues object from a property interpolator and one or more values.static <T> KeyValues
<T> create
(T... params) Constructs a KeyValues object from one or more values.(package private) int
getSize()
Returns the number of values stored in this object.(package private) Class
<?> getType()
Returns the data type of the values stored in this object.(package private) T
getValue
(int i0, int i1, float fraction) Returns value calculated from the value at the lower index, the value at the upper index, the fraction elapsed between these endpoints, and the interpolator set up by this object at construction time.private boolean
Utility method for determining whether this is a "to" animation (true if the first value is null).(package private) void
setStartValue
(T startValue) Called at start of animation; sets starting value in simple "to" animations.
-
Field Details
-
values
-
interpolator
-
type
-
startValue
-
-
Constructor Details
-
KeyValues
Private constructor, called by factory method -
KeyValues
Private constructor, called by factory method
-
-
Method Details
-
create
Constructs a KeyValues object from one or more values. The internal Evaluator is automatically determined by the type of the parameters.- Type Parameters:
T
- Value type- Parameters:
params
- the values to interpolate between. If there is only one parameter, this is assumed to be a "to" animation where the first value is dynamically determined at runtime when the animation is started.- Returns:
- KeyValues object
- Throws:
IllegalArgumentException
- if anPropertyInterpolator
cannot be found that can interpolate between the value types supplied
-
create
Constructs a KeyValues object from a property interpolator and one or more values.- Type Parameters:
T
- Value type- Parameters:
interpolator
- Property interpolatorparams
- the values to interpolate between. If there is only one parameter, this is assumed to be a "to" animation where the first value is dynamically determined at runtime when the animation is started.- Returns:
- KeyValues object
- Throws:
IllegalArgumentException
- if params does not have at least one value.
-
getSize
int getSize()Returns the number of values stored in this object.- Returns:
- the number of values stored in this object
-
getType
Class<?> getType()Returns the data type of the values stored in this object.- Returns:
- a Class value representing the type of values stored in this object
-
setStartValue
Called at start of animation; sets starting value in simple "to" animations. -
isToAnimation
private boolean isToAnimation()Utility method for determining whether this is a "to" animation (true if the first value is null). -
getValue
Returns value calculated from the value at the lower index, the value at the upper index, the fraction elapsed between these endpoints, and the interpolator set up by this object at construction time.
-