2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
|
|
define(["exports","./buildModuleUrl-9085faaa","./Cartesian2-db21342c","./Cartographic-3309dd0d","./Cartesian4-3ca25aab","./Check-7b2a090c","./when-b60132fc","./Rectangle-dee65d21","./EllipsoidTangentPlane-1dfa0a87","./Math-119be1a3","./FeatureDetection-806b12f0","./Plane-a3d8b3d2","./PolygonPipeline-d83979ed"],(function(a,t,e,n,r,i,s,o,C,d,u,c,l){"use strict";var h=[];function m(a,t){this.center=n.Cartesian3.clone(s.defaultValue(a,n.Cartesian3.ZERO)),this.halfAxes=u.Matrix3.clone(s.defaultValue(t,u.Matrix3.ZERO)),this.areaDirty=1}h[0]={num:0,des:"inside"},h[1]={num:4,data:[0,4,7,3],des:"left"},h[2]={num:4,data:[1,2,6,5],des:"right"},h[3]={num:0},h[4]={num:4,data:[0,1,5,4],des:"bottom"},h[5]={num:6,data:[0,1,5,4,7,3],des:"bottom, left"},h[6]={num:6,data:[0,1,2,6,5,4],des:"bottom, right"},h[7]={num:0},h[8]={num:4,data:[2,3,7,6],des:"top"},h[9]={num:6,data:[4,7,6,2,3,0],des:"top, left"},h[10]={num:6,data:[2,3,7,6,5,1],des:"top, right"},h[11]={num:0},h[12]={num:0},h[13]={num:0},h[14]={num:0},h[15]={num:0},h[16]={num:4,data:[0,3,2,1],des:"front"},h[17]={num:6,data:[0,4,7,3,2,1],des:"front, left"},h[18]={num:6,data:[0,3,2,6,5,1],des:"front, right"},h[19]={num:0},h[20]={num:6,data:[0,3,2,1,5,4],des:"front, bottom"},h[21]={num:6,data:[2,1,5,4,7,3],des:"front, bottom, left"},h[22]={num:6,data:[0,3,2,6,5,4],des:"front, bottom, right"},h[23]={num:0},h[24]={num:6,data:[0,3,7,6,2,1],des:"front, top"},h[25]={num:6,data:[0,4,7,6,2,1],des:"front, top, left"},h[26]={num:6,data:[0,3,7,6,5,1],des:"front, top, right"},h[27]={num:0},h[28]={num:0},h[29]={num:0},h[30]={num:0},h[31]={num:0},h[32]={num:4,data:[4,5,6,7],des:"back"},h[33]={num:6,data:[4,5,6,7,3,0],des:"back, left"},h[34]={num:6,data:[1,2,6,7,4,5],des:"back, right"},h[35]={num:0},h[36]={num:6,data:[0,1,5,6,7,4],des:"back, bottom"},h[37]={num:6,data:[0,1,5,6,7,3],des:"back, bottom, left"},h[38]={num:6,data:[0,1,2,6,7,4],des:"back, bottom, right"},h[39]={num:0},h[40]={num:6,data:[2,3,7,4,5,6],des:"back, top"},h[41]={num:6,data:[0,4,5,6,2,3],des:"back, top, left"},h[42]={num:6,data:[1,2,3,7,4,5],des:"back, top, right"},m.packedLength=n.Cartesian3.packedLength+u.Matrix3.packedLength,m.pack=function(a,t,e){return e=s.defaultValue(e,0),n.Cartesian3.pack(a.center,t,e),u.Matrix3.pack(a.halfAxes,t,e+n.Cartesian3.packedLength),t},m.unpack=function(a,t,e){return t=s.defaultValue(t,0),s.defined(e)||(e=new m),n.Cartesian3.unpack(a,t,e.center),u.Matrix3.unpack(a,t+n.Cartesian3.packedLength,e.halfAxes),e};var x=new n.Cartesian3,p=new n.Cartesian3,M=new n.Cartesian3,f=new n.Cartesian3,g=new n.Cartesian3,b=new n.Cartesian3,w=new u.Matrix3,y={unitary:new u.Matrix3,diagonal:new u.Matrix3},v=new n.Cartesian3,P=new n.Cartesian3,O=new n.Cartesian3;m.fromPoints=function(a,t){if(s.defined(t)||(t=new m),!s.defined(a)||0===a.length)return t.halfAxes=u.Matrix3.ZERO,t.center=n.Cartesian3.ZERO,t;var e,r=a.length,i=n.Cartesian3.clone(a[0],x);for(e=1;e<r;e++)n.Cartesian3.add(i,a[e],i);var o=1/r;n.Cartesian3.multiplyByScalar(i,o,i);var C,d=0,c=0,l=0,h=0,v=0,P=0;for(e=0;e<r;e++)d+=(C=n.Cartesian3.subtract(a[e],i,p)).x*C.x,c+=C.x*C.y,l+=C.x*C.z,h+=C.y*C.y,v+=C.y*C.z,P+=C.z*C.z;d*=o,c*=o,l*=o,h*=o,v*=o,P*=o;var O=w;O[0]=d,O[1]=c,O[2]=l,O[3]=c,O[4]=h,O[5]=v,O[6]=l,O[7]=v,O[8]=P;var z=u.Matrix3.computeEigenDecomposition(O,y),A=u.Matrix3.clone(z.unitary,t.halfAxes),N=u.Matrix3.getColumn(A,0,f),R=u.Matrix3.getColumn(A,1,g),T=u.Matrix3.getColumn(A,2,b),I=-Number.MAX_VALUE,E=-Number.MAX_VALUE,B=-Number.MAX_VALUE,L=Number.MAX_VALUE,k=Number.MAX_VALUE,U=Number.MAX_VALUE;for(e=0;e<r;e++)C=a[e],I=Math.max(n.Cartesian3.dot(N,C),I),E=Math.max(n.Cartesian3.dot(R,C),E),B=Math.max(n.Cartesian3.dot(T,C),B),L=Math.min(n.Cartesian3.dot(N,C),L),k=Math.min(n.Cartesian3.dot(R,C),k),U=Math.min(n.Cartesian3.dot(T,C),U);N=n.Cartesian3.multiplyByScalar(N,.5*(L+I),N),R=n.Cartesian3.multiplyByScalar(R,.5*(k+E),R),T=n.Cartesian3.multiplyByScalar(T,.5*(U+B),T);var V=n.Cartesian3.add(N,R,t.center);n.Cartesian3.add(V,T,V);var S=M;return S.x=I-L,S.y=E-k,S.z=B-U,n.Cartesian3.multiplyByScalar(S,.5,S),u.Matrix3.multiplyByScale(t.halfAxes,S,t.halfAxe
|