Interpolatable
interface Interpolatable
Represents an object which may be able to be linearly interpolated with another object. Usually used during animation.
Functions
fun lerp(other: Any?, t: Float): Any?
This method is defined such that a value of t
being 1.0 means that the interpolation has
finished, meaning that this method should return either other
(or something equivalent to
other
), 0.0 meaning that the interpolation has not started, returning this
(or something
equivalent to this
), and values in between meaning that the interpolation is at the
relevant point on the timeline between this
and other
. The interpolation can be
extrapolated beyond 0.0 and 1.0, so negative values and values greater than 1.0 are valid.
Note that the type of other
may not be the same as the type of this
, however if the
implementation knows how to losslessly convert from one type to another, the conversion can
be made in order to optimistically provide a valid interpolation.
If other
is null
, this can be interpreted as interpolating between "nothing" or, "no
effect", into whatever the value of this
is. In this case, if it is possible to construct a
version of this type that is visually or semantically equivalent to "no effect", then it
might make sense to return an interpolation between that value and this
.
If there is no known way to interpolate between the two values, the implementation should return null.
Parameters
other | The other object to be intorpolated with this one. |
t | The position on the timeline. This is usually between 0 and 1, but it is valid for it to be outside of this range. |
Returns
The interpolated object. |