define(["exports","./Transforms-a73b3b3b","./Cartesian2-8417ca3d","./Check-d18af7c4","./when-208fe5b0","./EllipsoidTangentPlane-9123a53b","./Math-4e53b694","./Plane-4aa8974d"],function(a,O,P,t,N,g,w,y){"use strict";function A(a,t){this.center=P.Cartesian3.clone(N.defaultValue(a,P.Cartesian3.ZERO)),this.halfAxes=O.Matrix3.clone(N.defaultValue(t,O.Matrix3.ZERO))}A.packedLength=P.Cartesian3.packedLength+O.Matrix3.packedLength,A.pack=function(a,t,e){return e=N.defaultValue(e,0),P.Cartesian3.pack(a.center,t,e),O.Matrix3.pack(a.halfAxes,t,e+P.Cartesian3.packedLength),t},A.unpack=function(a,t,e){return t=N.defaultValue(t,0),N.defined(e)||(e=new A),P.Cartesian3.unpack(a,t,e.center),O.Matrix3.unpack(a,t+P.Cartesian3.packedLength,e.halfAxes),e};var T=new P.Cartesian3,R=new P.Cartesian3,I=new P.Cartesian3,E=new P.Cartesian3,L=new P.Cartesian3,z=new P.Cartesian3,S=new O.Matrix3,U={unitary:new O.Matrix3,diagonal:new O.Matrix3};A.fromPoints=function(a,t){if(N.defined(t)||(t=new A),!N.defined(a)||0===a.length)return t.halfAxes=O.Matrix3.ZERO,t.center=P.Cartesian3.ZERO,t;for(var e=a.length,n=P.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 P.Cartesian3,p=new P.Cartesian3;A.computePlaneDistances=function(a,t,e,n){N.defined(n)||(n=new O.Interval);var r=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,s=a.center,o=a.halfAxes,C=O.Matrix3.getColumn(o,0,x),c=O.Matrix3.getColumn(o,1,M),u=O.Matrix3.getColumn(o,2,m),l=P.Cartesian3.add(C,c,f);P.Cartesian3.add(l,u,l),P.Cartesian3.add(l,s,l);a=P.Cartesian3.subtract(l,t,p),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i);return P.Cartesian3.add(s,C,l),P.Cartesian3.add(l,c,l),P.Cartesian3.subtract(l,u,l),P.Cartesian3.subtract(l,t,a),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),P.Cartesian3.add(s,C,l),P.Cartesian3.subtract(l,c,l),P.Cartesian3.add(l,u,l),P.Cartesian3.subtract(l,t,a),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),P.Cartesian3.add(s,C,l),P.Cartesian3.subtract(l,c,l),P.Cartesian3.subtract(l,u,l),P.Cartesian3.subtract(l,t,a),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),P.Cartesian3.subtract(s,C,l),P.Cartesian3.add(l,c,l),P.Cartesian3.add(l,u,l),P.Cartesian3.subtract(l,t,a),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),P.Cartesian3.subtract(s,C,l),P.Cartesian3.add(l,c,l),P.Cartesian3.subtract(l,u,l),P.Cartesian3.subtract(l,t,a),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),P.Cartesian3.subtract(s,C,l),P.Cartesian3.subtract(l,c,l),P.Cartesian3.add(l,u,l),P.Cartesian3.subtract(l,t,a),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),P.Cartesian3.subtract(s,C,l),P.Cartesian3.subtract(l,c,l),P.Cartesian3.subtract(l,u,l),P.Cartesian3.subtract(l,t,a),o=P.Cartesian3.dot(e,a),r=Math.min(o,r),i=Math.max(o,i),n.start=r,n.stop=i,n};var e=new O.BoundingSphere;A.isOccluded=function(a,t){a=O.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||N.defined(a)&&N.defined(t)&&P.Cartesian3.equals(a.center,t.center)&&O.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});