lerp method Null safety
- double t
override
Returns the value this variable has at the given animation clock value.
The default implementation of this method uses the +
, -
, and *
operators on T
. The begin and end properties must therefore be
non-null by the time this method is called.
In general, however, it is possible for this to return null, especially
when t
=0.0 and begin is null, or t
=1.0 and end is null.
Implementation
@override
Offset lerp(double t) {
if (_dirty)
_initialize();
if (t == 0.0)
return begin!;
if (t == 1.0)
return end!;
if (_beginAngle == null || _endAngle == null)
return Offset.lerp(begin, end, t)!;
final double angle = lerpDouble(_beginAngle, _endAngle, t)!;
final double x = math.cos(angle) * _radius!;
final double y = math.sin(angle) * _radius!;
return _center! + Offset(x, y);
}