/* 2020-9-22 15:23:25 | 版权所有 军懋国兴 */ define(["exports","./when-cbf8cd21","./Check-35e1a91d","./Math-69007a69"],function(e,T,S,E){"use strict";function R(e,t,n){this.x=T.defaultValue(e,0),this.y=T.defaultValue(t,0),this.z=T.defaultValue(n,0)}R.fromSpherical=function(e,t){S.Check.typeOf.object("spherical",e),T.defined(t)||(t=new R);var n=e.clock,r=e.cone,a=T.defaultValue(e.magnitude,1),i=a*Math.sin(r);return t.x=i*Math.cos(n),t.y=i*Math.sin(n),t.z=a*Math.cos(r),t},R.fromElements=function(e,t,n,r){return T.defined(r)?(r.x=e,r.y=t,r.z=n,r):new R(e,t,n)},R.fromCartesian4=R.clone=function(e,t){if(T.defined(e))return T.defined(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new R(e.x,e.y,e.z)},R.packedLength=3,R.pack=function(e,t,n){return S.Check.typeOf.object("value",e),S.Check.defined("array",t),n=T.defaultValue(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t},R.unpack=function(e,t,n){return S.Check.defined("array",e),t=T.defaultValue(t,0),T.defined(n)||(n=new R),n.x=e[t++],n.y=e[t++],n.z=e[t],n},R.packArray=function(e,t){S.Check.defined("array",e);var n=e.length,r=3*n;if(T.defined(t)){if(!Array.isArray(t)&&t.length!==r)throw new S.DeveloperError("If result is a typed array, it must have exactly array.length * 3 elements");t.length!==r&&(t.length=r)}else t=new Array(r);for(var a=0;aE.CesiumMath.EPSILON12);return T.defined(a)?(a.x=i*M,a.y=o*w,a.z=u*x,a):new R(i*M,o*w,u*x)}function d(e,t,n){this.longitude=T.defaultValue(e,0),this.latitude=T.defaultValue(t,0),this.height=T.defaultValue(n,0)}d.fromRadians=function(e,t,n,r){return S.Check.typeOf.number("longitude",e),S.Check.typeOf.number("latitude",t),n=T.defaultValue(n,0),T.defined(r)?(r.longitude=e,r.latitude=t,r.height=n,r):new d(e,t,n)},d.fromDegrees=function(e,t,n,r){return S.Check.typeOf.number("longitude",e),S.Check.typeOf.number("latitude",t),e=E.CesiumMath.toRadians(e),t=E.CesiumMath.toRadians(t),d.fromRadians(e,t,n,r)};var l=new R,y=new R,p=new R,m=new R(1/6378137,1/6378137,1/6356752.314245179),C=new R(1/40680631590769,1/40680631590769,1/40408299984661.445),O=E.CesiumMath.EPSILON1;function u(e,t,n,r){t=T.defaultValue(t,0),n=T.defaultValue(n,0),r=T.defaultValue(r,0),S.Check.typeOf.number.greaterThanOrEquals("x",t,0),S.Check.typeOf.number.greaterThanOrEquals("y",n,0),S.Check.typeOf.number.greaterThanOrEquals("z",r,0),e._radii=new R(t,n,r),e._radiiSquared=new R(t*t,n*n,r*r),e._radiiToTheFourth=new R(t*t*t*t,n*n*n*n,r*r*r*r),e._oneOverRadii=new R(0===t?0:1/t,0===n?0:1/n,0===r?0:1/r),e._oneOverRadiiSquared=new R(0===t?0:1/(t*t),0===n?0:1/(n*n),0===r?0:1/(r*r)),e._minimumRadius=Math.min(t,n,r),e._maximumRadius=Math.max(t,n,r),e._centerToleranceSquared=E.CesiumMath.EPSILON1,0!==e._radiiSquared.z&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function g(e,t,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,u(this,e,t,n)}d.fromCartesian=function(e,t,n){var r=T.defined(t)?t.oneOverRadii:m,a=T.defined(t)?t.oneOverRadiiSquared:C,i=f(e,r,a,T.defined(t)?t._centerToleranceSquared:O,y);if(T.defined(i)){var o=R.multiplyComponents(i,a,l),o=R.normalize(o,o),u=R.subtract(e,i,p),c=Math.atan2(o.y,o.x),h=Math.asin(o.z),s=E.CesiumMath.sign(R.dot(u,e))*R.magnitude(u);return T.defined(n)?(n.longitude=c,n.latitude=h,n.height=s,n):new d(c,h,s)}},d.toCartesian=function(e,t,n){return S.Check.defined("cartographic",e),R.fromRadians(e.longitude,e.latitude,e.height,t,n)},d.clone=function(e,t){if(T.defined(e))return T.defined(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new d(e.longitude,e.latitude,e.height)},d.equals=function(e,t){return e===t||T.defined(e)&&T.defined(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height},d.equalsEpsilon=function(e,t,n){return n=T.defaultValue(n,0),e===t||T.defined(e)&&T.defined(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n},d.ZERO=Object.freeze(new d(0,0,0)),d.prototype.clone=function(e){return d.clone(this,e)},d.prototype.equals=function(e){return d.equals(this,e)},d.prototype.equalsEpsilon=function(e,t){return d.equalsEpsilon(this,e,t)},d.prototype.toString=function(){return"("+this.longitude+", "+this.latitude+", "+this.height+")"},Object.defineProperties(g.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}}}),g.clone=function(e,t){if(T.defined(e)){var n=e._radii;return T.defined(t)?(R.clone(n,t._radii),R.clone(e._radiiSquared,t._radiiSquared),R.clone(e._radiiToTheFourth,t._radiiToTheFourth),R.clone(e._oneOverRadii,t._oneOverRadii),R.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new g(n.x,n.y,n.z)}},g.fromCartesian3=function(e,t){return T.defined(t)||(t=new g),T.defined(e)&&u(t,e.x,e.y,e.z),t},g.WGS84=Object.freeze(new g(6378137,6378137,6356752.314245179)),g.UNIT_SPHERE=Object.freeze(new g(1,1,1)),g.MOON=Object.freeze(new g(E.CesiumMath.LUNAR_RADIUS,E.CesiumMath.LUNAR_RADIUS,E.CesiumMath.LUNAR_RADIUS)),g.prototype.clone=function(e){return g.clone(this,e)},g.packedLength=R.packedLength,g.pack=function(e,t,n){return S.Check.typeOf.object("value",e),S.Check.defined("array",t),n=T.defaultValue(n,0),R.pack(e._radii,t,n),t},g.unpack=function(e,t,n){S.Check.defined("array",e),t=T.defaultValue(t,0);var r=R.unpack(e,t);return g.fromCartesian3(r,n)},g.prototype.geocentricSurfaceNormal=R.normalize,g.prototype.geodeticSurfaceNormalCartographic=function(e,t){S.Check.typeOf.object("cartographic",e);var n=e.longitude,r=e.latitude,a=Math.cos(r),i=a*Math.cos(n),o=a*Math.sin(n),u=Math.sin(r);return T.defined(t)||(t=new R),t.x=i,t.y=o,t.z=u,R.normalize(t,t)},g.prototype.geodeticSurfaceNormal=function(e,t){if(!R.equalsEpsilon(e,R.ZERO,E.CesiumMath.EPSILON14))return T.defined(t)||(t=new R),t=R.multiplyComponents(e,this._oneOverRadiiSquared,t),R.normalize(t,t)};var b=new R,k=new R;g.prototype.cartographicToCartesian=function(e,t){var n=b,r=k;this.geodeticSurfaceNormalCartographic(e,n),R.multiplyComponents(this._radiiSquared,n,r);var a=Math.sqrt(R.dot(n,r));return R.divideByScalar(r,a,r),R.multiplyByScalar(n,e.height,n),T.defined(t)||(t=new R),R.add(r,n,t)},g.prototype.cartographicArrayToCartesianArray=function(e,t){S.Check.defined("cartographics",e);var n=e.length;T.defined(t)?t.length=n:t=new Array(n);for(var r=0;r=this._radii.z-t))return n};var v=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],j=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function _(e,t,n){S.Check.typeOf.number("a",e),S.Check.typeOf.number("b",t),S.Check.typeOf.func("func",n);for(var r=.5*(t+e),a=.5*(t-e),i=0,o=0;o<5;o++){var u=a*v[o];i+=j[o]*(n(r+u)+n(r-u))}return i*=a}function z(e,t,n,r){this.west=T.defaultValue(e,0),this.south=T.defaultValue(t,0),this.east=T.defaultValue(n,0),this.north=T.defaultValue(r,0)}g.prototype.surfaceArea=function(e){S.Check.typeOf.object("rectangle",e);for(var t=e.west,n=e.east,r=e.south,a=e.north;nE.CesiumMath.PI&&(r-=E.CesiumMath.TWO_PI),n>E.CesiumMath.PI&&(n-=E.CesiumMath.TWO_PI)),T.defined(t)?(t.west=n,t.south=o,t.east=r,t.north=u,t):new z(n,o,r,u)},z.fromCartesianArray=function(e,t,n){S.Check.defined("cartesians",e),t=T.defaultValue(t,g.WGS84);for(var r=Number.MAX_VALUE,a=-Number.MAX_VALUE,i=Number.MAX_VALUE,o=-Number.MAX_VALUE,u=Number.MAX_VALUE,c=-Number.MAX_VALUE,h=0,s=e.length;hE.CesiumMath.PI&&(a-=E.CesiumMath.TWO_PI),r>E.CesiumMath.PI&&(r-=E.CesiumMath.TWO_PI)),T.defined(n)?(n.west=r,n.south=u,n.east=a,n.north=c,n):new z(r,u,a,c)},z.clone=function(e,t){if(T.defined(e))return T.defined(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new z(e.west,e.south,e.east,e.north)},z.equalsEpsilon=function(e,t,n){return n=T.defaultValue(n,0),e===t||T.defined(e)&&T.defined(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n},z.prototype.clone=function(e){return z.clone(this,e)},z.prototype.equals=function(e){return z.equals(this,e)},z.equals=function(e,t){return e===t||T.defined(e)&&T.defined(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north},z.prototype.equalsEpsilon=function(e,t){return z.equalsEpsilon(this,e,t)},z.validate=function(e){S.Check.typeOf.object("rectangle",e);var t=e.north;S.Check.typeOf.number.greaterThanOrEquals("north",t,-E.CesiumMath.PI_OVER_TWO),S.Check.typeOf.number.lessThanOrEquals("north",t,E.CesiumMath.PI_OVER_TWO);var n=e.south;S.Check.typeOf.number.greaterThanOrEquals("south",n,-E.CesiumMath.PI_OVER_TWO),S.Check.typeOf.number.lessThanOrEquals("south",n,E.CesiumMath.PI_OVER_TWO);var r=e.west;S.Check.typeOf.number.greaterThanOrEquals("west",r,-Math.PI),S.Check.typeOf.number.lessThanOrEquals("west",r,Math.PI);var a=e.east;S.Check.typeOf.number.greaterThanOrEquals("east",a,-Math.PI),S.Check.typeOf.number.lessThanOrEquals("east",a,Math.PI)},z.southwest=function(e,t){return S.Check.typeOf.object("rectangle",e),T.defined(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new d(e.west,e.south)},z.northwest=function(e,t){return S.Check.typeOf.object("rectangle",e),T.defined(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new d(e.west,e.north)},z.northeast=function(e,t){return S.Check.typeOf.object("rectangle",e),T.defined(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new d(e.east,e.north)},z.southeast=function(e,t){return S.Check.typeOf.object("rectangle",e),T.defined(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new d(e.east,e.south)},z.center=function(e,t){S.Check.typeOf.object("rectangle",e);var n=e.east,r=e.west;n=e.south&&r<=e.north};var q=new d;function V(e,t){this.x=T.defaultValue(e,0),this.y=T.defaultValue(t,0)}z.subsample=function(e,t,n,r){S.Check.typeOf.object("rectangle",e),t=T.defaultValue(t,g.WGS84),n=T.defaultValue(n,0),T.defined(r)||(r=[]);var a=0,i=e.north,o=e.south,u=e.east,c=e.west,h=q;h.height=n,h.longitude=c,h.latitude=i,r[a]=t.cartographicToCartesian(h,r[a]),a++,h.longitude=u,r[a]=t.cartographicToCartesian(h,r[a]),a++,h.latitude=o,r[a]=t.cartographicToCartesian(h,r[a]),a++,h.longitude=c,r[a]=t.cartographicToCartesian(h,r[a]),a++,h.latitude=i<0?i:0