mars3d-cesium
Version:
CesiumJS是一个JavaScript库,用于在web浏览器中无需插件创建3D地球仪和2D地图,mars3d-cesium是mars3d团队修改版本的CesiumJS。
30 lines (28 loc) • 27.4 kB
JavaScript
/**
* @license
* Cesium - https://github.com/CesiumGS/cesium
* Version 1.142.1
*
* Copyright 2011-2022 Cesium Contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{a as h1}from"./chunk-G7RN6XT4.js";import{a as W,b as u,c as z1}from"./chunk-EPSEO3NS.js";import{a as G}from"./chunk-O6FXZBDO.js";import{a as m,b as p}from"./chunk-TKI7JJEW.js";import{f as U}from"./chunk-VSASJODR.js";var V=class f{constructor(c,o,n,y){this.x=c??0,this.y=o??0,this.z=n??0,this.w=y??0}static fromElements(c,o,n,y,O){return U(O)?(O.x=c,O.y=o,O.z=n,O.w=y,O):new f(c,o,n,y)}static fromColor(c,o){return p.typeOf.object("color",c),U(o)?(o.x=c.red,o.y=c.green,o.z=c.blue,o.w=c.alpha,o):new f(c.red,c.green,c.blue,c.alpha)}static clone(c,o){if(U(c))return U(o)?(o.x=c.x,o.y=c.y,o.z=c.z,o.w=c.w,o):new f(c.x,c.y,c.z,c.w)}static pack(c,o,n){return p.typeOf.object("value",c),p.defined("array",o),n=n??0,o[n++]=c.x,o[n++]=c.y,o[n++]=c.z,o[n]=c.w,o}static unpack(c,o,n){return p.defined("array",c),o=o??0,U(n)||(n=new f),n.x=c[o++],n.y=c[o++],n.z=c[o++],n.w=c[o],n}static packArray(c,o){p.defined("array",c);let n=c.length,y=n*4;if(!U(o))o=new Array(y);else{if(!Array.isArray(o)&&o.length!==y)throw new m("If result is a typed array, it must have exactly array.length * 4 elements");o.length!==y&&(o.length=y)}for(let O=0;O<n;++O)f.pack(c[O],o,O*4);return o}static unpackArray(c,o){if(p.defined("array",c),p.typeOf.number.greaterThanOrEquals("array.length",c.length,4),c.length%4!==0)throw new m("array length must be a multiple of 4.");let n=c.length;U(o)?o.length=n/4:o=new Array(n/4);for(let y=0;y<n;y+=4){let O=y/4;o[O]=f.unpack(c,y,o[O])}return o}static maximumComponent(c){return p.typeOf.object("cartesian",c),Math.max(c.x,c.y,c.z,c.w)}static minimumComponent(c){return p.typeOf.object("cartesian",c),Math.min(c.x,c.y,c.z,c.w)}static minimumByComponent(c,o,n){return p.typeOf.object("first",c),p.typeOf.object("second",o),p.typeOf.object("result",n),n.x=Math.min(c.x,o.x),n.y=Math.min(c.y,o.y),n.z=Math.min(c.z,o.z),n.w=Math.min(c.w,o.w),n}static maximumByComponent(c,o,n){return p.typeOf.object("first",c),p.typeOf.object("second",o),p.typeOf.object("result",n),n.x=Math.max(c.x,o.x),n.y=Math.max(c.y,o.y),n.z=Math.max(c.z,o.z),n.w=Math.max(c.w,o.w),n}static clamp(c,o,n,y){p.typeOf.object("value",c),p.typeOf.object("min",o),p.typeOf.object("max",n),p.typeOf.object("result",y);let O=G.clamp(c.x,o.x,n.x),w=G.clamp(c.y,o.y,n.y),b=G.clamp(c.z,o.z,n.z),j=G.clamp(c.w,o.w,n.w);return y.x=O,y.y=w,y.z=b,y.w=j,y}static magnitudeSquared(c){return p.typeOf.object("cartesian",c),c.x*c.x+c.y*c.y+c.z*c.z+c.w*c.w}static magnitude(c){return Math.sqrt(f.magnitudeSquared(c))}static distance(c,o){return p.typeOf.object("left",c),p.typeOf.object("right",o),f.subtract(c,o,r),f.magnitude(r)}static distanceSquared(c,o){return p.typeOf.object("left",c),p.typeOf.object("right",o),f.subtract(c,o,r),f.magnitudeSquared(r)}static normalize(c,o){p.typeOf.object("cartesian",c),p.typeOf.object("result",o);let n=f.magnitude(c);if(o.x=c.x/n,o.y=c.y/n,o.z=c.z/n,o.w=c.w/n,isNaN(o.x)||isNaN(o.y)||isNaN(o.z)||isNaN(o.w))throw new m("normalized result is not a number");return o}static dot(c,o){return p.typeOf.object("left",c),p.typeOf.object("right",o),c.x*o.x+c.y*o.y+c.z*o.z+c.w*o.w}static multiplyComponents(c,o,n){return p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n),n.x=c.x*o.x,n.y=c.y*o.y,n.z=c.z*o.z,n.w=c.w*o.w,n}static divideComponents(c,o,n){return p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n),n.x=c.x/o.x,n.y=c.y/o.y,n.z=c.z/o.z,n.w=c.w/o.w,n}static add(c,o,n){return p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n),n.x=c.x+o.x,n.y=c.y+o.y,n.z=c.z+o.z,n.w=c.w+o.w,n}static subtract(c,o,n){return p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n),n.x=c.x-o.x,n.y=c.y-o.y,n.z=c.z-o.z,n.w=c.w-o.w,n}static multiplyByScalar(c,o,n){return p.typeOf.object("cartesian",c),p.typeOf.number("scalar",o),p.typeOf.object("result",n),n.x=c.x*o,n.y=c.y*o,n.z=c.z*o,n.w=c.w*o,n}static divideByScalar(c,o,n){return p.typeOf.object("cartesian",c),p.typeOf.number("scalar",o),p.typeOf.object("result",n),n.x=c.x/o,n.y=c.y/o,n.z=c.z/o,n.w=c.w/o,n}static negate(c,o){return p.typeOf.object("cartesian",c),p.typeOf.object("result",o),o.x=-c.x,o.y=-c.y,o.z=-c.z,o.w=-c.w,o}static abs(c,o){return p.typeOf.object("cartesian",c),p.typeOf.object("result",o),o.x=Math.abs(c.x),o.y=Math.abs(c.y),o.z=Math.abs(c.z),o.w=Math.abs(c.w),o}static lerp(c,o,n,y){return p.typeOf.object("start",c),p.typeOf.object("end",o),p.typeOf.number("t",n),p.typeOf.object("result",y),f.multiplyByScalar(o,n,R1),y=f.multiplyByScalar(c,1-n,y),f.add(R1,y,y)}static mostOrthogonalAxis(c,o){p.typeOf.object("cartesian",c),p.typeOf.object("result",o);let n=f.normalize(c,U1);return f.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?o=f.clone(f.UNIT_X,o):o=f.clone(f.UNIT_W,o):n.z<=n.w?o=f.clone(f.UNIT_Z,o):o=f.clone(f.UNIT_W,o):n.y<=n.z?n.y<=n.w?o=f.clone(f.UNIT_Y,o):o=f.clone(f.UNIT_W,o):n.z<=n.w?o=f.clone(f.UNIT_Z,o):o=f.clone(f.UNIT_W,o),o}static equals(c,o){return c===o||U(c)&&U(o)&&c.x===o.x&&c.y===o.y&&c.z===o.z&&c.w===o.w}static equalsArray(c,o,n){return c.x===o[n]&&c.y===o[n+1]&&c.z===o[n+2]&&c.w===o[n+3]}static equalsEpsilon(c,o,n,y){return c===o||U(c)&&U(o)&&G.equalsEpsilon(c.x,o.x,n,y)&&G.equalsEpsilon(c.y,o.y,n,y)&&G.equalsEpsilon(c.z,o.z,n,y)&&G.equalsEpsilon(c.w,o.w,n,y)}clone(c){return f.clone(this,c)}equals(c){return f.equals(this,c)}equalsEpsilon(c,o,n){return f.equalsEpsilon(this,c,o,n)}toString(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`}static packFloat(c,o){return p.typeOf.number("value",c),U(o)||(o=new f),f1[0]=c,M1?(o.x=F[0],o.y=F[1],o.z=F[2],o.w=F[3]):(o.x=F[3],o.y=F[2],o.z=F[1],o.w=F[0]),o}static unpackFloat(c){return p.typeOf.object("packedFloat",c),M1?(F[0]=c.x,F[1]=c.y,F[2]=c.z,F[3]=c.w):(F[0]=c.w,F[1]=c.z,F[2]=c.y,F[3]=c.x),f1[0]}};V.packedLength=4;V.fromArray=V.unpack;var r=new V,R1=new V,U1=new V;V.ZERO=Object.freeze(new V(0,0,0,0));V.ONE=Object.freeze(new V(1,1,1,1));V.UNIT_X=Object.freeze(new V(1,0,0,0));V.UNIT_Y=Object.freeze(new V(0,1,0,0));V.UNIT_Z=Object.freeze(new V(0,0,1,0));V.UNIT_W=Object.freeze(new V(0,0,0,1));var f1=new Float32Array(1),F=new Uint8Array(f1.buffer),S1=new Uint32Array([287454020]),d1=new Uint8Array(S1.buffer),M1=d1[0]===68,c1=V;var L=class f{constructor(c,o,n,y,O,w,b,j,z,h,R,M,T,C,q,N){this[0]=c??0,this[1]=O??0,this[2]=z??0,this[3]=T??0,this[4]=o??0,this[5]=w??0,this[6]=h??0,this[7]=C??0,this[8]=n??0,this[9]=b??0,this[10]=R??0,this[11]=q??0,this[12]=y??0,this[13]=j??0,this[14]=M??0,this[15]=N??0}static pack(c,o,n){return p.typeOf.object("value",c),p.defined("array",o),n=n??0,o[n++]=c[0],o[n++]=c[1],o[n++]=c[2],o[n++]=c[3],o[n++]=c[4],o[n++]=c[5],o[n++]=c[6],o[n++]=c[7],o[n++]=c[8],o[n++]=c[9],o[n++]=c[10],o[n++]=c[11],o[n++]=c[12],o[n++]=c[13],o[n++]=c[14],o[n]=c[15],o}static unpack(c,o,n){return p.defined("array",c),o=o??0,U(n)||(n=new f),n[0]=c[o++],n[1]=c[o++],n[2]=c[o++],n[3]=c[o++],n[4]=c[o++],n[5]=c[o++],n[6]=c[o++],n[7]=c[o++],n[8]=c[o++],n[9]=c[o++],n[10]=c[o++],n[11]=c[o++],n[12]=c[o++],n[13]=c[o++],n[14]=c[o++],n[15]=c[o],n}static packArray(c,o){p.defined("array",c);let n=c.length,y=n*16;if(!U(o))o=new Array(y);else{if(!Array.isArray(o)&&o.length!==y)throw new m("If result is a typed array, it must have exactly array.length * 16 elements");o.length!==y&&(o.length=y)}for(let O=0;O<n;++O)f.pack(c[O],o,O*16);return o}static unpackArray(c,o){if(p.defined("array",c),p.typeOf.number.greaterThanOrEquals("array.length",c.length,16),c.length%16!==0)throw new m("array length must be a multiple of 16.");let n=c.length;U(o)?o.length=n/16:o=new Array(n/16);for(let y=0;y<n;y+=16){let O=y/16;o[O]=f.unpack(c,y,o[O])}return o}static clone(c,o){if(U(c))return U(o)?(o[0]=c[0],o[1]=c[1],o[2]=c[2],o[3]=c[3],o[4]=c[4],o[5]=c[5],o[6]=c[6],o[7]=c[7],o[8]=c[8],o[9]=c[9],o[10]=c[10],o[11]=c[11],o[12]=c[12],o[13]=c[13],o[14]=c[14],o[15]=c[15],o):new f(c[0],c[4],c[8],c[12],c[1],c[5],c[9],c[13],c[2],c[6],c[10],c[14],c[3],c[7],c[11],c[15])}static fromColumnMajorArray(c,o){return p.defined("values",c),f.clone(c,o)}static fromRowMajorArray(c,o){return p.defined("values",c),U(o)?(o[0]=c[0],o[1]=c[4],o[2]=c[8],o[3]=c[12],o[4]=c[1],o[5]=c[5],o[6]=c[9],o[7]=c[13],o[8]=c[2],o[9]=c[6],o[10]=c[10],o[11]=c[14],o[12]=c[3],o[13]=c[7],o[14]=c[11],o[15]=c[15],o):new f(c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13],c[14],c[15])}static fromRotationTranslation(c,o,n){return p.typeOf.object("rotation",c),o=o??W.ZERO,U(n)?(n[0]=c[0],n[1]=c[1],n[2]=c[2],n[3]=0,n[4]=c[3],n[5]=c[4],n[6]=c[5],n[7]=0,n[8]=c[6],n[9]=c[7],n[10]=c[8],n[11]=0,n[12]=o.x,n[13]=o.y,n[14]=o.z,n[15]=1,n):new f(c[0],c[3],c[6],o.x,c[1],c[4],c[7],o.y,c[2],c[5],c[8],o.z,0,0,0,1)}static fromTranslationQuaternionRotationScale(c,o,n,y){p.typeOf.object("translation",c),p.typeOf.object("rotation",o),p.typeOf.object("scale",n),U(y)||(y=new f);let O=n.x,w=n.y,b=n.z,j=o.x*o.x,z=o.x*o.y,h=o.x*o.z,R=o.x*o.w,M=o.y*o.y,T=o.y*o.z,C=o.y*o.w,q=o.z*o.z,N=o.z*o.w,E=o.w*o.w,S=j-M-q+E,d=2*(z-N),A=2*(h+C),$=2*(z+N),Z=-j+M-q+E,B=2*(T-R),Y=2*(h-C),k=2*(T+R),X=-j-M+q+E;return y[0]=S*O,y[1]=$*O,y[2]=Y*O,y[3]=0,y[4]=d*w,y[5]=Z*w,y[6]=k*w,y[7]=0,y[8]=A*b,y[9]=B*b,y[10]=X*b,y[11]=0,y[12]=c.x,y[13]=c.y,y[14]=c.z,y[15]=1,y}static fromTranslationRotationScale(c,o){return p.typeOf.object("translationRotationScale",c),f.fromTranslationQuaternionRotationScale(c.translation,c.rotation,c.scale,o)}static fromTranslation(c,o){return p.typeOf.object("translation",c),f.fromRotationTranslation(u.IDENTITY,c,o)}static fromScale(c,o){return p.typeOf.object("scale",c),U(o)?(o[0]=c.x,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=c.y,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c.z,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o):new f(c.x,0,0,0,0,c.y,0,0,0,0,c.z,0,0,0,0,1)}static fromUniformScale(c,o){return p.typeOf.number("scale",c),U(o)?(o[0]=c,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=c,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o):new f(c,0,0,0,0,c,0,0,0,0,c,0,0,0,0,1)}static fromRotation(c,o){return p.typeOf.object("rotation",c),U(o)||(o=new f),o[0]=c[0],o[1]=c[1],o[2]=c[2],o[3]=0,o[4]=c[3],o[5]=c[4],o[6]=c[5],o[7]=0,o[8]=c[6],o[9]=c[7],o[10]=c[8],o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}static fromCamera(c,o){p.typeOf.object("camera",c);let n=c.position,y=c.direction,O=c.up;p.typeOf.object("camera.position",n),p.typeOf.object("camera.direction",y),p.typeOf.object("camera.up",O),W.normalize(y,e),W.normalize(W.cross(e,O,t),t),W.normalize(W.cross(t,e,l),l);let w=t.x,b=t.y,j=t.z,z=e.x,h=e.y,R=e.z,M=l.x,T=l.y,C=l.z,q=n.x,N=n.y,E=n.z,S=w*-q+b*-N+j*-E,d=M*-q+T*-N+C*-E,A=z*q+h*N+R*E;return U(o)?(o[0]=w,o[1]=M,o[2]=-z,o[3]=0,o[4]=b,o[5]=T,o[6]=-h,o[7]=0,o[8]=j,o[9]=C,o[10]=-R,o[11]=0,o[12]=S,o[13]=d,o[14]=A,o[15]=1,o):new f(w,b,j,S,M,T,C,d,-z,-h,-R,A,0,0,0,1)}static computePerspectiveFieldOfView(c,o,n,y,O){p.typeOf.number.greaterThan("fovY",c,0),p.typeOf.number.lessThan("fovY",c,Math.PI),p.typeOf.number.greaterThan("near",n,0),p.typeOf.number.greaterThan("far",y,0),p.typeOf.object("result",O);let b=1/Math.tan(c*.5),j=b/o,z=(y+n)/(n-y),h=2*y*n/(n-y);return O[0]=j,O[1]=0,O[2]=0,O[3]=0,O[4]=0,O[5]=b,O[6]=0,O[7]=0,O[8]=0,O[9]=0,O[10]=z,O[11]=-1,O[12]=0,O[13]=0,O[14]=h,O[15]=0,O}static computeOrthographicOffCenter(c,o,n,y,O,w,b){p.typeOf.number("left",c),p.typeOf.number("right",o),p.typeOf.number("bottom",n),p.typeOf.number("top",y),p.typeOf.number("near",O),p.typeOf.number("far",w),p.typeOf.object("result",b);let j=1/(o-c),z=1/(y-n),h=1/(w-O),R=-(o+c)*j,M=-(y+n)*z,T=-(w+O)*h;return j*=2,z*=2,h*=-2,b[0]=j,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=z,b[6]=0,b[7]=0,b[8]=0,b[9]=0,b[10]=h,b[11]=0,b[12]=R,b[13]=M,b[14]=T,b[15]=1,b}static computePerspectiveOffCenter(c,o,n,y,O,w,b){p.typeOf.number("left",c),p.typeOf.number("right",o),p.typeOf.number("bottom",n),p.typeOf.number("top",y),p.typeOf.number("near",O),p.typeOf.number("far",w),p.typeOf.object("result",b);let j=2*O/(o-c),z=2*O/(y-n),h=(o+c)/(o-c),R=(y+n)/(y-n),M=-(w+O)/(w-O),T=-1,C=-2*w*O/(w-O);return b[0]=j,b[1]=0,b[2]=0,b[3]=0,b[4]=0,b[5]=z,b[6]=0,b[7]=0,b[8]=h,b[9]=R,b[10]=M,b[11]=T,b[12]=0,b[13]=0,b[14]=C,b[15]=0,b}static computeInfinitePerspectiveOffCenter(c,o,n,y,O,w){p.typeOf.number("left",c),p.typeOf.number("right",o),p.typeOf.number("bottom",n),p.typeOf.number("top",y),p.typeOf.number("near",O),p.typeOf.object("result",w);let b=2*O/(o-c),j=2*O/(y-n),z=(o+c)/(o-c),h=(y+n)/(y-n),R=-1,M=-1,T=-2*O;return w[0]=b,w[1]=0,w[2]=0,w[3]=0,w[4]=0,w[5]=j,w[6]=0,w[7]=0,w[8]=z,w[9]=h,w[10]=R,w[11]=M,w[12]=0,w[13]=0,w[14]=T,w[15]=0,w}static computeViewportTransformation(c,o,n,y){U(y)||(y=new f),c=c??z1.EMPTY_OBJECT;let O=c.x??0,w=c.y??0,b=c.width??0,j=c.height??0;o=o??0,n=n??1;let z=b*.5,h=j*.5,R=(n-o)*.5,M=z,T=h,C=R,q=O+z,N=w+h,E=o+R,S=1;return y[0]=M,y[1]=0,y[2]=0,y[3]=0,y[4]=0,y[5]=T,y[6]=0,y[7]=0,y[8]=0,y[9]=0,y[10]=C,y[11]=0,y[12]=q,y[13]=N,y[14]=E,y[15]=S,y}static computeView(c,o,n,y,O){return p.typeOf.object("position",c),p.typeOf.object("direction",o),p.typeOf.object("up",n),p.typeOf.object("right",y),p.typeOf.object("result",O),O[0]=y.x,O[1]=n.x,O[2]=-o.x,O[3]=0,O[4]=y.y,O[5]=n.y,O[6]=-o.y,O[7]=0,O[8]=y.z,O[9]=n.z,O[10]=-o.z,O[11]=0,O[12]=-W.dot(y,c),O[13]=-W.dot(n,c),O[14]=W.dot(o,c),O[15]=1,O}static toArray(c,o){return p.typeOf.object("matrix",c),U(o)?(o[0]=c[0],o[1]=c[1],o[2]=c[2],o[3]=c[3],o[4]=c[4],o[5]=c[5],o[6]=c[6],o[7]=c[7],o[8]=c[8],o[9]=c[9],o[10]=c[10],o[11]=c[11],o[12]=c[12],o[13]=c[13],o[14]=c[14],o[15]=c[15],o):[c[0],c[1],c[2],c[3],c[4],c[5],c[6],c[7],c[8],c[9],c[10],c[11],c[12],c[13],c[14],c[15]]}static getElementIndex(c,o){return p.typeOf.number.greaterThanOrEquals("row",o,0),p.typeOf.number.lessThanOrEquals("row",o,3),p.typeOf.number.greaterThanOrEquals("column",c,0),p.typeOf.number.lessThanOrEquals("column",c,3),c*4+o}static getColumn(c,o,n){p.typeOf.object("matrix",c),p.typeOf.number.greaterThanOrEquals("index",o,0),p.typeOf.number.lessThanOrEquals("index",o,3),p.typeOf.object("result",n);let y=o*4,O=c[y],w=c[y+1],b=c[y+2],j=c[y+3];return n.x=O,n.y=w,n.z=b,n.w=j,n}static setColumn(c,o,n,y){p.typeOf.object("matrix",c),p.typeOf.number.greaterThanOrEquals("index",o,0),p.typeOf.number.lessThanOrEquals("index",o,3),p.typeOf.object("cartesian",n),p.typeOf.object("result",y),y=f.clone(c,y);let O=o*4;return y[O]=n.x,y[O+1]=n.y,y[O+2]=n.z,y[O+3]=n.w,y}static getRow(c,o,n){p.typeOf.object("matrix",c),p.typeOf.number.greaterThanOrEquals("index",o,0),p.typeOf.number.lessThanOrEquals("index",o,3),p.typeOf.object("result",n);let y=c[o],O=c[o+4],w=c[o+8],b=c[o+12];return n.x=y,n.y=O,n.z=w,n.w=b,n}static setRow(c,o,n,y){return p.typeOf.object("matrix",c),p.typeOf.number.greaterThanOrEquals("index",o,0),p.typeOf.number.lessThanOrEquals("index",o,3),p.typeOf.object("cartesian",n),p.typeOf.object("result",y),y=f.clone(c,y),y[o]=n.x,y[o+4]=n.y,y[o+8]=n.z,y[o+12]=n.w,y}static setTranslation(c,o,n){return p.typeOf.object("matrix",c),p.typeOf.object("translation",o),p.typeOf.object("result",n),n[0]=c[0],n[1]=c[1],n[2]=c[2],n[3]=c[3],n[4]=c[4],n[5]=c[5],n[6]=c[6],n[7]=c[7],n[8]=c[8],n[9]=c[9],n[10]=c[10],n[11]=c[11],n[12]=o.x,n[13]=o.y,n[14]=o.z,n[15]=c[15],n}static setScale(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("scale",o),p.typeOf.object("result",n);let y=f.getScale(c,A1),O=o.x/y.x,w=o.y/y.y,b=o.z/y.z;return n[0]=c[0]*O,n[1]=c[1]*O,n[2]=c[2]*O,n[3]=c[3],n[4]=c[4]*w,n[5]=c[5]*w,n[6]=c[6]*w,n[7]=c[7],n[8]=c[8]*b,n[9]=c[9]*b,n[10]=c[10]*b,n[11]=c[11],n[12]=c[12],n[13]=c[13],n[14]=c[14],n[15]=c[15],n}static setUniformScale(c,o,n){p.typeOf.object("matrix",c),p.typeOf.number("scale",o),p.typeOf.object("result",n);let y=f.getScale(c,L1),O=o/y.x,w=o/y.y,b=o/y.z;return n[0]=c[0]*O,n[1]=c[1]*O,n[2]=c[2]*O,n[3]=c[3],n[4]=c[4]*w,n[5]=c[5]*w,n[6]=c[6]*w,n[7]=c[7],n[8]=c[8]*b,n[9]=c[9]*b,n[10]=c[10]*b,n[11]=c[11],n[12]=c[12],n[13]=c[13],n[14]=c[14],n[15]=c[15],n}static getScale(c,o){return p.typeOf.object("matrix",c),p.typeOf.object("result",o),o.x=W.magnitude(W.fromElements(c[0],c[1],c[2],j1)),o.y=W.magnitude(W.fromElements(c[4],c[5],c[6],j1)),o.z=W.magnitude(W.fromElements(c[8],c[9],c[10],j1)),o}static getMaximumScale(c){return f.getScale(c,T1),W.maximumComponent(T1)}static setRotation(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("result",n);let y=f.getScale(c,W1);return n[0]=o[0]*y.x,n[1]=o[1]*y.x,n[2]=o[2]*y.x,n[3]=c[3],n[4]=o[3]*y.y,n[5]=o[4]*y.y,n[6]=o[5]*y.y,n[7]=c[7],n[8]=o[6]*y.z,n[9]=o[7]*y.z,n[10]=o[8]*y.z,n[11]=c[11],n[12]=c[12],n[13]=c[13],n[14]=c[14],n[15]=c[15],n}static getRotation(c,o){p.typeOf.object("matrix",c),p.typeOf.object("result",o);let n=f.getScale(c,$1);return o[0]=c[0]/n.x,o[1]=c[1]/n.x,o[2]=c[2]/n.x,o[3]=c[4]/n.y,o[4]=c[5]/n.y,o[5]=c[6]/n.y,o[6]=c[8]/n.z,o[7]=c[9]/n.z,o[8]=c[10]/n.z,o}static multiply(c,o,n){p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n);let y=c[0],O=c[1],w=c[2],b=c[3],j=c[4],z=c[5],h=c[6],R=c[7],M=c[8],T=c[9],C=c[10],q=c[11],N=c[12],E=c[13],S=c[14],d=c[15],A=o[0],$=o[1],Z=o[2],B=o[3],Y=o[4],k=o[5],X=o[6],Q=o[7],H=o[8],J=o[9],D=o[10],K=o[11],I=o[12],v=o[13],g=o[14],_=o[15],x=y*A+j*$+M*Z+N*B,s=O*A+z*$+T*Z+E*B,i=w*A+h*$+C*Z+S*B,a=b*A+R*$+q*Z+d*B,o1=y*Y+j*k+M*X+N*Q,n1=O*Y+z*k+T*X+E*Q,y1=w*Y+h*k+C*X+S*Q,p1=b*Y+R*k+q*X+d*Q,O1=y*H+j*J+M*D+N*K,b1=O*H+z*J+T*D+E*K,w1=w*H+h*J+C*D+S*K,P=b*H+R*J+q*D+d*K,C1=y*I+j*v+M*g+N*_,N1=O*I+z*v+T*g+E*_,q1=w*I+h*v+C*g+S*_,E1=b*I+R*v+q*g+d*_;return n[0]=x,n[1]=s,n[2]=i,n[3]=a,n[4]=o1,n[5]=n1,n[6]=y1,n[7]=p1,n[8]=O1,n[9]=b1,n[10]=w1,n[11]=P,n[12]=C1,n[13]=N1,n[14]=q1,n[15]=E1,n}static add(c,o,n){return p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n),n[0]=c[0]+o[0],n[1]=c[1]+o[1],n[2]=c[2]+o[2],n[3]=c[3]+o[3],n[4]=c[4]+o[4],n[5]=c[5]+o[5],n[6]=c[6]+o[6],n[7]=c[7]+o[7],n[8]=c[8]+o[8],n[9]=c[9]+o[9],n[10]=c[10]+o[10],n[11]=c[11]+o[11],n[12]=c[12]+o[12],n[13]=c[13]+o[13],n[14]=c[14]+o[14],n[15]=c[15]+o[15],n}static subtract(c,o,n){return p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n),n[0]=c[0]-o[0],n[1]=c[1]-o[1],n[2]=c[2]-o[2],n[3]=c[3]-o[3],n[4]=c[4]-o[4],n[5]=c[5]-o[5],n[6]=c[6]-o[6],n[7]=c[7]-o[7],n[8]=c[8]-o[8],n[9]=c[9]-o[9],n[10]=c[10]-o[10],n[11]=c[11]-o[11],n[12]=c[12]-o[12],n[13]=c[13]-o[13],n[14]=c[14]-o[14],n[15]=c[15]-o[15],n}static multiplyTransformation(c,o,n){p.typeOf.object("left",c),p.typeOf.object("right",o),p.typeOf.object("result",n);let y=c[0],O=c[1],w=c[2],b=c[4],j=c[5],z=c[6],h=c[8],R=c[9],M=c[10],T=c[12],C=c[13],q=c[14],N=o[0],E=o[1],S=o[2],d=o[4],A=o[5],$=o[6],Z=o[8],B=o[9],Y=o[10],k=o[12],X=o[13],Q=o[14],H=y*N+b*E+h*S,J=O*N+j*E+R*S,D=w*N+z*E+M*S,K=y*d+b*A+h*$,I=O*d+j*A+R*$,v=w*d+z*A+M*$,g=y*Z+b*B+h*Y,_=O*Z+j*B+R*Y,x=w*Z+z*B+M*Y,s=y*k+b*X+h*Q+T,i=O*k+j*X+R*Q+C,a=w*k+z*X+M*Q+q;return n[0]=H,n[1]=J,n[2]=D,n[3]=0,n[4]=K,n[5]=I,n[6]=v,n[7]=0,n[8]=g,n[9]=_,n[10]=x,n[11]=0,n[12]=s,n[13]=i,n[14]=a,n[15]=1,n}static multiplyByMatrix3(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("rotation",o),p.typeOf.object("result",n);let y=c[0],O=c[1],w=c[2],b=c[4],j=c[5],z=c[6],h=c[8],R=c[9],M=c[10],T=o[0],C=o[1],q=o[2],N=o[3],E=o[4],S=o[5],d=o[6],A=o[7],$=o[8],Z=y*T+b*C+h*q,B=O*T+j*C+R*q,Y=w*T+z*C+M*q,k=y*N+b*E+h*S,X=O*N+j*E+R*S,Q=w*N+z*E+M*S,H=y*d+b*A+h*$,J=O*d+j*A+R*$,D=w*d+z*A+M*$;return n[0]=Z,n[1]=B,n[2]=Y,n[3]=0,n[4]=k,n[5]=X,n[6]=Q,n[7]=0,n[8]=H,n[9]=J,n[10]=D,n[11]=0,n[12]=c[12],n[13]=c[13],n[14]=c[14],n[15]=c[15],n}static multiplyByTranslation(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("translation",o),p.typeOf.object("result",n);let y=o.x,O=o.y,w=o.z,b=y*c[0]+O*c[4]+w*c[8]+c[12],j=y*c[1]+O*c[5]+w*c[9]+c[13],z=y*c[2]+O*c[6]+w*c[10]+c[14];return n[0]=c[0],n[1]=c[1],n[2]=c[2],n[3]=c[3],n[4]=c[4],n[5]=c[5],n[6]=c[6],n[7]=c[7],n[8]=c[8],n[9]=c[9],n[10]=c[10],n[11]=c[11],n[12]=b,n[13]=j,n[14]=z,n[15]=c[15],n}static multiplyByScale(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("scale",o),p.typeOf.object("result",n);let y=o.x,O=o.y,w=o.z;return y===1&&O===1&&w===1?f.clone(c,n):(n[0]=y*c[0],n[1]=y*c[1],n[2]=y*c[2],n[3]=c[3],n[4]=O*c[4],n[5]=O*c[5],n[6]=O*c[6],n[7]=c[7],n[8]=w*c[8],n[9]=w*c[9],n[10]=w*c[10],n[11]=c[11],n[12]=c[12],n[13]=c[13],n[14]=c[14],n[15]=c[15],n)}static multiplyByUniformScale(c,o,n){return p.typeOf.object("matrix",c),p.typeOf.number("scale",o),p.typeOf.object("result",n),n[0]=c[0]*o,n[1]=c[1]*o,n[2]=c[2]*o,n[3]=c[3],n[4]=c[4]*o,n[5]=c[5]*o,n[6]=c[6]*o,n[7]=c[7],n[8]=c[8]*o,n[9]=c[9]*o,n[10]=c[10]*o,n[11]=c[11],n[12]=c[12],n[13]=c[13],n[14]=c[14],n[15]=c[15],n}static multiplyByVector(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("cartesian",o),p.typeOf.object("result",n);let y=o.x,O=o.y,w=o.z,b=o.w,j=c[0]*y+c[4]*O+c[8]*w+c[12]*b,z=c[1]*y+c[5]*O+c[9]*w+c[13]*b,h=c[2]*y+c[6]*O+c[10]*w+c[14]*b,R=c[3]*y+c[7]*O+c[11]*w+c[15]*b;return n.x=j,n.y=z,n.z=h,n.w=R,n}static multiplyByPointAsVector(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("cartesian",o),p.typeOf.object("result",n);let y=o.x,O=o.y,w=o.z,b=c[0]*y+c[4]*O+c[8]*w,j=c[1]*y+c[5]*O+c[9]*w,z=c[2]*y+c[6]*O+c[10]*w;return n.x=b,n.y=j,n.z=z,n}static multiplyByPoint(c,o,n){p.typeOf.object("matrix",c),p.typeOf.object("cartesian",o),p.typeOf.object("result",n);let y=o.x,O=o.y,w=o.z,b=c[0]*y+c[4]*O+c[8]*w+c[12],j=c[1]*y+c[5]*O+c[9]*w+c[13],z=c[2]*y+c[6]*O+c[10]*w+c[14];return n.x=b,n.y=j,n.z=z,n}static multiplyByScalar(c,o,n){return p.typeOf.object("matrix",c),p.typeOf.number("scalar",o),p.typeOf.object("result",n),n[0]=c[0]*o,n[1]=c[1]*o,n[2]=c[2]*o,n[3]=c[3]*o,n[4]=c[4]*o,n[5]=c[5]*o,n[6]=c[6]*o,n[7]=c[7]*o,n[8]=c[8]*o,n[9]=c[9]*o,n[10]=c[10]*o,n[11]=c[11]*o,n[12]=c[12]*o,n[13]=c[13]*o,n[14]=c[14]*o,n[15]=c[15]*o,n}static negate(c,o){return p.typeOf.object("matrix",c),p.typeOf.object("result",o),o[0]=-c[0],o[1]=-c[1],o[2]=-c[2],o[3]=-c[3],o[4]=-c[4],o[5]=-c[5],o[6]=-c[6],o[7]=-c[7],o[8]=-c[8],o[9]=-c[9],o[10]=-c[10],o[11]=-c[11],o[12]=-c[12],o[13]=-c[13],o[14]=-c[14],o[15]=-c[15],o}static transpose(c,o){p.typeOf.object("matrix",c),p.typeOf.object("result",o);let n=c[1],y=c[2],O=c[3],w=c[6],b=c[7],j=c[11];return o[0]=c[0],o[1]=c[4],o[2]=c[8],o[3]=c[12],o[4]=n,o[5]=c[5],o[6]=c[9],o[7]=c[13],o[8]=y,o[9]=w,o[10]=c[10],o[11]=c[14],o[12]=O,o[13]=b,o[14]=j,o[15]=c[15],o}static abs(c,o){return p.typeOf.object("matrix",c),p.typeOf.object("result",o),o[0]=Math.abs(c[0]),o[1]=Math.abs(c[1]),o[2]=Math.abs(c[2]),o[3]=Math.abs(c[3]),o[4]=Math.abs(c[4]),o[5]=Math.abs(c[5]),o[6]=Math.abs(c[6]),o[7]=Math.abs(c[7]),o[8]=Math.abs(c[8]),o[9]=Math.abs(c[9]),o[10]=Math.abs(c[10]),o[11]=Math.abs(c[11]),o[12]=Math.abs(c[12]),o[13]=Math.abs(c[13]),o[14]=Math.abs(c[14]),o[15]=Math.abs(c[15]),o}static equals(c,o){return c===o||U(c)&&U(o)&&c[12]===o[12]&&c[13]===o[13]&&c[14]===o[14]&&c[0]===o[0]&&c[1]===o[1]&&c[2]===o[2]&&c[4]===o[4]&&c[5]===o[5]&&c[6]===o[6]&&c[8]===o[8]&&c[9]===o[9]&&c[10]===o[10]&&c[3]===o[3]&&c[7]===o[7]&&c[11]===o[11]&&c[15]===o[15]}static equalsEpsilon(c,o,n){return n=n??0,c===o||U(c)&&U(o)&&Math.abs(c[0]-o[0])<=n&&Math.abs(c[1]-o[1])<=n&&Math.abs(c[2]-o[2])<=n&&Math.abs(c[3]-o[3])<=n&&Math.abs(c[4]-o[4])<=n&&Math.abs(c[5]-o[5])<=n&&Math.abs(c[6]-o[6])<=n&&Math.abs(c[7]-o[7])<=n&&Math.abs(c[8]-o[8])<=n&&Math.abs(c[9]-o[9])<=n&&Math.abs(c[10]-o[10])<=n&&Math.abs(c[11]-o[11])<=n&&Math.abs(c[12]-o[12])<=n&&Math.abs(c[13]-o[13])<=n&&Math.abs(c[14]-o[14])<=n&&Math.abs(c[15]-o[15])<=n}static getTranslation(c,o){return p.typeOf.object("matrix",c),p.typeOf.object("result",o),o.x=c[12],o.y=c[13],o.z=c[14],o}static getMatrix3(c,o){return p.typeOf.object("matrix",c),p.typeOf.object("result",o),o[0]=c[0],o[1]=c[1],o[2]=c[2],o[3]=c[4],o[4]=c[5],o[5]=c[6],o[6]=c[8],o[7]=c[9],o[8]=c[10],o}static inverse(c,o){p.typeOf.object("matrix",c),p.typeOf.object("result",o);let n=c[0],y=c[4],O=c[8],w=c[12],b=c[1],j=c[5],z=c[9],h=c[13],R=c[2],M=c[6],T=c[10],C=c[14],q=c[3],N=c[7],E=c[11],S=c[15],d=T*S,A=C*E,$=M*S,Z=C*N,B=M*E,Y=T*N,k=R*S,X=C*q,Q=R*E,H=T*q,J=R*N,D=M*q,K=d*j+Z*z+B*h-(A*j+$*z+Y*h),I=A*b+k*z+H*h-(d*b+X*z+Q*h),v=$*b+X*j+J*h-(Z*b+k*j+D*h),g=Y*b+Q*j+D*z-(B*b+H*j+J*z),_=A*y+$*O+Y*w-(d*y+Z*O+B*w),x=d*n+X*O+Q*w-(A*n+k*O+H*w),s=Z*n+k*y+D*w-($*n+X*y+J*w),i=B*n+H*y+J*O-(Y*n+Q*y+D*O);d=O*h,A=w*z,$=y*h,Z=w*j,B=y*z,Y=O*j,k=n*h,X=w*b,Q=n*z,H=O*b,J=n*j,D=y*b;let a=d*N+Z*E+B*S-(A*N+$*E+Y*S),o1=A*q+k*E+H*S-(d*q+X*E+Q*S),n1=$*q+X*N+J*S-(Z*q+k*N+D*S),y1=Y*q+Q*N+D*E-(B*q+H*N+J*E),p1=$*T+Y*C+A*M-(B*C+d*M+Z*T),O1=Q*C+d*R+X*T-(k*T+H*C+A*R),b1=k*M+D*C+Z*R-(J*C+$*R+X*M),w1=J*T+B*R+H*M-(Q*M+D*T+Y*R),P=n*K+y*I+O*v+w*g;if(Math.abs(P)<G.EPSILON21){if(u.equalsEpsilon(f.getMatrix3(c,Z1),B1,G.EPSILON7)&&c1.equals(f.getRow(c,3,Y1),k1))return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=0,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=0,o[11]=0,o[12]=-c[12],o[13]=-c[13],o[14]=-c[14],o[15]=1,o;throw new h1("matrix is not invertible because its determinate is zero.")}return P=1/P,o[0]=K*P,o[1]=I*P,o[2]=v*P,o[3]=g*P,o[4]=_*P,o[5]=x*P,o[6]=s*P,o[7]=i*P,o[8]=a*P,o[9]=o1*P,o[10]=n1*P,o[11]=y1*P,o[12]=p1*P,o[13]=O1*P,o[14]=b1*P,o[15]=w1*P,o}static inverseTransformation(c,o){p.typeOf.object("matrix",c),p.typeOf.object("result",o);let n=c[0],y=c[1],O=c[2],w=c[4],b=c[5],j=c[6],z=c[8],h=c[9],R=c[10],M=c[12],T=c[13],C=c[14],q=-n*M-y*T-O*C,N=-w*M-b*T-j*C,E=-z*M-h*T-R*C;return o[0]=n,o[1]=w,o[2]=z,o[3]=0,o[4]=y,o[5]=b,o[6]=h,o[7]=0,o[8]=O,o[9]=j,o[10]=R,o[11]=0,o[12]=q,o[13]=N,o[14]=E,o[15]=1,o}static inverseTranspose(c,o){return p.typeOf.object("matrix",c),p.typeOf.object("result",o),f.inverse(f.transpose(c,X1),o)}get length(){return f.packedLength}clone(c){return f.clone(this,c)}equals(c){return f.equals(this,c)}static equalsArray(c,o,n){return c[0]===o[n]&&c[1]===o[n+1]&&c[2]===o[n+2]&&c[3]===o[n+3]&&c[4]===o[n+4]&&c[5]===o[n+5]&&c[6]===o[n+6]&&c[7]===o[n+7]&&c[8]===o[n+8]&&c[9]===o[n+9]&&c[10]===o[n+10]&&c[11]===o[n+11]&&c[12]===o[n+12]&&c[13]===o[n+13]&&c[14]===o[n+14]&&c[15]===o[n+15]}equalsEpsilon(c,o){return f.equalsEpsilon(this,c,o)}toString(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]})
(${this[1]}, ${this[5]}, ${this[9]}, ${this[13]})
(${this[2]}, ${this[6]}, ${this[10]}, ${this[14]})
(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`}};L.packedLength=16;L.fromArray=L.unpack;L.IDENTITY=Object.freeze(new L(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));L.ZERO=Object.freeze(new L(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));L.COLUMN0ROW0=0;L.COLUMN0ROW1=1;L.COLUMN0ROW2=2;L.COLUMN0ROW3=3;L.COLUMN1ROW0=4;L.COLUMN1ROW1=5;L.COLUMN1ROW2=6;L.COLUMN1ROW3=7;L.COLUMN2ROW0=8;L.COLUMN2ROW1=9;L.COLUMN2ROW2=10;L.COLUMN2ROW3=11;L.COLUMN3ROW0=12;L.COLUMN3ROW1=13;L.COLUMN3ROW2=14;L.COLUMN3ROW3=15;var e=new W,t=new W,l=new W,A1=new W,L1=new W,j1=new W,T1=new W,W1=new W,$1=new W,Z1=new u,B1=new u,Y1=new c1,k1=new c1(0,0,0,1),X1=new L,e1=L;export{c1 as a,e1 as b};