define(["exports","./Cartesian3-7e9cc2ff","./Check-741c5f3c","./defaultValue-81eec7ed","./Math-5f585871"],(function(t,e,n,i,a){"use strict";const r=new e.Cartesian3,u=new e.Cartesian3;function o(t,n,o,s,d){const c=t.x,h=t.y,l=t.z,f=n.x,m=n.y,y=n.z,p=c*c*f*f,C=h*h*m*m,g=l*l*y*y,M=p+C+g,w=Math.sqrt(1/M),x=e.Cartesian3.multiplyByScalar(t,w,r);if(Ma.CesiumMath.EPSILON12);return i.defined(d)?(d.x=c*A,d.y=h*V,d.z=l*b,d):new e.Cartesian3(c*A,h*V,l*b)}function s(t,e,n){this.longitude=i.defaultValue(t,0),this.latitude=i.defaultValue(e,0),this.height=i.defaultValue(n,0)}s.fromRadians=function(t,e,n,a){return n=i.defaultValue(n,0),i.defined(a)?(a.longitude=t,a.latitude=e,a.height=n,a):new s(t,e,n)},s.fromDegrees=function(t,e,n,i){return t=a.CesiumMath.toRadians(t),e=a.CesiumMath.toRadians(e),s.fromRadians(t,e,n,i)};const d=new e.Cartesian3,c=new e.Cartesian3,h=new e.Cartesian3,l=new e.Cartesian3(1/6378137,1/6378137,1/6356752.314245179),f=new e.Cartesian3(1/40680631590769,1/40680631590769,1/40408299984661.445),m=a.CesiumMath.EPSILON1;function y(t,n,r,u){n=i.defaultValue(n,0),r=i.defaultValue(r,0),u=i.defaultValue(u,0),t._radii=new e.Cartesian3(n,r,u),t._radiiSquared=new e.Cartesian3(n*n,r*r,u*u),t._radiiToTheFourth=new e.Cartesian3(n*n*n*n,r*r*r*r,u*u*u*u),t._oneOverRadii=new e.Cartesian3(0===n?0:1/n,0===r?0:1/r,0===u?0:1/u),t._oneOverRadiiSquared=new e.Cartesian3(0===n?0:1/(n*n),0===r?0:1/(r*r),0===u?0:1/(u*u)),t._minimumRadius=Math.min(n,r,u),t._maximumRadius=Math.max(n,r,u),t._centerToleranceSquared=a.CesiumMath.EPSILON1,0!==t._radiiSquared.z&&(t._squaredXOverSquaredZ=t._radiiSquared.x/t._radiiSquared.z)}function p(t,e,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,y(this,t,e,n)}s.fromCartesian=function(t,n,r){const u=i.defined(n)?n.oneOverRadii:l,y=i.defined(n)?n.oneOverRadiiSquared:f,p=o(t,u,y,i.defined(n)?n._centerToleranceSquared:m,c);if(!i.defined(p))return;let C=e.Cartesian3.multiplyComponents(p,y,d);C=e.Cartesian3.normalize(C,C);const g=e.Cartesian3.subtract(t,p,h),M=Math.atan2(C.y,C.x),w=Math.asin(C.z),x=a.CesiumMath.sign(e.Cartesian3.dot(g,t))*e.Cartesian3.magnitude(g);return i.defined(r)?(r.longitude=M,r.latitude=w,r.height=x,r):new s(M,w,x)},s.toCartesian=function(t,n,i){return e.Cartesian3.fromRadians(t.longitude,t.latitude,t.height,n,i)},s.clone=function(t,e){if(i.defined(t))return i.defined(e)?(e.longitude=t.longitude,e.latitude=t.latitude,e.height=t.height,e):new s(t.longitude,t.latitude,t.height)},s.equals=function(t,e){return t===e||i.defined(t)&&i.defined(e)&&t.longitude===e.longitude&&t.latitude===e.latitude&&t.height===e.height},s.equalsEpsilon=function(t,e,n){return n=i.defaultValue(n,0),t===e||i.defined(t)&&i.defined(e)&&Math.abs(t.longitude-e.longitude)<=n&&Math.abs(t.latitude-e.latitude)<=n&&Math.abs(t.height-e.height)<=n},s.ZERO=Object.freeze(new s(0,0,0)),s.prototype.clone=function(t){return s.clone(this,t)},s.prototype.equals=function(t){return s.equals(this,t)},s.prototype.equalsEpsilon=function(t,e){return s.equalsEpsilon(this,t,e)},s.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`},Object.defineProperties(p.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}}),p.clone=function(t,n){if(!i.defined(t))return;const a=t._radii;return i.defined(n)?(e.Cartesian3.clone(a,n._radii),e.Cartesian3.clone(t._radiiSquared,n._radiiSquared),e.Cartesian3.clone(t._radiiToTheFourth,n._radiiToTheFourth),e.Cartesian3.clone(t._oneOverRadii,n._oneOverRadii),e.Cartesian3.clone(t._oneOverRadiiSquared,n._oneOverRadiiSquared),n._minimumRadius=t._minimumRadius,n._maximumRadius=t._maximumRadius,n._centerToleranceSquared=t._centerToleranceSquared,n):new p(a.x,a.y,a.z)},p.fromCartesian3=function(t,e){return i.defined(e)||(e=new p),i.defined(t)?(y(e,t.x,t.y,t.z),e):e},p.WGS84=Object.freeze(new p(6378137,6378137,6356752.314245179)),p.UNIT_SPHERE=Object.freeze(new p(1,1,1)),p.MOON=Object.freeze(new p(a.CesiumMath.LUNAR_RADIUS,a.CesiumMath.LUNAR_RADIUS,a.CesiumMath.LUNAR_RADIUS)),p.prototype.clone=function(t){return p.clone(this,t)},p.packedLength=e.Cartesian3.packedLength,p.pack=function(t,n,a){return a=i.defaultValue(a,0),e.Cartesian3.pack(t._radii,n,a),n},p.unpack=function(t,n,a){n=i.defaultValue(n,0);const r=e.Cartesian3.unpack(t,n);return p.fromCartesian3(r,a)},p.prototype.geocentricSurfaceNormal=e.Cartesian3.normalize,p.prototype.geodeticSurfaceNormalCartographic=function(t,n){const a=t.longitude,r=t.latitude,u=Math.cos(r),o=u*Math.cos(a),s=u*Math.sin(a),d=Math.sin(r);return i.defined(n)||(n=new e.Cartesian3),n.x=o,n.y=s,n.z=d,e.Cartesian3.normalize(n,n)},p.prototype.geodeticSurfaceNormal=function(t,n){if(!e.Cartesian3.equalsEpsilon(t,e.Cartesian3.ZERO,a.CesiumMath.EPSILON14))return i.defined(n)||(n=new e.Cartesian3),n=e.Cartesian3.multiplyComponents(t,this._oneOverRadiiSquared,n),e.Cartesian3.normalize(n,n)};const C=new e.Cartesian3,g=new e.Cartesian3;p.prototype.cartographicToCartesian=function(t,n){const a=C,r=g;this.geodeticSurfaceNormalCartographic(t,a),e.Cartesian3.multiplyComponents(this._radiiSquared,a,r);const u=Math.sqrt(e.Cartesian3.dot(a,r));return e.Cartesian3.divideByScalar(r,u,r),e.Cartesian3.multiplyByScalar(a,t.height,a),i.defined(n)||(n=new e.Cartesian3),e.Cartesian3.add(r,a,n)},p.prototype.cartographicArrayToCartesianArray=function(t,e){const n=t.length;i.defined(e)?e.length=n:e=new Array(n);for(let i=0;i=this._radii.z-n))return a};const _=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],S=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function O(t,e,n){const i=.5*(e+t),a=.5*(e-t);let r=0;for(let t=0;t<5;t++){const e=a*_[t];r+=S[t]*(n(i+e)+n(i-e))}return r*=a,r}function q(t,e,n,a){this.west=i.defaultValue(t,0),this.south=i.defaultValue(e,0),this.east=i.defaultValue(n,0),this.north=i.defaultValue(a,0)}p.prototype.surfaceArea=function(t){const e=t.west;let n=t.east;const i=t.south,r=t.north;for(;n=0?i.longitude:i.longitude+a.CesiumMath.TWO_PI;u=Math.min(u,c),o=Math.max(o,c)}return r-n>o-u&&(n=u,r=o,r>a.CesiumMath.PI&&(r-=a.CesiumMath.TWO_PI),n>a.CesiumMath.PI&&(n-=a.CesiumMath.TWO_PI)),i.defined(e)?(e.west=n,e.south=s,e.east=r,e.north=d,e):new q(n,s,r,d)},q.fromCartesianArray=function(t,e,n){e=i.defaultValue(e,p.WGS84);let r=Number.MAX_VALUE,u=-Number.MAX_VALUE,o=Number.MAX_VALUE,s=-Number.MAX_VALUE,d=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let n=0,i=t.length;n=0?i.longitude:i.longitude+a.CesiumMath.TWO_PI;o=Math.min(o,h),s=Math.max(s,h)}return u-r>s-o&&(r=o,u=s,u>a.CesiumMath.PI&&(u-=a.CesiumMath.TWO_PI),r>a.CesiumMath.PI&&(r-=a.CesiumMath.TWO_PI)),i.defined(n)?(n.west=r,n.south=d,n.east=u,n.north=c,n):new q(r,d,u,c)},q.clone=function(t,e){if(i.defined(t))return i.defined(e)?(e.west=t.west,e.south=t.south,e.east=t.east,e.north=t.north,e):new q(t.west,t.south,t.east,t.north)},q.equalsEpsilon=function(t,e,n){return n=i.defaultValue(n,0),t===e||i.defined(t)&&i.defined(e)&&Math.abs(t.west-e.west)<=n&&Math.abs(t.south-e.south)<=n&&Math.abs(t.east-e.east)<=n&&Math.abs(t.north-e.north)<=n},q.prototype.clone=function(t){return q.clone(this,t)},q.prototype.equals=function(t){return q.equals(this,t)},q.equals=function(t,e){return t===e||i.defined(t)&&i.defined(e)&&t.west===e.west&&t.south===e.south&&t.east===e.east&&t.north===e.north},q.prototype.equalsEpsilon=function(t,e){return q.equalsEpsilon(this,t,e)},q.validate=function(t){},q.southwest=function(t,e){return i.defined(e)?(e.longitude=t.west,e.latitude=t.south,e.height=0,e):new s(t.west,t.south)},q.northwest=function(t,e){return i.defined(e)?(e.longitude=t.west,e.latitude=t.north,e.height=0,e):new s(t.west,t.north)},q.northeast=function(t,e){return i.defined(e)?(e.longitude=t.east,e.latitude=t.north,e.height=0,e):new s(t.east,t.north)},q.southeast=function(t,e){return i.defined(e)?(e.longitude=t.east,e.latitude=t.south,e.height=0,e):new s(t.east,t.south)},q.center=function(t,e){let n=t.east;const r=t.west;n0?r+=a.CesiumMath.TWO_PI:o0&&(o+=a.CesiumMath.TWO_PI),r=l?void 0:i.defined(n)?(n.west=d,n.south=h,n.east=c,n.north=l,n):new q(d,h,c,l)},q.simpleIntersection=function(t,e,n){const a=Math.max(t.west,e.west),r=Math.max(t.south,e.south),u=Math.min(t.east,e.east),o=Math.min(t.north,e.north);if(!(r>=o||a>=u))return i.defined(n)?(n.west=a,n.south=r,n.east=u,n.north=o,n):new q(a,r,u,o)},q.union=function(t,e,n){i.defined(n)||(n=new q);let r=t.east,u=t.west,o=e.east,s=e.west;r0?r+=a.CesiumMath.TWO_PI:o0&&(o+=a.CesiumMath.TWO_PI),rr||a.CesiumMath.equalsEpsilon(n,r,a.CesiumMath.EPSILON14))&&(n=t.south&&i<=t.north};const T=new s;function R(t,e){this.x=i.defaultValue(t,0),this.y=i.defaultValue(e,0)}q.subsample=function(t,e,n,r){e=i.defaultValue(e,p.WGS84),n=i.defaultValue(n,0),i.defined(r)||(r=[]);let u=0;const o=t.north,s=t.south,d=t.east,c=t.west,h=T;h.height=n,h.longitude=c,h.latitude=o,r[u]=e.cartographicToCartesian(h,r[u]),u++,h.longitude=d,r[u]=e.cartographicToCartesian(h,r[u]),u++,h.latitude=s,r[u]=e.cartographicToCartesian(h,r[u]),u++,h.longitude=c,r[u]=e.cartographicToCartesian(h,r[u]),u++,h.latitude=o<0?o:s>0?s:0;for(let n=1;n<8;++n)h.longitude=-Math.PI+n*a.CesiumMath.PI_OVER_TWO,q.contains(t,h)&&(r[u]=e.cartographicToCartesian(h,r[u]),u++);return 0===h.latitude&&(h.longitude=c,r[u]=e.cartographicToCartesian(h,r[u]),u++,h.longitude=d,r[u]=e.cartographicToCartesian(h,r[u]),u++),r.length=u,r},q.subsection=function(t,e,n,r,u,o){if(i.defined(o)||(o=new q),t.west<=t.east){const n=t.east-t.west;o.west=t.west+e*n,o.east=t.west+r*n}else{const n=a.CesiumMath.TWO_PI+t.east-t.west;o.west=a.CesiumMath.negativePiToPi(t.west+e*n),o.east=a.CesiumMath.negativePiToPi(t.west+r*n)}const s=t.north-t.south;return o.south=t.south+n*s,o.north=t.south+u*s,1===e&&(o.west=t.east),1===r&&(o.east=t.east),1===n&&(o.south=t.north),1===u&&(o.north=t.north),o},q.MAX_VALUE=Object.freeze(new q(-Math.PI,-a.CesiumMath.PI_OVER_TWO,Math.PI,a.CesiumMath.PI_OVER_TWO)),R.fromElements=function(t,e,n){return i.defined(n)?(n.x=t,n.y=e,n):new R(t,e)},R.clone=function(t,e){if(i.defined(t))return i.defined(e)?(e.x=t.x,e.y=t.y,e):new R(t.x,t.y)},R.fromCartesian3=R.clone,R.fromCartesian4=R.clone,R.packedLength=2,R.pack=function(t,e,n){return n=i.defaultValue(n,0),e[n++]=t.x,e[n]=t.y,e},R.unpack=function(t,e,n){return e=i.defaultValue(e,0),i.defined(n)||(n=new R),n.x=t[e++],n.y=t[e],n},R.packArray=function(t,e){const n=t.length,a=2*n;i.defined(e)?(Array.isArray(e)||e.length===a)&&e.length!==a&&(e.length=a):e=new Array(a);for(let i=0;i