define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./Plane-c8971487","./EllipsoidTangentPlane-0a0e472c"],function(a,b,t,w,O,P,y,N){"use strict";function A(a,t){this.center=O.Cartesian3.clone(b.defaultValue(a,O.Cartesian3.ZERO)),this.halfAxes=P.Matrix3.clone(b.defaultValue(t,P.Matrix3.ZERO))}A.packedLength=O.Cartesian3.packedLength+P.Matrix3.packedLength,A.pack=function(a,t,e){return e=b.defaultValue(e,0),O.Cartesian3.pack(a.center,t,e),P.Matrix3.pack(a.halfAxes,t,e+O.Cartesian3.packedLength),t},A.unpack=function(a,t,e){return t=b.defaultValue(t,0),b.defined(e)||(e=new A),O.Cartesian3.unpack(a,t,e.center),P.Matrix3.unpack(a,t+O.Cartesian3.packedLength,e.halfAxes),e};var T=new O.Cartesian3,R=new O.Cartesian3,I=new O.Cartesian3,E=new O.Cartesian3,L=new O.Cartesian3,z=new O.Cartesian3,S=new P.Matrix3,U={unitary:new P.Matrix3,diagonal:new P.Matrix3};A.fromPoints=function(a,t){if(b.defined(t)||(t=new A),!b.defined(a)||0===a.length)return t.halfAxes=P.Matrix3.ZERO,t.center=O.Cartesian3.ZERO,t;for(var e=a.length,n=O.Cartesian3.clone(a[0],T),r=1;ro&&(s+=(C=n.x-o)*C),n.y<-t?s+=(C=n.y+t)*C:n.y>t&&(s+=(C=n.y-t)*C),n.z<-a?s+=(C=n.z+a)*C:n.z>a&&(s+=(C=n.z-a)*C),s};var f=new O.Cartesian3,p=new O.Cartesian3;A.computePlaneDistances=function(a,t,e,n){b.defined(n)||(n=new P.Interval);var r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,s=a.center,o=a.halfAxes,C=P.Matrix3.getColumn(o,0,x),c=P.Matrix3.getColumn(o,1,M),u=P.Matrix3.getColumn(o,2,m),d=O.Cartesian3.add(C,c,f);O.Cartesian3.add(d,u,d),O.Cartesian3.add(d,s,d);a=O.Cartesian3.subtract(d,t,p),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i);return O.Cartesian3.add(s,C,d),O.Cartesian3.add(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.add(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.add(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.add(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.add(d,c,d),O.Cartesian3.add(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.add(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.add(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),O.Cartesian3.subtract(s,C,d),O.Cartesian3.subtract(d,c,d),O.Cartesian3.subtract(d,u,d),O.Cartesian3.subtract(d,t,a),o=O.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),n.start=r,n.stop=i,n};var e=new P.BoundingSphere;A.isOccluded=function(a,t){a=P.BoundingSphere.fromOrientedBoundingBox(a,e);return!t.isBoundingSphereVisible(a)},A.prototype.intersectPlane=function(a){return A.intersectPlane(this,a)},A.prototype.distanceSquaredTo=function(a){return A.distanceSquaredTo(this,a)},A.prototype.computePlaneDistances=function(a,t,e){return A.computePlaneDistances(this,a,t,e)},A.prototype.isOccluded=function(a){return A.isOccluded(this,a)},A.equals=function(a,t){return a===t||b.defined(a)&&b.defined(t)&&O.Cartesian3.equals(a.center,t.center)&&P.Matrix3.equals(a.halfAxes,t.halfAxes)},A.prototype.clone=function(a){return A.clone(this,a)},A.prototype.equals=function(a){return A.equals(this,a)},a.OrientedBoundingBox=A});