lerp static method

MultiBar lerp(
  1. BarGroup? current,
  2. BarGroup target,
  3. double t
)
override

Lerps between two MultiBars for a factor t

Implementation

static MultiBar lerp(BarGroup? current, BarGroup target, double t) {
  if ((current is MultiBar?) && target is MultiBar) {
    return MultiBar(
      xValue: lerpDouble(current?.xValue, target.xValue, t) as num,
      yValues: BarData.lerpBarDataList(current?.yValues, target.yValues, t),
      arrangement: target.arrangement,
      spacing: lerpDouble(
        current?.spacing,
        target.spacing,
        t,
      ).asOrDefault(0.0),
      style: BarDataStyle.lerp(
        current?.style,
        target.style,
        t,
      ),
      padding: lerpDouble(current?.padding, target.padding, t) ?? 0.0,
    );
  } else {
    throw Exception('Both current & target data should be of same series!');
  }
}