Matrix4-cde86d0e.js 24 KB

1
  1. define(["exports","./Cartographic-3309dd0d","./Cartesian4-3ca25aab","./Check-7b2a090c","./when-b60132fc","./Math-119be1a3","./RuntimeError-4a5c8994"],(function(t,n,e,a,r,i,u){"use strict";function o(t,n,e,a,i,u,o,s,l){this[0]=r.defaultValue(t,0),this[1]=r.defaultValue(a,0),this[2]=r.defaultValue(o,0),this[3]=r.defaultValue(n,0),this[4]=r.defaultValue(i,0),this[5]=r.defaultValue(s,0),this[6]=r.defaultValue(e,0),this[7]=r.defaultValue(u,0),this[8]=r.defaultValue(l,0)}o.packedLength=9,o.pack=function(t,n,e){return e=r.defaultValue(e,0),n[e++]=t[0],n[e++]=t[1],n[e++]=t[2],n[e++]=t[3],n[e++]=t[4],n[e++]=t[5],n[e++]=t[6],n[e++]=t[7],n[e++]=t[8],n},o.unpack=function(t,n,e){return n=r.defaultValue(n,0),r.defined(e)||(e=new o),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[n++],e},o.clone=function(t,n){if(r.defined(t))return r.defined(n)?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n):new o(t[0],t[3],t[6],t[1],t[4],t[7],t[2],t[5],t[8])},o.fromArray=function(t,n,e){return n=r.defaultValue(n,0),r.defined(e)||(e=new o),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],e},o.fromColumnMajorArray=function(t,n){return o.clone(t,n)},o.fromRowMajorArray=function(t,n){return r.defined(n)?(n[0]=t[0],n[1]=t[3],n[2]=t[6],n[3]=t[1],n[4]=t[4],n[5]=t[7],n[6]=t[2],n[7]=t[5],n[8]=t[8],n):new o(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},o.fromQuaternion=function(t,n){var e=t.x*t.x,a=t.x*t.y,i=t.x*t.z,u=t.x*t.w,s=t.y*t.y,l=t.y*t.z,f=t.y*t.w,c=t.z*t.z,d=t.z*t.w,h=t.w*t.w,m=e-s-c+h,y=2*(a-d),M=2*(i+f),C=2*(a+d),p=-e+s-c+h,x=2*(l-u),w=2*(i-f),v=2*(l+u),b=-e-s+c+h;return r.defined(n)?(n[0]=m,n[1]=C,n[2]=w,n[3]=y,n[4]=p,n[5]=v,n[6]=M,n[7]=x,n[8]=b,n):new o(m,y,M,C,p,x,w,v,b)},o.fromHeadingPitchRoll=function(t,n){var e=Math.cos(-t.pitch),a=Math.cos(-t.heading),i=Math.cos(t.roll),u=Math.sin(-t.pitch),s=Math.sin(-t.heading),l=Math.sin(t.roll),f=e*a,c=-i*s+l*u*a,d=l*s+i*u*a,h=e*s,m=i*a+l*u*s,y=-l*a+i*u*s,M=-u,C=l*e,p=i*e;return r.defined(n)?(n[0]=f,n[1]=h,n[2]=M,n[3]=c,n[4]=m,n[5]=C,n[6]=d,n[7]=y,n[8]=p,n):new o(f,c,d,h,m,y,M,C,p)},o.fromScale=function(t,n){return r.defined(n)?(n[0]=t.x,n[1]=0,n[2]=0,n[3]=0,n[4]=t.y,n[5]=0,n[6]=0,n[7]=0,n[8]=t.z,n):new o(t.x,0,0,0,t.y,0,0,0,t.z)},o.fromUniformScale=function(t,n){return r.defined(n)?(n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=t,n[5]=0,n[6]=0,n[7]=0,n[8]=t,n):new o(t,0,0,0,t,0,0,0,t)},o.fromCrossProduct=function(t,n){return r.defined(n)?(n[0]=0,n[1]=t.z,n[2]=-t.y,n[3]=-t.z,n[4]=0,n[5]=t.x,n[6]=t.y,n[7]=-t.x,n[8]=0,n):new o(0,-t.z,t.y,t.z,0,-t.x,-t.y,t.x,0)},o.fromRotationX=function(t,n){var e=Math.cos(t),a=Math.sin(t);return r.defined(n)?(n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=e,n[5]=a,n[6]=0,n[7]=-a,n[8]=e,n):new o(1,0,0,0,e,-a,0,a,e)},o.fromRotationY=function(t,n){var e=Math.cos(t),a=Math.sin(t);return r.defined(n)?(n[0]=e,n[1]=0,n[2]=-a,n[3]=0,n[4]=1,n[5]=0,n[6]=a,n[7]=0,n[8]=e,n):new o(e,0,a,0,1,0,-a,0,e)},o.fromRotationZ=function(t,n){var e=Math.cos(t),a=Math.sin(t);return r.defined(n)?(n[0]=e,n[1]=a,n[2]=0,n[3]=-a,n[4]=e,n[5]=0,n[6]=0,n[7]=0,n[8]=1,n):new o(e,-a,0,a,e,0,0,0,1)},o.toArray=function(t,n){return r.defined(n)?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]]},o.getElementIndex=function(t,n){return 3*t+n},o.getColumn=function(t,n,e){var a=3*n,r=t[a],i=t[a+1],u=t[a+2];return e.x=r,e.y=i,e.z=u,e},o.setColumn=function(t,n,e,a){var r=3*n;return(a=o.clone(t,a))[r]=e.x,a[r+1]=e.y,a[r+2]=e.z,a},o.getRow=function(t,n,e){var a=t[n],r=t[n+3],i=t[n+6];return e.x=a,e.y=r,e.z=i,e},o.setRow=function(t,n,e,a){return(a=o.clone(t,a))[n]=e.x,a[n+3]=e.y,a[n+6]=e.z,a};var s=new n.Cartesian3;o.getScale=function(t,e){return e.x=n.Cartesian3.magnitude(n.Cartesian3.fromElements(t[0],t[1],t[2],s)),e.y=n.Cartesian3.magnitude(n.Cartesian3.fromElements(t[3],t[4],t[5],s)),e.z=n.Cartesian3.magnitude(n.Cartesian3.fromElements(t[6],t[7],t[8],s)),e};var l=new n.Cartesian3;o.getMaximumScale=function(t){return o.getScale(t,l),n.Cartesian3.maximumComponent(l)},o.multiply=function(t,n,e){var a=t[0]*n[0]+t[3]*n[1]+t[6]*n[2],r=t[1]*n[0]+t[4]*n[1]+t[7]*n[2],i=t[2]*n[0]+t[5]*n[1]+t[8]*n[2],u=t[0]*n[3]+t[3]*n[4]+t[6]*n[5],o=t[1]*n[3]+t[4]*n[4]+t[7]*n[5],s=t[2]*n[3]+t[5]*n[4]+t[8]*n[5],l=t[0]*n[6]+t[3]*n[7]+t[6]*n[8],f=t[1]*n[6]+t[4]*n[7]+t[7]*n[8],c=t[2]*n[6]+t[5]*n[7]+t[8]*n[8];return e[0]=a,e[1]=r,e[2]=i,e[3]=u,e[4]=o,e[5]=s,e[6]=l,e[7]=f,e[8]=c,e},o.add=function(t,n,e){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e[4]=t[4]+n[4],e[5]=t[5]+n[5],e[6]=t[6]+n[6],e[7]=t[7]+n[7],e[8]=t[8]+n[8],e},o.subtract=function(t,n,e){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e[3]=t[3]-n[3],e[4]=t[4]-n[4],e[5]=t[5]-n[5],e[6]=t[6]-n[6],e[7]=t[7]-n[7],e[8]=t[8]-n[8],e},o.multiplyByVector=function(t,n,e){var a=n.x,r=n.y,i=n.z,u=t[0]*a+t[3]*r+t[6]*i,o=t[1]*a+t[4]*r+t[7]*i,s=t[2]*a+t[5]*r+t[8]*i;return e.x=u,e.y=o,e.z=s,e},o.multiplyByScalar=function(t,n,e){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*n,e},o.multiplyByScale=function(t,n,e){return e[0]=t[0]*n.x,e[1]=t[1]*n.x,e[2]=t[2]*n.x,e[3]=t[3]*n.y,e[4]=t[4]*n.y,e[5]=t[5]*n.y,e[6]=t[6]*n.z,e[7]=t[7]*n.z,e[8]=t[8]*n.z,e},o.negate=function(t,n){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n[3]=-t[3],n[4]=-t[4],n[5]=-t[5],n[6]=-t[6],n[7]=-t[7],n[8]=-t[8],n},o.transpose=function(t,n){var e=t[0],a=t[3],r=t[6],i=t[1],u=t[4],o=t[7],s=t[2],l=t[5],f=t[8];return n[0]=e,n[1]=a,n[2]=r,n[3]=i,n[4]=u,n[5]=o,n[6]=s,n[7]=l,n[8]=f,n};var f=new n.Cartesian3(1,1,1);o.getRotation=function(t,e){var a=n.Cartesian3.divideComponents(f,o.getScale(t,l),l);return e=o.multiplyByScale(t,a,e)};var c=[1,0,0],d=[2,2,1];function h(t){for(var n=0,e=0;e<3;++e){var a=t[o.getElementIndex(d[e],c[e])];n+=2*a*a}return Math.sqrt(n)}function m(t,n){for(var e=i.CesiumMath.EPSILON15,a=0,r=1,u=0;u<3;++u){var s=Math.abs(t[o.getElementIndex(d[u],c[u])]);s>a&&(r=u,a=s)}var l=1,f=0,h=c[r],m=d[r];if(Math.abs(t[o.getElementIndex(m,h)])>e){var y,M=(t[o.getElementIndex(m,m)]-t[o.getElementIndex(h,h)])/2/t[o.getElementIndex(m,h)];f=(y=M<0?-1/(-M+Math.sqrt(1+M*M)):1/(M+Math.sqrt(1+M*M)))*(l=1/Math.sqrt(1+y*y))}return(n=o.clone(o.IDENTITY,n))[o.getElementIndex(h,h)]=n[o.getElementIndex(m,m)]=l,n[o.getElementIndex(m,h)]=f,n[o.getElementIndex(h,m)]=-f,n}var y=new o,M=new o;function C(t,n,e,a,i,u,o,s,l,f,c,d,h,m,y,M){this[0]=r.defaultValue(t,0),this[1]=r.defaultValue(i,0),this[2]=r.defaultValue(l,0),this[3]=r.defaultValue(h,0),this[4]=r.defaultValue(n,0),this[5]=r.defaultValue(u,0),this[6]=r.defaultValue(f,0),this[7]=r.defaultValue(m,0),this[8]=r.defaultValue(e,0),this[9]=r.defaultValue(o,0),this[10]=r.defaultValue(c,0),this[11]=r.defaultValue(y,0),this[12]=r.defaultValue(a,0),this[13]=r.defaultValue(s,0),this[14]=r.defaultValue(d,0),this[15]=r.defaultValue(M,0)}o.computeEigenDecomposition=function(t,n){var e=i.CesiumMath.EPSILON20,a=0,u=0;r.defined(n)||(n={});for(var s=n.unitary=o.clone(o.IDENTITY,n.unitary),l=n.diagonal=o.clone(t,n.diagonal),f=e*function(t){for(var n=0,e=0;e<9;++e){var a=t[e];n+=a*a}return Math.sqrt(n)}(l);u<10&&h(l)>f;)m(l,y),o.transpose(y,M),o.multiply(l,y,l),o.multiply(M,l,l),o.multiply(s,y,s),++a>2&&(++u,a=0);return n},o.abs=function(t,n){return n[0]=Math.abs(t[0]),n[1]=Math.abs(t[1]),n[2]=Math.abs(t[2]),n[3]=Math.abs(t[3]),n[4]=Math.abs(t[4]),n[5]=Math.abs(t[5]),n[6]=Math.abs(t[6]),n[7]=Math.abs(t[7]),n[8]=Math.abs(t[8]),n},o.determinant=function(t){var n=t[0],e=t[3],a=t[6],r=t[1],i=t[4],u=t[7],o=t[2],s=t[5],l=t[8];return n*(i*l-s*u)+r*(s*a-e*l)+o*(e*u-i*a)},o.inverse=function(t,n){var e=t[0],a=t[1],r=t[2],i=t[3],u=t[4],s=t[5],l=t[6],f=t[7],c=t[8],d=o.determinant(t);n[0]=u*c-f*s,n[1]=f*r-a*c,n[2]=a*s-u*r,n[3]=l*s-i*c,n[4]=e*c-l*r,n[5]=i*r-e*s,n[6]=i*f-l*u,n[7]=l*a-e*f,n[8]=e*u-i*a;var h=1/d;return o.multiplyByScalar(n,h,n)},o.equals=function(t,n){return t===n||r.defined(t)&&r.defined(n)&&t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[3]===n[3]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[7]===n[7]&&t[8]===n[8]},o.equalsEpsilon=function(t,n,e){return t===n||r.defined(t)&&r.defined(n)&&Math.abs(t[0]-n[0])<=e&&Math.abs(t[1]-n[1])<=e&&Math.abs(t[2]-n[2])<=e&&Math.abs(t[3]-n[3])<=e&&Math.abs(t[4]-n[4])<=e&&Math.abs(t[5]-n[5])<=e&&Math.abs(t[6]-n[6])<=e&&Math.abs(t[7]-n[7])<=e&&Math.abs(t[8]-n[8])<=e},o.IDENTITY=Object.freeze(new o(1,0,0,0,1,0,0,0,1)),o.ZERO=Object.freeze(new o(0,0,0,0,0,0,0,0,0)),o.COLUMN0ROW0=0,o.COLUMN0ROW1=1,o.COLUMN0ROW2=2,o.COLUMN1ROW0=3,o.COLUMN1ROW1=4,o.COLUMN1ROW2=5,o.COLUMN2ROW0=6,o.COLUMN2ROW1=7,o.COLUMN2ROW2=8,Object.defineProperties(o.prototype,{length:{get:function(){return o.packedLength}}}),o.prototype.clone=function(t){return o.clone(this,t)},o.prototype.equals=function(t){return o.equals(this,t)},o.equalsArray=function(t,n,e){return t[0]===n[e]&&t[1]===n[e+1]&&t[2]===n[e+2]&&t[3]===n[e+3]&&t[4]===n[e+4]&&t[5]===n[e+5]&&t[6]===n[e+6]&&t[7]===n[e+7]&&t[8]===n[e+8]},o.prototype.equalsEpsilon=function(t,n){return o.equalsEpsilon(this,t,n)},o.prototype.toString=function(){return"("+this[0]+", "+this[3]+", "+this[6]+")\n("+this[1]+", "+this[4]+", "+this[7]+")\n("+this[2]+", "+this[5]+", "+this[8]+")"},C.packedLength=16,C.pack=function(t,n,e){return e=r.defaultValue(e,0),n[e++]=t[0],n[e++]=t[1],n[e++]=t[2],n[e++]=t[3],n[e++]=t[4],n[e++]=t[5],n[e++]=t[6],n[e++]=t[7],n[e++]=t[8],n[e++]=t[9],n[e++]=t[10],n[e++]=t[11],n[e++]=t[12],n[e++]=t[13],n[e++]=t[14],n[e]=t[15],n},C.unpack=function(t,n,e){return n=r.defaultValue(n,0),r.defined(e)||(e=new C),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[n++],e[9]=t[n++],e[10]=t[n++],e[11]=t[n++],e[12]=t[n++],e[13]=t[n++],e[14]=t[n++],e[15]=t[n],e},C.clone=function(t,n){if(r.defined(t))return r.defined(n)?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n):new C(t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15])},C.fromArray=C.unpack,C.fromColumnMajorArray=function(t,n){return C.clone(t,n)},C.fromRowMajorArray=function(t,n){return r.defined(n)?(n[0]=t[0],n[1]=t[4],n[2]=t[8],n[3]=t[12],n[4]=t[1],n[5]=t[5],n[6]=t[9],n[7]=t[13],n[8]=t[2],n[9]=t[6],n[10]=t[10],n[11]=t[14],n[12]=t[3],n[13]=t[7],n[14]=t[11],n[15]=t[15],n):new C(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},C.fromRotationTranslation=function(t,e,a){return e=r.defaultValue(e,n.Cartesian3.ZERO),r.defined(a)?(a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=0,a[4]=t[3],a[5]=t[4],a[6]=t[5],a[7]=0,a[8]=t[6],a[9]=t[7],a[10]=t[8],a[11]=0,a[12]=e.x,a[13]=e.y,a[14]=e.z,a[15]=1,a):new C(t[0],t[3],t[6],e.x,t[1],t[4],t[7],e.y,t[2],t[5],t[8],e.z,0,0,0,1)},C.fromTranslationQuaternionRotationScale=function(t,n,e,a){r.defined(a)||(a=new C);var i=e.x,u=e.y,o=e.z,s=n.x*n.x,l=n.x*n.y,f=n.x*n.z,c=n.x*n.w,d=n.y*n.y,h=n.y*n.z,m=n.y*n.w,y=n.z*n.z,M=n.z*n.w,p=n.w*n.w,x=s-d-y+p,w=2*(l-M),v=2*(f+m),b=2*(l+M),O=-s+d-y+p,z=2*(h-c),g=2*(f-m),R=2*(h+c),V=-s-d+y+p;return a[0]=x*i,a[1]=b*i,a[2]=g*i,a[3]=0,a[4]=w*u,a[5]=O*u,a[6]=R*u,a[7]=0,a[8]=v*o,a[9]=z*o,a[10]=V*o,a[11]=0,a[12]=t.x,a[13]=t.y,a[14]=t.z,a[15]=1,a},C.fromTranslationRotationScale=function(t,n){return C.fromTranslationQuaternionRotationScale(t.translation,t.rotation,t.scale,n)},C.fromTranslation=function(t,n){return C.fromRotationTranslation(o.IDENTITY,t,n)},C.fromScale=function(t,n){return r.defined(n)?(n[0]=t.x,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=t.y,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=t.z,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n):new C(t.x,0,0,0,0,t.y,0,0,0,0,t.z,0,0,0,0,1)},C.fromUniformScale=function(t,n){return r.defined(n)?(n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=t,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=t,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n):new C(t,0,0,0,0,t,0,0,0,0,t,0,0,0,0,1)};var p=new n.Cartesian3,x=new n.Cartesian3,w=new n.Cartesian3;C.fromCamera=function(t,e){var a=t.position,i=t.direction,u=t.up;n.Cartesian3.normalize(i,p),n.Cartesian3.normalize(n.Cartesian3.cross(p,u,x),x),n.Cartesian3.normalize(n.Cartesian3.cross(x,p,w),w);var o=x.x,s=x.y,l=x.z,f=p.x,c=p.y,d=p.z,h=w.x,m=w.y,y=w.z,M=a.x,v=a.y,b=a.z,O=o*-M+s*-v+l*-b,z=h*-M+m*-v+y*-b,g=f*M+c*v+d*b;return r.defined(e)?(e[0]=o,e[1]=h,e[2]=-f,e[3]=0,e[4]=s,e[5]=m,e[6]=-c,e[7]=0,e[8]=l,e[9]=y,e[10]=-d,e[11]=0,e[12]=O,e[13]=z,e[14]=g,e[15]=1,e):new C(o,s,l,O,h,m,y,z,-f,-c,-d,g,0,0,0,1)},C.computePerspectiveFieldOfView=function(t,n,e,a,r){var i=1/Math.tan(.5*t),u=i/n,o=(a+e)/(e-a),s=2*a*e/(e-a);return r[0]=u,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=i,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=o,r[11]=-1,r[12]=0,r[13]=0,r[14]=s,r[15]=0,r},C.computeOrthographicOffCenter=function(t,n,e,a,r,i,u){var o=1/(n-t),s=1/(a-e),l=1/(i-r),f=-(n+t)*o,c=-(a+e)*s,d=-(i+r)*l;return o*=2,s*=2,l*=-2,u[0]=o,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=s,u[6]=0,u[7]=0,u[8]=0,u[9]=0,u[10]=l,u[11]=0,u[12]=f,u[13]=c,u[14]=d,u[15]=1,u},C.computePerspectiveOffCenter=function(t,n,e,a,r,i,u){var o=2*r/(n-t),s=2*r/(a-e),l=(n+t)/(n-t),f=(a+e)/(a-e),c=-(i+r)/(i-r),d=-2*i*r/(i-r);return u[0]=o,u[1]=0,u[2]=0,u[3]=0,u[4]=0,u[5]=s,u[6]=0,u[7]=0,u[8]=l,u[9]=f,u[10]=c,u[11]=-1,u[12]=0,u[13]=0,u[14]=d,u[15]=0,u},C.computeInfinitePerspectiveOffCenter=function(t,n,e,a,r,i){var u=2*r/(n-t),o=2*r/(a-e),s=(n+t)/(n-t),l=(a+e)/(a-e),f=-2*r;return i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=o,i[6]=0,i[7]=0,i[8]=s,i[9]=l,i[10]=-1,i[11]=-1,i[12]=0,i[13]=0,i[14]=f,i[15]=0,i},C.computeViewportTransformation=function(t,n,e,a){t=r.defaultValue(t,r.defaultValue.EMPTY_OBJECT);var i=r.defaultValue(t.x,0),u=r.defaultValue(t.y,0),o=r.defaultValue(t.width,0),s=r.defaultValue(t.height,0);n=r.defaultValue(n,0);var l=.5*o,f=.5*s,c=.5*((e=r.defaultValue(e,1))-n),d=l,h=f,m=c,y=i+l,M=u+f,C=n+c;return a[0]=d,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=h,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=m,a[11]=0,a[12]=y,a[13]=M,a[14]=C,a[15]=1,a},C.computeView=function(t,e,a,r,i){return i[0]=r.x,i[1]=a.x,i[2]=-e.x,i[3]=0,i[4]=r.y,i[5]=a.y,i[6]=-e.y,i[7]=0,i[8]=r.z,i[9]=a.z,i[10]=-e.z,i[11]=0,i[12]=-n.Cartesian3.dot(r,t),i[13]=-n.Cartesian3.dot(a,t),i[14]=n.Cartesian3.dot(e,t),i[15]=1,i},C.toArray=function(t,n){return r.defined(n)?(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n):[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]},C.getElementIndex=function(t,n){return 4*t+n},C.getColumn=function(t,n,e){var a=4*n,r=t[a],i=t[a+1],u=t[a+2],o=t[a+3];return e.x=r,e.y=i,e.z=u,e.w=o,e},C.setColumn=function(t,n,e,a){var r=4*n;return(a=C.clone(t,a))[r]=e.x,a[r+1]=e.y,a[r+2]=e.z,a[r+3]=e.w,a},C.setTranslation=function(t,n,e){return 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],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=n.x,e[13]=n.y,e[14]=n.z,e[15]=t[15],e};var v=new n.Cartesian3;C.setScale=function(t,e,a){var r=C.getScale(t,v),i=n.Cartesian3.divideComponents(e,r,v);return C.multiplyByScale(t,i,a)},C.getRow=function(t,n,e){var a=t[n],r=t[n+4],i=t[n+8],u=t[n+12];return e.x=a,e.y=r,e.z=i,e.w=u,e},C.setRow=function(t,n,e,a){return(a=C.clone(t,a))[n]=e.x,a[n+4]=e.y,a[n+8]=e.z,a[n+12]=e.w,a};var b=new n.Cartesian3;C.getScale=function(t,e){return e.x=n.Cartesian3.magnitude(n.Cartesian3.fromElements(t[0],t[1],t[2],b)),e.y=n.Cartesian3.magnitude(n.Cartesian3.fromElements(t[4],t[5],t[6],b)),e.z=n.Cartesian3.magnitude(n.Cartesian3.fromElements(t[8],t[9],t[10],b)),e};var O=new n.Cartesian3;C.getMaximumScale=function(t){return C.getScale(t,O),n.Cartesian3.maximumComponent(O)},C.multiply=function(t,n,e){var a=t[0],r=t[1],i=t[2],u=t[3],o=t[4],s=t[5],l=t[6],f=t[7],c=t[8],d=t[9],h=t[10],m=t[11],y=t[12],M=t[13],C=t[14],p=t[15],x=n[0],w=n[1],v=n[2],b=n[3],O=n[4],z=n[5],g=n[6],R=n[7],V=n[8],E=n[9],N=n[10],L=n[11],S=n[12],U=n[13],I=n[14],W=n[15],T=a*x+o*w+c*v+y*b,q=r*x+s*w+d*v+M*b,B=i*x+l*w+h*v+C*b,P=u*x+f*w+m*v+p*b,A=a*O+o*z+c*g+y*R,j=r*O+s*z+d*g+M*R,k=i*O+l*z+h*g+C*R,Y=u*O+f*z+m*g+p*R,D=a*V+o*E+c*N+y*L,Z=r*V+s*E+d*N+M*L,Q=i*V+l*E+h*N+C*L,F=u*V+f*E+m*N+p*L,H=a*S+o*U+c*I+y*W,J=r*S+s*U+d*I+M*W,X=i*S+l*U+h*I+C*W,_=u*S+f*U+m*I+p*W;return e[0]=T,e[1]=q,e[2]=B,e[3]=P,e[4]=A,e[5]=j,e[6]=k,e[7]=Y,e[8]=D,e[9]=Z,e[10]=Q,e[11]=F,e[12]=H,e[13]=J,e[14]=X,e[15]=_,e},C.add=function(t,n,e){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e[4]=t[4]+n[4],e[5]=t[5]+n[5],e[6]=t[6]+n[6],e[7]=t[7]+n[7],e[8]=t[8]+n[8],e[9]=t[9]+n[9],e[10]=t[10]+n[10],e[11]=t[11]+n[11],e[12]=t[12]+n[12],e[13]=t[13]+n[13],e[14]=t[14]+n[14],e[15]=t[15]+n[15],e},C.subtract=function(t,n,e){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e[3]=t[3]-n[3],e[4]=t[4]-n[4],e[5]=t[5]-n[5],e[6]=t[6]-n[6],e[7]=t[7]-n[7],e[8]=t[8]-n[8],e[9]=t[9]-n[9],e[10]=t[10]-n[10],e[11]=t[11]-n[11],e[12]=t[12]-n[12],e[13]=t[13]-n[13],e[14]=t[14]-n[14],e[15]=t[15]-n[15],e},C.multiplyTransformation=function(t,n,e){var a=t[0],r=t[1],i=t[2],u=t[4],o=t[5],s=t[6],l=t[8],f=t[9],c=t[10],d=t[12],h=t[13],m=t[14],y=n[0],M=n[1],C=n[2],p=n[4],x=n[5],w=n[6],v=n[8],b=n[9],O=n[10],z=n[12],g=n[13],R=n[14],V=a*y+u*M+l*C,E=r*y+o*M+f*C,N=i*y+s*M+c*C,L=a*p+u*x+l*w,S=r*p+o*x+f*w,U=i*p+s*x+c*w,I=a*v+u*b+l*O,W=r*v+o*b+f*O,T=i*v+s*b+c*O,q=a*z+u*g+l*R+d,B=r*z+o*g+f*R+h,P=i*z+s*g+c*R+m;return e[0]=V,e[1]=E,e[2]=N,e[3]=0,e[4]=L,e[5]=S,e[6]=U,e[7]=0,e[8]=I,e[9]=W,e[10]=T,e[11]=0,e[12]=q,e[13]=B,e[14]=P,e[15]=1,e},C.multiplyByMatrix3=function(t,n,e){var a=t[0],r=t[1],i=t[2],u=t[4],o=t[5],s=t[6],l=t[8],f=t[9],c=t[10],d=n[0],h=n[1],m=n[2],y=n[3],M=n[4],C=n[5],p=n[6],x=n[7],w=n[8],v=a*d+u*h+l*m,b=r*d+o*h+f*m,O=i*d+s*h+c*m,z=a*y+u*M+l*C,g=r*y+o*M+f*C,R=i*y+s*M+c*C,V=a*p+u*x+l*w,E=r*p+o*x+f*w,N=i*p+s*x+c*w;return e[0]=v,e[1]=b,e[2]=O,e[3]=0,e[4]=z,e[5]=g,e[6]=R,e[7]=0,e[8]=V,e[9]=E,e[10]=N,e[11]=0,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},C.multiplyByTranslation=function(t,n,e){var a=n.x,r=n.y,i=n.z,u=a*t[0]+r*t[4]+i*t[8]+t[12],o=a*t[1]+r*t[5]+i*t[9]+t[13],s=a*t[2]+r*t[6]+i*t[10]+t[14];return 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],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=u,e[13]=o,e[14]=s,e[15]=t[15],e};var z=new n.Cartesian3;C.multiplyByUniformScale=function(t,n,e){return z.x=n,z.y=n,z.z=n,C.multiplyByScale(t,z,e)},C.multiplyByScale=function(t,n,e){var a=n.x,r=n.y,i=n.z;return 1===a&&1===r&&1===i?C.clone(t,e):(e[0]=a*t[0],e[1]=a*t[1],e[2]=a*t[2],e[3]=0,e[4]=r*t[4],e[5]=r*t[5],e[6]=r*t[6],e[7]=0,e[8]=i*t[8],e[9]=i*t[9],e[10]=i*t[10],e[11]=0,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=1,e)},C.multiplyByVector=function(t,n,e){var a=n.x,r=n.y,i=n.z,u=n.w,o=t[0]*a+t[4]*r+t[8]*i+t[12]*u,s=t[1]*a+t[5]*r+t[9]*i+t[13]*u,l=t[2]*a+t[6]*r+t[10]*i+t[14]*u,f=t[3]*a+t[7]*r+t[11]*i+t[15]*u;return e.x=o,e.y=s,e.z=l,e.w=f,e},C.multiplyByPointAsVector=function(t,n,e){var a=n.x,r=n.y,i=n.z,u=t[0]*a+t[4]*r+t[8]*i,o=t[1]*a+t[5]*r+t[9]*i,s=t[2]*a+t[6]*r+t[10]*i;return e.x=u,e.y=o,e.z=s,e},C.multiplyByPoint=function(t,n,e){var a=n.x,r=n.y,i=n.z,u=t[0]*a+t[4]*r+t[8]*i+t[12],o=t[1]*a+t[5]*r+t[9]*i+t[13],s=t[2]*a+t[6]*r+t[10]*i+t[14];return e.x=u,e.y=o,e.z=s,e},C.multiplyByScalar=function(t,n,e){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*n,e[9]=t[9]*n,e[10]=t[10]*n,e[11]=t[11]*n,e[12]=t[12]*n,e[13]=t[13]*n,e[14]=t[14]*n,e[15]=t[15]*n,e},C.multiplyByPlane=function(t,a,r){var i=new C,u=new C;C.inverse(t,i),C.transpose(i,u);var o=new e.Cartesian4(a.normal.x,a.normal.y,a.normal.z,a.distance);C.multiplyByVector(u,o,o),r.normal.x=o.x,r.normal.y=o.y,r.normal.z=o.z;var s=n.Cartesian3.magnitude(r.normal);return n.Cartesian3.normalize(r.normal,r.normal),r.distance=o.w/s,r},C.negate=function(t,n){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n[3]=-t[3],n[4]=-t[4],n[5]=-t[5],n[6]=-t[6],n[7]=-t[7],n[8]=-t[8],n[9]=-t[9],n[10]=-t[10],n[11]=-t[11],n[12]=-t[12],n[13]=-t[13],n[14]=-t[14],n[15]=-t[15],n},C.transpose=function(t,n){var e=t[1],a=t[2],r=t[3],i=t[6],u=t[7],o=t[11];return n[0]=t[0],n[1]=t[4],n[2]=t[8],n[3]=t[12],n[4]=e,n[5]=t[5],n[6]=t[9],n[7]=t[13],n[8]=a,n[9]=i,n[10]=t[10],n[11]=t[14],n[12]=r,n[13]=u,n[14]=o,n[15]=t[15],n},C.abs=function(t,n){return n[0]=Math.abs(t[0]),n[1]=Math.abs(t[1]),n[2]=Math.abs(t[2]),n[3]=Math.abs(t[3]),n[4]=Math.abs(t[4]),n[5]=Math.abs(t[5]),n[6]=Math.abs(t[6]),n[7]=Math.abs(t[7]),n[8]=Math.abs(t[8]),n[9]=Math.abs(t[9]),n[10]=Math.abs(t[10]),n[11]=Math.abs(t[11]),n[12]=Math.abs(t[12]),n[13]=Math.abs(t[13]),n[14]=Math.abs(t[14]),n[15]=Math.abs(t[15]),n},C.equals=function(t,n){return t===n||r.defined(t)&&r.defined(n)&&t[12]===n[12]&&t[13]===n[13]&&t[14]===n[14]&&t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]&&t[4]===n[4]&&t[5]===n[5]&&t[6]===n[6]&&t[8]===n[8]&&t[9]===n[9]&&t[10]===n[10]&&t[3]===n[3]&&t[7]===n[7]&&t[11]===n[11]&&t[15]===n[15]},C.equalsEpsilon=function(t,n,e){return t===n||r.defined(t)&&r.defined(n)&&Math.abs(t[0]-n[0])<=e&&Math.abs(t[1]-n[1])<=e&&Math.abs(t[2]-n[2])<=e&&Math.abs(t[3]-n[3])<=e&&Math.abs(t[4]-n[4])<=e&&Math.abs(t[5]-n[5])<=e&&Math.abs(t[6]-n[6])<=e&&Math.abs(t[7]-n[7])<=e&&Math.abs(t[8]-n[8])<=e&&Math.abs(t[9]-n[9])<=e&&Math.abs(t[10]-n[10])<=e&&Math.abs(t[11]-n[11])<=e&&Math.abs(t[12]-n[12])<=e&&Math.abs(t[13]-n[13])<=e&&Math.abs(t[14]-n[14])<=e&&Math.abs(t[15]-n[15])<=e},C.getTranslation=function(t,n){return n.x=t[12],n.y=t[13],n.z=t[14],n},C.getMatrix3=function(t,n){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[4],n[4]=t[5],n[5]=t[6],n[6]=t[8],n[7]=t[9],n[8]=t[10],n},C.getRotation=function(t,n){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[4],n[4]=t[5],n[5]=t[6],n[6]=t[8],n[7]=t[9],n[8]=t[10],n};var g=new o,R=new o,V=new e.Cartesian4,E=new e.Cartesian4(0,0,0,1);C.inverse=function(t,n){var a=t[0],r=t[4],s=t[8],l=t[12],f=t[1],c=t[5],d=t[9],h=t[13],m=t[2],y=t[6],M=t[10],p=t[14],x=t[3],w=t[7],v=t[11],b=t[15],O=M*b,z=p*v,N=y*b,L=p*w,S=y*v,U=M*w,I=m*b,W=p*x,T=m*v,q=M*x,B=m*w,P=y*x,A=O*c+L*d+S*h-(z*c+N*d+U*h),j=z*f+I*d+q*h-(O*f+W*d+T*h),k=N*f+W*c+B*h-(L*f+I*c+P*h),Y=U*f+T*c+P*d-(S*f+q*c+B*d),D=z*r+N*s+U*l-(O*r+L*s+S*l),Z=O*a+W*s+T*l-(z*a+I*s+q*l),Q=L*a+I*r+P*l-(N*a+W*r+B*l),F=S*a+q*r+B*s-(U*a+T*r+P*s),H=(O=s*h)*w+(L=l*c)*v+(S=r*d)*b-((z=l*d)*w+(N=r*h)*v+(U=s*c)*b),J=z*x+(I=a*h)*v+(q=s*f)*b-(O*x+(W=l*f)*v+(T=a*d)*b),X=N*x+W*w+(B=a*c)*b-(L*x+I*w+(P=r*f)*b),_=U*x+T*w+P*v-(S*x+q*w+B*v),G=N*M+U*p+z*y-(S*p+O*y+L*M),K=T*p+O*m+W*M-(I*M+q*p+z*m),$=I*y+P*p+L*m-(B*p+N*m+W*y),tt=B*M+S*m+q*y-(T*y+P*M+U*m),nt=a*A+r*j+s*k+l*Y;if(Math.abs(nt)<i.CesiumMath.EPSILON21){if(o.equalsEpsilon(C.getRotation(t,g),R,i.CesiumMath.EPSILON5)&&e.Cartesian4.equals(C.getRow(t,3,V),E))return n[0]=0,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=0,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=0,n[11]=0,n[12]=-t[12],n[13]=-t[13],n[14]=-t[14],n[15]=1,n;throw new u.RuntimeError("matrix is not invertible because its determinate is zero.")}return nt=1/nt,n[0]=A*nt,n[1]=j*nt,n[2]=k*nt,n[3]=Y*nt,n[4]=D*nt,n[5]=Z*nt,n[6]=Q*nt,n[7]=F*nt,n[8]=H*nt,n[9]=J*nt,n[10]=X*nt,n[11]=_*nt,n[12]=G*nt,n[13]=K*nt,n[14]=$*nt,n[15]=tt*nt,n},C.inverseTransformation=function(t,n){var e=t[0],a=t[1],r=t[2],i=t[4],u=t[5],o=t[6],s=t[8],l=t[9],f=t[10],c=t[12],d=t[13],h=t[14],m=-e*c-a*d-r*h,y=-i*c-u*d-o*h,M=-s*c-l*d-f*h;return n[0]=e,n[1]=i,n[2]=s,n[3]=0,n[4]=a,n[5]=u,n[6]=l,n[7]=0,n[8]=r,n[9]=o,n[10]=f,n[11]=0,n[12]=m,n[13]=y,n[14]=M,n[15]=1,n},C.IDENTITY=Object.freeze(new C(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)),C.ZERO=Object.freeze(new C(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)),C.COLUMN0ROW0=0,C.COLUMN0ROW1=1,C.COLUMN0ROW2=2,C.COLUMN0ROW3=3,C.COLUMN1ROW0=4,C.COLUMN1ROW1=5,C.COLUMN1ROW2=6,C.COLUMN1ROW3=7,C.COLUMN2ROW0=8,C.COLUMN2ROW1=9,C.COLUMN2ROW2=10,C.COLUMN2ROW3=11,C.COLUMN3ROW0=12,C.COLUMN3ROW1=13,C.COLUMN3ROW2=14,C.COLUMN3ROW3=15,Object.defineProperties(C.prototype,{length:{get:function(){return C.packedLength}}}),C.prototype.clone=function(t){return C.clone(this,t)},C.prototype.equals=function(t){return C.equals(this,t)},C.equalsArray=function(t,n,e){return t[0]===n[e]&&t[1]===n[e+1]&&t[2]===n[e+2]&&t[3]===n[e+3]&&t[4]===n[e+4]&&t[5]===n[e+5]&&t[6]===n[e+6]&&t[7]===n[e+7]&&t[8]===n[e+8]&&t[9]===n[e+9]&&t[10]===n[e+10]&&t[11]===n[e+11]&&t[12]===n[e+12]&&t[13]===n[e+13]&&t[14]===n[e+14]&&t[15]===n[e+15]},C.prototype.equalsEpsilon=function(t,n){return C.equalsEpsilon(this,t,n)},C.prototype.toString=function(){return"("+this[0]+", "+this[4]+", "+this[8]+", "+this[12]+")\n("+this[1]+", "+this[5]+", "+this[9]+", "+this[13]+")\n("+this[2]+", "+this[6]+", "+this[10]+", "+this[14]+")\n("+this[3]+", "+this[7]+", "+this[11]+", "+this[15]+")"},t.Matrix3=o,t.Matrix4=C}));