boundingBox property

Aabb2 boundingBox

Returns the axis-aligned bounding box of the curve.

Implementation

Aabb2 get boundingBox {
  final extremaTValues = extrema;
  if (!(extremaTValues.contains(0.0))) {
    extremaTValues.insert(0, 0.0);
  }
  if (!(extremaTValues.contains(1.0))) {
    extremaTValues.add(1.0);
  }

  final minPoint = Vector2(double.infinity, double.infinity);
  final maxPoint = Vector2(double.negativeInfinity, double.negativeInfinity);

  extremaTValues.forEach((t) {
    final point = pointAt(t);
    Vector2.min(minPoint, point, minPoint);
    Vector2.max(maxPoint, point, maxPoint);
  });

  return Aabb2.minMax(minPoint, maxPoint);
}