NongFaHeZuoSheGuanLi/public/Cesium/Workers/OrientedBoundingBox-57407e6...

2 lines
12 KiB
JavaScript
Raw Normal View History

2025-01-24 11:20:56 +08:00
define(["exports","./buildModuleUrl-dba4ec07","./Cartesian2-1b9b0d8a","./Cartographic-1bbcab04","./Cartesian4-034d54d5","./Check-3aa71481","./when-515d5295","./Rectangle-e170be8b","./EllipsoidTangentPlane-fd839d7b","./Intersect-53434a77","./Math-5e38123d","./PrimitiveType-b38a4004","./Plane-92c15089","./PolygonPipeline-b8b35011"],(function(a,t,e,n,r,i,o,s,d,u,c,h,m,l){"use strict";var w=[];function f(a,t){this.center=n.a.clone(o.e(a,n.a.ZERO)),this.halfAxes=h.r.clone(o.e(t,h.r.ZERO)),this.areaDirty=1}w[0]={num:0,des:"inside"},w[1]={num:4,data:[0,4,7,3],des:"left"},w[2]={num:4,data:[1,2,6,5],des:"right"},w[3]={num:0},w[4]={num:4,data:[0,1,5,4],des:"bottom"},w[5]={num:6,data:[0,1,5,4,7,3],des:"bottom, left"},w[6]={num:6,data:[0,1,2,6,5,4],des:"bottom, right"},w[7]={num:0},w[8]={num:4,data:[2,3,7,6],des:"top"},w[9]={num:6,data:[4,7,6,2,3,0],des:"top, left"},w[10]={num:6,data:[2,3,7,6,5,1],des:"top, right"},w[11]={num:0},w[12]={num:0},w[13]={num:0},w[14]={num:0},w[15]={num:0},w[16]={num:4,data:[0,3,2,1],des:"front"},w[17]={num:6,data:[0,4,7,3,2,1],des:"front, left"},w[18]={num:6,data:[0,3,2,6,5,1],des:"front, right"},w[19]={num:0},w[20]={num:6,data:[0,3,2,1,5,4],des:"front, bottom"},w[21]={num:6,data:[2,1,5,4,7,3],des:"front, bottom, left"},w[22]={num:6,data:[0,3,2,6,5,4],des:"front, bottom, right"},w[23]={num:0},w[24]={num:6,data:[0,3,7,6,2,1],des:"front, top"},w[25]={num:6,data:[0,4,7,6,2,1],des:"front, top, left"},w[26]={num:6,data:[0,3,7,6,5,1],des:"front, top, right"},w[27]={num:0},w[28]={num:0},w[29]={num:0},w[30]={num:0},w[31]={num:0},w[32]={num:4,data:[4,5,6,7],des:"back"},w[33]={num:6,data:[4,5,6,7,3,0],des:"back, left"},w[34]={num:6,data:[1,2,6,7,4,5],des:"back, right"},w[35]={num:0},w[36]={num:6,data:[0,1,5,6,7,4],des:"back, bottom"},w[37]={num:6,data:[0,1,5,6,7,3],des:"back, bottom, left"},w[38]={num:6,data:[0,1,2,6,7,4],des:"back, bottom, right"},w[39]={num:0},w[40]={num:6,data:[2,3,7,4,5,6],des:"back, top"},w[41]={num:6,data:[0,4,5,6,2,3],des:"back, top, left"},w[42]={num:6,data:[1,2,3,7,4,5],des:"back, top, right"},f.packedLength=n.a.packedLength+h.r.packedLength,f.pack=function(a,t,e){return i.n.typeOf.object("value",a),i.n.defined("array",t),e=o.e(e,0),n.a.pack(a.center,t,e),h.r.pack(a.halfAxes,t,e+n.a.packedLength),t},f.unpack=function(a,t,e){return i.n.defined("array",a),t=o.e(t,0),o.t(e)||(e=new f),n.a.unpack(a,t,e.center),h.r.unpack(a,t+n.a.packedLength,e.halfAxes),e};var p=new n.a,b=new n.a,x=new n.a,y=new n.a,g=new n.a,M=new n.a,v=new h.r,O={unitary:new h.r,diagonal:new h.r},z=new n.a,P=new n.a,C=new n.a;f.fromPoints=function(a,t){if(o.t(t)||(t=new f),!o.t(a)||0===a.length)return t.halfAxes=h.r.ZERO,t.center=n.a.ZERO,t;var e,r=a.length,i=n.a.clone(a[0],p);for(e=1;e<r;e++)n.a.add(i,a[e],i);var s=1/r;n.a.multiplyByScalar(i,s,i);var d,u=0,c=0,m=0,l=0,w=0,z=0;for(e=0;e<r;e++)u+=(d=n.a.subtract(a[e],i,b)).x*d.x,c+=d.x*d.y,m+=d.x*d.z,l+=d.y*d.y,w+=d.y*d.z,z+=d.z*d.z;u*=s,c*=s,m*=s,l*=s,w*=s,z*=s;var P=v;P[0]=u,P[1]=c,P[2]=m,P[3]=c,P[4]=l,P[5]=w,P[6]=m,P[7]=w,P[8]=z;var C=h.r.computeEigenDecomposition(P,O),A=h.r.clone(C.unitary,t.halfAxes),N=h.r.getColumn(A,0,y),T=h.r.getColumn(A,1,g),R=h.r.getColumn(A,2,M),E=-Number.MAX_VALUE,I=-Number.MAX_VALUE,L=-Number.MAX_VALUE,S=Number.MAX_VALUE,k=Number.MAX_VALUE,U=Number.MAX_VALUE;for(e=0;e<r;e++)d=a[e],E=Math.max(n.a.dot(N,d),E),I=Math.max(n.a.dot(T,d),I),L=Math.max(n.a.dot(R,d),L),S=Math.min(n.a.dot(N,d),S),k=Math.min(n.a.dot(T,d),k),U=Math.min(n.a.dot(R,d),U);N=n.a.multiplyByScalar(N,.5*(S+E),N),T=n.a.multiplyByScalar(T,.5*(k+I),T),R=n.a.multiplyByScalar(R,.5*(U+L),R);var q=n.a.add(N,T,t.center);n.a.add(q,R,q);var B=x;return B.x=E-S,B.y=I-k,B.z=L-U,n.a.multiplyByScalar(B,.5,B),h.r.multiplyByScale(t.halfAxes,B,t.halfAxes),t};var A=new n.a,N=new n.a;function T(a,t,e,r,s,d,u,c,m,l,w){if(!(o.t(s)&&o.t(d)&&o.t(u)&&o.t(c)&&o.t(m)&&o.t(l)))throw new i.t("all extents (minimum/maximum X/Y/Z) are required.");o.t(w)||(w=new f);var p=w.halfAxes;h.r.setColumn(p,0,t,p),h.r.setColumn(p,1,e,p),h.r.setColumn(p,2,r,p);var b=A;b.x=(s+d)/2,b.y=(u+c)/2,b.z=(m+l)/2;var x=N;x.x=(d-s)/2,