boundingBox method

({Point max, Point min}) boundingBox({
  1. int samples = 100,
})

Get the bounding box of the spline (approximate, via sampling).

Implementation

({Point min, Point max}) boundingBox({int samples = 100}) {
  final pts = sample(samples);
  var minX = double.infinity, minY = double.infinity;
  var maxX = double.negativeInfinity, maxY = double.negativeInfinity;
  for (final p in pts) {
    if (p.x < minX) minX = p.x;
    if (p.y < minY) minY = p.y;
    if (p.x > maxX) maxX = p.x;
    if (p.y > maxY) maxY = p.y;
  }
  return (min: Point(minX, minY), max: Point(maxX, maxY));
}