FloatArrayEvaluator

class FloatArrayEvaluator : TypeEvaluator


This evaluator can be used to perform type interpolation between float[] 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 a FloatArrayEvaluator that does not reuse the animated value.

Create a FloatArrayEvaluator that reuses reuseArray for every evaluate() call.

Public functions

FloatArray<Float>
evaluate(fraction: Float, startValue: FloatArray, endValue: FloatArray)

Interpolates the value at each index by the fraction.

Public constructors

FloatArrayEvaluator

FloatArrayEvaluator()

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

FloatArrayEvaluator

FloatArrayEvaluator(reuseArray: FloatArray?)

Create a FloatArrayEvaluator 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
reuseArray: FloatArray?

The array to modify and return from evaluate.

Public functions

evaluate

fun evaluate(fraction: Float, startValue: FloatArray, endValue: FloatArray): FloatArray<Float>

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

Parameters
fraction: Float

The fraction from the starting to the ending values

startValue: FloatArray

The start value.

endValue: FloatArray

The end value.

Returns
FloatArray<Float>

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