define(["exports","./buildModuleUrl-9085faaa","./Cartesian2-db21342c","./Cartographic-3309dd0d","./Cartesian4-3ca25aab","./Check-7b2a090c","./when-b60132fc","./Rectangle-dee65d21","./EllipsoidTangentPlane-1dfa0a87","./Math-119be1a3","./FeatureDetection-806b12f0","./Plane-a3d8b3d2","./PolygonPipeline-d83979ed"],(function(a,t,e,n,r,i,s,o,C,d,u,c,l){"use strict";var h=[];function m(a,t){this.center=n.Cartesian3.clone(s.defaultValue(a,n.Cartesian3.ZERO)),this.halfAxes=u.Matrix3.clone(s.defaultValue(t,u.Matrix3.ZERO)),this.areaDirty=1}h[0]={num:0,des:"inside"},h[1]={num:4,data:[0,4,7,3],des:"left"},h[2]={num:4,data:[1,2,6,5],des:"right"},h[3]={num:0},h[4]={num:4,data:[0,1,5,4],des:"bottom"},h[5]={num:6,data:[0,1,5,4,7,3],des:"bottom, left"},h[6]={num:6,data:[0,1,2,6,5,4],des:"bottom, right"},h[7]={num:0},h[8]={num:4,data:[2,3,7,6],des:"top"},h[9]={num:6,data:[4,7,6,2,3,0],des:"top, left"},h[10]={num:6,data:[2,3,7,6,5,1],des:"top, right"},h[11]={num:0},h[12]={num:0},h[13]={num:0},h[14]={num:0},h[15]={num:0},h[16]={num:4,data:[0,3,2,1],des:"front"},h[17]={num:6,data:[0,4,7,3,2,1],des:"front, left"},h[18]={num:6,data:[0,3,2,6,5,1],des:"front, right"},h[19]={num:0},h[20]={num:6,data:[0,3,2,1,5,4],des:"front, bottom"},h[21]={num:6,data:[2,1,5,4,7,3],des:"front, bottom, left"},h[22]={num:6,data:[0,3,2,6,5,4],des:"front, bottom, right"},h[23]={num:0},h[24]={num:6,data:[0,3,7,6,2,1],des:"front, top"},h[25]={num:6,data:[0,4,7,6,2,1],des:"front, top, left"},h[26]={num:6,data:[0,3,7,6,5,1],des:"front, top, right"},h[27]={num:0},h[28]={num:0},h[29]={num:0},h[30]={num:0},h[31]={num:0},h[32]={num:4,data:[4,5,6,7],des:"back"},h[33]={num:6,data:[4,5,6,7,3,0],des:"back, left"},h[34]={num:6,data:[1,2,6,7,4,5],des:"back, right"},h[35]={num:0},h[36]={num:6,data:[0,1,5,6,7,4],des:"back, bottom"},h[37]={num:6,data:[0,1,5,6,7,3],des:"back, bottom, left"},h[38]={num:6,data:[0,1,2,6,7,4],des:"back, bottom, right"},h[39]={num:0},h[40]={num:6,data:[2,3,7,4,5,6],des:"back, top"},h[41]={num:6,data:[0,4,5,6,2,3],des:"back, top, left"},h[42]={num:6,data:[1,2,3,7,4,5],des:"back, top, right"},m.packedLength=n.Cartesian3.packedLength+u.Matrix3.packedLength,m.pack=function(a,t,e){return e=s.defaultValue(e,0),n.Cartesian3.pack(a.center,t,e),u.Matrix3.pack(a.halfAxes,t,e+n.Cartesian3.packedLength),t},m.unpack=function(a,t,e){return t=s.defaultValue(t,0),s.defined(e)||(e=new m),n.Cartesian3.unpack(a,t,e.center),u.Matrix3.unpack(a,t+n.Cartesian3.packedLength,e.halfAxes),e};var x=new n.Cartesian3,p=new n.Cartesian3,M=new n.Cartesian3,f=new n.Cartesian3,g=new n.Cartesian3,b=new n.Cartesian3,w=new u.Matrix3,y={unitary:new u.Matrix3,diagonal:new u.Matrix3},v=new n.Cartesian3,P=new n.Cartesian3,O=new n.Cartesian3;m.fromPoints=function(a,t){if(s.defined(t)||(t=new m),!s.defined(a)||0===a.length)return t.halfAxes=u.Matrix3.ZERO,t.center=n.Cartesian3.ZERO,t;var e,r=a.length,i=n.Cartesian3.clone(a[0],x);for(e=1;e0?0:f.latitude,v=n.Cartographic.fromRadians(w,a.north,e,I),P=n.Cartographic.fromRadians(a.west,a.north,e,E),O=n.Cartographic.fromRadians(a.west,y,e,B),z=n.Cartographic.fromRadians(a.west,a.south,e,L),A=n.Cartographic.fromRadians(w,a.south,e,k),ta=r.cartographicToCartesian(v,U),ea=r.cartographicToCartesian(P,V),na=r.cartographicToCartesian(O,S),ra=r.cartographicToCartesian(z,D),ia=r.cartographicToCartesian(A,_),sa=b.projectPointToNearestOnPlane(ta,X),oa=b.projectPointToNearestOnPlane(ea,W),Ca=b.projectPointToNearestOnPlane(na,q),da=b.projectPointToNearestOnPlane(ra,j),ua=b.projectPointToNearestOnPlane(ia,Z);return l=-(u=Math.min(oa.x,Ca.x,da.x)),m=Math.max(oa.y,sa.y),h=Math.min(da.y,ua.y),P.height=z.height=t,ea=r.cartographicToCartesian(P,V),ra=r.cartographicToCartesian(z,D),x=Math.min(c.Plane.getPointDistance(M,ea),c.Plane.getPointDistance(M,ra)),p=e,N(b.origin,b.xAxis,b.yAxis,b.zAxis,u,l,h,m,x,p,i)}var ca=a.south>0,la=a.north<0,ha=ca?a.south:la?a.north:0,ma=o.Rectangle.center(a,R).longitude,xa=n.Cartesian3.fromRadians(ma,ha,e,r,F);xa.z=0;var pa=Math.abs(xa.x)=c?t.Intersect.INSIDE:t.Intersect.INTERSECTING};var ta=new n.Cartesian3,ea=new n.Cartesian3,na=new n.Cartesian3,ra=new n.Cartesian3,ia=new n.Cartesian3;m.distanceSquaredTo=function(a,t){var e=n.Cartesian3.subtract(t,a.center,z),r=a.halfAxes,i=u.Matrix3.getColumn(r,0,ta),s=u.Matrix3.getColumn(r,1,ea),o=u.Matrix3.getColumn(r,2,na),C=n.Cartesian3.magnitude(i),d=n.Cartesian3.magnitude(s),c=n.Cartesian3.magnitude(o);n.Cartesian3.normalize(i,i),n.Cartesian3.normalize(s,s),n.Cartesian3.normalize(o,o);var l=ra;l.x=n.Cartesian3.dot(e,i),l.y=n.Cartesian3.dot(e,s),l.z=n.Cartesian3.dot(e,o);var h,m=0;return l.x<-C?m+=(h=l.x+C)*h:l.x>C&&(m+=(h=l.x-C)*h),l.y<-d?m+=(h=l.y+d)*h:l.y>d&&(m+=(h=l.y-d)*h),l.z<-c?m+=(h=l.z+c)*h:l.z>c&&(m+=(h=l.z-c)*h),m};var sa=new n.Cartesian3,oa=new n.Cartesian3;m.computePlaneDistances=function(a,e,r,i){s.defined(i)||(i=new t.Interval);var o=Number.POSITIVE_INFINITY,C=Number.NEGATIVE_INFINITY,d=a.center,c=a.halfAxes,l=u.Matrix3.getColumn(c,0,ta),h=u.Matrix3.getColumn(c,1,ea),m=u.Matrix3.getColumn(c,2,na),x=n.Cartesian3.add(l,h,sa);n.Cartesian3.add(x,m,x),n.Cartesian3.add(x,d,x);var p=n.Cartesian3.subtract(x,e,oa),M=n.Cartesian3.dot(r,p);return o=Math.min(M,o),C=Math.max(M,C),n.Cartesian3.add(d,l,x),n.Cartesian3.add(x,h,x),n.Cartesian3.subtract(x,m,x),n.Cartesian3.subtract(x,e,p),M=n.Cartesian3.dot(r,p),o=Math.min(M,o),C=Math.max(M,C),n.Cartesian3.add(d,l,x),n.Cartesian3.subtract(x,h,x),n.Cartesian3.add(x,m,x),n.Cartesian3.subtract(x,e,p),M=n.Cartesian3.dot(r,p),o=Math.min(M,o),C=Math.max(M,C),n.Cartesian3.add(d,l,x),n.Cartesian3.subtract(x,h,x),n.Cartesian3.subtract(x,m,x),n.Cartesian3.subtract(x,e,p),M=n.Cartesian3.dot(r,p),o=Math.min(M,o),C=Math.max(M,C),n.Cartesian3.subtract(d,l,x),n.Cartesian3.add(x,h,x),n.Cartesian3.add(x,m,x),n.Cartesian3.subtract(x,e,p),M=n.Cartesian3.dot(r,p),o=Math.min(M,o),C=Math.max(M,C),n.Cartesian3.subtract(d,l,x),n.Cartesian3.add(x,h,x),n.Cartesian3.subtract(x,m,x),n.Cartesian3.subtract(x,e,p),M=n.Cartesian3.dot(r,p),o=Math.min(M,o),C=Math.max(M,C),n.Cartesian3.subtract(d,l,x),n.Cartesian3.subtract(x,h,x),n.Cartesian3.add(x,m,x),n.Cartesian3.subtract(x,e,p),M=n.Cartesian3.dot(r,p),o=Math.min(M,o),C=Math.max(M,C),n.Cartesian3.subtract(d,l,x),n.Cartesian3.subtract(x,h,x),n.Cartesian3.subtract(x,m,x),n.Cartesian3.subtract(x,e,p),M=n.Cartesian3.dot(r,p),o=Math.min(M,o),C=Math.max(M,C),i.start=o,i.stop=C,i};var Ca=new t.BoundingSphere;m.isOccluded=function(a,e){var n=t.BoundingSphere.fromOrientedBoundingBox(a,Ca);return!e.isBoundingSphereVisible(n)},m.prototype.intersectPlane=function(a){return m.intersectPlane(this,a)},m.prototype.distanceSquaredTo=function(a){return m.distanceSquaredTo(this,a)},m.prototype.computePlaneDistances=function(a,t,e){return m.computePlaneDistances(this,a,t,e)},m.prototype.isOccluded=function(a){return m.isOccluded(this,a)},m.equals=function(a,t){return a===t||s.defined(a)&&s.defined(t)&&n.Cartesian3.equals(a.center,t.center)&&u.Matrix3.equals(a.halfAxes,t.halfAxes)},m.prototype.clone=function(a){return m.clone(this,a)},m.prototype.equals=function(a){return m.equals(this,a)};var da=new r.Cartesian4;m.prototype._updateBBox=function(){if(1==this.areaDirty){var a=u.Matrix3.getColumn(this.halfAxes,0,ta),t=n.Cartesian3.clone(n.Cartesian3.negate(a,v)),e=u.Matrix3.getColumn(this.halfAxes,1,ea),r=n.Cartesian3.clone(n.Cartesian3.negate(e,v)),i=u.Matrix3.getColumn(this.halfAxes,2,na),s=n.Cartesian3.clone(n.Cartesian3.negate(i,v));this.bbox=[],n.Cartesian3.add(this.center,e,v),n.Cartesian3.add(v,s,P),n.Cartesian3.add(P,t,O),this.bbox[0]=new n.Cartesian3(O.x,O.y,O.z),n.Cartesian3.add(P,a,O),this.bbox[1]=new n.Cartesian3(O.x,O.y,O.z),n.Cartesian3.add(v,i,P),n.Cartesian3.add(P,a,O),this.bbox[2]=new n.Cartesian3(O.x,O.y,O.z),n.Cartesian3.add(P,t,O),this.bbox[3]=new n.Cartesian3(O.x,O.y,O.z),n.Cartesian3.add(this.center,r,v),n.Cartesian3.add(v,s,P),n.Cartesian3.add(P,t,O),this.bbox[4]=new n.Cartesian3(O.x,O.y,O.z),n.Cartesian3.add(P,a,O),this.bbox[5]=new n.Cartesian3(O.x,O.y,O.z),n.Cartesian3.add(v,i,P),n.Cartesian3.add(P,a,O),this.bbox[6]=new n.Cartesian3(O.x,O.y,O.z),n.Cartesian3.add(P,t,O),this.bbox[7]=new n.Cartesian3(O.x,O.y,O.z);var o=n.Cartesian3.magnitude(a),C=n.Cartesian3.magnitude(e),d=n.Cartesian3.magnitude(i),c=new n.Cartesian3(-o,-C,-d),l=new n.Cartesian3(o,C,d);if(o*C*d==0)return void(this.areaDirty=-1);n.Cartesian3.normalize(a,a),n.Cartesian3.normalize(e,e),n.Cartesian3.normalize(i,i),this.u=n.Cartesian3.clone(a),this.v=n.Cartesian3.clone(e),this.w=n.Cartesian3.clone(i),this.posMin=c,this.posMaX=l,this.areaDirty=0}};var ua=[];ua.push(new e.Cartesian2),ua.push(new e.Cartesian2),ua.push(new e.Cartesian2),ua.push(new e.Cartesian2),ua.push(new e.Cartesian2),ua.push(new e.Cartesian2);var ca=new n.Cartographic,la=new n.Cartesian3;m.prototype.calculateBoxArea=function(a,t,e,i,o,C,c,m){this._updateBBox();var x=a,p=n.Cartesian3.subtract(x,this.center,ia);if(-1==this.areaDirty){var M=o/i*(N=-1!=C?C:.5*n.Cartesian3.distance(this.posMaX,this.posMin))/e;return d.CesiumMath.PI*M*M}var f=n.Cartesian3.fromElements(n.Cartesian3.dot(p,this.u),n.Cartesian3.dot(p,this.v),n.Cartesian3.dot(p,this.w),sa),g=(f.xthis.posMaX.x?1:0)<<1)+((f.zthis.posMaX.z?1:0)<<3)+((f.y>this.posMaX.y?1:0)<<4)+((f.y42)return console.log("area calculation is wrong"),-100;var b=h[g];if(0==b.num){M=o/i*(N=-1!=C?C:.5*n.Cartesian3.distance(this.posMaX,this.posMin))/e;return d.CesiumMath.PI*M*M}if(0==b.num)return console.log("area calculation is wrong"),-100;for(var w,y=[],v=c,P=0;P