define(["exports","./when-cbf8cd21","./Check-35e1a91d","./Math-e66fad2a","./Cartesian2-44433f55"],function(e,C,t,h,u){"use strict";function n(e){this._ellipsoid=C.defaultValue(e,u.Ellipsoid.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}function w(e,t,n,r,a,i,u,o,s){this[0]=C.defaultValue(e,0),this[1]=C.defaultValue(r,0),this[2]=C.defaultValue(u,0),this[3]=C.defaultValue(t,0),this[4]=C.defaultValue(a,0),this[5]=C.defaultValue(o,0),this[6]=C.defaultValue(n,0),this[7]=C.defaultValue(i,0),this[8]=C.defaultValue(s,0)}Object.defineProperties(n.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),n.prototype.project=function(e,t){var n=this._semimajorAxis,r=e.longitude*n,a=e.latitude*n,i=e.height;return C.defined(t)?(t.x=r,t.y=a,t.z=i,t):new u.Cartesian3(r,a,i)},n.prototype.unproject=function(e,t){var n=this._oneOverSemimajorAxis,r=e.x*n,a=e.y*n,i=e.z;return C.defined(t)?(t.longitude=r,t.latitude=a,t.height=i,t):new u.Cartographic(r,a,i)},w.packedLength=9,w.pack=function(e,t,n){return n=C.defaultValue(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t},w.unpack=function(e,t,n){return t=C.defaultValue(t,0),C.defined(n)||(n=new w),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n},w.clone=function(e,t){if(C.defined(e))return C.defined(t)?(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):new w(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])},w.fromArray=function(e,t,n){return t=C.defaultValue(t,0),C.defined(n)||(n=new w),n[0]=e[t],n[1]=e[t+1],n[2]=e[t+2],n[3]=e[t+3],n[4]=e[t+4],n[5]=e[t+5],n[6]=e[t+6],n[7]=e[t+7],n[8]=e[t+8],n},w.fromColumnMajorArray=function(e,t){return w.clone(e,t)},w.fromRowMajorArray=function(e,t){return C.defined(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new w(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},w.fromQuaternion=function(e,t){var n=e.x*e.x,r=e.x*e.y,a=e.x*e.z,i=e.x*e.w,u=e.y*e.y,o=e.y*e.z,s=e.y*e.w,l=e.z*e.z,f=e.z*e.w,c=e.w*e.w,d=n-u-l+c,h=2*(r-f),m=2*(a+s),p=2*(r+f),M=u-n-l+c,y=2*(o-i),x=2*(a-s),g=2*(o+i),v=-n-u+l+c;return C.defined(t)?(t[0]=d,t[1]=p,t[2]=x,t[3]=h,t[4]=M,t[5]=g,t[6]=m,t[7]=y,t[8]=v,t):new w(d,h,m,p,M,y,x,g,v)},w.fromHeadingPitchRoll=function(e,t){var n=Math.cos(-e.pitch),r=Math.cos(-e.heading),a=Math.cos(e.roll),i=Math.sin(-e.pitch),u=Math.sin(-e.heading),o=Math.sin(e.roll),s=n*r,l=-a*u+o*i*r,f=o*u+a*i*r,c=n*u,d=a*r+o*i*u,h=-o*r+a*i*u,m=-i,p=o*n,M=a*n;return C.defined(t)?(t[0]=s,t[1]=c,t[2]=m,t[3]=l,t[4]=d,t[5]=p,t[6]=f,t[7]=h,t[8]=M,t):new w(s,l,f,c,d,h,m,p,M)},w.fromScale=function(e,t){return C.defined(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new w(e.x,0,0,0,e.y,0,0,0,e.z)},w.fromUniformScale=function(e,t){return C.defined(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new w(e,0,0,0,e,0,0,0,e)},w.fromCrossProduct=function(e,t){return C.defined(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new w(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)},w.fromRotationX=function(e,t){var n=Math.cos(e),r=Math.sin(e);return C.defined(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=r,t[6]=0,t[7]=-r,t[8]=n,t):new w(1,0,0,0,n,-r,0,r,n)},w.fromRotationY=function(e,t){var n=Math.cos(e),r=Math.sin(e);return C.defined(t)?(t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=1,t[5]=0,t[6]=r,t[7]=0,t[8]=n,t):new w(n,0,r,0,1,0,-r,0,n)},w.fromRotationZ=function(e,t){var n=Math.cos(e),r=Math.sin(e);return C.defined(t)?(t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new w(n,-r,0,r,n,0,0,0,1)},w.toArray=function(e,t){return C.defined(t)?(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):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]},w.getElementIndex=function(e,t){return 3*e+t},w.getColumn=function(e,t,n){var r=3*t,a=e[r],i=e[1+r],u=e[2+r];return n.x=a,n.y=i,n.z=u,n},w.setColumn=function(e,t,n,r){var a=3*t;return(r=w.clone(e,r))[a]=n.x,r[1+a]=n.y,r[2+a]=n.z,r},w.getRow=function(e,t,n){var r=e[t],a=e[t+3],i=e[t+6];return n.x=r,n.y=a,n.z=i,n},w.setRow=function(e,t,n,r){return(r=w.clone(e,r))[t]=n.x,r[t+3]=n.y,r[t+6]=n.z,r};var r=new u.Cartesian3;w.getScale=function(e,t){return t.x=u.Cartesian3.magnitude(u.Cartesian3.fromElements(e[0],e[1],e[2],r)),t.y=u.Cartesian3.magnitude(u.Cartesian3.fromElements(e[3],e[4],e[5],r)),t.z=u.Cartesian3.magnitude(u.Cartesian3.fromElements(e[6],e[7],e[8],r)),t};var a=new u.Cartesian3;w.getMaximumScale=function(e){return w.getScale(e,a),u.Cartesian3.maximumComponent(a)},w.multiply=function(e,t,n){var r=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],a=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],i=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],u=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],o=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],l=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],f=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],c=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=r,n[1]=a,n[2]=i,n[3]=u,n[4]=o,n[5]=s,n[6]=l,n[7]=f,n[8]=c,n},w.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},w.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},w.multiplyByVector=function(e,t,n){var r=t.x,a=t.y,i=t.z,u=e[0]*r+e[3]*a+e[6]*i,o=e[1]*r+e[4]*a+e[7]*i,s=e[2]*r+e[5]*a+e[8]*i;return n.x=u,n.y=o,n.z=s,n},w.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},w.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},w.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},w.transpose=function(e,t){var n=e[0],r=e[3],a=e[6],i=e[1],u=e[4],o=e[7],s=e[2],l=e[5],f=e[8];return t[0]=n,t[1]=r,t[2]=a,t[3]=i,t[4]=u,t[5]=o,t[6]=s,t[7]=l,t[8]=f,t};var i=new u.Cartesian3(1,1,1);w.getRotation=function(e,t){var n=u.Cartesian3.divideComponents(i,w.getScale(e,a),a);return t=w.multiplyByScale(e,n,t)};var m=[1,0,0],p=[2,2,1];var s=new w,l=new w;w.computeEigenDecomposition=function(e,t){var n=h.CesiumMath.EPSILON20,r=0,a=0;C.defined(t)||(t={});for(var i=t.unitary=w.clone(w.IDENTITY,t.unitary),u=t.diagonal=w.clone(e,t.diagonal),o=n*function(e){for(var t=0,n=0;n<9;++n){var r=e[n];t+=r*r}return Math.sqrt(t)}(u);a<10&&function(e){for(var t=0,n=0;n<3;++n){var r=e[w.getElementIndex(p[n],m[n])];t+=2*r*r}return Math.sqrt(t)}(u)>o;)!function(e,t){for(var n=h.CesiumMath.EPSILON15,r=0,a=1,i=0;i<3;++i){var u=Math.abs(e[w.getElementIndex(p[i],m[i])]);r<u&&(a=i,r=u)}var o,s,l=1,f=0,c=m[a],d=p[a];Math.abs(e[w.getElementIndex(d,c)])>n&&(f=(s=(o=(e[w.getElementIndex(d,d)]-e[w.getElementIndex(c,c)])/2/e[w.getElementIndex(d,c)])<0?-1/(-o+Math.sqrt(1+o*o)):1/(o+Math.sqrt(1+o*o)))*(l=1/Math.sqrt(1+s*s))),(t=w.clone(w.IDENTITY,t))[w.getElementIndex(c,c)]=t[w.getElementIndex(d,d)]=l,t[w.getElementIndex(d,c)]=f,t[w.getElementIndex(c,d)]=-f}(u,s),w.transpose(s,l),w.multiply(u,s,u),w.multiply(l,u,u),w.multiply(i,s,i),2<++r&&(++a,r=0);return t},w.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},w.determinant=function(e){var t=e[0],n=e[3],r=e[6],a=e[1],i=e[4],u=e[7],o=e[2],s=e[5],l=e[8];return t*(i*l-s*u)+a*(s*r-n*l)+o*(n*u-i*r)},w.inverse=function(e,t){var n=e[0],r=e[1],a=e[2],i=e[3],u=e[4],o=e[5],s=e[6],l=e[7],f=e[8],c=w.determinant(e);return t[0]=u*f-l*o,t[1]=l*a-r*f,t[2]=r*o-u*a,t[3]=s*o-i*f,t[4]=n*f-s*a,t[5]=i*a-n*o,t[6]=i*l-s*u,t[7]=s*r-n*l,t[8]=n*u-i*r,w.multiplyByScalar(t,1/c,t)};var o=new w;w.inverseTranspose=function(e,t){return w.inverse(w.transpose(e,o),t)},w.equals=function(e,t){return e===t||C.defined(e)&&C.defined(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},w.equalsEpsilon=function(e,t,n){return n=C.defaultValue(n,0),e===t||C.defined(e)&&C.defined(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n},w.IDENTITY=Object.freeze(new w(1,0,0,0,1,0,0,0,1)),w.ZERO=Object.freeze(new w(0,0,0,0,0,0,0,0,0)),w.COLUMN0ROW0=0,w.COLUMN0ROW1=1,w.COLUMN0ROW2=2,w.COLUMN1ROW0=3,w.COLUMN1ROW1=4,w.COLUMN1ROW2=5,w.COLUMN2ROW0=6,w.COLUMN2ROW1=7,w.COLUMN2ROW2=8,Object.defineProperties(w.prototype,{length:{get:function(){return w.packedLength}}}),w.prototype.clone=function(e){return w.clone(this,e)},w.prototype.equals=function(e){return w.equals(this,e)},w.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]},w.prototype.equalsEpsilon=function(e,t){return w.equalsEpsilon(this,e,t)},w.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.GeographicProjection=n,e.Interval=function(e,t){this.start=C.defaultValue(e,0),this.stop=C.defaultValue(t,0)},e.Matrix3=w});