aabbOfTransformedRect function

Rect2D aabbOfTransformedRect(
  1. Rect2D r,
  2. Matrix4 m
)

Implementation

Rect2D aabbOfTransformedRect(Rect2D r, vm.Matrix4 m) {
  // Transform 4 corners; compute min/max in world space.
  final p1 = _tx(m, r.left, r.top);
  final p2 = _tx(m, r.right, r.top);
  final p3 = _tx(m, r.right, r.bottom);
  final p4 = _tx(m, r.left, r.bottom);

  final minX = math.min(math.min(p1.x, p2.x), math.min(p3.x, p4.x));
  final minY = math.min(math.min(p1.y, p2.y), math.min(p3.y, p4.y));
  final maxX = math.max(math.max(p1.x, p2.x), math.max(p3.x, p4.x));
  final maxY = math.max(math.max(p1.y, p2.y), math.max(p3.y, p4.y));

  return Rect2D.fromLTRB(minX, minY, maxX, maxY);
}