surprise
2024-03-05 1ce1b525e7470ebaaeb0d5cd1e59bd905c1a7114
1
define(["exports","./defaultValue-f6d5e6da","./Math-355606c6"],(function(e,t,n){"use strict";const i={ellipsoidCoordinates:null,changeApproximateTerrainHeights:!1,minTerrainHeight:-2e4,maxTerrainHeight:2e4,hasVertexNormals:!1,isMoon:function(){return"MOON2000"===i.ellipsoidCoordinates},isVertexNormals:function(){return!0===i.hasVertexNormals}};var r=i;function a(e,n,i){this.x=t.defaultValue(e,0),this.y=t.defaultValue(n,0),this.z=t.defaultValue(i,0)}a.fromSpherical=function(e,n){t.defined(n)||(n=new a);const i=e.clock,r=e.cone,o=t.defaultValue(e.magnitude,1),u=o*Math.sin(r);return n.x=u*Math.cos(i),n.y=u*Math.sin(i),n.z=o*Math.cos(r),n},a.fromElements=function(e,n,i,r){return t.defined(r)?(r.x=e,r.y=n,r.z=i,r):new a(e,n,i)},a.clone=function(e,n){if(t.defined(e))return t.defined(n)?(n.x=e.x,n.y=e.y,n.z=e.z,n):new a(e.x,e.y,e.z)},a.fromCartesian4=a.clone,a.packedLength=3,a.pack=function(e,n,i){return i=t.defaultValue(i,0),n[i++]=e.x,n[i++]=e.y,n[i]=e.z,n},a.unpack=function(e,n,i){return n=t.defaultValue(n,0),t.defined(i)||(i=new a),i.x=e[n++],i.y=e[n++],i.z=e[n],i},a.packArray=function(e,n){const i=e.length,r=3*i;t.defined(n)?(Array.isArray(n)||n.length===r)&&n.length!==r&&(n.length=r):n=new Array(r);for(let t=0;t<i;++t)a.pack(e[t],n,3*t);return n},a.unpackArray=function(e,n){const i=e.length;t.defined(n)?n.length=i/3:n=new Array(i/3);for(let t=0;t<i;t+=3){const i=t/3;n[i]=a.unpack(e,t,n[i])}return n},a.fromArray=a.unpack,a.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)},a.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)},a.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n},a.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n},a.clamp=function(e,t,i,r){const a=n.CesiumMath.clamp(e.x,t.x,i.x),o=n.CesiumMath.clamp(e.y,t.y,i.y),u=n.CesiumMath.clamp(e.z,t.z,i.z);return r.x=a,r.y=o,r.z=u,r},a.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z},a.magnitude=function(e){return Math.sqrt(a.magnitudeSquared(e))};const o=new a;a.distance=function(e,t){return a.subtract(e,t,o),a.magnitude(o)},a.distanceSquared=function(e,t){return a.subtract(e,t,o),a.magnitudeSquared(o)},a.normalize=function(e,t){const n=a.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t},a.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},a.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n},a.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n},a.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n},a.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n},a.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n},a.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n},a.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t},a.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};const u=new a;a.lerp=function(e,t,n,i){return a.multiplyByScalar(t,n,u),i=a.multiplyByScalar(e,1-n,i),a.add(u,i,i)};const s=new a,c=new a;a.angleBetween=function(e,t){a.normalize(e,s),a.normalize(t,c);const n=a.dot(s,c),i=a.magnitude(a.cross(s,c,s));return Math.atan2(i,n)};const d=new a;a.mostOrthogonalAxis=function(e,t){const n=a.normalize(e,d);return a.abs(n,n),t=n.x<=n.y?n.x<=n.z?a.clone(a.UNIT_X,t):a.clone(a.UNIT_Z,t):n.y<=n.z?a.clone(a.UNIT_Y,t):a.clone(a.UNIT_Z,t)},a.projectVector=function(e,t,n){const i=a.dot(e,t)/a.dot(t,t);return a.multiplyByScalar(t,i,n)},a.equals=function(e,n){return e===n||t.defined(e)&&t.defined(n)&&e.x===n.x&&e.y===n.y&&e.z===n.z},a.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]},a.equalsEpsilon=function(e,i,r,a){return e===i||t.defined(e)&&t.defined(i)&&n.CesiumMath.equalsEpsilon(e.x,i.x,r,a)&&n.CesiumMath.equalsEpsilon(e.y,i.y,r,a)&&n.CesiumMath.equalsEpsilon(e.z,i.z,r,a)},a.cross=function(e,t,n){const i=e.x,r=e.y,a=e.z,o=t.x,u=t.y,s=t.z,c=r*s-a*u,d=a*o-i*s,l=i*u-r*o;return n.x=c,n.y=d,n.z=l,n},a.midpoint=function(e,t,n){return n.x=.5*(e.x+t.x),n.y=.5*(e.y+t.y),n.z=.5*(e.z+t.z),n},a.fromDegrees=function(e,t,i,r,o){return e=n.CesiumMath.toRadians(e),t=n.CesiumMath.toRadians(t),a.fromRadians(e,t,i,r,o)};let l=new a,f=new a;const h=new a(40680631590769,40680631590769,40408299984661.445);a.fromCGCS2000Degrees=function(e,t,i,r){return e=n.CesiumMath.toRadians(e),t=n.CesiumMath.toRadians(t),a.fromcgcs2000Radians(e,t,i,r)};const m=new a(40680631590769,40680631590769,40408299983328.77);a.fromcgcs2000Radians=function(e,n,i,r){i=t.defaultValue(i,0);const o=m,u=Math.cos(n);l.x=u*Math.cos(e),l.y=u*Math.sin(e),l.z=Math.sin(n),l=a.normalize(l,l),a.multiplyComponents(o,l,f);const s=Math.sqrt(a.dot(l,f));return f=a.divideByScalar(f,s,f),l=a.multiplyByScalar(l,i,l),t.defined(r)||(r=new a),a.add(f,l,r)},l=new a,f=new a;const y=new a(301855876e4,301855876e4,301855876e4);a.fromRadians=function(e,n,i,o,u){i=t.defaultValue(i,0);let s=null;s="CGCS2000"===r.ellipsoidCoordinates?m:"MOON"===r.ellipsoidCoordinates||"MOON2000"===r.ellipsoidCoordinates?y:t.defined(o)?o.radiiSquared:h;const c=Math.cos(n);l.x=c*Math.cos(e),l.y=c*Math.sin(e),l.z=Math.sin(n),l=a.normalize(l,l),a.multiplyComponents(s,l,f);const d=Math.sqrt(a.dot(l,f));return f=a.divideByScalar(f,d,f),l=a.multiplyByScalar(l,i,l),t.defined(u)||(u=new a),a.add(f,l,u)},a.fromDegreesArray=function(e,n,i){const r=e.length;t.defined(i)?i.length=r/2:i=new Array(r/2);for(let t=0;t<r;t+=2){const r=e[t],o=e[t+1],u=t/2;i[u]=a.fromDegrees(r,o,0,n,i[u])}return i},a.fromRadiansArray=function(e,n,i){const r=e.length;t.defined(i)?i.length=r/2:i=new Array(r/2);for(let t=0;t<r;t+=2){const r=e[t],o=e[t+1],u=t/2;i[u]=a.fromRadians(r,o,0,n,i[u])}return i},a.fromDegreesArrayHeights=function(e,n,i){const r=e.length;t.defined(i)?i.length=r/3:i=new Array(r/3);for(let t=0;t<r;t+=3){const r=e[t],o=e[t+1],u=e[t+2],s=t/3;i[s]=a.fromDegrees(r,o,u,n,i[s])}return i},a.fromRadiansArrayHeights=function(e,n,i){const r=e.length;t.defined(i)?i.length=r/3:i=new Array(r/3);for(let t=0;t<r;t+=3){const r=e[t],o=e[t+1],u=e[t+2],s=t/3;i[s]=a.fromRadians(r,o,u,n,i[s])}return i},a.ZERO=Object.freeze(new a(0,0,0)),a.ONE=Object.freeze(new a(1,1,1)),a.UNIT_X=Object.freeze(new a(1,0,0)),a.UNIT_Y=Object.freeze(new a(0,1,0)),a.UNIT_Z=Object.freeze(new a(0,0,1)),a.prototype.clone=function(e){return a.clone(this,e)},a.prototype.equals=function(e){return a.equals(this,e)},a.prototype.equalsEpsilon=function(e,t,n){return a.equalsEpsilon(this,e,t,n)},a.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};const p=new a,g=new a;function x(e,i,r,o,u){const s=e.x,c=e.y,d=e.z,l=i.x,f=i.y,h=i.z,m=s*s*l*l,y=c*c*f*f,x=d*d*h*h,z=m+y+x,M=Math.sqrt(1/z),w=a.multiplyByScalar(e,M,p);if(z<o)return isFinite(M)?a.clone(w,u):void 0;const S=r.x,C=r.y,O=r.z,R=g;R.x=w.x*S*2,R.y=w.y*C*2,R.z=w.z*O*2;let q,_,b,E,T,N,A,v,V,I,U,k=(1-M)*a.magnitude(e)/(.5*a.magnitude(R)),L=0;do{k-=L,b=1/(1+k*S),E=1/(1+k*C),T=1/(1+k*O),N=b*b,A=E*E,v=T*T,V=N*b,I=A*E,U=v*T,q=m*N+y*A+x*v-1,_=m*V*S+y*I*C+x*U*O;L=q/(-2*_)}while(Math.abs(q)>n.CesiumMath.EPSILON12);return t.defined(u)?(u.x=s*b,u.y=c*E,u.z=d*T,u):new a(s*b,c*E,d*T)}function z(e,n,i){this.longitude=t.defaultValue(e,0),this.latitude=t.defaultValue(n,0),this.height=t.defaultValue(i,0)}z.fromRadians=function(e,n,i,r){return i=t.defaultValue(i,0),t.defined(r)?(r.longitude=e,r.latitude=n,r.height=i,r):new z(e,n,i)},z.fromDegrees=function(e,t,i,r){return e=n.CesiumMath.toRadians(e),t=n.CesiumMath.toRadians(t),z.fromRadians(e,t,i,r)};const M=new a,w=new a,S=new a,C=new a(1/6378137,1/6378137,1/6356752.314245179),O=new a(1/40680631590769,1/40680631590769,1/40408299984661.445),R=new a(1/1737400,1/1737400,1/1737400),q=new a(1/301855876e4,1/301855876e4,1/301855876e4),_=new a(1/6378137,1/6378137,1/6356752.314140356),b=new a(1/40680631590769,1/40680631590769,1/40408299983328.77),E=n.CesiumMath.EPSILON1;function T(e,i,r,o){i=t.defaultValue(i,0),r=t.defaultValue(r,0),o=t.defaultValue(o,0),e._radii=new a(i,r,o),e._radiiSquared=new a(i*i,r*r,o*o),e._radiiToTheFourth=new a(i*i*i*i,r*r*r*r,o*o*o*o),e._oneOverRadii=new a(0===i?0:1/i,0===r?0:1/r,0===o?0:1/o),e._oneOverRadiiSquared=new a(0===i?0:1/(i*i),0===r?0:1/(r*r),0===o?0:1/(o*o)),e._minimumRadius=Math.min(i,r,o),e._maximumRadius=Math.max(i,r,o),e._centerToleranceSquared=n.CesiumMath.EPSILON1,0!==e._radiiSquared.z&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function N(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,T(this,e,t,n)}z.fromCartesian=function(e,i,o){let u=null,s=null;const c=t.defined(i)?i._centerToleranceSquared:E;"CGCS2000"===r.ellipsoidCoordinates?(u=_,s=b):"MOON"===r.ellipsoidCoordinates||"MOON2000"===r.ellipsoidCoordinates?(u=R,s=q):(u=t.defined(i)?i.oneOverRadii:C,s=t.defined(i)?i.oneOverRadiiSquared:O);const d=x(e,u,s,c,w);if(!t.defined(d))return;let l=a.multiplyComponents(d,s,M);l=a.normalize(l,l);const f=a.subtract(e,d,S),h=Math.atan2(l.y,l.x),m=Math.asin(l.z),y=n.CesiumMath.sign(a.dot(f,e))*a.magnitude(f);return t.defined(o)?(o.longitude=h,o.latitude=m,o.height=y,o):new z(h,m,y)},z.toCartesian=function(e,t,n){return a.fromRadians(e.longitude,e.latitude,e.height,t,n)},z.clone=function(e,n){if(t.defined(e))return t.defined(n)?(n.longitude=e.longitude,n.latitude=e.latitude,n.height=e.height,n):new z(e.longitude,e.latitude,e.height)},z.equals=function(e,n){return e===n||t.defined(e)&&t.defined(n)&&e.longitude===n.longitude&&e.latitude===n.latitude&&e.height===n.height},z.equalsEpsilon=function(e,n,i){return i=t.defaultValue(i,0),e===n||t.defined(e)&&t.defined(n)&&Math.abs(e.longitude-n.longitude)<=i&&Math.abs(e.latitude-n.latitude)<=i&&Math.abs(e.height-n.height)<=i},z.ZERO=Object.freeze(new z(0,0,0)),z.prototype.clone=function(e){return z.clone(this,e)},z.prototype.equals=function(e){return z.equals(this,e)},z.prototype.equalsEpsilon=function(e,t){return z.equalsEpsilon(this,e,t)},z.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`},Object.defineProperties(N.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}}}),N.clone=function(e,n){if(!t.defined(e))return;const i=e._radii;return t.defined(n)?(a.clone(i,n._radii),a.clone(e._radiiSquared,n._radiiSquared),a.clone(e._radiiToTheFourth,n._radiiToTheFourth),a.clone(e._oneOverRadii,n._oneOverRadii),a.clone(e._oneOverRadiiSquared,n._oneOverRadiiSquared),n._minimumRadius=e._minimumRadius,n._maximumRadius=e._maximumRadius,n._centerToleranceSquared=e._centerToleranceSquared,n):new N(i.x,i.y,i.z)},N.fromCartesian3=function(e,n){return t.defined(n)||(n=new N),t.defined(e)?(T(n,e.x,e.y,e.z),n):n},N.WGS84=Object.freeze(new N(6378137,6378137,6356752.314245179)),N.CGCS2000=Object.freeze(new N(6378137,6378137,6356752.314140356)),N.MOON2000=Object.freeze(new N(1737400,1737400,1737400)),N.UNIT_SPHERE=Object.freeze(new N(1,1,1)),N.MOON=Object.freeze(new N(n.CesiumMath.LUNAR_RADIUS,n.CesiumMath.LUNAR_RADIUS,n.CesiumMath.LUNAR_RADIUS)),N.prototype.clone=function(e){return N.clone(this,e)},N.packedLength=a.packedLength,N.pack=function(e,n,i){return i=t.defaultValue(i,0),a.pack(e._radii,n,i),n},N.unpack=function(e,n,i){n=t.defaultValue(n,0);const r=a.unpack(e,n);return N.fromCartesian3(r,i)},N.prototype.geocentricSurfaceNormal=a.normalize,N.prototype.geodeticSurfaceNormalCartographic=function(e,n){const i=e.longitude,r=e.latitude,o=Math.cos(r),u=o*Math.cos(i),s=o*Math.sin(i),c=Math.sin(r);return t.defined(n)||(n=new a),n.x=u,n.y=s,n.z=c,a.normalize(n,n)},N.prototype.geodeticSurfaceNormal=function(e,i){if(!a.equalsEpsilon(e,a.ZERO,n.CesiumMath.EPSILON14))return t.defined(i)||(i=new a),i=a.multiplyComponents(e,this._oneOverRadiiSquared,i),a.normalize(i,i)};const A=new a,v=new a;N.prototype.cartographicToCartesian=function(e,n){const i=A,r=v;this.geodeticSurfaceNormalCartographic(e,i),a.multiplyComponents(this._radiiSquared,i,r);const o=Math.sqrt(a.dot(i,r));return a.divideByScalar(r,o,r),a.multiplyByScalar(i,e.height,i),t.defined(n)||(n=new a),a.add(r,i,n)},N.prototype.cartographicArrayToCartesianArray=function(e,n){const i=e.length;t.defined(n)?n.length=i:n=new Array(i);for(let t=0;t<i;t++)n[t]=this.cartographicToCartesian(e[t],n[t]);return n};const V=new a,I=new a,U=new a;N.prototype.cartesianToCartographic=function(e,i){const r=this.scaleToGeodeticSurface(e,I);if(!t.defined(r))return;const o=this.geodeticSurfaceNormal(r,V),u=a.subtract(e,r,U),s=Math.atan2(o.y,o.x),c=Math.asin(o.z),d=n.CesiumMath.sign(a.dot(u,e))*a.magnitude(u);return t.defined(i)?(i.longitude=s,i.latitude=c,i.height=d,i):new z(s,c,d)},N.prototype.cartesianArrayToCartographicArray=function(e,n){const i=e.length;t.defined(n)?n.length=i:n=new Array(i);for(let t=0;t<i;++t)n[t]=this.cartesianToCartographic(e[t],n[t]);return n},N.prototype.scaleToGeodeticSurface=function(e,t){return x(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)},N.prototype.scaleToGeocentricSurface=function(e,n){t.defined(n)||(n=new a);const i=e.x,r=e.y,o=e.z,u=this._oneOverRadiiSquared,s=1/Math.sqrt(i*i*u.x+r*r*u.y+o*o*u.z);return a.multiplyByScalar(e,s,n)},N.prototype.transformPositionToScaledSpace=function(e,n){return t.defined(n)||(n=new a),a.multiplyComponents(e,this._oneOverRadii,n)},N.prototype.transformPositionFromScaledSpace=function(e,n){return t.defined(n)||(n=new a),a.multiplyComponents(e,this._radii,n)},N.prototype.equals=function(e){return this===e||t.defined(e)&&a.equals(this._radii,e._radii)},N.prototype.toString=function(){return this._radii.toString()},N.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,n,i){n=t.defaultValue(n,0);const r=this._squaredXOverSquaredZ;if(t.defined(i)||(i=new a),i.x=0,i.y=0,i.z=e.z*(1-r),!(Math.abs(i.z)>=this._radii.z-n))return i};const k=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],L=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function B(e,t,n){const i=.5*(t+e),r=.5*(t-e);let a=0;for(let e=0;e<5;e++){const t=r*k[e];a+=L[e]*(n(i+t)+n(i-t))}return a*=r,a}function j(e,n,i,r,a,o,u,s,c){this[0]=t.defaultValue(e,0),this[1]=t.defaultValue(r,0),this[2]=t.defaultValue(u,0),this[3]=t.defaultValue(n,0),this[4]=t.defaultValue(a,0),this[5]=t.defaultValue(s,0),this[6]=t.defaultValue(i,0),this[7]=t.defaultValue(o,0),this[8]=t.defaultValue(c,0)}N.prototype.surfaceArea=function(e){const t=e.west;let i=e.east;const r=e.south,a=e.north;for(;i<t;)i+=n.CesiumMath.TWO_PI;const o=this._radiiSquared,u=o.x,s=o.y,c=o.z,d=u*s;return B(r,a,(function(e){const n=Math.cos(e),r=Math.sin(e);return Math.cos(e)*B(t,i,(function(e){const t=Math.cos(e),i=Math.sin(e);return Math.sqrt(d*r*r+c*(s*t*t+u*i*i)*n*n)}))}))},j.packedLength=9,j.pack=function(e,n,i){return i=t.defaultValue(i,0),n[i++]=e[0],n[i++]=e[1],n[i++]=e[2],n[i++]=e[3],n[i++]=e[4],n[i++]=e[5],n[i++]=e[6],n[i++]=e[7],n[i++]=e[8],n},j.unpack=function(e,n,i){return n=t.defaultValue(n,0),t.defined(i)||(i=new j),i[0]=e[n++],i[1]=e[n++],i[2]=e[n++],i[3]=e[n++],i[4]=e[n++],i[5]=e[n++],i[6]=e[n++],i[7]=e[n++],i[8]=e[n++],i},j.packArray=function(e,n){const i=e.length,r=9*i;t.defined(n)?(Array.isArray(n)||n.length===r)&&n.length!==r&&(n.length=r):n=new Array(r);for(let t=0;t<i;++t)j.pack(e[t],n,9*t);return n},j.unpackArray=function(e,n){const i=e.length;t.defined(n)?n.length=i/9:n=new Array(i/9);for(let t=0;t<i;t+=9){const i=t/9;n[i]=j.unpack(e,t,n[i])}return n},j.clone=function(e,n){if(t.defined(e))return t.defined(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n):new j(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])},j.fromArray=j.unpack,j.fromColumnMajorArray=function(e,t){return j.clone(e,t)},j.fromRowMajorArray=function(e,n){return t.defined(n)?(n[0]=e[0],n[1]=e[3],n[2]=e[6],n[3]=e[1],n[4]=e[4],n[5]=e[7],n[6]=e[2],n[7]=e[5],n[8]=e[8],n):new j(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},j.fromQuaternion=function(e,n){const i=e.x*e.x,r=e.x*e.y,a=e.x*e.z,o=e.x*e.w,u=e.y*e.y,s=e.y*e.z,c=e.y*e.w,d=e.z*e.z,l=e.z*e.w,f=e.w*e.w,h=i-u-d+f,m=2*(r-l),y=2*(a+c),p=2*(r+l),g=-i+u-d+f,x=2*(s-o),z=2*(a-c),M=2*(s+o),w=-i-u+d+f;return t.defined(n)?(n[0]=h,n[1]=p,n[2]=z,n[3]=m,n[4]=g,n[5]=M,n[6]=y,n[7]=x,n[8]=w,n):new j(h,m,y,p,g,x,z,M,w)},j.fromHeadingPitchRoll=function(e,n){const i=Math.cos(-e.pitch),r=Math.cos(-e.heading),a=Math.cos(e.roll),o=Math.sin(-e.pitch),u=Math.sin(-e.heading),s=Math.sin(e.roll),c=i*r,d=-a*u+s*o*r,l=s*u+a*o*r,f=i*u,h=a*r+s*o*u,m=-s*r+a*o*u,y=-o,p=s*i,g=a*i;return t.defined(n)?(n[0]=c,n[1]=f,n[2]=y,n[3]=d,n[4]=h,n[5]=p,n[6]=l,n[7]=m,n[8]=g,n):new j(c,d,l,f,h,m,y,p,g)},j.fromScale=function(e,n){return t.defined(n)?(n[0]=e.x,n[1]=0,n[2]=0,n[3]=0,n[4]=e.y,n[5]=0,n[6]=0,n[7]=0,n[8]=e.z,n):new j(e.x,0,0,0,e.y,0,0,0,e.z)},j.fromUniformScale=function(e,n){return t.defined(n)?(n[0]=e,n[1]=0,n[2]=0,n[3]=0,n[4]=e,n[5]=0,n[6]=0,n[7]=0,n[8]=e,n):new j(e,0,0,0,e,0,0,0,e)},j.fromCrossProduct=function(e,n){return t.defined(n)?(n[0]=0,n[1]=e.z,n[2]=-e.y,n[3]=-e.z,n[4]=0,n[5]=e.x,n[6]=e.y,n[7]=-e.x,n[8]=0,n):new j(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)},j.fromRotationX=function(e,n){const i=Math.cos(e),r=Math.sin(e);return t.defined(n)?(n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=i,n[5]=r,n[6]=0,n[7]=-r,n[8]=i,n):new j(1,0,0,0,i,-r,0,r,i)},j.fromRotationY=function(e,n){const i=Math.cos(e),r=Math.sin(e);return t.defined(n)?(n[0]=i,n[1]=0,n[2]=-r,n[3]=0,n[4]=1,n[5]=0,n[6]=r,n[7]=0,n[8]=i,n):new j(i,0,r,0,1,0,-r,0,i)},j.fromRotationZ=function(e,n){const i=Math.cos(e),r=Math.sin(e);return t.defined(n)?(n[0]=i,n[1]=r,n[2]=0,n[3]=-r,n[4]=i,n[5]=0,n[6]=0,n[7]=0,n[8]=1,n):new j(i,-r,0,r,i,0,0,0,1)},j.toArray=function(e,n){return t.defined(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},j.getElementIndex=function(e,t){return 3*e+t},j.getColumn=function(e,t,n){const i=3*t,r=e[i],a=e[i+1],o=e[i+2];return n.x=r,n.y=a,n.z=o,n},j.setColumn=function(e,t,n,i){const r=3*t;return(i=j.clone(e,i))[r]=n.x,i[r+1]=n.y,i[r+2]=n.z,i},j.getRow=function(e,t,n){const i=e[t],r=e[t+3],a=e[t+6];return n.x=i,n.y=r,n.z=a,n},j.setRow=function(e,t,n,i){return(i=j.clone(e,i))[t]=n.x,i[t+3]=n.y,i[t+6]=n.z,i};const P=new a;j.setScale=function(e,t,n){const i=j.getScale(e,P),r=t.x/i.x,a=t.y/i.y,o=t.z/i.z;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*a,n[4]=e[4]*a,n[5]=e[5]*a,n[6]=e[6]*o,n[7]=e[7]*o,n[8]=e[8]*o,n};const $=new a;j.setUniformScale=function(e,t,n){const i=j.getScale(e,$),r=t/i.x,a=t/i.y,o=t/i.z;return n[0]=e[0]*r,n[1]=e[1]*r,n[2]=e[2]*r,n[3]=e[3]*a,n[4]=e[4]*a,n[5]=e[5]*a,n[6]=e[6]*o,n[7]=e[7]*o,n[8]=e[8]*o,n};const D=new a;j.getScale=function(e,t){return t.x=a.magnitude(a.fromElements(e[0],e[1],e[2],D)),t.y=a.magnitude(a.fromElements(e[3],e[4],e[5],D)),t.z=a.magnitude(a.fromElements(e[6],e[7],e[8],D)),t};const W=new a;j.getMaximumScale=function(e){return j.getScale(e,W),a.maximumComponent(W)};const Z=new a;j.setRotation=function(e,t,n){const i=j.getScale(e,Z);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=t[3]*i.y,n[4]=t[4]*i.y,n[5]=t[5]*i.y,n[6]=t[6]*i.z,n[7]=t[7]*i.z,n[8]=t[8]*i.z,n};const F=new a;j.getRotation=function(e,t){const n=j.getScale(e,F);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t},j.multiply=function(e,t,n){const i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],r=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],a=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],o=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],u=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],s=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],c=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],d=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],l=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=i,n[1]=r,n[2]=a,n[3]=o,n[4]=u,n[5]=s,n[6]=c,n[7]=d,n[8]=l,n},j.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n},j.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n},j.multiplyByVector=function(e,t,n){const i=t.x,r=t.y,a=t.z,o=e[0]*i+e[3]*r+e[6]*a,u=e[1]*i+e[4]*r+e[7]*a,s=e[2]*i+e[5]*r+e[8]*a;return n.x=o,n.y=u,n.z=s,n},j.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n},j.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n},j.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n},j.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t},j.transpose=function(e,t){const n=e[0],i=e[3],r=e[6],a=e[1],o=e[4],u=e[7],s=e[2],c=e[5],d=e[8];return t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o,t[5]=u,t[6]=s,t[7]=c,t[8]=d,t};const G=[1,0,0],H=[2,2,1];function X(e){let t=0;for(let n=0;n<3;++n){const i=e[j.getElementIndex(H[n],G[n])];t+=2*i*i}return Math.sqrt(t)}function Y(e,t){const i=n.CesiumMath.EPSILON15;let r=0,a=1;for(let t=0;t<3;++t){const n=Math.abs(e[j.getElementIndex(H[t],G[t])]);n>r&&(a=t,r=n)}let o=1,u=0;const s=G[a],c=H[a];if(Math.abs(e[j.getElementIndex(c,s)])>i){const t=(e[j.getElementIndex(c,c)]-e[j.getElementIndex(s,s)])/2/e[j.getElementIndex(c,s)];let n;n=t<0?-1/(-t+Math.sqrt(1+t*t)):1/(t+Math.sqrt(1+t*t)),o=1/Math.sqrt(1+n*n),u=n*o}return(t=j.clone(j.IDENTITY,t))[j.getElementIndex(s,s)]=t[j.getElementIndex(c,c)]=o,t[j.getElementIndex(c,s)]=u,t[j.getElementIndex(s,c)]=-u,t}const Q=new j,J=new j;j.computeEigenDecomposition=function(e,i){const r=n.CesiumMath.EPSILON20;let a=0,o=0;t.defined(i)||(i={});const u=i.unitary=j.clone(j.IDENTITY,i.unitary),s=i.diagonal=j.clone(e,i.diagonal),c=r*function(e){let t=0;for(let n=0;n<9;++n){const i=e[n];t+=i*i}return Math.sqrt(t)}(s);for(;o<10&&X(s)>c;)Y(s,Q),j.transpose(Q,J),j.multiply(s,Q,s),j.multiply(J,s,s),j.multiply(u,Q,u),++a>2&&(++o,a=0);return i},j.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t},j.determinant=function(e){const t=e[0],n=e[3],i=e[6],r=e[1],a=e[4],o=e[7],u=e[2],s=e[5],c=e[8];return t*(a*c-s*o)+r*(s*i-n*c)+u*(n*o-a*i)},j.inverse=function(e,t){const n=e[0],i=e[1],r=e[2],a=e[3],o=e[4],u=e[5],s=e[6],c=e[7],d=e[8],l=j.determinant(e);t[0]=o*d-c*u,t[1]=c*r-i*d,t[2]=i*u-o*r,t[3]=s*u-a*d,t[4]=n*d-s*r,t[5]=a*r-n*u,t[6]=a*c-s*o,t[7]=s*i-n*c,t[8]=n*o-a*i;const f=1/l;return j.multiplyByScalar(t,f,t)};const K=new j;j.inverseTranspose=function(e,t){return j.inverse(j.transpose(e,K),t)},j.equals=function(e,n){return e===n||t.defined(e)&&t.defined(n)&&e[0]===n[0]&&e[1]===n[1]&&e[2]===n[2]&&e[3]===n[3]&&e[4]===n[4]&&e[5]===n[5]&&e[6]===n[6]&&e[7]===n[7]&&e[8]===n[8]},j.equalsEpsilon=function(e,n,i){return i=t.defaultValue(i,0),e===n||t.defined(e)&&t.defined(n)&&Math.abs(e[0]-n[0])<=i&&Math.abs(e[1]-n[1])<=i&&Math.abs(e[2]-n[2])<=i&&Math.abs(e[3]-n[3])<=i&&Math.abs(e[4]-n[4])<=i&&Math.abs(e[5]-n[5])<=i&&Math.abs(e[6]-n[6])<=i&&Math.abs(e[7]-n[7])<=i&&Math.abs(e[8]-n[8])<=i},j.IDENTITY=Object.freeze(new j(1,0,0,0,1,0,0,0,1)),j.ZERO=Object.freeze(new j(0,0,0,0,0,0,0,0,0)),j.COLUMN0ROW0=0,j.COLUMN0ROW1=1,j.COLUMN0ROW2=2,j.COLUMN1ROW0=3,j.COLUMN1ROW1=4,j.COLUMN1ROW2=5,j.COLUMN2ROW0=6,j.COLUMN2ROW1=7,j.COLUMN2ROW2=8,Object.defineProperties(j.prototype,{length:{get:function(){return j.packedLength}}}),j.prototype.clone=function(e){return j.clone(this,e)},j.prototype.equals=function(e){return j.equals(this,e)},j.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]},j.prototype.equalsEpsilon=function(e,t){return j.equalsEpsilon(this,e,t)},j.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]})\n(${this[1]}, ${this[4]}, ${this[7]})\n(${this[2]}, ${this[5]}, ${this[8]})`},e.Cartesian3=a,e.Cartographic=z,e.Ellipsoid=N,e.ExternalParameter=r,e.Matrix3=j}));