earthsdk3-cesium 3.0.7-beta.21 → 3.0.7-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/earthsdk3-cesium.iife.js +6 -6
- package/dist/earthsdk3-cesium.js +48 -56
- package/dist/earthsdk3-cesium.umd.cjs +6 -6
- package/dist/types/CzmObjects/base/InnerClass/Widget/Widget3D.d.ts.map +1 -1
- package/dist/types/CzmObjects/base/InnerClass/XbsjGroundPolylinePrimitive/GroundPolylinePrimitive.d.ts +148 -0
- package/dist/types/CzmObjects/general/CzmESImageLabel/index.d.ts.map +1 -1
- package/dist/types/CzmObjects/general/CzmESPoi2D/index.d.ts.map +1 -1
- package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/XbsjPolylineGeometry.d.ts +3 -0
- package/dist/types/CzmObjects/general/CzmESSignalTransmission/XbsjPolyline/xbsjCreateODLinesPrimitive.d.ts +29 -0
- package/dist/types/CzmObjects/general/CzmESTextLabel/index.d.ts.map +1 -1
- package/dist/types/CzmObjects/general/CzmESVideoFusion/XbsjCameraVideo/XbsjCameraVideo.d.ts +18 -0
- package/dist/types/CzmObjects/general/CzmESViewShed/XbsjViewshed/XbsjViewshed.d.ts +16 -0
- package/dist/types/ESCesiumViewer/BackGroundImage/BackGroundImage.d.ts +5 -0
- package/dist/types/ESCesiumViewer/LocalSkyBox/SkyAtmosphere.d.ts +14 -0
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatPipelineStage.d.ts +12 -0
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/GaussianSplatTexturePipelineStage.d.ts +11 -0
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/temp_wasm/pkg/wasm_splats.d.ts +75 -0
- package/dist/types/ESCesiumViewer/initCesiumViewer/GaussianSplattingExtend/temp_wasm/pkg/wasm_splats_bg.wasm.d.ts +27 -0
- package/dist/types/ESCesiumViewer/initCesiumViewer/fixGoogleEarth/cesiumFixGoogleEarth.d.ts +1 -0
- package/dist/types/__declares/cesium.d.ts +405 -0
- package/dist/types/utils/czmUtils/todo/generateCartesianArc/czm/generateCartesianArc.d.ts +8 -0
- package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/index.d.ts +37 -0
- package/dist/types/utils/generalUtils/geoPolylineToBezierSpline/bezierSpline/lib/spline.d.ts +62 -0
- package/package.json +1 -1
|
@@ -1414,7 +1414,7 @@ ${M1}
|
|
|
1414
1414
|
content: "" !important;
|
|
1415
1415
|
display: none !important;
|
|
1416
1416
|
}`,HL=function(t){jL(t,"."+Em+VL+Ix+`
|
|
1417
|
-
.`+Pm+QL+Ix)},jL=function(t,n){var e=t.ownerDocument;if(e){var r=e.createElement("style");r.textContent=n,t.appendChild(r)}},Fx=function(){function t(){}return t.getOrigin=function(n){var e=t._link;return e?(e.href=n,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},t.isSameOrigin=function(n){return t.getOrigin(n)===t._origin},t.setContext=function(n){t._link=n.document.createElement("a"),t._origin=t.getOrigin(n.location.href)},t._origin="about:blank",t}(),GL=function(){function t(n,e){this.context=n,this._options=e,this._cache={}}return t.prototype.addImage=function(n){var e=Promise.resolve();return this.has(n)||(Bm(n)||XL(n))&&(this._cache[n]=this.loadImage(n)).catch(function(){}),e},t.prototype.match=function(n){return this._cache[n]},t.prototype.loadImage=function(n){return _n(this,void 0,void 0,function(){var e,r,s,o,i=this;return fn(this,function(a){switch(a.label){case 0:return e=Fx.isSameOrigin(n),r=!Tm(n)&&this._options.useCORS===!0&&on.SUPPORT_CORS_IMAGES&&!e,s=!Tm(n)&&!e&&!Bm(n)&&typeof this._options.proxy=="string"&&on.SUPPORT_CORS_XHR&&!r,!e&&this._options.allowTaint===!1&&!Tm(n)&&!Bm(n)&&!s&&!r?[2]:(o=n,s?[4,this.proxy(o)]:[3,2]);case 1:o=a.sent(),a.label=2;case 2:return this.context.logger.debug("Added image "+n.substring(0,256)),[4,new Promise(function(l,h){var f=new Image;f.onload=function(){return l(f)},f.onerror=h,($L(o)||r)&&(f.crossOrigin="anonymous"),f.src=o,f.complete===!0&&setTimeout(function(){return l(f)},500),i._options.imageTimeout>0&&setTimeout(function(){return h("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,a.sent()]}})})},t.prototype.has=function(n){return typeof this._cache[n]<"u"},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(n){var e=this,r=this._options.proxy;if(!r)throw new Error("No proxy defined");var s=n.substring(0,256);return new Promise(function(o,i){var a=on.SUPPORT_RESPONSE_TYPE?"blob":"text",l=new XMLHttpRequest;l.onload=function(){if(l.status===200)if(a==="text")o(l.response);else{var u=new FileReader;u.addEventListener("load",function(){return o(u.result)},!1),u.addEventListener("error",function(y){return i(y)},!1),u.readAsDataURL(l.response)}else i("Failed to proxy resource "+s+" with status code "+l.status)},l.onerror=i;var h=r.indexOf("?")>-1?"&":"?";if(l.open("GET",""+r+h+"url="+encodeURIComponent(n)+"&responseType="+a),a!=="text"&&l instanceof XMLHttpRequest&&(l.responseType=a),e._options.imageTimeout){var f=e._options.imageTimeout;l.timeout=f,l.ontimeout=function(){return i("Timed out ("+f+"ms) proxying "+s)}}l.send()})},t}(),WL=/^data:image\/svg\+xml/i,qL=/^data:image\/.*;base64,/i,KL=/^data:image\/.*/i,XL=function(t){return on.SUPPORT_SVG_DRAWING||!ZL(t)},Tm=function(t){return KL.test(t)},$L=function(t){return qL.test(t)},Bm=function(t){return t.substr(0,4)==="blob"},ZL=function(t){return t.substr(-3).toLowerCase()==="svg"||WL.test(t)},Fe=function(){function t(n,e){this.type=0,this.x=n,this.y=e}return t.prototype.add=function(n,e){return new t(this.x+n,this.y+e)},t}(),gs=function(t,n,e){return new Fe(t.x+(n.x-t.x)*e,t.y+(n.y-t.y)*e)},rd=function(){function t(n,e,r,s){this.type=1,this.start=n,this.startControl=e,this.endControl=r,this.end=s}return t.prototype.subdivide=function(n,e){var r=gs(this.start,this.startControl,n),s=gs(this.startControl,this.endControl,n),o=gs(this.endControl,this.end,n),i=gs(r,s,n),a=gs(s,o,n),l=gs(i,a,n);return e?new t(this.start,r,i,l):new t(l,a,o,this.end)},t.prototype.add=function(n,e){return new t(this.start.add(n,e),this.startControl.add(n,e),this.endControl.add(n,e),this.end.add(n,e))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),or=function(t){return t.type===1},YL=function(){function t(n){var e=n.styles,r=n.bounds,s=nu(e.borderTopLeftRadius,r.width,r.height),o=s[0],i=s[1],a=nu(e.borderTopRightRadius,r.width,r.height),l=a[0],h=a[1],f=nu(e.borderBottomRightRadius,r.width,r.height),u=f[0],y=f[1],v=nu(e.borderBottomLeftRadius,r.width,r.height),g=v[0],m=v[1],p=[];p.push((o+l)/r.width),p.push((g+u)/r.width),p.push((i+m)/r.height),p.push((h+y)/r.height);var d=Math.max.apply(Math,p);d>1&&(o/=d,i/=d,l/=d,h/=d,u/=d,y/=d,g/=d,m/=d);var c=r.width-l,A=r.height-y,w=r.width-u,b=r.height-m,_=e.borderTopWidth,x=e.borderRightWidth,C=e.borderBottomWidth,T=e.borderLeftWidth,I=vt(e.paddingTop,n.bounds.width),P=vt(e.paddingRight,n.bounds.width),k=vt(e.paddingBottom,n.bounds.width),S=vt(e.paddingLeft,n.bounds.width);this.topLeftBorderDoubleOuterBox=o>0||i>0?bt(r.left+T/3,r.top+_/3,o-T/3,i-_/3,ut.TOP_LEFT):new Fe(r.left+T/3,r.top+_/3),this.topRightBorderDoubleOuterBox=o>0||i>0?bt(r.left+c,r.top+_/3,l-x/3,h-_/3,ut.TOP_RIGHT):new Fe(r.left+r.width-x/3,r.top+_/3),this.bottomRightBorderDoubleOuterBox=u>0||y>0?bt(r.left+w,r.top+A,u-x/3,y-C/3,ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x/3,r.top+r.height-C/3),this.bottomLeftBorderDoubleOuterBox=g>0||m>0?bt(r.left+T/3,r.top+b,g-T/3,m-C/3,ut.BOTTOM_LEFT):new Fe(r.left+T/3,r.top+r.height-C/3),this.topLeftBorderDoubleInnerBox=o>0||i>0?bt(r.left+T*2/3,r.top+_*2/3,o-T*2/3,i-_*2/3,ut.TOP_LEFT):new Fe(r.left+T*2/3,r.top+_*2/3),this.topRightBorderDoubleInnerBox=o>0||i>0?bt(r.left+c,r.top+_*2/3,l-x*2/3,h-_*2/3,ut.TOP_RIGHT):new Fe(r.left+r.width-x*2/3,r.top+_*2/3),this.bottomRightBorderDoubleInnerBox=u>0||y>0?bt(r.left+w,r.top+A,u-x*2/3,y-C*2/3,ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x*2/3,r.top+r.height-C*2/3),this.bottomLeftBorderDoubleInnerBox=g>0||m>0?bt(r.left+T*2/3,r.top+b,g-T*2/3,m-C*2/3,ut.BOTTOM_LEFT):new Fe(r.left+T*2/3,r.top+r.height-C*2/3),this.topLeftBorderStroke=o>0||i>0?bt(r.left+T/2,r.top+_/2,o-T/2,i-_/2,ut.TOP_LEFT):new Fe(r.left+T/2,r.top+_/2),this.topRightBorderStroke=o>0||i>0?bt(r.left+c,r.top+_/2,l-x/2,h-_/2,ut.TOP_RIGHT):new Fe(r.left+r.width-x/2,r.top+_/2),this.bottomRightBorderStroke=u>0||y>0?bt(r.left+w,r.top+A,u-x/2,y-C/2,ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x/2,r.top+r.height-C/2),this.bottomLeftBorderStroke=g>0||m>0?bt(r.left+T/2,r.top+b,g-T/2,m-C/2,ut.BOTTOM_LEFT):new Fe(r.left+T/2,r.top+r.height-C/2),this.topLeftBorderBox=o>0||i>0?bt(r.left,r.top,o,i,ut.TOP_LEFT):new Fe(r.left,r.top),this.topRightBorderBox=l>0||h>0?bt(r.left+c,r.top,l,h,ut.TOP_RIGHT):new Fe(r.left+r.width,r.top),this.bottomRightBorderBox=u>0||y>0?bt(r.left+w,r.top+A,u,y,ut.BOTTOM_RIGHT):new Fe(r.left+r.width,r.top+r.height),this.bottomLeftBorderBox=g>0||m>0?bt(r.left,r.top+b,g,m,ut.BOTTOM_LEFT):new Fe(r.left,r.top+r.height),this.topLeftPaddingBox=o>0||i>0?bt(r.left+T,r.top+_,Math.max(0,o-T),Math.max(0,i-_),ut.TOP_LEFT):new Fe(r.left+T,r.top+_),this.topRightPaddingBox=l>0||h>0?bt(r.left+Math.min(c,r.width-x),r.top+_,c>r.width+x?0:Math.max(0,l-x),Math.max(0,h-_),ut.TOP_RIGHT):new Fe(r.left+r.width-x,r.top+_),this.bottomRightPaddingBox=u>0||y>0?bt(r.left+Math.min(w,r.width-T),r.top+Math.min(A,r.height-C),Math.max(0,u-x),Math.max(0,y-C),ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x,r.top+r.height-C),this.bottomLeftPaddingBox=g>0||m>0?bt(r.left+T,r.top+Math.min(b,r.height-C),Math.max(0,g-T),Math.max(0,m-C),ut.BOTTOM_LEFT):new Fe(r.left+T,r.top+r.height-C),this.topLeftContentBox=o>0||i>0?bt(r.left+T+S,r.top+_+I,Math.max(0,o-(T+S)),Math.max(0,i-(_+I)),ut.TOP_LEFT):new Fe(r.left+T+S,r.top+_+I),this.topRightContentBox=l>0||h>0?bt(r.left+Math.min(c,r.width+T+S),r.top+_+I,c>r.width+T+S?0:l-T+S,h-(_+I),ut.TOP_RIGHT):new Fe(r.left+r.width-(x+P),r.top+_+I),this.bottomRightContentBox=u>0||y>0?bt(r.left+Math.min(w,r.width-(T+S)),r.top+Math.min(A,r.height+_+I),Math.max(0,u-(x+P)),y-(C+k),ut.BOTTOM_RIGHT):new Fe(r.left+r.width-(x+P),r.top+r.height-(C+k)),this.bottomLeftContentBox=g>0||m>0?bt(r.left+T+S,r.top+b,Math.max(0,g-(T+S)),m-(C+k),ut.BOTTOM_LEFT):new Fe(r.left+T+S,r.top+r.height-(C+k))}return t}(),ut;(function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(ut||(ut={}));var bt=function(t,n,e,r,s){var o=4*((Math.sqrt(2)-1)/3),i=e*o,a=r*o,l=t+e,h=n+r;switch(s){case ut.TOP_LEFT:return new rd(new Fe(t,h),new Fe(t,h-a),new Fe(l-i,n),new Fe(l,n));case ut.TOP_RIGHT:return new rd(new Fe(t,n),new Fe(t+i,n),new Fe(l,h-a),new Fe(l,h));case ut.BOTTOM_RIGHT:return new rd(new Fe(l,n),new Fe(l,n+a),new Fe(t+i,h),new Fe(t,h));case ut.BOTTOM_LEFT:default:return new rd(new Fe(l,h),new Fe(l-i,h),new Fe(t,n+a),new Fe(t,n))}},id=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},JL=function(t){return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox]},od=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},e6=function(){function t(n,e,r){this.offsetX=n,this.offsetY=e,this.matrix=r,this.type=0,this.target=6}return t}(),ad=function(){function t(n,e){this.path=n,this.target=e,this.type=1}return t}(),t6=function(){function t(n){this.opacity=n,this.type=2,this.target=6}return t}(),n6=function(t){return t.type===0},kx=function(t){return t.type===1},r6=function(t){return t.type===2},Mx=function(t,n){return t.length===n.length?t.some(function(e,r){return e===n[r]}):!1},i6=function(t,n,e,r,s){return t.map(function(o,i){switch(i){case 0:return o.add(n,e);case 1:return o.add(n+r,e);case 2:return o.add(n+r,e+s);case 3:return o.add(n,e+s)}return o})},Ox=function(){function t(n){this.element=n,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return t}(),Dx=function(){function t(n,e){if(this.container=n,this.parent=e,this.effects=[],this.curves=new YL(this.container),this.container.styles.opacity<1&&this.effects.push(new t6(this.container.styles.opacity)),this.container.styles.transform!==null){var r=this.container.bounds.left+this.container.styles.transformOrigin[0].number,s=this.container.bounds.top+this.container.styles.transformOrigin[1].number,o=this.container.styles.transform;this.effects.push(new e6(r,s,o))}if(this.container.styles.overflowX!==0){var i=id(this.curves),a=od(this.curves);Mx(i,a)?this.effects.push(new ad(i,6)):(this.effects.push(new ad(i,2)),this.effects.push(new ad(a,4)))}}return t.prototype.getEffects=function(n){for(var e=[2,3].indexOf(this.container.styles.position)===-1,r=this.parent,s=this.effects.slice(0);r;){var o=r.effects.filter(function(l){return!kx(l)});if(e||r.container.styles.position!==0||!r.parent){if(s.unshift.apply(s,o),e=[2,3].indexOf(r.container.styles.position)===-1,r.container.styles.overflowX!==0){var i=id(r.curves),a=od(r.curves);Mx(i,a)||s.unshift(new ad(a,6))}}else s.unshift.apply(s,o);r=r.parent}return s.filter(function(l){return Gt(l.target,n)})},t}(),Im=function(t,n,e,r){t.container.elements.forEach(function(s){var o=Gt(s.flags,4),i=Gt(s.flags,2),a=new Dx(s,t);Gt(s.styles.display,2048)&&r.push(a);var l=Gt(s.flags,8)?[]:r;if(o||i){var h=o||s.styles.isPositioned()?e:n,f=new Ox(a);if(s.styles.isPositioned()||s.styles.opacity<1||s.styles.isTransformed()){var u=s.styles.zIndex.order;if(u<0){var y=0;h.negativeZIndex.some(function(g,m){return u>g.element.container.styles.zIndex.order?(y=m,!1):y>0}),h.negativeZIndex.splice(y,0,f)}else if(u>0){var v=0;h.positiveZIndex.some(function(g,m){return u>=g.element.container.styles.zIndex.order?(v=m+1,!1):v>0}),h.positiveZIndex.splice(v,0,f)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(f)}else s.styles.isFloating()?h.nonPositionedFloats.push(f):h.nonPositionedInlineLevel.push(f);Im(a,f,o?f:e,l)}else s.styles.isInlineLevel()?n.inlineLevel.push(a):n.nonInlineLevel.push(a),Im(a,n,e,l);Gt(s.flags,8)&&Rx(s,l)})},Rx=function(t,n){for(var e=t instanceof vm?t.start:1,r=t instanceof vm?t.reversed:!1,s=0;s<n.length;s++){var o=n[s];o.container instanceof sx&&typeof o.container.value=="number"&&o.container.value!==0&&(e=o.container.value),o.listValue=lu(e,o.container.styles.listStyleType,!0),e+=r?-1:1}},o6=function(t){var n=new Dx(t,null),e=new Ox(n),r=[];return Im(n,e,e,r),Rx(n.container,r),e},Ux=function(t,n){switch(n){case 0:return ar(t.topLeftBorderBox,t.topLeftPaddingBox,t.topRightBorderBox,t.topRightPaddingBox);case 1:return ar(t.topRightBorderBox,t.topRightPaddingBox,t.bottomRightBorderBox,t.bottomRightPaddingBox);case 2:return ar(t.bottomRightBorderBox,t.bottomRightPaddingBox,t.bottomLeftBorderBox,t.bottomLeftPaddingBox);case 3:default:return ar(t.bottomLeftBorderBox,t.bottomLeftPaddingBox,t.topLeftBorderBox,t.topLeftPaddingBox)}},a6=function(t,n){switch(n){case 0:return ar(t.topLeftBorderBox,t.topLeftBorderDoubleOuterBox,t.topRightBorderBox,t.topRightBorderDoubleOuterBox);case 1:return ar(t.topRightBorderBox,t.topRightBorderDoubleOuterBox,t.bottomRightBorderBox,t.bottomRightBorderDoubleOuterBox);case 2:return ar(t.bottomRightBorderBox,t.bottomRightBorderDoubleOuterBox,t.bottomLeftBorderBox,t.bottomLeftBorderDoubleOuterBox);case 3:default:return ar(t.bottomLeftBorderBox,t.bottomLeftBorderDoubleOuterBox,t.topLeftBorderBox,t.topLeftBorderDoubleOuterBox)}},s6=function(t,n){switch(n){case 0:return ar(t.topLeftBorderDoubleInnerBox,t.topLeftPaddingBox,t.topRightBorderDoubleInnerBox,t.topRightPaddingBox);case 1:return ar(t.topRightBorderDoubleInnerBox,t.topRightPaddingBox,t.bottomRightBorderDoubleInnerBox,t.bottomRightPaddingBox);case 2:return ar(t.bottomRightBorderDoubleInnerBox,t.bottomRightPaddingBox,t.bottomLeftBorderDoubleInnerBox,t.bottomLeftPaddingBox);case 3:default:return ar(t.bottomLeftBorderDoubleInnerBox,t.bottomLeftPaddingBox,t.topLeftBorderDoubleInnerBox,t.topLeftPaddingBox)}},l6=function(t,n){switch(n){case 0:return sd(t.topLeftBorderStroke,t.topRightBorderStroke);case 1:return sd(t.topRightBorderStroke,t.bottomRightBorderStroke);case 2:return sd(t.bottomRightBorderStroke,t.bottomLeftBorderStroke);case 3:default:return sd(t.bottomLeftBorderStroke,t.topLeftBorderStroke)}},sd=function(t,n){var e=[];return or(t)?e.push(t.subdivide(.5,!1)):e.push(t),or(n)?e.push(n.subdivide(.5,!0)):e.push(n),e},ar=function(t,n,e,r){var s=[];return or(t)?s.push(t.subdivide(.5,!1)):s.push(t),or(e)?s.push(e.subdivide(.5,!0)):s.push(e),or(r)?s.push(r.subdivide(.5,!0).reverse()):s.push(r),or(n)?s.push(n.subdivide(.5,!1).reverse()):s.push(n),s},Lx=function(t){var n=t.bounds,e=t.styles;return n.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},ld=function(t){var n=t.styles,e=t.bounds,r=vt(n.paddingLeft,e.width),s=vt(n.paddingRight,e.width),o=vt(n.paddingTop,e.width),i=vt(n.paddingBottom,e.width);return e.add(r+n.borderLeftWidth,o+n.borderTopWidth,-(n.borderRightWidth+n.borderLeftWidth+r+s),-(n.borderTopWidth+n.borderBottomWidth+o+i))},u6=function(t,n){return t===0?n.bounds:t===2?ld(n):Lx(n)},c6=function(t,n){return t===0?n.bounds:t===2?ld(n):Lx(n)},Fm=function(t,n,e){var r=u6(ws(t.styles.backgroundOrigin,n),t),s=c6(ws(t.styles.backgroundClip,n),t),o=h6(ws(t.styles.backgroundSize,n),e,r),i=o[0],a=o[1],l=nu(ws(t.styles.backgroundPosition,n),r.width-i,r.height-a),h=f6(ws(t.styles.backgroundRepeat,n),l,o,r,s),f=Math.round(r.left+l[0]),u=Math.round(r.top+l[1]);return[h,f,u,i,a]},vs=function(t){return dt(t)&&t.value===ps.AUTO},ud=function(t){return typeof t=="number"},h6=function(t,n,e){var r=n[0],s=n[1],o=n[2],i=t[0],a=t[1];if(!i)return[0,0];if(Nt(i)&&a&&Nt(a))return[vt(i,e.width),vt(a,e.height)];var l=ud(o);if(dt(i)&&(i.value===ps.CONTAIN||i.value===ps.COVER)){if(ud(o)){var h=e.width/e.height;return h<o!=(i.value===ps.COVER)?[e.width,e.width/o]:[e.height*o,e.height]}return[e.width,e.height]}var f=ud(r),u=ud(s),y=f||u;if(vs(i)&&(!a||vs(a))){if(f&&u)return[r,s];if(!l&&!y)return[e.width,e.height];if(y&&l){var v=f?r:s*o,g=u?s:r/o;return[v,g]}var m=f?r:e.width,p=u?s:e.height;return[m,p]}if(l){var d=0,c=0;return Nt(i)?d=vt(i,e.width):Nt(a)&&(c=vt(a,e.height)),vs(i)?d=c*o:(!a||vs(a))&&(c=d/o),[d,c]}var A=null,w=null;if(Nt(i)?A=vt(i,e.width):a&&Nt(a)&&(w=vt(a,e.height)),A!==null&&(!a||vs(a))&&(w=f&&u?A/r*s:e.height),w!==null&&vs(i)&&(A=f&&u?w/s*r:e.width),A!==null&&w!==null)return[A,w];throw new Error("Unable to calculate background-size for element")},ws=function(t,n){var e=t[n];return typeof e>"u"?t[0]:e},f6=function(t,n,e,r,s){var o=n[0],i=n[1],a=e[0],l=e[1];switch(t){case 2:return[new Fe(Math.round(r.left),Math.round(r.top+i)),new Fe(Math.round(r.left+r.width),Math.round(r.top+i)),new Fe(Math.round(r.left+r.width),Math.round(l+r.top+i)),new Fe(Math.round(r.left),Math.round(l+r.top+i))];case 3:return[new Fe(Math.round(r.left+o),Math.round(r.top)),new Fe(Math.round(r.left+o+a),Math.round(r.top)),new Fe(Math.round(r.left+o+a),Math.round(r.height+r.top)),new Fe(Math.round(r.left+o),Math.round(r.height+r.top))];case 1:return[new Fe(Math.round(r.left+o),Math.round(r.top+i)),new Fe(Math.round(r.left+o+a),Math.round(r.top+i)),new Fe(Math.round(r.left+o+a),Math.round(r.top+i+l)),new Fe(Math.round(r.left+o),Math.round(r.top+i+l))];default:return[new Fe(Math.round(s.left),Math.round(s.top)),new Fe(Math.round(s.left+s.width),Math.round(s.top)),new Fe(Math.round(s.left+s.width),Math.round(s.height+s.top)),new Fe(Math.round(s.left),Math.round(s.height+s.top))]}},d6="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",zx="Hidden Text",p6=function(){function t(n){this._data={},this._document=n}return t.prototype.parseMetrics=function(n,e){var r=this._document.createElement("div"),s=this._document.createElement("img"),o=this._document.createElement("span"),i=this._document.body;r.style.visibility="hidden",r.style.fontFamily=n,r.style.fontSize=e,r.style.margin="0",r.style.padding="0",r.style.whiteSpace="nowrap",i.appendChild(r),s.src=d6,s.width=1,s.height=1,s.style.margin="0",s.style.padding="0",s.style.verticalAlign="baseline",o.style.fontFamily=n,o.style.fontSize=e,o.style.margin="0",o.style.padding="0",o.appendChild(this._document.createTextNode(zx)),r.appendChild(o),r.appendChild(s);var a=s.offsetTop-o.offsetTop+2;r.removeChild(o),r.appendChild(this._document.createTextNode(zx)),r.style.lineHeight="normal",s.style.verticalAlign="super";var l=s.offsetTop-r.offsetTop+2;return i.removeChild(r),{baseline:a,middle:l}},t.prototype.getMetrics=function(n,e){var r=n+" "+e;return typeof this._data[r]>"u"&&(this._data[r]=this.parseMetrics(n,e)),this._data[r]},t}(),Nx=function(){function t(n,e){this.context=n,this.options=e}return t}(),A6=1e4,m6=function(t){vr(n,t);function n(e,r){var s=t.call(this,e,r)||this;return s._activeEffects=[],s.canvas=r.canvas?r.canvas:document.createElement("canvas"),s.ctx=s.canvas.getContext("2d"),r.canvas||(s.canvas.width=Math.floor(r.width*r.scale),s.canvas.height=Math.floor(r.height*r.scale),s.canvas.style.width=r.width+"px",s.canvas.style.height=r.height+"px"),s.fontMetrics=new p6(document),s.ctx.scale(s.options.scale,s.options.scale),s.ctx.translate(-r.x,-r.y),s.ctx.textBaseline="bottom",s._activeEffects=[],s.context.logger.debug("Canvas renderer initialized ("+r.width+"x"+r.height+") with scale "+r.scale),s}return n.prototype.applyEffects=function(e){for(var r=this;this._activeEffects.length;)this.popEffect();e.forEach(function(s){return r.applyEffect(s)})},n.prototype.applyEffect=function(e){this.ctx.save(),r6(e)&&(this.ctx.globalAlpha=e.opacity),n6(e)&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),kx(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},n.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},n.prototype.renderStack=function(e){return _n(this,void 0,void 0,function(){var r;return fn(this,function(s){switch(s.label){case 0:return r=e.element.container.styles,r.isVisible()?[4,this.renderStackContent(e)]:[3,2];case 1:s.sent(),s.label=2;case 2:return[2]}})})},n.prototype.renderNode=function(e){return _n(this,void 0,void 0,function(){return fn(this,function(r){switch(r.label){case 0:if(Gt(e.container.flags,16))debugger;return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return r.sent(),[4,this.renderNodeContent(e)];case 2:r.sent(),r.label=3;case 3:return[2]}})})},n.prototype.renderTextWithLetterSpacing=function(e,r,s){var o=this;if(r===0)this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+s);else{var i=gm(e.text);i.reduce(function(a,l){return o.ctx.fillText(l,a,e.bounds.top+s),a+o.ctx.measureText(l).width},e.bounds.left)}},n.prototype.createFontStyle=function(e){var r=e.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),s=b6(e.fontFamily).join(", "),o=tu(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,r,e.fontWeight,o,s].join(" "),s,o]},n.prototype.renderTextNode=function(e,r){return _n(this,void 0,void 0,function(){var s,o,i,a,l,h,f,u,y=this;return fn(this,function(v){return s=this.createFontStyle(r),o=s[0],i=s[1],a=s[2],this.ctx.font=o,this.ctx.direction=r.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",l=this.fontMetrics.getMetrics(i,a),h=l.baseline,f=l.middle,u=r.paintOrder,e.textBounds.forEach(function(g){u.forEach(function(m){switch(m){case 0:y.ctx.fillStyle=Xt(r.color),y.renderTextWithLetterSpacing(g,r.letterSpacing,h);var p=r.textShadow;p.length&&g.text.trim().length&&(p.slice(0).reverse().forEach(function(d){y.ctx.shadowColor=Xt(d.color),y.ctx.shadowOffsetX=d.offsetX.number*y.options.scale,y.ctx.shadowOffsetY=d.offsetY.number*y.options.scale,y.ctx.shadowBlur=d.blur.number,y.renderTextWithLetterSpacing(g,r.letterSpacing,h)}),y.ctx.shadowColor="",y.ctx.shadowOffsetX=0,y.ctx.shadowOffsetY=0,y.ctx.shadowBlur=0),r.textDecorationLine.length&&(y.ctx.fillStyle=Xt(r.textDecorationColor||r.color),r.textDecorationLine.forEach(function(d){switch(d){case 1:y.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top+h),g.bounds.width,1);break;case 2:y.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top),g.bounds.width,1);break;case 3:y.ctx.fillRect(g.bounds.left,Math.ceil(g.bounds.top+f),g.bounds.width,1);break}}));break;case 1:r.webkitTextStrokeWidth&&g.text.trim().length&&(y.ctx.strokeStyle=Xt(r.webkitTextStrokeColor),y.ctx.lineWidth=r.webkitTextStrokeWidth,y.ctx.lineJoin=window.chrome?"miter":"round",y.ctx.strokeText(g.text,g.bounds.left,g.bounds.top+h)),y.ctx.strokeStyle="",y.ctx.lineWidth=0,y.ctx.lineJoin="miter";break}})}),[2]})})},n.prototype.renderReplacedElement=function(e,r,s){if(s&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var o=ld(e),i=od(r);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(s,0,0,e.intrinsicWidth,e.intrinsicHeight,o.left,o.top,o.width,o.height),this.ctx.restore()}},n.prototype.renderNodeContent=function(e){return _n(this,void 0,void 0,function(){var r,s,o,i,a,l,c,c,h,f,u,y,w,v,g,b,m,p,d,c,A,w,b;return fn(this,function(_){switch(_.label){case 0:this.applyEffects(e.getEffects(4)),r=e.container,s=e.curves,o=r.styles,i=0,a=r.textNodes,_.label=1;case 1:return i<a.length?(l=a[i],[4,this.renderTextNode(l,o)]):[3,4];case 2:_.sent(),_.label=3;case 3:return i++,[3,1];case 4:if(!(r instanceof ix))return[3,8];_.label=5;case 5:return _.trys.push([5,7,,8]),[4,this.context.cache.match(r.src)];case 6:return c=_.sent(),this.renderReplacedElement(r,s,c),[3,8];case 7:return _.sent(),this.context.logger.error("Error loading image "+r.src),[3,8];case 8:if(r instanceof ox&&this.renderReplacedElement(r,s,r.canvas),!(r instanceof ax))return[3,12];_.label=9;case 9:return _.trys.push([9,11,,12]),[4,this.context.cache.match(r.svg)];case 10:return c=_.sent(),this.renderReplacedElement(r,s,c),[3,12];case 11:return _.sent(),this.context.logger.error("Error loading svg "+r.svg.substring(0,255)),[3,12];case 12:return r instanceof hx&&r.tree?(h=new n(this.context,{scale:this.options.scale,backgroundColor:r.backgroundColor,x:0,y:0,width:r.width,height:r.height}),[4,h.render(r.tree)]):[3,14];case 13:f=_.sent(),r.width&&r.height&&this.ctx.drawImage(f,0,0,r.width,r.height,r.bounds.left,r.bounds.top,r.bounds.width,r.bounds.height),_.label=14;case 14:if(r instanceof wm&&(u=Math.min(r.bounds.width,r.bounds.height),r.type===Zf?r.checked&&(this.ctx.save(),this.path([new Fe(r.bounds.left+u*.39363,r.bounds.top+u*.79),new Fe(r.bounds.left+u*.16,r.bounds.top+u*.5549),new Fe(r.bounds.left+u*.27347,r.bounds.top+u*.44071),new Fe(r.bounds.left+u*.39694,r.bounds.top+u*.5649),new Fe(r.bounds.left+u*.72983,r.bounds.top+u*.23),new Fe(r.bounds.left+u*.84,r.bounds.top+u*.34085),new Fe(r.bounds.left+u*.39363,r.bounds.top+u*.79)]),this.ctx.fillStyle=Xt(lx),this.ctx.fill(),this.ctx.restore()):r.type===Yf&&r.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(r.bounds.left+u/2,r.bounds.top+u/2,u/4,0,Math.PI*2,!0),this.ctx.fillStyle=Xt(lx),this.ctx.fill(),this.ctx.restore())),y6(r)&&r.value.length){switch(y=this.createFontStyle(o),w=y[0],v=y[1],g=this.fontMetrics.getMetrics(w,v).baseline,this.ctx.font=w,this.ctx.fillStyle=Xt(o.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=v6(r.styles.textAlign),b=ld(r),m=0,r.styles.textAlign){case 1:m+=b.width/2;break;case 2:m+=b.width;break}p=b.add(m,0,0,-b.height/2+1),this.ctx.save(),this.path([new Fe(b.left,b.top),new Fe(b.left+b.width,b.top),new Fe(b.left+b.width,b.top+b.height),new Fe(b.left,b.top+b.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new au(r.value,p),o.letterSpacing,g),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!Gt(r.styles.display,2048))return[3,20];if(r.styles.listStyleImage===null)return[3,19];if(d=r.styles.listStyleImage,d.type!==0)return[3,18];c=void 0,A=d.url,_.label=15;case 15:return _.trys.push([15,17,,18]),[4,this.context.cache.match(A)];case 16:return c=_.sent(),this.ctx.drawImage(c,r.bounds.left-(c.width+10),r.bounds.top),[3,18];case 17:return _.sent(),this.context.logger.error("Error loading list-style-image "+A),[3,18];case 18:return[3,20];case 19:e.listValue&&r.styles.listStyleType!==-1&&(w=this.createFontStyle(o)[0],this.ctx.font=w,this.ctx.fillStyle=Xt(o.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",b=new di(r.bounds.left,r.bounds.top+vt(r.styles.paddingTop,r.bounds.width),r.bounds.width,z_(o.lineHeight,o.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new au(e.listValue,b),o.letterSpacing,z_(o.lineHeight,o.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),_.label=20;case 20:return[2]}})})},n.prototype.renderStackContent=function(e){return _n(this,void 0,void 0,function(){var r,s,d,o,i,d,a,l,d,h,f,d,u,y,d,v,g,d,m,p,d;return fn(this,function(c){switch(c.label){case 0:if(Gt(e.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:c.sent(),r=0,s=e.negativeZIndex,c.label=2;case 2:return r<s.length?(d=s[r],[4,this.renderStack(d)]):[3,5];case 3:c.sent(),c.label=4;case 4:return r++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:c.sent(),o=0,i=e.nonInlineLevel,c.label=7;case 7:return o<i.length?(d=i[o],[4,this.renderNode(d)]):[3,10];case 8:c.sent(),c.label=9;case 9:return o++,[3,7];case 10:a=0,l=e.nonPositionedFloats,c.label=11;case 11:return a<l.length?(d=l[a],[4,this.renderStack(d)]):[3,14];case 12:c.sent(),c.label=13;case 13:return a++,[3,11];case 14:h=0,f=e.nonPositionedInlineLevel,c.label=15;case 15:return h<f.length?(d=f[h],[4,this.renderStack(d)]):[3,18];case 16:c.sent(),c.label=17;case 17:return h++,[3,15];case 18:u=0,y=e.inlineLevel,c.label=19;case 19:return u<y.length?(d=y[u],[4,this.renderNode(d)]):[3,22];case 20:c.sent(),c.label=21;case 21:return u++,[3,19];case 22:v=0,g=e.zeroOrAutoZIndexOrTransformedOrOpacity,c.label=23;case 23:return v<g.length?(d=g[v],[4,this.renderStack(d)]):[3,26];case 24:c.sent(),c.label=25;case 25:return v++,[3,23];case 26:m=0,p=e.positiveZIndex,c.label=27;case 27:return m<p.length?(d=p[m],[4,this.renderStack(d)]):[3,30];case 28:c.sent(),c.label=29;case 29:return m++,[3,27];case 30:return[2]}})})},n.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},n.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},n.prototype.formatPath=function(e){var r=this;e.forEach(function(s,o){var i=or(s)?s.start:s;o===0?r.ctx.moveTo(i.x,i.y):r.ctx.lineTo(i.x,i.y),or(s)&&r.ctx.bezierCurveTo(s.startControl.x,s.startControl.y,s.endControl.x,s.endControl.y,s.end.x,s.end.y)})},n.prototype.renderRepeat=function(e,r,s,o){this.path(e),this.ctx.fillStyle=r,this.ctx.translate(s,o),this.ctx.fill(),this.ctx.translate(-s,-o)},n.prototype.resizeImage=function(e,r,s){var o;if(e.width===r&&e.height===s)return e;var i=(o=this.canvas.ownerDocument)!==null&&o!==void 0?o:document,a=i.createElement("canvas");a.width=Math.max(1,r),a.height=Math.max(1,s);var l=a.getContext("2d");return l.drawImage(e,0,0,e.width,e.height,0,0,r,s),a},n.prototype.renderBackgroundImage=function(e){return _n(this,void 0,void 0,function(){var r,s,o,i,a,l;return fn(this,function(h){switch(h.label){case 0:r=e.styles.backgroundImage.length-1,s=function(f){var u,y,v,I,M,D,S,B,C,g,I,M,D,S,B,m,p,d,c,A,w,b,_,x,C,T,I,P,k,S,B,O,M,D,R,U,L,z,V,H,G,j;return fn(this,function(X){switch(X.label){case 0:if(f.type!==0)return[3,5];u=void 0,y=f.url,X.label=1;case 1:return X.trys.push([1,3,,4]),[4,o.context.cache.match(y)];case 2:return u=X.sent(),[3,4];case 3:return X.sent(),o.context.logger.error("Error loading background-image "+y),[3,4];case 4:return u&&(v=Fm(e,r,[u.width,u.height,u.width/u.height]),I=v[0],M=v[1],D=v[2],S=v[3],B=v[4],C=o.ctx.createPattern(o.resizeImage(u,S,B),"repeat"),o.renderRepeat(I,C,M,D)),[3,6];case 5:n5(f)?(g=Fm(e,r,[null,null,null]),I=g[0],M=g[1],D=g[2],S=g[3],B=g[4],m=ZR(f.angle,S,B),p=m[0],d=m[1],c=m[2],A=m[3],w=m[4],b=document.createElement("canvas"),b.width=S,b.height=B,_=b.getContext("2d"),x=_.createLinearGradient(d,A,c,w),T_(f.stops,p).forEach(function(Z){return x.addColorStop(Z.stop,Xt(Z.color))}),_.fillStyle=x,_.fillRect(0,0,S,B),S>0&&B>0&&(C=o.ctx.createPattern(b,"repeat"),o.renderRepeat(I,C,M,D))):r5(f)&&(T=Fm(e,r,[null,null,null]),I=T[0],P=T[1],k=T[2],S=T[3],B=T[4],O=f.position.length===0?[rm]:f.position,M=vt(O[0],S),D=vt(O[O.length-1],B),R=YR(f,M,D,S,B),U=R[0],L=R[1],U>0&&L>0&&(z=o.ctx.createRadialGradient(P+M,k+D,0,P+M,k+D,U),T_(f.stops,U*2).forEach(function(Z){return z.addColorStop(Z.stop,Xt(Z.color))}),o.path(I),o.ctx.fillStyle=z,U!==L?(V=e.bounds.left+.5*e.bounds.width,H=e.bounds.top+.5*e.bounds.height,G=L/U,j=1/G,o.ctx.save(),o.ctx.translate(V,H),o.ctx.transform(1,0,0,G,0,0),o.ctx.translate(-V,-H),o.ctx.fillRect(P,j*(k-H)+H,S,B*j),o.ctx.restore()):o.ctx.fill())),X.label=6;case 6:return r--,[2]}})},o=this,i=0,a=e.styles.backgroundImage.slice(0).reverse(),h.label=1;case 1:return i<a.length?(l=a[i],[5,s(l)]):[3,4];case 2:h.sent(),h.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},n.prototype.renderSolidBorder=function(e,r,s){return _n(this,void 0,void 0,function(){return fn(this,function(o){return this.path(Ux(s,r)),this.ctx.fillStyle=Xt(e),this.ctx.fill(),[2]})})},n.prototype.renderDoubleBorder=function(e,r,s,o){return _n(this,void 0,void 0,function(){var i,a;return fn(this,function(l){switch(l.label){case 0:return r<3?[4,this.renderSolidBorder(e,s,o)]:[3,2];case 1:return l.sent(),[2];case 2:return i=a6(o,s),this.path(i),this.ctx.fillStyle=Xt(e),this.ctx.fill(),a=s6(o,s),this.path(a),this.ctx.fill(),[2]}})})},n.prototype.renderNodeBackgroundAndBorders=function(e){return _n(this,void 0,void 0,function(){var r,s,o,i,a,l,h,f,u=this;return fn(this,function(y){switch(y.label){case 0:return this.applyEffects(e.getEffects(2)),r=e.container.styles,s=!no(r.backgroundColor)||r.backgroundImage.length,o=[{style:r.borderTopStyle,color:r.borderTopColor,width:r.borderTopWidth},{style:r.borderRightStyle,color:r.borderRightColor,width:r.borderRightWidth},{style:r.borderBottomStyle,color:r.borderBottomColor,width:r.borderBottomWidth},{style:r.borderLeftStyle,color:r.borderLeftColor,width:r.borderLeftWidth}],i=g6(ws(r.backgroundClip,0),e.curves),s||r.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),no(r.backgroundColor)||(this.ctx.fillStyle=Xt(r.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)]):[3,2];case 1:y.sent(),this.ctx.restore(),r.boxShadow.slice(0).reverse().forEach(function(v){u.ctx.save();var g=id(e.curves),m=v.inset?0:A6,p=i6(g,-m+(v.inset?1:-1)*v.spread.number,(v.inset?1:-1)*v.spread.number,v.spread.number*(v.inset?-2:2),v.spread.number*(v.inset?-2:2));v.inset?(u.path(g),u.ctx.clip(),u.mask(p)):(u.mask(g),u.ctx.clip(),u.path(p)),u.ctx.shadowOffsetX=v.offsetX.number+m,u.ctx.shadowOffsetY=v.offsetY.number,u.ctx.shadowColor=Xt(v.color),u.ctx.shadowBlur=v.blur.number,u.ctx.fillStyle=v.inset?Xt(v.color):"rgba(0,0,0,1)",u.ctx.fill(),u.ctx.restore()}),y.label=2;case 2:a=0,l=0,h=o,y.label=3;case 3:return l<h.length?(f=h[l],f.style!==0&&!no(f.color)&&f.width>0?f.style!==2?[3,5]:[4,this.renderDashedDottedBorder(f.color,f.width,a,e.curves,2)]:[3,11]):[3,13];case 4:return y.sent(),[3,11];case 5:return f.style!==3?[3,7]:[4,this.renderDashedDottedBorder(f.color,f.width,a,e.curves,3)];case 6:return y.sent(),[3,11];case 7:return f.style!==4?[3,9]:[4,this.renderDoubleBorder(f.color,f.width,a,e.curves)];case 8:return y.sent(),[3,11];case 9:return[4,this.renderSolidBorder(f.color,a,e.curves)];case 10:y.sent(),y.label=11;case 11:a++,y.label=12;case 12:return l++,[3,3];case 13:return[2]}})})},n.prototype.renderDashedDottedBorder=function(e,r,s,o,i){return _n(this,void 0,void 0,function(){var a,l,h,f,u,y,v,g,m,p,d,c,A,w,b,_,b,_;return fn(this,function(x){return this.ctx.save(),a=l6(o,s),l=Ux(o,s),i===2&&(this.path(l),this.ctx.clip()),or(l[0])?(h=l[0].start.x,f=l[0].start.y):(h=l[0].x,f=l[0].y),or(l[1])?(u=l[1].end.x,y=l[1].end.y):(u=l[1].x,y=l[1].y),s===0||s===2?v=Math.abs(h-u):v=Math.abs(f-y),this.ctx.beginPath(),i===3?this.formatPath(a):this.formatPath(l.slice(0,2)),g=r<3?r*3:r*2,m=r<3?r*2:r,i===3&&(g=r,m=r),p=!0,v<=g*2?p=!1:v<=g*2+m?(d=v/(2*g+m),g*=d,m*=d):(c=Math.floor((v+m)/(g+m)),A=(v-c*g)/(c-1),w=(v-(c+1)*g)/c,m=w<=0||Math.abs(m-A)<Math.abs(m-w)?A:w),p&&(i===3?this.ctx.setLineDash([0,g+m]):this.ctx.setLineDash([g,m])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=r):this.ctx.lineWidth=r*2+1.1,this.ctx.strokeStyle=Xt(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(or(l[0])&&(b=l[3],_=l[0],this.ctx.beginPath(),this.formatPath([new Fe(b.end.x,b.end.y),new Fe(_.start.x,_.start.y)]),this.ctx.stroke()),or(l[1])&&(b=l[1],_=l[2],this.ctx.beginPath(),this.formatPath([new Fe(b.end.x,b.end.y),new Fe(_.start.x,_.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},n.prototype.render=function(e){return _n(this,void 0,void 0,function(){var r;return fn(this,function(s){switch(s.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=Xt(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),r=o6(e),[4,this.renderStack(r)];case 1:return s.sent(),this.applyEffects([]),[2,this.canvas]}})})},n}(Nx),y6=function(t){return t instanceof cx||t instanceof ux?!0:t instanceof wm&&t.type!==Yf&&t.type!==Zf},g6=function(t,n){switch(t){case 0:return id(n);case 2:return JL(n);case 1:default:return od(n)}},v6=function(t){switch(t){case 1:return"center";case 2:return"right";case 0:default:return"left"}},w6=["-apple-system","system-ui"],b6=function(t){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?t.filter(function(n){return w6.indexOf(n)===-1}):t},_6=function(t){vr(n,t);function n(e,r){var s=t.call(this,e,r)||this;return s.canvas=r.canvas?r.canvas:document.createElement("canvas"),s.ctx=s.canvas.getContext("2d"),s.options=r,s.canvas.width=Math.floor(r.width*r.scale),s.canvas.height=Math.floor(r.height*r.scale),s.canvas.style.width=r.width+"px",s.canvas.style.height=r.height+"px",s.ctx.scale(s.options.scale,s.options.scale),s.ctx.translate(-r.x,-r.y),s.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+r.width+"x"+r.height+" at "+r.x+","+r.y+") with scale "+r.scale),s}return n.prototype.render=function(e){return _n(this,void 0,void 0,function(){var r,s;return fn(this,function(o){switch(o.label){case 0:return r=ym(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e),[4,x6(r)];case 1:return s=o.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=Xt(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(s,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},n}(Nx),x6=function(t){return new Promise(function(n,e){var r=new Image;r.onload=function(){n(r)},r.onerror=e,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(t))})},C6=function(){function t(n){var e=n.id,r=n.enabled;this.id=e,this.enabled=r,this.start=Date.now()}return t.prototype.debug=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,yf([this.id,this.getTime()+"ms"],n)):this.info.apply(this,n))},t.prototype.getTime=function(){return Date.now()-this.start},t.prototype.info=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,yf([this.id,this.getTime()+"ms"],n))},t.prototype.warn=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,yf([this.id,this.getTime()+"ms"],n)):this.info.apply(this,n))},t.prototype.error=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,yf([this.id,this.getTime()+"ms"],n)):this.info.apply(this,n))},t.instances={},t}(),S6=function(){function t(n,e){var r;this.windowBounds=e,this.instanceName="#"+t.instanceCount++,this.logger=new C6({id:this.instanceName,enabled:n.logging}),this.cache=(r=n.cache)!==null&&r!==void 0?r:new GL(this,n)}return t.instanceCount=1,t}(),km=function(t,n){return n===void 0&&(n={}),E6(t,n)};typeof window<"u"&&Fx.setContext(window);var E6=function(t,n){return _n(void 0,void 0,void 0,function(){var e,r,s,o,i,a,l,h,f,u,y,v,g,m,p,d,c,A,w,b,x,_,x,C,T,I,P,k,S,B,O,M,D,R,U,L,z,V,H,G;return fn(this,function(j){switch(j.label){case 0:if(!t||typeof t!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(e=t.ownerDocument,!e)throw new Error("Element is not attached to a Document");if(r=e.defaultView,!r)throw new Error("Document is not attached to a Window");return s={allowTaint:(C=n.allowTaint)!==null&&C!==void 0?C:!1,imageTimeout:(T=n.imageTimeout)!==null&&T!==void 0?T:15e3,proxy:n.proxy,useCORS:(I=n.useCORS)!==null&&I!==void 0?I:!1},o=RA({logging:(P=n.logging)!==null&&P!==void 0?P:!0,cache:n.cache},s),i={windowWidth:(k=n.windowWidth)!==null&&k!==void 0?k:r.innerWidth,windowHeight:(S=n.windowHeight)!==null&&S!==void 0?S:r.innerHeight,scrollX:(B=n.scrollX)!==null&&B!==void 0?B:r.pageXOffset,scrollY:(O=n.scrollY)!==null&&O!==void 0?O:r.pageYOffset},a=new di(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),l=new S6(o,a),h=(M=n.foreignObjectRendering)!==null&&M!==void 0?M:!1,f={allowTaint:(D=n.allowTaint)!==null&&D!==void 0?D:!1,onclone:n.onclone,ignoreElements:n.ignoreElements,inlineImages:h,copyStyles:h},l.logger.debug("Starting document clone with size "+a.width+"x"+a.height+" scrolled to "+-a.left+","+-a.top),u=new Bx(l,t,f),y=u.clonedReferenceElement,y?[4,u.toIFrame(e,a)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return v=j.sent(),g=_m(y)||TL(y)?i4(y.ownerDocument):gf(l,y),m=g.width,p=g.height,d=g.left,c=g.top,A=P6(l,y,n.backgroundColor),w={canvas:n.canvas,backgroundColor:A,scale:(U=(R=n.scale)!==null&&R!==void 0?R:r.devicePixelRatio)!==null&&U!==void 0?U:1,x:((L=n.x)!==null&&L!==void 0?L:0)+d,y:((z=n.y)!==null&&z!==void 0?z:0)+c,width:(V=n.width)!==null&&V!==void 0?V:Math.ceil(m),height:(H=n.height)!==null&&H!==void 0?H:Math.ceil(p)},h?(l.logger.debug("Document cloned, using foreign object rendering"),x=new _6(l,w),[4,x.render(y)]):[3,3];case 2:return b=j.sent(),[3,5];case 3:return l.logger.debug("Document cloned, element located at "+d+","+c+" with size "+m+"x"+p+" using computed rendering"),l.logger.debug("Starting DOM parsing"),_=dx(l,y),A===_.styles.backgroundColor&&(_.styles.backgroundColor=Ai.TRANSPARENT),l.logger.debug("Starting renderer for element at "+w.x+","+w.y+" with size "+w.width+"x"+w.height),x=new m6(l,w),[4,x.render(_)];case 4:b=j.sent(),j.label=5;case 5:return(!((G=n.removeContainer)!==null&&G!==void 0)||G)&&(Bx.destroy(v)||l.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),l.logger.debug("Finished rendering"),[2,b]}})})},P6=function(t,n,e){var r=n.ownerDocument,s=r.documentElement?ru(t,getComputedStyle(r.documentElement).backgroundColor):Ai.TRANSPARENT,o=r.body?ru(t,getComputedStyle(r.body).backgroundColor):Ai.TRANSPARENT,i=typeof e=="string"?ru(t,e):e===null?Ai.TRANSPARENT:4294967295;return n===r.documentElement?no(s)?no(o)?i:o:s:i};class cd extends E.Destroyable{constructor(e,r,s,o,i=!0){super();N(this,"widgetInfo");N(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});N(this,"_isPointEvent",!1);N(this,"_czmCustomPrimitive");N(this,"_czmTexture");N(this,"sceneObject");N(this,"domSize");N(this,"_defaultAnchor",this.disposeVar(E.react([0,0])));N(this,"czmViewer");N(this,"flyTo",(e,r)=>{Bn(this.czmViewer,this.sceneObject,r,e,this.czmCustomPrimitive,!0)});this._sceneObject=e,this._czmViewer=r,this._widgetInfo=s,this._drawWidget=o,this._czmCustomPrimitive=this.disposeVar(new mt(r,e.id)),this._czmTexture=this.ad(new wt(r));let a=this.sceneObject=this._sceneObject,l=this.czmViewer=this._czmViewer;this.widgetInfo=this._widgetInfo,a instanceof Q.ESPoi2D&&(this.defaultAnchor=L1(this.widgetInfo,a.mode));const{czmTexture:h}=this,{czmCustomPrimitive:f}=this;f.localRotation=[-90,0,0],this.dispose(E.bind([f,"position"],[a,"position"]));{const u=this.dv(E.createNextAnimateFrameEvent(a.allowPickingChanged,a.editingChanged)),y=()=>{a.allowPicking&&!a.editing?f.allowPicking=!0:f.allowPicking=!1};y(),this.d(u.don(y))}this.ad(r.clickEvent.don(u=>{const y=u==null?void 0:u.pointerEvent;y&&(this._isPointEvent=!0,this._eventInfo={type:y.button==0?"leftClick":y.button==2?"rightClick":"leftClick",add:{mousePos:[y.offsetX,y.offsetY]}})})),this.d(a.pickedEvent.don(u=>{var y,v,g;u.screenPosition&&this._isPointEvent&&u.attachedInfo!="innerHoverEvent"&&((y=this._eventInfo.add)!=null&&y.mousePos)&&Math.abs(u.screenPosition[0]-((v=this._eventInfo.add)==null?void 0:v.mousePos[0]))<1&&Math.abs(u.screenPosition[1]-((g=this._eventInfo.add)==null?void 0:g.mousePos[1]))<1&&(a.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),Q.registerCreatedEventUpdate(this,a,()=>{const u=l.getEngineObject(a);this.ad(u.lastHoverResultChanged.don((y,v)=>{if(!((y==null?void 0:y.sceneObject)==(v==null?void 0:v.sceneObject)||(y==null?void 0:y.sceneObject)!=a&&(v==null?void 0:v.sceneObject)!=a)){do(y==null?void 0:y.sceneObject)==null&&(this._eventInfo={type:"mouseLeave",add:{mousePos:y==null?void 0:y.screenPosition}}),(v==null?void 0:v.sceneObject)==null&&(this._eventInfo={type:"mouseEnter",add:{mousePos:y==null?void 0:y.screenPosition}});while(!1);a.widgetEvent.emit(this._eventInfo)}}))});{const u=()=>{f.scale=[a.scale[1],a.scale[0],a.scale[2]]};u(),this.d(a.scaleChanged.don(u))}f.indexTypedArray=new Uint16Array([0,1,2,0,2,3,6,5,4,7,6,4]);{const u=()=>{this._drawWidget&&(f.show=a.show)};u(),this.d(a.showChanged.don(u))}if(this.disposeVar(new E.ObjResettingWithEvent(a.rotationTypeChanged,()=>{if(a.rotationType==0)return new I6(this);if(a.rotationType==1)return new T6(this);if(a.rotationType==2)return new B6(this)})),(()=>{try{if(this._drawWidget){const y=this.widgetInfo.cloneNode(!0);y.style.position="fixed",y.style.zIndex="-1",y.style.top="0px",document.body.contains(y)||(document.body.appendChild(y),this.domSize=y.getBoundingClientRect()),km(y,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:y.offsetWidth,height:y.offsetHeight,scale:2}).then(v=>{document.body.contains(y)&&document.body.removeChild(y),this.czmTexture.copyFromCanvas(v),this.czmCustomPrimitive.uniformMap={u_image:{type:"texture",id:`${this.czmTexture.id}`},u_color:[1,1,1,1]}}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})}else this.czmCustomPrimitive.uniformMap=void 0,this.czmCustomPrimitive.show=!1}catch(y){console.log(y)}})(),i){const u=()=>{const v=a.anchor,g=a.offset;let m=100,p=100;a.sizeByContent&&this.domSize?(m=this.domSize.width/100,p=this.domSize.height/100):(m=a.size[0]/100,p=a.size[1]/100),v?this.czmCustomPrimitive.localPosition=[v[0]*m-g[0]/100,0,v[1]*p-g[1]/100]:this.czmCustomPrimitive.localPosition=[0,0,0]};u();const y=this.ad(E.createNextAnimateFrameEvent(a.anchorChanged,a.offsetChanged));this.dispose(y.disposableOn(u))}{const u=()=>{let v,g;a.sizeByContent&&this.domSize?(v=this.domSize.width/100,g=this.domSize.height/100):(v=a.size[0]/100,g=a.size[1]/100),this.czmCustomPrimitive.attributes={position:{typedArray:new Float32Array([0,0,0,0,v,0,0,v,-g,0,0,-g,0,0,0,0,v,0,0,v,-g,0,0,-g]),componentsPerAttribute:3},normal:{typedArray:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1]),componentsPerAttribute:3},textureCoordinates:{typedArray:new Float32Array([1,1,0,1,0,0,1,0,0,1,1,1,1,0,0,0]),componentsPerAttribute:2}},this.czmCustomPrimitive.boundingVolume={type:"LocalAxisedBoundingBox",data:{min:[0,0,-g],max:[0,v,0]}},this.czmCustomPrimitive.localPosition=[a.anchor[0]*v,0,a.anchor[1]*g]};u();const y=this.disposeVar(E.createNextAnimateFrameEvent(a.sizeChanged,a.sizeByContentChanged));this.dispose(y.disposableOn(u))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}get czmTexture(){return this._czmTexture}get defaultAnchor(){return this._defaultAnchor.value}set defaultAnchor(e){this._defaultAnchor.value=e}get defaultAnchorChanged(){return this._defaultAnchor.changed}}class T6 extends E.Destroyable{constructor(n){super(),this._widget3D=n;const{sceneObject:e,czmCustomPrimitive:r,czmViewer:s}=this._widget3D;{const o=()=>{const i=s.getCameraInfo();if(!i)return;const a=i.rotation;r.rotation=[a[0]+180,0-a[1],a[2]]};o(),this.dispose(s.cameraChanged.disposableOn(o))}}}class B6 extends E.Destroyable{constructor(n){super(),this._widget3D=n;const{sceneObject:e,czmCustomPrimitive:r,czmViewer:s}=this._widget3D,{rotation:o}=e;{const i=()=>{const l=s.getCameraInfo();l&&(r.rotation=[l.rotation[0]+180,o[1],o[2]])};i();const a=this.ad(E.createNextAnimateFrameEvent(e.rotationChanged,s.cameraChanged));this.dispose(a.disposableOn(i))}}}class I6 extends E.Destroyable{constructor(n){super(),this._widget3D=n;const{sceneObject:e,czmCustomPrimitive:r}=this._widget3D;this.dispose(jt([r,"rotation"],[e,"rotation"]))}}const Gu=class Gu extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_customPrimitive");const s=this._customPrimitive=this.disposeVar(new mt(e,r));s.indexTypedArray=new Uint16Array([0,1,2,0,2,3,6,5,4,7,6,4]),s.pass="TRANSLUCENT";const o=`
|
|
1417
|
+
.`+Pm+QL+Ix)},jL=function(t,n){var e=t.ownerDocument;if(e){var r=e.createElement("style");r.textContent=n,t.appendChild(r)}},Fx=function(){function t(){}return t.getOrigin=function(n){var e=t._link;return e?(e.href=n,e.href=e.href,e.protocol+e.hostname+e.port):"about:blank"},t.isSameOrigin=function(n){return t.getOrigin(n)===t._origin},t.setContext=function(n){t._link=n.document.createElement("a"),t._origin=t.getOrigin(n.location.href)},t._origin="about:blank",t}(),GL=function(){function t(n,e){this.context=n,this._options=e,this._cache={}}return t.prototype.addImage=function(n){var e=Promise.resolve();return this.has(n)||(Bm(n)||XL(n))&&(this._cache[n]=this.loadImage(n)).catch(function(){}),e},t.prototype.match=function(n){return this._cache[n]},t.prototype.loadImage=function(n){return _n(this,void 0,void 0,function(){var e,r,s,o,i=this;return fn(this,function(a){switch(a.label){case 0:return e=Fx.isSameOrigin(n),r=!Tm(n)&&this._options.useCORS===!0&&on.SUPPORT_CORS_IMAGES&&!e,s=!Tm(n)&&!e&&!Bm(n)&&typeof this._options.proxy=="string"&&on.SUPPORT_CORS_XHR&&!r,!e&&this._options.allowTaint===!1&&!Tm(n)&&!Bm(n)&&!s&&!r?[2]:(o=n,s?[4,this.proxy(o)]:[3,2]);case 1:o=a.sent(),a.label=2;case 2:return this.context.logger.debug("Added image "+n.substring(0,256)),[4,new Promise(function(l,h){var f=new Image;f.onload=function(){return l(f)},f.onerror=h,($L(o)||r)&&(f.crossOrigin="anonymous"),f.src=o,f.complete===!0&&setTimeout(function(){return l(f)},500),i._options.imageTimeout>0&&setTimeout(function(){return h("Timed out ("+i._options.imageTimeout+"ms) loading image")},i._options.imageTimeout)})];case 3:return[2,a.sent()]}})})},t.prototype.has=function(n){return typeof this._cache[n]<"u"},t.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},t.prototype.proxy=function(n){var e=this,r=this._options.proxy;if(!r)throw new Error("No proxy defined");var s=n.substring(0,256);return new Promise(function(o,i){var a=on.SUPPORT_RESPONSE_TYPE?"blob":"text",l=new XMLHttpRequest;l.onload=function(){if(l.status===200)if(a==="text")o(l.response);else{var u=new FileReader;u.addEventListener("load",function(){return o(u.result)},!1),u.addEventListener("error",function(y){return i(y)},!1),u.readAsDataURL(l.response)}else i("Failed to proxy resource "+s+" with status code "+l.status)},l.onerror=i;var h=r.indexOf("?")>-1?"&":"?";if(l.open("GET",""+r+h+"url="+encodeURIComponent(n)+"&responseType="+a),a!=="text"&&l instanceof XMLHttpRequest&&(l.responseType=a),e._options.imageTimeout){var f=e._options.imageTimeout;l.timeout=f,l.ontimeout=function(){return i("Timed out ("+f+"ms) proxying "+s)}}l.send()})},t}(),WL=/^data:image\/svg\+xml/i,qL=/^data:image\/.*;base64,/i,KL=/^data:image\/.*/i,XL=function(t){return on.SUPPORT_SVG_DRAWING||!ZL(t)},Tm=function(t){return KL.test(t)},$L=function(t){return qL.test(t)},Bm=function(t){return t.substr(0,4)==="blob"},ZL=function(t){return t.substr(-3).toLowerCase()==="svg"||WL.test(t)},Fe=function(){function t(n,e){this.type=0,this.x=n,this.y=e}return t.prototype.add=function(n,e){return new t(this.x+n,this.y+e)},t}(),gs=function(t,n,e){return new Fe(t.x+(n.x-t.x)*e,t.y+(n.y-t.y)*e)},rd=function(){function t(n,e,r,s){this.type=1,this.start=n,this.startControl=e,this.endControl=r,this.end=s}return t.prototype.subdivide=function(n,e){var r=gs(this.start,this.startControl,n),s=gs(this.startControl,this.endControl,n),o=gs(this.endControl,this.end,n),i=gs(r,s,n),a=gs(s,o,n),l=gs(i,a,n);return e?new t(this.start,r,i,l):new t(l,a,o,this.end)},t.prototype.add=function(n,e){return new t(this.start.add(n,e),this.startControl.add(n,e),this.endControl.add(n,e),this.end.add(n,e))},t.prototype.reverse=function(){return new t(this.end,this.endControl,this.startControl,this.start)},t}(),or=function(t){return t.type===1},YL=function(){function t(n){var e=n.styles,r=n.bounds,s=nu(e.borderTopLeftRadius,r.width,r.height),o=s[0],i=s[1],a=nu(e.borderTopRightRadius,r.width,r.height),l=a[0],h=a[1],f=nu(e.borderBottomRightRadius,r.width,r.height),u=f[0],y=f[1],v=nu(e.borderBottomLeftRadius,r.width,r.height),g=v[0],m=v[1],p=[];p.push((o+l)/r.width),p.push((g+u)/r.width),p.push((i+m)/r.height),p.push((h+y)/r.height);var d=Math.max.apply(Math,p);d>1&&(o/=d,i/=d,l/=d,h/=d,u/=d,y/=d,g/=d,m/=d);var c=r.width-l,A=r.height-y,w=r.width-u,b=r.height-m,_=e.borderTopWidth,x=e.borderRightWidth,C=e.borderBottomWidth,T=e.borderLeftWidth,I=vt(e.paddingTop,n.bounds.width),P=vt(e.paddingRight,n.bounds.width),k=vt(e.paddingBottom,n.bounds.width),S=vt(e.paddingLeft,n.bounds.width);this.topLeftBorderDoubleOuterBox=o>0||i>0?bt(r.left+T/3,r.top+_/3,o-T/3,i-_/3,ut.TOP_LEFT):new Fe(r.left+T/3,r.top+_/3),this.topRightBorderDoubleOuterBox=o>0||i>0?bt(r.left+c,r.top+_/3,l-x/3,h-_/3,ut.TOP_RIGHT):new Fe(r.left+r.width-x/3,r.top+_/3),this.bottomRightBorderDoubleOuterBox=u>0||y>0?bt(r.left+w,r.top+A,u-x/3,y-C/3,ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x/3,r.top+r.height-C/3),this.bottomLeftBorderDoubleOuterBox=g>0||m>0?bt(r.left+T/3,r.top+b,g-T/3,m-C/3,ut.BOTTOM_LEFT):new Fe(r.left+T/3,r.top+r.height-C/3),this.topLeftBorderDoubleInnerBox=o>0||i>0?bt(r.left+T*2/3,r.top+_*2/3,o-T*2/3,i-_*2/3,ut.TOP_LEFT):new Fe(r.left+T*2/3,r.top+_*2/3),this.topRightBorderDoubleInnerBox=o>0||i>0?bt(r.left+c,r.top+_*2/3,l-x*2/3,h-_*2/3,ut.TOP_RIGHT):new Fe(r.left+r.width-x*2/3,r.top+_*2/3),this.bottomRightBorderDoubleInnerBox=u>0||y>0?bt(r.left+w,r.top+A,u-x*2/3,y-C*2/3,ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x*2/3,r.top+r.height-C*2/3),this.bottomLeftBorderDoubleInnerBox=g>0||m>0?bt(r.left+T*2/3,r.top+b,g-T*2/3,m-C*2/3,ut.BOTTOM_LEFT):new Fe(r.left+T*2/3,r.top+r.height-C*2/3),this.topLeftBorderStroke=o>0||i>0?bt(r.left+T/2,r.top+_/2,o-T/2,i-_/2,ut.TOP_LEFT):new Fe(r.left+T/2,r.top+_/2),this.topRightBorderStroke=o>0||i>0?bt(r.left+c,r.top+_/2,l-x/2,h-_/2,ut.TOP_RIGHT):new Fe(r.left+r.width-x/2,r.top+_/2),this.bottomRightBorderStroke=u>0||y>0?bt(r.left+w,r.top+A,u-x/2,y-C/2,ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x/2,r.top+r.height-C/2),this.bottomLeftBorderStroke=g>0||m>0?bt(r.left+T/2,r.top+b,g-T/2,m-C/2,ut.BOTTOM_LEFT):new Fe(r.left+T/2,r.top+r.height-C/2),this.topLeftBorderBox=o>0||i>0?bt(r.left,r.top,o,i,ut.TOP_LEFT):new Fe(r.left,r.top),this.topRightBorderBox=l>0||h>0?bt(r.left+c,r.top,l,h,ut.TOP_RIGHT):new Fe(r.left+r.width,r.top),this.bottomRightBorderBox=u>0||y>0?bt(r.left+w,r.top+A,u,y,ut.BOTTOM_RIGHT):new Fe(r.left+r.width,r.top+r.height),this.bottomLeftBorderBox=g>0||m>0?bt(r.left,r.top+b,g,m,ut.BOTTOM_LEFT):new Fe(r.left,r.top+r.height),this.topLeftPaddingBox=o>0||i>0?bt(r.left+T,r.top+_,Math.max(0,o-T),Math.max(0,i-_),ut.TOP_LEFT):new Fe(r.left+T,r.top+_),this.topRightPaddingBox=l>0||h>0?bt(r.left+Math.min(c,r.width-x),r.top+_,c>r.width+x?0:Math.max(0,l-x),Math.max(0,h-_),ut.TOP_RIGHT):new Fe(r.left+r.width-x,r.top+_),this.bottomRightPaddingBox=u>0||y>0?bt(r.left+Math.min(w,r.width-T),r.top+Math.min(A,r.height-C),Math.max(0,u-x),Math.max(0,y-C),ut.BOTTOM_RIGHT):new Fe(r.left+r.width-x,r.top+r.height-C),this.bottomLeftPaddingBox=g>0||m>0?bt(r.left+T,r.top+Math.min(b,r.height-C),Math.max(0,g-T),Math.max(0,m-C),ut.BOTTOM_LEFT):new Fe(r.left+T,r.top+r.height-C),this.topLeftContentBox=o>0||i>0?bt(r.left+T+S,r.top+_+I,Math.max(0,o-(T+S)),Math.max(0,i-(_+I)),ut.TOP_LEFT):new Fe(r.left+T+S,r.top+_+I),this.topRightContentBox=l>0||h>0?bt(r.left+Math.min(c,r.width+T+S),r.top+_+I,c>r.width+T+S?0:l-T+S,h-(_+I),ut.TOP_RIGHT):new Fe(r.left+r.width-(x+P),r.top+_+I),this.bottomRightContentBox=u>0||y>0?bt(r.left+Math.min(w,r.width-(T+S)),r.top+Math.min(A,r.height+_+I),Math.max(0,u-(x+P)),y-(C+k),ut.BOTTOM_RIGHT):new Fe(r.left+r.width-(x+P),r.top+r.height-(C+k)),this.bottomLeftContentBox=g>0||m>0?bt(r.left+T+S,r.top+b,Math.max(0,g-(T+S)),m-(C+k),ut.BOTTOM_LEFT):new Fe(r.left+T+S,r.top+r.height-(C+k))}return t}(),ut;(function(t){t[t.TOP_LEFT=0]="TOP_LEFT",t[t.TOP_RIGHT=1]="TOP_RIGHT",t[t.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",t[t.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(ut||(ut={}));var bt=function(t,n,e,r,s){var o=4*((Math.sqrt(2)-1)/3),i=e*o,a=r*o,l=t+e,h=n+r;switch(s){case ut.TOP_LEFT:return new rd(new Fe(t,h),new Fe(t,h-a),new Fe(l-i,n),new Fe(l,n));case ut.TOP_RIGHT:return new rd(new Fe(t,n),new Fe(t+i,n),new Fe(l,h-a),new Fe(l,h));case ut.BOTTOM_RIGHT:return new rd(new Fe(l,n),new Fe(l,n+a),new Fe(t+i,h),new Fe(t,h));case ut.BOTTOM_LEFT:default:return new rd(new Fe(l,h),new Fe(l-i,h),new Fe(t,n+a),new Fe(t,n))}},id=function(t){return[t.topLeftBorderBox,t.topRightBorderBox,t.bottomRightBorderBox,t.bottomLeftBorderBox]},JL=function(t){return[t.topLeftContentBox,t.topRightContentBox,t.bottomRightContentBox,t.bottomLeftContentBox]},od=function(t){return[t.topLeftPaddingBox,t.topRightPaddingBox,t.bottomRightPaddingBox,t.bottomLeftPaddingBox]},e6=function(){function t(n,e,r){this.offsetX=n,this.offsetY=e,this.matrix=r,this.type=0,this.target=6}return t}(),ad=function(){function t(n,e){this.path=n,this.target=e,this.type=1}return t}(),t6=function(){function t(n){this.opacity=n,this.type=2,this.target=6}return t}(),n6=function(t){return t.type===0},kx=function(t){return t.type===1},r6=function(t){return t.type===2},Mx=function(t,n){return t.length===n.length?t.some(function(e,r){return e===n[r]}):!1},i6=function(t,n,e,r,s){return t.map(function(o,i){switch(i){case 0:return o.add(n,e);case 1:return o.add(n+r,e);case 2:return o.add(n+r,e+s);case 3:return o.add(n,e+s)}return o})},Ox=function(){function t(n){this.element=n,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return t}(),Dx=function(){function t(n,e){if(this.container=n,this.parent=e,this.effects=[],this.curves=new YL(this.container),this.container.styles.opacity<1&&this.effects.push(new t6(this.container.styles.opacity)),this.container.styles.transform!==null){var r=this.container.bounds.left+this.container.styles.transformOrigin[0].number,s=this.container.bounds.top+this.container.styles.transformOrigin[1].number,o=this.container.styles.transform;this.effects.push(new e6(r,s,o))}if(this.container.styles.overflowX!==0){var i=id(this.curves),a=od(this.curves);Mx(i,a)?this.effects.push(new ad(i,6)):(this.effects.push(new ad(i,2)),this.effects.push(new ad(a,4)))}}return t.prototype.getEffects=function(n){for(var e=[2,3].indexOf(this.container.styles.position)===-1,r=this.parent,s=this.effects.slice(0);r;){var o=r.effects.filter(function(l){return!kx(l)});if(e||r.container.styles.position!==0||!r.parent){if(s.unshift.apply(s,o),e=[2,3].indexOf(r.container.styles.position)===-1,r.container.styles.overflowX!==0){var i=id(r.curves),a=od(r.curves);Mx(i,a)||s.unshift(new ad(a,6))}}else s.unshift.apply(s,o);r=r.parent}return s.filter(function(l){return Gt(l.target,n)})},t}(),Im=function(t,n,e,r){t.container.elements.forEach(function(s){var o=Gt(s.flags,4),i=Gt(s.flags,2),a=new Dx(s,t);Gt(s.styles.display,2048)&&r.push(a);var l=Gt(s.flags,8)?[]:r;if(o||i){var h=o||s.styles.isPositioned()?e:n,f=new Ox(a);if(s.styles.isPositioned()||s.styles.opacity<1||s.styles.isTransformed()){var u=s.styles.zIndex.order;if(u<0){var y=0;h.negativeZIndex.some(function(g,m){return u>g.element.container.styles.zIndex.order?(y=m,!1):y>0}),h.negativeZIndex.splice(y,0,f)}else if(u>0){var v=0;h.positiveZIndex.some(function(g,m){return u>=g.element.container.styles.zIndex.order?(v=m+1,!1):v>0}),h.positiveZIndex.splice(v,0,f)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(f)}else s.styles.isFloating()?h.nonPositionedFloats.push(f):h.nonPositionedInlineLevel.push(f);Im(a,f,o?f:e,l)}else s.styles.isInlineLevel()?n.inlineLevel.push(a):n.nonInlineLevel.push(a),Im(a,n,e,l);Gt(s.flags,8)&&Rx(s,l)})},Rx=function(t,n){for(var e=t instanceof vm?t.start:1,r=t instanceof vm?t.reversed:!1,s=0;s<n.length;s++){var o=n[s];o.container instanceof sx&&typeof o.container.value=="number"&&o.container.value!==0&&(e=o.container.value),o.listValue=lu(e,o.container.styles.listStyleType,!0),e+=r?-1:1}},o6=function(t){var n=new Dx(t,null),e=new Ox(n),r=[];return Im(n,e,e,r),Rx(n.container,r),e},Ux=function(t,n){switch(n){case 0:return ar(t.topLeftBorderBox,t.topLeftPaddingBox,t.topRightBorderBox,t.topRightPaddingBox);case 1:return ar(t.topRightBorderBox,t.topRightPaddingBox,t.bottomRightBorderBox,t.bottomRightPaddingBox);case 2:return ar(t.bottomRightBorderBox,t.bottomRightPaddingBox,t.bottomLeftBorderBox,t.bottomLeftPaddingBox);case 3:default:return ar(t.bottomLeftBorderBox,t.bottomLeftPaddingBox,t.topLeftBorderBox,t.topLeftPaddingBox)}},a6=function(t,n){switch(n){case 0:return ar(t.topLeftBorderBox,t.topLeftBorderDoubleOuterBox,t.topRightBorderBox,t.topRightBorderDoubleOuterBox);case 1:return ar(t.topRightBorderBox,t.topRightBorderDoubleOuterBox,t.bottomRightBorderBox,t.bottomRightBorderDoubleOuterBox);case 2:return ar(t.bottomRightBorderBox,t.bottomRightBorderDoubleOuterBox,t.bottomLeftBorderBox,t.bottomLeftBorderDoubleOuterBox);case 3:default:return ar(t.bottomLeftBorderBox,t.bottomLeftBorderDoubleOuterBox,t.topLeftBorderBox,t.topLeftBorderDoubleOuterBox)}},s6=function(t,n){switch(n){case 0:return ar(t.topLeftBorderDoubleInnerBox,t.topLeftPaddingBox,t.topRightBorderDoubleInnerBox,t.topRightPaddingBox);case 1:return ar(t.topRightBorderDoubleInnerBox,t.topRightPaddingBox,t.bottomRightBorderDoubleInnerBox,t.bottomRightPaddingBox);case 2:return ar(t.bottomRightBorderDoubleInnerBox,t.bottomRightPaddingBox,t.bottomLeftBorderDoubleInnerBox,t.bottomLeftPaddingBox);case 3:default:return ar(t.bottomLeftBorderDoubleInnerBox,t.bottomLeftPaddingBox,t.topLeftBorderDoubleInnerBox,t.topLeftPaddingBox)}},l6=function(t,n){switch(n){case 0:return sd(t.topLeftBorderStroke,t.topRightBorderStroke);case 1:return sd(t.topRightBorderStroke,t.bottomRightBorderStroke);case 2:return sd(t.bottomRightBorderStroke,t.bottomLeftBorderStroke);case 3:default:return sd(t.bottomLeftBorderStroke,t.topLeftBorderStroke)}},sd=function(t,n){var e=[];return or(t)?e.push(t.subdivide(.5,!1)):e.push(t),or(n)?e.push(n.subdivide(.5,!0)):e.push(n),e},ar=function(t,n,e,r){var s=[];return or(t)?s.push(t.subdivide(.5,!1)):s.push(t),or(e)?s.push(e.subdivide(.5,!0)):s.push(e),or(r)?s.push(r.subdivide(.5,!0).reverse()):s.push(r),or(n)?s.push(n.subdivide(.5,!1).reverse()):s.push(n),s},Lx=function(t){var n=t.bounds,e=t.styles;return n.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},ld=function(t){var n=t.styles,e=t.bounds,r=vt(n.paddingLeft,e.width),s=vt(n.paddingRight,e.width),o=vt(n.paddingTop,e.width),i=vt(n.paddingBottom,e.width);return e.add(r+n.borderLeftWidth,o+n.borderTopWidth,-(n.borderRightWidth+n.borderLeftWidth+r+s),-(n.borderTopWidth+n.borderBottomWidth+o+i))},u6=function(t,n){return t===0?n.bounds:t===2?ld(n):Lx(n)},c6=function(t,n){return t===0?n.bounds:t===2?ld(n):Lx(n)},Fm=function(t,n,e){var r=u6(ws(t.styles.backgroundOrigin,n),t),s=c6(ws(t.styles.backgroundClip,n),t),o=h6(ws(t.styles.backgroundSize,n),e,r),i=o[0],a=o[1],l=nu(ws(t.styles.backgroundPosition,n),r.width-i,r.height-a),h=f6(ws(t.styles.backgroundRepeat,n),l,o,r,s),f=Math.round(r.left+l[0]),u=Math.round(r.top+l[1]);return[h,f,u,i,a]},vs=function(t){return dt(t)&&t.value===ps.AUTO},ud=function(t){return typeof t=="number"},h6=function(t,n,e){var r=n[0],s=n[1],o=n[2],i=t[0],a=t[1];if(!i)return[0,0];if(Nt(i)&&a&&Nt(a))return[vt(i,e.width),vt(a,e.height)];var l=ud(o);if(dt(i)&&(i.value===ps.CONTAIN||i.value===ps.COVER)){if(ud(o)){var h=e.width/e.height;return h<o!=(i.value===ps.COVER)?[e.width,e.width/o]:[e.height*o,e.height]}return[e.width,e.height]}var f=ud(r),u=ud(s),y=f||u;if(vs(i)&&(!a||vs(a))){if(f&&u)return[r,s];if(!l&&!y)return[e.width,e.height];if(y&&l){var v=f?r:s*o,g=u?s:r/o;return[v,g]}var m=f?r:e.width,p=u?s:e.height;return[m,p]}if(l){var d=0,c=0;return Nt(i)?d=vt(i,e.width):Nt(a)&&(c=vt(a,e.height)),vs(i)?d=c*o:(!a||vs(a))&&(c=d/o),[d,c]}var A=null,w=null;if(Nt(i)?A=vt(i,e.width):a&&Nt(a)&&(w=vt(a,e.height)),A!==null&&(!a||vs(a))&&(w=f&&u?A/r*s:e.height),w!==null&&vs(i)&&(A=f&&u?w/s*r:e.width),A!==null&&w!==null)return[A,w];throw new Error("Unable to calculate background-size for element")},ws=function(t,n){var e=t[n];return typeof e>"u"?t[0]:e},f6=function(t,n,e,r,s){var o=n[0],i=n[1],a=e[0],l=e[1];switch(t){case 2:return[new Fe(Math.round(r.left),Math.round(r.top+i)),new Fe(Math.round(r.left+r.width),Math.round(r.top+i)),new Fe(Math.round(r.left+r.width),Math.round(l+r.top+i)),new Fe(Math.round(r.left),Math.round(l+r.top+i))];case 3:return[new Fe(Math.round(r.left+o),Math.round(r.top)),new Fe(Math.round(r.left+o+a),Math.round(r.top)),new Fe(Math.round(r.left+o+a),Math.round(r.height+r.top)),new Fe(Math.round(r.left+o),Math.round(r.height+r.top))];case 1:return[new Fe(Math.round(r.left+o),Math.round(r.top+i)),new Fe(Math.round(r.left+o+a),Math.round(r.top+i)),new Fe(Math.round(r.left+o+a),Math.round(r.top+i+l)),new Fe(Math.round(r.left+o),Math.round(r.top+i+l))];default:return[new Fe(Math.round(s.left),Math.round(s.top)),new Fe(Math.round(s.left+s.width),Math.round(s.top)),new Fe(Math.round(s.left+s.width),Math.round(s.height+s.top)),new Fe(Math.round(s.left),Math.round(s.height+s.top))]}},d6="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",zx="Hidden Text",p6=function(){function t(n){this._data={},this._document=n}return t.prototype.parseMetrics=function(n,e){var r=this._document.createElement("div"),s=this._document.createElement("img"),o=this._document.createElement("span"),i=this._document.body;r.style.visibility="hidden",r.style.fontFamily=n,r.style.fontSize=e,r.style.margin="0",r.style.padding="0",r.style.whiteSpace="nowrap",i.appendChild(r),s.src=d6,s.width=1,s.height=1,s.style.margin="0",s.style.padding="0",s.style.verticalAlign="baseline",o.style.fontFamily=n,o.style.fontSize=e,o.style.margin="0",o.style.padding="0",o.appendChild(this._document.createTextNode(zx)),r.appendChild(o),r.appendChild(s);var a=s.offsetTop-o.offsetTop+2;r.removeChild(o),r.appendChild(this._document.createTextNode(zx)),r.style.lineHeight="normal",s.style.verticalAlign="super";var l=s.offsetTop-r.offsetTop+2;return i.removeChild(r),{baseline:a,middle:l}},t.prototype.getMetrics=function(n,e){var r=n+" "+e;return typeof this._data[r]>"u"&&(this._data[r]=this.parseMetrics(n,e)),this._data[r]},t}(),Nx=function(){function t(n,e){this.context=n,this.options=e}return t}(),A6=1e4,m6=function(t){vr(n,t);function n(e,r){var s=t.call(this,e,r)||this;return s._activeEffects=[],s.canvas=r.canvas?r.canvas:document.createElement("canvas"),s.ctx=s.canvas.getContext("2d"),r.canvas||(s.canvas.width=Math.floor(r.width*r.scale),s.canvas.height=Math.floor(r.height*r.scale),s.canvas.style.width=r.width+"px",s.canvas.style.height=r.height+"px"),s.fontMetrics=new p6(document),s.ctx.scale(s.options.scale,s.options.scale),s.ctx.translate(-r.x,-r.y),s.ctx.textBaseline="bottom",s._activeEffects=[],s.context.logger.debug("Canvas renderer initialized ("+r.width+"x"+r.height+") with scale "+r.scale),s}return n.prototype.applyEffects=function(e){for(var r=this;this._activeEffects.length;)this.popEffect();e.forEach(function(s){return r.applyEffect(s)})},n.prototype.applyEffect=function(e){this.ctx.save(),r6(e)&&(this.ctx.globalAlpha=e.opacity),n6(e)&&(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)),kx(e)&&(this.path(e.path),this.ctx.clip()),this._activeEffects.push(e)},n.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},n.prototype.renderStack=function(e){return _n(this,void 0,void 0,function(){var r;return fn(this,function(s){switch(s.label){case 0:return r=e.element.container.styles,r.isVisible()?[4,this.renderStackContent(e)]:[3,2];case 1:s.sent(),s.label=2;case 2:return[2]}})})},n.prototype.renderNode=function(e){return _n(this,void 0,void 0,function(){return fn(this,function(r){switch(r.label){case 0:if(Gt(e.container.flags,16))debugger;return e.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(e)]:[3,3];case 1:return r.sent(),[4,this.renderNodeContent(e)];case 2:r.sent(),r.label=3;case 3:return[2]}})})},n.prototype.renderTextWithLetterSpacing=function(e,r,s){var o=this;if(r===0)this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+s);else{var i=gm(e.text);i.reduce(function(a,l){return o.ctx.fillText(l,a,e.bounds.top+s),a+o.ctx.measureText(l).width},e.bounds.left)}},n.prototype.createFontStyle=function(e){var r=e.fontVariant.filter(function(i){return i==="normal"||i==="small-caps"}).join(""),s=b6(e.fontFamily).join(", "),o=tu(e.fontSize)?""+e.fontSize.number+e.fontSize.unit:e.fontSize.number+"px";return[[e.fontStyle,r,e.fontWeight,o,s].join(" "),s,o]},n.prototype.renderTextNode=function(e,r){return _n(this,void 0,void 0,function(){var s,o,i,a,l,h,f,u,y=this;return fn(this,function(v){return s=this.createFontStyle(r),o=s[0],i=s[1],a=s[2],this.ctx.font=o,this.ctx.direction=r.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",l=this.fontMetrics.getMetrics(i,a),h=l.baseline,f=l.middle,u=r.paintOrder,e.textBounds.forEach(function(g){u.forEach(function(m){switch(m){case 0:y.ctx.fillStyle=Xt(r.color),y.renderTextWithLetterSpacing(g,r.letterSpacing,h);var p=r.textShadow;p.length&&g.text.trim().length&&(p.slice(0).reverse().forEach(function(d){y.ctx.shadowColor=Xt(d.color),y.ctx.shadowOffsetX=d.offsetX.number*y.options.scale,y.ctx.shadowOffsetY=d.offsetY.number*y.options.scale,y.ctx.shadowBlur=d.blur.number,y.renderTextWithLetterSpacing(g,r.letterSpacing,h)}),y.ctx.shadowColor="",y.ctx.shadowOffsetX=0,y.ctx.shadowOffsetY=0,y.ctx.shadowBlur=0),r.textDecorationLine.length&&(y.ctx.fillStyle=Xt(r.textDecorationColor||r.color),r.textDecorationLine.forEach(function(d){switch(d){case 1:y.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top+h),g.bounds.width,1);break;case 2:y.ctx.fillRect(g.bounds.left,Math.round(g.bounds.top),g.bounds.width,1);break;case 3:y.ctx.fillRect(g.bounds.left,Math.ceil(g.bounds.top+f),g.bounds.width,1);break}}));break;case 1:r.webkitTextStrokeWidth&&g.text.trim().length&&(y.ctx.strokeStyle=Xt(r.webkitTextStrokeColor),y.ctx.lineWidth=r.webkitTextStrokeWidth,y.ctx.lineJoin=window.chrome?"miter":"round",y.ctx.strokeText(g.text,g.bounds.left,g.bounds.top+h)),y.ctx.strokeStyle="",y.ctx.lineWidth=0,y.ctx.lineJoin="miter";break}})}),[2]})})},n.prototype.renderReplacedElement=function(e,r,s){if(s&&e.intrinsicWidth>0&&e.intrinsicHeight>0){var o=ld(e),i=od(r);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(s,0,0,e.intrinsicWidth,e.intrinsicHeight,o.left,o.top,o.width,o.height),this.ctx.restore()}},n.prototype.renderNodeContent=function(e){return _n(this,void 0,void 0,function(){var r,s,o,i,a,l,c,c,h,f,u,y,w,v,g,b,m,p,d,c,A,w,b;return fn(this,function(_){switch(_.label){case 0:this.applyEffects(e.getEffects(4)),r=e.container,s=e.curves,o=r.styles,i=0,a=r.textNodes,_.label=1;case 1:return i<a.length?(l=a[i],[4,this.renderTextNode(l,o)]):[3,4];case 2:_.sent(),_.label=3;case 3:return i++,[3,1];case 4:if(!(r instanceof ix))return[3,8];_.label=5;case 5:return _.trys.push([5,7,,8]),[4,this.context.cache.match(r.src)];case 6:return c=_.sent(),this.renderReplacedElement(r,s,c),[3,8];case 7:return _.sent(),this.context.logger.error("Error loading image "+r.src),[3,8];case 8:if(r instanceof ox&&this.renderReplacedElement(r,s,r.canvas),!(r instanceof ax))return[3,12];_.label=9;case 9:return _.trys.push([9,11,,12]),[4,this.context.cache.match(r.svg)];case 10:return c=_.sent(),this.renderReplacedElement(r,s,c),[3,12];case 11:return _.sent(),this.context.logger.error("Error loading svg "+r.svg.substring(0,255)),[3,12];case 12:return r instanceof hx&&r.tree?(h=new n(this.context,{scale:this.options.scale,backgroundColor:r.backgroundColor,x:0,y:0,width:r.width,height:r.height}),[4,h.render(r.tree)]):[3,14];case 13:f=_.sent(),r.width&&r.height&&this.ctx.drawImage(f,0,0,r.width,r.height,r.bounds.left,r.bounds.top,r.bounds.width,r.bounds.height),_.label=14;case 14:if(r instanceof wm&&(u=Math.min(r.bounds.width,r.bounds.height),r.type===Zf?r.checked&&(this.ctx.save(),this.path([new Fe(r.bounds.left+u*.39363,r.bounds.top+u*.79),new Fe(r.bounds.left+u*.16,r.bounds.top+u*.5549),new Fe(r.bounds.left+u*.27347,r.bounds.top+u*.44071),new Fe(r.bounds.left+u*.39694,r.bounds.top+u*.5649),new Fe(r.bounds.left+u*.72983,r.bounds.top+u*.23),new Fe(r.bounds.left+u*.84,r.bounds.top+u*.34085),new Fe(r.bounds.left+u*.39363,r.bounds.top+u*.79)]),this.ctx.fillStyle=Xt(lx),this.ctx.fill(),this.ctx.restore()):r.type===Yf&&r.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(r.bounds.left+u/2,r.bounds.top+u/2,u/4,0,Math.PI*2,!0),this.ctx.fillStyle=Xt(lx),this.ctx.fill(),this.ctx.restore())),y6(r)&&r.value.length){switch(y=this.createFontStyle(o),w=y[0],v=y[1],g=this.fontMetrics.getMetrics(w,v).baseline,this.ctx.font=w,this.ctx.fillStyle=Xt(o.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=v6(r.styles.textAlign),b=ld(r),m=0,r.styles.textAlign){case 1:m+=b.width/2;break;case 2:m+=b.width;break}p=b.add(m,0,0,-b.height/2+1),this.ctx.save(),this.path([new Fe(b.left,b.top),new Fe(b.left+b.width,b.top),new Fe(b.left+b.width,b.top+b.height),new Fe(b.left,b.top+b.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new au(r.value,p),o.letterSpacing,g),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!Gt(r.styles.display,2048))return[3,20];if(r.styles.listStyleImage===null)return[3,19];if(d=r.styles.listStyleImage,d.type!==0)return[3,18];c=void 0,A=d.url,_.label=15;case 15:return _.trys.push([15,17,,18]),[4,this.context.cache.match(A)];case 16:return c=_.sent(),this.ctx.drawImage(c,r.bounds.left-(c.width+10),r.bounds.top),[3,18];case 17:return _.sent(),this.context.logger.error("Error loading list-style-image "+A),[3,18];case 18:return[3,20];case 19:e.listValue&&r.styles.listStyleType!==-1&&(w=this.createFontStyle(o)[0],this.ctx.font=w,this.ctx.fillStyle=Xt(o.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",b=new di(r.bounds.left,r.bounds.top+vt(r.styles.paddingTop,r.bounds.width),r.bounds.width,z_(o.lineHeight,o.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new au(e.listValue,b),o.letterSpacing,z_(o.lineHeight,o.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),_.label=20;case 20:return[2]}})})},n.prototype.renderStackContent=function(e){return _n(this,void 0,void 0,function(){var r,s,d,o,i,d,a,l,d,h,f,d,u,y,d,v,g,d,m,p,d;return fn(this,function(c){switch(c.label){case 0:if(Gt(e.element.container.flags,16))debugger;return[4,this.renderNodeBackgroundAndBorders(e.element)];case 1:c.sent(),r=0,s=e.negativeZIndex,c.label=2;case 2:return r<s.length?(d=s[r],[4,this.renderStack(d)]):[3,5];case 3:c.sent(),c.label=4;case 4:return r++,[3,2];case 5:return[4,this.renderNodeContent(e.element)];case 6:c.sent(),o=0,i=e.nonInlineLevel,c.label=7;case 7:return o<i.length?(d=i[o],[4,this.renderNode(d)]):[3,10];case 8:c.sent(),c.label=9;case 9:return o++,[3,7];case 10:a=0,l=e.nonPositionedFloats,c.label=11;case 11:return a<l.length?(d=l[a],[4,this.renderStack(d)]):[3,14];case 12:c.sent(),c.label=13;case 13:return a++,[3,11];case 14:h=0,f=e.nonPositionedInlineLevel,c.label=15;case 15:return h<f.length?(d=f[h],[4,this.renderStack(d)]):[3,18];case 16:c.sent(),c.label=17;case 17:return h++,[3,15];case 18:u=0,y=e.inlineLevel,c.label=19;case 19:return u<y.length?(d=y[u],[4,this.renderNode(d)]):[3,22];case 20:c.sent(),c.label=21;case 21:return u++,[3,19];case 22:v=0,g=e.zeroOrAutoZIndexOrTransformedOrOpacity,c.label=23;case 23:return v<g.length?(d=g[v],[4,this.renderStack(d)]):[3,26];case 24:c.sent(),c.label=25;case 25:return v++,[3,23];case 26:m=0,p=e.positiveZIndex,c.label=27;case 27:return m<p.length?(d=p[m],[4,this.renderStack(d)]):[3,30];case 28:c.sent(),c.label=29;case 29:return m++,[3,27];case 30:return[2]}})})},n.prototype.mask=function(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()},n.prototype.path=function(e){this.ctx.beginPath(),this.formatPath(e),this.ctx.closePath()},n.prototype.formatPath=function(e){var r=this;e.forEach(function(s,o){var i=or(s)?s.start:s;o===0?r.ctx.moveTo(i.x,i.y):r.ctx.lineTo(i.x,i.y),or(s)&&r.ctx.bezierCurveTo(s.startControl.x,s.startControl.y,s.endControl.x,s.endControl.y,s.end.x,s.end.y)})},n.prototype.renderRepeat=function(e,r,s,o){this.path(e),this.ctx.fillStyle=r,this.ctx.translate(s,o),this.ctx.fill(),this.ctx.translate(-s,-o)},n.prototype.resizeImage=function(e,r,s){var o;if(e.width===r&&e.height===s)return e;var i=(o=this.canvas.ownerDocument)!==null&&o!==void 0?o:document,a=i.createElement("canvas");a.width=Math.max(1,r),a.height=Math.max(1,s);var l=a.getContext("2d");return l.drawImage(e,0,0,e.width,e.height,0,0,r,s),a},n.prototype.renderBackgroundImage=function(e){return _n(this,void 0,void 0,function(){var r,s,o,i,a,l;return fn(this,function(h){switch(h.label){case 0:r=e.styles.backgroundImage.length-1,s=function(f){var u,y,v,I,M,D,S,B,C,g,I,M,D,S,B,m,p,d,c,A,w,b,_,x,C,T,I,P,k,S,B,O,M,D,R,U,L,z,V,H,G,j;return fn(this,function(X){switch(X.label){case 0:if(f.type!==0)return[3,5];u=void 0,y=f.url,X.label=1;case 1:return X.trys.push([1,3,,4]),[4,o.context.cache.match(y)];case 2:return u=X.sent(),[3,4];case 3:return X.sent(),o.context.logger.error("Error loading background-image "+y),[3,4];case 4:return u&&(v=Fm(e,r,[u.width,u.height,u.width/u.height]),I=v[0],M=v[1],D=v[2],S=v[3],B=v[4],C=o.ctx.createPattern(o.resizeImage(u,S,B),"repeat"),o.renderRepeat(I,C,M,D)),[3,6];case 5:n5(f)?(g=Fm(e,r,[null,null,null]),I=g[0],M=g[1],D=g[2],S=g[3],B=g[4],m=ZR(f.angle,S,B),p=m[0],d=m[1],c=m[2],A=m[3],w=m[4],b=document.createElement("canvas"),b.width=S,b.height=B,_=b.getContext("2d"),x=_.createLinearGradient(d,A,c,w),T_(f.stops,p).forEach(function(Z){return x.addColorStop(Z.stop,Xt(Z.color))}),_.fillStyle=x,_.fillRect(0,0,S,B),S>0&&B>0&&(C=o.ctx.createPattern(b,"repeat"),o.renderRepeat(I,C,M,D))):r5(f)&&(T=Fm(e,r,[null,null,null]),I=T[0],P=T[1],k=T[2],S=T[3],B=T[4],O=f.position.length===0?[rm]:f.position,M=vt(O[0],S),D=vt(O[O.length-1],B),R=YR(f,M,D,S,B),U=R[0],L=R[1],U>0&&L>0&&(z=o.ctx.createRadialGradient(P+M,k+D,0,P+M,k+D,U),T_(f.stops,U*2).forEach(function(Z){return z.addColorStop(Z.stop,Xt(Z.color))}),o.path(I),o.ctx.fillStyle=z,U!==L?(V=e.bounds.left+.5*e.bounds.width,H=e.bounds.top+.5*e.bounds.height,G=L/U,j=1/G,o.ctx.save(),o.ctx.translate(V,H),o.ctx.transform(1,0,0,G,0,0),o.ctx.translate(-V,-H),o.ctx.fillRect(P,j*(k-H)+H,S,B*j),o.ctx.restore()):o.ctx.fill())),X.label=6;case 6:return r--,[2]}})},o=this,i=0,a=e.styles.backgroundImage.slice(0).reverse(),h.label=1;case 1:return i<a.length?(l=a[i],[5,s(l)]):[3,4];case 2:h.sent(),h.label=3;case 3:return i++,[3,1];case 4:return[2]}})})},n.prototype.renderSolidBorder=function(e,r,s){return _n(this,void 0,void 0,function(){return fn(this,function(o){return this.path(Ux(s,r)),this.ctx.fillStyle=Xt(e),this.ctx.fill(),[2]})})},n.prototype.renderDoubleBorder=function(e,r,s,o){return _n(this,void 0,void 0,function(){var i,a;return fn(this,function(l){switch(l.label){case 0:return r<3?[4,this.renderSolidBorder(e,s,o)]:[3,2];case 1:return l.sent(),[2];case 2:return i=a6(o,s),this.path(i),this.ctx.fillStyle=Xt(e),this.ctx.fill(),a=s6(o,s),this.path(a),this.ctx.fill(),[2]}})})},n.prototype.renderNodeBackgroundAndBorders=function(e){return _n(this,void 0,void 0,function(){var r,s,o,i,a,l,h,f,u=this;return fn(this,function(y){switch(y.label){case 0:return this.applyEffects(e.getEffects(2)),r=e.container.styles,s=!no(r.backgroundColor)||r.backgroundImage.length,o=[{style:r.borderTopStyle,color:r.borderTopColor,width:r.borderTopWidth},{style:r.borderRightStyle,color:r.borderRightColor,width:r.borderRightWidth},{style:r.borderBottomStyle,color:r.borderBottomColor,width:r.borderBottomWidth},{style:r.borderLeftStyle,color:r.borderLeftColor,width:r.borderLeftWidth}],i=g6(ws(r.backgroundClip,0),e.curves),s||r.boxShadow.length?(this.ctx.save(),this.path(i),this.ctx.clip(),no(r.backgroundColor)||(this.ctx.fillStyle=Xt(r.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(e.container)]):[3,2];case 1:y.sent(),this.ctx.restore(),r.boxShadow.slice(0).reverse().forEach(function(v){u.ctx.save();var g=id(e.curves),m=v.inset?0:A6,p=i6(g,-m+(v.inset?1:-1)*v.spread.number,(v.inset?1:-1)*v.spread.number,v.spread.number*(v.inset?-2:2),v.spread.number*(v.inset?-2:2));v.inset?(u.path(g),u.ctx.clip(),u.mask(p)):(u.mask(g),u.ctx.clip(),u.path(p)),u.ctx.shadowOffsetX=v.offsetX.number+m,u.ctx.shadowOffsetY=v.offsetY.number,u.ctx.shadowColor=Xt(v.color),u.ctx.shadowBlur=v.blur.number,u.ctx.fillStyle=v.inset?Xt(v.color):"rgba(0,0,0,1)",u.ctx.fill(),u.ctx.restore()}),y.label=2;case 2:a=0,l=0,h=o,y.label=3;case 3:return l<h.length?(f=h[l],f.style!==0&&!no(f.color)&&f.width>0?f.style!==2?[3,5]:[4,this.renderDashedDottedBorder(f.color,f.width,a,e.curves,2)]:[3,11]):[3,13];case 4:return y.sent(),[3,11];case 5:return f.style!==3?[3,7]:[4,this.renderDashedDottedBorder(f.color,f.width,a,e.curves,3)];case 6:return y.sent(),[3,11];case 7:return f.style!==4?[3,9]:[4,this.renderDoubleBorder(f.color,f.width,a,e.curves)];case 8:return y.sent(),[3,11];case 9:return[4,this.renderSolidBorder(f.color,a,e.curves)];case 10:y.sent(),y.label=11;case 11:a++,y.label=12;case 12:return l++,[3,3];case 13:return[2]}})})},n.prototype.renderDashedDottedBorder=function(e,r,s,o,i){return _n(this,void 0,void 0,function(){var a,l,h,f,u,y,v,g,m,p,d,c,A,w,b,_,b,_;return fn(this,function(x){return this.ctx.save(),a=l6(o,s),l=Ux(o,s),i===2&&(this.path(l),this.ctx.clip()),or(l[0])?(h=l[0].start.x,f=l[0].start.y):(h=l[0].x,f=l[0].y),or(l[1])?(u=l[1].end.x,y=l[1].end.y):(u=l[1].x,y=l[1].y),s===0||s===2?v=Math.abs(h-u):v=Math.abs(f-y),this.ctx.beginPath(),i===3?this.formatPath(a):this.formatPath(l.slice(0,2)),g=r<3?r*3:r*2,m=r<3?r*2:r,i===3&&(g=r,m=r),p=!0,v<=g*2?p=!1:v<=g*2+m?(d=v/(2*g+m),g*=d,m*=d):(c=Math.floor((v+m)/(g+m)),A=(v-c*g)/(c-1),w=(v-(c+1)*g)/c,m=w<=0||Math.abs(m-A)<Math.abs(m-w)?A:w),p&&(i===3?this.ctx.setLineDash([0,g+m]):this.ctx.setLineDash([g,m])),i===3?(this.ctx.lineCap="round",this.ctx.lineWidth=r):this.ctx.lineWidth=r*2+1.1,this.ctx.strokeStyle=Xt(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2&&(or(l[0])&&(b=l[3],_=l[0],this.ctx.beginPath(),this.formatPath([new Fe(b.end.x,b.end.y),new Fe(_.start.x,_.start.y)]),this.ctx.stroke()),or(l[1])&&(b=l[1],_=l[2],this.ctx.beginPath(),this.formatPath([new Fe(b.end.x,b.end.y),new Fe(_.start.x,_.start.y)]),this.ctx.stroke())),this.ctx.restore(),[2]})})},n.prototype.render=function(e){return _n(this,void 0,void 0,function(){var r;return fn(this,function(s){switch(s.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=Xt(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height)),r=o6(e),[4,this.renderStack(r)];case 1:return s.sent(),this.applyEffects([]),[2,this.canvas]}})})},n}(Nx),y6=function(t){return t instanceof cx||t instanceof ux?!0:t instanceof wm&&t.type!==Yf&&t.type!==Zf},g6=function(t,n){switch(t){case 0:return id(n);case 2:return JL(n);case 1:default:return od(n)}},v6=function(t){switch(t){case 1:return"center";case 2:return"right";case 0:default:return"left"}},w6=["-apple-system","system-ui"],b6=function(t){return/iPhone OS 15_(0|1)/.test(window.navigator.userAgent)?t.filter(function(n){return w6.indexOf(n)===-1}):t},_6=function(t){vr(n,t);function n(e,r){var s=t.call(this,e,r)||this;return s.canvas=r.canvas?r.canvas:document.createElement("canvas"),s.ctx=s.canvas.getContext("2d"),s.options=r,s.canvas.width=Math.floor(r.width*r.scale),s.canvas.height=Math.floor(r.height*r.scale),s.canvas.style.width=r.width+"px",s.canvas.style.height=r.height+"px",s.ctx.scale(s.options.scale,s.options.scale),s.ctx.translate(-r.x,-r.y),s.context.logger.debug("EXPERIMENTAL ForeignObject renderer initialized ("+r.width+"x"+r.height+" at "+r.x+","+r.y+") with scale "+r.scale),s}return n.prototype.render=function(e){return _n(this,void 0,void 0,function(){var r,s;return fn(this,function(o){switch(o.label){case 0:return r=ym(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e),[4,x6(r)];case 1:return s=o.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=Xt(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(s,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}})})},n}(Nx),x6=function(t){return new Promise(function(n,e){var r=new Image;r.onload=function(){n(r)},r.onerror=e,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(new XMLSerializer().serializeToString(t))})},C6=function(){function t(n){var e=n.id,r=n.enabled;this.id=e,this.enabled=r,this.start=Date.now()}return t.prototype.debug=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.debug=="function"?console.debug.apply(console,yf([this.id,this.getTime()+"ms"],n)):this.info.apply(this,n))},t.prototype.getTime=function(){return Date.now()-this.start},t.prototype.info=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&typeof window<"u"&&window.console&&typeof console.info=="function"&&console.info.apply(console,yf([this.id,this.getTime()+"ms"],n))},t.prototype.warn=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.warn=="function"?console.warn.apply(console,yf([this.id,this.getTime()+"ms"],n)):this.info.apply(this,n))},t.prototype.error=function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];this.enabled&&(typeof window<"u"&&window.console&&typeof console.error=="function"?console.error.apply(console,yf([this.id,this.getTime()+"ms"],n)):this.info.apply(this,n))},t.instances={},t}(),S6=function(){function t(n,e){var r;this.windowBounds=e,this.instanceName="#"+t.instanceCount++,this.logger=new C6({id:this.instanceName,enabled:n.logging}),this.cache=(r=n.cache)!==null&&r!==void 0?r:new GL(this,n)}return t.instanceCount=1,t}(),km=function(t,n){return n===void 0&&(n={}),E6(t,n)};typeof window<"u"&&Fx.setContext(window);var E6=function(t,n){return _n(void 0,void 0,void 0,function(){var e,r,s,o,i,a,l,h,f,u,y,v,g,m,p,d,c,A,w,b,x,_,x,C,T,I,P,k,S,B,O,M,D,R,U,L,z,V,H,G;return fn(this,function(j){switch(j.label){case 0:if(!t||typeof t!="object")return[2,Promise.reject("Invalid element provided as first argument")];if(e=t.ownerDocument,!e)throw new Error("Element is not attached to a Document");if(r=e.defaultView,!r)throw new Error("Document is not attached to a Window");return s={allowTaint:(C=n.allowTaint)!==null&&C!==void 0?C:!1,imageTimeout:(T=n.imageTimeout)!==null&&T!==void 0?T:15e3,proxy:n.proxy,useCORS:(I=n.useCORS)!==null&&I!==void 0?I:!1},o=RA({logging:(P=n.logging)!==null&&P!==void 0?P:!0,cache:n.cache},s),i={windowWidth:(k=n.windowWidth)!==null&&k!==void 0?k:r.innerWidth,windowHeight:(S=n.windowHeight)!==null&&S!==void 0?S:r.innerHeight,scrollX:(B=n.scrollX)!==null&&B!==void 0?B:r.pageXOffset,scrollY:(O=n.scrollY)!==null&&O!==void 0?O:r.pageYOffset},a=new di(i.scrollX,i.scrollY,i.windowWidth,i.windowHeight),l=new S6(o,a),h=(M=n.foreignObjectRendering)!==null&&M!==void 0?M:!1,f={allowTaint:(D=n.allowTaint)!==null&&D!==void 0?D:!1,onclone:n.onclone,ignoreElements:n.ignoreElements,inlineImages:h,copyStyles:h},l.logger.debug("Starting document clone with size "+a.width+"x"+a.height+" scrolled to "+-a.left+","+-a.top),u=new Bx(l,t,f),y=u.clonedReferenceElement,y?[4,u.toIFrame(e,a)]:[2,Promise.reject("Unable to find element in cloned iframe")];case 1:return v=j.sent(),g=_m(y)||TL(y)?i4(y.ownerDocument):gf(l,y),m=g.width,p=g.height,d=g.left,c=g.top,A=P6(l,y,n.backgroundColor),w={canvas:n.canvas,backgroundColor:A,scale:(U=(R=n.scale)!==null&&R!==void 0?R:r.devicePixelRatio)!==null&&U!==void 0?U:1,x:((L=n.x)!==null&&L!==void 0?L:0)+d,y:((z=n.y)!==null&&z!==void 0?z:0)+c,width:(V=n.width)!==null&&V!==void 0?V:Math.ceil(m),height:(H=n.height)!==null&&H!==void 0?H:Math.ceil(p)},h?(l.logger.debug("Document cloned, using foreign object rendering"),x=new _6(l,w),[4,x.render(y)]):[3,3];case 2:return b=j.sent(),[3,5];case 3:return l.logger.debug("Document cloned, element located at "+d+","+c+" with size "+m+"x"+p+" using computed rendering"),l.logger.debug("Starting DOM parsing"),_=dx(l,y),A===_.styles.backgroundColor&&(_.styles.backgroundColor=Ai.TRANSPARENT),l.logger.debug("Starting renderer for element at "+w.x+","+w.y+" with size "+w.width+"x"+w.height),x=new m6(l,w),[4,x.render(_)];case 4:b=j.sent(),j.label=5;case 5:return(!((G=n.removeContainer)!==null&&G!==void 0)||G)&&(Bx.destroy(v)||l.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore")),l.logger.debug("Finished rendering"),[2,b]}})})},P6=function(t,n,e){var r=n.ownerDocument,s=r.documentElement?ru(t,getComputedStyle(r.documentElement).backgroundColor):Ai.TRANSPARENT,o=r.body?ru(t,getComputedStyle(r.body).backgroundColor):Ai.TRANSPARENT,i=typeof e=="string"?ru(t,e):e===null?Ai.TRANSPARENT:4294967295;return n===r.documentElement?no(s)?no(o)?i:o:s:i};class cd extends E.Destroyable{constructor(e,r,s,o,i=!0){super();N(this,"widgetInfo");N(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});N(this,"_isPointEvent",!1);N(this,"_czmCustomPrimitive");N(this,"_czmTexture");N(this,"sceneObject");N(this,"domSize");N(this,"_defaultAnchor",this.disposeVar(E.react([0,0])));N(this,"czmViewer");N(this,"flyTo",(e,r)=>{Bn(this.czmViewer,this.sceneObject,r,e,this.czmCustomPrimitive,!0)});this._sceneObject=e,this._czmViewer=r,this._widgetInfo=s,this._drawWidget=o,this._czmCustomPrimitive=this.disposeVar(new mt(r,e.id)),this._czmTexture=this.ad(new wt(r));let a=this.sceneObject=this._sceneObject,l=this.czmViewer=this._czmViewer;this.widgetInfo=this._widgetInfo,a instanceof Q.ESPoi2D&&(this.defaultAnchor=L1(this.widgetInfo,a.mode));const{czmTexture:h}=this,{czmCustomPrimitive:f}=this;f.localRotation=[-90,0,0],this.dispose(E.bind([f,"position"],[a,"position"]));{const u=this.dv(E.createNextAnimateFrameEvent(a.allowPickingChanged,a.editingChanged)),y=()=>{a.allowPicking&&!a.editing?f.allowPicking=!0:f.allowPicking=!1};y(),this.d(u.don(y))}this.ad(r.clickEvent.don(u=>{const y=u==null?void 0:u.pointerEvent;y&&(this._isPointEvent=!0,this._eventInfo={type:y.button==0?"leftClick":y.button==2?"rightClick":"leftClick",add:{mousePos:[y.offsetX,y.offsetY]}})})),this.d(a.pickedEvent.don(u=>{var y,v,g;u.screenPosition&&this._isPointEvent&&u.attachedInfo!="innerHoverEvent"&&((y=this._eventInfo.add)!=null&&y.mousePos)&&Math.abs(u.screenPosition[0]-((v=this._eventInfo.add)==null?void 0:v.mousePos[0]))<1&&Math.abs(u.screenPosition[1]-((g=this._eventInfo.add)==null?void 0:g.mousePos[1]))<1&&(a.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),Q.registerCreatedEventUpdate(this,a,()=>{const u=l.getEngineObject(a);this.ad(u.lastHoverResultChanged.don((y,v)=>{(y==null?void 0:y.sceneObject)==(v==null?void 0:v.sceneObject)||(y==null?void 0:y.sceneObject)!=a&&(v==null?void 0:v.sceneObject)!=a||(y!=null&&y.sceneObject&&(this._eventInfo={type:"mouseEnter",add:{mousePos:y==null?void 0:y.screenPosition}},y.sceneObject.widgetEvent.emit(this._eventInfo)),v!=null&&v.sceneObject&&(this._eventInfo={type:"mouseLeave",add:{mousePos:y==null?void 0:y.screenPosition}},v.sceneObject.widgetEvent.emit(this._eventInfo)))}))});{const u=()=>{f.scale=[a.scale[1],a.scale[0],a.scale[2]]};u(),this.d(a.scaleChanged.don(u))}f.indexTypedArray=new Uint16Array([0,1,2,0,2,3,6,5,4,7,6,4]);{const u=()=>{this._drawWidget&&(f.show=a.show)};u(),this.d(a.showChanged.don(u))}if(this.disposeVar(new E.ObjResettingWithEvent(a.rotationTypeChanged,()=>{if(a.rotationType==0)return new I6(this);if(a.rotationType==1)return new T6(this);if(a.rotationType==2)return new B6(this)})),(()=>{try{if(this._drawWidget){const y=this.widgetInfo.cloneNode(!0);y.style.position="fixed",y.style.zIndex="-1",y.style.top="0px",document.body.contains(y)||(document.body.appendChild(y),this.domSize=y.getBoundingClientRect()),km(y,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:y.offsetWidth,height:y.offsetHeight,scale:2}).then(v=>{document.body.contains(y)&&document.body.removeChild(y),this.czmTexture.copyFromCanvas(v),this.czmCustomPrimitive.uniformMap={u_image:{type:"texture",id:`${this.czmTexture.id}`},u_color:[1,1,1,1]}}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})}else this.czmCustomPrimitive.uniformMap=void 0,this.czmCustomPrimitive.show=!1}catch(y){console.log(y)}})(),i){const u=()=>{const v=a.anchor,g=a.offset;let m=100,p=100;a.sizeByContent&&this.domSize?(m=this.domSize.width/100,p=this.domSize.height/100):(m=a.size[0]/100,p=a.size[1]/100),v?this.czmCustomPrimitive.localPosition=[v[0]*m-g[0]/100,0,v[1]*p-g[1]/100]:this.czmCustomPrimitive.localPosition=[0,0,0]};u();const y=this.ad(E.createNextAnimateFrameEvent(a.anchorChanged,a.offsetChanged));this.dispose(y.disposableOn(u))}{const u=()=>{let v,g;a.sizeByContent&&this.domSize?(v=this.domSize.width/100,g=this.domSize.height/100):(v=a.size[0]/100,g=a.size[1]/100),this.czmCustomPrimitive.attributes={position:{typedArray:new Float32Array([0,0,0,0,v,0,0,v,-g,0,0,-g,0,0,0,0,v,0,0,v,-g,0,0,-g]),componentsPerAttribute:3},normal:{typedArray:new Float32Array([0,0,1,0,0,1,0,0,1,0,0,1,0,0,-1,0,0,-1,0,0,-1,0,0,-1]),componentsPerAttribute:3},textureCoordinates:{typedArray:new Float32Array([1,1,0,1,0,0,1,0,0,1,1,1,1,0,0,0]),componentsPerAttribute:2}},this.czmCustomPrimitive.boundingVolume={type:"LocalAxisedBoundingBox",data:{min:[0,0,-g],max:[0,v,0]}},this.czmCustomPrimitive.localPosition=[a.anchor[0]*v,0,a.anchor[1]*g]};u();const y=this.disposeVar(E.createNextAnimateFrameEvent(a.sizeChanged,a.sizeByContentChanged));this.dispose(y.disposableOn(u))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}get czmTexture(){return this._czmTexture}get defaultAnchor(){return this._defaultAnchor.value}set defaultAnchor(e){this._defaultAnchor.value=e}get defaultAnchorChanged(){return this._defaultAnchor.changed}}class T6 extends E.Destroyable{constructor(n){super(),this._widget3D=n;const{sceneObject:e,czmCustomPrimitive:r,czmViewer:s}=this._widget3D;{const o=()=>{const i=s.getCameraInfo();if(!i)return;const a=i.rotation;r.rotation=[a[0]+180,0-a[1],a[2]]};o(),this.dispose(s.cameraChanged.disposableOn(o))}}}class B6 extends E.Destroyable{constructor(n){super(),this._widget3D=n;const{sceneObject:e,czmCustomPrimitive:r,czmViewer:s}=this._widget3D,{rotation:o}=e;{const i=()=>{const l=s.getCameraInfo();l&&(r.rotation=[l.rotation[0]+180,o[1],o[2]])};i();const a=this.ad(E.createNextAnimateFrameEvent(e.rotationChanged,s.cameraChanged));this.dispose(a.disposableOn(i))}}}class I6 extends E.Destroyable{constructor(n){super(),this._widget3D=n;const{sceneObject:e,czmCustomPrimitive:r}=this._widget3D;this.dispose(jt([r,"rotation"],[e,"rotation"]))}}const Gu=class Gu extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_customPrimitive");const s=this._customPrimitive=this.disposeVar(new mt(e,r));s.indexTypedArray=new Uint16Array([0,1,2,0,2,3,6,5,4,7,6,4]),s.pass="TRANSLUCENT";const o=`
|
|
1418
1418
|
// vtxf 使用double类型的position进行计算
|
|
1419
1419
|
// in vec3 position3DHigh;
|
|
1420
1420
|
// in vec3 position3DLow;
|
|
@@ -4264,7 +4264,7 @@ export type IndexJsonType = {
|
|
|
4264
4264
|
\`\`\`
|
|
4265
4265
|
${RS}
|
|
4266
4266
|
\`\`\`
|
|
4267
|
-
`,Mt=class Mt extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_loadFuncReact",this.disposeVar(E.react(void 0)));N(this,"_dataSource",this.disposeVar(E.react(void 0)));N(this,"_data");N(this,"_defaultHeight",{});N(this,"_defaultBoundingSphere",new F.BoundingSphere);const s=e.viewer;if(!s){console.warn("viewer is undefined!");return}let o=()=>{this.dataSource&&s.dataSources.remove(this.dataSource,!0),this.dataSource=void 0,this._data=void 0};this.dispose(()=>{o()});{const i=this.dv(E.createProcessingFromAsyncFunc(async h=>{if(this.dataSource&&o(),!!this.url){do{if(typeof this.url=="object"){this._data=this.url;break}if(this._isJSONString(this.url)){this._data=JSON.parse(this.url);break}await fetch(Q.ESSceneObject.context.getStrFromEnv(this.url)).then(f=>f.json()).then(f=>{this._data=f}).catch(f=>{console.warn("ESGeoJson数据加载失败",f)})}while(!1);this.dataSource=await F.GeoJsonDataSource.load(this._data),s.dataSources.add(this.dataSource).then(f=>{var y,v;const u=[];for(const g of f.entities.values)if(F.Entity.prototype&&(g.ESSceneObjectID=r),this._isEntityShow(g,e),g.polygon&&u.push(...(y=g.polygon.hierarchy)==null?void 0:y.getValue(F.JulianDate.now()).positions),g.polyline&&u.push(...(v=g.polyline.positions)==null?void 0:v.getValue(F.JulianDate.now())),g.position){const m=g.position.getValue(F.JulianDate.now());m&&u.push(m)}this._defaultBoundingSphere=F.BoundingSphere.fromPoints(u)})}})),a=()=>{i.isRunning&&i.cancel(),i.restart()};a();const l=this.dv(E.createNextAnimateFrameEvent(this.loadFunChanged,this.urlChanged));this.dispose(l.don(a))}{const i=()=>{var l,h;if(this.dataSource)if(this.dataSource.show=this.show,this.loadFun)try{this.loadFun(this.dataSource)}catch(f){console.error(f)}else{const f=this.dataSource.entities.values;for(let u=0;u<f.length;u++){const y=f[u];if(y.polygon){this._defaultHeight[y.id]||(this._defaultHeight[y.id]=(l=y.polygon.height)==null?void 0:l.getValue(F.JulianDate.now())),y.polygon.height=this.fillGround?void 0:new F.ConstantProperty(this._defaultHeight[y.id]),y.polygon.perPositionHeight=new F.ConstantProperty(!this.fillGround),y.polygon.heightReference=new F.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?F.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?F.HeightReference.CLAMP_TO_GROUND:F.HeightReference.RELATIVE_TO_GROUND),y.polygon.show=new F.ConstantProperty(this.filled??Mt.defaults.filled),y.polygon.material=new F.ColorMaterialProperty(new F.Color(...this.fillColor??Mt.defaults.fillColor)),y.polygon.outline=new F.ConstantProperty(!1),y.polyline=new F.PolylineGraphics;const v=JSON.parse(JSON.stringify((h=y.polygon.hierarchy)==null?void 0:h.getValue(F.JulianDate.now()).positions));F.Cartesian3.equals(v[0],v[v.length-1])||v.push(v[0]),y.polyline.positions=v}if(y.polyline&&(y.polyline.show=new F.ConstantProperty(this.stroked??Mt.defaults.stroked),y.polyline.width=new F.ConstantProperty(this.strokeWidth??Mt.defaults.strokeWidth),y.polyline.material=new F.ColorMaterialProperty(new F.Color(...this.strokeColor??Mt.defaults.strokeColor)),y.polyline.clampToGround=new F.ConstantProperty(this.strokeGround)),y.billboard){y.billboard.show=new F.ConstantProperty(this.imageShow??Mt.defaults.imageShow),y.billboard.width=new F.ConstantProperty(this.imageSize?this.imageSize[0]:Mt.defaults.imageSize[0]),y.billboard.height=new F.ConstantProperty(this.imageSize?this.imageSize[1]:Mt.defaults.imageSize[1]);const v=this.imageUrl?typeof this.imageUrl=="string"?this.imageUrl:this.imageUrl.url:Mt.defaults.imageUrl;y.billboard.image=new F.ConstantProperty(Q.ESSceneObject.context.getStrFromEnv(v)),y.billboard.horizontalOrigin=new F.ConstantProperty(F.HorizontalOrigin.LEFT),y.billboard.verticalOrigin=new F.ConstantProperty(F.VerticalOrigin.TOP),y.billboard.heightReference=new F.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?F.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?F.HeightReference.CLAMP_TO_GROUND:F.HeightReference.RELATIVE_TO_GROUND);const g=this.imageAnchor??Mt.defaults.imageAnchor,m=this.imageOffset??Mt.defaults.imageOffset;if(y.billboard.pixelOffset=new F.ConstantProperty(F.Cartesian2.fromArray([-g[0]*y.billboard.width.getValue(F.JulianDate.now())+m[0],-g[1]*y.billboard.height.getValue(F.JulianDate.now())+m[1]])),y.label=new F.LabelGraphics,!y.label)return;y.label.show=new F.ConstantProperty(this.textShow??Mt.defaults.textShow),y.label.heightReference=new F.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?F.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?F.HeightReference.CLAMP_TO_GROUND:F.HeightReference.RELATIVE_TO_GROUND),y.label.text=new F.ConstantProperty(this.textProperty&&this.textProperty!==""&&y.properties&&y.properties[this.textProperty]?y.properties[this.textProperty].getValue():this.textDefaultText??Mt.defaults.textDefaultText),y.label.fillColor=new F.ConstantProperty(new F.Color(...this.textColor??Mt.defaults.textColor)),y.label.showBackground=new F.ConstantProperty(this.textBackgroundColor!=null);const p=this.textFontSize&&this.textFontSize!=0?this.textFontSize:Mt.defaults.textFontSize,d=this.textOffset??Mt.defaults.textOffset;y.label.backgroundColor=new F.ConstantProperty(new F.Color(...this.textBackgroundColor??Mt.defaults.textBackgroundColor)),y.label.font=new F.ConstantProperty(`${this.textFontStyle} ${this.textFontWeight} ${p}px ${this.textFontFamily??Mt.defaults.textFontFamily}`),y.label.horizontalOrigin=new F.ConstantProperty(F.HorizontalOrigin.LEFT),y.label.verticalOrigin=new F.ConstantProperty(F.VerticalOrigin.TOP),y.label.eyeOffset=new F.ConstantProperty(F.Cartesian3.fromArray([0,0,-1]));const c=this.textAnchor??Mt.defaults.textAnchor;y.label.pixelOffset=new F.ConstantProperty(F.Cartesian2.fromArray([-c[0]*((this.textBackgroundColor?-14:-p*2)+this._countBytes(y.label.text.getValue(F.JulianDate.now()))/2*p)+d[0],-c[1]*((this.textBackgroundColor?10:0)+p)+d[1]]))}}}};i();const a=this.dv(E.createNextAnimateFrameEvent(this._dataSource.changed,this.showChanged,this.strokedChanged,this.strokeWidthChanged,this.strokeWidthTypeChanged,this.strokeColorChanged,this.strokeMaterialChanged,this.strokeMaterialParamsChanged,this.strokeGroundChanged,this.filledChanged,this.fillColorChanged,this.fillMaterialChanged,this.fillMaterialParamsChanged,this.fillGroundChanged,this.imageShowChanged,this.imageUrlChanged,this.imageSizeChanged,this.imageAnchorChanged,this.imageOffsetChanged,this.textShowChanged,this.textPropertyChanged,this.textDefaultTextChanged,this.textColorChanged,this.textBackgroundColorChanged,this.textFontFamilyChanged,this.textFontSizeChanged,this.textFontStyleChanged,this.textFontWeightChanged,this.textAnchorChanged,this.textOffsetChanged,this.heightReferenceChanged));this.dispose(a.don(i))}{const i=()=>{if(!this.dataSource)return;const l=this.dataSource.entities.values;for(let h=0;h<l.length;h++){const f=l[h];this._isEntityShow(f,e)}};i();const a=this.ad(E.createNextAnimateFrameEvent(this.minFeatureVisibleDistanceChanged,this.maxFeatureVisibleDistanceChanged,e.cameraChanged,this.showChanged));this.ad(a.don(i))}{const i=()=>{if(this.loadFuncStr)try{const a=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=a}catch(a){console.error(a),this.loadFun=void 0}else this.loadFun=void 0};i(),this.dispose(this.loadFuncStrChanged.disposableOn(i))}this.dispose(this.flyToEvent.disposableOn(i=>{e.actived&&this.dataSource&&(i!==void 0?s.flyTo(this.dataSource,{duration:i/1e3}).then(a=>{a||s.camera.flyToBoundingSphere(this._defaultBoundingSphere,{duration:i/1e3})}):s.flyTo(this.dataSource).then(a=>{a||s.camera.flyToBoundingSphere(this._defaultBoundingSphere)}))}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}_isJSONString(e){try{return JSON.parse(e),!0}catch{return!1}}_countBytes(e){let r=0;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);o<=127?r+=1:o<=2047?r+=2:o<=65535?r+=3:r+=4}return r}_isEntityShow(e,r){var s;if(this.minFeatureVisibleDistance==0&&this.maxFeatureVisibleDistance==0){e.show=this.show;return}if((s=r.viewer)!=null&&s.camera&&this.show){let o;do{if(e.polygon&&e.polygon.hierarchy){o=Q.getMinMaxCorner(e.polygon.hierarchy.getValue(F.JulianDate.now()).positions.map(l=>He(l))).center;break}if(e.polyline&&e.polyline.positions&&(o=Q.getMinMaxCorner(e.polyline.positions.getValue(F.JulianDate.now()).map(l=>He(l))).center),e.position){const l=e.position.getValue(F.JulianDate.now());l&&(o=He(l))}}while(!1);if(!o||isNaN(o[0]))return;const i=Q.getDistancesFromPositions([o,Nn(r.viewer.camera)],"NONE")[0];let a=!1;this.minFeatureVisibleDistance<this.maxFeatureVisibleDistance?a=this.minFeatureVisibleDistance<i&&i<this.maxFeatureVisibleDistance:this.maxFeatureVisibleDistance==0?a=i>this.minFeatureVisibleDistance:this.minFeatureVisibleDistance==0&&(a=i<this.maxFeatureVisibleDistance),e.show=this.show&&a}}};N(Mt,"defaults",{show:!0,allowPicking:!0,url:US,defaultLoadFuncStr:RS,defaultLoadFuncDocStr:BQ,data:PQ,dataMd:TQ,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/misc/location.png",imageSize:[64,64],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:[.79,.91,.06,1],textFontFamily:"Arial",textFontSize:16,textFontWeight:"normal",textFontStyle:"normal",textAnchor:[.5,1],textOffset:[0,0],strokeWidthTypes:[["screen","screen"],["world","world"]],minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let xa=Mt;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:void 0,loadFuncStr:void 0,url:void 0,stroked:void 0,strokeWidth:void 0,strokeWidthType:"world",strokeColor:E.reactArrayWithUndefined(void 0),strokeMaterial:void 0,strokeMaterialParams:E.reactJsonWithUndefined(void 0),strokeGround:void 0,filled:void 0,fillColor:E.reactArrayWithUndefined(void 0),fillMaterial:void 0,fillMaterialParams:E.reactJsonWithUndefined(void 0),fillGround:void 0,imageShow:void 0,imageUrl:void 0,imageSize:E.reactArrayWithUndefined(void 0),imageAnchor:E.reactArrayWithUndefined(void 0),imageOffset:E.reactArrayWithUndefined(void 0),textShow:void 0,textProperty:void 0,textDefaultText:void 0,textColor:E.reactArrayWithUndefined(void 0),textBackgroundColor:E.reactArrayWithUndefined(void 0),textFontFamily:void 0,textFontSize:void 0,textFontStyle:void 0,textFontWeight:void 0,textAnchor:E.reactArrayWithUndefined(void 0),textOffset:E.reactArrayWithUndefined(void 0),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})})(xa||(xa={})),E.extendClassProps(xa.prototype,xa.createDefaultProps);const _c=class _c extends dr{constructor(n,e){if(super(n,e),!e.viewer){console.warn("viewer is undefined!");return}const s=this.disposeVar(new xa(e,n.id));this.dispose(E.track([s,"show"],[n,"show"])),this.dispose(E.track([s,"allowPicking"],[n,"allowPicking"])),this.dispose(E.track([s,"loadFuncStr"],[n,"loadFuncStr"])),this.dispose(E.track([s,"url"],[n,"features"])),this.dispose(E.track([s,"stroked"],[n,"stroked"])),this.dispose(E.track([s,"strokeWidth"],[n,"strokeWidth"])),this.dispose(E.track([s,"strokeWidthType"],[n,"strokeWidthType"])),this.dispose(E.track([s,"strokeColor"],[n,"strokeColor"])),this.dispose(E.track([s,"strokeMaterial"],[n,"strokeMaterial"])),this.dispose(E.track([s,"strokeMaterialParams"],[n,"strokeMaterialParams"])),this.dispose(E.track([s,"strokeGround"],[n,"strokeGround"])),this.dispose(E.track([s,"filled"],[n,"filled"])),this.dispose(E.track([s,"fillColor"],[n,"fillColor"])),this.dispose(E.track([s,"fillMaterial"],[n,"fillMaterial"])),this.dispose(E.track([s,"fillMaterialParams"],[n,"fillMaterialParams"])),this.dispose(E.track([s,"fillGround"],[n,"fillGround"])),this.dispose(E.track([s,"imageShow"],[n,"imageShow"])),this.dispose(E.track([s,"imageUrl"],[n,"imageUrl"])),this.dispose(E.track([s,"imageSize"],[n,"imageSize"])),this.dispose(E.track([s,"imageAnchor"],[n,"imageAnchor"])),this.dispose(E.track([s,"imageOffset"],[n,"imageOffset"])),this.dispose(E.track([s,"textShow"],[n,"textShow"])),this.dispose(E.track([s,"textProperty"],[n,"textProperty"])),this.dispose(E.track([s,"textDefaultText"],[n,"textDefaultText"])),this.dispose(E.track([s,"textColor"],[n,"textColor"])),this.dispose(E.track([s,"textBackgroundColor"],[n,"textBackgroundColor"])),this.dispose(E.track([s,"textFontFamily"],[n,"textFontFamily"])),this.dispose(E.track([s,"textFontSize"],[n,"textFontSize"])),this.dispose(E.track([s,"textFontStyle"],[n,"textFontStyle"])),this.dispose(E.track([s,"textFontWeight"],[n,"textFontWeight"])),this.dispose(E.track([s,"textAnchor"],[n,"textAnchor"])),this.dispose(E.track([s,"textOffset"],[n,"textOffset"])),this.dispose(E.track([s,"minFeatureVisibleDistance"],[n,"minFeatureVisibleDistance"])),this.dispose(E.track([s,"maxFeatureVisibleDistance"],[n,"maxFeatureVisibleDistance"])),this.dispose(E.track([s,"heightReference"],[n,"heightReference"])),this.dispose(n.flyToEvent.disposableOn(o=>{if(e.actived){if(n.flyInParam){const{position:i,rotation:a,flyDuration:l}=n.flyInParam;return Ue(e.viewer,i,void 0,a,l),!0}s.flyTo(o&&o*1e3)}}));{const o=(i,a,l)=>{if(!e.actived)return;const h=JSON.parse(JSON.stringify(this._getFeatureByIndexOrProperties(i,a)));if(!(!h||!(h!=null&&h.positions)))if(h.type=="Point"||h.type=="MultiPoint")er(e,n,this.id,this._calculateFeatureHeight(h.type=="MultiPoint"?h.positions.flat():h.positions,n.heightReference,e),1e3,l);else{const f=h.type=="Polygon"||h.type=="MultiPolygon"||h.type=="MultiLineString";let u=[];f?u=h.positions.flat(h.type=="MultiPolygon"?2:1).map(m=>this._calculateFeatureHeight(m,n.fillGround?"CLAMP_TO_GROUND":"NONE",e)):u=h.positions.map(m=>this._calculateFeatureHeight(m,n.strokeGround?"CLAMP_TO_GROUND":"NONE",e));const{minPos:y,maxPos:v,center:g}=Q.getMinMaxCorner(u);er(e,n,this.id,g,Q.getDistancesFromPositions([y,v],"NONE")[0],l)}};this.d(n.flyToFeatureEvent.don((i,a,l)=>o(i,a,l))),this.d(n.flyToFeatureIndexEvent.don((i,a)=>o(i,void 0,a)))}}_getFeatureByIndexOrProperties(n,e){var i,a,l,h,f,u,y,v;const{sceneObject:r}=this,s=r.features;if(!s)return;const o=Reflect.get(s,"features")||Reflect.get(s,"geometries");if(o){if(e){let g=o.find(m=>(m==null?void 0:m.properties[n])==e);return{type:g!=null&&g.coordinates?g.type:(i=g==null?void 0:g.geometry)==null?void 0:i.type,positions:(g==null?void 0:g.coordinates)||((a=g==null?void 0:g.geometry)==null?void 0:a.coordinates)}}else if(typeof n=="number")return{type:(l=o[n])!=null&&l.coordinates?o[n].type:(f=(h=o[n])==null?void 0:h.geometry)==null?void 0:f.type,positions:((u=o[n])==null?void 0:u.coordinates)||((v=(y=o[n])==null?void 0:y.geometry)==null?void 0:v.coordinates)}}}_calculateFeatureHeight(n,e,r){const{sceneObject:s}=this,o=[...n];do{if(e=="NONE"){o[2]=o[2]??0;break}if(e=="CLAMP_TO_GROUND"||!o[2]){o[2]=r.getTerrainHeight(o)??0;break}o[2]+=r.getTerrainHeight(o)??0}while(!1);return o}};N(_c,"type",_c.register("ESCesiumViewer",Q.ESGeoJson.type,_c));let ng=_c;const xc=class xc extends xn{constructor(e,r){super(e,r);N(this,"_czmGeoESRectangle");N(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new lt(r,e.id)),this._czmGeoESRectangle=this.disposeVar(new gi(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoESRectangle,i=this._geoPolyline;i.arcType="RHUMB",this.dispose(E.track([i,"color"],[e,"strokeColor"])),this.dispose(E.track([i,"width"],[e,"strokeWidth"])),this.dispose(E.track([i,"ground"],[e,"strokeGround"])),this.dispose(E.track([o,"ground"],[e,"fillGround"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"]));{const a=()=>{i.show=e.show&&e.stroked,o.show=e.show&&e.filled};a();const l=this.disposeVar(E.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged));this.dispose(l.disposableOn(a))}{const a=()=>{e.filled?o.material={type:"Color",color:e.fillColor}:o.material=void 0};a();const l=this.disposeVar(E.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(l.disposableOn(a))}{const a=()=>{const l=e.points;if(l&&l.length>=2){const{minPos:h,maxPos:f}=Q.getMinMaxCorner(l);o.rectangle=[h[0],h[1],f[0],f[1]],o.height=l[0][2],o.extrudedHeight=l[0][2];const u=l.map(m=>(l&&(m[2]=l[0][2]),m)),y=u[0],v=u[1],g=[y,[y[0],v[1],y[2]],v,[v[0],y[1],v[2]]];i.positions=[...g,y]}else o.rectangle=void 0,i.positions=void 0,o.height=0,o.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}}get czmGeoESRectangle(){return this._czmGeoESRectangle}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):s.points?(Ne(o,s,r,s.points,e),!0):!1:!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,czmGeoESRectangle:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):s.points?(Ne(o,s,r,s.points,e),!0):!1:!1}};N(xc,"type",xc.register("ESCesiumViewer",Q.ESGeoRectangle.type,xc));let rg=xc;class Iu extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_geoPolygon");this._geoPolygon=this.disposeVar(new so(e,r));const{geoPolygon:s}=this;this.dispose(E.bind([s,"allowPicking"],[this,"allowPicking"])),this.dispose(this.flyToEvent.disposableOn(i=>{s.flyTo(i)})),this.dispose(E.bind([s,"show"],[this,"show"])),this.dispose(E.bind([s,"fill"],[this,"filled"])),this.dispose(E.bind([s,"strokeGround"],[this,"strokeGround"])),this.dispose(E.bind([s,"ground"],[this,"ground"])),this.dispose(E.bind([s,"outline"],[this,"outline"])),this.dispose(E.bind([s,"outlineColor"],[this,"outlineColor"])),this.dispose(E.bind([s,"outlineWidth"],[this,"outlineWidth"])),this.dispose(E.bind([s,"color"],[this,"color"])),this.dispose(E.bind([s,"depth"],[this,"depth"]));const o=()=>{if(this.positions&&this.positions.length>=2){const i=$p([...this.positions,this.positions[0]]);s.positions=i}else s.positions=void 0};o(),this.dispose(this.positionsChanged.disposableOn(o))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygon(){return this._geoPolygon}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,strokeGround:!1,ground:!1,outline:!1,filled:!0,outlineColor:E.reactArray([1,1,1,1]),outlineWidth:1,color:E.reactArrayWithUndefined([1,1,1,.5]),positions:E.reactPositions(void 0),depth:0})})(Iu||(Iu={})),E.extendClassProps(Iu.prototype,Iu.createDefaultProps);const Cc=class Cc extends xn{constructor(e,r){super(e,r);N(this,"_geoSmoothPolygon");if(this._geoSmoothPolygon=this.disposeVar(new Iu(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._geoSmoothPolygon;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"positions"],[e,"points"])),this.dispose(E.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(E.track([o,"outline"],[e,"stroked"])),this.dispose(E.track([o,"outlineColor"],[e,"strokeColor"])),this.dispose(E.track([o,"outlineWidth"],[e,"strokeWidth"])),this.dispose(E.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(E.track([o,"filled"],[e,"filled"])),this.dispose(E.track([o,"color"],[e,"fillColor"])),this.dispose(E.track([o,"ground"],[e,"ground"]));{const i=()=>{o.ground=e.ground||e.fillGround};i();const a=this.dv(E.createNextAnimateFrameEvent(e.groundChanged,e.fillGroundChanged));this.d(a.don(i))}{const i=()=>{o.color=e.filled?e.fillColor:Si.defaults.fillStyle.color};i();const a=this.disposeVar(E.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(i))}this.dispose(E.track([o,"depth"],[e,"depth"]))}get geoSmoothPolygon(){return this._geoSmoothPolygon}flyTo(e,r){const{sceneObject:s,czmViewer:o,geoSmoothPolygon:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,geoSmoothPolygon:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}};N(Cc,"type",Cc.register("ESCesiumViewer",Si.type,Cc));let ig=Cc;const Sc=class Sc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModel");const s=r.viewer;if(!s){console.warn("viewer is undefined!");return}this._czmModel=this.dv(new tn(r,e.id));const o=this._czmModel;this.d(o.readyEvent.don(a=>{o.gltf.animations&&(o.activeAnimationsJson=o.gltf.animations.map((l,h)=>({index:h,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"})),o.activeAnimationsAnimateWhilePaused=!0),e.czmModelReadyEvent.emit(a)})),this.ad(new Hp(s,this._czmModel)),this.d(E.track([o,"show"],[e,"show"])),this.d(E.track([o,"color"],[e,"czmColor"])),this.d(E.track([o,"nativeMaximumScale"],[e,"czmMaximumScale"])),this.d(E.track([o,"nativeMinimumPixelSize"],[e,"czmMinimumPixelSize"])),this.d(E.bind([o,"position"],[e,"position"])),this.d(E.track([o,"nativeScale"],[e,"czmNativeScale"])),this.d(E.track([o,"scale"],[e,"scale"])),this.ad(E.track([o,"imageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(E.track([o,"environmentMapManager"],[e,"czmEnvironmentMapManager"]));{const a=l=>{e.czmEnvironmentMapManager=e.czmEnvironmentMapManager?{...e.czmEnvironmentMapManager,atmosphereScatteringIntensity:l}:{atmosphereScatteringIntensity:l}};a(e.czmAtmosphereScatteringIntensity),this.ad(e.czmAtmosphereScatteringIntensityChanged.don(l=>a(l)))}{const a=()=>{var l,h;(l=e.czmEnvironmentMapManager)!=null&&l.atmosphereScatteringIntensity&&(e.czmAtmosphereScatteringIntensity=(h=e.czmEnvironmentMapManager)==null?void 0:h.atmosphereScatteringIntensity)};a(),this.ad(e.czmEnvironmentMapManagerChanged.don(a))}{const a=()=>{const l=[...e.rotation??[0,0,0]];l[0]+=e.instances?0:90,o.rotation=l};a(),this.d(e.rotationChanged.don(a));{const l=()=>{if(a(),!e.instances){o.instances=e.instances;return}o.instances=e.instances.map(h=>{const f=JSON.parse(JSON.stringify(h));return!f.rotation&&(f.rotation=[0,0,0]),f.rotation[0]+=90,f})};l(),this.ad(e.instancesChanged.don(l))}}this.ad(e.setMaterialEvent.don(a=>{o.setMaterial(a)}));{const a=()=>{const l=[...o.rotation];l[0]-=e.instances?0:90,e.rotation=l};a(),this.d(o.rotationChanged.don(a))}{const a=this.dv(E.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),l=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};l(),this.d(a.don(l))}const i=()=>{o.url=Q.ESSceneObject.context.getStrFromEnv(Kh(typeof e.url=="string"?e.url:e.url.url))};i(),this.d(e.urlChanged.don(i)),this.d(e.setNodePositionEvent.don((a,l)=>{o.setNodeTranslation(a,l)})),this.d(e.setNodeRotationEvent.don((a,l)=>{o.setNodeRotation(a,l)})),this.d(e.setNodeScaleEvent.don((a,l)=>{o.setNodeScale(a,l)})),this.d(e.printDebugInfoEvent.don(()=>{o.printDebugInfo()}))}get model(){return this._czmModel}flyTo(e,r){const{sceneObject:s,czmViewer:o,model:i}=this;return o.actived?s.flyToParam||s.flyInParam?(super.flyTo(e,r),!0):(i&&Bn(o,s,r,e,i,!0),!!i):!1}};N(Sc,"type",Sc.register("ESCesiumViewer",Q.ESGltfModel.type,Sc));let og=Sc;function LS(t,n){const e=t[0]-n[0],r=t[1]-n[1],s=t[2]-n[2];return Math.sqrt(e*e+r*r+s*s)}class Fu extends E.Destroyable{constructor(e,r){super();N(this,"_pickedEvent",this.disposeVar(new E.Event));N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_distance",this.disposeVar(E.react(0)));N(this,"_surfaceDistance",this.disposeVar(E.react(0)));N(this,"_height",this.disposeVar(E.react(0)));N(this,"_middlePosition",this.disposeVar(E.reactArrayWithUndefined(void 0)));N(this,"_heightPosition",this.disposeVar(E.reactArrayWithUndefined(void 0)));const s=()=>{if(this.positions)if(this.positions.length>=2)if(this._middlePosition.value=[this.positions[0][0],this.positions[0][1],this.positions[1][2]],this._heightPosition.value=[this.positions[0][0],this.positions[0][1],.5*(this.positions[1][2]+this.positions[0][2])],this.arcType===void 0||this.arcType==="GEODESIC"){const i=this._surfaceDistance.value=Q.geoDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(i*i+a*a)}else if(this.arcType==="RHUMB"){const i=this._surfaceDistance.value=Q.geoRhumbDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(i*i+a*a)}else if(this.arcType==="NONE"){const i=Q.lbhToXyz(this.positions[0]),a=Q.lbhToXyz(this.positions[1]);this._distance.value=LS(i,a),this._surfaceDistance.value=LS(Q.lbhToXyz(this._middlePosition.value),a),this._height.value=this.positions[1][2]-this.positions[0][2]}else console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`);else this._heightPosition.value=void 0,this._distance.value=0,this._surfaceDistance.value=0,this._height.value=0};s();const o=this.disposeVar(E.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged));this.dispose(o.disposableOn(s));{const i=this.disposeVar(new lt(e,r));i.ground=!1,i.loop=!1,this.dispose(E.track([i,"allowPicking"],[this,"allowPicking"])),this.dispose(E.bind([i,"arcType"],[this,"arcType"])),this.dispose(E.bind([i,"color"],[this,"color"])),this.dispose(E.bind([i,"dashLength"],[this,"dashLength"])),this.dispose(E.bind([i,"dashPattern"],[this,"dashPattern"])),this.dispose(E.bind([i,"gapColor"],[this,"gapColor"])),this.dispose(E.bind([i,"hasArrow"],[this,"hasArrow"])),this.dispose(E.bind([i,"hasDash"],[this,"hasDash"])),this.dispose(E.bind([i,"show"],[this,"show"])),this.dispose(E.bind([i,"width"],[this,"width"])),this.dispose(E.bind([i,"depthTest"],[this,"depthTest"]));{i.loop=!0;const l=()=>{if(this.positions&&this.positions.length===2){const[h,f]=this.positions;i.positions=[h,f,[h[0],h[1],f[2]]]}else i.positions=void 0};l(),this.dispose(this.positionsChanged.disposableOn(l))}this.dispose(this.flyToEvent.disposableOn(l=>{e.actived&&i.flyTo(l)}));const a=this.disposeVar(new It(e,r));this.dispose(E.track([a,"shadowDom"],[this,"shadowDom"])),this.dispose(E.track([a,"cssAllInitial"],[this,"cssAllInitial"])),this.dispose(E.track([a,"show"],[this,"show"]));{const l=()=>{a.position=this.heightPosition};l(),this.dispose(this.heightPositionChanged.disposableOn(l))}{const l=()=>{a.innerHTML=$o(`高度: ${Uy(this.height)}`,0)};l(),this.dispose(this.heightChanged.disposableOn(l))}this.ad(a.pickedEvent.don(l=>{ai(l)===0&&this.pickedEvent.emit(l)}))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}get surfaceDistance(){return this._surfaceDistance.value}get surfaceDistanceChanged(){return this._surfaceDistance.changed}get height(){return this._height.value}get heightChanged(){return this._height.changed}get middlePosition(){return this._middlePosition.value}get middlePositionChanged(){return this._middlePosition.changed}get heightPosition(){return this._heightPosition.value}get heightPositionChanged(){return this._heightPosition.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:E.reactPositions(void 0),width:1,color:E.reactArray([1,1,1,1]),hasDash:!1,gapColor:E.reactArrayWithUndefined([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1})})(Fu||(Fu={})),E.extendClassProps(Fu.prototype,Fu.createDefaultProps);const Ec=class Ec extends xn{constructor(e,r){super(e,r);N(this,"_geoHeightMeasurement");if(this._geoHeightMeasurement=this.disposeVar(new Fu(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const{czmHeightMeasurement:o}=this;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(E.bind([o,"positions"],[e,"points"]));{const i=()=>{if(e.stroked)o.width=e.strokeWidth;else{o.width=0;return}o.width=e.strokeWidth,o.color=e.strokeColor;const h=e.strokeMaterial??"normal";h==="hasDash"?(o.hasDash=!0,o.hasArrow=!1):h==="hasArrow"?(o.hasDash=!1,o.hasArrow=!0):(o.hasDash=!1,o.hasArrow=!1);const f=e.strokeStyle;if(f.material==="hasDash"&&f.materialParams)try{const u=f.materialParams;Reflect.has(u,"gapColor")&&(o.gapColor=u.gapColor??[0,0,0,0]),Reflect.has(u,"dashLength")&&(o.dashLength=u.dashLength),Reflect.has(u,"dashPattern")&&(o.dashPattern=u.dashPattern)}catch(u){console.error(u)}else o.gapColor=[0,0,0,0],o.dashLength=0,o.dashPattern=0};i();const a=this.disposeVar(E.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(i))}this.dispose(o.pickedEvent.disposableOn(i=>{ai(i)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(i)}))}get czmHeightMeasurement(){return this._geoHeightMeasurement}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmHeightMeasurement:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,czmHeightMeasurement:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}};N(Ec,"type",Ec.register("ESCesiumViewer",Q.ESHeightMeasurement.type,Ec));let ag=Ec;const Pc=class Pc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModelPrimitive");const s=r.viewer;if(!s){console.warn("viewer is undefined!");return}this._czmModelPrimitive=this.disposeVar(new tn(r,this.sceneObject.id));const o=this._czmModelPrimitive;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(jt([o,"rotation"],[e,"rotation"])),this.dispose(E.bind([o,"scale"],[e,"scale"]));{const m=this.dv(E.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),p=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};p(),this.d(m.don(p))}const i=Q.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/worker.glb"),a=Q.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/police.glb"),l=Q.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/pedestrian.glb"),h=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/Stranger.glb"),f=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsMan.glb"),u=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsWoman.glb"),y=()=>{switch(e.mode){case"worker":o.url=i;break;case"police":o.url=a;break;case"pedestrian":o.url=l;break;case"stranger":o.url=h;break;case"suitMan":o.url=f;break;case"suitWoman":o.url=u;break;default:o.url=i;break}};this.dispose(e.modeChanged.disposableOn(()=>{y()})),y();const v=()=>{const m=e.animation??Q.ESHuman.defaults.animation;if(!e.show){o.activeAnimationsJson=void 0;return}m==="walking"?o.activeAnimationsJson=Q.ESHuman.defaults.czmAnimationsWalk:m==="standing"?o.activeAnimationsJson=Q.ESHuman.defaults.czmAnimationsStand:m==="running"&&(o.activeAnimationsJson=Q.ESHuman.defaults.czmAnimationsRun)};v();const g=this.ad(E.createNextAnimateFrameEvent(e.showChanged,e.animationChanged));this.dispose(g.disposableOn(()=>v())),this.ad(new Hp(s,o))}get czmModelPrimitive(){return this._czmModelPrimitive}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmModelPrimitive:i}=this;return!o.actived||!o.viewer?!1:s.flyToParam||s.flyInParam?(super.flyTo(e,r),!0):(i&&Bn(o,s,r,e,i,!0),!!i)}};N(Pc,"type",Pc.register("ESCesiumViewer",Q.ESHuman.type,Pc));let sg=Pc;class zS extends E.Destroyable{constructor(e,r){super();N(this,"_czmGeoCanvasImagePoi");N(this,"flyTo",(e,r)=>{if(this.czmGeoCanvasImagePoi.position){Ue(this.czmViewer.viewer,this.czmGeoCanvasImagePoi.position,1e3,Jn,e);return}this.czmGeoCanvasImagePoi.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=r,this._czmGeoCanvasImagePoi=this.disposeVar(new Rr(r));const s=this._czmGeoCanvasImagePoi;s.pickOnClick=!0,this.d(s.pickedEvent.don(o=>{(e.allowPicking??!1)&&e.pickedEvent.emit(o)}));{const o=f=>{let u=f;return f.includes("inner://")&&(u="${earthsdk3-assets-script-dir}/assets/img/points/"+f.split("inner://")[1]),Q.ESSceneObject.context.getStrFromEnv(Kh(u))},i=()=>{const f=o(typeof e.url=="string"?e.url:e.url.url);if(s.imageUri=f,e.sizeByContent){const y=new Image;y.src=f,y.onload=()=>{s.size=[y.width,y.height]}}else{const y=e.size;s.size=[...y]}},a=this.disposeVar(E.createNextAnimateFrameEvent(e.urlChanged,e.sizeByContentChanged,e.sizeChanged));this.dispose(a.disposableOn(()=>i())),i(),this.d(E.track([s,"zOrder"],[e,"zOrder"])),this.dispose(E.track([s,"show"],[e,"show"])),this.dispose(E.bind([s,"position"],[e,"position"]));{const f=()=>{s.scale=[e.scale[1],e.scale[2]]};f(),this.dispose(e.scaleChanged.don(f))}const l=()=>{const f=e.anchor,u=e.offset;f?s.originRatioAndOffset=[...f,-u[0],-u[1]]:s.originRatioAndOffset=[0,0,0,0]},h=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(h.disposableOn(()=>l())),l(),this.dispose(s.clickEvent.disposableOn(f=>{const{offsetX:u,offsetY:y}=f,g={type:f.button===0?"leftClick":f.button===2?"rightClick":void 0,add:{mousePos:[u,y]}};e.widgetEvent.emit(g)})),this.dispose(s.hoveredChanged.disposableOn(f=>{if(f===void 0)return;const u={type:f?"mouseEnter":"mouseLeave"};e.widgetEvent.emit(u)}))}}get czmGeoCanvasImagePoi(){return this._czmGeoCanvasImagePoi}}class NS extends E.Destroyable{constructor(e,r,s){super();N(this,"_czmGeoImageModel");N(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});N(this,"_isPointEvent",!1);N(this,"flyTo",(e,r)=>{if(this.czmGeoImageModel.position)return er(this.czmViewer,this.sceneObject,r,this.sceneObject.position,Math.max(...this.czmGeoImageModel.size),e,!0);this.czmGeoImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=r,this._czmGeoImageModel=this.disposeVar(new yi(r,e.id));const o=this._czmGeoImageModel;this.ad(r.clickEvent.don(y=>{const v=y==null?void 0:y.pointerEvent;v&&(this._isPointEvent=!0,this._eventInfo={type:v.button==0?"leftClick":v.button==2?"rightClick":"leftClick",add:{mousePos:[v.offsetX,v.offsetY]}})})),this.d(e.pickedEvent.don(y=>{var v,g,m;y.screenPosition&&this._isPointEvent&&y.attachedInfo!="innerHoverEvent"&&((v=this._eventInfo.add)!=null&&v.mousePos)&&Math.abs(y.screenPosition[0]-((g=this._eventInfo.add)==null?void 0:g.mousePos[0]))<1&&Math.abs(y.screenPosition[1]-((m=this._eventInfo.add)==null?void 0:m.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),Q.registerCreatedEventUpdate(this,e,()=>{const y=r.getEngineObject(e);this.ad(y.lastHoverResultChanged.don((v,g)=>{if(!((v==null?void 0:v.sceneObject)==(g==null?void 0:g.sceneObject)||(v==null?void 0:v.sceneObject)!=e&&(g==null?void 0:g.sceneObject)!=e)){do(v==null?void 0:v.sceneObject)==null&&(this._eventInfo={type:"mouseLeave",add:{mousePos:v==null?void 0:v.screenPosition}}),(g==null?void 0:g.sceneObject)==null&&(this._eventInfo={type:"mouseEnter",add:{mousePos:v==null?void 0:v.screenPosition}});while(!1);e.widgetEvent.emit(this._eventInfo)}}))});const i=e.sizeByContent,l=(y=>{let v=y;return y.includes("inner://")&&(v="${earthsdk3-assets-script-dir}/assets/img/points/"+y.split("inner://")[1]),Q.ESSceneObject.context.getStrFromEnv(Kh(v))})(typeof s.sceneObject.url=="string"?s.sceneObject.url:s.sceneObject.url.url),h=new Image;h.src=l,h.onload=()=>{if(i)o.size=[h.width/100,h.height/100];else{const y=e.size;o.size=[y[0]/100,y[1]/100]}},o.uri=l,this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"])),o.pixelSize=void 0,o.useAxis="XZ";{const y=()=>{o.scale=[e.scale[1],e.scale[2]]};y(),this.d(e.scaleChanged.don(y))}{const y=()=>{e.rotationType===0&&(o.rotationMode="WithProp",this.d(jt([o,"rotation"],[e,"rotation"]))),e.rotationType===1&&(o.rotationMode="WithCamera"),e.rotationType===2&&(o.rotationMode="WithCameraOnlyZ")};y(),this.dispose(e.rotationTypeChanged.disposableOn(y))}const f=()=>{const y=e.anchor,v=e.offset;y?o.originRatioAndOffset=[...y,-v[0]/100,-v[1]/100]:o.originRatioAndOffset=[0,0,0,0]},u=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(u.disposableOn(()=>f())),f()}get czmGeoImageModel(){return this._czmGeoImageModel}}const Tc=class Tc extends Pu{constructor(e,r){super(e,r);N(this,"_resetting");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(E.createNextAnimateFrameEvent(this.sceneObject.urlChanged,this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged));this._resetting=this.disposeVar(new E.ObjResettingWithEvent(o,()=>this.sceneObject.screenRender?new zS(this.sceneObject,this.czmViewer):new NS(this.sceneObject,this.czmViewer,this)))}get resetting(){return this._resetting}flyTo(e,r){const{sceneObject:s,czmViewer:o,resetting:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i&&i.obj&&i.obj.flyTo(e,r),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Tc,"type",Tc.register("ESCesiumViewer",Q.ESImageLabel.type,Tc));let lg=Tc;function IQ(t){switch(t){case"wms":return"WebMapServiceImageryProvider";case"tms":return"TileMapServiceImageryProvider";case"wmts":return"WebMapTileServiceImageryProvider";case"xyz":return"UrlTemplateImageryProvider";case"ion":return"IonImageryProvider"}}const Bc=class Bc extends dr{constructor(e,r){super(e,r);N(this,"_czmImagery");if(this._czmImagery=this.dv(new vo(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmImagery;{const i=this.ad(E.reactJson(""));{const h=()=>{if(typeof e.url=="string")i.value=Q.ESSceneObject.context.getStrFromEnv(e.url);else{const f=e.url;f.url=Q.ESSceneObject.context.getStrFromEnv(f.url),i.value=f}};h(),this.ad(e.urlChanged.don(h))}const a=()=>{var g;if(!i.value)return;const h=(((g=e.options)==null?void 0:g.type)??"auto").toLowerCase(),f=e.options??{};let u={type:"UrlTemplateImageryProvider",url:i.value,rectangle:e.rectangle,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,...f},y=i.value,v=typeof y=="string"?y:y.url;if(h==="auto"){const m=v.toLowerCase();if(m.startsWith("ion://")){const d=+m.substring(6);u={...f,assetId:d,type:"IonImageryProvider"}}else if(m.includes("{x}")||m.includes("{y}")||m.includes("{z}"))u.type="UrlTemplateImageryProvider";else if(m.includes("wmts"))u.type="WebMapTileServiceImageryProvider";else if(m.includes("wms"))u.type="WebMapServiceImageryProvider";else{if(v.includes("/tilemapresource.xml")){const p=v.split("/tilemapresource.xml").join("");typeof y=="string"?y=p:y.url=p,u.url=y}u.type="TileMapServiceImageryProvider"}}else{if(h==="tms"&&v.includes("/tilemapresource.xml")){const m=v.split("/tilemapresource.xml").join("");typeof y=="string"?y=m:y.url=m,u.url=y}else if(h==="ion"&&v.startsWith("ion://")){const p=+v.substring(6);u={...f,assetId:p,type:"IonImageryProvider"}}u.type=IQ(h)}console.log("imageryProvider",u),o.imageryProvider=u};a();const l=this.dv(E.createNextAnimateFrameEvent(i.changed,e.maximumLevelChanged,e.minimumLevelChanged,e.optionsChanged,e.rectangleChanged));this.d(l.don(a))}this.d(E.track([o,"show"],[e,"show"])),this.d(E.bind([o,"alpha"],[e,"opacity"])),this.d(E.bind([o,"alpha"],[e,"czmAlpha"])),this.d(E.track([o,"splitDirection"],[e,"czmSplitDirection"])),this.d(E.track([o,"brightness"],[e,"czmBrightness"])),this.d(E.track([o,"contrast"],[e,"czmContrast"])),this.d(E.track([o,"hue"],[e,"czmHue"])),this.d(E.track([o,"saturation"],[e,"czmSaturation"])),this.d(E.track([o,"gamma"],[e,"czmGamma"])),this.d(E.track([o,"rectangle"],[e,"rectangle"])),this.d(E.track([o,"zIndex"],[e,"zIndex"]))}get czmImagery(){return this._czmImagery}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmImagery:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i.flyTo(e&&e),s.flyOverEvent.emit(r,"over",o),!0):!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,czmImagery:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):(i.flyTo(e&&e),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Bc,"type",Bc.register("ESCesiumViewer",Q.ESImageryLayer.type,Bc));let ug=Bc;class FQ extends E.Destroyable{constructor(e,r,s,o){super();N(this,"_show");N(this,"_czmESCustomPrimitive");N(this,"_czmTexture");this._sceneObject=e,this._show=this.disposeVar(E.react(this._sceneObject.show)),this._czmESCustomPrimitive=this.dv(new mt(r,this._sceneObject.id)),this._czmTexture=this.dv(new wt(r));const i=e,a=this._czmESCustomPrimitive,l=this._czmTexture;this.dispose(E.track([a,"show"],[this,"show"])),this.dispose(E.track([a,"show"],[i,"show"])),this.dispose(E.track([a,"allowPicking"],[i,"allowPicking"])),this.dispose(E.track([a,"rotation"],[i,"rotation"])),this.dispose(E.track([a,"position"],[i,"position"])),this.dispose(E.track([a,"scale"],[i,"scale"])),this.ad(i.allowPickingChanged.don(()=>{a.allowPicking=i.allowPicking,a.pass=i.allowPicking?"TRANSLUCENT":"OVERLAY"}));{const h=()=>{const u=i.size/2,y=o[0].map(P=>P*u),v=o[1].map(P=>P*u),g=o[2].map(P=>P*u),m=o[3].map(P=>P*u),p=[...y,...v,...g,...m];let d=[0,3,2,0,2,1];(s=="north"||s=="west"||s=="bottom")&&(d=d.reverse());const c=[0,0],A=[1,0],w=[1,1],b=[0,1];let _=[];s=="east"||s=="south"?_=[...A,...c,...b,...w]:s=="west"?_=[...A,...w,...b,...c]:s=="top"?_=[...b,...w,...A,...c]:_=[...c,...A,...w,...b],a.indexTypedArray=new Uint16Array(d),a.attributes={position:{typedArray:new Float32Array(p),componentsPerAttribute:3},st:{typedArray:new Float32Array(_),componentsPerAttribute:2}},l.uri=Q.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/img/skybox/${i.mode}/${s}.jpg`);const x=r.getCameraInfo();if(x!=null){const k=Q.getDistancesFromPositions([i.position,x.position],"NONE")[0]/(i.size/2*i.autoOpacityFactor);this.changeOpacity(i.autoFollow?1:k)}const C=a.computeLocalAxisedBoundingBoxFromAttribute("position");if(!C)return;const{min:T,max:I}=C;a.setLocalAxisedBoundingBox(T,I)};h();const f=this.disposeVar(E.createNextAnimateFrameEvent(i.sizeChanged,i.modeChanged));this.dispose(f.disposableOn(h))}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}get czmESCustomPrimitive(){return this._czmESCustomPrimitive}get czmTexture(){return this._czmTexture}changeOpacity(e){this._czmESCustomPrimitive.uniformMap={u_image:{type:"texture",id:this._czmTexture.id},u_color:[1,1,1,1-e>=0?1-e:0]}}}class kQ extends E.Destroyable{constructor(n,e,r){if(super(),!e.viewer)return;let s=!0,o;this.dispose(e.viewer.scene.preUpdate.addEventListener(()=>{i()}));function i(){var l;if(!((l=e.viewer)!=null&&l.camera))return;const a=e.getCameraInfo();if(a!=null&&(o==null||o.position[0]!=a.position[0]||o.position[1]!=a.position[1]||o.position[2]!=a.position[2]||o.rotation[0]!=a.rotation[0]||o.rotation[1]!=a.rotation[1]||o.rotation[2]!=a.rotation[2])){o=a;const f=Q.getDistancesFromPositions([n.position,o.position],"NONE")[0]/(n.size/2*n.autoOpacityFactor);n.autoFollow?(n.position=o.position,s&&(s=!1,r.forEach(u=>{u.changeOpacity(1)}))):r.forEach(u=>{u.changeOpacity(f)})}}i()}}const zt=class zt extends Ze{constructor(e,r){super(e,r);N(this,"_czmSkyBoxComponents",[]);if(!r.viewer){console.warn("viewer is undefined!");return}!zt._defaultLocalBox&&zt._firstLoad&&(zt._firstLoad=!1,zt._defaultLocalBox=r.xbsjLocalBoxSources),zt._eSLocalSkyBoxArr.push(e),this.d(()=>{zt._eSLocalSkyBoxArr.includes(e)&&zt._eSLocalSkyBoxArr.splice(zt._eSLocalSkyBoxArr.indexOf(e),1),this.ChangeAutoFollow()});const o={bottom:[[-1,-1,-1],[1,-1,-1],[1,1,-1],[-1,1,-1]],top:[[-1,-1,1],[1,-1,1],[1,1,1],[-1,1,1]],south:[[-1,-1,-1],[1,-1,-1],[1,-1,1],[-1,-1,1]],north:[[-1,1,-1],[1,1,-1],[1,1,1],[-1,1,1]],east:[[1,-1,-1],[1,1,-1],[1,1,1],[1,-1,1]],west:[[-1,1,-1],[-1,1,1],[-1,-1,1],[-1,-1,-1]]};for(const i in o)if(Object.prototype.hasOwnProperty.call(o,i)){const a=o[i];this._czmSkyBoxComponents.push(this.dv(new FQ(e,r,i,a)))}{const i=this.disposeVar(E.createNextAnimateFrameEvent(e.autoFollowChanged,e.autoOpacityFactorChanged));this.disposeVar(new E.ObjResettingWithEvent(i,()=>(this.ChangeAutoFollow(),new kQ(e,r,this._czmSkyBoxComponents))))}{const i=()=>{this.ChangeAutoFollow()},a=this.disposeVar(E.createNextAnimateFrameEvent(e.sizeChanged,e.modeChanged,e.showChanged));this.dispose(a.disposableOn(i))}}ChangeAutoFollow(){const{czmViewer:e}=this;for(let r=zt._eSLocalSkyBoxArr.length-1;r>=0;r--){const s=zt._eSLocalSkyBoxArr[r];if(s.autoFollow&&s.show){e.xbsjLocalBoxSources={positiveX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/east.jpg`,negativeX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/west.jpg`,positiveY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/bottom.jpg`,negativeY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/top.jpg`,positiveZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/north.jpg`,negativeZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/south.jpg`};break}r==0&&(e.xbsjLocalBoxSources=zt._defaultLocalBox)}zt._eSLocalSkyBoxArr.length==0&&(e.xbsjLocalBoxSources=zt._defaultLocalBox)}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;if(!o.actived)return!1;if(s.flyToParam||s.flyInParam)return super.flyTo(e,r);{const i=s.size??Q.ESLocalSkyBox.defaults.size;return s.position?(er(o,s,r,s.position,i,e,!0),!0):!1}}};N(zt,"type",zt.register("ESCesiumViewer",Q.ESLocalSkyBox.type,zt)),N(zt,"_defaultLocalBox"),N(zt,"_firstLoad",!0),N(zt,"_eSLocalSkyBoxArr",[]);let cg=zt;const hr=class hr extends Ze{constructor(e,r){super(e,r);N(this,"_geoCustomDivPoi");N(this,"_textFunc",this.disposeVar(E.react(void 0)));if(this._geoCustomDivPoi=this.disposeVar(new It(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this.geoCustomDivPoi;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"]));{this.dispose(o.pickedEvent.disposableOn(i=>{(e.allowPicking??Q.ESLocationMeasurement.defaults.allowPicking)&&e.pickedEvent.emit(i)})),this.dispose(o.innerHtmlMounted.disposableOn(i=>{const a=i.firstElementChild;a&&(a.style.pointerEvents="auto",a.style.cursor="default",a.onclick=l=>o.pickFromDiv(a,{type:"viewerPicking",pointerEvent:l}))}));{const i=()=>{if(!e.position)return;const l=(this.textFunc??hr.defaultTextFunc_度格式)(e.position);o.innerHTML=$o(l)};i();const a=this.disposeVar(E.createNextAnimateFrameEvent(e.positionChanged,this.textFuncChanged));this.dispose(a.disposableOn(i))}{const i=()=>{r.lonLatFormat??(r.lonLatFormat="DECIMAL_DEGREE"),this.textFunc=r.lonLatFormat=="DECIMAL_DEGREE"?hr.defaultTextFunc_度格式:r.lonLatFormat=="DEGREES_DECIMAL_MINUTES"?hr.defaultTextFunc_度分格式:hr.defaultTextFunc_度分秒格式};i(),this.d(r.lonLatFormatChanged.don(()=>{i()}))}}}get geoCustomDivPoi(){return this._geoCustomDivPoi}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}flyTo(e,r){const{sceneObject:s,czmViewer:o,geoCustomDivPoi:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i.flyTo(e),s.flyOverEvent.emit(r,"over",o),!0):!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,geoCustomDivPoi:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):(i.flyTo(e),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(hr,"type",hr.register("ESCesiumViewer",Q.ESLocationMeasurement.type,hr)),N(hr,"defaultTextFunc_度格式",e=>{if(!e)return"";const[r=0,s=0,o=0]=e;return`经度: ${r.toFixed(5)}°
|
|
4267
|
+
`,Mt=class Mt extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_loadFuncReact",this.disposeVar(E.react(void 0)));N(this,"_dataSource",this.disposeVar(E.react(void 0)));N(this,"_data");N(this,"_defaultHeight",{});N(this,"_defaultBoundingSphere",new F.BoundingSphere);const s=e.viewer;if(!s){console.warn("viewer is undefined!");return}let o=()=>{this.dataSource&&s.dataSources.remove(this.dataSource,!0),this.dataSource=void 0,this._data=void 0};this.dispose(()=>{o()});{const i=this.dv(E.createProcessingFromAsyncFunc(async h=>{if(this.dataSource&&o(),!!this.url){do{if(typeof this.url=="object"){this._data=this.url;break}if(this._isJSONString(this.url)){this._data=JSON.parse(this.url);break}await fetch(Q.ESSceneObject.context.getStrFromEnv(this.url)).then(f=>f.json()).then(f=>{this._data=f}).catch(f=>{console.warn("ESGeoJson数据加载失败",f)})}while(!1);this.dataSource=await F.GeoJsonDataSource.load(this._data),s.dataSources.add(this.dataSource).then(f=>{var y,v;const u=[];for(const g of f.entities.values)if(F.Entity.prototype&&(g.ESSceneObjectID=r),this._isEntityShow(g,e),g.polygon&&u.push(...(y=g.polygon.hierarchy)==null?void 0:y.getValue(F.JulianDate.now()).positions),g.polyline&&u.push(...(v=g.polyline.positions)==null?void 0:v.getValue(F.JulianDate.now())),g.position){const m=g.position.getValue(F.JulianDate.now());m&&u.push(m)}this._defaultBoundingSphere=F.BoundingSphere.fromPoints(u)})}})),a=()=>{i.isRunning&&i.cancel(),i.restart()};a();const l=this.dv(E.createNextAnimateFrameEvent(this.loadFunChanged,this.urlChanged));this.dispose(l.don(a))}{const i=()=>{var l,h;if(this.dataSource)if(this.dataSource.show=this.show,this.loadFun)try{this.loadFun(this.dataSource)}catch(f){console.error(f)}else{const f=this.dataSource.entities.values;for(let u=0;u<f.length;u++){const y=f[u];if(y.polygon){this._defaultHeight[y.id]||(this._defaultHeight[y.id]=(l=y.polygon.height)==null?void 0:l.getValue(F.JulianDate.now())),y.polygon.height=this.fillGround?void 0:new F.ConstantProperty(this._defaultHeight[y.id]),y.polygon.perPositionHeight=new F.ConstantProperty(!this.fillGround),y.polygon.heightReference=new F.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?F.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?F.HeightReference.CLAMP_TO_GROUND:F.HeightReference.RELATIVE_TO_GROUND),y.polygon.show=new F.ConstantProperty(this.filled??Mt.defaults.filled),y.polygon.material=new F.ColorMaterialProperty(new F.Color(...this.fillColor??Mt.defaults.fillColor)),y.polygon.outline=new F.ConstantProperty(!1),y.polyline=new F.PolylineGraphics;const v=JSON.parse(JSON.stringify((h=y.polygon.hierarchy)==null?void 0:h.getValue(F.JulianDate.now()).positions));F.Cartesian3.equals(v[0],v[v.length-1])||v.push(v[0]),y.polyline.positions=v}if(y.polyline&&(y.polyline.show=new F.ConstantProperty(this.stroked??Mt.defaults.stroked),y.polyline.width=new F.ConstantProperty(this.strokeWidth??Mt.defaults.strokeWidth),y.polyline.material=new F.ColorMaterialProperty(new F.Color(...this.strokeColor??Mt.defaults.strokeColor)),y.polyline.clampToGround=new F.ConstantProperty(this.strokeGround)),y.billboard){y.billboard.show=new F.ConstantProperty(this.imageShow??Mt.defaults.imageShow),y.billboard.width=new F.ConstantProperty(this.imageSize?this.imageSize[0]:Mt.defaults.imageSize[0]),y.billboard.height=new F.ConstantProperty(this.imageSize?this.imageSize[1]:Mt.defaults.imageSize[1]);const v=this.imageUrl?typeof this.imageUrl=="string"?this.imageUrl:this.imageUrl.url:Mt.defaults.imageUrl;y.billboard.image=new F.ConstantProperty(Q.ESSceneObject.context.getStrFromEnv(v)),y.billboard.horizontalOrigin=new F.ConstantProperty(F.HorizontalOrigin.LEFT),y.billboard.verticalOrigin=new F.ConstantProperty(F.VerticalOrigin.TOP),y.billboard.heightReference=new F.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?F.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?F.HeightReference.CLAMP_TO_GROUND:F.HeightReference.RELATIVE_TO_GROUND);const g=this.imageAnchor??Mt.defaults.imageAnchor,m=this.imageOffset??Mt.defaults.imageOffset;if(y.billboard.pixelOffset=new F.ConstantProperty(F.Cartesian2.fromArray([-g[0]*y.billboard.width.getValue(F.JulianDate.now())+m[0],-g[1]*y.billboard.height.getValue(F.JulianDate.now())+m[1]])),y.label=new F.LabelGraphics,!y.label)return;y.label.show=new F.ConstantProperty(this.textShow??Mt.defaults.textShow),y.label.heightReference=new F.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?F.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?F.HeightReference.CLAMP_TO_GROUND:F.HeightReference.RELATIVE_TO_GROUND),y.label.text=new F.ConstantProperty(this.textProperty&&this.textProperty!==""&&y.properties&&y.properties[this.textProperty]?y.properties[this.textProperty].getValue():this.textDefaultText??Mt.defaults.textDefaultText),y.label.fillColor=new F.ConstantProperty(new F.Color(...this.textColor??Mt.defaults.textColor)),y.label.showBackground=new F.ConstantProperty(this.textBackgroundColor!=null);const p=this.textFontSize&&this.textFontSize!=0?this.textFontSize:Mt.defaults.textFontSize,d=this.textOffset??Mt.defaults.textOffset;y.label.backgroundColor=new F.ConstantProperty(new F.Color(...this.textBackgroundColor??Mt.defaults.textBackgroundColor)),y.label.font=new F.ConstantProperty(`${this.textFontStyle} ${this.textFontWeight} ${p}px ${this.textFontFamily??Mt.defaults.textFontFamily}`),y.label.horizontalOrigin=new F.ConstantProperty(F.HorizontalOrigin.LEFT),y.label.verticalOrigin=new F.ConstantProperty(F.VerticalOrigin.TOP),y.label.eyeOffset=new F.ConstantProperty(F.Cartesian3.fromArray([0,0,-1]));const c=this.textAnchor??Mt.defaults.textAnchor;y.label.pixelOffset=new F.ConstantProperty(F.Cartesian2.fromArray([-c[0]*((this.textBackgroundColor?-14:-p*2)+this._countBytes(y.label.text.getValue(F.JulianDate.now()))/2*p)+d[0],-c[1]*((this.textBackgroundColor?10:0)+p)+d[1]]))}}}};i();const a=this.dv(E.createNextAnimateFrameEvent(this._dataSource.changed,this.showChanged,this.strokedChanged,this.strokeWidthChanged,this.strokeWidthTypeChanged,this.strokeColorChanged,this.strokeMaterialChanged,this.strokeMaterialParamsChanged,this.strokeGroundChanged,this.filledChanged,this.fillColorChanged,this.fillMaterialChanged,this.fillMaterialParamsChanged,this.fillGroundChanged,this.imageShowChanged,this.imageUrlChanged,this.imageSizeChanged,this.imageAnchorChanged,this.imageOffsetChanged,this.textShowChanged,this.textPropertyChanged,this.textDefaultTextChanged,this.textColorChanged,this.textBackgroundColorChanged,this.textFontFamilyChanged,this.textFontSizeChanged,this.textFontStyleChanged,this.textFontWeightChanged,this.textAnchorChanged,this.textOffsetChanged,this.heightReferenceChanged));this.dispose(a.don(i))}{const i=()=>{if(!this.dataSource)return;const l=this.dataSource.entities.values;for(let h=0;h<l.length;h++){const f=l[h];this._isEntityShow(f,e)}};i();const a=this.ad(E.createNextAnimateFrameEvent(this.minFeatureVisibleDistanceChanged,this.maxFeatureVisibleDistanceChanged,e.cameraChanged,this.showChanged));this.ad(a.don(i))}{const i=()=>{if(this.loadFuncStr)try{const a=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=a}catch(a){console.error(a),this.loadFun=void 0}else this.loadFun=void 0};i(),this.dispose(this.loadFuncStrChanged.disposableOn(i))}this.dispose(this.flyToEvent.disposableOn(i=>{e.actived&&this.dataSource&&(i!==void 0?s.flyTo(this.dataSource,{duration:i/1e3}).then(a=>{a||s.camera.flyToBoundingSphere(this._defaultBoundingSphere,{duration:i/1e3})}):s.flyTo(this.dataSource).then(a=>{a||s.camera.flyToBoundingSphere(this._defaultBoundingSphere)}))}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}_isJSONString(e){try{return JSON.parse(e),!0}catch{return!1}}_countBytes(e){let r=0;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);o<=127?r+=1:o<=2047?r+=2:o<=65535?r+=3:r+=4}return r}_isEntityShow(e,r){var s;if(this.minFeatureVisibleDistance==0&&this.maxFeatureVisibleDistance==0){e.show=this.show;return}if((s=r.viewer)!=null&&s.camera&&this.show){let o;do{if(e.polygon&&e.polygon.hierarchy){o=Q.getMinMaxCorner(e.polygon.hierarchy.getValue(F.JulianDate.now()).positions.map(l=>He(l))).center;break}if(e.polyline&&e.polyline.positions&&(o=Q.getMinMaxCorner(e.polyline.positions.getValue(F.JulianDate.now()).map(l=>He(l))).center),e.position){const l=e.position.getValue(F.JulianDate.now());l&&(o=He(l))}}while(!1);if(!o||isNaN(o[0]))return;const i=Q.getDistancesFromPositions([o,Nn(r.viewer.camera)],"NONE")[0];let a=!1;this.minFeatureVisibleDistance<this.maxFeatureVisibleDistance?a=this.minFeatureVisibleDistance<i&&i<this.maxFeatureVisibleDistance:this.maxFeatureVisibleDistance==0?a=i>this.minFeatureVisibleDistance:this.minFeatureVisibleDistance==0&&(a=i<this.maxFeatureVisibleDistance),e.show=this.show&&a}}};N(Mt,"defaults",{show:!0,allowPicking:!0,url:US,defaultLoadFuncStr:RS,defaultLoadFuncDocStr:BQ,data:PQ,dataMd:TQ,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/misc/location.png",imageSize:[64,64],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:[.79,.91,.06,1],textFontFamily:"Arial",textFontSize:16,textFontWeight:"normal",textFontStyle:"normal",textAnchor:[.5,1],textOffset:[0,0],strokeWidthTypes:[["screen","screen"],["world","world"]],minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let xa=Mt;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:void 0,loadFuncStr:void 0,url:void 0,stroked:void 0,strokeWidth:void 0,strokeWidthType:"world",strokeColor:E.reactArrayWithUndefined(void 0),strokeMaterial:void 0,strokeMaterialParams:E.reactJsonWithUndefined(void 0),strokeGround:void 0,filled:void 0,fillColor:E.reactArrayWithUndefined(void 0),fillMaterial:void 0,fillMaterialParams:E.reactJsonWithUndefined(void 0),fillGround:void 0,imageShow:void 0,imageUrl:void 0,imageSize:E.reactArrayWithUndefined(void 0),imageAnchor:E.reactArrayWithUndefined(void 0),imageOffset:E.reactArrayWithUndefined(void 0),textShow:void 0,textProperty:void 0,textDefaultText:void 0,textColor:E.reactArrayWithUndefined(void 0),textBackgroundColor:E.reactArrayWithUndefined(void 0),textFontFamily:void 0,textFontSize:void 0,textFontStyle:void 0,textFontWeight:void 0,textAnchor:E.reactArrayWithUndefined(void 0),textOffset:E.reactArrayWithUndefined(void 0),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})})(xa||(xa={})),E.extendClassProps(xa.prototype,xa.createDefaultProps);const _c=class _c extends dr{constructor(n,e){if(super(n,e),!e.viewer){console.warn("viewer is undefined!");return}const s=this.disposeVar(new xa(e,n.id));this.dispose(E.track([s,"show"],[n,"show"])),this.dispose(E.track([s,"allowPicking"],[n,"allowPicking"])),this.dispose(E.track([s,"loadFuncStr"],[n,"loadFuncStr"])),this.dispose(E.track([s,"url"],[n,"features"])),this.dispose(E.track([s,"stroked"],[n,"stroked"])),this.dispose(E.track([s,"strokeWidth"],[n,"strokeWidth"])),this.dispose(E.track([s,"strokeWidthType"],[n,"strokeWidthType"])),this.dispose(E.track([s,"strokeColor"],[n,"strokeColor"])),this.dispose(E.track([s,"strokeMaterial"],[n,"strokeMaterial"])),this.dispose(E.track([s,"strokeMaterialParams"],[n,"strokeMaterialParams"])),this.dispose(E.track([s,"strokeGround"],[n,"strokeGround"])),this.dispose(E.track([s,"filled"],[n,"filled"])),this.dispose(E.track([s,"fillColor"],[n,"fillColor"])),this.dispose(E.track([s,"fillMaterial"],[n,"fillMaterial"])),this.dispose(E.track([s,"fillMaterialParams"],[n,"fillMaterialParams"])),this.dispose(E.track([s,"fillGround"],[n,"fillGround"])),this.dispose(E.track([s,"imageShow"],[n,"imageShow"])),this.dispose(E.track([s,"imageUrl"],[n,"imageUrl"])),this.dispose(E.track([s,"imageSize"],[n,"imageSize"])),this.dispose(E.track([s,"imageAnchor"],[n,"imageAnchor"])),this.dispose(E.track([s,"imageOffset"],[n,"imageOffset"])),this.dispose(E.track([s,"textShow"],[n,"textShow"])),this.dispose(E.track([s,"textProperty"],[n,"textProperty"])),this.dispose(E.track([s,"textDefaultText"],[n,"textDefaultText"])),this.dispose(E.track([s,"textColor"],[n,"textColor"])),this.dispose(E.track([s,"textBackgroundColor"],[n,"textBackgroundColor"])),this.dispose(E.track([s,"textFontFamily"],[n,"textFontFamily"])),this.dispose(E.track([s,"textFontSize"],[n,"textFontSize"])),this.dispose(E.track([s,"textFontStyle"],[n,"textFontStyle"])),this.dispose(E.track([s,"textFontWeight"],[n,"textFontWeight"])),this.dispose(E.track([s,"textAnchor"],[n,"textAnchor"])),this.dispose(E.track([s,"textOffset"],[n,"textOffset"])),this.dispose(E.track([s,"minFeatureVisibleDistance"],[n,"minFeatureVisibleDistance"])),this.dispose(E.track([s,"maxFeatureVisibleDistance"],[n,"maxFeatureVisibleDistance"])),this.dispose(E.track([s,"heightReference"],[n,"heightReference"])),this.dispose(n.flyToEvent.disposableOn(o=>{if(e.actived){if(n.flyInParam){const{position:i,rotation:a,flyDuration:l}=n.flyInParam;return Ue(e.viewer,i,void 0,a,l),!0}s.flyTo(o&&o*1e3)}}));{const o=(i,a,l)=>{if(!e.actived)return;const h=JSON.parse(JSON.stringify(this._getFeatureByIndexOrProperties(i,a)));if(!(!h||!(h!=null&&h.positions)))if(h.type=="Point"||h.type=="MultiPoint")er(e,n,this.id,this._calculateFeatureHeight(h.type=="MultiPoint"?h.positions.flat():h.positions,n.heightReference,e),1e3,l);else{const f=h.type=="Polygon"||h.type=="MultiPolygon"||h.type=="MultiLineString";let u=[];f?u=h.positions.flat(h.type=="MultiPolygon"?2:1).map(m=>this._calculateFeatureHeight(m,n.fillGround?"CLAMP_TO_GROUND":"NONE",e)):u=h.positions.map(m=>this._calculateFeatureHeight(m,n.strokeGround?"CLAMP_TO_GROUND":"NONE",e));const{minPos:y,maxPos:v,center:g}=Q.getMinMaxCorner(u);er(e,n,this.id,g,Q.getDistancesFromPositions([y,v],"NONE")[0],l)}};this.d(n.flyToFeatureEvent.don((i,a,l)=>o(i,a,l))),this.d(n.flyToFeatureIndexEvent.don((i,a)=>o(i,void 0,a)))}}_getFeatureByIndexOrProperties(n,e){var i,a,l,h,f,u,y,v;const{sceneObject:r}=this,s=r.features;if(!s)return;const o=Reflect.get(s,"features")||Reflect.get(s,"geometries");if(o){if(e){let g=o.find(m=>(m==null?void 0:m.properties[n])==e);return{type:g!=null&&g.coordinates?g.type:(i=g==null?void 0:g.geometry)==null?void 0:i.type,positions:(g==null?void 0:g.coordinates)||((a=g==null?void 0:g.geometry)==null?void 0:a.coordinates)}}else if(typeof n=="number")return{type:(l=o[n])!=null&&l.coordinates?o[n].type:(f=(h=o[n])==null?void 0:h.geometry)==null?void 0:f.type,positions:((u=o[n])==null?void 0:u.coordinates)||((v=(y=o[n])==null?void 0:y.geometry)==null?void 0:v.coordinates)}}}_calculateFeatureHeight(n,e,r){const{sceneObject:s}=this,o=[...n];do{if(e=="NONE"){o[2]=o[2]??0;break}if(e=="CLAMP_TO_GROUND"||!o[2]){o[2]=r.getTerrainHeight(o)??0;break}o[2]+=r.getTerrainHeight(o)??0}while(!1);return o}};N(_c,"type",_c.register("ESCesiumViewer",Q.ESGeoJson.type,_c));let ng=_c;const xc=class xc extends xn{constructor(e,r){super(e,r);N(this,"_czmGeoESRectangle");N(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new lt(r,e.id)),this._czmGeoESRectangle=this.disposeVar(new gi(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoESRectangle,i=this._geoPolyline;i.arcType="RHUMB",this.dispose(E.track([i,"color"],[e,"strokeColor"])),this.dispose(E.track([i,"width"],[e,"strokeWidth"])),this.dispose(E.track([i,"ground"],[e,"strokeGround"])),this.dispose(E.track([o,"ground"],[e,"fillGround"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"]));{const a=()=>{i.show=e.show&&e.stroked,o.show=e.show&&e.filled};a();const l=this.disposeVar(E.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged));this.dispose(l.disposableOn(a))}{const a=()=>{e.filled?o.material={type:"Color",color:e.fillColor}:o.material=void 0};a();const l=this.disposeVar(E.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(l.disposableOn(a))}{const a=()=>{const l=e.points;if(l&&l.length>=2){const{minPos:h,maxPos:f}=Q.getMinMaxCorner(l);o.rectangle=[h[0],h[1],f[0],f[1]],o.height=l[0][2],o.extrudedHeight=l[0][2];const u=l.map(m=>(l&&(m[2]=l[0][2]),m)),y=u[0],v=u[1],g=[y,[y[0],v[1],y[2]],v,[v[0],y[1],v[2]]];i.positions=[...g,y]}else o.rectangle=void 0,i.positions=void 0,o.height=0,o.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}}get czmGeoESRectangle(){return this._czmGeoESRectangle}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):s.points?(Ne(o,s,r,s.points,e),!0):!1:!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,czmGeoESRectangle:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):s.points?(Ne(o,s,r,s.points,e),!0):!1:!1}};N(xc,"type",xc.register("ESCesiumViewer",Q.ESGeoRectangle.type,xc));let rg=xc;class Iu extends E.Destroyable{constructor(e,r){super();N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_geoPolygon");this._geoPolygon=this.disposeVar(new so(e,r));const{geoPolygon:s}=this;this.dispose(E.bind([s,"allowPicking"],[this,"allowPicking"])),this.dispose(this.flyToEvent.disposableOn(i=>{s.flyTo(i)})),this.dispose(E.bind([s,"show"],[this,"show"])),this.dispose(E.bind([s,"fill"],[this,"filled"])),this.dispose(E.bind([s,"strokeGround"],[this,"strokeGround"])),this.dispose(E.bind([s,"ground"],[this,"ground"])),this.dispose(E.bind([s,"outline"],[this,"outline"])),this.dispose(E.bind([s,"outlineColor"],[this,"outlineColor"])),this.dispose(E.bind([s,"outlineWidth"],[this,"outlineWidth"])),this.dispose(E.bind([s,"color"],[this,"color"])),this.dispose(E.bind([s,"depth"],[this,"depth"]));const o=()=>{if(this.positions&&this.positions.length>=2){const i=$p([...this.positions,this.positions[0]]);s.positions=i}else s.positions=void 0};o(),this.dispose(this.positionsChanged.disposableOn(o))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygon(){return this._geoPolygon}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,strokeGround:!1,ground:!1,outline:!1,filled:!0,outlineColor:E.reactArray([1,1,1,1]),outlineWidth:1,color:E.reactArrayWithUndefined([1,1,1,.5]),positions:E.reactPositions(void 0),depth:0})})(Iu||(Iu={})),E.extendClassProps(Iu.prototype,Iu.createDefaultProps);const Cc=class Cc extends xn{constructor(e,r){super(e,r);N(this,"_geoSmoothPolygon");if(this._geoSmoothPolygon=this.disposeVar(new Iu(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._geoSmoothPolygon;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"positions"],[e,"points"])),this.dispose(E.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(E.track([o,"outline"],[e,"stroked"])),this.dispose(E.track([o,"outlineColor"],[e,"strokeColor"])),this.dispose(E.track([o,"outlineWidth"],[e,"strokeWidth"])),this.dispose(E.track([o,"strokeGround"],[e,"strokeGround"])),this.dispose(E.track([o,"filled"],[e,"filled"])),this.dispose(E.track([o,"color"],[e,"fillColor"])),this.dispose(E.track([o,"ground"],[e,"ground"]));{const i=()=>{o.ground=e.ground||e.fillGround};i();const a=this.dv(E.createNextAnimateFrameEvent(e.groundChanged,e.fillGroundChanged));this.d(a.don(i))}{const i=()=>{o.color=e.filled?e.fillColor:Si.defaults.fillStyle.color};i();const a=this.disposeVar(E.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(i))}this.dispose(E.track([o,"depth"],[e,"depth"]))}get geoSmoothPolygon(){return this._geoSmoothPolygon}flyTo(e,r){const{sceneObject:s,czmViewer:o,geoSmoothPolygon:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,geoSmoothPolygon:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}};N(Cc,"type",Cc.register("ESCesiumViewer",Si.type,Cc));let ig=Cc;const Sc=class Sc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModel");const s=r.viewer;if(!s){console.warn("viewer is undefined!");return}this._czmModel=this.dv(new tn(r,e.id));const o=this._czmModel;this.d(o.readyEvent.don(a=>{o.gltf.animations&&(o.activeAnimationsJson=o.gltf.animations.map((l,h)=>({index:h,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"})),o.activeAnimationsAnimateWhilePaused=!0),e.czmModelReadyEvent.emit(a)})),this.ad(new Hp(s,this._czmModel)),this.d(E.track([o,"show"],[e,"show"])),this.d(E.track([o,"color"],[e,"czmColor"])),this.d(E.track([o,"nativeMaximumScale"],[e,"czmMaximumScale"])),this.d(E.track([o,"nativeMinimumPixelSize"],[e,"czmMinimumPixelSize"])),this.d(E.bind([o,"position"],[e,"position"])),this.d(E.track([o,"nativeScale"],[e,"czmNativeScale"])),this.d(E.track([o,"scale"],[e,"scale"])),this.ad(E.track([o,"imageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(E.track([o,"environmentMapManager"],[e,"czmEnvironmentMapManager"]));{const a=l=>{e.czmEnvironmentMapManager=e.czmEnvironmentMapManager?{...e.czmEnvironmentMapManager,atmosphereScatteringIntensity:l}:{atmosphereScatteringIntensity:l}};a(e.czmAtmosphereScatteringIntensity),this.ad(e.czmAtmosphereScatteringIntensityChanged.don(l=>a(l)))}{const a=()=>{var l,h;(l=e.czmEnvironmentMapManager)!=null&&l.atmosphereScatteringIntensity&&(e.czmAtmosphereScatteringIntensity=(h=e.czmEnvironmentMapManager)==null?void 0:h.atmosphereScatteringIntensity)};a(),this.ad(e.czmEnvironmentMapManagerChanged.don(a))}{const a=()=>{const l=[...e.rotation??[0,0,0]];l[0]+=e.instances?0:90,o.rotation=l};a(),this.d(e.rotationChanged.don(a));{const l=()=>{if(a(),!e.instances){o.instances=e.instances;return}o.instances=e.instances.map(h=>{const f=JSON.parse(JSON.stringify(h));return!f.rotation&&(f.rotation=[0,0,0]),f.rotation[0]+=90,f})};l(),this.ad(e.instancesChanged.don(l))}}this.ad(e.setMaterialEvent.don(a=>{o.setMaterial(a)}));{const a=()=>{const l=[...o.rotation];l[0]-=e.instances?0:90,e.rotation=l};a(),this.d(o.rotationChanged.don(a))}{const a=this.dv(E.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),l=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};l(),this.d(a.don(l))}const i=()=>{o.url=Q.ESSceneObject.context.getStrFromEnv(Kh(typeof e.url=="string"?e.url:e.url.url))};i(),this.d(e.urlChanged.don(i)),this.d(e.setNodePositionEvent.don((a,l)=>{o.setNodeTranslation(a,l)})),this.d(e.setNodeRotationEvent.don((a,l)=>{o.setNodeRotation(a,l)})),this.d(e.setNodeScaleEvent.don((a,l)=>{o.setNodeScale(a,l)})),this.d(e.printDebugInfoEvent.don(()=>{o.printDebugInfo()}))}get model(){return this._czmModel}flyTo(e,r){const{sceneObject:s,czmViewer:o,model:i}=this;return o.actived?s.flyToParam||s.flyInParam?(super.flyTo(e,r),!0):(i&&Bn(o,s,r,e,i,!0),!!i):!1}};N(Sc,"type",Sc.register("ESCesiumViewer",Q.ESGltfModel.type,Sc));let og=Sc;function LS(t,n){const e=t[0]-n[0],r=t[1]-n[1],s=t[2]-n[2];return Math.sqrt(e*e+r*r+s*s)}class Fu extends E.Destroyable{constructor(e,r){super();N(this,"_pickedEvent",this.disposeVar(new E.Event));N(this,"_flyToEvent",this.disposeVar(new E.Event));N(this,"_distance",this.disposeVar(E.react(0)));N(this,"_surfaceDistance",this.disposeVar(E.react(0)));N(this,"_height",this.disposeVar(E.react(0)));N(this,"_middlePosition",this.disposeVar(E.reactArrayWithUndefined(void 0)));N(this,"_heightPosition",this.disposeVar(E.reactArrayWithUndefined(void 0)));const s=()=>{if(this.positions)if(this.positions.length>=2)if(this._middlePosition.value=[this.positions[0][0],this.positions[0][1],this.positions[1][2]],this._heightPosition.value=[this.positions[0][0],this.positions[0][1],.5*(this.positions[1][2]+this.positions[0][2])],this.arcType===void 0||this.arcType==="GEODESIC"){const i=this._surfaceDistance.value=Q.geoDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(i*i+a*a)}else if(this.arcType==="RHUMB"){const i=this._surfaceDistance.value=Q.geoRhumbDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(i*i+a*a)}else if(this.arcType==="NONE"){const i=Q.lbhToXyz(this.positions[0]),a=Q.lbhToXyz(this.positions[1]);this._distance.value=LS(i,a),this._surfaceDistance.value=LS(Q.lbhToXyz(this._middlePosition.value),a),this._height.value=this.positions[1][2]-this.positions[0][2]}else console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`);else this._heightPosition.value=void 0,this._distance.value=0,this._surfaceDistance.value=0,this._height.value=0};s();const o=this.disposeVar(E.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged));this.dispose(o.disposableOn(s));{const i=this.disposeVar(new lt(e,r));i.ground=!1,i.loop=!1,this.dispose(E.track([i,"allowPicking"],[this,"allowPicking"])),this.dispose(E.bind([i,"arcType"],[this,"arcType"])),this.dispose(E.bind([i,"color"],[this,"color"])),this.dispose(E.bind([i,"dashLength"],[this,"dashLength"])),this.dispose(E.bind([i,"dashPattern"],[this,"dashPattern"])),this.dispose(E.bind([i,"gapColor"],[this,"gapColor"])),this.dispose(E.bind([i,"hasArrow"],[this,"hasArrow"])),this.dispose(E.bind([i,"hasDash"],[this,"hasDash"])),this.dispose(E.bind([i,"show"],[this,"show"])),this.dispose(E.bind([i,"width"],[this,"width"])),this.dispose(E.bind([i,"depthTest"],[this,"depthTest"]));{i.loop=!0;const l=()=>{if(this.positions&&this.positions.length===2){const[h,f]=this.positions;i.positions=[h,f,[h[0],h[1],f[2]]]}else i.positions=void 0};l(),this.dispose(this.positionsChanged.disposableOn(l))}this.dispose(this.flyToEvent.disposableOn(l=>{e.actived&&i.flyTo(l)}));const a=this.disposeVar(new It(e,r));this.dispose(E.track([a,"shadowDom"],[this,"shadowDom"])),this.dispose(E.track([a,"cssAllInitial"],[this,"cssAllInitial"])),this.dispose(E.track([a,"show"],[this,"show"]));{const l=()=>{a.position=this.heightPosition};l(),this.dispose(this.heightPositionChanged.disposableOn(l))}{const l=()=>{a.innerHTML=$o(`高度: ${Uy(this.height)}`,0)};l(),this.dispose(this.heightChanged.disposableOn(l))}this.ad(a.pickedEvent.don(l=>{ai(l)===0&&this.pickedEvent.emit(l)}))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}get surfaceDistance(){return this._surfaceDistance.value}get surfaceDistanceChanged(){return this._surfaceDistance.changed}get height(){return this._height.value}get heightChanged(){return this._height.changed}get middlePosition(){return this._middlePosition.value}get middlePositionChanged(){return this._middlePosition.changed}get heightPosition(){return this._heightPosition.value}get heightPositionChanged(){return this._heightPosition.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:E.reactPositions(void 0),width:1,color:E.reactArray([1,1,1,1]),hasDash:!1,gapColor:E.reactArrayWithUndefined([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1})})(Fu||(Fu={})),E.extendClassProps(Fu.prototype,Fu.createDefaultProps);const Ec=class Ec extends xn{constructor(e,r){super(e,r);N(this,"_geoHeightMeasurement");if(this._geoHeightMeasurement=this.disposeVar(new Fu(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const{czmHeightMeasurement:o}=this;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"])),this.dispose(E.bind([o,"positions"],[e,"points"]));{const i=()=>{if(e.stroked)o.width=e.strokeWidth;else{o.width=0;return}o.width=e.strokeWidth,o.color=e.strokeColor;const h=e.strokeMaterial??"normal";h==="hasDash"?(o.hasDash=!0,o.hasArrow=!1):h==="hasArrow"?(o.hasDash=!1,o.hasArrow=!0):(o.hasDash=!1,o.hasArrow=!1);const f=e.strokeStyle;if(f.material==="hasDash"&&f.materialParams)try{const u=f.materialParams;Reflect.has(u,"gapColor")&&(o.gapColor=u.gapColor??[0,0,0,0]),Reflect.has(u,"dashLength")&&(o.dashLength=u.dashLength),Reflect.has(u,"dashPattern")&&(o.dashPattern=u.dashPattern)}catch(u){console.error(u)}else o.gapColor=[0,0,0,0],o.dashLength=0,o.dashPattern=0};i();const a=this.disposeVar(E.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(i))}this.dispose(o.pickedEvent.disposableOn(i=>{ai(i)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(i)}))}get czmHeightMeasurement(){return this._geoHeightMeasurement}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmHeightMeasurement:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,czmHeightMeasurement:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):i.positions?(Ne(o,s,r,i.positions,e),!0):!1:!1}};N(Ec,"type",Ec.register("ESCesiumViewer",Q.ESHeightMeasurement.type,Ec));let ag=Ec;const Pc=class Pc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModelPrimitive");const s=r.viewer;if(!s){console.warn("viewer is undefined!");return}this._czmModelPrimitive=this.disposeVar(new tn(r,this.sceneObject.id));const o=this._czmModelPrimitive;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(jt([o,"rotation"],[e,"rotation"])),this.dispose(E.bind([o,"scale"],[e,"scale"]));{const m=this.dv(E.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),p=()=>{e.allowPicking&&!e.editing?o.allowPicking=!0:o.allowPicking=!1};p(),this.d(m.don(p))}const i=Q.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/worker.glb"),a=Q.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/police.glb"),l=Q.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/pedestrian.glb"),h=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/Stranger.glb"),f=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsMan.glb"),u=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsWoman.glb"),y=()=>{switch(e.mode){case"worker":o.url=i;break;case"police":o.url=a;break;case"pedestrian":o.url=l;break;case"stranger":o.url=h;break;case"suitMan":o.url=f;break;case"suitWoman":o.url=u;break;default:o.url=i;break}};this.dispose(e.modeChanged.disposableOn(()=>{y()})),y();const v=()=>{const m=e.animation??Q.ESHuman.defaults.animation;if(!e.show){o.activeAnimationsJson=void 0;return}m==="walking"?o.activeAnimationsJson=Q.ESHuman.defaults.czmAnimationsWalk:m==="standing"?o.activeAnimationsJson=Q.ESHuman.defaults.czmAnimationsStand:m==="running"&&(o.activeAnimationsJson=Q.ESHuman.defaults.czmAnimationsRun)};v();const g=this.ad(E.createNextAnimateFrameEvent(e.showChanged,e.animationChanged));this.dispose(g.disposableOn(()=>v())),this.ad(new Hp(s,o))}get czmModelPrimitive(){return this._czmModelPrimitive}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmModelPrimitive:i}=this;return!o.actived||!o.viewer?!1:s.flyToParam||s.flyInParam?(super.flyTo(e,r),!0):(i&&Bn(o,s,r,e,i,!0),!!i)}};N(Pc,"type",Pc.register("ESCesiumViewer",Q.ESHuman.type,Pc));let sg=Pc;class zS extends E.Destroyable{constructor(e,r){super();N(this,"_czmGeoCanvasImagePoi");N(this,"flyTo",(e,r)=>{if(this.czmGeoCanvasImagePoi.position){Ue(this.czmViewer.viewer,this.czmGeoCanvasImagePoi.position,1e3,Jn,e);return}this.czmGeoCanvasImagePoi.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=r,this._czmGeoCanvasImagePoi=this.disposeVar(new Rr(r));const s=this._czmGeoCanvasImagePoi;s.pickOnClick=!0,this.d(s.pickedEvent.don(o=>{(e.allowPicking??!1)&&e.pickedEvent.emit(o)}));{const o=f=>{let u=f;return f.includes("inner://")&&(u="${earthsdk3-assets-script-dir}/assets/img/points/"+f.split("inner://")[1]),Q.ESSceneObject.context.getStrFromEnv(Kh(u))},i=()=>{const f=o(typeof e.url=="string"?e.url:e.url.url);if(s.imageUri=f,e.sizeByContent){const y=new Image;y.src=f,y.onload=()=>{s.size=[y.width,y.height]}}else{const y=e.size;s.size=[...y]}},a=this.disposeVar(E.createNextAnimateFrameEvent(e.urlChanged,e.sizeByContentChanged,e.sizeChanged));this.dispose(a.disposableOn(()=>i())),i(),this.d(E.track([s,"zOrder"],[e,"zOrder"])),this.dispose(E.track([s,"show"],[e,"show"])),this.dispose(E.bind([s,"position"],[e,"position"]));{const f=()=>{s.scale=[e.scale[1],e.scale[2]]};f(),this.dispose(e.scaleChanged.don(f))}const l=()=>{const f=e.anchor,u=e.offset;f?s.originRatioAndOffset=[...f,-u[0],-u[1]]:s.originRatioAndOffset=[0,0,0,0]},h=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(h.disposableOn(()=>l())),l(),this.dispose(s.clickEvent.disposableOn(f=>{const{offsetX:u,offsetY:y}=f,g={type:f.button===0?"leftClick":f.button===2?"rightClick":void 0,add:{mousePos:[u,y]}};e.widgetEvent.emit(g)})),this.dispose(s.hoveredChanged.disposableOn(f=>{if(f===void 0)return;const u={type:f?"mouseEnter":"mouseLeave"};e.widgetEvent.emit(u)}))}}get czmGeoCanvasImagePoi(){return this._czmGeoCanvasImagePoi}}class NS extends E.Destroyable{constructor(e,r,s){super();N(this,"_czmGeoImageModel");N(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});N(this,"_isPointEvent",!1);N(this,"flyTo",(e,r)=>{if(this.czmGeoImageModel.position)return er(this.czmViewer,this.sceneObject,r,this.sceneObject.position,Math.max(...this.czmGeoImageModel.size),e,!0);this.czmGeoImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=r,this._czmGeoImageModel=this.disposeVar(new yi(r,e.id));const o=this._czmGeoImageModel;this.ad(r.clickEvent.don(y=>{const v=y==null?void 0:y.pointerEvent;v&&(this._isPointEvent=!0,this._eventInfo={type:v.button==0?"leftClick":v.button==2?"rightClick":"leftClick",add:{mousePos:[v.offsetX,v.offsetY]}})})),this.d(e.pickedEvent.don(y=>{var v,g,m;y.screenPosition&&this._isPointEvent&&y.attachedInfo!="innerHoverEvent"&&((v=this._eventInfo.add)!=null&&v.mousePos)&&Math.abs(y.screenPosition[0]-((g=this._eventInfo.add)==null?void 0:g.mousePos[0]))<1&&Math.abs(y.screenPosition[1]-((m=this._eventInfo.add)==null?void 0:m.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),Q.registerCreatedEventUpdate(this,e,()=>{const y=r.getEngineObject(e);this.ad(y.lastHoverResultChanged.don((v,g)=>{(v==null?void 0:v.sceneObject)==(g==null?void 0:g.sceneObject)||(v==null?void 0:v.sceneObject)!=e&&(g==null?void 0:g.sceneObject)!=e||(v!=null&&v.sceneObject&&(this._eventInfo={type:"mouseEnter",add:{mousePos:v==null?void 0:v.screenPosition}},v.sceneObject.widgetEvent.emit(this._eventInfo)),g!=null&&g.sceneObject&&(this._eventInfo={type:"mouseLeave",add:{mousePos:v==null?void 0:v.screenPosition}},g.sceneObject.widgetEvent.emit(this._eventInfo)))}))});const i=e.sizeByContent,l=(y=>{let v=y;return y.includes("inner://")&&(v="${earthsdk3-assets-script-dir}/assets/img/points/"+y.split("inner://")[1]),Q.ESSceneObject.context.getStrFromEnv(Kh(v))})(typeof s.sceneObject.url=="string"?s.sceneObject.url:s.sceneObject.url.url),h=new Image;h.src=l,h.onload=()=>{if(i)o.size=[h.width/100,h.height/100];else{const y=e.size;o.size=[y[0]/100,y[1]/100]}},o.uri=l,this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"])),o.pixelSize=void 0,o.useAxis="XZ";{const y=()=>{o.scale=[e.scale[1],e.scale[2]]};y(),this.d(e.scaleChanged.don(y))}{const y=()=>{e.rotationType===0&&(o.rotationMode="WithProp",this.d(jt([o,"rotation"],[e,"rotation"]))),e.rotationType===1&&(o.rotationMode="WithCamera"),e.rotationType===2&&(o.rotationMode="WithCameraOnlyZ")};y(),this.dispose(e.rotationTypeChanged.disposableOn(y))}const f=()=>{const y=e.anchor,v=e.offset;y?o.originRatioAndOffset=[...y,-v[0]/100,-v[1]/100]:o.originRatioAndOffset=[0,0,0,0]},u=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(u.disposableOn(()=>f())),f()}get czmGeoImageModel(){return this._czmGeoImageModel}}const Tc=class Tc extends Pu{constructor(e,r){super(e,r);N(this,"_resetting");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(E.createNextAnimateFrameEvent(this.sceneObject.urlChanged,this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged));this._resetting=this.disposeVar(new E.ObjResettingWithEvent(o,()=>this.sceneObject.screenRender?new zS(this.sceneObject,this.czmViewer):new NS(this.sceneObject,this.czmViewer,this)))}get resetting(){return this._resetting}flyTo(e,r){const{sceneObject:s,czmViewer:o,resetting:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i&&i.obj&&i.obj.flyTo(e,r),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Tc,"type",Tc.register("ESCesiumViewer",Q.ESImageLabel.type,Tc));let lg=Tc;function IQ(t){switch(t){case"wms":return"WebMapServiceImageryProvider";case"tms":return"TileMapServiceImageryProvider";case"wmts":return"WebMapTileServiceImageryProvider";case"xyz":return"UrlTemplateImageryProvider";case"ion":return"IonImageryProvider"}}const Bc=class Bc extends dr{constructor(e,r){super(e,r);N(this,"_czmImagery");if(this._czmImagery=this.dv(new vo(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmImagery;{const i=this.ad(E.reactJson(""));{const h=()=>{if(typeof e.url=="string")i.value=Q.ESSceneObject.context.getStrFromEnv(e.url);else{const f=e.url;f.url=Q.ESSceneObject.context.getStrFromEnv(f.url),i.value=f}};h(),this.ad(e.urlChanged.don(h))}const a=()=>{var g;if(!i.value)return;const h=(((g=e.options)==null?void 0:g.type)??"auto").toLowerCase(),f=e.options??{};let u={type:"UrlTemplateImageryProvider",url:i.value,rectangle:e.rectangle,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,...f},y=i.value,v=typeof y=="string"?y:y.url;if(h==="auto"){const m=v.toLowerCase();if(m.startsWith("ion://")){const d=+m.substring(6);u={...f,assetId:d,type:"IonImageryProvider"}}else if(m.includes("{x}")||m.includes("{y}")||m.includes("{z}"))u.type="UrlTemplateImageryProvider";else if(m.includes("wmts"))u.type="WebMapTileServiceImageryProvider";else if(m.includes("wms"))u.type="WebMapServiceImageryProvider";else{if(v.includes("/tilemapresource.xml")){const p=v.split("/tilemapresource.xml").join("");typeof y=="string"?y=p:y.url=p,u.url=y}u.type="TileMapServiceImageryProvider"}}else{if(h==="tms"&&v.includes("/tilemapresource.xml")){const m=v.split("/tilemapresource.xml").join("");typeof y=="string"?y=m:y.url=m,u.url=y}else if(h==="ion"&&v.startsWith("ion://")){const p=+v.substring(6);u={...f,assetId:p,type:"IonImageryProvider"}}u.type=IQ(h)}console.log("imageryProvider",u),o.imageryProvider=u};a();const l=this.dv(E.createNextAnimateFrameEvent(i.changed,e.maximumLevelChanged,e.minimumLevelChanged,e.optionsChanged,e.rectangleChanged));this.d(l.don(a))}this.d(E.track([o,"show"],[e,"show"])),this.d(E.bind([o,"alpha"],[e,"opacity"])),this.d(E.bind([o,"alpha"],[e,"czmAlpha"])),this.d(E.track([o,"splitDirection"],[e,"czmSplitDirection"])),this.d(E.track([o,"brightness"],[e,"czmBrightness"])),this.d(E.track([o,"contrast"],[e,"czmContrast"])),this.d(E.track([o,"hue"],[e,"czmHue"])),this.d(E.track([o,"saturation"],[e,"czmSaturation"])),this.d(E.track([o,"gamma"],[e,"czmGamma"])),this.d(E.track([o,"rectangle"],[e,"rectangle"])),this.d(E.track([o,"zIndex"],[e,"zIndex"]))}get czmImagery(){return this._czmImagery}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmImagery:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i.flyTo(e&&e),s.flyOverEvent.emit(r,"over",o),!0):!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,czmImagery:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):(i.flyTo(e&&e),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Bc,"type",Bc.register("ESCesiumViewer",Q.ESImageryLayer.type,Bc));let ug=Bc;class FQ extends E.Destroyable{constructor(e,r,s,o){super();N(this,"_show");N(this,"_czmESCustomPrimitive");N(this,"_czmTexture");this._sceneObject=e,this._show=this.disposeVar(E.react(this._sceneObject.show)),this._czmESCustomPrimitive=this.dv(new mt(r,this._sceneObject.id)),this._czmTexture=this.dv(new wt(r));const i=e,a=this._czmESCustomPrimitive,l=this._czmTexture;this.dispose(E.track([a,"show"],[this,"show"])),this.dispose(E.track([a,"show"],[i,"show"])),this.dispose(E.track([a,"allowPicking"],[i,"allowPicking"])),this.dispose(E.track([a,"rotation"],[i,"rotation"])),this.dispose(E.track([a,"position"],[i,"position"])),this.dispose(E.track([a,"scale"],[i,"scale"])),this.ad(i.allowPickingChanged.don(()=>{a.allowPicking=i.allowPicking,a.pass=i.allowPicking?"TRANSLUCENT":"OVERLAY"}));{const h=()=>{const u=i.size/2,y=o[0].map(P=>P*u),v=o[1].map(P=>P*u),g=o[2].map(P=>P*u),m=o[3].map(P=>P*u),p=[...y,...v,...g,...m];let d=[0,3,2,0,2,1];(s=="north"||s=="west"||s=="bottom")&&(d=d.reverse());const c=[0,0],A=[1,0],w=[1,1],b=[0,1];let _=[];s=="east"||s=="south"?_=[...A,...c,...b,...w]:s=="west"?_=[...A,...w,...b,...c]:s=="top"?_=[...b,...w,...A,...c]:_=[...c,...A,...w,...b],a.indexTypedArray=new Uint16Array(d),a.attributes={position:{typedArray:new Float32Array(p),componentsPerAttribute:3},st:{typedArray:new Float32Array(_),componentsPerAttribute:2}},l.uri=Q.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/img/skybox/${i.mode}/${s}.jpg`);const x=r.getCameraInfo();if(x!=null){const k=Q.getDistancesFromPositions([i.position,x.position],"NONE")[0]/(i.size/2*i.autoOpacityFactor);this.changeOpacity(i.autoFollow?1:k)}const C=a.computeLocalAxisedBoundingBoxFromAttribute("position");if(!C)return;const{min:T,max:I}=C;a.setLocalAxisedBoundingBox(T,I)};h();const f=this.disposeVar(E.createNextAnimateFrameEvent(i.sizeChanged,i.modeChanged));this.dispose(f.disposableOn(h))}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}get czmESCustomPrimitive(){return this._czmESCustomPrimitive}get czmTexture(){return this._czmTexture}changeOpacity(e){this._czmESCustomPrimitive.uniformMap={u_image:{type:"texture",id:this._czmTexture.id},u_color:[1,1,1,1-e>=0?1-e:0]}}}class kQ extends E.Destroyable{constructor(n,e,r){if(super(),!e.viewer)return;let s=!0,o;this.dispose(e.viewer.scene.preUpdate.addEventListener(()=>{i()}));function i(){var l;if(!((l=e.viewer)!=null&&l.camera))return;const a=e.getCameraInfo();if(a!=null&&(o==null||o.position[0]!=a.position[0]||o.position[1]!=a.position[1]||o.position[2]!=a.position[2]||o.rotation[0]!=a.rotation[0]||o.rotation[1]!=a.rotation[1]||o.rotation[2]!=a.rotation[2])){o=a;const f=Q.getDistancesFromPositions([n.position,o.position],"NONE")[0]/(n.size/2*n.autoOpacityFactor);n.autoFollow?(n.position=o.position,s&&(s=!1,r.forEach(u=>{u.changeOpacity(1)}))):r.forEach(u=>{u.changeOpacity(f)})}}i()}}const zt=class zt extends Ze{constructor(e,r){super(e,r);N(this,"_czmSkyBoxComponents",[]);if(!r.viewer){console.warn("viewer is undefined!");return}!zt._defaultLocalBox&&zt._firstLoad&&(zt._firstLoad=!1,zt._defaultLocalBox=r.xbsjLocalBoxSources),zt._eSLocalSkyBoxArr.push(e),this.d(()=>{zt._eSLocalSkyBoxArr.includes(e)&&zt._eSLocalSkyBoxArr.splice(zt._eSLocalSkyBoxArr.indexOf(e),1),this.ChangeAutoFollow()});const o={bottom:[[-1,-1,-1],[1,-1,-1],[1,1,-1],[-1,1,-1]],top:[[-1,-1,1],[1,-1,1],[1,1,1],[-1,1,1]],south:[[-1,-1,-1],[1,-1,-1],[1,-1,1],[-1,-1,1]],north:[[-1,1,-1],[1,1,-1],[1,1,1],[-1,1,1]],east:[[1,-1,-1],[1,1,-1],[1,1,1],[1,-1,1]],west:[[-1,1,-1],[-1,1,1],[-1,-1,1],[-1,-1,-1]]};for(const i in o)if(Object.prototype.hasOwnProperty.call(o,i)){const a=o[i];this._czmSkyBoxComponents.push(this.dv(new FQ(e,r,i,a)))}{const i=this.disposeVar(E.createNextAnimateFrameEvent(e.autoFollowChanged,e.autoOpacityFactorChanged));this.disposeVar(new E.ObjResettingWithEvent(i,()=>(this.ChangeAutoFollow(),new kQ(e,r,this._czmSkyBoxComponents))))}{const i=()=>{this.ChangeAutoFollow()},a=this.disposeVar(E.createNextAnimateFrameEvent(e.sizeChanged,e.modeChanged,e.showChanged));this.dispose(a.disposableOn(i))}}ChangeAutoFollow(){const{czmViewer:e}=this;for(let r=zt._eSLocalSkyBoxArr.length-1;r>=0;r--){const s=zt._eSLocalSkyBoxArr[r];if(s.autoFollow&&s.show){e.xbsjLocalBoxSources={positiveX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/east.jpg`,negativeX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/west.jpg`,positiveY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/bottom.jpg`,negativeY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/top.jpg`,positiveZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/north.jpg`,negativeZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/south.jpg`};break}r==0&&(e.xbsjLocalBoxSources=zt._defaultLocalBox)}zt._eSLocalSkyBoxArr.length==0&&(e.xbsjLocalBoxSources=zt._defaultLocalBox)}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;if(!o.actived)return!1;if(s.flyToParam||s.flyInParam)return super.flyTo(e,r);{const i=s.size??Q.ESLocalSkyBox.defaults.size;return s.position?(er(o,s,r,s.position,i,e,!0),!0):!1}}};N(zt,"type",zt.register("ESCesiumViewer",Q.ESLocalSkyBox.type,zt)),N(zt,"_defaultLocalBox"),N(zt,"_firstLoad",!0),N(zt,"_eSLocalSkyBoxArr",[]);let cg=zt;const hr=class hr extends Ze{constructor(e,r){super(e,r);N(this,"_geoCustomDivPoi");N(this,"_textFunc",this.disposeVar(E.react(void 0)));if(this._geoCustomDivPoi=this.disposeVar(new It(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this.geoCustomDivPoi;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(E.track([o,"allowPicking"],[e,"allowPicking"]));{this.dispose(o.pickedEvent.disposableOn(i=>{(e.allowPicking??Q.ESLocationMeasurement.defaults.allowPicking)&&e.pickedEvent.emit(i)})),this.dispose(o.innerHtmlMounted.disposableOn(i=>{const a=i.firstElementChild;a&&(a.style.pointerEvents="auto",a.style.cursor="default",a.onclick=l=>o.pickFromDiv(a,{type:"viewerPicking",pointerEvent:l}))}));{const i=()=>{if(!e.position)return;const l=(this.textFunc??hr.defaultTextFunc_度格式)(e.position);o.innerHTML=$o(l)};i();const a=this.disposeVar(E.createNextAnimateFrameEvent(e.positionChanged,this.textFuncChanged));this.dispose(a.disposableOn(i))}{const i=()=>{r.lonLatFormat??(r.lonLatFormat="DECIMAL_DEGREE"),this.textFunc=r.lonLatFormat=="DECIMAL_DEGREE"?hr.defaultTextFunc_度格式:r.lonLatFormat=="DEGREES_DECIMAL_MINUTES"?hr.defaultTextFunc_度分格式:hr.defaultTextFunc_度分秒格式};i(),this.d(r.lonLatFormatChanged.don(()=>{i()}))}}}get geoCustomDivPoi(){return this._geoCustomDivPoi}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}flyTo(e,r){const{sceneObject:s,czmViewer:o,geoCustomDivPoi:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i.flyTo(e),s.flyOverEvent.emit(r,"over",o),!0):!1}flyIn(e,r){const{sceneObject:s,czmViewer:o,geoCustomDivPoi:i}=this;return o.actived?s.flyInParam?super.flyIn(e,r):(i.flyTo(e),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(hr,"type",hr.register("ESCesiumViewer",Q.ESLocationMeasurement.type,hr)),N(hr,"defaultTextFunc_度格式",e=>{if(!e)return"";const[r=0,s=0,o=0]=e;return`经度: ${r.toFixed(5)}°
|
|
4268
4268
|
纬度: ${s.toFixed(5)}°
|
|
4269
4269
|
高度: ${o.toFixed(2)}m`}),N(hr,"defaultTextFunc_度分格式",e=>{if(!e)return"";const[r,s,o]=qp(e,!0);return`经度: ${r}
|
|
4270
4270
|
纬度: ${s}
|
|
@@ -4360,7 +4360,7 @@ ${RS}
|
|
|
4360
4360
|
</div>
|
|
4361
4361
|
</div>
|
|
4362
4362
|
</div>
|
|
4363
|
-
`,HQ=async(t,n)=>{const e=(n==null?void 0:n.fontSize)??Q.ESPoi2D.defaults.style.fontSize,r=(n==null?void 0:n.image)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/anchor.png",s=(n==null?void 0:n.imageSize)??Q.ESPoi2D.defaults.style.imageSize,o=(n==null?void 0:n.text)??Q.ESPoi2D.defaults.style.text,i=(n==null?void 0:n.textBackground)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/textBox_01.png",a=(n==null?void 0:n.textBackgroundColor)??Q.ESPoi2D.defaults.style.textBackgroundColor,l=(n==null?void 0:n.textBackgroundSize)??Q.ESPoi2D.defaults.style.textBackgroundSize,h=(n==null?void 0:n.textColor)??Q.ESPoi2D.defaults.style.textColor,f=(n==null?void 0:n.textOffset)??Q.ESPoi2D.defaults.style.textOffset;let u=QQ;u=u.replace(/{{CustomContainer}}/g,`ESPoi2DCustomContainer${t}`),u=u.replace(/{{CustomImage}}/g,`ESPoi2DCustomImage${t}`),u=u.replace(/{{CustomTextContainer}}/g,`ESPoi2DCustomTextContainer${t}`),u=u.replace(/{{FONT_SIZE}}/g,e+"px"),u=u.replace(/{{IMAGE_SRC}}/g,Q.ESSceneObject.context.getStrFromEnv(r)),u=u.replace(/{{IMAGE_WIDTH}}/g,s[0]+"px"),u=u.replace(/{{IMAGE_HEIGHT}}/g,s[1]+"px"),u=u.replace(/{{TEXT}}/g,o),u=u.replace(/{{TEXT_BACKGROUND}}/g,Q.ESSceneObject.context.getStrFromEnv(i)),u=u.replace(/{{TEXT_BACKGROUND_COLOR}}/g,`rgb(${a.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_BACKGROUND_WIDTH}}/g,l[0]+"px"),u=u.replace(/{{TEXT_BACKGROUND_HEIGHT}}/g,l[1]+"px"),u=u.replace(/{{TEXT_COLOR}}/g,`rgb(${h.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_OFFSET_X}}/g,f[0]+"px"),u=u.replace(/{{TEXT_OFFSET_Y}}/g,f[1]+"px");const y=document.createElement("div");return y.innerHTML=u,[y.children[0].children[0],y.children[0].children[1]]},Ot=class Ot extends Pu{constructor(e,r){super(e,r);N(this,"_widgetComponent");N(this,"_customWidgetComponent");N(this,"_textBox",[]);N(this,"_iconBox");N(this,"_icon");N(this,"_anchor");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.ad(new E.Event),i=this.ad(new E.Event);{let l;const h=this.ad(E.createNextAnimateFrameEvent(e.screenRenderChanged,i));this.customWidgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(!(!l||e.mode!="Custom"))return e.screenRender?new $i(e,r,l[1],!0,!1):new cd(e,r,l[1],!0,!1)},!1)),this.widgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(l)return e.screenRender?new $i(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1):new cd(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1)},!1)),this.widgetComponent.objChanged.don(()=>{e.minVisibleDistanceChanged.emit()});const f=this.dv(E.createNextAnimateFrameEvent(e.nameChanged,e.styleChanged,o));this.ad(f.don(async()=>{var u;if(e.mode!="Custom"){if(this._textBox.length==0&&e.mode!="Linear01")return;const y=e.style[Object.keys(e.style).filter(m=>m.toUpperCase()=="TEXT")[0]]??e.name,{div:v,styleObj:g}=OQ(e.mode,y,this._textBox,this._iconBox,this._icon,this._anchor);l=v,l.innerHTML=NQ(l.innerHTML,g)}else{const y=await HQ(e.id,{...e.style,text:((u=e.style)==null?void 0:u.text)??e.name});l=[y[0],y[1]]}i.emit()}))}{const l=this.ad(E.createProcessingFromAsyncFunc(async y=>{const v=e.mode;Ot.modeCache.value={...Ot.modeCache.value,[v]:void 0},await y.promise(MQ(v)).then(g=>{Ot.modeCache.value={...Ot.modeCache.value,[v]:g},this._icon=g.icon,this._anchor=g.anchor,this._iconBox=g.iconBox,this._textBox=g.textBox,o.emit()})}));let h=null,f=null;const u=()=>{var y,v,g,m;if(e.mode=="Custom"){o.emit();return}if(Reflect.has(Ot.modeCache.value,e.mode))if(Ot.modeCache.value[e.mode])this._icon=(y=Ot.modeCache.value[e.mode])==null?void 0:y.icon,this._anchor=(v=Ot.modeCache.value[e.mode])==null?void 0:v.anchor,this._iconBox=(g=Ot.modeCache.value[e.mode])==null?void 0:g.iconBox,this._textBox=((m=Ot.modeCache.value[e.mode])==null?void 0:m.textBox)??[],o.emit();else{if(h)return;h=Ot.modeCache.changed.don(()=>{var p,d,c,A;Ot.modeCache.value[e.mode]&&(this._icon=(p=Ot.modeCache.value[e.mode])==null?void 0:p.icon,this._anchor=(d=Ot.modeCache.value[e.mode])==null?void 0:d.anchor,this._iconBox=(c=Ot.modeCache.value[e.mode])==null?void 0:c.iconBox,this._textBox=((A=Ot.modeCache.value[e.mode])==null?void 0:A.textBox)??[],o.emit(),h&&h(),h=null)})}else if(!l.isRunning)l.restart();else{if(f)return;f=l.completeEvent.donce(()=>{f&&f(),f=null,l.restart()})}};u(),this.d(e.modeChanged.don(u))}const a=this.ad(new E.Event);{const l=this.dv(E.createNextAnimateFrameEvent(e.anchorChanged,e.autoAnchorChanged,e.offsetChanged)),h=()=>{const f=this.widgetComponent.obj,u=e.autoAnchor?f.defaultAnchor:e.anchor,y=e.offset;if(f instanceof $i)u?(f.czmGeoCustomDivPoi.originRatioAndOffset=[...u,-y[0],-y[1]],f.widgetInfo.style.transformOrigin=`${u[0]*100}% ${u[1]*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let v=100,g=100;e.sizeByContent&&f.domSize?(v=f.domSize.width/100,g=f.domSize.height/100):(v=e.size[0]/100,g=e.size[1]/100),u?f.czmCustomPrimitive.localPosition=[u[0]*v-y[0]/100,0,u[1]*g-y[1]/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}e.mode=="Custom"&&a.emit()};this.d(l.don(h)),this.ad(new E.ObjResettingWithEvent(this.widgetComponent.objChanged,()=>{if(this.widgetComponent.obj==null)return;const f=new E.Destroyable;return h(),f.d(this.widgetComponent.obj.defaultAnchorChanged.don(h)),f}))}{const l=this.dv(E.createNextAnimateFrameEvent(e.styleChanged,e.showChanged,a)),h=()=>{var d,c,A;if(e.mode!="Custom")return;const f=this.customWidgetComponent.obj;if(!f)return;const u=((d=e.style)==null?void 0:d.imageSize)??Q.ESPoi2D.defaults.style.imageSize,y=e.autoAnchor?this.widgetComponent.obj.defaultAnchor:e.anchor,v=((c=e.style)==null?void 0:c.textBoxAlign)??Q.ESPoi2D.defaults.style.textBoxAlign,g=v=="start"?0:v=="center"?.5:1,m=((A=e.style)==null?void 0:A.textBoxOffset)??Q.ESPoi2D.defaults.style.textBoxOffset,p=e.offset;if(f instanceof $i)y?(f.czmGeoCustomDivPoi.originRatioAndOffset=[g,.5,-p[0]-m[0]+u[0]*(y[0]-.5),-p[1]-m[1]+u[1]*(y[1]-.5)],f.widgetInfo.style.transformOrigin=`${g*100}% ${.5*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let w=100,b=100;e.sizeByContent&&f.domSize?(w=f.domSize.width/100,b=f.domSize.height/100):(w=e.size[0]/100,b=e.size[1]/100),y?f.czmCustomPrimitive.localPosition=[g*w+(-p[0]-m[0]+u[0]*(y[0]-.5))/100,0,.5*b+(-p[1]-m[1]+u[1]*(y[1]-.5))/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}};this.ad(l.don(h)),this.ad(new E.ObjResettingWithEvent(this.customWidgetComponent.objChanged,()=>{if(this.customWidgetComponent.obj==null)return;const f=new E.Destroyable,u=this.customWidgetComponent.obj,y=()=>{var v,g,m,p;u&&(u instanceof $i?(((v=e.style)==null?void 0:v.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(u.czmGeoCustomDivPoi.show=!1,this.d(this.widgetComponent.obj.czmGeoCustomDivPoi.pickedEvent.don(d=>{var A,w;const c=(A=Zo(d,"pickResult"))==null?void 0:A.pointerEvent;c&&(u.czmGeoCustomDivPoi.show=e.show&&(((w=e.style)==null?void 0:w.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&c.type=="mouseenter")}))):u.czmGeoCustomDivPoi.show=e.show&&(((g=e.style)==null?void 0:g.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow):(((m=e.style)==null?void 0:m.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(u.czmCustomPrimitive.show=!1,this.d(e.widgetEvent.don(d=>{var c;d&&(u.czmCustomPrimitive.show=e.show&&(((c=e.style)==null?void 0:c.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&d.type=="mouseEnter")}))):u.czmCustomPrimitive.show=e.show&&(((p=e.style)==null?void 0:p.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))};return y(),f.ad(e.styleChanged.don(y)),f}))}}get widgetComponent(){return this._widgetComponent}set widgetComponent(e){this._widgetComponent=e}get customWidgetComponent(){return this._customWidgetComponent}set customWidgetComponent(e){this._customWidgetComponent=e}flyTo(e,r){const{sceneObject:s,czmViewer:o,widgetComponent:i}=this;if(!o.actived)return!1;if(s.flyToParam||s.flyInParam)return super.flyTo(e,r);if(i.obj)i.obj.flyTo(e,r);else{const a=setTimeout(()=>{clearTimeout(a),this.flyTo(e,r)},200)}return s.flyOverEvent.emit(r,"over",o),!0}visibleDistance(e,r){var s,o,i,a,l;if((s=r.viewer)!=null&&s.camera&&e.show){const h=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let f=!1;e.minVisibleDistance<e.maxVisibleDistance?f=e.minVisibleDistance<h&&h<e.maxVisibleDistance:e.maxVisibleDistance==0&&(f=h>e.minVisibleDistance);const u=this.widgetComponent.obj,y=this.customWidgetComponent.obj;if(!u)return;u instanceof $i?(u.czmGeoCustomDivPoi.show=e.show&&f,(((o=e.style)==null?void 0:o.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmGeoCustomDivPoi.show=e.show&&f&&(((i=e.style)==null?void 0:i.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))):(u.czmCustomPrimitive.show=e.show&&f,(((a=e.style)==null?void 0:a.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmCustomPrimitive.show=e.show&&f&&(((l=e.style)==null?void 0:l.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)))}}};N(Ot,"type",Ot.register("ESCesiumViewer",Q.ESPoi2D.type,Ot)),N(Ot,"modeCache",E.react({}));let dg=Ot;const Fc=class Fc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModelPoi3D");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.dv(E.createNextAnimateFrameEvent(e.modeChanged));this.dv(new E.ObjResettingWithEvent(o,()=>{let{mode:i}=e;const a=Q.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/glb/poi3d/${i}/SM_POI_${i.charAt(0).toUpperCase()+i.slice(1)}.gltf`);return this._czmModelPoi3D=new jQ(e,r,a)}))}visibleDistance(e,r){var s;if((s=r.viewer)!=null&&s.camera&&e.show){const o=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let i=!1;if(e.minVisibleDistance<e.maxVisibleDistance?i=e.minVisibleDistance<o&&o<e.maxVisibleDistance:e.maxVisibleDistance==0&&(i=o>e.minVisibleDistance),!this._czmModelPoi3D)return;this._czmModelPoi3D.czmModel&&(this._czmModelPoi3D.czmModel.show=e.show&&i)}}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):this._czmModelPoi3D?(this._czmModelPoi3D.flyTo(e,r),!0):!1:!1}};N(Fc,"type",Fc.register("ESCesiumViewer",Q.ESPoi3D.type,Fc));let pg=Fc;class jQ extends E.Destroyable{constructor(e,r,s){super();N(this,"czmModel");this._sceneObject=e,this._czmViewer=r,this._modelUrl=s,this.czmModel=this.ad(new tn(this._czmViewer,this._sceneObject.id));const o=this._sceneObject,i=this.czmModel;i.show=!1,i.url=this._modelUrl,i.basePath=this._modelUrl.split("/").slice(0,-1).join("/")+"/",i.activeAnimationsAnimateWhilePaused=!0,this.d(E.bind([i,"position"],[o,"position"])),this.d(jt([i,"rotation"],[o,"rotation"])),this.d(E.track([i,"scale"],[o,"scale"])),this.d(E.track([i,"show"],[o,"show"]));{const a=this.dv(E.createNextAnimateFrameEvent(o.allowPickingChanged,o.editingChanged)),l=()=>{o.allowPicking&&!o.editing?i.allowPicking=!0:i.allowPicking=!1};l(),this.d(a.don(l))}{const a=()=>{const h=document.createElement("div");h.style.position="absolute",h.style.zIndex="-1",h.style.bottom="108px",h.style.right="0px",h.innerHTML=`<div style="width: 512px; height: 128px;color: #fff;text-align: center;line-height: 128px;font-size: 50px;margin: 0 auto;">
|
|
4363
|
+
`,HQ=async(t,n)=>{const e=(n==null?void 0:n.fontSize)??Q.ESPoi2D.defaults.style.fontSize,r=(n==null?void 0:n.image)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/anchor.png",s=(n==null?void 0:n.imageSize)??Q.ESPoi2D.defaults.style.imageSize,o=(n==null?void 0:n.text)??Q.ESPoi2D.defaults.style.text,i=(n==null?void 0:n.textBackground)??"${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/Custom/textBox_01.png",a=(n==null?void 0:n.textBackgroundColor)??Q.ESPoi2D.defaults.style.textBackgroundColor,l=(n==null?void 0:n.textBackgroundSize)??Q.ESPoi2D.defaults.style.textBackgroundSize,h=(n==null?void 0:n.textColor)??Q.ESPoi2D.defaults.style.textColor,f=(n==null?void 0:n.textOffset)??Q.ESPoi2D.defaults.style.textOffset;let u=QQ;u=u.replace(/{{CustomContainer}}/g,`ESPoi2DCustomContainer${t}`),u=u.replace(/{{CustomImage}}/g,`ESPoi2DCustomImage${t}`),u=u.replace(/{{CustomTextContainer}}/g,`ESPoi2DCustomTextContainer${t}`),u=u.replace(/{{FONT_SIZE}}/g,e+"px"),u=u.replace(/{{IMAGE_SRC}}/g,Q.ESSceneObject.context.getStrFromEnv(r)),u=u.replace(/{{IMAGE_WIDTH}}/g,s[0]+"px"),u=u.replace(/{{IMAGE_HEIGHT}}/g,s[1]+"px"),u=u.replace(/{{TEXT}}/g,o),u=u.replace(/{{TEXT_BACKGROUND}}/g,Q.ESSceneObject.context.getStrFromEnv(i)),u=u.replace(/{{TEXT_BACKGROUND_COLOR}}/g,`rgb(${a.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_BACKGROUND_WIDTH}}/g,l[0]+"px"),u=u.replace(/{{TEXT_BACKGROUND_HEIGHT}}/g,l[1]+"px"),u=u.replace(/{{TEXT_COLOR}}/g,`rgb(${h.map(v=>v*255).join(",")})`),u=u.replace(/{{TEXT_OFFSET_X}}/g,f[0]+"px"),u=u.replace(/{{TEXT_OFFSET_Y}}/g,f[1]+"px");const y=document.createElement("div");return y.innerHTML=u,[y.children[0].children[0],y.children[0].children[1]]},Ot=class Ot extends Pu{constructor(e,r){super(e,r);N(this,"_widgetComponent");N(this,"_customWidgetComponent");N(this,"_textBox",[]);N(this,"_iconBox");N(this,"_icon");N(this,"_anchor");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.ad(new E.Event),i=this.ad(new E.Event);{let l;const h=this.ad(E.createNextAnimateFrameEvent(e.screenRenderChanged,i));this.customWidgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(!(!l||e.mode!="Custom"))return e.screenRender?new $i(e,r,l[1],!0,!1):new cd(e,r,l[1],!0,!1)},!1)),this.widgetComponent=this.disposeVar(new E.ObjResettingWithEvent(h,()=>{if(l)return e.screenRender?new $i(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1):new cd(e,r,l instanceof HTMLDivElement?l:l[0],!0,!1)},!1)),this.widgetComponent.objChanged.don(()=>{e.minVisibleDistanceChanged.emit()});const f=this.dv(E.createNextAnimateFrameEvent(e.nameChanged,e.styleChanged,o));this.ad(f.don(async()=>{var u;if(e.mode!="Custom"){if(this._textBox.length==0&&e.mode!="Linear01")return;const y=e.style[Object.keys(e.style).filter(m=>m.toUpperCase()=="TEXT")[0]]??e.name,{div:v,styleObj:g}=OQ(e.mode,y,this._textBox,this._iconBox,this._icon,this._anchor);l=v,l.innerHTML=NQ(l.innerHTML,g)}else{const y=await HQ(e.id,{...e.style,text:((u=e.style)==null?void 0:u.text)??e.name});l=[y[0],y[1]]}i.emit()}))}{const l=this.ad(E.createProcessingFromAsyncFunc(async y=>{const v=e.mode;Ot.modeCache.value={...Ot.modeCache.value,[v]:void 0},await y.promise(MQ(v)).then(g=>{Ot.modeCache.value={...Ot.modeCache.value,[v]:g},this._icon=g.icon,this._anchor=g.anchor,this._iconBox=g.iconBox,this._textBox=g.textBox,o.emit()})}));let h=null,f=null;const u=()=>{var y,v,g,m;if(e.mode=="Custom"){o.emit();return}if(Reflect.has(Ot.modeCache.value,e.mode))if(Ot.modeCache.value[e.mode])this._icon=(y=Ot.modeCache.value[e.mode])==null?void 0:y.icon,this._anchor=(v=Ot.modeCache.value[e.mode])==null?void 0:v.anchor,this._iconBox=(g=Ot.modeCache.value[e.mode])==null?void 0:g.iconBox,this._textBox=((m=Ot.modeCache.value[e.mode])==null?void 0:m.textBox)??[],o.emit();else{if(h)return;h=Ot.modeCache.changed.don(()=>{var p,d,c,A;Ot.modeCache.value[e.mode]&&(this._icon=(p=Ot.modeCache.value[e.mode])==null?void 0:p.icon,this._anchor=(d=Ot.modeCache.value[e.mode])==null?void 0:d.anchor,this._iconBox=(c=Ot.modeCache.value[e.mode])==null?void 0:c.iconBox,this._textBox=((A=Ot.modeCache.value[e.mode])==null?void 0:A.textBox)??[],o.emit(),h&&h(),h=null)})}else if(!l.isRunning)l.restart();else{if(f)return;f=l.completeEvent.donce(()=>{f&&f(),f=null,l.restart()})}};u(),this.d(e.modeChanged.don(u))}const a=this.ad(new E.Event);{const l=this.dv(E.createNextAnimateFrameEvent(e.anchorChanged,e.autoAnchorChanged,e.offsetChanged)),h=()=>{const f=this.widgetComponent.obj,u=e.autoAnchor?f.defaultAnchor:e.anchor,y=e.offset;if(f instanceof $i)u?(f.czmGeoCustomDivPoi.originRatioAndOffset=[...u,-y[0],-y[1]],f.widgetInfo.style.transformOrigin=`${u[0]*100}% ${u[1]*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let v=100,g=100;e.sizeByContent&&f.domSize?(v=f.domSize.width/100,g=f.domSize.height/100):(v=e.size[0]/100,g=e.size[1]/100),u?f.czmCustomPrimitive.localPosition=[u[0]*v-y[0]/100,0,u[1]*g-y[1]/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}e.mode=="Custom"&&a.emit()};this.d(l.don(h)),this.ad(new E.ObjResettingWithEvent(this.widgetComponent.objChanged,()=>{if(this.widgetComponent.obj==null)return;const f=new E.Destroyable;return h(),f.d(this.widgetComponent.obj.defaultAnchorChanged.don(h)),f}))}{const l=this.dv(E.createNextAnimateFrameEvent(e.styleChanged,e.showChanged,a)),h=()=>{var d,c,A;if(e.mode!="Custom")return;const f=this.customWidgetComponent.obj;if(!f)return;const u=((d=e.style)==null?void 0:d.imageSize)??Q.ESPoi2D.defaults.style.imageSize,y=e.autoAnchor?this.widgetComponent.obj.defaultAnchor:e.anchor,v=((c=e.style)==null?void 0:c.textBoxAlign)??Q.ESPoi2D.defaults.style.textBoxAlign,g=v=="start"?0:v=="center"?.5:1,m=((A=e.style)==null?void 0:A.textBoxOffset)??Q.ESPoi2D.defaults.style.textBoxOffset,p=e.offset;if(f instanceof $i)y?(f.czmGeoCustomDivPoi.originRatioAndOffset=[g,.5,-p[0]-m[0]+u[0]*(y[0]-.5),-p[1]-m[1]+u[1]*(y[1]-.5)],f.widgetInfo.style.transformOrigin=`${g*100}% ${.5*100}%`):f.czmGeoCustomDivPoi.originRatioAndOffset=[0,0,0,0];else{let w=100,b=100;e.sizeByContent&&f.domSize?(w=f.domSize.width/100,b=f.domSize.height/100):(w=e.size[0]/100,b=e.size[1]/100),y?f.czmCustomPrimitive.localPosition=[g*w+(-p[0]-m[0]+u[0]*(y[0]-.5))/100,0,.5*b+(-p[1]-m[1]+u[1]*(y[1]-.5))/100]:f.czmCustomPrimitive.localPosition=[0,0,0]}};this.ad(l.don(h));{const f=this.ad(E.createNextAnimateFrameEvent(this.customWidgetComponent.objChanged,this.widgetComponent.objChanged));this.ad(new E.ObjResettingWithEvent(f,()=>{if(this.customWidgetComponent.obj==null||this.widgetComponent.obj==null)return;const u=new E.Destroyable,y=this.customWidgetComponent.obj,v=()=>{var g,m,p,d;y&&(y instanceof $i?(((g=e.style)==null?void 0:g.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(y.czmGeoCustomDivPoi.show=!1,this.d(this.widgetComponent.obj.czmGeoCustomDivPoi.pickedEvent.don(c=>{var w,b;const A=(w=Zo(c,"pickResult"))==null?void 0:w.pointerEvent;A&&(y.czmGeoCustomDivPoi.show=e.show&&(((b=e.style)==null?void 0:b.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&A.type=="mouseenter")}))):y.czmGeoCustomDivPoi.show=e.show&&(((m=e.style)==null?void 0:m.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow):(((p=e.style)==null?void 0:p.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="hover"?(y.czmCustomPrimitive.show=!1,this.d(e.widgetEvent.don(c=>{var A;c&&(y.czmCustomPrimitive.show=e.show&&(((A=e.style)==null?void 0:A.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)&&c.type=="mouseEnter")}))):y.czmCustomPrimitive.show=e.show&&(((d=e.style)==null?void 0:d.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))};return v(),u.ad(e.styleChanged.don(v)),u}))}}}get widgetComponent(){return this._widgetComponent}set widgetComponent(e){this._widgetComponent=e}get customWidgetComponent(){return this._customWidgetComponent}set customWidgetComponent(e){this._customWidgetComponent=e}flyTo(e,r){const{sceneObject:s,czmViewer:o,widgetComponent:i}=this;if(!o.actived)return!1;if(s.flyToParam||s.flyInParam)return super.flyTo(e,r);if(i.obj)i.obj.flyTo(e,r);else{const a=setTimeout(()=>{clearTimeout(a),this.flyTo(e,r)},200)}return s.flyOverEvent.emit(r,"over",o),!0}visibleDistance(e,r){var s,o,i,a,l;if((s=r.viewer)!=null&&s.camera&&e.show){const h=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let f=!1;e.minVisibleDistance<e.maxVisibleDistance?f=e.minVisibleDistance<h&&h<e.maxVisibleDistance:e.maxVisibleDistance==0&&(f=h>e.minVisibleDistance);const u=this.widgetComponent.obj,y=this.customWidgetComponent.obj;if(!u)return;u instanceof $i?(u.czmGeoCustomDivPoi.show=e.show&&f,(((o=e.style)==null?void 0:o.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmGeoCustomDivPoi.show=e.show&&f&&(((i=e.style)==null?void 0:i.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow))):(u.czmCustomPrimitive.show=e.show&&f,(((a=e.style)==null?void 0:a.textBoxMode)??Q.ESPoi2D.defaults.style.textBoxMode)=="default"&&y&&(y.czmCustomPrimitive.show=e.show&&f&&(((l=e.style)==null?void 0:l.textBoxShow)??Q.ESPoi2D.defaults.style.textBoxShow)))}}};N(Ot,"type",Ot.register("ESCesiumViewer",Q.ESPoi2D.type,Ot)),N(Ot,"modeCache",E.react({}));let dg=Ot;const Fc=class Fc extends Ze{constructor(e,r){super(e,r);N(this,"_czmModelPoi3D");if(!r.viewer){console.warn("viewer is undefined!");return}const o=this.dv(E.createNextAnimateFrameEvent(e.modeChanged));this.dv(new E.ObjResettingWithEvent(o,()=>{let{mode:i}=e;const a=Q.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/glb/poi3d/${i}/SM_POI_${i.charAt(0).toUpperCase()+i.slice(1)}.gltf`);return this._czmModelPoi3D=new jQ(e,r,a)}))}visibleDistance(e,r){var s;if((s=r.viewer)!=null&&s.camera&&e.show){const o=Q.getDistancesFromPositions([e.position,Nn(r.viewer.camera)],"NONE")[0];let i=!1;if(e.minVisibleDistance<e.maxVisibleDistance?i=e.minVisibleDistance<o&&o<e.maxVisibleDistance:e.maxVisibleDistance==0&&(i=o>e.minVisibleDistance),!this._czmModelPoi3D)return;this._czmModelPoi3D.czmModel&&(this._czmModelPoi3D.czmModel.show=e.show&&i)}}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):this._czmModelPoi3D?(this._czmModelPoi3D.flyTo(e,r),!0):!1:!1}};N(Fc,"type",Fc.register("ESCesiumViewer",Q.ESPoi3D.type,Fc));let pg=Fc;class jQ extends E.Destroyable{constructor(e,r,s){super();N(this,"czmModel");this._sceneObject=e,this._czmViewer=r,this._modelUrl=s,this.czmModel=this.ad(new tn(this._czmViewer,this._sceneObject.id));const o=this._sceneObject,i=this.czmModel;i.show=!1,i.url=this._modelUrl,i.basePath=this._modelUrl.split("/").slice(0,-1).join("/")+"/",i.activeAnimationsAnimateWhilePaused=!0,this.d(E.bind([i,"position"],[o,"position"])),this.d(jt([i,"rotation"],[o,"rotation"])),this.d(E.track([i,"scale"],[o,"scale"])),this.d(E.track([i,"show"],[o,"show"]));{const a=this.dv(E.createNextAnimateFrameEvent(o.allowPickingChanged,o.editingChanged)),l=()=>{o.allowPicking&&!o.editing?i.allowPicking=!0:i.allowPicking=!1};l(),this.d(a.don(l))}{const a=()=>{const h=document.createElement("div");h.style.position="absolute",h.style.zIndex="-1",h.style.bottom="108px",h.style.right="0px",h.innerHTML=`<div style="width: 512px; height: 128px;color: #fff;text-align: center;line-height: 128px;font-size: 50px;margin: 0 auto;">
|
|
4364
4364
|
<span style="display: inline-block;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;width: 512px;">${o.style[Object.keys(o.style).filter(f=>f.toUpperCase()=="TEXT")[0]]??o.name}</span>
|
|
4365
4365
|
</div>`,document.body.contains(h)||document.body.appendChild(h),km(h,{backgroundColor:null,allowTaint:!1,useCORS:!0}).then(f=>{var u,y;document.body.contains(h)&&document.body.removeChild(h);for(let v=0;v<i.gltf.images.length;v++){const g=i.gltf.images[v];g.name.toUpperCase().includes("TEXT")&&(g.uri=f.toDataURL("image/png",1))}for(let v=0;v<i.gltf.materials.length;v++){const g=i.gltf.materials[v];g.name.toUpperCase().includes("UI")||g.name.toUpperCase().includes("LAMBERT5")?(g.pbrMetallicRoughness.baseColorFactor=((u=o.style)==null?void 0:u.UI_Color)??[1,1,1,1],g.alphaMode&&delete g.alphaMode):g.name.toUpperCase().includes("TEXT")||(g.pbrMetallicRoughness.baseColorFactor=((y=o.style)==null?void 0:y.FX_Color)??[1,1,1,1])}i.gltfJson=i.gltf,i.activeAnimationsJson=i.gltf.animations.map((v,g)=>({index:g,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}))}).catch(()=>{document.body.contains(h)&&document.body.removeChild(h)})};a();const l=this.dv(E.createNextAnimateFrameEvent(o.nameChanged,o.styleChanged));this.d(l.don(a))}}flyTo(e,r){const{_czmViewer:s,_sceneObject:o,czmModel:i}=this;Bn(s,o,r,e,i,!0)}}const kc=class kc extends Ze{constructor(e,r){super(e,r);N(this,"_czmCustomPrimitive");N(this,"_causticsTexture");N(this,"_foamTexture");N(this,"_heightMapTexture");N(this,"_normalMapTexture");N(this,"isTimestamp",e=>{if(e.toString().length!==13||isNaN(e))return console.log("时间戳格式错误"),!1;const s=new Date(e);return isNaN(s.getTime())?(console.log("时间戳格式错误"),!1):!0});N(this,"getClosestTimestampIndex",(e,r)=>{for(var s=0,o=1/0,i=0;i<r.length;i++){var a=Math.abs(e-r[i]);a<o&&(o=a,s=i)}return s});if(this._czmCustomPrimitive=this.dv(new mt(r,e.id)),this._causticsTexture=this.dv(new wt(r)),this._foamTexture=this.dv(new wt(r)),this._heightMapTexture=this.dv(new wt(r)),this._normalMapTexture=this.dv(new wt(r)),!r.viewer){console.warn("viewer is undefined!");return}const o=this.czmCustomPrimitive,i=this.causticsTexture,a=this.foamTexture,l=this.heightMapTexture,h=this.normalMapTexture;i.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/caustics.jpg"),a.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/foam.jpg"),l.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/heightmap.jpg"),h.uri=Q.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/water/water_normalmap.png"),this.d(E.track([o,"show"],[e,"show"])),this.d(E.track([o,"allowPicking"],[e,"allowPicking"])),this.d(E.bind([o,"position"],[e,"position"])),this.d(E.bind([o,"rotation"],[e,"rotation"])),this.d(E.bind([o,"scale"],[e,"scale"])),o.pass="TRANSLUCENT",o.primitiveType="TRIANGLES",o.renderState={depthTest:{enabled:!0},cull:{enabled:!0,face:1029},depthMask:!0,blending:{enabled:!0,equationRgb:32774,equationAlpha:32774,functionSourceRgb:770,functionSourceAlpha:1,functionDestinationRgb:771,functionDestinationAlpha:771}},o.vertexShaderSource=`
|
|
4366
4366
|
in vec3 position;
|
|
@@ -4433,7 +4433,7 @@ ${RS}
|
|
|
4433
4433
|
out_FragColor.rgb *= vec3(clamp((distance - realDistance)*.5, 0.5, 1.0));
|
|
4434
4434
|
out_FragColor.a = 0.9;
|
|
4435
4435
|
}
|
|
4436
|
-
`;{const f=this.dv(E.createNextAnimateFrameEvent(e.waterColorChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowSpeedChanged,e.materialParamsChanged)),u=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor,frequency:(e.frequency??Q.ESSubmergingAnalysis.defaults.frequency)/10,waveVelocity:(e.waveVelocity??Q.ESSubmergingAnalysis.defaults.waveVelocity)/100,amplitude:(e.amplitude??Q.ESSubmergingAnalysis.defaults.amplitude)*100,specularIntensity:e.specularIntensity??Q.ESSubmergingAnalysis.defaults.specularIntensity,flowSpeed:e.flowSpeed??Q.ESSubmergingAnalysis.defaults.flowSpeed});else{const y=Object.assign({},Jp[e.waterType]);y.frequency&&(y.frequency/=10),y.waveVelocity&&(y.waveVelocity/=100),y.amplitude&&(y.amplitude*=10),this.updateWater(y)}};u(),this.d(f.don(u))}{const f=y=>{if(y==0||!this.isTimestamp(y))return;const v=e.getAllMoments(),g=e.getSubmergingData;if(v.length==0||!g)return;const m=this.getClosestTimestampIndex(y,v);o.attributes={position:{typedArray:g[m].posBuffer,componentsPerAttribute:3}},o.indexTypedArray=g[m].indicesBuffer;const p=o.computeLocalAxisedBoundingBoxFromAttribute("position");if(!p)return;const{min:d,max:c}=p;o.setLocalAxisedBoundingBox(d,c)},u=this.dv(E.createNextAnimateFrameEvent(e.currentTimeChanged,e.readyEvent));this.d(u.don(()=>{f(e.currentTime)}))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}get causticsTexture(){return this._causticsTexture}get foamTexture(){return this._foamTexture}get heightMapTexture(){return this._heightMapTexture}get normalMapTexture(){return this._normalMapTexture}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(Bn(o,s,r,e,this.czmCustomPrimitive,!0),!0):!1}updateWater(e){const{czmCustomPrimitive:r,sceneObject:s,heightMapTexture:o,normalMapTexture:i,foamTexture:a,causticsTexture:l}=this,h=s.materialParams[Object.keys(s.materialParams).filter(f=>f.toUpperCase().includes("BASECOLOR"))[0]];r.uniformMap={u_image:{type:"texture",id:o.id},u_heightmap_image:{type:"texture",id:o.id},u_normalmap_image:{type:"texture",id:i.id},u_foam_image:{type:"texture",id:a.id},u_caustics_image:{type:"texture",id:l.id},u_color:e.waterColor??h??Q.ESSubmergingAnalysis.defaults.waterColor}}};N(kc,"type",kc.register("ESCesiumViewer",Q.ESSubmergingAnalysis.type,kc));let Ag=kc;const{getStrFromEnv:VS}=Q.ESSceneObject.context;function GQ(t){let n;if(t.startsWith("ion://")){const r=+t.substring(6);Number.isFinite(r)&&(n=F.IonResource.fromAssetId(r))}else n=VS(t);return n}async function WQ(t,n){if(t.type==="EllipsoidTerrainProvider")return new F.EllipsoidTerrainProvider({ellipsoid:t.ellipsoid&&et(t.ellipsoid),tilingScheme:t.tilingScheme&&Br(t.tilingScheme)});if(t.type==="CesiumTerrainProvider"){const e=GQ(typeof t.url=="string"?t.url:t.url.url);return e?await F.CesiumTerrainProvider.fromUrl(typeof e=="string"?Qn(t.url):e,{requestVertexNormals:t.requestVertexNormals,requestWaterMask:t.requestWaterMask,requestMetadata:t.requestMetadata,ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit}):void 0}else if(t.type==="GoogleEarthEnterpriseTerrainProvider"){const e=await F.GoogleEarthEnterpriseMetadata.fromUrl(VS(t.url));return await F.GoogleEarthEnterpriseTerrainProvider.fromMetadata(e,{ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit})}else{if(t.type==="ArcGISTiledElevationTerrainProvider")return await F.ArcGISTiledElevationTerrainProvider.fromUrl(Qn(t.url),{token:t.token,ellipsoid:t.ellipsoid&&et(t.ellipsoid)});if(t.type==="CustomHeightmapTerrainProvider")return new F.CustomHeightmapTerrainProvider({tilingScheme:t.tilingScheme&&Br(t.tilingScheme),width:t.width,height:t.height,ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit,callback:t.callback&&Function('"use strict";return ('+t.callback+")")()});if(t.type==="VRTheWorldTerrainProvider")return await F.VRTheWorldTerrainProvider.fromUrl(Qn(t.url),{ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit})}}const Mc=class Mc extends dr{constructor(e,r){super(e,r);N(this,"_provider",this.disposeVar(E.react(void 0)));N(this,"_czmProvider",this.dv(E.react(void 0)));const s=r.viewer;if(!s)return;const o=Gn(s);if(!o)return;const{terrainManager:i}=o,a=()=>{i.delete(this),this.provider=void 0};this.dispose(a);let l=!1;const h=this.disposeVar(E.createProcessingFromAsyncFunc(async(u,y)=>{if(y){if(l=!0,a(),!this.czmProvider)return;this.provider=await u.promise(WQ(this.czmProvider)),this.provider&&(this.provider.ESSceneObjectID=e.id),i.add(this),l=!1}}));h.restart(void 0,!0);const f=this.disposeVar(new E.Event);this.dispose(this.czmProviderChanged.disposableOn(()=>{f.emit()})),this.dispose(Q.ESSceneObject.context.environmentVariablesChanged.disposableOn(()=>{f.emit()})),this.dispose(f.disposableOn(()=>{h.restart(void 0,!0)})),this.dispose(e.showChanged.disposableOn(()=>{l||h.restart(void 0,!1)})),this.dispose(e.flyToEvent.disposableOn((u,y)=>this.flyTo(u,y)));{const u=this.ad(E.reactJson(""));{const v=()=>{if(typeof e.url=="string")u.value=Q.ESSceneObject.context.getStrFromEnv(e.url??Q.ESTerrainLayer.defaults.url);else{const g=e.url;g.url=Q.ESSceneObject.context.getStrFromEnv(g.url??Q.ESTerrainLayer.defaults.url),u.value=g}};v(),this.ad(e.urlChanged.don(v))}const y=()=>{if(!u.value)return;let v=u.value,g=typeof v=="string"?v:v.url;if(g.includes(Q.ESTerrainLayer.defaults.url)){const m=qQ(g);if(m&&m.h){const p=Number(m.h),d={x:6378137,y:6378137,z:6356752314245179e-9};this._czmProvider.value={type:"EllipsoidTerrainProvider",ellipsoid:[d.x+p,d.y+p,d.z+p]}}else this._czmProvider.value={type:"CesiumTerrainProvider",url:"",requestMetadata:!0,requestWaterMask:!0,requestVertexNormals:!0}}else g.includes("/layer.json")&&(typeof v=="string"?v=g.split("/layer.json").join(""):v.url=g.split("/layer.json").join("")),this._czmProvider.value={type:"CesiumTerrainProvider",url:v,requestMetadata:!0,requestWaterMask:!0,requestVertexNormals:!0}};y(),this.dispose(u.changed.disposableOn(y))}}get provider(){return this._provider.value}set provider(e){this._provider.value=e}get providerChanged(){return this._provider.changed}get czmProvider(){return this._czmProvider.value}get czmProviderChanged(){return this._czmProvider.changed}flyTo(e,r){const{czmViewer:s,sceneObject:o}=this;if(!s.actived)return!1;const{viewer:i}=s;return i?(i.camera.flyTo({destination:o.rectangle&&!jp(o.rectangle)?Bt(o.rectangle):F.Camera.DEFAULT_VIEW_RECTANGLE,duration:e}),!0):!1}flyIn(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyInParam?super.flyIn(e,r):this.flyTo(e,r):!1}};N(Mc,"type",Mc.register("ESCesiumViewer",Q.ESTerrainLayer.type,Mc));let mg=Mc;function qQ(t){const n=t.indexOf("?"),r=t.slice(n+1).split("&"),s={};for(var o=0;o<r.length;o++){var i=r[o].split("=");s[i[0]]=i[1]}return s}class QS extends E.Destroyable{constructor(e,r){super();N(this,"_czmTextLabel");N(this,"flyTo",(e,r)=>{if(this.czmTextLabel.position){Ue(this.czmViewer.viewer,this.czmTextLabel.position,1e3,Jn,e);return}this.czmTextLabel.flyTo(e&&e*1e3)});this.czmViewer=r,this._czmTextLabel=this.disposeVar(new Ur(r,e.id));const s=this._czmTextLabel,o=()=>{const a=e.anchor,l=e.offset;a?s.originRatioAndOffset=[...a,-l[0],-l[1]]:s.originRatioAndOffset=[0,0,0,0]},i=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(i.disposableOn(()=>o())),o(),this.dispose(E.track([s,"zOrder"],[e,"zOrder"])),this.dispose(E.track([s,"show"],[e,"show"])),this.dispose(E.bind([s,"text"],[e,"text"])),this.dispose(E.track([s,"color"],[e,"color"])),this.dispose(E.track([s,"backgroundColor"],[e,"backgroundColor"])),this.dispose(E.bind([s,"textEditingInteraction"],[e,"textEditingInteraction"])),this.dispose(E.bind([s,"textEditing"],[e,"textEditing"])),this.dispose(E.bind([s,"position"],[e,"position"])),this.dispose(E.track([s,"width"],[e,"width"])),this.dispose(E.track([s,"opacity"],[e,"opacity"])),this.dispose(E.track([s,"padding"],[e,"padding"])),this.dispose(E.track([s,"borderRadius"],[e,"borderRadius"])),this.dispose(E.track([s,"borderColor"],[e,"borderColor"])),this.dispose(E.track([s,"borderWidth"],[e,"borderWidth"])),this.dispose(E.track([s,"textAlign"],[e,"textAlign"])),this.dispose(E.track([s,"fontSize"],[e,"fontSize"])),this.dispose(E.track([s,"borderStyle"],[e,"borderStyle"])),this.dispose(E.track([s,"pickOnClick"],[e,"allowPicking"]));{const a=()=>{s.scale=[e.scale[1],e.scale[2]]};a(),this.dispose(e.scaleChanged.don(a))}{const a=()=>{e.sizeByContent?(s.width=void 0,s.height=void 0):(s.width=e.size[0],s.height=e.size[1])};a(),this.dispose(e.sizeByContentChanged.don(a)),this.dispose(e.sizeChanged.don(a))}this.d(s.pickedEvent.don(a=>{var f;const l=(f=Zo(a,"pickResult"))==null?void 0:f.pointerEvent;if(!l)return;const h={type:l.buttons!=0&&l.button==0?"leftClick":l.button==2?"rightClick":void 0,add:{mousePos:[l.offsetX,l.offsetY]}};h.type==null&&(h.type=l.type),e.widgetEvent.emit(h),l.buttons!=0&&l.button==0&&(e.allowPicking??!1)&&e.pickedEvent.emit(a)}));{let a;const l=h=>{h&&(a=h),a&&(a.style.pointerEvents=e.editing?"none":"all")};this.d(e.editingChanged.don(()=>l(void 0))),this.ad(this._czmTextLabel.divCreatedEvent.don(h=>l(h)))}}get czmTextLabel(){return this._czmTextLabel}}class HS extends E.Destroyable{constructor(e,r){super();N(this,"_czmTextLabel");N(this,"_czmImageModel");N(this,"_url",this.disposeVar(E.react("")));N(this,"_defaultSize",this.disposeVar(E.react([1,1])));N(this,"_size",this.disposeVar(E.react([1,1])));N(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});N(this,"_isPointEvent",!1);N(this,"flyTo",(e,r)=>{if(this.czmImageModel.position)return er(this._czmViewer,this.sceneObject,r,this.sceneObject.position,Math.max(...this.czmImageModel.size),e,!0);this.czmImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this._czmViewer=r,this._czmTextLabel=this.disposeVar(new Ur(r,e.id)),this._czmImageModel=this.disposeVar(new yi(r,e.id));const s=this._czmViewer,o=this._czmTextLabel;o.originRatioAndOffset=[1e3,0,0,0],this.dispose(o.divCreatedEvent.disposableOn(l=>{const h=setTimeout(()=>{km(l,{backgroundColor:null,allowTaint:!1,useCORS:!0,width:l.offsetWidth,height:l.offsetHeight,scale:1}).then(f=>{if(clearTimeout(h),this.isDestroyed())return;const u=new Image;u.onload=()=>{e.sizeByContent?this._size.value=[u.width/100,u.height/100]:this._size.value=[e.size[0]/100,e.size[1]/100]},u.src=f.toDataURL("image/png"),this._url.value=f.toDataURL("image/png")}).catch(f=>{clearTimeout(h),console.error(f)})},50);this.dispose(()=>clearTimeout(h))})),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(E.bind([o,"text"],[e,"text"])),this.dispose(E.track([o,"color"],[e,"color"])),this.dispose(E.track([o,"fontSize"],[e,"fontSize"]));const i=()=>{const l=e.anchor,h=e.offset;l?this.czmImageModel.originRatioAndOffset=[...l,-h[0]/100,-h[1]/100]:this.czmImageModel.originRatioAndOffset=[0,0,0,0]},a=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(a.disposableOn(()=>i())),i();{const l=()=>{this._czmTextLabel.show=!1;const h=this._czmImageModel;h.uri=this._url.value,h.pixelSize=void 0,h.useAxis="XZ",this.dispose(this.sizeChanged.disposableOn(()=>{h.size=this._size.value})),this.dispose(E.track([h,"show"],[e,"show"])),this.dispose(E.bind([h,"position"],[e,"position"])),this.dispose(E.track([h,"allowPicking"],[e,"allowPicking"]));{const f=()=>{h.scale=[e.scale[1],e.scale[2]]};f(),this.d(e.scaleChanged.don(f))}{const f=()=>{e.rotationType===0&&(h.rotationMode="WithProp",this.d(jt([h,"rotation"],[e,"rotation"]))),e.rotationType===1&&(h.rotationMode="WithCamera"),e.rotationType===2&&(h.rotationMode="WithCameraOnlyZ")};f(),this.dispose(e.rotationTypeChanged.disposableOn(f))}};this.dispose(this._url.changed.disposableOn(l))}this.ad(s.clickEvent.don(l=>{const h=l==null?void 0:l.pointerEvent;h&&(this._isPointEvent=!0,this._eventInfo={type:h.button==0?"leftClick":h.button==2?"rightClick":"leftClick",add:{mousePos:[h.offsetX,h.offsetY]}})})),this.d(e.pickedEvent.don(l=>{var h,f,u;l.screenPosition&&this._isPointEvent&&l.attachedInfo!="innerHoverEvent"&&((h=this._eventInfo.add)!=null&&h.mousePos)&&Math.abs(l.screenPosition[0]-((f=this._eventInfo.add)==null?void 0:f.mousePos[0]))<1&&Math.abs(l.screenPosition[1]-((u=this._eventInfo.add)==null?void 0:u.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),Q.registerCreatedEventUpdate(this,e,()=>{const l=s.getEngineObject(e);this.ad(l.lastHoverResultChanged.don((h,f)=>{if(!((h==null?void 0:h.sceneObject)==(f==null?void 0:f.sceneObject)||(h==null?void 0:h.sceneObject)!=e&&(f==null?void 0:f.sceneObject)!=e)){do(h==null?void 0:h.sceneObject)==null&&(this._eventInfo={type:"mouseLeave",add:{mousePos:h==null?void 0:h.screenPosition}}),(f==null?void 0:f.sceneObject)==null&&(this._eventInfo={type:"mouseEnter",add:{mousePos:h==null?void 0:h.screenPosition}});while(!1);e.widgetEvent.emit(this._eventInfo)}}))})}get czmTextLabel(){return this._czmTextLabel}get czmImageModel(){return this._czmImageModel}get url(){return this._url.value}get defaultSize(){return this._defaultSize.value}get defaultSizeChanged(){return this._defaultSize.changed}get size(){return this._size.value}get sizeChanged(){return this._size.changed}}const Oc=class Oc extends Pu{constructor(e,r){super(e,r);N(this,"_event",this.disposeVar(E.createNextAnimateFrameEvent(this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged)));N(this,"_resetting",this.disposeVar(new E.ObjResettingWithEvent(this._event,()=>this.sceneObject.screenRender?new QS(this.sceneObject,this.czmViewer):new HS(this.sceneObject,this.czmViewer))));if(!r.viewer){console.warn("viewer is undefined!");return}}get event(){return this._event}get resetting(){return this._resetting}flyTo(e,r){const{sceneObject:s,czmViewer:o,resetting:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i&&i.obj&&i.obj.flyTo(e,r),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Oc,"type",Oc.register("ESCesiumViewer",Q.ESTextLabel.type,Oc));let yg=Oc;const Dc=class Dc extends Ze{constructor(e,r){super(e,r);N(this,"_czmGeoDivSwitchPoi");if(this._czmGeoDivSwitchPoi=this.disposeVar(new ra(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoDivSwitchPoi;o.showIcon=!1,this.d(E.track([o,"zOrder"],[e,"zOrder"])),this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.track([o,"text"],[e,"info"],l=>Object.values(l??{title:"请输入内容"}).join())),this.dispose(E.bind([o,"position"],[e,"position"]));const i=()=>{const l=e.anchor,h=e.offset;l?o.originRatioAndOffset=[...l,-h[0],-h[1]]:o.originRatioAndOffset=[0,0,0,0]},a=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(a.disposableOn(()=>i())),i()}get czmGeoDivSwitchPoi(){return this._czmGeoDivSwitchPoi}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmGeoDivSwitchPoi:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):i.position?(Ue(this.czmViewer.viewer,i.position,1e3,Jn,e),!0):(i.flyTo(e&&e*1e3),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Dc,"type",Dc.register("ESCesiumViewer",Q.ESUEWidget.type,Dc));let gg=Dc;const Rc=class Rc extends Ze{constructor(e,r){super(e,r);N(this,"_czmGeoPoint");if(this._czmGeoPoint=this.disposeVar(new nr(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoPoint;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"]))}get czmGeoPoint(){return this._czmGeoPoint}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmGeoPoint:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i.flyTo(e),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Rc,"type",Rc.register("ESCesiumViewer",Q.ESUnrealActor.type,Rc));let vg=Rc;var KQ=F.Primitive._modifyShaderPosition;F.Primitive._modifyShaderPosition=function(t,r,e){var r=KQ(t,r,e);return t.isCameraVideo&&r.indexOf("XBSJ_CAMERA_VIDEO")===-1&&(r=r.replace("void main()",`
|
|
4436
|
+
`;{const f=this.dv(E.createNextAnimateFrameEvent(e.waterColorChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowSpeedChanged,e.materialParamsChanged)),u=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor,frequency:(e.frequency??Q.ESSubmergingAnalysis.defaults.frequency)/10,waveVelocity:(e.waveVelocity??Q.ESSubmergingAnalysis.defaults.waveVelocity)/100,amplitude:(e.amplitude??Q.ESSubmergingAnalysis.defaults.amplitude)*100,specularIntensity:e.specularIntensity??Q.ESSubmergingAnalysis.defaults.specularIntensity,flowSpeed:e.flowSpeed??Q.ESSubmergingAnalysis.defaults.flowSpeed});else{const y=Object.assign({},Jp[e.waterType]);y.frequency&&(y.frequency/=10),y.waveVelocity&&(y.waveVelocity/=100),y.amplitude&&(y.amplitude*=10),this.updateWater(y)}};u(),this.d(f.don(u))}{const f=y=>{if(y==0||!this.isTimestamp(y))return;const v=e.getAllMoments(),g=e.getSubmergingData;if(v.length==0||!g)return;const m=this.getClosestTimestampIndex(y,v);o.attributes={position:{typedArray:g[m].posBuffer,componentsPerAttribute:3}},o.indexTypedArray=g[m].indicesBuffer;const p=o.computeLocalAxisedBoundingBoxFromAttribute("position");if(!p)return;const{min:d,max:c}=p;o.setLocalAxisedBoundingBox(d,c)},u=this.dv(E.createNextAnimateFrameEvent(e.currentTimeChanged,e.readyEvent));this.d(u.don(()=>{f(e.currentTime)}))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}get causticsTexture(){return this._causticsTexture}get foamTexture(){return this._foamTexture}get heightMapTexture(){return this._heightMapTexture}get normalMapTexture(){return this._normalMapTexture}flyTo(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(Bn(o,s,r,e,this.czmCustomPrimitive,!0),!0):!1}updateWater(e){const{czmCustomPrimitive:r,sceneObject:s,heightMapTexture:o,normalMapTexture:i,foamTexture:a,causticsTexture:l}=this,h=s.materialParams[Object.keys(s.materialParams).filter(f=>f.toUpperCase().includes("BASECOLOR"))[0]];r.uniformMap={u_image:{type:"texture",id:o.id},u_heightmap_image:{type:"texture",id:o.id},u_normalmap_image:{type:"texture",id:i.id},u_foam_image:{type:"texture",id:a.id},u_caustics_image:{type:"texture",id:l.id},u_color:e.waterColor??h??Q.ESSubmergingAnalysis.defaults.waterColor}}};N(kc,"type",kc.register("ESCesiumViewer",Q.ESSubmergingAnalysis.type,kc));let Ag=kc;const{getStrFromEnv:VS}=Q.ESSceneObject.context;function GQ(t){let n;if(t.startsWith("ion://")){const r=+t.substring(6);Number.isFinite(r)&&(n=F.IonResource.fromAssetId(r))}else n=VS(t);return n}async function WQ(t,n){if(t.type==="EllipsoidTerrainProvider")return new F.EllipsoidTerrainProvider({ellipsoid:t.ellipsoid&&et(t.ellipsoid),tilingScheme:t.tilingScheme&&Br(t.tilingScheme)});if(t.type==="CesiumTerrainProvider"){const e=GQ(typeof t.url=="string"?t.url:t.url.url);return e?await F.CesiumTerrainProvider.fromUrl(typeof e=="string"?Qn(t.url):e,{requestVertexNormals:t.requestVertexNormals,requestWaterMask:t.requestWaterMask,requestMetadata:t.requestMetadata,ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit}):void 0}else if(t.type==="GoogleEarthEnterpriseTerrainProvider"){const e=await F.GoogleEarthEnterpriseMetadata.fromUrl(VS(t.url));return await F.GoogleEarthEnterpriseTerrainProvider.fromMetadata(e,{ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit})}else{if(t.type==="ArcGISTiledElevationTerrainProvider")return await F.ArcGISTiledElevationTerrainProvider.fromUrl(Qn(t.url),{token:t.token,ellipsoid:t.ellipsoid&&et(t.ellipsoid)});if(t.type==="CustomHeightmapTerrainProvider")return new F.CustomHeightmapTerrainProvider({tilingScheme:t.tilingScheme&&Br(t.tilingScheme),width:t.width,height:t.height,ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit,callback:t.callback&&Function('"use strict";return ('+t.callback+")")()});if(t.type==="VRTheWorldTerrainProvider")return await F.VRTheWorldTerrainProvider.fromUrl(Qn(t.url),{ellipsoid:t.ellipsoid&&et(t.ellipsoid),credit:t.credit})}}const Mc=class Mc extends dr{constructor(e,r){super(e,r);N(this,"_provider",this.disposeVar(E.react(void 0)));N(this,"_czmProvider",this.dv(E.react(void 0)));const s=r.viewer;if(!s)return;const o=Gn(s);if(!o)return;const{terrainManager:i}=o,a=()=>{i.delete(this),this.provider=void 0};this.dispose(a);let l=!1;const h=this.disposeVar(E.createProcessingFromAsyncFunc(async(u,y)=>{if(y){if(l=!0,a(),!this.czmProvider)return;this.provider=await u.promise(WQ(this.czmProvider)),this.provider&&(this.provider.ESSceneObjectID=e.id),i.add(this),l=!1}}));h.restart(void 0,!0);const f=this.disposeVar(new E.Event);this.dispose(this.czmProviderChanged.disposableOn(()=>{f.emit()})),this.dispose(Q.ESSceneObject.context.environmentVariablesChanged.disposableOn(()=>{f.emit()})),this.dispose(f.disposableOn(()=>{h.restart(void 0,!0)})),this.dispose(e.showChanged.disposableOn(()=>{l||h.restart(void 0,!1)})),this.dispose(e.flyToEvent.disposableOn((u,y)=>this.flyTo(u,y)));{const u=this.ad(E.reactJson(""));{const v=()=>{if(typeof e.url=="string")u.value=Q.ESSceneObject.context.getStrFromEnv(e.url??Q.ESTerrainLayer.defaults.url);else{const g=e.url;g.url=Q.ESSceneObject.context.getStrFromEnv(g.url??Q.ESTerrainLayer.defaults.url),u.value=g}};v(),this.ad(e.urlChanged.don(v))}const y=()=>{if(!u.value)return;let v=u.value,g=typeof v=="string"?v:v.url;if(g.includes(Q.ESTerrainLayer.defaults.url)){const m=qQ(g);if(m&&m.h){const p=Number(m.h),d={x:6378137,y:6378137,z:6356752314245179e-9};this._czmProvider.value={type:"EllipsoidTerrainProvider",ellipsoid:[d.x+p,d.y+p,d.z+p]}}else this._czmProvider.value={type:"CesiumTerrainProvider",url:"",requestMetadata:!0,requestWaterMask:!0,requestVertexNormals:!0}}else g.includes("/layer.json")&&(typeof v=="string"?v=g.split("/layer.json").join(""):v.url=g.split("/layer.json").join("")),this._czmProvider.value={type:"CesiumTerrainProvider",url:v,requestMetadata:!0,requestWaterMask:!0,requestVertexNormals:!0}};y(),this.dispose(u.changed.disposableOn(y))}}get provider(){return this._provider.value}set provider(e){this._provider.value=e}get providerChanged(){return this._provider.changed}get czmProvider(){return this._czmProvider.value}get czmProviderChanged(){return this._czmProvider.changed}flyTo(e,r){const{czmViewer:s,sceneObject:o}=this;if(!s.actived)return!1;const{viewer:i}=s;return i?(i.camera.flyTo({destination:o.rectangle&&!jp(o.rectangle)?Bt(o.rectangle):F.Camera.DEFAULT_VIEW_RECTANGLE,duration:e}),!0):!1}flyIn(e,r){const{sceneObject:s,czmViewer:o}=this;return o.actived?s.flyInParam?super.flyIn(e,r):this.flyTo(e,r):!1}};N(Mc,"type",Mc.register("ESCesiumViewer",Q.ESTerrainLayer.type,Mc));let mg=Mc;function qQ(t){const n=t.indexOf("?"),r=t.slice(n+1).split("&"),s={};for(var o=0;o<r.length;o++){var i=r[o].split("=");s[i[0]]=i[1]}return s}class QS extends E.Destroyable{constructor(e,r){super();N(this,"_czmTextLabel");N(this,"flyTo",(e,r)=>{if(this.czmTextLabel.position){Ue(this.czmViewer.viewer,this.czmTextLabel.position,1e3,Jn,e);return}this.czmTextLabel.flyTo(e&&e*1e3)});this.czmViewer=r,this._czmTextLabel=this.disposeVar(new Ur(r,e.id));const s=this._czmTextLabel,o=()=>{const a=e.anchor,l=e.offset;a?s.originRatioAndOffset=[...a,-l[0],-l[1]]:s.originRatioAndOffset=[0,0,0,0]},i=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(i.disposableOn(()=>o())),o(),this.dispose(E.track([s,"zOrder"],[e,"zOrder"])),this.dispose(E.track([s,"show"],[e,"show"])),this.dispose(E.bind([s,"text"],[e,"text"])),this.dispose(E.track([s,"color"],[e,"color"])),this.dispose(E.track([s,"backgroundColor"],[e,"backgroundColor"])),this.dispose(E.bind([s,"textEditingInteraction"],[e,"textEditingInteraction"])),this.dispose(E.bind([s,"textEditing"],[e,"textEditing"])),this.dispose(E.bind([s,"position"],[e,"position"])),this.dispose(E.track([s,"width"],[e,"width"])),this.dispose(E.track([s,"opacity"],[e,"opacity"])),this.dispose(E.track([s,"padding"],[e,"padding"])),this.dispose(E.track([s,"borderRadius"],[e,"borderRadius"])),this.dispose(E.track([s,"borderColor"],[e,"borderColor"])),this.dispose(E.track([s,"borderWidth"],[e,"borderWidth"])),this.dispose(E.track([s,"textAlign"],[e,"textAlign"])),this.dispose(E.track([s,"fontSize"],[e,"fontSize"])),this.dispose(E.track([s,"borderStyle"],[e,"borderStyle"])),this.dispose(E.track([s,"pickOnClick"],[e,"allowPicking"]));{const a=()=>{s.scale=[e.scale[1],e.scale[2]]};a(),this.dispose(e.scaleChanged.don(a))}{const a=()=>{e.sizeByContent?(s.width=void 0,s.height=void 0):(s.width=e.size[0],s.height=e.size[1])};a(),this.dispose(e.sizeByContentChanged.don(a)),this.dispose(e.sizeChanged.don(a))}this.d(s.pickedEvent.don(a=>{var f;const l=(f=Zo(a,"pickResult"))==null?void 0:f.pointerEvent;if(!l)return;const h={type:l.buttons!=0&&l.button==0?"leftClick":l.button==2?"rightClick":void 0,add:{mousePos:[l.offsetX,l.offsetY]}};h.type==null&&(h.type=l.type),e.widgetEvent.emit(h),l.buttons!=0&&l.button==0&&(e.allowPicking??!1)&&e.pickedEvent.emit(a)}));{let a;const l=h=>{h&&(a=h),a&&(a.style.pointerEvents=e.editing?"none":"all")};this.d(e.editingChanged.don(()=>l(void 0))),this.ad(this._czmTextLabel.divCreatedEvent.don(h=>l(h)))}}get czmTextLabel(){return this._czmTextLabel}}class HS extends E.Destroyable{constructor(e,r){super();N(this,"_czmTextLabel");N(this,"_czmImageModel");N(this,"_url",this.disposeVar(E.react("")));N(this,"_defaultSize",this.disposeVar(E.react([1,1])));N(this,"_size",this.disposeVar(E.react([1,1])));N(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});N(this,"_isPointEvent",!1);N(this,"flyTo",(e,r)=>{if(this.czmImageModel.position)return er(this._czmViewer,this.sceneObject,r,this.sceneObject.position,Math.max(...this.czmImageModel.size),e,!0);this.czmImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this._czmViewer=r,this._czmTextLabel=this.disposeVar(new Ur(r,e.id)),this._czmImageModel=this.disposeVar(new yi(r,e.id));const s=this._czmViewer,o=this._czmTextLabel;o.originRatioAndOffset=[1e3,0,0,0],this.dispose(o.divCreatedEvent.disposableOn(l=>{const h=setTimeout(()=>{km(l,{backgroundColor:null,allowTaint:!1,useCORS:!0,width:l.offsetWidth,height:l.offsetHeight,scale:1}).then(f=>{if(clearTimeout(h),this.isDestroyed())return;const u=new Image;u.onload=()=>{e.sizeByContent?this._size.value=[u.width/100,u.height/100]:this._size.value=[e.size[0]/100,e.size[1]/100]},u.src=f.toDataURL("image/png"),this._url.value=f.toDataURL("image/png")}).catch(f=>{clearTimeout(h),console.error(f)})},50);this.dispose(()=>clearTimeout(h))})),this.dispose(E.bind([o,"position"],[e,"position"])),this.dispose(E.bind([o,"text"],[e,"text"])),this.dispose(E.track([o,"color"],[e,"color"])),this.dispose(E.track([o,"fontSize"],[e,"fontSize"]));const i=()=>{const l=e.anchor,h=e.offset;l?this.czmImageModel.originRatioAndOffset=[...l,-h[0]/100,-h[1]/100]:this.czmImageModel.originRatioAndOffset=[0,0,0,0]},a=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(a.disposableOn(()=>i())),i();{const l=()=>{this._czmTextLabel.show=!1;const h=this._czmImageModel;h.uri=this._url.value,h.pixelSize=void 0,h.useAxis="XZ",this.dispose(this.sizeChanged.disposableOn(()=>{h.size=this._size.value})),this.dispose(E.track([h,"show"],[e,"show"])),this.dispose(E.bind([h,"position"],[e,"position"])),this.dispose(E.track([h,"allowPicking"],[e,"allowPicking"]));{const f=()=>{h.scale=[e.scale[1],e.scale[2]]};f(),this.d(e.scaleChanged.don(f))}{const f=()=>{e.rotationType===0&&(h.rotationMode="WithProp",this.d(jt([h,"rotation"],[e,"rotation"]))),e.rotationType===1&&(h.rotationMode="WithCamera"),e.rotationType===2&&(h.rotationMode="WithCameraOnlyZ")};f(),this.dispose(e.rotationTypeChanged.disposableOn(f))}};this.dispose(this._url.changed.disposableOn(l))}this.ad(s.clickEvent.don(l=>{const h=l==null?void 0:l.pointerEvent;h&&(this._isPointEvent=!0,this._eventInfo={type:h.button==0?"leftClick":h.button==2?"rightClick":"leftClick",add:{mousePos:[h.offsetX,h.offsetY]}})})),this.d(e.pickedEvent.don(l=>{var h,f,u;l.screenPosition&&this._isPointEvent&&l.attachedInfo!="innerHoverEvent"&&((h=this._eventInfo.add)!=null&&h.mousePos)&&Math.abs(l.screenPosition[0]-((f=this._eventInfo.add)==null?void 0:f.mousePos[0]))<1&&Math.abs(l.screenPosition[1]-((u=this._eventInfo.add)==null?void 0:u.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),Q.registerCreatedEventUpdate(this,e,()=>{const l=s.getEngineObject(e);this.ad(l.lastHoverResultChanged.don((h,f)=>{(h==null?void 0:h.sceneObject)==(f==null?void 0:f.sceneObject)||(h==null?void 0:h.sceneObject)!=e&&(f==null?void 0:f.sceneObject)!=e||(h!=null&&h.sceneObject&&(this._eventInfo={type:"mouseEnter",add:{mousePos:h==null?void 0:h.screenPosition}},h.sceneObject.widgetEvent.emit(this._eventInfo)),f!=null&&f.sceneObject&&(this._eventInfo={type:"mouseLeave",add:{mousePos:h==null?void 0:h.screenPosition}},f.sceneObject.widgetEvent.emit(this._eventInfo)))}))})}get czmTextLabel(){return this._czmTextLabel}get czmImageModel(){return this._czmImageModel}get url(){return this._url.value}get defaultSize(){return this._defaultSize.value}get defaultSizeChanged(){return this._defaultSize.changed}get size(){return this._size.value}get sizeChanged(){return this._size.changed}}const Oc=class Oc extends Pu{constructor(e,r){super(e,r);N(this,"_event",this.disposeVar(E.createNextAnimateFrameEvent(this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged)));N(this,"_resetting",this.disposeVar(new E.ObjResettingWithEvent(this._event,()=>this.sceneObject.screenRender?new QS(this.sceneObject,this.czmViewer):new HS(this.sceneObject,this.czmViewer))));if(!r.viewer){console.warn("viewer is undefined!");return}}get event(){return this._event}get resetting(){return this._resetting}flyTo(e,r){const{sceneObject:s,czmViewer:o,resetting:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i&&i.obj&&i.obj.flyTo(e,r),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Oc,"type",Oc.register("ESCesiumViewer",Q.ESTextLabel.type,Oc));let yg=Oc;const Dc=class Dc extends Ze{constructor(e,r){super(e,r);N(this,"_czmGeoDivSwitchPoi");if(this._czmGeoDivSwitchPoi=this.disposeVar(new ra(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoDivSwitchPoi;o.showIcon=!1,this.d(E.track([o,"zOrder"],[e,"zOrder"])),this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.track([o,"text"],[e,"info"],l=>Object.values(l??{title:"请输入内容"}).join())),this.dispose(E.bind([o,"position"],[e,"position"]));const i=()=>{const l=e.anchor,h=e.offset;l?o.originRatioAndOffset=[...l,-h[0],-h[1]]:o.originRatioAndOffset=[0,0,0,0]},a=this.ad(E.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(a.disposableOn(()=>i())),i()}get czmGeoDivSwitchPoi(){return this._czmGeoDivSwitchPoi}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmGeoDivSwitchPoi:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):i.position?(Ue(this.czmViewer.viewer,i.position,1e3,Jn,e),!0):(i.flyTo(e&&e*1e3),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Dc,"type",Dc.register("ESCesiumViewer",Q.ESUEWidget.type,Dc));let gg=Dc;const Rc=class Rc extends Ze{constructor(e,r){super(e,r);N(this,"_czmGeoPoint");if(this._czmGeoPoint=this.disposeVar(new nr(r,e.id)),!r.viewer){console.warn("viewer is undefined!");return}const o=this._czmGeoPoint;this.dispose(E.track([o,"show"],[e,"show"])),this.dispose(E.bind([o,"position"],[e,"position"]))}get czmGeoPoint(){return this._czmGeoPoint}flyTo(e,r){const{sceneObject:s,czmViewer:o,czmGeoPoint:i}=this;return o.actived?s.flyToParam||s.flyInParam?super.flyTo(e,r):(i.flyTo(e),s.flyOverEvent.emit(r,"over",o),!0):!1}};N(Rc,"type",Rc.register("ESCesiumViewer",Q.ESUnrealActor.type,Rc));let vg=Rc;var KQ=F.Primitive._modifyShaderPosition;F.Primitive._modifyShaderPosition=function(t,r,e){var r=KQ(t,r,e);return t.isCameraVideo&&r.indexOf("XBSJ_CAMERA_VIDEO")===-1&&(r=r.replace("void main()",`
|
|
4437
4437
|
#ifdef XBSJ_CAMERA_VIDEO
|
|
4438
4438
|
uniform mat4 u_boxMV;
|
|
4439
4439
|
#endif
|
|
@@ -4894,10 +4894,10 @@ void main()
|
|
|
4894
4894
|
{
|
|
4895
4895
|
out_FragColor = u_color;
|
|
4896
4896
|
}
|
|
4897
|
-
`,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},mt,t)}class Cj extends E.HasOwner{constructor(n){super(n);const{czmViewer:e}=this.owner;let r;this.dispose(()=>this.owner.hoveredPlaneType="none");const s=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const i=r=this._getStartInfo(o.pointerEvent);i&&(this.owner.hoveredPlaneType=i.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{r&&r.currentPlaneType!=="none"&&(s.restart(void 0,e,r),r=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const i=this._getStartInfo(o.pointerEvent);if(!i||i.currentPlaneType==="none")break;const{currentPlaneType:a}=i,l=[...this.owner.selfRotation];l[Er.rotationNum[a]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(E.createProcessingFromAsyncFunc(async(n,e,r)=>{const s=this.owner.circles[r.currentPlaneType];e.incrementDisabledInputStack(),n.disposer.dispose(()=>e.decrementDisabledInputStack()),n.disposer.dispose(e.pointerMoveEvent.don(o=>{if(r&&o.pointerEvent){const{offsetX:i,offsetY:a}=o.pointerEvent,l=[i,a],{currentPlaneType:h}=r;if(h==="none")return;const f=this.owner.getPlane(h);if(!r.currentV)return;const u=f.pick(l);if(!u||!this.owner.cartesian)return;const y=F.Cartesian3.subtract(r.currentV,this.owner.cartesian,new F.Cartesian3);F.Cartesian3.normalize(y,y);const v=F.Cartesian3.subtract(u,this.owner.cartesian,new F.Cartesian3);if(F.Cartesian3.normalize(v,v),!f.normal||!f.origin)return;const g=N0(y,v,f.normal),m=N0(f.origin,y,f.normal),p=N0(f.origin,v,f.normal);{const d=[...this.owner.selfRotation];d[Er.rotationNum[h]]=r.startRotation+g,this.owner.selfRotation=d,s.circleStartRotation=m,s.circleEndRotation=p}}})),this.owner.movingPlaneType=r.currentPlaneType,n.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),n.disposer.dispose(()=>{s.circleStartRotation=0,s.circleEndRotation=0}),await E.step(n,o=>new Promise((i,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{i()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{i()}))}))}))}_pickPlane(n,e,r,s,o){const i=this.owner.cartesian;if(!i)return;const{selfRotation:a}=this.owner,l=this.owner.getPlane(r).pick(s);if(!l)return;const h=F.Cartesian3.distance(i,l),f=o/4,u=f*3/128;if(!(h>=f-u&&h<=f+u))return;const v=F.Cartesian3.distance(e.camera.positionWC,l);n.currentD2c<=v||(n.currentPlaneType=r,n.currentD2c=v,n.currentV=l,n.startRotation=a[Er.rotationNum[r]])}_getStartInfo(n){var f;const{czmViewer:e}=this.owner,r=(f=e.viewer)==null?void 0:f.scene;if(!this.owner.position||!this.owner.cartesian)return;const s=ii(r,this.owner.cartesian,this.owner.pixelSize);if(!s)return;const{offsetX:o,offsetY:i}=n,a=[o,i],l=n.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(h,r,"heading",a,s),this._pickPlane(h,r,"pitch",a,s),this._pickPlane(h,r,"roll",a,s),h}}function N0(t,n,e){const r=F.Cartesian3.cross(n,t,new F.Cartesian3);if(r.equals(F.Cartesian3.ZERO))return 0;F.Cartesian3.normalize(r,r);const s=F.Cartesian3.dot(r,e);let o=Math.acos(F.Cartesian3.dot(t,n))*180/Math.PI;return o=s>0?o:-o,o}const La=class La extends $n{constructor(e){super();N(this,"_hoveredPlaneType",this.disposeVar(E.react("none")));N(this,"_movingPlaneType",this.disposeVar(E.react("none")));N(this,"_circles");N(this,"_czmCameraModel");N(this,"_cartesian");N(this,"_planes",{heading:this.disposeVar(new vj(this)),pitch:this.disposeVar(new wj(this)),roll:this.disposeVar(new bj(this))});N(this,"_rotatorRunningResetting");this._czmViewer=e;const r=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new E.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new Cj(this)})),this._circles={heading:this._createRotatorCircle(r,"heading"),pitch:this._createRotatorCircle(r,"pitch"),roll:this._createRotatorCircle(r,"roll")},!!r.viewer){{const o=()=>{this._cartesian=this.position&&Tt(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(r)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new tn(e),this._czmCameraModel.url="${earthsdk3-assets-script-dir}/assets/glb/camera1/camera1.gltf",this._czmCameraModel.localRotation=[90,0,0],this._czmCameraModel.allowPicking=!1,this._czmCameraModel.opaquePass="OVERLAY",this.dispose(E.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],r=>r*.1)),this.dispose(E.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(E.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const r=()=>{const s=At({rotation:this.selfRotation});if(!s)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=F.Matrix4.toArray(s))};r(),this.dispose(this.selfRotationChanged.disposableOn(r))}{const r=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};r(),this.dispose(this.enabledChanged.disposableOn(r)),this.dispose(this.showHelperChanged.disposableOn(r))}}_createRotatorCircle(e,r){const s=this.ad(new ll(e));this.dispose(E.track([s,"position"],[this,"position"])),this.dispose(E.track([s,"pixelSize"],[this,"pixelSize"])),this.dispose(E.track([s,"debug"],[this,"debug"])),this.dispose(E.track([s,"rotation"],[this,"rotation"]));{const o=()=>{s.selfRotation=La.rotationFuncs[r](this.selfRotation),s.circleRotation=this.selfRotation[La.rotationNum[r]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const i=this.movingPlaneType===r,a=this.hoveredPlaneType===r,h=[0,0,0,i||a?1:.8];h[La.rotationNum[r]]=1,s.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return s}};N(La,"rotationNum",{heading:0,pitch:1,roll:2}),N(La,"rotationFuncs",{heading:([e,r,s])=>[0,0,0],pitch:([e,r,s])=>[e,0,-90],roll:([e,r,s])=>[e,r+90,0]});let Er=La;(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),rotation:E.reactArray([0,0,0]),selfRotation:E.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Er||(Er={})),E.extendClassProps(Er.prototype,Er.createDefaultProps);const za=class za extends E.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(n){this.positions=[n??za.defaults.positions[0],this.stopPosition??za.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(n){this.positions=[this.startPosition??za.defaults.positions[0],n??za.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(n,e){if(super(),!n.viewer)return;const s=this.ad(new lt(n,e));s.arcType="RHUMB";const o=this.ad(new nr(n,e));this.ad(E.track([s,"allowPicking"],[this,"allowPicking"])),this.ad(E.track([o,"allowPicking"],[this,"allowPicking"]));{const i=()=>{s.show=o.show=this.show};i(),this.ad(this.showChanged.don(i))}{const i=()=>{s.width=this.width/2,o.pixelSize=this.width};i(),this.ad(this.widthChanged.don(i))}{const i=()=>{s.color=o.color=this.color};i(),this.ad(this.colorChanged.don(i))}{const i=()=>{s.positions=this.positions,o.position=this.stopPosition};i(),this.dispose(this.startPositionChanged.disposableOn(i)),this.dispose(this.stopPositionChanged.disposableOn(i))}}};N(za,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let Ia=za;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:E.reactPositions(t.defaults.positions),width:10,color:E.reactArray([1,0,0,1])})})(Ia||(Ia={})),E.extendClassProps(Ia.prototype,Ia.createDefaultProps);class Fi extends $n{constructor(e){super();N(this,"_lastPosition");N(this,"_opInfo",{step:this.ad(E.react(!1)),moved:this.ad(E.react(!1)),constraintMode:this.disposeVar(E.react("none")),originPosition:this.disposeVar(E.reactArray([0,0,0])),originHeading:this.disposeVar(E.react(0)),originDimensions:this.disposeVar(E.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(E.reactArray([0,0,0])),movingPosition:this.disposeVar(E.reactArray([0,0,0])),targetPosition:this.disposeVar(E.reactArray([0,0,0])),targetHeading:this.disposeVar(E.react(0))});N(this,"_scaleAxis");N(this,"_pickingXYProcessing",e=>this.disposeVar(new E.Processing((r,s,o)=>{const i=[0,0,0],a=new F.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const h=pr(E.getDomEventCurrentTargetPos(l.pointerEvent));if(!ja(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Qa(a,i),this._opInfo.constraintMode.value==="x"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value,i,i):this._opInfo.constraintMode.value==="y"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,i,i):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=i,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const f=[0,0,0];Q.geoRhumbDestination(i,o,s,f),this._opInfo.targetPosition.value=f;let u=this.scale[0],y=this.scale[1];const v=Q.geoDistance(f,this._opInfo.originPosition.value)-Q.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...f];const g=this._opInfo.originDimensions.value[0]/100;v!=0&&this._opInfo.constraintMode.value==="y"&&(v>0?u+=g:u-=g),v!=0&&this._opInfo.constraintMode.value==="x"&&(v>0?y+=g:y-=g),u<=0&&(u+=g),y<=0&&(y+=g),this.scale=[u??1,y??1,this.scale[2]??1]})})));N(this,"_pickingZProcessing",e=>this.disposeVar(new E.Processing(()=>{const r=new F.Cartesian3,s=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const i=pr(E.getDomEventCurrentTargetPos(o.pointerEvent));if(!Hh(e.viewer.scene,Tt(this._opInfo.originPosition.value),i,r))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(He(r,s)){this._opInfo.movingPosition.value=s;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],s[2]+a];let h=this.scale[2];const f=s[2]-this._lastPosition[2];this._lastPosition=[...s];const u=this._opInfo.originDimensions.value[0]/100;f!=0&&(f>0?h+=u:h-=u),h<=0&&(h+=u),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const r=e.viewer;if(!r)return;const{scene:s}=r;this.ad(new zp(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:f,yAxis:u,xAxis:y}=this._scaleAxis,v=this._opInfo.constraintMode.value,g=this._opInfo.step;f.color=[0,0,1,.99],u.color=[0,1,0,.99],y.color=[1,0,0,.99],v==="x"?y.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="y"?u.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="z"&&(f.color=g?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:u=Fi.defaults.position}=this,{zAxis:y,yAxis:v,xAxis:g}=this._scaleAxis;y.startPosition=v.startPosition=g.startPosition=u;const[m,p,d]=u;y.stopPosition=[m,p,d+this._opInfo.originDimensions.value[2]];const c=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[0],90);c&&(g.stopPosition=c);const A=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);A&&(v.stopPosition=A)};h();const f=this.ad(E.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(f.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((f,u)=>f===this._opInfo.targetPosition.value[u])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),i=this._pickingZProcessing(e),a=this.disposeVar(E.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await E.step(h,async f=>{const u=()=>{const g=[...this.position??Fi.defaults.position];e.editingHeightOffset&&(g[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=g};f.disposer.dispose((u(),this.positionChanged.disposableOn(u)));const y={constraintMode:"none",startDragPos:[0,0,0]},v=g=>{if(!this.position)return;const m={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Pp(g,s,m,this.axisSnapPixelSize,y),this._opInfo.constraintMode.value=y.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=y.startDragPos};f.disposer.dispose(e.pointerMoveEvent.disposableOn(g=>{g.pointerEvent&&v(g.pointerEvent)})),await E.step(f,g=>new Promise((m,p)=>{g.disposer.dispose(p),g.disposer.dispose(e.pointerDownEvent.don(d=>{d.pointerEvent&&v(d.pointerEvent),d.pointerEvent&&d.pointerEvent.button===0&&y.constraintMode!=="none"&&m()}))}))}),this._opInfo.step.value=!1,await E.step(h,async f=>{if(e.incrementDisabledInputStack(),f.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const u=Q.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),y=Q.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,y),f.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(i.restart(),f.disposer.dispose(()=>i.cancel()));await E.step(f,u=>new Promise((y,v)=>{u.disposer.dispose(v),u.disposer.dispose(e.pointerUpEvent.don(()=>{y()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{y()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,r){const s=this.ad(new Ia(e));return s.width=10,this.ad(E.track([s,"show"],[this,"enabled"])),s}}(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),scale:E.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(Fi||(Fi={})),E.extendClassProps(Fi.prototype,Fi.createDefaultProps);const Vo=class Vo extends En{constructor(e){super();N(this,"_editingPoints",this.disposeVar(new E.ObservableArray));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_currentProcess");N(this,"_menuPoiEnabled",this.disposeVar(E.react(!1)));N(this,"_status",this.disposeVar(E.react("None")));N(this,"_positionsChanged",this.ad(new E.Event));N(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(r=>{for(let{start:s,deleteCount:o,items:i}of r){for(const a of i)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=s;a<s+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let r of this.editingPoints)r.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(r=>{this.ad(E.nextAnimateFrame(()=>{var s;((s=r.pointerEvent)==null?void 0:s.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(r=>{this._currentProcess&&(r?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const r=()=>{this.polylineShow=this.czmViewer.editingLineShow};r(),this.ad(this.czmViewer.editingLineShowChanged.don(r))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let r of this._editingPoints)r.position&&e.push([...r.position]);return e}resetPositions(e){if(this.enabled??Vo.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const r=e||[];return!(r.length===this.editingPoints.length&&r.every((s,o)=>s.every((i,a)=>{const l=this.editingPoints.get(o);return l.position&&l.position[a]===i})))}forceResetPositions(e){(this.enabled??Vo.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const r=this.ad(new lt(e));this.ad(E.track([r,"color"],[this,"polylineColor"])),this.ad(E.track([r,"width"],[this,"polylineWidth"])),this.ad(E.track([r,"show"],[this,"polylineShow"])),this.ad(E.track([r,"arcType"],[this,"polylineArcType"])),this.ad(E.track([r,"loop"],[this,"loop"]));{const s=()=>{const o=[];for(const i of this.getPositions())i[2]-=e.editingHeightOffset??0,o.push(i);r.positions=o};s(),this.ad(this.positionsChanged.don(s))}}_createCursorInfo(e){const r=this._cursorInfo=this.ad(new E.CursorInfo(e.container,E.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const s=this.status;if(r){if(!this.hideCursorInfo){r.show=!1;return}s==="Adding"?(r.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",r.show=!0):s==="Modifying"||s==="Modifying_Point"?(r.text="Esc键或左键双击:退出编辑状态",r.show=!0):s==="None"&&(r.text="",r.show=!1)}}))}};N(Vo,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),N(Vo,"defaults",{...En.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:Vo.baseImageUrl+"point-green.png",otherControlPointImageUrl:Vo.baseImageUrl+"point-yellow.png"});let cr=Vo;(t=>{t.createDefaultProps=()=>({...En.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:E.reactArray([1,1,1,1]),polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,firstControlPointImageUrl:t.baseImageUrl+"point-green.png",otherControlPointImageUrl:t.baseImageUrl+"point-yellow.png",hideCursorInfo:!1,middlePointShow:!0})})(cr||(cr={})),E.extendClassProps(cr.prototype,cr.createDefaultProps);let Sj=0;class m2 extends E.Destroyable{constructor(e,r){super();N(this,"_position",this.disposeVar(E.reactArrayWithUndefined(void 0)));N(this,"_id",Sj++);N(this,"_menuPoi");r&&(this.position=r),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const s=this._menuPoi=this.ad(new os(e.czmViewer));s.enabled=!1,this.ad(E.track([s,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){s.position=void 0;return}const i=[...this.position];i[2]-=e.czmViewer.editingHeightOffset??0,s.position=i,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const i=e.editingPoints.indexOf(this)+1;i!==0&&(s.title=`控制点${i}`,i===1?s.imageUri=e.firstControlPointImageUrl??cr.defaults.firstControlPointImageUrl:s.imageUri=e.otherControlPointImageUrl??cr.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class y2 extends m2{constructor(n,e){super(n,e)}}class Lt extends cr{constructor(e){super(e);N(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new E.Event));N(this,"placeEditing");if(!e.viewer)return;const r=this.placeEditing=this.ad(new Sr(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??Lt.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Lt.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await s.promise(E.step(s,async o=>{const i=o.disposer,a=i.ad(this._addingEditingProcessing());i.dispose(()=>"adding canceled!"),i.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(l=>{i.dispose(a.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new y2(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Lt.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},r=E.createProcessingFromAsyncFunc(async s=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await s.promise(E.step(s,async a=>{let l;!e()&&(l=a.disposer.disposeVar(new Ej(this,o)));const f=a.disposer.disposeVar(new Tj(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>f.do())),await a.promise(new Promise(u=>{l&&a.disposer.dispose(l.overEvent.disposableOnce(y=>{y?(o++,u(!0)):u(!1)})),a.disposer.dispose(f.overEvent.disposableOnce(y=>{y?(o--,u(!0)):u(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>u(!1)))}))})))break;while(!0)});return r.start(),r}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps()})})(Lt||(Lt={})),E.extendClassProps(Lt.prototype,Lt.createDefaultProps);class Ej extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));const{placeEditing:s}=e;let o=new y2(e,void 0);e.editingPoints.splice(r,0,o);const i=()=>{(e.debug??Lt.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(s.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(E.track([o,"position"],[s,"position"])),s.enabled=!0;let a=!1;const l=()=>{i(),this._overEvent.emit(!1)};this.dispose(()=>{s.enabled=!1,!a&&l()}),this.dispose(s.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??Lt.defaults.debug)&&console.log(`PointAdding creating! index(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PointAdding destroying! index(${r})`)})}get overEvent(){return this._overEvent}}function Pj(t,n){const e=t.editingPoints,r=n-1;return r<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(r,1),!0)}class Tj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_doEvent",this.disposeVar(new E.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(Pj(e,r)))),(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${r})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class g2 extends Lt{constructor(n){super(n),this.loop=!1}}class v2 extends Lt{constructor(n){super(n),this.loop=!0}}class Ap extends m2{constructor(n,e){super(n,e);{const{menuPoi:r}=this;r.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],r.clickCommandName="modify",r.rightClickCommandName="delete",this.dispose(r.commandEvent.disposableOn(s=>{n.menuPoiCommand(this,s)})),this.dispose(r.dbclickEvent.disposableOn(()=>{n.menuPoiCommand(this,"dbClick")}))}if(n.middlePointShow){const r=this.ad(new Rr(n.czmViewer));{r.imageUri=n.firstControlPointImageUrl??ht.defaults.firstControlPointImageUrl,r.tooltip="点击增加一个控制点",r.bgColor=[0,0,0,.6],r.fgColor=[1,1,1,1],r.size=[8,8],r.originRatioAndOffset=[.5,.5,0,0];{const s=()=>{if(!(n.enabled??ht.defaults.enabled)){r.enabled=!1,r.show=!1;return}do{const i=n.editingPoints.indexOf(this);if(i===-1)break;const a=n.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(n.loop??ht.defaults.loop)&&i+1>=a)break;const h=this.position;if(!h)break;let f=(i+1)%a;const y=n.editingPoints.get(f).position;if(!y)break;const v=Fp(h,y);if(!v)break;v[2]-=n.czmViewer.editingHeightOffset??0,r.position=v;const g=n.editingPoints.length<(n.maxPointsNum??ht.defaults.maxPointsNum);r.enabled=g,r.show=g;return}while(!1);r.enabled=!1,r.show=!1};s(),this.dispose(n.positionsChanged.disposableOn(s)),this.dispose(n.loopChanged.disposableOn(s)),this.dispose(n.enabledChanged.disposableOn(s))}this.dispose(r.clickEvent.disposableOn(s=>{if(s.button!==0||n.editingPoints.length>=(n.maxPointsNum??ht.defaults.maxPointsNum))return;const o=n.editingPoints.indexOf(this);if(o===-1)return;const i=r.position?[...r.position]:void 0;i&&(i[2]+=n.czmViewer.editingHeightOffset??0);let a=new Ap(n,i);n.editingPoints.splice(o+1,0,a),n.modify(a)}))}}}}class ht extends cr{constructor(e){super(e);N(this,"_menuPoiCommand",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"translationEditing");{const s=this.ad(E.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new E.ObjResettingWithEvent(s,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new Bj(this.editingPoints.get(0),this)}))}const r=this.translationEditing=this.disposeVar(new Ii(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??ht.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??ht.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await s.promise(E.step(s,async i=>{const a=i.disposer,l=a.ad(new Ij(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(f=>l.modify(f))),await i.promise(new Promise(f=>{a.dispose(l.overEvent.disposableOnce(u=>{f(u)}))}))})),o===-1){(this.debug??ht.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??ht.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??ht.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let l=o%this.editingPoints.length;const f=this.editingPoints.get(l).position;if(!f)return;const u=Fp(a,f);if(!u)return;u&&(u[2]+=this.czmViewer.editingHeightOffset??0);let y=new Ap(this,u);this.editingPoints.splice(o,0,y)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,r){this._menuPoiCommand.emit(e,r)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new Ap(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps(),moveWithFirstPosition:!1})})(ht||(ht={})),E.extendClassProps(ht.prototype,ht.createDefaultProps);class Bj extends E.Destroyable{constructor(n,e){super(),this._firstPositionEditor=n,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((r,s)=>{if(r===void 0||s===void 0)return;var o=[r[0]-s[0],r[1]-s[1],r[2]-s[2]];const i=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<i;a++){const l=this.multiPointsModifyEditing.editingPoints.get(a),h=l.position;h!==void 0&&(l.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class Ij extends E.Destroyable{constructor(e){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let r;const s=()=>{r==null||r.destroy(),r=void 0,e.status="Modifying"};this.dispose(s);const o=i=>{s(),e.status="Modifying_Point",r=new Fj(e,i),r.dispose(r.overEvent.disposableOn(()=>{s()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((i,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(a==="modify")o(i);else if(a==="add"){const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class Fj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));this._modifying=e,this._posEditor=r,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:s}=this._modifying;if(s.enabled=!0,s.heading=0,this.dispose(()=>{s.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");s.position=this._posEditor.position,this.dispose(E.track([this._posEditor,"position"],[s,"position"])),this.dispose(s.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class w2 extends ht{constructor(n){super(n),this.loop=!1}}class b2 extends ht{constructor(n){super(n),this.loop=!0}}class ul extends Lt{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(s<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([90,0,0]),distance:E.react(1)})})(ul||(ul={})),E.extendClassProps(ul.prototype,ul.createDefaultProps);class Fa extends ht{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let l of this.editingPoints)l.menuPoi.commands=[["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(Math.abs(s)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([0,0,0]),distance:E.react(0)})})(Fa||(Fa={})),E.extendClassProps(Fa.prototype,Fa.createDefaultProps);class _2 extends Lt{constructor(n){super(n),this.loop=!1,this.polylineShow=!1}}class x2 extends ht{constructor(n){super(n),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class cl extends Lt{constructor(n){super(n),n.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(cl||(cl={})),E.extendClassProps(cl.prototype,cl.createDefaultProps);class hl extends ht{constructor(n){if(super(n),!!n.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(hl||(hl={})),E.extendClassProps(hl.prototype,hl.createDefaultProps);class C2 extends Fa{constructor(n){super(n),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class vn extends Q.EngineObject{constructor(e,r,s){super(e,r,s??!0);N(this,"_supportEditing",this.disposeVar(E.react(!0)));N(this,"_currentEditing",this.disposeVar(E.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof Lt&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof Sr&&this.currentEditing.enabled&&(e.position=[0,0,0])}}))}get supportEditing(){return this._supportEditing.value}set supportEditing(e){this._supportEditing.value=e}get supportEditingChanged(){return this._supportEditing.changed}get currentEditing(){return this._currentEditing.value}set currentEditing(e){this._currentEditing.value=e}get currentEditingChanged(){return this._currentEditing.changed}}const Ch=class Ch extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Sr(e));this.ad(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)==2&&(r.enabled=!0)}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"])),r.enabled=!r.position||Q.equalsN3(r.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};N(Ch,"type",Ch.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Place,Ch));let V0=Ch;const Sh=class Sh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Er(e));r.rotation=[90,0,0],this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);s&&(this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"])))});break}if(Reflect.has(n,"position")&&Reflect.has(n,"rotation")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"]));break}this.supportEditing=!1}while(!1)}};N(Sh,"type",Sh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Rotation,Sh));let Q0=Sh;const Eh=class Eh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Fi(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")&&Reflect.has(n,"scale")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"scale"],[n,"scale"]));break}this.supportEditing=!1}while(!1)}};N(Eh,"type",Eh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Scale,Eh));let H0=Eh;const Ph=class Ph extends vn{constructor(n,e){super(Array.isArray(n)?n[0]:n,e,!0);const r=this.currentEditing=this.ad(new Ii(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(n)){const s=[];for(let o=0;o<n.length;o++){const i=n[o];Reflect.has(i,"position")?s.push(i.position):i.points&&s.push(...i.points)}r.position=Q.getMinMaxCorner(s).center,this.ad(r.positionChanged.disposableOn((o,i)=>{if(!(!o||!i)){var a=Tn({originPosition:i},[o])[0][0];n.forEach(l=>{if(Reflect.has(l,"position")){const h=Tn({originPosition:i},[l.position])[0][0];l.position=Vi({originPosition:i},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const h=Tn({originPosition:i},l.points)[0];l.points=Vi({originPosition:i},h.map(f=>[f[0]+a[0],f[1]+a[1],f[2]+a[2]]))[0]}})}}));break}if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"]));break}if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"]))});break}if(Reflect.has(n,"points")){if(n.points===void 0||n.points.length===0){this.destroy();break}r.position=Q.getMinMaxCorner(n.points).center,this.ad(r.positionChanged.disposableOn((s,o)=>{if(s===void 0||o===void 0||n.points===void 0||n.points.length===0){this.destroy();return}var i=Tn({originPosition:o},[s])[0][0];const a=Tn({originPosition:o},n.points)[0];n.points=Vi({originPosition:o},a.map(l=>[l[0]+i[0],l[1]+i[1],l[2]+i[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};N(Ph,"type",Ph.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Translation,Ph));let mp=Ph;const Th=class Th extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new ul(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const s=Tt(n.position);if(F.Cartesian3.ZERO.equals(s)||!e.viewer)return;r.distance=ii(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1);r.startPosition&&!Q.equalsN3(r.startPosition,[0,0,0])&&r.init(),r.enabled=!0}};N(Th,"type",Th.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsAppend,Th));let j0=Th;const Bh=class Bh extends vn{constructor(n,e){var o;if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new Fa(e));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const i=Tt(n.position);if(F.Cartesian3.ZERO.equals(i)||!e.viewer)return;r.distance=ii(e.viewer.scene,i,100)??1}while(!1);break}if(Reflect.has(n,"points")&&((o=n.points)==null?void 0:o.length)==2){r.moveWithFirstPosition=!1;const i=()=>r.positions=n.points??[];i(),this.ad(n.pointsChanged.don(()=>!r.enabled&&i())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Bh,"type",Bh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsModify,Bh));let G0=Bh;const Ih=class Ih extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new v2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Ih,"type",Ih.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularAppend,Ih));let W0=Ih;const Fh=class Fh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new b2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Fh,"type",Fh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularInsert,Fh));let q0=Fh;const kh=class kh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new g2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(kh,"type",kh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringAppend,kh));let K0=kh;const Mh=class Mh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new w2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Mh,"type",Mh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringInsert,Mh));let X0=Mh;const Oh=class Oh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new _2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Oh,"type",Oh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterAppend,Oh));let $0=Oh;const Dh=class Dh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new x2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Dh,"type",Dh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterModify,Dh));let Z0=Dh;const Rh=class Rh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new cl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Rh,"type",Rh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityAppend,Rh));let Y0=Rh;const Uh=class Uh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new hl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Uh,"type",Uh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityModify,Uh));let J0=Uh;const Lh=class Lh extends vn{constructor(n,e){if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new C2(e));do{if(Reflect.has(n,"points")){const o=Reflect.has(n,"extrudedHeight"),i=Reflect.has(n,"height"),a=Reflect.has(n,"perPositionHeight")?n.perPositionHeight:!o,l=n instanceof Q.ESClassification||n instanceof Q.ESPolygonFence;let h=Q.getMinMaxCorner(n.points).center,f=[...h],u=l?n.points[0][2]:0;a?o?f[2]=n.extrudedHeight:f[2]=n.height+u:(i&&(h[2]=n.height),o&&(f[2]=n.extrudedHeight)),r.startPosition=h,r.distance=f[2]-h[2],r.moveWithFirstPosition=!1;let y=[...h];this.ad(r.positionsChanged.don(()=>{r.positions.length===2&&(a?(n.points=n.points.map(v=>[v[0],v[1],v[2]+r.positions[0][2]-y[2]]),o?n.extrudedHeight=r.positions[1][2]:i&&(n.height=r.positions[1][2]-(l?r.positions[0][2]:0))):(i&&(n.height=r.positions[0][2]),o&&(n.extrudedHeight=r.positions[1][2])),y=[...r.positions[0]])}));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Lh,"type",Lh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.HeightModify,Lh));let ew=Lh;function S2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s,o=!0)=>{const i=Array.isArray(s)?[...s]:[s],a=r.editingID;e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"start",add:{modes:i}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"end",add:{modes:i}}),t.isRunning&&t.cancel()};n.disposer.ad(l),n.disposer.ad(r.toDestroyEvent.don(l)),n.disposer.ad(e.keyDownEvent.don(f=>{f.code=="Escape"&&l()}));let h=0;do{const f=i[h%i.length],u=await E.step(n,async y=>{const v=y.disposer,g=Q.EngineObject.contextEditing.getEngineObjConstructor(f,e.typeName);if(!g||!r.supportEditingModes().includes(f))return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;const m=new g(r,e);if(v.ad(()=>{!m.isDestroyed()&&m.destroy()}),m.supportEditing)e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;return await y.promise(new Promise(d=>{m.isDestroyed()&&d(!1),v.ad(m.toDestroyEvent.don(()=>{console.log(`编辑模式${f}结束`),d(!1)})),o&&(v.ad(e.keyDownEvent.don(c=>{c.code=="Space"&&(console.log(`编辑模式${f}结束`),d(!1))})),v.ad(e.dblclickEvent.don(()=>d(!0))))}))});if(o&&u||!o&&h==i.length-1||e.notSupportEditingCount==i.length)break;h++}while(!0)});return t}function E2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s)=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"end"}),t.isRunning&&t.cancel()};n.disposer.ad(o),n.disposer.ad(e.keyDownEvent.don(a=>{a.code=="Escape"&&o()}));const i=new mp(r,e);n.disposer.ad(()=>{!i.isDestroyed()&&i.destroy()}),await n.promise(new Promise(a=>{i.isDestroyed()&&a(),n.disposer.ad(i.toDestroyEvent.don(()=>{console.log("移动结束"),a()})),n.disposer.ad(e.dblclickEvent.don(()=>a()))}))});return t}ue.copyright=void 0;try{const t="earthsdk3-cesium",n="3.0.7-beta.21",e="2025-06-16T03:30:33.000Z",r="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="c23ced783039305cf177e3e481e98b9d5fb9213a",a=((Date.now()-1750044633e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${o.slice(0,8)}.${e} (距今${a}个小时)
|
|
4897
|
+
`,uniformMap:{u_color:[1,1,0,1]},name:"CzmCustomPrimitive_47fd",attributes:{position:{typedArray:{type:"Float32Array",array:[0,0,0,0,0,1]},componentsPerAttribute:3}}},mt,t)}class Cj extends E.HasOwner{constructor(n){super(n);const{czmViewer:e}=this.owner;let r;this.dispose(()=>this.owner.hoveredPlaneType="none");const s=this._createRotatorMoveProcessing();this.dispose(e.pointerMoveEvent.disposableOn(o=>{const i=r=this._getStartInfo(o.pointerEvent);i&&(this.owner.hoveredPlaneType=i.currentPlaneType)})),this.dispose(e.pointerDownEvent.disposableOn(o=>{r&&r.currentPlaneType!=="none"&&(s.restart(void 0,e,r),r=void 0)})),this.dispose(e.dblclickEvent.disposableOn(o=>{do{const i=this._getStartInfo(o.pointerEvent);if(!i||i.currentPlaneType==="none")break;const{currentPlaneType:a}=i,l=[...this.owner.selfRotation];l[Er.rotationNum[a]]=0,this.owner.selfRotation=l;return}while(!1);this.owner.enabled=!1}))}_createRotatorMoveProcessing(){return this.ad(E.createProcessingFromAsyncFunc(async(n,e,r)=>{const s=this.owner.circles[r.currentPlaneType];e.incrementDisabledInputStack(),n.disposer.dispose(()=>e.decrementDisabledInputStack()),n.disposer.dispose(e.pointerMoveEvent.don(o=>{if(r&&o.pointerEvent){const{offsetX:i,offsetY:a}=o.pointerEvent,l=[i,a],{currentPlaneType:h}=r;if(h==="none")return;const f=this.owner.getPlane(h);if(!r.currentV)return;const u=f.pick(l);if(!u||!this.owner.cartesian)return;const y=F.Cartesian3.subtract(r.currentV,this.owner.cartesian,new F.Cartesian3);F.Cartesian3.normalize(y,y);const v=F.Cartesian3.subtract(u,this.owner.cartesian,new F.Cartesian3);if(F.Cartesian3.normalize(v,v),!f.normal||!f.origin)return;const g=N0(y,v,f.normal),m=N0(f.origin,y,f.normal),p=N0(f.origin,v,f.normal);{const d=[...this.owner.selfRotation];d[Er.rotationNum[h]]=r.startRotation+g,this.owner.selfRotation=d,s.circleStartRotation=m,s.circleEndRotation=p}}})),this.owner.movingPlaneType=r.currentPlaneType,n.disposer.dispose(()=>{this.owner.movingPlaneType="none"}),n.disposer.dispose(()=>{s.circleStartRotation=0,s.circleEndRotation=0}),await E.step(n,o=>new Promise((i,a)=>{o.disposer.dispose(a),o.disposer.dispose(e.pointerUpEvent.don(()=>{i()})),o.disposer.dispose(e.pointerOutEvent.don(()=>{i()}))}))}))}_pickPlane(n,e,r,s,o){const i=this.owner.cartesian;if(!i)return;const{selfRotation:a}=this.owner,l=this.owner.getPlane(r).pick(s);if(!l)return;const h=F.Cartesian3.distance(i,l),f=o/4,u=f*3/128;if(!(h>=f-u&&h<=f+u))return;const v=F.Cartesian3.distance(e.camera.positionWC,l);n.currentD2c<=v||(n.currentPlaneType=r,n.currentD2c=v,n.currentV=l,n.startRotation=a[Er.rotationNum[r]])}_getStartInfo(n){var f;const{czmViewer:e}=this.owner,r=(f=e.viewer)==null?void 0:f.scene;if(!this.owner.position||!this.owner.cartesian)return;const s=ii(r,this.owner.cartesian,this.owner.pixelSize);if(!s)return;const{offsetX:o,offsetY:i}=n,a=[o,i],l=n.pointerId,h={currentPlaneType:"none",currentD2c:Number.POSITIVE_INFINITY,currentV:void 0,startRotation:0,pointerId:l};return this._pickPlane(h,r,"heading",a,s),this._pickPlane(h,r,"pitch",a,s),this._pickPlane(h,r,"roll",a,s),h}}function N0(t,n,e){const r=F.Cartesian3.cross(n,t,new F.Cartesian3);if(r.equals(F.Cartesian3.ZERO))return 0;F.Cartesian3.normalize(r,r);const s=F.Cartesian3.dot(r,e);let o=Math.acos(F.Cartesian3.dot(t,n))*180/Math.PI;return o=s>0?o:-o,o}const La=class La extends $n{constructor(e){super();N(this,"_hoveredPlaneType",this.disposeVar(E.react("none")));N(this,"_movingPlaneType",this.disposeVar(E.react("none")));N(this,"_circles");N(this,"_czmCameraModel");N(this,"_cartesian");N(this,"_planes",{heading:this.disposeVar(new vj(this)),pitch:this.disposeVar(new wj(this)),roll:this.disposeVar(new bj(this))});N(this,"_rotatorRunningResetting");this._czmViewer=e;const r=this._czmViewer;if(this._rotatorRunningResetting=this.disposeVar(new E.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new Cj(this)})),this._circles={heading:this._createRotatorCircle(r,"heading"),pitch:this._createRotatorCircle(r,"pitch"),roll:this._createRotatorCircle(r,"roll")},!!r.viewer){{const o=()=>{this._cartesian=this.position&&Tt(this.position)||void 0};o(),this.dispose(this.positionChanged.disposableOn(o))}this._createCameraModel(r)}}get hoveredPlaneType(){return this._hoveredPlaneType.value}set hoveredPlaneType(e){this._hoveredPlaneType.value=e}get hoveredPlaneTypeChanged(){return this._hoveredPlaneType.changed}get movingPlaneType(){return this._movingPlaneType.value}set movingPlaneType(e){this._movingPlaneType.value=e}get movingPlaneTypeChanged(){return this._movingPlaneType.changed}get circles(){return this._circles}get czmCameraModel(){return this._czmCameraModel}get cartesian(){return this._cartesian}get czmViewer(){return this._czmViewer}getPlane(e){return this._planes[e]}get rotatorRunningResetting(){return this._rotatorRunningResetting}_createCameraModel(e){this._czmCameraModel=new tn(e),this._czmCameraModel.url="${earthsdk3-assets-script-dir}/assets/glb/camera1/camera1.gltf",this._czmCameraModel.localRotation=[90,0,0],this._czmCameraModel.allowPicking=!1,this._czmCameraModel.opaquePass="OVERLAY",this.dispose(E.track([this._czmCameraModel,"pixelSize"],[this,"pixelSize"],r=>r*.1)),this.dispose(E.track([this._czmCameraModel,"position"],[this,"position"])),this.dispose(E.track([this._czmCameraModel,"rotation"],[this,"rotation"]));{const r=()=>{const s=At({rotation:this.selfRotation});if(!s)throw new Error("!rm");this._czmCameraModel&&(this._czmCameraModel.localModelMatrix=F.Matrix4.toArray(s))};r(),this.dispose(this.selfRotationChanged.disposableOn(r))}{const r=()=>{this.circles.heading.show=this.enabled,this.circles.pitch.show=this.enabled,this.circles.roll.show=this.enabled,this._czmCameraModel&&(this._czmCameraModel.show=this.enabled&&this.showHelper)};r(),this.dispose(this.enabledChanged.disposableOn(r)),this.dispose(this.showHelperChanged.disposableOn(r))}}_createRotatorCircle(e,r){const s=this.ad(new ll(e));this.dispose(E.track([s,"position"],[this,"position"])),this.dispose(E.track([s,"pixelSize"],[this,"pixelSize"])),this.dispose(E.track([s,"debug"],[this,"debug"])),this.dispose(E.track([s,"rotation"],[this,"rotation"]));{const o=()=>{s.selfRotation=La.rotationFuncs[r](this.selfRotation),s.circleRotation=this.selfRotation[La.rotationNum[r]]};o(),this.dispose(this.selfRotationChanged.disposableOn(o))}{const o=()=>{const i=this.movingPlaneType===r,a=this.hoveredPlaneType===r,h=[0,0,0,i||a?1:.8];h[La.rotationNum[r]]=1,s.color=h};o(),this.dispose(this.movingPlaneTypeChanged.disposableOn(o)),this.dispose(this.hoveredPlaneTypeChanged.disposableOn(o))}return s}};N(La,"rotationNum",{heading:0,pitch:1,roll:2}),N(La,"rotationFuncs",{heading:([e,r,s])=>[0,0,0],pitch:([e,r,s])=>[e,0,-90],roll:([e,r,s])=>[e,r+90,0]});let Er=La;(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),rotation:E.reactArray([0,0,0]),selfRotation:E.reactArray([0,0,0]),pixelSize:300,showHelper:!1,debug:!1})})(Er||(Er={})),E.extendClassProps(Er.prototype,Er.createDefaultProps);const za=class za extends E.Destroyable{get startPosition(){return this.positions&&this.positions[0]}set startPosition(n){this.positions=[n??za.defaults.positions[0],this.stopPosition??za.defaults.positions[1]]}get startPositionChanged(){return this.positionsChanged}get stopPosition(){return this.positions&&this.positions[1]}set stopPosition(n){this.positions=[this.startPosition??za.defaults.positions[0],n??za.defaults.positions[1]]}get stopPositionChanged(){return this.positionsChanged}constructor(n,e){if(super(),!n.viewer)return;const s=this.ad(new lt(n,e));s.arcType="RHUMB";const o=this.ad(new nr(n,e));this.ad(E.track([s,"allowPicking"],[this,"allowPicking"])),this.ad(E.track([o,"allowPicking"],[this,"allowPicking"]));{const i=()=>{s.show=o.show=this.show};i(),this.ad(this.showChanged.don(i))}{const i=()=>{s.width=this.width/2,o.pixelSize=this.width};i(),this.ad(this.widthChanged.don(i))}{const i=()=>{s.color=o.color=this.color};i(),this.ad(this.colorChanged.don(i))}{const i=()=>{s.positions=this.positions,o.position=this.stopPosition};i(),this.dispose(this.startPositionChanged.disposableOn(i)),this.dispose(this.stopPositionChanged.disposableOn(i))}}};N(za,"defaults",{positions:[[0,0,0],[0,0,1e6]]});let Ia=za;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:E.reactPositions(t.defaults.positions),width:10,color:E.reactArray([1,0,0,1])})})(Ia||(Ia={})),E.extendClassProps(Ia.prototype,Ia.createDefaultProps);class Fi extends $n{constructor(e){super();N(this,"_lastPosition");N(this,"_opInfo",{step:this.ad(E.react(!1)),moved:this.ad(E.react(!1)),constraintMode:this.disposeVar(E.react("none")),originPosition:this.disposeVar(E.reactArray([0,0,0])),originHeading:this.disposeVar(E.react(0)),originDimensions:this.disposeVar(E.reactArray([1,1,1])),draggingStartPosition:this.disposeVar(E.reactArray([0,0,0])),movingPosition:this.disposeVar(E.reactArray([0,0,0])),targetPosition:this.disposeVar(E.reactArray([0,0,0])),targetHeading:this.disposeVar(E.react(0))});N(this,"_scaleAxis");N(this,"_pickingXYProcessing",e=>this.disposeVar(new E.Processing((r,s,o)=>{const i=[0,0,0],a=new F.Cartographic;return e.pointerMoveEvent.disposableOn(l=>{if(!l.pointerEvent||!e.viewer)return;const h=pr(E.getDomEventCurrentTargetPos(l.pointerEvent));if(!ja(e.viewer.scene,h,this._opInfo.originPosition.value[2],a))return;Qa(a,i),this._opInfo.constraintMode.value==="x"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value,i,i):this._opInfo.constraintMode.value==="y"?Ho(this._opInfo.originPosition.value,this._opInfo.originHeading.value+90,i,i):this._opInfo.constraintMode.value==="xy"||console.warn("should not be here!"),this._opInfo.movingPosition.value=i,this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const f=[0,0,0];Q.geoRhumbDestination(i,o,s,f),this._opInfo.targetPosition.value=f;let u=this.scale[0],y=this.scale[1];const v=Q.geoDistance(f,this._opInfo.originPosition.value)-Q.geoDistance(this._lastPosition,this._opInfo.originPosition.value);this._lastPosition=[...f];const g=this._opInfo.originDimensions.value[0]/100;v!=0&&this._opInfo.constraintMode.value==="y"&&(v>0?u+=g:u-=g),v!=0&&this._opInfo.constraintMode.value==="x"&&(v>0?y+=g:y-=g),u<=0&&(u+=g),y<=0&&(y+=g),this.scale=[u??1,y??1,this.scale[2]??1]})})));N(this,"_pickingZProcessing",e=>this.disposeVar(new E.Processing(()=>{const r=new F.Cartesian3,s=[0,0,0];return e.pointerMoveEvent.disposableOn(o=>{if(!o.pointerEvent||!e.viewer)return;const i=pr(E.getDomEventCurrentTargetPos(o.pointerEvent));if(!Hh(e.viewer.scene,Tt(this._opInfo.originPosition.value),i,r))return;this._lastPosition||(this._lastPosition=[...this._opInfo.draggingStartPosition.value]);const a=this._opInfo.originPosition.value[2]-this._opInfo.draggingStartPosition.value[2];if(He(r,s)){this._opInfo.movingPosition.value=s;const l=this._opInfo.originPosition.value;this._opInfo.targetPosition.value=[l[0],l[1],s[2]+a];let h=this.scale[2];const f=s[2]-this._lastPosition[2];this._lastPosition=[...s];const u=this._opInfo.originDimensions.value[0]/100;f!=0&&(f>0?h+=u:h-=u),h<=0&&(h+=u),this.scale=[this.scale[0]??1,this.scale[1]??1,h??1]}})})));const r=e.viewer;if(!r)return;const{scene:s}=r;this.ad(new zp(e,this.positionReact,this._opInfo.originDimensions,this.axisPixelSize)),this.ad(e.dblclickEvent.don(()=>{this.enabled=!1})),this._scaleAxis={zAxis:this._createScaleAxis(e,"zAxis"),yAxis:this._createScaleAxis(e,"yAxis"),xAxis:this._createScaleAxis(e,"xAxis")};{const h=()=>{if(!this._scaleAxis)return;const{zAxis:f,yAxis:u,xAxis:y}=this._scaleAxis,v=this._opInfo.constraintMode.value,g=this._opInfo.step;f.color=[0,0,1,.99],u.color=[0,1,0,.99],y.color=[1,0,0,.99],v==="x"?y.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="y"?u.color=g?[1,1,0,.8]:[1,1,0,.99]:v==="z"&&(f.color=g?[1,1,0,.8]:[1,1,0,.99])};h(),this.dispose(this._opInfo.constraintMode.changed.disposableOn(h)),this.dispose(this._opInfo.step.changed.disposableOn(h))}{const h=()=>{if(!this._scaleAxis)return;const{position:u=Fi.defaults.position}=this,{zAxis:y,yAxis:v,xAxis:g}=this._scaleAxis;y.startPosition=v.startPosition=g.startPosition=u;const[m,p,d]=u;y.stopPosition=[m,p,d+this._opInfo.originDimensions.value[2]];const c=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[0],90);c&&(g.stopPosition=c);const A=Q.geoRhumbDestination(u,this._opInfo.originDimensions.value[1],0);A&&(v.stopPosition=A)};h();const f=this.ad(E.createNextAnimateFrameEvent(this.positionChanged,this._opInfo.originDimensions.changed));this.ad(f.don(h))}{const h=()=>{if(this._opInfo.constraintMode.value==="none"){this._opInfo.moved.value=!1;return}if(this._opInfo.originHeading.value!==this._opInfo.targetHeading.value){this._opInfo.moved.value=!0;return}if(!this._opInfo.originPosition.value.every((f,u)=>f===this._opInfo.targetPosition.value[u])){this._opInfo.moved.value=!0;return}};h(),this.dispose(this._opInfo.originHeading.changed.disposableOn(h)),this.dispose(this._opInfo.originPosition.changed.disposableOn(h)),this.dispose(this._opInfo.targetHeading.changed.disposableOn(h)),this.dispose(this._opInfo.targetPosition.changed.disposableOn(h))}const o=this._pickingXYProcessing(e),i=this._pickingZProcessing(e),a=this.disposeVar(E.createProcessingFromAsyncFunc(async h=>{do this._opInfo.step.value=!0,this._opInfo.constraintMode.value="none",h.disposer.dispose(()=>{this._opInfo.constraintMode.value="none"}),await E.step(h,async f=>{const u=()=>{const g=[...this.position??Fi.defaults.position];e.editingHeightOffset&&(g[2]-=e.editingHeightOffset),this._opInfo.targetPosition.value=this._opInfo.originPosition.value=g};f.disposer.dispose((u(),this.positionChanged.disposableOn(u)));const y={constraintMode:"none",startDragPos:[0,0,0]},v=g=>{if(!this.position)return;const m={position:this.position,dimensions:this._opInfo.originDimensions.value,heading:0};Pp(g,s,m,this.axisSnapPixelSize,y),this._opInfo.constraintMode.value=y.constraintMode,this._opInfo.movingPosition.value=this._opInfo.draggingStartPosition.value=y.startDragPos};f.disposer.dispose(e.pointerMoveEvent.disposableOn(g=>{g.pointerEvent&&v(g.pointerEvent)})),await E.step(f,g=>new Promise((m,p)=>{g.disposer.dispose(p),g.disposer.dispose(e.pointerDownEvent.don(d=>{d.pointerEvent&&v(d.pointerEvent),d.pointerEvent&&d.pointerEvent.button===0&&y.constraintMode!=="none"&&m()}))}))}),this._opInfo.step.value=!1,await E.step(h,async f=>{if(e.incrementDisabledInputStack(),f.disposer.dispose(()=>e.decrementDisabledInputStack()),["x","y"].includes(this._opInfo.constraintMode.value)){const u=Q.geoRhumbHeading(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value),y=Q.geoRhumbDistance(this._opInfo.draggingStartPosition.value,this._opInfo.originPosition.value);o.restart(void 0,u,y),f.disposer.dispose(()=>o.cancel())}else this._opInfo.constraintMode.value==="z"&&(i.restart(),f.disposer.dispose(()=>i.cancel()));await E.step(f,u=>new Promise((y,v)=>{u.disposer.dispose(v),u.disposer.dispose(e.pointerUpEvent.don(()=>{y()})),u.disposer.dispose(e.pointerOutEvent.don(()=>{y()}))})),this._lastPosition=void 0});while(!0)})),l=()=>{this.enabled?a.restart():a.isRunning&&a.cancel()};l(),this.dispose(this.enabledChanged.disposableOn(l))}get scaleAxis(){return this._scaleAxis}_createScaleAxis(e,r){const s=this.ad(new Ia(e));return s.width=10,this.ad(E.track([s,"show"],[this,"enabled"])),s}}(t=>{t.createDefaultProps=()=>({...$n.createDefaultProps(),scale:E.reactArray([1,1,1]),axisPixelSize:100,axisSnapPixelSize:5})})(Fi||(Fi={})),E.extendClassProps(Fi.prototype,Fi.createDefaultProps);const Vo=class Vo extends En{constructor(e){super();N(this,"_editingPoints",this.disposeVar(new E.ObservableArray));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_currentProcess");N(this,"_menuPoiEnabled",this.disposeVar(E.react(!1)));N(this,"_status",this.disposeVar(E.react("None")));N(this,"_positionsChanged",this.ad(new E.Event));N(this,"_cursorInfo");this._czmViewer=e,this.enabled=!1,this.createPolyline(e),this._createCursorInfo(e),this.dispose(()=>this.resetPositions()),this.dispose(()=>this.editingPoints.length=0),this.dispose(this.editingPoints.changedEvent.disposableOn(()=>this.positionsChanged.emit())),this.dispose(this.editingPoints.toChangeEvent.disposableOn(r=>{for(let{start:s,deleteCount:o,items:i}of r){for(const a of i)a.menuPoi.enabled=this.menuPoiEnabled??!1;for(let a=s;a<s+o;++a)this.editingPoints.get(a).destroy()}})),this.dispose(this.menuPoiEnabledChanged.disposableOn(()=>{for(let r of this.editingPoints)r.menuPoi.enabled=this.menuPoiEnabled??!1})),this.dispose(e.dblclickEvent.don(r=>{this.ad(E.nextAnimateFrame(()=>{var s;((s=r.pointerEvent)==null?void 0:s.button)===0&&this.enabled&&this.currentProcess&&this.currentProcess.cancel()}))})),this.dispose(this.enabledChanged.disposableOn(r=>{this._currentProcess&&(r?this._currentProcess.restart():this._currentProcess.isRunning&&this._currentProcess.cancel())}));{const r=()=>{this.polylineShow=this.czmViewer.editingLineShow};r(),this.ad(this.czmViewer.editingLineShowChanged.don(r))}}get editingPoints(){return this._editingPoints}get cancelEvent(){return this._cancelEvent}cancel(){this._cancelEvent.emit()}get currentProcess(){return this._currentProcess}set currentProcess(e){this._currentProcess=e}get menuPoiEnabled(){return this._menuPoiEnabled.value}set menuPoiEnabled(e){this._menuPoiEnabled.value=e}get menuPoiEnabledChanged(){return this._menuPoiEnabled.changed}get status(){return this._status.value}get statusChanged(){return this._status.changed}set status(e){this._status.value=e}getPositions(){const e=[];for(let r of this._editingPoints)r.position&&e.push([...r.position]);return e}resetPositions(e){if(this.enabled??Vo.defaults.enabled)return console.warn("MultiPointsEditing.resetPositions error: this.enabled === true"),!1;const r=e||[];return!(r.length===this.editingPoints.length&&r.every((s,o)=>s.every((i,a)=>{const l=this.editingPoints.get(o);return l.position&&l.position[a]===i})))}forceResetPositions(e){(this.enabled??Vo.defaults.enabled)&&(this.enabled=!1),this.resetPositions(e)}get positions(){return this.getPositions()}set positions(e){this.resetPositions(e)}get positionsChanged(){return this._positionsChanged}get czmViewer(){return this._czmViewer}get cursorInfo(){return this._cursorInfo}createPolyline(e){const r=this.ad(new lt(e));this.ad(E.track([r,"color"],[this,"polylineColor"])),this.ad(E.track([r,"width"],[this,"polylineWidth"])),this.ad(E.track([r,"show"],[this,"polylineShow"])),this.ad(E.track([r,"arcType"],[this,"polylineArcType"])),this.ad(E.track([r,"loop"],[this,"loop"]));{const s=()=>{const o=[];for(const i of this.getPositions())i[2]-=e.editingHeightOffset??0,o.push(i);r.positions=o};s(),this.ad(this.positionsChanged.don(s))}}_createCursorInfo(e){const r=this._cursorInfo=this.ad(new E.CursorInfo(e.container,E.CursorFloatDiv));this.dispose(this.statusChanged.disposableOn(()=>{const s=this.status;if(r){if(!this.hideCursorInfo){r.show=!1;return}s==="Adding"?(r.text="右键/BackSpace键:删除上一个控制点;Esc键或左键双击:退出添加状态,进入修改状态",r.show=!0):s==="Modifying"||s==="Modifying_Point"?(r.text="Esc键或左键双击:退出编辑状态",r.show=!0):s==="None"&&(r.text="",r.show=!1)}}))}};N(Vo,"baseImageUrl","${earthsdk3-assets-script-dir}/assets/img/"),N(Vo,"defaults",{...En.defaults,debug:!1,polylineShow:!1,polylineWidth:1,polylineColor:[1,1,1,1],polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,loop:!1,firstControlPointImageUrl:Vo.baseImageUrl+"point-green.png",otherControlPointImageUrl:Vo.baseImageUrl+"point-yellow.png"});let cr=Vo;(t=>{t.createDefaultProps=()=>({...En.createDefaultProps(),loop:!1,debug:!1,polylineShow:!0,polylineWidth:1,polylineColor:E.reactArray([1,1,1,1]),polylineArcType:"GEODESIC",maxPointsNum:Number.MAX_SAFE_INTEGER,firstControlPointImageUrl:t.baseImageUrl+"point-green.png",otherControlPointImageUrl:t.baseImageUrl+"point-yellow.png",hideCursorInfo:!1,middlePointShow:!0})})(cr||(cr={})),E.extendClassProps(cr.prototype,cr.createDefaultProps);let Sj=0;class m2 extends E.Destroyable{constructor(e,r){super();N(this,"_position",this.disposeVar(E.reactArrayWithUndefined(void 0)));N(this,"_id",Sj++);N(this,"_menuPoi");r&&(this.position=r),e.debug&&console.log(`PolylinePositionEditor creating! ${this.id}`),this.dispose(()=>{e.debug&&console.log(`PolylinePositionEditor destroying! ${this.id}`)});const s=this._menuPoi=this.ad(new os(e.czmViewer));s.enabled=!1,this.ad(E.track([s,"show"],[e,"enabled"]));{const o=()=>{if(this.position===void 0){s.position=void 0;return}const i=[...this.position];i[2]-=e.czmViewer.editingHeightOffset??0,s.position=i,e.positionsChanged.emit()};o(),this.d(this.positionChanged.don(o))}{const o=()=>{const i=e.editingPoints.indexOf(this)+1;i!==0&&(s.title=`控制点${i}`,i===1?s.imageUri=e.firstControlPointImageUrl??cr.defaults.firstControlPointImageUrl:s.imageUri=e.otherControlPointImageUrl??cr.defaults.otherControlPointImageUrl)};o(),this.dispose(e.editingPoints.changedEvent.disposableOn(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get id(){return this._id}get menuPoi(){return this._menuPoi}}class y2 extends m2{constructor(n,e){super(n,e)}}class Lt extends cr{constructor(e){super(e);N(this,"_deletePreviousPointWhileAddingEvent",this.disposeVar(new E.Event));N(this,"placeEditing");if(!e.viewer)return;const r=this.placeEditing=this.ad(new Sr(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??Lt.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1}),(this.debug??Lt.defaults.debug)&&console.log("直接进入Adding状态"),this.status="Adding",await s.promise(E.step(s,async o=>{const i=o.disposer,a=i.ad(this._addingEditingProcessing());i.dispose(()=>"adding canceled!"),i.dispose(this.cancelEvent.disposableOn(()=>a.cancel())),await o.promise(new Promise(l=>{i.dispose(a.completeEvent.disposableOnce(l))}))}))})),this.dispose(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)===2&&this.deletePreviousPointWhileAdding()}))}deletePreviousPointWhileAdding(){this._deletePreviousPointWhileAddingEvent.emit()}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new y2(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}_addingEditingProcessing(){const e=()=>{if(this.maxPointsNum!==void 0)return this.editingPoints.length>=this.maxPointsNum&&(this.debug??Lt.defaults.debug)&&console.log("impl.positionEditors.length >= impl.maxPointsNum"),this.editingPoints.length>=this.maxPointsNum},r=E.createProcessingFromAsyncFunc(async s=>{let o=this.editingPoints.length;this.menuPoiEnabled=!1;do if(!await s.promise(E.step(s,async a=>{let l;!e()&&(l=a.disposer.disposeVar(new Ej(this,o)));const f=a.disposer.disposeVar(new Tj(this,o));return a.disposer.dispose(this._deletePreviousPointWhileAddingEvent.disposableOn(()=>f.do())),await a.promise(new Promise(u=>{l&&a.disposer.dispose(l.overEvent.disposableOnce(y=>{y?(o++,u(!0)):u(!1)})),a.disposer.dispose(f.overEvent.disposableOnce(y=>{y?(o--,u(!0)):u(!1)})),a.disposer.dispose(this.cancelEvent.disposableOn(()=>u(!1)))}))})))break;while(!0)});return r.start(),r}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps()})})(Lt||(Lt={})),E.extendClassProps(Lt.prototype,Lt.createDefaultProps);class Ej extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));const{placeEditing:s}=e;let o=new y2(e,void 0);e.editingPoints.splice(r,0,o);const i=()=>{(e.debug??Lt.defaults.debug)&&console.log("delete currentPosEditor");const h=e.editingPoints.indexOf(o);if(h===-1)throw new Error("currentPosEditor not found");e.editingPoints.splice(h,1)};if(s.enabled??!1)throw console.error("placeEditing.enabled is true!"),new Error("placeEditing.enabled is true!");this.dispose(E.track([o,"position"],[s,"position"])),s.enabled=!0;let a=!1;const l=()=>{i(),this._overEvent.emit(!1)};this.dispose(()=>{s.enabled=!1,!a&&l()}),this.dispose(s.overEvent.disposableOnce(()=>{a=!0,o.position===void 0?l():this._overEvent.emit(!0)})),(e.debug??Lt.defaults.debug)&&console.log(`PointAdding creating! index(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PointAdding destroying! index(${r})`)})}get overEvent(){return this._overEvent}}function Pj(t,n){const e=t.editingPoints,r=n-1;return r<0?(console.warn("previousIndex < 0, cannot delete the point!"),!1):(e.splice(r,1),!0)}class Tj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_doEvent",this.disposeVar(new E.Event));this.dispose(this._doEvent.disposableOn(()=>this._overEvent.emit(Pj(e,r)))),(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting creating! currentIndex(${r})`),this.dispose(()=>{(e.debug??Lt.defaults.debug)&&console.log(`PreviousPointDeleting destroying! currentIndex(${r})`)})}get overEvent(){return this._overEvent}do(){return this._doEvent.emit()}}class g2 extends Lt{constructor(n){super(n),this.loop=!1}}class v2 extends Lt{constructor(n){super(n),this.loop=!0}}class Ap extends m2{constructor(n,e){super(n,e);{const{menuPoi:r}=this;r.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],r.clickCommandName="modify",r.rightClickCommandName="delete",this.dispose(r.commandEvent.disposableOn(s=>{n.menuPoiCommand(this,s)})),this.dispose(r.dbclickEvent.disposableOn(()=>{n.menuPoiCommand(this,"dbClick")}))}if(n.middlePointShow){const r=this.ad(new Rr(n.czmViewer));{r.imageUri=n.firstControlPointImageUrl??ht.defaults.firstControlPointImageUrl,r.tooltip="点击增加一个控制点",r.bgColor=[0,0,0,.6],r.fgColor=[1,1,1,1],r.size=[8,8],r.originRatioAndOffset=[.5,.5,0,0];{const s=()=>{if(!(n.enabled??ht.defaults.enabled)){r.enabled=!1,r.show=!1;return}do{const i=n.editingPoints.indexOf(this);if(i===-1)break;const a=n.editingPoints.length;if(a===0){console.error("impl.positionEditors.length === 0!");break}if(!(n.loop??ht.defaults.loop)&&i+1>=a)break;const h=this.position;if(!h)break;let f=(i+1)%a;const y=n.editingPoints.get(f).position;if(!y)break;const v=Fp(h,y);if(!v)break;v[2]-=n.czmViewer.editingHeightOffset??0,r.position=v;const g=n.editingPoints.length<(n.maxPointsNum??ht.defaults.maxPointsNum);r.enabled=g,r.show=g;return}while(!1);r.enabled=!1,r.show=!1};s(),this.dispose(n.positionsChanged.disposableOn(s)),this.dispose(n.loopChanged.disposableOn(s)),this.dispose(n.enabledChanged.disposableOn(s))}this.dispose(r.clickEvent.disposableOn(s=>{if(s.button!==0||n.editingPoints.length>=(n.maxPointsNum??ht.defaults.maxPointsNum))return;const o=n.editingPoints.indexOf(this);if(o===-1)return;const i=r.position?[...r.position]:void 0;i&&(i[2]+=n.czmViewer.editingHeightOffset??0);let a=new Ap(n,i);n.editingPoints.splice(o+1,0,a),n.modify(a)}))}}}}class ht extends cr{constructor(e){super(e);N(this,"_menuPoiCommand",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"translationEditing");{const s=this.ad(E.createNextAnimateFrameEvent(this.moveWithFirstPositionChanged,this.editingPoints.changedEvent));this.ad(new E.ObjResettingWithEvent(s,()=>{if(!(!this.moveWithFirstPosition||this.editingPoints.length<=1))return new Bj(this.editingPoints.get(0),this)}))}const r=this.translationEditing=this.disposeVar(new Ii(e));r.enabled=!1,this.currentProcess=this.disposeVar(E.createProcessingFromAsyncFunc(async s=>{s.disposer.dispose(()=>{(this.debug??ht.defaults.debug)&&console.log("---editing canceled~~~"),this.status="None",this.enabled=!1});let o=-1;do if((this.debug??ht.defaults.debug)&&console.log("进入Modifying修改状态"),this.status="Modifying",o=await s.promise(E.step(s,async i=>{const a=i.disposer,l=a.ad(new Ij(this));return a.dispose(()=>"modifying canceled!"),this.editingPoints.length>0&&l.modify(this.editingPoints.get(o===-1||o>=this.editingPoints.length?0:o)),a.dispose(this.cancelEvent.disposableOn(()=>l.cancel())),a.dispose(this._forceModifyPosEditorEvent.disposableOn(f=>l.modify(f))),await i.promise(new Promise(f=>{a.dispose(l.overEvent.disposableOnce(u=>{f(u)}))}))})),o===-1){(this.debug??ht.defaults.debug)&&console.log("退出编辑状态");break}else{if(this.editingPoints.length>=(this.maxPointsNum??ht.defaults.maxPointsNum))return;if(this.editingPoints.length===0){console.error("impl.positionEditors.length === 0!");return}this.loop??ht.defaults.loop;const a=this.editingPoints.get(o-1).position;if(!a)return;let l=o%this.editingPoints.length;const f=this.editingPoints.get(l).position;if(!f)return;const u=Fp(a,f);if(!u)return;u&&(u[2]+=this.czmViewer.editingHeightOffset??0);let y=new Ap(this,u);this.editingPoints.splice(o,0,y)}while(!0);this.status="None",this.enabled=!1}))}menuPoiCommand(e,r){this._menuPoiCommand.emit(e,r)}modify(e){this._forceModifyPosEditorEvent.emit(e)}resetPositions(e){if(!super.resetPositions(e))return!0;const r=e?e.map(s=>new Ap(this,s)):[];return this.editingPoints.splice(0,this.editingPoints.length,...r),!0}get overEvent(){return this._overEvent}}(t=>{t.createDefaultProps=()=>({...cr.createDefaultProps(),moveWithFirstPosition:!1})})(ht||(ht={})),E.extendClassProps(ht.prototype,ht.createDefaultProps);class Bj extends E.Destroyable{constructor(n,e){super(),this._firstPositionEditor=n,this.multiPointsModifyEditing=e,this._firstPositionEditor.positionChanged.disposableOn((r,s)=>{if(r===void 0||s===void 0)return;var o=[r[0]-s[0],r[1]-s[1],r[2]-s[2]];const i=this.multiPointsModifyEditing.editingPoints.length;for(let a=1;a<i;a++){const l=this.multiPointsModifyEditing.editingPoints.get(a),h=l.position;h!==void 0&&(l.position=[h[0]+o[0],h[1]+o[1],h[2]+o[2]])}})}}class Ij extends E.Destroyable{constructor(e){super();N(this,"_overEvent",this.disposeVar(new E.Event));N(this,"_cancelEvent",this.disposeVar(new E.Event));N(this,"_forceModifyPosEditorEvent",this.disposeVar(new E.Event));e.menuPoiEnabled=!0,this.dispose(()=>e.menuPoiEnabled=!1);let r;const s=()=>{r==null||r.destroy(),r=void 0,e.status="Modifying"};this.dispose(s);const o=i=>{s(),e.status="Modifying_Point",r=new Fj(e,i),r.dispose(r.overEvent.disposableOn(()=>{s()}))};this.dispose(this._forceModifyPosEditorEvent.disposableOn(o)),this.dispose(e._menuPoiCommand.disposableOn((i,a)=>{if(a==="delete"){if(e.editingPoints.length<=2)return;const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");e.editingPoints.splice(l,1)}else if(a==="modify")o(i);else if(a==="add"){const l=e.editingPoints.indexOf(i);if(l===-1)throw console.error("posEditor not found"),new Error("posEditor not found");this._overEvent.emit(l+1)}else a==="dbClick"?this._overEvent.emit(-1):alert(`未知的commandName(${a})`)})),this.dispose(this._cancelEvent.disposableOn(()=>{this._overEvent.emit(-1)}))}get overEvent(){return this._overEvent}cancel(){this._cancelEvent.emit()}modify(e){this._forceModifyPosEditorEvent.emit(e)}}class Fj extends E.Destroyable{constructor(e,r){super();N(this,"_overEvent",this.disposeVar(new E.Event));this._modifying=e,this._posEditor=r,this.dispose(this._posEditor.toDestroyEvent.disposableOn(()=>{this._overEvent.emit()}));const{translationEditing:s}=this._modifying;if(s.enabled=!0,s.heading=0,this.dispose(()=>{s.enabled=!1}),!this._posEditor.position)throw console.error("!this._posEditor.position"),new Error("!this._posEditor.position");s.position=this._posEditor.position,this.dispose(E.track([this._posEditor,"position"],[s,"position"])),this.dispose(s.enabledChanged.disposableOnce(o=>{o||this._overEvent.emit()}))}get overEvent(){return this._overEvent}}class w2 extends ht{constructor(n){super(n),this.loop=!1}}class b2 extends ht{constructor(n){super(n),this.loop=!0}}class ul extends Lt{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2;{const e=()=>{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];return}if(this.positions.length==1){this.distance=1,this.rotation=[90,0,0];return}this.startPosition=this.positions[0],this.endPosition=this.positions[1];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(s<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a};e(),this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([90,0,0]),distance:E.react(1)})})(ul||(ul={})),E.extendClassProps(ul.prototype,ul.createDefaultProps);class Fa extends ht{init(){const n=this.startPosition;if(!n)return;const e=this.distance,r=this.rotation,s=e*Math.cos(r[1]*Math.PI/180),o=Q.geoDestination(n,s,r[0]);if(!o){this.positions=[n];return}const i=e*Math.sin(r[1]*Math.PI/180);o[2]+=i,this.positions=[n,o],this.editingPoints.length==2&&(this.editingPoints.get(0).position=n,this.editingPoints.get(1).position=o)}constructor(n){super(n),this.loop=!0,this.maxPointsNum=2,this.middlePointShow=!1,this.moveWithFirstPosition=!0;{const e=()=>{do{if(!this.positions||this.positions.length==0){this.distance=1,this.rotation=[90,0,0],this.startPosition=[0,0,0];break}if(this.startPosition=this.positions[0],this.positions.length==1){this.editingPoints.get(0).menuPoi.commands=[["add","增加控制点","",ht.baseImageUrl+"add.png"],["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]],this.rotation=[90,0,0],this.distance=1;break}this.endPosition=this.positions[1];for(let l of this.editingPoints)l.menuPoi.commands=[["delete","删除当前控制点","",ht.baseImageUrl+"delete.png"],["modify","修改当前控制点","",ht.baseImageUrl+"modify.png"]];const r=Q.geoHeading(this.startPosition,this.endPosition),s=Q.geoDistance(this.startPosition,this.endPosition);if(Math.abs(s)<=0){this.rotation=[90,0,0],this.distance=1;return}const o=this.endPosition[2]-this.startPosition[2],i=Math.atan(o/s)*180/Math.PI,a=Math.sqrt(s*s+o*o);this.rotation=[r,i,0],this.distance=a}while(!1)};this.ad(this.positionsChanged.don(e))}}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),startPosition:E.reactArrayWithUndefined(void 0),endPosition:E.reactArrayWithUndefined(void 0),rotation:E.reactArray([0,0,0]),distance:E.react(0)})})(Fa||(Fa={})),E.extendClassProps(Fa.prototype,Fa.createDefaultProps);class _2 extends Lt{constructor(n){super(n),this.loop=!1,this.polylineShow=!1}}class x2 extends ht{constructor(n){super(n),this.loop=!1,this.polylineShow=!1,this.middlePointShow=!1}}class cl extends Lt{constructor(n){super(n),n.viewer||(this.loop=!1);{const e=()=>{if(!this.positions||this.positions.length<2){this.visibilityPositions=void 0;return}const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...Lt.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(cl||(cl={})),E.extendClassProps(cl.prototype,cl.createDefaultProps);class hl extends ht{constructor(n){if(super(n),!!n.viewer){this.loop=!1,this.middlePointShow=!1;{const e=()=>{if(!this.positions||this.positions.length<2)return;const r=[...this.positions[0]];r[2]-=n.editingHeightOffset??0,this.visibilityPositions=this.positions.map(s=>(s[2]-=n.editingHeightOffset??0,[r,s]))};e(),this.ad(this.positionsChanged.don(e))}}}createPolyline(n){const e=this.ad(new gr(n));e.topOrBottom="bottom",this.ad(E.track([e,"color"],[this,"polylineColor"])),this.ad(E.track([e,"width"],[this,"polylineWidth"])),this.ad(E.track([e,"show"],[this,"polylineShow"])),this.ad(E.track([e,"arcType"],[this,"polylineArcType"])),this.ad(E.track([e,"loop"],[this,"loop"])),this.ad(E.track([e,"positions"],[this,"visibilityPositions"]))}}(t=>{t.createDefaultProps=()=>({...ht.createDefaultProps(),visibilityPositions:E.reactPositionsSet(void 0)})})(hl||(hl={})),E.extendClassProps(hl.prototype,hl.createDefaultProps);class C2 extends Fa{constructor(n){super(n),this.firstControlPointImageUrl=this.otherControlPointImageUrl,this.translationEditing.xAxisShow=!1,this.translationEditing.yAxisShow=!1,this.translationEditing.zAxisShow=!0,this.translationEditing.showCircle=!1,this.rotation=[0,90,0]}}class vn extends Q.EngineObject{constructor(e,r,s){super(e,r,s??!0);N(this,"_supportEditing",this.disposeVar(E.react(!0)));N(this,"_currentEditing",this.disposeVar(E.react(void 0)));this.ad(this.supportEditingChanged.don(()=>{this.destroy()})),this.ad(this.toDestroyEvent.don(()=>{var o;if(this.currentEditing){if(this.currentEditing instanceof Lt&&((o=this.currentEditing.currentProcess)!=null&&o.isRunning))if(this.currentEditing.currentProcess.cancel(),e!=null&&e.position){if(this.currentEditing.positions.length>1)return;e.position=this.currentEditing.positions[0]??[0,0,0],e!=null&&e.rotation&&(e.rotation=[0,0,0]),e!=null&&e.far&&(e.far=1),e!=null&&e.radius&&(e.radius=1),e!=null&&e.distance&&(e.distance=1)}else e.points=this.currentEditing.positions;this.currentEditing instanceof Sr&&this.currentEditing.enabled&&(e.position=[0,0,0])}}))}get supportEditing(){return this._supportEditing.value}set supportEditing(e){this._supportEditing.value=e}get supportEditingChanged(){return this._supportEditing.changed}get currentEditing(){return this._currentEditing.value}set currentEditing(e){this._currentEditing.value=e}get currentEditingChanged(){return this._currentEditing.changed}}const Ch=class Ch extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Sr(e));this.ad(e.clickEvent.don(s=>{var o;((o=s.pointerEvent)==null?void 0:o.button)==2&&(r.enabled=!0)}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"])),r.enabled=!r.position||Q.equalsN3(r.position,[0,0,0]);break}this.supportEditing=!1}while(!1)}};N(Ch,"type",Ch.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Place,Ch));let V0=Ch;const Sh=class Sh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Er(e));r.rotation=[90,0,0],this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);s&&(this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"])))});break}if(Reflect.has(n,"position")&&Reflect.has(n,"rotation")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"selfRotation"],[n,"rotation"]));break}this.supportEditing=!1}while(!1)}};N(Sh,"type",Sh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Rotation,Sh));let Q0=Sh;const Eh=class Eh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new Fi(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")&&Reflect.has(n,"scale")){this.ad(E.bind([r,"position"],[n,"position"])),this.ad(E.bind([r,"scale"],[n,"scale"]));break}this.supportEditing=!1}while(!1)}};N(Eh,"type",Eh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Scale,Eh));let H0=Eh;const Ph=class Ph extends vn{constructor(n,e){super(Array.isArray(n)?n[0]:n,e,!0);const r=this.currentEditing=this.ad(new Ii(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Array.isArray(n)){const s=[];for(let o=0;o<n.length;o++){const i=n[o];Reflect.has(i,"position")?s.push(i.position):i.points&&s.push(...i.points)}r.position=Q.getMinMaxCorner(s).center,this.ad(r.positionChanged.disposableOn((o,i)=>{if(!(!o||!i)){var a=Tn({originPosition:i},[o])[0][0];n.forEach(l=>{if(Reflect.has(l,"position")){const h=Tn({originPosition:i},[l.position])[0][0];l.position=Vi({originPosition:i},[[h[0]+a[0],h[1]+a[1],h[2]+a[2]]])[0][0]}else if(Reflect.has(l,"points")&&l.points){const h=Tn({originPosition:i},l.points)[0];l.points=Vi({originPosition:i},h.map(f=>[f[0]+a[0],f[1]+a[1],f[2]+a[2]]))[0]}})}}));break}if(Reflect.has(n,"position")){this.ad(E.bind([r,"position"],[n,"position"]));break}if(n instanceof Q.ES3DTileset){Q.registerCreatedEventUpdate(this,n,()=>{const s=e.getEngineObject(n);this.ad(E.bind([r,"position"],[s.czm3DTiles,"position"]))});break}if(Reflect.has(n,"points")){if(n.points===void 0||n.points.length===0){this.destroy();break}r.position=Q.getMinMaxCorner(n.points).center,this.ad(r.positionChanged.disposableOn((s,o)=>{if(s===void 0||o===void 0||n.points===void 0||n.points.length===0){this.destroy();return}var i=Tn({originPosition:o},[s])[0][0];const a=Tn({originPosition:o},n.points)[0];n.points=Vi({originPosition:o},a.map(l=>[l[0]+i[0],l[1]+i[1],l[2]+i[2]]))[0]}));break}this.supportEditing=!1}while(!1)}};N(Ph,"type",Ph.registerEditing("ESCesiumViewer",Q.ESJEditingMode.Translation,Ph));let mp=Ph;const Th=class Th extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new ul(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const s=Tt(n.position);if(F.Cartesian3.ZERO.equals(s)||!e.viewer)return;r.distance=ii(e.viewer.scene,s,100)??1}while(!1);break}if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1);r.startPosition&&!Q.equalsN3(r.startPosition,[0,0,0])&&r.init(),r.enabled=!0}};N(Th,"type",Th.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsAppend,Th));let j0=Th;const Bh=class Bh extends vn{constructor(n,e){var o;if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new Fa(e));do{if(Reflect.has(n,"position")){this.ad(E.bind([r,"startPosition"],[n,"position"])),this.ad(jt([r,"rotation"],[n,"rotation"]));do{if(Reflect.has(n,"far")){this.ad(E.bind([r,"distance"],[n,"far"]));break}if(Reflect.has(n,"radius")){this.ad(E.bind([r,"distance"],[n,"radius"]));break}if(Reflect.has(n,"distance")){this.ad(E.bind([r,"distance"],[n,"distance"]));break}const i=Tt(n.position);if(F.Cartesian3.ZERO.equals(i)||!e.viewer)return;r.distance=ii(e.viewer.scene,i,100)??1}while(!1);break}if(Reflect.has(n,"points")&&((o=n.points)==null?void 0:o.length)==2){r.moveWithFirstPosition=!1;const i=()=>r.positions=n.points??[];i(),this.ad(n.pointsChanged.don(()=>!r.enabled&&i())),this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Bh,"type",Bh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.DoublePointsModify,Bh));let G0=Bh;const Ih=class Ih extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new v2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Ih,"type",Ih.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularAppend,Ih));let W0=Ih;const Fh=class Fh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new b2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Fh,"type",Fh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.CircularInsert,Fh));let q0=Fh;const kh=class kh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new g2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(kh,"type",kh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringAppend,kh));let K0=kh;const Mh=class Mh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new w2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Mh,"type",Mh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.LineStringInsert,Mh));let X0=Mh;const Oh=class Oh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new _2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Oh,"type",Oh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterAppend,Oh));let $0=Oh;const Dh=class Dh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new x2(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Dh,"type",Dh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.ScatterModify,Dh));let Z0=Dh;const Rh=class Rh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new cl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Rh,"type",Rh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityAppend,Rh));let Y0=Rh;const Uh=class Uh extends vn{constructor(n,e){super(n,e,!0);const r=this.currentEditing=this.ad(new hl(e));this.ad(r.enabledChanged.don(s=>{!s&&this.ad(E.nextAnimateFrame(()=>{this.destroy()}))}));do{if(Reflect.has(n,"points")){const s=()=>r.positions=n.points??[];s(),this.ad(n.pointsChanged.don(()=>!r.enabled&&s())),r.enabled=!0,this.ad(E.track([n,"points"],[r,"positions"]));break}this.supportEditing=!1}while(!1)}};N(Uh,"type",Uh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.VisibilityModify,Uh));let J0=Uh;const Lh=class Lh extends vn{constructor(n,e){if(super(n,e,!0),!e.viewer)return;const r=this.currentEditing=this.ad(new C2(e));do{if(Reflect.has(n,"points")){const o=Reflect.has(n,"extrudedHeight"),i=Reflect.has(n,"height"),a=Reflect.has(n,"perPositionHeight")?n.perPositionHeight:!o,l=n instanceof Q.ESClassification||n instanceof Q.ESPolygonFence;let h=Q.getMinMaxCorner(n.points).center,f=[...h],u=l?n.points[0][2]:0;a?o?f[2]=n.extrudedHeight:f[2]=n.height+u:(i&&(h[2]=n.height),o&&(f[2]=n.extrudedHeight)),r.startPosition=h,r.distance=f[2]-h[2],r.moveWithFirstPosition=!1;let y=[...h];this.ad(r.positionsChanged.don(()=>{r.positions.length===2&&(a?(n.points=n.points.map(v=>[v[0],v[1],v[2]+r.positions[0][2]-y[2]]),o?n.extrudedHeight=r.positions[1][2]:i&&(n.height=r.positions[1][2]-(l?r.positions[0][2]:0))):(i&&(n.height=r.positions[0][2]),o&&(n.extrudedHeight=r.positions[1][2])),y=[...r.positions[0]])}));break}this.supportEditing=!1;return}while(!1);r.init(),r.enabled=!0;const s=this.ad(E.createNextAnimateFrameEvent(r.enabledChanged,r.startPositionChanged));this.ad(s.don(()=>{(!r.enabled||!r.startPosition||Q.equalsN3(r.startPosition,[0,0,0]))&&this.destroy()}))}};N(Lh,"type",Lh.registerEditing("ESCesiumViewer",Q.ESJEditingMode.HeightModify,Lh));let ew=Lh;function S2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s,o=!0)=>{const i=Array.isArray(s)?[...s]:[s],a=r.editingID;e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"start",add:{modes:i}});const l=()=>{e.notSupportEditingCount=0,e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"end",add:{modes:i}}),t.isRunning&&t.cancel()};n.disposer.ad(l),n.disposer.ad(r.toDestroyEvent.don(l)),n.disposer.ad(e.keyDownEvent.don(f=>{f.code=="Escape"&&l()}));let h=0;do{const f=i[h%i.length],u=await E.step(n,async y=>{const v=y.disposer,g=Q.EngineObject.contextEditing.getEngineObjConstructor(f,e.typeName);if(!g||!r.supportEditingModes().includes(f))return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;const m=new g(r,e);if(v.ad(()=>{!m.isDestroyed()&&m.destroy()}),m.supportEditing)e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount=0;else return console.log(`未找到编辑模式或不支持当前编辑模式${f},已跳过当前编辑模式,请检查输入`),e.editingEvent.emit({objectIDs:[r.id.split("_")[0]],editingID:a,type:"changedFailed",add:{cMode:f,cIndex:h}}),e.notSupportEditingCount++,!1;return await y.promise(new Promise(d=>{m.isDestroyed()&&d(!1),v.ad(m.toDestroyEvent.don(()=>{console.log(`编辑模式${f}结束`),d(!1)})),o&&(v.ad(e.keyDownEvent.don(c=>{c.code=="Space"&&(console.log(`编辑模式${f}结束`),d(!1))})),v.ad(e.dblclickEvent.don(()=>d(!0))))}))});if(o&&u||!o&&h==i.length-1||e.notSupportEditingCount==i.length)break;h++}while(!0)});return t}function E2(){const t=E.createProcessingFromAsyncFunc(async(n,e,r,s)=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"start"});const o=()=>{e.editingEvent.emit({objectIDs:r.map(a=>a.id.split("_")[0]),editingID:s,type:"end"}),t.isRunning&&t.cancel()};n.disposer.ad(o),n.disposer.ad(e.keyDownEvent.don(a=>{a.code=="Escape"&&o()}));const i=new mp(r,e);n.disposer.ad(()=>{!i.isDestroyed()&&i.destroy()}),await n.promise(new Promise(a=>{i.isDestroyed()&&a(),n.disposer.ad(i.toDestroyEvent.don(()=>{console.log("移动结束"),a()})),n.disposer.ad(e.dblclickEvent.don(()=>a()))}))});return t}ue.copyright=void 0;try{const t="earthsdk3-cesium",n="3.0.7-beta.23",e="2025-06-17T00:37:35.000Z",r="北京西部世界科技有限公司",s="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",o="2c5a9444b24a8f9bdcd1c4dbe41e51985efa239a",a=((Date.now()-1750120655e3)/36e5).toFixed(1),l=`%c🌏 ${t}%c ${n}.${o.slice(0,8)}.${e} (距今${a}个小时)
|
|
4898
4898
|
%c${s?s+`
|
|
4899
4899
|
`:""}当前网站正在使用${t},此软件版权归${r}所有
|
|
4900
|
-
`;ue.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
4900
|
+
`;ue.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","2c5a9444b24a8f9bdcd1c4dbe41e51985efa239a")},get info(){return l},get date(){return"2025-06-17T00:37:35.000Z"},get author(){return"suplyang"},get version(){return"3.0.7-beta.23"},get name(){return"earthsdk3-cesium"},get commitId(){return"2c5a9444b24a8f9bdcd1c4dbe41e51985efa239a"},print(){console.info(this.info,`
|
|
4901
4901
|
font-size: 18px;
|
|
4902
4902
|
font-weight: 1000;
|
|
4903
4903
|
line-height: 1;
|