ts/public/GV/thirdParty/CesiumManager/Workers/EllipsoidGeometry-2c4c641e.js

2 lines
6.9 KiB
JavaScript
Raw Normal View History

2024-12-09 06:44:52 +00:00
define(["exports","./when-54c2dc71","./Check-6c0211bc","./Math-fc8cecf5","./Cartesian2-bddc1162","./Transforms-d07bb42c","./ComponentDatatype-6d99a1ee","./GeometryAttribute-be1a3386","./GeometryAttributes-4fcfcf40","./IndexDatatype-53503fee","./GeometryOffsetAttribute-7350d9af","./VertexFormat-7572c785"],function(t,$,e,tt,et,at,it,rt,nt,ot,mt,f){"use strict";var st=new et.Cartesian3,ut=new et.Cartesian3,lt=new et.Cartesian3,ct=new et.Cartesian3,ft=new et.Cartesian3,l=new et.Cartesian3(1,1,1),dt=Math.cos,Ct=Math.sin;function d(t){t=$.defaultValue(t,$.defaultValue.EMPTY_OBJECT);var e=$.defaultValue(t.radii,l),a=$.defaultValue(t.innerRadii,e),i=$.defaultValue(t.minimumClock,0),r=$.defaultValue(t.maximumClock,tt.CesiumMath.TWO_PI),n=$.defaultValue(t.minimumCone,0),o=$.defaultValue(t.maximumCone,tt.CesiumMath.PI),m=Math.round($.defaultValue(t.stackPartitions,64)),s=Math.round($.defaultValue(t.slicePartitions,64)),u=$.defaultValue(t.vertexFormat,f.VertexFormat.DEFAULT);this._radii=et.Cartesian3.clone(e),this._innerRadii=et.Cartesian3.clone(a),this._minimumClock=i,this._maximumClock=r,this._minimumCone=n,this._maximumCone=o,this._stackPartitions=m,this._slicePartitions=s,this._vertexFormat=f.VertexFormat.clone(u),this._offsetAttribute=t.offsetAttribute,this._workerName="createEllipsoidGeometry"}d.packedLength=2*et.Cartesian3.packedLength+f.VertexFormat.packedLength+7,d.pack=function(t,e,a){return a=$.defaultValue(a,0),et.Cartesian3.pack(t._radii,e,a),a+=et.Cartesian3.packedLength,et.Cartesian3.pack(t._innerRadii,e,a),a+=et.Cartesian3.packedLength,f.VertexFormat.pack(t._vertexFormat,e,a),a+=f.VertexFormat.packedLength,e[a++]=t._minimumClock,e[a++]=t._maximumClock,e[a++]=t._minimumCone,e[a++]=t._maximumCone,e[a++]=t._stackPartitions,e[a++]=t._slicePartitions,e[a]=$.defaultValue(t._offsetAttribute,-1),e};var a,C=new et.Cartesian3,p=new et.Cartesian3,y=new f.VertexFormat,_={radii:C,innerRadii:p,vertexFormat:y,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};d.unpack=function(t,e,a){e=$.defaultValue(e,0);var i=et.Cartesian3.unpack(t,e,C);e+=et.Cartesian3.packedLength;var r=et.Cartesian3.unpack(t,e,p);e+=et.Cartesian3.packedLength;var n=f.VertexFormat.unpack(t,e,y);e+=f.VertexFormat.packedLength;var o=t[e++],m=t[e++],s=t[e++],u=t[e++],l=t[e++],c=t[e++],e=t[e];return $.defined(a)?(a._radii=et.Cartesian3.clone(i,a._radii),a._innerRadii=et.Cartesian3.clone(r,a._innerRadii),a._vertexFormat=f.VertexFormat.clone(n,a._vertexFormat),a._minimumClock=o,a._maximumClock=m,a._minimumCone=s,a._maximumCone=u,a._stackPartitions=l,a._slicePartitions=c,a._offsetAttribute=-1===e?void 0:e,a):(_.minimumClock=o,_.maximumClock=m,_.minimumCone=s,_.maximumCone=u,_.stackPartitions=l,_.slicePartitions=c,_.offsetAttribute=-1===e?void 0:e,new d(_))},d.createGeometry=function(t){var e=t._radii;if(!(e.x<=0||e.y<=0||e.z<=0)){var a=t._innerRadii;if(!(a.x<=0||a.y<=0||a.z<=0)){var i=t._minimumClock,r=t._maximumClock,n=t._minimumCone,o=t._maximumCone,m=t._vertexFormat,s=t._slicePartitions+1,u=t._stackPartitions+1;(s=Math.round(s*Math.abs(r-i)/tt.CesiumMath.TWO_PI))<2&&(s=2),(u=Math.round(u*Math.abs(o-n)/tt.CesiumMath.PI))<2&&(u=2);var l=0,c=[n],f=[i];for(B=0;B<u;B++)c.push(n+B*(o-n)/(u-1));for(c.push(o),I=0;I<s;I++)f.push(i+I*(r-i)/(s-1));f.push(r);var d=c.length,C=f.length,p=0,y=1,_=a.x!==e.x||a.y!==e.y||a.z!==e.z,h=!1,v=!1,A=!1;_&&(y=2,0<n&&(h=!0,p+=s-1),o<Math.PI&&(v=!0,p+=s-1),(r-i)%tt.CesiumMath.TWO_PI?(A=!0,p+=2*(u-1)+1):p+=1);var x=C*d*y,b=new Float64Array(3*x),k=mt.arrayFill(new Array(x),!1),w=mt.arrayFill(new Array(x),!1),F=s*u*y,p=6*(F+p+1-(s+u)*y),P=ot.IndexDatatype.createTypedArray(F,p),g=m.normal?new Float32Array(3*x):void 0,V=m.tangent?new Float32Array(3*x):void 0,M=m.bitangent?new Float32Array(3*x):void 0,T=m.st?new Float32Array(2*x):void 0,D=new Array(d),G=new Array(d);for(B=0;B<d;B++)D[B]=Ct(c[B]),G[B]=dt(c[B]);for(var L=new Array(C),O=new Array(C),I=0;I<C;I++)O[I]=dt(f[I]),L[I]=Ct(f[I]);for(B=0;B<d;B++)for(I=0;I<C;I++)b[l++]=e.x*D[B]*O[I],b[l++]=e.y*D[B