/** * * SmartEarthSDK 基于Cesium的三维web开发 * @author 张丹钊、金磊、薛鹏、张恒 * */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).SmartEarth={})}(this,function(o){"use strict";var I=Object.freeze({testModel:"Workers/Model/xiaoche.glb",modelAxis:"Workers/Model/axis.gltf",flyModel:"Workers/Model/fly.glb",divpoint:"Workers/image/divpoint.png",divpoint1:"Workers/image/divpoint1.png",richtextpoint:"Workers/image/richtextpoint1.png",mark:"Workers/image/mark.png",mark1:"Workers/image/mark1.png",TrailLine:"Workers/image/TrailLine.png",road:"Workers/image/road.jpg",colors3:"Workers/image/colors3.png",loading:"Workers/image/loading.gif",smog:"Workers/image/smog.png",penquan:"Workers/image/penquan.png",fire:"Workers/image/fire.png",fire2:"Workers/image/fire2.png",bottomplane:"Workers/image/bottomplane.jpg",wall:"Workers/image/ggy.jpg",rotate:"Workers/image/rotate.png",move:"Workers/image/move.png",draw:"Workers/image/cursor/draw.cur",water:"Workers/image/waterNormals.jpg",movingRiver:"Workers/image/movingRiver.png",effectCircle:"Workers/image/circle.png",scanCircle:"Workers/image/scan.png",particles:"Workers/image/particles.png",trafficLight:{l_go:"Workers/image/trafficLights/l-go.png",l_wait:"Workers/image/trafficLights/l-wait.png",l_stop:"Workers/image/trafficLights/l-stop.png",l_null:"Workers/image/trafficLights/l-null.png",go:"Workers/image/trafficLights/go.png",wait:"Workers/image/trafficLights/wait.png",stop:"Workers/image/trafficLights/stop.png",null:"Workers/image/trafficLights/null.png",r_go:"Workers/image/trafficLights/r-go.png",r_wait:"Workers/image/trafficLights/r-wait.png",r_stop:"Workers/image/trafficLights/r-stop.png",r_null:"Workers/image/trafficLights/r-null.png",bg:"Workers/image/trafficLights/bg.png"}});function X(e,t){return null!=e?e:t}var Z="czm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nvec2 st = materialInput.st;\nif(twoColor){\nif(st.sCesium.Math.toRadians(80))&&((t=t.cartesianToCanvasCoordinates(e))?[t.x-this._mapOffset[0],t.y-this._mapOffset[1]]:[]):[0,0]):[]}},{key:"pointToData",value:function(e){var t=this._mapOffset,i=c.scene.globe.ellipsoid,e=new Cesium.cartesian3(e[1]+t,e[2]+t[2],0),t=i.cartesianToCartographic(e);return[t.lng,t.lat]}},{key:"getViewRect",value:function(){var e=this._api;return new echarts.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())}},{key:"getRoamTransform",value:function(){return echarts.matrix.create()}}]),o(r,n);var r,n,a=s;function s(e,t){if(!(this instanceof s))throw new TypeError("Cannot call a class as a function");this._viewer=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t}function l(){echarts.registerCoordinateSystem("GLMap",a),echarts.registerAction({type:"GLMapRoam",event:"GLMapRoam",update:"updateLayout"},function(e,t){})}echarts.extendComponentModel({type:"GLMap",getViewer:function(){return c},defaultOption:{roam:!1}}),echarts.extendComponentView({type:"GLMap",init:function(e,t){this.api=t,this.dispose(),c.scene.postRender.addEventListener(this.moveHandler,this)},moveHandler:function(e,t){this.api.dispatchAction({type:"GLMapRoam"})},render:function(e,t,i){},dispose:function(e){c.scene.postRender.removeEventListener(this.moveHandler,this)}}),i.d(t,"load",function(){return l})}],o={},r.m=i,r.c=o,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(i,o,function(e){return t[e]}.bind(null,o));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)},ne.prototype.getSceneList=function(t){$.ajax({url:this.serverUrl+"/scene/sceneList",type:"get",success:function(e){t&&"function"==typeof t&&e&&t(JSON.parse(e))}})},ne.prototype.query=function(e,t){var i=e.database,e={type:X(e.type,"building"),id:e.id,returnGeometry:X(e.returnGeometry,!0),returnChildren:X(e.returnChildren,!0)};$.ajax({url:this.serverUrl+"/"+i+"/query?version=v2.1",type:"post",async:!0,data:e,success:function(e){t&&"function"==typeof t&&e&&t(JSON.parse(e))},error:function(e,t,i){alert("error:"+e.status)}})},ae.prototype.startRecord=function(){navigator.mediaDevices.getDisplayMedia({video:!0,audio:!0}).then(e=>{this.createRecorder(e)}).catch(e=>{this.getUserMediaError(e)})},ae.prototype.getUserMediaError=function(e){console.log("mediaError",e)},ae.prototype.createRecorder=function(e){console.log("start record");var t={videoBitsPerSecond:this.videoBPS},i=(this.recorder=new MediaRecorder(e,t),this.recorder.start(),[]);this.recorder.onstop=e=>{var t=new Blob(i,{type:"video/mp4"});this.saveMedia(t)},this.recorder.ondataavailable=e=>{i.push(e.data)}},ae.prototype.saveMedia=function(e){var e=window.URL.createObjectURL(e),t=document.createElement("a");t.innerHTML="test",t.download=this.mediaOutputPath,t.href=e,t.click()},ae.prototype.stopRecord=function(){this.recorder.stop()};const se=52.35987755982988,le=3.141592653589793,ce=6378245,ue=.006693421622965943,he={BD09ToGCJ02(e,t){var e=+e-.0065,t=+t-.006,i=Math.sqrt(e*e+t*t)-2e-5*Math.sin(t*se),t=Math.atan2(t,e)-3e-6*Math.cos(e*se);return[i*Math.cos(t),i*Math.sin(t)]},GCJ02ToBD09(e,t){t=+t,e=+e;var i=Math.sqrt(e*e+t*t)+2e-5*Math.sin(t*se),t=Math.atan2(t,e)+3e-6*Math.cos(e*se);return[i*Math.cos(t)+.0065,i*Math.sin(t)+.006]},WGS84ToGCJ02(e,t){return this.out_of_china(e=+e,t=+t)?[e,t]:[e+(e=this.delta(e,t))[0],t+e[1]]},GCJ02ToWGS84(e,t){return this.out_of_china(e=+e,t=+t)?[e,t]:[2*e-(e+(e=this.delta(e,t))[0]),2*t-(t+e[1])]},delta(e,t){var i=this.transformLng(e-105,t-35),e=this.transformLat(e-105,t-35),t=t/180*le,o=Math.sin(t),o=1-ue*o*o,r=Math.sqrt(o);return[180*i/(ce/r*Math.cos(t)*le),180*e/(ce*(1-ue)/(o*r)*le)]},transformLng(e,t){t=300+(e=+e)+2*(t=+t)+.1*e*e+.1*e*t+.1*Math.sqrt(Math.abs(e));return(t+=2*(20*Math.sin(6*e*le)+20*Math.sin(2*e*le))/3)+2*(20*Math.sin(e*le)+40*Math.sin(e/3*le))/3+2*(150*Math.sin(e/12*le)+300*Math.sin(e/30*le))/3},transformLat(e,t){var i=2*(e=+e)-100+3*(t=+t)+.2*t*t+.1*e*t+.2*Math.sqrt(Math.abs(e));return(i+=2*(20*Math.sin(6*e*le)+20*Math.sin(2*e*le))/3)+2*(20*Math.sin(t*le)+40*Math.sin(t/3*le))/3+2*(160*Math.sin(t/12*le)+320*Math.sin(t*le/30))/3},out_of_china(e,t){return t=+t,!(73.66<(e=+e)&&e<135.05&&3.86{e.xmlObj=fe(e.xmlText),t.resolve(e)}),pe.set(i,t),t}}function fe(t){let i={};if(document.all){let e=new ActiveXObject("Microsoft.XMLDOM");e.loadXML(t),i=e}else i=(new DOMParser).parseFromString(t,"text/xml");return i}function _e(e){return e?3==(e="string"==typeof e?fe(e):e).nodeType||4==e.nodeType?e.nodeValue:function r(n){try{let o={};if(0>>6:(i<65536?t[r++]=224|i>>>12:(t[r++]=240|i>>>18,t[r++]=128|i>>>12&63),t[r++]=128|i>>>6&63),t[r++]=128|63&i);return t},i.buf2binstring=function(e){return u(e,e.length)},i.binstring2buf=function(e){for(var t=new l.Buf8(e.length),i=0,o=t.length;i>10&1023,n[a++]=56320|1023&i)}return u(n,a)},i.utf8border=function(e,t){for(var i=(t=(t=t||e.length)>e.length?e.length:t)-1;0<=i&&128==(192&e[i]);)i--;return!(i<0)&&0!==i&&i+c[e[i]]>t?i:t}},{"./common":1}],3:[function(e,t,i){t.exports=function(e,t,i,o){for(var r=65535&e|0,n=e>>>16&65535|0,a=0;0!==i;){for(i-=a=2e3>>1:i>>>1;e[t]=i}return e}();t.exports=function(e,t,i,o){var r=s,n=o+i;e^=-1;for(var a=o;a>>8^r[255&(e^t[a])];return-1^e}},{}],6:[function(e,t,i){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],7:[function(e,t,i){t.exports=function(e,t){var i,o,r,n,a,s,l=e.state,c=e.next_in,u=e.input,h=c+(e.avail_in-5),m=e.next_out,d=e.output,p=m-(t-e.avail_out),g=m+(e.avail_out-257),f=l.dmax,_=l.wsize,C=l.whave,y=l.wnext,v=l.window,w=l.hold,b=l.bits,T=l.lencode,S=l.distcode,E=(1<>>=o=i>>>24,b-=o,0===(o=i>>>16&255))d[m++]=65535&i;else{if(!(16&o)){if(0==(64&o)){i=T[(65535&i)+(w&(1<>>=o,b-=o),b<15&&(w+=u[c++]<>>=o=i>>>24,b-=o,!(16&(o=i>>>16&255))){if(0==(64&o)){i=S[(65535&i)+(w&(1<>>=o,b-=o,(o=m-p)>3)<<3))-1,e.next_in=c-=r,e.next_out=m,e.avail_in=c>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new L.Buf16(320),this.work=new L.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=k,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new L.Buf32(o),t.distcode=t.distdyn=new L.Buf32(r),t.sane=1,t.back=-1,H):G}function s(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):G}function l(e,t){var i,o;return!e||!e.state||(o=e.state,t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=e.wsize?(L.arraySet(e.window,t,i-e.wsize,e.wsize,0),e.wnext=0,e.whave=e.wsize):(o<(r=e.wsize-e.wnext)&&(r=o),L.arraySet(e.window,t,i-o,r,e.wnext),(o-=r)?(L.arraySet(e.window,t,i-o,o,0),e.wnext=o,e.whave=e.wsize):(e.wnext+=r,e.wnext===e.wsize&&(e.wnext=0),e.whave>>8&255,i.check=R(i.check,x,2,0),u=c=0,i.mode=2;else if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&c)<<8)+(c>>8))%31)e.msg="incorrect header check",i.mode=30;else if(8!=(15&c))e.msg="unknown compression method",i.mode=30;else{if(u-=4,b=8+(15&(c>>>=4)),0===i.wbits)i.wbits=b;else if(b>i.wbits){e.msg="invalid window size",i.mode=30;break}i.dmax=1<>8&1),512&i.flags&&(x[0]=255&c,x[1]=c>>>8&255,i.check=R(i.check,x,2,0)),u=c=0,i.mode=3;case 3:for(;u<32;){if(0===s)break e;s--,c+=o[n++]<>>8&255,x[2]=c>>>16&255,x[3]=c>>>24&255,i.check=R(i.check,x,4,0)),u=c=0,i.mode=4;case 4:for(;u<16;){if(0===s)break e;s--,c+=o[n++]<>8),512&i.flags&&(x[0]=255&c,x[1]=c>>>8&255,i.check=R(i.check,x,2,0)),u=c=0,i.mode=5;case 5:if(1024&i.flags){for(;u<16;){if(0===s)break e;s--,c+=o[n++]<>>8&255,i.check=R(i.check,x,2,0)),u=c=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&((d=s<(d=i.length)?s:d)&&(i.head&&(b=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Array(i.head.extra_len)),L.arraySet(i.head.extra,o,n,d,b)),512&i.flags&&(i.check=R(i.check,o,d,n)),s-=d,n+=d,i.length-=d),i.length))break e;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===s)break e;for(d=0;b=o[n+d++],i.head&&b&&i.length<65536&&(i.head.name+=String.fromCharCode(b)),b&&d>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=12;break;case 10:for(;u<32;){if(0===s)break e;s--,c+=o[n++]<>>=7&u,u-=7&u,i.mode=27;else{for(;u<3;){if(0===s)break e;s--,c+=o[n++]<>>=1)){case 0:i.mode=14;break;case 1:I=A=void 0;var I,A=i;if(z){for(j=new L.Buf32(512),U=new L.Buf32(32),I=0;I<144;)A.lens[I++]=8;for(;I<256;)A.lens[I++]=9;for(;I<280;)A.lens[I++]=7;for(;I<288;)A.lens[I++]=8;for(B(V,A.lens,0,288,j,0,A.work,{bits:9}),I=0;I<32;)A.lens[I++]=5;B(F,A.lens,0,32,U,0,A.work,{bits:5}),z=!1}if(A.lencode=j,A.lenbits=9,A.distcode=U,A.distbits=5,i.mode=20,6!==t)break;c>>>=2,u-=2;break e;case 2:i.mode=17;break;case 3:e.msg="invalid block type",i.mode=30}c>>>=2,u-=2}break;case 14:for(c>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,c+=o[n++]<>>16^65535)){e.msg="invalid stored block lengths",i.mode=30;break}if(i.length=65535&c,u=c=0,i.mode=15,6===t)break e;case 15:i.mode=16;case 16:if(d=i.length){if(0===(d=l<(d=s>>=5,u-=5,i.ndist=1+(31&c),c>>>=5,u-=5,i.ncode=4+(15&c),c>>>=4,u-=4,286>>=3,u-=3}for(;i.have<19;)i.lens[D[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,S={bits:i.lenbits},T=B(0,i.lens,0,19,i.lencode,0,i.work,S),i.lenbits=S.bits,T){e.msg="invalid code lengths set",i.mode=30;break}i.have=0,i.mode=19;case 19:for(;i.have>>16&255,C=65535&P,!((f=P>>>24)<=u);){if(0===s)break e;s--,c+=o[n++]<>>=f,u-=f,i.lens[i.have++]=C;else{if(16===C){for(E=f+2;u>>=f,u-=f,0===i.have){e.msg="invalid bit length repeat",i.mode=30;break}b=i.lens[i.have-1],d=3+(3&c),c>>>=2,u-=2}else if(17===C){for(E=f+3;u>>=f)),c>>>=3,u=u-f-3}else{for(E=f+7;u>>=f)),c>>>=7,u=u-f-7}if(i.have+d>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=30;break}for(;d--;)i.lens[i.have++]=b}}if(30===i.mode)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=30;break}if(i.lenbits=9,S={bits:i.lenbits},T=B(V,i.lens,0,i.nlen,i.lencode,0,i.work,S),i.lenbits=S.bits,T){e.msg="invalid literal/lengths set",i.mode=30;break}if(i.distbits=6,i.distcode=i.distdyn,S={bits:i.distbits},T=B(F,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,S),i.distbits=S.bits,T){e.msg="invalid distances set",i.mode=30;break}if(i.mode=20,6===t)break e;case 20:i.mode=21;case 21:if(6<=s&&258<=l){e.next_out=a,e.avail_out=l,e.next_in=n,e.avail_in=s,i.hold=c,i.bits=u,O(e,m),a=e.next_out,r=e.output,l=e.avail_out,n=e.next_in,o=e.input,s=e.avail_in,c=i.hold,u=i.bits,12===i.mode&&(i.back=-1);break}for(i.back=0;_=(P=i.lencode[c&(1<>>16&255,C=65535&P,!((f=P>>>24)<=u);){if(0===s)break e;s--,c+=o[n++]<>y)])>>>16&255,C=65535&P,!(y+(f=P>>>24)<=u);){if(0===s)break e;s--,c+=o[n++]<>>=y,u-=y,i.back+=y}if(c>>>=f,u-=f,i.back+=f,i.length=C,0===_){i.mode=26;break}if(32&_){i.back=-1,i.mode=12;break}if(64&_){e.msg="invalid literal/length code",i.mode=30;break}i.extra=15&_,i.mode=22;case 22:if(i.extra){for(E=i.extra;u>>=i.extra,u-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;_=(P=i.distcode[c&(1<>>16&255,C=65535&P,!((f=P>>>24)<=u);){if(0===s)break e;s--,c+=o[n++]<>y)])>>>16&255,C=65535&P,!(y+(f=P>>>24)<=u);){if(0===s)break e;s--,c+=o[n++]<>>=y,u-=y,i.back+=y}if(c>>>=f,u-=f,i.back+=f,64&_){e.msg="invalid distance code",i.mode=30;break}i.offset=C,i.extra=15&_,i.mode=24;case 24:if(i.extra){for(E=i.extra;u>>=i.extra,u-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=30;break}i.mode=25;case 25:if(0===l)break e;if(i.offset>(d=m-l)){if((d=i.offset-d)>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=30;break}p=d>i.wnext?(d-=i.wnext,i.wsize-d):i.wnext-d,d>i.length&&(d=i.length),g=i.window}else g=r,p=a-i.offset,d=i.length;for(l-=d=ld?(g=M[R+a[y]],D[I+a[y]]):(g=96,0),l=1<<(p=C-S),v=c=1<>S)+(c-=l)]=p<<24|g<<16|f|0,0!==c;);for(l=1<>=1;if(x=0!==l?(x&l-1)+l:0,y++,0==--A[C]){if(C===w)break;C=t[i+a[y]]}if(b>11&31,r=e>>5&63,n=31&e;return i[o+0]=t<<3|t>>2,i[o+1]=r<<2|r>>4,i[o+2]=n<<3|n>>2,i[o+3]=255,e}function Se(e,t,i,o){for(var r=0,n=e,a=t,s=i+(r=0!=(o&(we|be))?8:r),l=0!=(o&ve),c=new Uint8Array(16),u=Te(a[s+0],a[s+1],c,0),h=Te(a[s+2],a[s+3],c,4),m=0;m<3;m++){var d=c[m],p=c[4+m];l&&u<=h?(c[8+m]=(d+p)/2,c[12+m]=0):(c[8+m]=(2*d+p)/3,c[12+m]=(d+2*p)/3)}c[11]=255,c[15]=l&&u<=h?0:255;for(var g=new Uint8Array(16),m=0;m<4;++m){var f=a[s+4+m];g[4*m+0]=3&f,g[4*m+1]=f>>2&3,g[4*m+2]=f>>4&3,g[4*m+3]=f>>6&3}for(m=0;m<16;++m)for(var _=4*g[m],C=0;C<4;++C)n[4*m+C]=c[_+C];if(0!=(o&we))for(var y=e,v=i,w=0;w<8;++w){var b=bytes[v+w],T=15&b,b=240&b;y[8*w+3]=T|T<<4,y[8*w+7]=b|b>>4}else if(0!=(o&be)){var S=e,E=t,P=E[(L=i)+0],x=E[L+1],D=new Uint8Array(8);if((D[0]=P)<=(D[1]=x)){for(var I=1;I<5;++I)D[1+I]=((5-I)*P+I*x)/5;D[6]=0,D[7]=255}else for(I=1;I<7;++I)D[1+I]=((7-I)*P+I*x)/7;for(var A=new Uint8Array(16),L=L+2,M=0,I=0;I<2;++I){for(var R=0,O=0;O<3;++O)R|=E[L++]<<8*O;for(O=0;O<8;++O)A[M++]=R>>3*O&7}for(I=0;I<16;++I)S[4*I+3]=D[A[I]]}}function Ee(e){}Ee.decode=function(e,t,i,o,r){if(null!=e&&null!=o&&0!=i&&0!=t){var n=0;if((n=11>3|5*l+3*h>>3&2016|5*c+3*m>>3&63488,f[3]=5*u+3*s>>3|5*h+3*l>>3&2016|5*m+3*c>>3&63488,u=g[2+a],_[s=4*v*d+4*w]=f[3&u],_[1+s]=f[u>>2&3],_[2+s]=f[u>>4&3],_[3+s]=f[u>>6&3],_[s+=d]=f[u>>8&3],_[s+1]=f[u>>10&3],_[s+2]=f[u>>12&3],_[s+3]=f[u>>14],u=g[3+a],_[s+=d]=f[3&u],_[s+1]=f[u>>2&3],_[s+2]=f[u>>4&3],_[s+3]=f[u>>6&3],_[s+=d]=f[u>>8&3],_[s+1]=f[u>>10&3],_[s+2]=f[u>>12&3],_[s+3]=f[u>>14];else for(var b=e,T=t,S=i,V=o,E=n,F=0!=(E&ve)?8:16,P=0,x=0;x>=1,a>>=1,0===n&&0===a)break;n=Math.max(n,1),a=Math.max(a,1)}return s===r}(this.arrayBufferView,t,r,n);do{var s=Cesium.PixelFormat.compressedTextureSizeInBytes(t,r,n),l=new Uint8Array(this.arrayBufferView.buffer,this.arrayBufferView.byteOffset+o,s);4369===t?e.texImage2D(e.TEXTURE_2D,i++,e.RGBA,r,n,0,e.RGBA,e.UNSIGNED_BYTE,l):e.compressedTexImage2D(e.TEXTURE_2D,i++,t,r,n,0,l),r=Math.max(r>>1,1),n=Math.max(n>>1,1),o+=s}while(o=Cesium.Math.SIXTY_FOUR_KILOBYTES)&&t.elementIndexUint&&(e=Cesium.IndexDatatype.UNSIGNED_INT),Cesium.defined(i.indexBuffer)||(i.indexBuffer=Cesium.Buffer.createIndexBuffer({context:t,typedArray:i.indicesTypedArray,usage:Cesium.BufferUsage.STATIC_DRAW,indexDatatype:e})),i.indicesTypedArray=null,delete i.indicesTypedArray}};var at=Object.freeze({VertexNormal:"VertexNormal",VertexColor:"VertexColor",TexCoord:"TexCoord",TexCoord2:"TexCoord2",Instance:"Instance",COMPRESS_VERTEX:"COMPRESS_VERTEX",COMPRESS_NORMAL:"COMPRESS_NORMAL",COMPRESS_COLOR:"COMPRESS_COLOR",COMPRESS_TEXCOORD:"COMPRESS_TEXCOORD",UseLineColor:"USE_LINECOLOR",InstanceBim:"InstanceBim",InstancePipe:"InstancePipe",COMPUTE_TEXCOORD:"COMPUTE_TEXCOORD"}),st=Object.freeze({SVC_Vertex:1,SVC_Normal:2,SVC_VertexColor:4,SVC_SecondColor:8,SVC_TexutreCoord:16,SVC_TexutreCoordIsW:32}),lt=Object.freeze({BIM:17,PIPELINE:29});function ct(){this.model=void 0,this.context=void 0}function ut(e){this.layer=e.layer,this.vertexPackage=e.vertexPackage,this.arrIndexPackage=e.arrIndexPackage,this.vertexBufferToCreate=new Cesium.Queue,this.indexBufferToCreate=new Cesium.Queue,this.shaderProgramToCreate=new Cesium.Queue;let t,i;for(t=0,i=this.vertexPackage.vertexAttributes.length;ts.lodRangeData:s.lodRangeMode===bt.GeometryError?16this.lodRangeData)},Tt.prototype.getPixel=function(e){var t=this.boundingVolume.boundingSphere,i=t.radius,t=t.center,t=Cesium.Cartesian3.distance(e.camera.positionWC,t),o=e.context.drawingBufferHeight,e=.5*e.camera.frustum._fovy;return.5*o/Math.tan(e)*i/t},Tt.prototype.getGeometryError=function(e){var t=e.camera,i=this.layer.context.drawingBufferHeight;return this.lodRangeData*i/(this.boundingVolume.distanceToCamera(e)*t.frustum.sseDenominator)},Tt.prototype.distanceToTile=function(e){let t=St(this);return t.distanceToCamera(e)},Tt.prototype.distanceToTileCenter=function(e){var t=new Cesium.Cartesian3,i=St(this).boundingVolume,i=Cesium.Cartesian3.subtract(i.center,e.camera.positionWC,t);return Cesium.Cartesian3.dot(e.camera.directionWC,i)},Tt.prototype.visibility=function(e,t){var i=St(this);return e.cullingVolume.computeVisibilityWithPlaneMask(i,t)},Tt.prototype.updateVisibility=function(e,t){var i,o,r,n=this.parent,n=Cesium.defined(n)?n.visibilityPlaneMask:Cesium.CullingVolume.MASK_INDETERMINATE;this.distanceToCamera=this.distanceToTile(e),this.centerZDepth=this.distanceToTileCenter(e),this.pixel=this.getPixel(e),this.geometryError=this.getGeometryError(e),this.visibilityPlaneMask=this.visibility(e,n),this.visible=this.visibilityPlaneMask!==Cesium.CullingVolume.MASK_OUTSIDE&&this.distanceToCamera>=t.visibleDistanceMin&&this.distanceToCamera<=t.visibleDistanceMax,this.priorityDeferred=(n=this,t=e,e=new Cesium.Cartesian3,t=t.camera,i=n.boundingVolume.boundingSphere,o=i.radius,r=Cesium.Cartesian3.multiplyByScalar(t.directionWC,n.centerZDepth,e),r=Cesium.Cartesian3.add(t.positionWC,r,e),r=Cesium.Cartesian3.subtract(r,i.center,e),void(or||i);){var s=a.item;a=a.next,this.unloadTile(e,s,t)}},Bt.prototype.trim=function(){this._trimTiles=!0};var Vt=Object.freeze({RESET:0,SetColor:1,SELECTED:2,HIDE:4,OFFSET:8,CLIP:16,BLOOM:32,ALL:255});function Ft(){this._fillForeColor=new Cesium.Color,this._lineColor=new Cesium.Color,this._lineWidth=1,this._bottomAltitude=0,this._pointSize=1,this._pointColor=new Cesium.Color}function Ht(e,t){e=Cesium.defaultValue(e,Cesium.defaultValue.EMPTY_OBJECT),Cesium.Check.defined("options.url",e.url),Cesium.Check.defined("options.context",e.scene),this.id=Cesium.createGuid(),this.name=e.name,this.scene=e.scene,this.context=this.scene._context,this.show=!0,this._url=void 0,this._basePath=void 0,this._baseResource=void 0,this.modelMatrix=new Cesium.Matrix4,this.invModelMatrix=new Cesium.Matrix4,this._visibleDistanceMax=Cesium.defaultValue(e.far,Number.MAX_VALUE),this._visibleDistanceMin=Cesium.defaultValue(e.near,0),this._lodRangeScale=Cesium.defaultValue(e.lodRangeScale,1),this._selectedColor=new Cesium.Color(1,0,0,1),this.fileType=void 0,this._position=void 0,this._rectangle=void 0,this._rootTiles=[],this._schuduler=new Dt,this._selections=[],this._objsOperationList={},this._requestTiles=[],this._processTiles=[],this._selectedTiles=[],this._cache=new Bt,this._maximumMemoryUsage=-1,this._totalMemoryUsageInBytes=0,this._vertexCompressionType=void 0,this._style3D=new Ft,this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,pixel:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,pixel:Number.MAX_VALUE},this._readyPromise=Cesium.when.defer(),this.loadConfig(e.url),this.scene.primitives.add(this),this.readyPromise.then(()=>{t&&t(this)}).otherwise(function(e){console.log(e)})}function Gt(e,t){e.updateObjsOperation(t.ids,t)}function kt(e,t){return e.priority-t.priority}function Nt(e,t){t.free()}function jt(e){e._cache.unloadTiles(e,Nt)}Object.defineProperties(Ft.prototype,{fillForeColor:{get:function(){return this._fillForeColor},set:function(e){Cesium.Check.typeOf.object("fillForeColor value",e),Cesium.Color.clone(e,this._fillForeColor)}},bottomAltitude:{get:function(){return this._bottomAltitude},set:function(e){Cesium.Check.typeOf.number("bottomAltitude value",e),this._bottomAltitude!==e&&(this._bottomAltitude=e,this._dirty=!0)}},altitudeMode:{get:function(){return this._altitudeMode},set:function(e){Cesium.Check.typeOf.number("altitudeMode value",e),this._altitudeMode=e}},lineColor:{get:function(){return this._lineColor},set:function(e){Cesium.Check.typeOf.object("line color",e),Cesium.Color.clone(e,this._lineColor)}},lineWidth:{get:function(){return this._lineWidth},set:function(e){Cesium.Check.typeOf.number("line width",e),this._lineWidth=e}},pointSize:{get:function(){return this._pointSize},set:function(e){Cesium.Check.typeOf.number("point size",e),this._pointSize=e}},pointColor:{get:function(){return this._pointColor},set:function(e){Cesium.Check.typeOf.object("point color",e),Cesium.Color.clone(e,this._pointColor)}}}),Object.defineProperties(Ht.prototype,{ready:{get:function(){return 0