transformed method

Aabb transformed(
  1. Matrix4 matrix
)

Transforms this AABB by a matrix, producing a new AABB that encloses the result.

Implementation

Aabb transformed(Matrix4 matrix) {
  final corners = [
    Vector3(min.x, min.y, min.z),
    Vector3(max.x, min.y, min.z),
    Vector3(min.x, max.y, min.z),
    Vector3(max.x, max.y, min.z),
    Vector3(min.x, min.y, max.z),
    Vector3(max.x, min.y, max.z),
    Vector3(min.x, max.y, max.z),
    Vector3(max.x, max.y, max.z),
  ];

  final result = Aabb();
  for (final corner in corners) {
    final transformed = matrix.transformed3(corner);
    result.expandToInclude(transformed);
  }
  return result;
}