define([ 'exports', './Matrix2-f2da41d4', './RuntimeError-ffe03243', './when-229515d6', './Transforms-7cd3197b', ], function (e, n, i, t, a) { 'use strict'; function m(e, i, a) { (this.minimum = n.Cartesian3.clone(t.defaultValue(e, n.Cartesian3.ZERO))), (this.maximum = n.Cartesian3.clone(t.defaultValue(i, n.Cartesian3.ZERO))), (a = t.defined(a) ? n.Cartesian3.clone(a) : n.Cartesian3.midpoint(this.minimum, this.maximum, new n.Cartesian3())), (this.center = a); } (m.fromPoints = function (e, i) { if ((t.defined(i) || (i = new m()), !t.defined(e) || 0 === e.length)) return ( (i.minimum = n.Cartesian3.clone(n.Cartesian3.ZERO, i.minimum)), (i.maximum = n.Cartesian3.clone(n.Cartesian3.ZERO, i.maximum)), (i.center = n.Cartesian3.clone(n.Cartesian3.ZERO, i.center)), i ); for ( var a = e[0].x, r = e[0].y, s = e[0].z, u = e[0].x, c = e[0].y, o = e[0].z, l = e.length, d = 1; d < l; d++ ) { var f = e[d], x = f.x, C = f.y, h = f.z; (a = Math.min(x, a)), (u = Math.max(x, u)), (r = Math.min(C, r)), (c = Math.max(C, c)), (s = Math.min(h, s)), (o = Math.max(h, o)); } var y = i.minimum; (y.x = a), (y.y = r), (y.z = s); var p = i.maximum; return (p.x = u), (p.y = c), (p.z = o), (i.center = n.Cartesian3.midpoint(y, p, i.center)), i; }), (m.clone = function (e, i) { if (t.defined(e)) return t.defined(i) ? ((i.minimum = n.Cartesian3.clone(e.minimum, i.minimum)), (i.maximum = n.Cartesian3.clone(e.maximum, i.maximum)), (i.center = n.Cartesian3.clone(e.center, i.center)), i) : new m(e.minimum, e.maximum, e.center); }), (m.equals = function (e, i) { return ( e === i || (t.defined(e) && t.defined(i) && n.Cartesian3.equals(e.center, i.center) && n.Cartesian3.equals(e.minimum, i.minimum) && n.Cartesian3.equals(e.maximum, i.maximum)) ); }); var r = new n.Cartesian3(); (m.intersectPlane = function (e, i) { r = n.Cartesian3.subtract(e.maximum, e.minimum, r); var t = n.Cartesian3.multiplyByScalar(r, 0.5, r), m = i.normal, s = t.x * Math.abs(m.x) + t.y * Math.abs(m.y) + t.z * Math.abs(m.z), u = n.Cartesian3.dot(e.center, m) + i.distance; return u - s > 0 ? a.Intersect.INSIDE : u + s < 0 ? a.Intersect.OUTSIDE : a.Intersect.INTERSECTING; }), (m.prototype.clone = function (e) { return m.clone(this, e); }), (m.prototype.intersectPlane = function (e) { return m.intersectPlane(this, e); }), (m.prototype.equals = function (e) { return m.equals(this, e); }), (e.AxisAlignedBoundingBox = m); });