IntArrayEvaluator

public class IntArrayEvaluator implements TypeEvaluator


This evaluator can be used to perform type interpolation between int[] values. Each index into the array is treated as a separate value to interpolate. For example, evaluating {100, 200} and {300, 400} will interpolate the value at the first index between 100 and 300 and the value at the second index value between 200 and 400.

Summary

Public constructors

Create an IntArrayEvaluator that does not reuse the animated value.

IntArrayEvaluator(int[] reuseArray)

Create an IntArrayEvaluator that reuses reuseArray for every evaluate() call.

Public methods

@Override int[]
evaluate(float fraction, int[] startValue, int[] endValue)

Interpolates the value at each index by the fraction.

Public constructors

IntArrayEvaluator

public IntArrayEvaluator()

Create an IntArrayEvaluator that does not reuse the animated value. Care must be taken when using this option because on every evaluation a new int[] will be allocated.

IntArrayEvaluator

public IntArrayEvaluator(int[] reuseArray)

Create an IntArrayEvaluator that reuses reuseArray for every evaluate() call. Caution must be taken to ensure that the value returned from getAnimatedValue is not cached, modified, or used across threads. The value will be modified on each evaluate() call.

Parameters
int[] reuseArray

The array to modify and return from evaluate.

Public methods

evaluate

@Override
public int[] evaluate(float fraction, int[] startValue, int[] endValue)

Interpolates the value at each index by the fraction. If IntArrayEvaluator was used to construct this object, reuseArray will be returned, otherwise a new int[] will be returned.

Parameters
float fraction

The fraction from the starting to the ending values

int[] startValue

The start value.

int[] endValue

The end value.

Returns
int[]

An int[] where each element is an interpolation between the same index in startValue and endValue.