getCurveList method

List<CurveBean> getCurveList(
  1. List<Point<double>> pointList
)

Implementation

List<CurveBean> getCurveList(List<Point<double>> pointList) {
  var lenParam = 0.6;
  List<CurveBean> curveList = [];
  CurveBean firstCurve =
      CurveBean(pointList[0], pointList[0], Point(0, 0), pointList[1]);
  curveList.add(firstCurve);
  for (var i = 1; i < pointList.length - 1; i++) {
    var cur = pointList[i];
    var next = pointList[i + 1];
    var pre = pointList[i - 1];
    var p1 = Point(cur.x - lenParam * ((cur.x - pre.x).abs()), cur.y);
    var p2 = Point(cur.x + lenParam * ((cur.x - next.x).abs()), cur.y);
    curveList[i - 1]._c2 = p1;
    CurveBean curve = CurveBean(cur, p2, Point(0, 0), next);
    curveList.add(curve);
  }
  curveList[curveList.length - 1].c2 = pointList[pointList.length - 1];
  return curveList;
}