@reearth/core 0.0.7-alpha.0 → 0.0.7-beta.0
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/core.js +1 -1
- package/dist/core.umd.cjs +1 -1
- package/package.json +1 -1
- package/src/engines/Cesium/hooks.ts +5 -1
package/dist/core.js
CHANGED
|
@@ -79832,7 +79832,7 @@ const useIBL = ({
|
|
|
79832
79832
|
useEffect(() => {
|
|
79833
79833
|
var tp, ip, ap, sf, Sf, wf, Wf, Qf;
|
|
79834
79834
|
const Of = (tp = Gd.current) == null ? void 0 : tp.cesiumElement;
|
|
79835
|
-
if (!Of || Of.isDestroyed() || gf.current === (s == null ? void 0 : s.featureId))
|
|
79835
|
+
if (!Of || Of.isDestroyed() || gf.current === (s == null ? void 0 : s.featureId) && (s == null ? void 0 : s.featureId) !== void 0)
|
|
79836
79836
|
return;
|
|
79837
79837
|
const Af = getTag(pf.current);
|
|
79838
79838
|
if (!(Af != null && Af.featureId) && (Af != null && Af.layerId) && (s != null && s.layerId) && (Af == null ? void 0 : Af.layerId) === s.layerId || Af != null && Af.featureId && (s != null && s.featureId) && (Af == null ? void 0 : Af.featureId) === s.featureId)
|
package/dist/core.umd.cjs
CHANGED
|
@@ -6171,7 +6171,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) {
|
|
|
6171
6171
|
#else
|
|
6172
6172
|
initialColor = u_initialColor;
|
|
6173
6173
|
#endif
|
|
6174
|
-
vec4 color = computeDayColor(initialColor`).erase(["#ifdef APPLY_MATERIAL","czm_materialInput materialInput;","materialInput.st = v_textureCoordinates.st;","materialInput.normalEC = normalize(v_normalEC);","materialInput.positionToEyeEC = -v_positionEC;","materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC));","materialInput.slope = v_slope;","materialInput.height = v_height;","materialInput.aspect = v_aspect;","czm_material material = czm_getMaterial(materialInput);","vec4 materialColor = vec4(material.diffuse, material.alpha);","color = alphaBlend(materialColor, color);","#endif"]);function makeGlobeShadersDirty(t){const n=t.material;n==null?(t.material=Cesium$1.Material.fromType("Color"),t.material=void 0):(t.material=void 0,t.material=n)}const useIBL=({sphericalHarmonicCoefficients:t,globeImageBasedLighting:n,hasVertexNormals:o,enableLighting:s})=>{const c=React.useMemo(()=>o&&s,[o,s]),d=useImmutableFunction(t||[]),h=useImmutableFunction(n&&!!t),p=React.useMemo(()=>({u_reearth_sphericalHarmonicCoefficients:d,u_reearth_globeImageBasedLighting:h}),[d,h]),y=React.useMemo(()=>new StringMatcher().replace(["float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0);","vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);"],"vec4 finalColor = reearth_computeImageBasedLightingColor(color);"),[]);return{uniformMapForIBL:p,isIBLEnabled:c,shaderForIBL:y}},useTerrainHeatmap=({cesium:t,terrain:{heatmapType:n,heatmapMaxHeight:o,heatmapMinHeight:s,heatmapLogarithmic:c,heatmapColorLUT:d}={}})=>{const h=React.useMemo(()=>n==="custom",[n]),p=React.useMemo(()=>new StringMatcher().replace(["#ifdef APPLY_COLOR_TO_ALPHA","vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb);","colorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b);","alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha);","#endif"],"color = reearth_calculateElevationMapForGlobe(colorToAlpha, color);"),[]);return React.useEffect(()=>{var E;if(!((E=t.current)!=null&&E.cesiumElement)||!h)return;const y=t.current.cesiumElement.scene.globe;return y.material=new VertexTerrainElevationMaterial,()=>{y.material=void 0}},[t,h]),React.useEffect(()=>{var E;if(!((E=t.current)!=null&&E.cesiumElement)||!h)return;const y=t.current.cesiumElement.scene.globe;y.material instanceof VertexTerrainElevationMaterial&&(y.material.uniforms.minHeight=s??y.material.uniforms.minHeight,y.material.uniforms.maxHeight=o??y.material.uniforms.maxHeight,y.material.uniforms.logarithmic=c??y.material.uniforms.logarithmic)},[t,h,o,s,c]),React.useEffect(()=>{var E;if(!((E=t.current)!=null&&E.cesiumElement)||!h||!d)return;const y=t.current.cesiumElement.scene.globe;y.material instanceof VertexTerrainElevationMaterial&&(y.material.uniforms.colorMap=createColorMapImage(d))},[t,h,d]),{isCustomHeatmapEnabled:h,shaderForTerrainHeatmap:p}},useOverrideGlobeShader=({cesium:t,sphericalHarmonicCoefficients:n,globeShadowDarkness:o,globeImageBasedLighting:s,hasVertexNormals:c,enableLighting:d,terrain:h})=>{const{uniformMapForIBL:p,isIBLEnabled:y,shaderForIBL:E}=useIBL({sphericalHarmonicCoefficients:n,globeImageBasedLighting:s,hasVertexNormals:c,enableLighting:d}),{isCustomHeatmapEnabled:L,shaderForTerrainHeatmap:F}=useTerrainHeatmap({cesium:t,terrain:h});React.useEffect(()=>{var J;if(!((J=t.current)!=null&&J.cesiumElement)||!c)return;const H=t.current.cesiumElement.scene.globe;H.vertexShadowDarkness=o??H.vertexShadowDarkness},[t,o,c]);const N=React.useRef(!1),z=React.useCallback(()=>{var sl,Vd;if(!((sl=t.current)!=null&&sl.cesiumElement)||!N.current)return;const H=t.current.cesiumElement.scene.globe,J=H._surfaceShaderSet;if(!J)return;const nt=J.baseFragmentShaderSource,mt=nt==null?void 0:nt.sources[nt.sources.length-1];if(!mt||!nt)return;const Ee=[],yt=[];if(y&&H.enableLighting&&H.terrainProvider.hasVertexNormals&&(Ee.push(E),yt.push(IBLFS)),L&&(Ee.push(F),yt.push(HeatmapForTerrainFS)),!Ee.length||(N.current=!1,!((Vd=H==null?void 0:H._surface)!=null&&Vd._tileProvider)))return;makeGlobeShadersDirty(H);const Ai=defaultMatcher.concat(...Ee).execute(mt);H._surface._tileProvider.materialUniformMap={...H._surface._tileProvider.materialUniformMap??{},...p},J.baseFragmentShaderSource=new ShaderSource({sources:[...nt.sources.slice(0,-1),GlobeFSDefinitions+Ai+yt.join("")],defines:nt.defines})},[t,L,y,E,F,p]);React.useEffect(()=>{var H;if((H=t.current)!=null&&H.cesiumElement)return t.current.cesiumElement.scene.postRender.addEventListener(z)},[t,z]),React.useEffect(()=>{var nt;if(!((nt=t.current)!=null&&nt.cesiumElement)||!y&&!L)return;const H=t.current.cesiumElement.scene,J=H.globe;return N.current=!0,H.requestRender(),()=>{J.isDestroyed()||makeGlobeShadersDirty(J)}},[t,L,y])},useHooks$1=({ref:t,property:n,camera:o,selectedLayerId:s,selectionReason:c,isLayerDraggable:d,isLayerDragging:h,meta:p,layersRef:y,featureFlags:E,requestingRenderMode:L,shouldRender:F,timelineManagerRef:N,cameraForceHorizontalRoll:z=!1,onLayerSelect:H,onCameraChange:J,onLayerDrag:nt,onLayerDrop:mt,onLayerEdit:Ee,onLayerSelectWithRectStart:yt,onLayerSelectWithRectMove:Ai,onLayerSelectWithRectEnd:sl,onMount:Vd,onLayerVisibility:Xd,onLayerLoad:Zd})=>{var Tf,zf,Xf,Gf,Bf,Sf,Uf,Ff,Mf,Df,vm,Yf,wm,Qm,qm,$m,zm,lp,yp,pp,Cp,bp,Gp,Rp,ap,Fp,Vp,Up;const Gd=React.useRef(null),rf=typeof(p==null?void 0:p.cesiumIonAccessToken)=="string"&&p.cesiumIonAccessToken?p.cesiumIonAccessToken:Cesium$1.Ion.defaultAccessToken,of=((Tf=n==null?void 0:n.default)==null?void 0:Tf.ion)||rf,tf=useEngineRef(t,Gd),pi=useLayerSelectWithRect({cesium:Gd,engineAPI:tf,onLayerSelectWithRectStart:yt,onLayerSelectWithRectMove:Ai,onLayerSelectWithRectEnd:sl,featureFlags:E}),lt=React.useMemo(()=>{var Of;return(Of=n==null?void 0:n.default)!=null&&Of.bgcolor?Cesium$1.Color.fromCssColorString(n.default.bgcolor):void 0},[(zf=n==null?void 0:n.default)==null?void 0:zf.bgcolor]),md=React.useMemo(()=>{var Af,Jf,_m,rp,sp,up,cf,xf,Rf,Wf,Qf,qf,$f;let Of;return((Af=n==null?void 0:n.light)==null?void 0:Af.lightType)==="sunLight"?Of=new Cesium$1.SunLight({color:(Jf=n.light)!=null&&Jf.lightColor?Cesium$1.Color.fromCssColorString(n.light.lightColor):void 0,intensity:(_m=n.light)==null?void 0:_m.lightIntensity}):((rp=n==null?void 0:n.light)==null?void 0:rp.lightType)==="directionalLight"?Of=new Cesium$1.DirectionalLight({direction:new Cesium$1.Cartesian3(((sp=n==null?void 0:n.light)==null?void 0:sp.lightDirectionX)??1,((up=n==null?void 0:n.light)==null?void 0:up.lightDirectionY)??0,((cf=n==null?void 0:n.light)==null?void 0:cf.lightDirectionZ)??0),color:(xf=n.light)!=null&&xf.lightColor?Cesium$1.Color.fromCssColorString(n.light.lightColor):void 0,intensity:(Rf=n.light)==null?void 0:Rf.lightIntensity}):(Of=(Qf=(Wf=Gd.current)==null?void 0:Wf.cesiumElement)==null?void 0:Qf.scene.light,Of&&(Of.color=(qf=n==null?void 0:n.light)!=null&&qf.lightColor?Cesium$1.Color.fromCssColorString(n.light.lightColor):Of.color,Of.intensity=($f=n==null?void 0:n.light)!=null&&$f.lightIntensity?n.light.lightIntensity:Of.intensity)),Of},[(Xf=n==null?void 0:n.light)==null?void 0:Xf.lightType,(Gf=n==null?void 0:n.light)==null?void 0:Gf.lightColor,(Bf=n==null?void 0:n.light)==null?void 0:Bf.lightDirectionX,(Sf=n==null?void 0:n.light)==null?void 0:Sf.lightDirectionY,(Uf=n==null?void 0:n.light)==null?void 0:Uf.lightDirectionZ,(Ff=n==null?void 0:n.light)==null?void 0:Ff.lightIntensity]);React.useEffect(()=>{var rp,sp,up,cf,xf,Rf;const Of=(sp=(rp=Gd==null?void 0:Gd.current)==null?void 0:rp.cesiumElement)==null?void 0:sp.shadowMap;if(!Of)return;Of.softShadows=((up=n==null?void 0:n.atmosphere)==null?void 0:up.softShadow)??!1,Of.darkness=((cf=n==null?void 0:n.atmosphere)==null?void 0:cf.shadowDarkness)??.3,Of.size=((xf=n==null?void 0:n.atmosphere)==null?void 0:xf.shadowResolution)??2048,Of.fadingEnabled=!0,Of.maximumDistance=((Rf=n==null?void 0:n.atmosphere)==null?void 0:Rf.shadowMaximumDistance)??5e3,Of.normalOffset=!0;const Af={polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},Jf={polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffsetScale:.1*100,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*10},_m={polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4};Of._terrainBias&&Object.assign(Of._terrainBias,Af),Of._primitiveBias&&Object.assign(Of._primitiveBias,Jf),Of._pointBias&&Object.assign(Of._pointBias,_m)},[(Mf=n==null?void 0:n.atmosphere)==null?void 0:Mf.softShadow,(Df=n==null?void 0:n.atmosphere)==null?void 0:Df.shadowDarkness,(vm=n==null?void 0:n.atmosphere)==null?void 0:vm.shadowResolution,(Yf=n==null?void 0:n.atmosphere)==null?void 0:Yf.shadowMaximumDistance]),React.useEffect(()=>{var Of;tf.changeSceneMode((Of=n==null?void 0:n.default)==null?void 0:Of.sceneMode,0)},[(wm=n==null?void 0:n.default)==null?void 0:wm.sceneMode,tf]);const ef=React.useRef(!1),af=useCustomCompareCallback(()=>{var Af,Jf,_m,rp,sp,up,cf,xf;if(ef.current)return;if(ef.current=!0,(Af=n==null?void 0:n.cameraLimiter)!=null&&Af.cameraLimitterEnabled&&((Jf=n==null?void 0:n.cameraLimiter)!=null&&Jf.cameraLimitterTargetArea))tf.flyTo((_m=n==null?void 0:n.cameraLimiter)==null?void 0:_m.cameraLimitterTargetArea,{duration:0});else if(((rp=n==null?void 0:n.default)==null?void 0:rp.camera)??((sp=n==null?void 0:n.camera)==null?void 0:sp.camera)){const Rf=((up=n==null?void 0:n.default)==null?void 0:up.camera)??((cf=n==null?void 0:n.camera)==null?void 0:cf.camera);tf.flyTo(Rf,{duration:0})}const Of=getCamera((xf=Gd==null?void 0:Gd.current)==null?void 0:xf.cesiumElement);Of&&(J==null||J(Of)),Vd==null||Vd()},[tf,(Qm=n==null?void 0:n.default)==null?void 0:Qm.camera,(qm=n==null?void 0:n.camera)==null?void 0:qm.camera,($m=n==null?void 0:n.cameraLimiter)==null?void 0:$m.cameraLimitterEnabled,J,Vd],(Of,Af)=>Of[0]===Af[0]&&isEqual(Of[1],Af[1])&&isEqual(Of[2],Af[2])&&Of[3]===Af[3]&&Of[4]===Af[4]&&Of[5]===Af[5]),hf=React.useCallback(()=>{ef.current=!1},[]),df=React.useRef([]),lf=React.useCallback(()=>{var Jf;const Of=(Jf=Gd==null?void 0:Gd.current)==null?void 0:Jf.cesiumElement;if(!Of||Of.isDestroyed()||!J)return;const Af=getCamera(Of);Af&&!isEqual(Af,o)&&(df.current.push(Af),df.current.length>10&&df.current.shift(),J==null||J(Af))},[o,J]),sf=React.useCallback(()=>{lf()},[lf]),uf=React.useCallback(()=>{lf()},[lf]);React.useEffect(()=>{o&&!df.current.includes(o)&&(tf.flyTo(o,{duration:0}),df.current=[])},[o,tf]);const pf=React.useRef(),gf=React.useRef();React.useEffect(()=>{var rp,sp,up,cf,xf,Rf,Wf,Qf;const Of=(rp=Gd.current)==null?void 0:rp.cesiumElement;if(!Of||Of.isDestroyed()||gf.current===(s==null?void 0:s.featureId))return;const Af=getTag(pf.current);if(!(Af!=null&&Af.featureId)&&(Af!=null&&Af.layerId)&&(s!=null&&s.layerId)&&(Af==null?void 0:Af.layerId)===s.layerId||Af!=null&&Af.featureId&&(s!=null&&s.featureId)&&(Af==null?void 0:Af.featureId)===s.featureId)return;const Jf=findEntity(Of,void 0,s==null?void 0:s.featureId)||findEntity(Of,s==null?void 0:s.layerId);if(pf.current===Jf)return;const _m=getTag(Jf);if(Jf instanceof Cesium$1.Entity&&!(_m!=null&&_m.hideIndicator)?Of.selectedEntity=Jf:Of.selectedEntity=void 0,pf.current=Jf,!Jf&&(s!=null&&s.featureId)){const qf=[],$f=(sp=y==null?void 0:y.current)==null?void 0:sp.findAll(Hf=>{var ep,Pm;return Hf.type==="simple"&&!!((ep=Hf.data)!=null&&ep.type)&&qf.includes((Pm=Hf.data)==null?void 0:Pm.type)});if($f!=null&&$f.length){const[Hf,ep]=(()=>{var Pm;for(const Dm of $f){const cp=(Pm=Dm.computed)==null?void 0:Pm.features.find(Am=>Am.id!==(s==null?void 0:s.featureId));if(cp)return[cp,Dm.id]}})()||[];H==null||H(ep,Hf==null?void 0:Hf.id)}}if(!(_m!=null&&_m.unselectable)){if(Jf&&Jf instanceof Cesium$1.Cesium3DTileFeature){const qf=getTag(Jf);if(qf){const $f=tileProperties(Jf);H==null||H(qf.layerId,String(qf.featureId),$f.length?{defaultInfobox:{title:Jf.getProperty("name"),content:{type:"table",value:$f}}}:void 0,{feature:qf.computedFeature})}return}if(Jf){const qf=_m!=null&&_m.layerId?((up=y==null?void 0:y.current)==null?void 0:up.overriddenLayers().find($f=>$f.id===_m.layerId))??((cf=y==null?void 0:y.current)==null?void 0:cf.findById(_m.layerId)):void 0;H==null||H(_m==null?void 0:_m.layerId,_m==null?void 0:_m.featureId,Jf instanceof Cesium$1.Entity&&(Jf.description||Jf.properties)?{defaultInfobox:{title:Jf.name,content:getEntityContent(Jf,((Rf=(xf=Gd.current)==null?void 0:xf.cesiumElement)==null?void 0:Rf.clock.currentTime)??new Cesium$1.JulianDate,_m!=null&&_m.layerId?(Qf=(Wf=qf==null?void 0:qf.infobox)==null?void 0:Wf.property)==null?void 0:Qf.defaultContent:void 0)}}:void 0)}}},[Gd,s,H,y,E]);const yf=React.useMemo(()=>{var Of,Af,Jf;return(Of=n==null?void 0:n.light)!=null&&Of.sphericalHarmonicCoefficients?arrayToCartecian3((Af=n==null?void 0:n.light)==null?void 0:Af.sphericalHarmonicCoefficients,(Jf=n==null?void 0:n.light)==null?void 0:Jf.imageBasedLightIntensity):void 0},[(zm=n==null?void 0:n.light)==null?void 0:zm.sphericalHarmonicCoefficients,(lp=n==null?void 0:n.light)==null?void 0:lp.imageBasedLightIntensity]);useOverrideGlobeShader({cesium:Gd,sphericalHarmonicCoefficients:yf,globeShadowDarkness:(yp=n==null?void 0:n.atmosphere)==null?void 0:yp.globeShadowDarkness,globeImageBasedLighting:(pp=n==null?void 0:n.atmosphere)==null?void 0:pp.globeImageBasedLighting,enableLighting:((Cp=n==null?void 0:n.atmosphere)==null?void 0:Cp.enable_lighting)??((bp=n==null?void 0:n.globeLighting)==null?void 0:bp.globeLighting),hasVertexNormals:((Gp=n==null?void 0:n.terrain)==null?void 0:Gp.terrain)&&n.terrain.terrainNormal,terrain:n==null?void 0:n.terrain});const Ef=React.useCallback((Of,Af,Jf)=>{var _m,rp;if(((_m=tf.mouseEventCallbacks[Of])==null?void 0:_m.length)>0){const sp=(rp=Gd.current)==null?void 0:rp.cesiumElement;if(!sp||sp.isDestroyed())return;const up=makeMouseEventProps(sp,Af);if(!up)return;const cf=getLayerId(Jf);cf&&(up.layerId=cf),tf.mouseEventCallbacks[Of].forEach(xf=>xf(up))}},[tf]),Pf=React.useCallback(Of=>{tf.mouseEventCallbacks.wheel.length>0&&tf.mouseEventCallbacks.wheel.forEach(Af=>Af({delta:Of}))},[tf]),Nf=React.useMemo(()=>{const Of={click:void 0,doubleclick:void 0,mousedown:void 0,mouseup:void 0,rightclick:void 0,rightdown:void 0,rightup:void 0,middleclick:void 0,middledown:void 0,middleup:void 0,mousemove:void 0,mouseenter:void 0,mouseleave:void 0,wheel:Af=>{Pf(Af)}};return Object.keys(Of).forEach(Af=>{Af!=="wheel"&&(Of[Af]=(Jf,_m)=>{Ef(Af,Jf,_m)})}),Of},[Ef,Pf]),kf=React.useCallback(async(Of,Af)=>{var sp,up,cf,xf,Rf,Wf,Qf,qf,$f,Hf,ep,Pm,Dm,cp;if((sp=Nf.click)==null||sp.call(Nf,Of,Af),!(E&FEATURE_FLAGS.SINGLE_SELECTION))return;const Jf=(up=Gd.current)==null?void 0:up.cesiumElement;if(!Jf||Jf.isDestroyed())return;gf.current=void 0;const _m=findEntity(Jf,void 0,s==null?void 0:s.featureId)||findEntity(Jf,s==null?void 0:s.layerId),rp=getTag(_m);if((!_m||_m instanceof Cesium$1.Entity&&(rp!=null&&rp.hideIndicator))&&(Jf.selectedEntity=void 0),Af&&"id"in Af&&Af.id instanceof Cesium$1.Entity&&isSelectable(Af.id)){const Am=getTag(Af.id),fp=Am!=null&&Am.layerId?((cf=y==null?void 0:y.current)==null?void 0:cf.overriddenLayers().find(mp=>mp.id===Am.layerId))??((xf=y==null?void 0:y.current)==null?void 0:xf.findById(Am.layerId)):void 0;H==null||H(Am==null?void 0:Am.layerId,Am==null?void 0:Am.featureId,Af.id.description||Af.id.properties?{defaultInfobox:{title:(fp==null?void 0:fp.title)??Af.id.name,content:getEntityContent(Af.id,Jf.clock.currentTime??new Cesium$1.JulianDate,Am!=null&&Am.layerId?(Wf=(Rf=fp==null?void 0:fp.infobox)==null?void 0:Rf.property)==null?void 0:Wf.defaultContent:void 0)}}:void 0),pf.current=Af.id,Af.id instanceof Cesium$1.Entity&&!(Am!=null&&Am.hideIndicator)?Jf.selectedEntity=Af.id:Jf.selectedEntity=void 0;return}if(Af&&(Af instanceof Cesium$1.Cesium3DTileFeature||Af instanceof Cesium$1.Cesium3DTilePointFeature)){const Am=getTag(Af);if(Am){const fp=tileProperties(Af);H==null||H(Am.layerId,String(Am.featureId),fp.length?{defaultInfobox:{title:Af.getProperty("name"),content:{type:"table",value:tileProperties(Af)}}}:void 0,{feature:Am.computedFeature}),pf.current=Af}return}if(Af&&"content"in Af&&Af.content&&typeof Af.content=="object"&&"_model"in Af.content&&Af.content._model instanceof Cesium$1.Model){const Am=Af.content._model,fp=getTag(Am);fp&&(H==null||H(fp.layerId,String(fp.featureId)),pf.current=Am);return}if(Af!=null&&Af.primitive&&(Af.primitive instanceof Cesium$1.Primitive||Af.primitive instanceof Cesium$1.GroundPrimitive)){const Am=Af.primitive,fp=getTag(Am);fp&&(H==null||H(fp.layerId,String(fp.featureId)),pf.current=Am);return}if(Af===void 0&&Of.position){const Am=Jf.scene,fp=Am.camera.getPickRay(Of.position);if(fp){const mp=await Am.imageryLayers.pickImageryLayerFeatures(fp,Am),Mp=mp==null?void 0:mp[0],_g=(Qf=Mp==null?void 0:Mp.data)==null?void 0:Qf.appearanceType;if(_g&&((Hf=($f=(qf=Mp==null?void 0:Mp.data)==null?void 0:qf.feature)==null?void 0:$f[_g])==null?void 0:Hf.show)!==!1){const Wp=getTag(Mp.imageryLayer),xg=Mp.position;xg&&requestAnimationFrame(()=>{Wp!=null&&Wp.hideIndicator||(Jf.selectedEntity=new Cesium$1.Entity({position:Cesium$1.Cartographic.toCartesian(xg)}))});const og=Wp!=null&&Wp.layerId?((ep=y==null?void 0:y.current)==null?void 0:ep.overriddenLayers().find(Rg=>Rg.id===Wp.layerId))??((Pm=y==null?void 0:y.current)==null?void 0:Pm.findById(Wp.layerId)):void 0,Sg=getEntityContent(Mp.data.feature??Mp,Jf.clock.currentTime??new Cesium$1.JulianDate,Wp!=null&&Wp.layerId?(cp=(Dm=og==null?void 0:og.infobox)==null?void 0:Dm.property)==null?void 0:cp.defaultContent:void 0);gf.current=Mp.data.featureId,H==null||H(Mp.data.layerId,Mp.data.featureId,Sg.value.length?{defaultInfobox:{title:(og==null?void 0:og.title)??Mp.name,content:Sg}}:void 0,{feature:Mp.data.feature});return}}}Jf.selectedEntity=void 0,H==null||H()},[H,Nf,y,E,s==null?void 0:s.featureId,s==null?void 0:s.layerId]);React.useEffect(()=>{var Of;if(e2eAccessToken())return setE2ECesiumViewer((Of=Gd.current)==null?void 0:Of.cesiumElement),()=>{setE2ECesiumViewer(void 0)}},[(Rp=Gd.current)==null?void 0:Rp.cesiumElement]),React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||Of.scene.requestRender()});const Lf=React.useCallback(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||Of.scene.requestRender()},[]),Zf=React.useCallback((Of,Af,Jf)=>{var up,cf;const _m=(up=Gd.current)==null?void 0:up.cesiumElement;if(!_m||_m.isDestroyed()||!isSelectable(Of)||!isDraggable(Of))return!1;const rp=convertCartesian3ToPosition((cf=Gd.current)==null?void 0:cf.cesiumElement,Af);if(!rp)return!1;const sp=getTag(Of);if(!sp)return!1;nt==null||nt(sp.layerId||"",sp.featureId,rp)},[nt]),Kf=React.useCallback((Of,Af)=>{var sp,up;const Jf=(sp=Gd.current)==null?void 0:sp.cesiumElement;if(!Jf||Jf.isDestroyed())return!1;const _m=getTag(Of),rp=convertCartesian3ToPosition((up=Gd.current)==null?void 0:up.cesiumElement,Af);return mt==null||mt((_m==null?void 0:_m.layerId)||"",(_m==null?void 0:_m.featureId)||"",rp),!1},[mt]),If=React.useRef();React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;if(!(!Of||Of.isDestroyed()))return If.current=new CesiumDnD(Of,{onDrag:Zf,onDrop:Kf,dragDelay:1e3,initialDisabled:!d}),()=>{var Jf;!Of||Of.isDestroyed()||(Jf=If.current)==null||Jf.disable()}},[Zf,Kf,d]);const{cameraViewBoundaries:nf,cameraViewOuterBoundaries:vf,cameraViewBoundariesMaterial:_f}=useCameraLimiter(Gd,o,n==null?void 0:n.cameraLimiter),mf=React.useMemo(()=>({selectionReason:c,timelineManagerRef:N,flyTo:tf.flyTo,getCamera:tf.getCamera,onLayerEdit:Ee,onLayerVisibility:Xd,onLayerLoad:Zd,requestRender:tf.requestRender,getSurfaceDistance:tf.getSurfaceDistance,toXYZ:tf.toXYZ,toWindowPosition:tf.toWindowPosition,isPositionVisible:tf.isPositionVisible}),[c,tf,Ee,Xd,Zd,N]);React.useEffect(()=>{var rp;if(!((rp=Gd.current)!=null&&rp.cesiumElement))return;const Of=!!(E&FEATURE_FLAGS.CAMERA_MOVE),Af=!!(E&FEATURE_FLAGS.CAMERA_ZOOM),Jf=!!(E&FEATURE_FLAGS.CAMERA_TILT),_m=!!(E&FEATURE_FLAGS.CAMERA_LOOK);Gd.current.cesiumElement.scene.screenSpaceCameraController.enableTranslate=Of,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableRotate=Of,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableLook=_m,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableTilt=Jf,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableZoom=Af},[E]),React.useEffect(()=>{var Af,Jf,_m,rp;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||(Of.scene.msaaSamples=((Jf=n==null?void 0:n.render)==null?void 0:Jf.antialias)==="extreme"?8:((_m=n==null?void 0:n.render)==null?void 0:_m.antialias)==="high"?6:((rp=n==null?void 0:n.render)==null?void 0:rp.antialias)==="medium"?4:1)},[(ap=n==null?void 0:n.render)==null?void 0:ap.antialias]);const ff=React.useCallback(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!(L!=null&&L.current)||!Of||Of.isDestroyed()||(Of.scene.requestRender(),L.current===REQUEST_RENDER_ONCE&&(L.current=NO_REQUEST_RENDER))},[L]),bf=React.useRef();React.useEffect(()=>{bf.current=ff},[ff]),React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;if(!(!Of||Of.isDestroyed()))return Of.scene.postUpdate.addEventListener(()=>{var Jf;(Jf=bf.current)==null||Jf.call(bf)})},[]),React.useEffect(()=>{L&&(L.current=REQUEST_RENDER_ONCE)},[n,L]),React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||L&&(L.current=h||F?FORCE_REQUEST_RENDER:L.current===REQUEST_RENDER_ONCE?REQUEST_RENDER_ONCE:NO_REQUEST_RENDER)},[h,F,L]),React.useEffect(()=>{var Af,Jf,_m,rp,sp;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;Of&&((Jf=Of.animation)!=null&&Jf.container&&(Of.animation.container.style.visibility=(_m=n==null?void 0:n.timeline)!=null&&_m.visible?"visible":"hidden"),(rp=Of.timeline)!=null&&rp.container&&(Of.timeline.container.style.visibility=(sp=n==null?void 0:n.timeline)!=null&&sp.visible?"visible":"hidden"),Of.forceResize())},[n]);const wf=(Vp=(Fp=Gd.current)==null?void 0:Fp.cesiumElement)==null?void 0:Vp.scene.globe;React.useEffect(()=>{var Of;if(wf){const Af=wf._surface;Af&&(Af.tileProvider._debug.wireframe=((Of=n==null?void 0:n.render)==null?void 0:Of.showWireframe)??!1)}},[wf,(Up=n==null?void 0:n.render)==null?void 0:Up.showWireframe]);const Vf=React.useCallback(Of=>{!Of.camera||!z||Math.abs(Cesium$1.Math.negativePiToPi(Of.camera.roll))>Math.PI/86400&&Of.camera.setView({orientation:{heading:Of.camera.heading,pitch:Of.camera.pitch,roll:0}})},[z]);return React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;if(Of)return Of.scene.preRender.addEventListener(Vf)},[Vf]),{backgroundColor:lt,cesium:Gd,cameraViewBoundaries:nf,cameraViewOuterBoundaries:vf,cameraViewBoundariesMaterial:_f,cesiumIonAccessToken:of,mouseEventHandles:Nf,context:mf,light:md,handleMount:af,handleUnmount:hf,handleUpdate:Lf,handleClick:kf,handleCameraChange:sf,handleCameraMoveEnd:uf,layerSelectWithRectEventHandlers:pi}};function tileProperties(t){return t.getPropertyIds().reduce((n,o)=>[...n,{key:o,value:t.getProperty(o)}],[])}function getLayerId(t){var n,o;if(t&&"id"in t&&t.id instanceof Cesium$1.Entity)return(n=getTag(t.id))==null?void 0:n.layerId;if(t&&t instanceof Cesium$1.Cesium3DTileFeature)return(o=getTag(t.tileset))==null?void 0:o.layerId}function makeHandler(t,n,o){return{name:t,get:()=>o[0].uniforms[n],set:s=>{o.forEach(c=>{c.uniforms[n]=s})}}}function createUniforms(t){const n=groupBy$1(t.flatMap(({stage:s,stages:c,uniforms:d})=>d.flatMap(h=>typeof h=="string"?[makeHandler(h,h,s!=null?[s]:c)]:Object.entries(h).map(([p,y])=>makeHandler(p,y,s!=null?[s]:c)))),({name:s})=>s),o={};return Object.entries(n).forEach(([s,c])=>{Object.defineProperty(o,s,{get:()=>c[0].get(),set:d=>{c.forEach(h=>{h.set(d)})}})}),o}const crossBilateralFilter=`#define SAMPLES (8.0)
|
|
6174
|
+
vec4 color = computeDayColor(initialColor`).erase(["#ifdef APPLY_MATERIAL","czm_materialInput materialInput;","materialInput.st = v_textureCoordinates.st;","materialInput.normalEC = normalize(v_normalEC);","materialInput.positionToEyeEC = -v_positionEC;","materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC));","materialInput.slope = v_slope;","materialInput.height = v_height;","materialInput.aspect = v_aspect;","czm_material material = czm_getMaterial(materialInput);","vec4 materialColor = vec4(material.diffuse, material.alpha);","color = alphaBlend(materialColor, color);","#endif"]);function makeGlobeShadersDirty(t){const n=t.material;n==null?(t.material=Cesium$1.Material.fromType("Color"),t.material=void 0):(t.material=void 0,t.material=n)}const useIBL=({sphericalHarmonicCoefficients:t,globeImageBasedLighting:n,hasVertexNormals:o,enableLighting:s})=>{const c=React.useMemo(()=>o&&s,[o,s]),d=useImmutableFunction(t||[]),h=useImmutableFunction(n&&!!t),p=React.useMemo(()=>({u_reearth_sphericalHarmonicCoefficients:d,u_reearth_globeImageBasedLighting:h}),[d,h]),y=React.useMemo(()=>new StringMatcher().replace(["float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0);","vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a);"],"vec4 finalColor = reearth_computeImageBasedLightingColor(color);"),[]);return{uniformMapForIBL:p,isIBLEnabled:c,shaderForIBL:y}},useTerrainHeatmap=({cesium:t,terrain:{heatmapType:n,heatmapMaxHeight:o,heatmapMinHeight:s,heatmapLogarithmic:c,heatmapColorLUT:d}={}})=>{const h=React.useMemo(()=>n==="custom",[n]),p=React.useMemo(()=>new StringMatcher().replace(["#ifdef APPLY_COLOR_TO_ALPHA","vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb);","colorDiff.r = max(max(colorDiff.r, colorDiff.g), colorDiff.b);","alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha);","#endif"],"color = reearth_calculateElevationMapForGlobe(colorToAlpha, color);"),[]);return React.useEffect(()=>{var E;if(!((E=t.current)!=null&&E.cesiumElement)||!h)return;const y=t.current.cesiumElement.scene.globe;return y.material=new VertexTerrainElevationMaterial,()=>{y.material=void 0}},[t,h]),React.useEffect(()=>{var E;if(!((E=t.current)!=null&&E.cesiumElement)||!h)return;const y=t.current.cesiumElement.scene.globe;y.material instanceof VertexTerrainElevationMaterial&&(y.material.uniforms.minHeight=s??y.material.uniforms.minHeight,y.material.uniforms.maxHeight=o??y.material.uniforms.maxHeight,y.material.uniforms.logarithmic=c??y.material.uniforms.logarithmic)},[t,h,o,s,c]),React.useEffect(()=>{var E;if(!((E=t.current)!=null&&E.cesiumElement)||!h||!d)return;const y=t.current.cesiumElement.scene.globe;y.material instanceof VertexTerrainElevationMaterial&&(y.material.uniforms.colorMap=createColorMapImage(d))},[t,h,d]),{isCustomHeatmapEnabled:h,shaderForTerrainHeatmap:p}},useOverrideGlobeShader=({cesium:t,sphericalHarmonicCoefficients:n,globeShadowDarkness:o,globeImageBasedLighting:s,hasVertexNormals:c,enableLighting:d,terrain:h})=>{const{uniformMapForIBL:p,isIBLEnabled:y,shaderForIBL:E}=useIBL({sphericalHarmonicCoefficients:n,globeImageBasedLighting:s,hasVertexNormals:c,enableLighting:d}),{isCustomHeatmapEnabled:L,shaderForTerrainHeatmap:F}=useTerrainHeatmap({cesium:t,terrain:h});React.useEffect(()=>{var J;if(!((J=t.current)!=null&&J.cesiumElement)||!c)return;const H=t.current.cesiumElement.scene.globe;H.vertexShadowDarkness=o??H.vertexShadowDarkness},[t,o,c]);const N=React.useRef(!1),z=React.useCallback(()=>{var sl,Vd;if(!((sl=t.current)!=null&&sl.cesiumElement)||!N.current)return;const H=t.current.cesiumElement.scene.globe,J=H._surfaceShaderSet;if(!J)return;const nt=J.baseFragmentShaderSource,mt=nt==null?void 0:nt.sources[nt.sources.length-1];if(!mt||!nt)return;const Ee=[],yt=[];if(y&&H.enableLighting&&H.terrainProvider.hasVertexNormals&&(Ee.push(E),yt.push(IBLFS)),L&&(Ee.push(F),yt.push(HeatmapForTerrainFS)),!Ee.length||(N.current=!1,!((Vd=H==null?void 0:H._surface)!=null&&Vd._tileProvider)))return;makeGlobeShadersDirty(H);const Ai=defaultMatcher.concat(...Ee).execute(mt);H._surface._tileProvider.materialUniformMap={...H._surface._tileProvider.materialUniformMap??{},...p},J.baseFragmentShaderSource=new ShaderSource({sources:[...nt.sources.slice(0,-1),GlobeFSDefinitions+Ai+yt.join("")],defines:nt.defines})},[t,L,y,E,F,p]);React.useEffect(()=>{var H;if((H=t.current)!=null&&H.cesiumElement)return t.current.cesiumElement.scene.postRender.addEventListener(z)},[t,z]),React.useEffect(()=>{var nt;if(!((nt=t.current)!=null&&nt.cesiumElement)||!y&&!L)return;const H=t.current.cesiumElement.scene,J=H.globe;return N.current=!0,H.requestRender(),()=>{J.isDestroyed()||makeGlobeShadersDirty(J)}},[t,L,y])},useHooks$1=({ref:t,property:n,camera:o,selectedLayerId:s,selectionReason:c,isLayerDraggable:d,isLayerDragging:h,meta:p,layersRef:y,featureFlags:E,requestingRenderMode:L,shouldRender:F,timelineManagerRef:N,cameraForceHorizontalRoll:z=!1,onLayerSelect:H,onCameraChange:J,onLayerDrag:nt,onLayerDrop:mt,onLayerEdit:Ee,onLayerSelectWithRectStart:yt,onLayerSelectWithRectMove:Ai,onLayerSelectWithRectEnd:sl,onMount:Vd,onLayerVisibility:Xd,onLayerLoad:Zd})=>{var Tf,zf,Xf,Gf,Bf,Sf,Uf,Ff,Mf,Df,vm,Yf,wm,Qm,qm,$m,zm,lp,yp,pp,Cp,bp,Gp,Rp,ap,Fp,Vp,Up;const Gd=React.useRef(null),rf=typeof(p==null?void 0:p.cesiumIonAccessToken)=="string"&&p.cesiumIonAccessToken?p.cesiumIonAccessToken:Cesium$1.Ion.defaultAccessToken,of=((Tf=n==null?void 0:n.default)==null?void 0:Tf.ion)||rf,tf=useEngineRef(t,Gd),pi=useLayerSelectWithRect({cesium:Gd,engineAPI:tf,onLayerSelectWithRectStart:yt,onLayerSelectWithRectMove:Ai,onLayerSelectWithRectEnd:sl,featureFlags:E}),lt=React.useMemo(()=>{var Of;return(Of=n==null?void 0:n.default)!=null&&Of.bgcolor?Cesium$1.Color.fromCssColorString(n.default.bgcolor):void 0},[(zf=n==null?void 0:n.default)==null?void 0:zf.bgcolor]),md=React.useMemo(()=>{var Af,Jf,_m,rp,sp,up,cf,xf,Rf,Wf,Qf,qf,$f;let Of;return((Af=n==null?void 0:n.light)==null?void 0:Af.lightType)==="sunLight"?Of=new Cesium$1.SunLight({color:(Jf=n.light)!=null&&Jf.lightColor?Cesium$1.Color.fromCssColorString(n.light.lightColor):void 0,intensity:(_m=n.light)==null?void 0:_m.lightIntensity}):((rp=n==null?void 0:n.light)==null?void 0:rp.lightType)==="directionalLight"?Of=new Cesium$1.DirectionalLight({direction:new Cesium$1.Cartesian3(((sp=n==null?void 0:n.light)==null?void 0:sp.lightDirectionX)??1,((up=n==null?void 0:n.light)==null?void 0:up.lightDirectionY)??0,((cf=n==null?void 0:n.light)==null?void 0:cf.lightDirectionZ)??0),color:(xf=n.light)!=null&&xf.lightColor?Cesium$1.Color.fromCssColorString(n.light.lightColor):void 0,intensity:(Rf=n.light)==null?void 0:Rf.lightIntensity}):(Of=(Qf=(Wf=Gd.current)==null?void 0:Wf.cesiumElement)==null?void 0:Qf.scene.light,Of&&(Of.color=(qf=n==null?void 0:n.light)!=null&&qf.lightColor?Cesium$1.Color.fromCssColorString(n.light.lightColor):Of.color,Of.intensity=($f=n==null?void 0:n.light)!=null&&$f.lightIntensity?n.light.lightIntensity:Of.intensity)),Of},[(Xf=n==null?void 0:n.light)==null?void 0:Xf.lightType,(Gf=n==null?void 0:n.light)==null?void 0:Gf.lightColor,(Bf=n==null?void 0:n.light)==null?void 0:Bf.lightDirectionX,(Sf=n==null?void 0:n.light)==null?void 0:Sf.lightDirectionY,(Uf=n==null?void 0:n.light)==null?void 0:Uf.lightDirectionZ,(Ff=n==null?void 0:n.light)==null?void 0:Ff.lightIntensity]);React.useEffect(()=>{var rp,sp,up,cf,xf,Rf;const Of=(sp=(rp=Gd==null?void 0:Gd.current)==null?void 0:rp.cesiumElement)==null?void 0:sp.shadowMap;if(!Of)return;Of.softShadows=((up=n==null?void 0:n.atmosphere)==null?void 0:up.softShadow)??!1,Of.darkness=((cf=n==null?void 0:n.atmosphere)==null?void 0:cf.shadowDarkness)??.3,Of.size=((xf=n==null?void 0:n.atmosphere)==null?void 0:xf.shadowResolution)??2048,Of.fadingEnabled=!0,Of.maximumDistance=((Rf=n==null?void 0:n.atmosphere)==null?void 0:Rf.shadowMaximumDistance)??5e3,Of.normalOffset=!0;const Af={polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4},Jf={polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffsetScale:.1*100,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*10},_m={polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4};Of._terrainBias&&Object.assign(Of._terrainBias,Af),Of._primitiveBias&&Object.assign(Of._primitiveBias,Jf),Of._pointBias&&Object.assign(Of._pointBias,_m)},[(Mf=n==null?void 0:n.atmosphere)==null?void 0:Mf.softShadow,(Df=n==null?void 0:n.atmosphere)==null?void 0:Df.shadowDarkness,(vm=n==null?void 0:n.atmosphere)==null?void 0:vm.shadowResolution,(Yf=n==null?void 0:n.atmosphere)==null?void 0:Yf.shadowMaximumDistance]),React.useEffect(()=>{var Of;tf.changeSceneMode((Of=n==null?void 0:n.default)==null?void 0:Of.sceneMode,0)},[(wm=n==null?void 0:n.default)==null?void 0:wm.sceneMode,tf]);const ef=React.useRef(!1),af=useCustomCompareCallback(()=>{var Af,Jf,_m,rp,sp,up,cf,xf;if(ef.current)return;if(ef.current=!0,(Af=n==null?void 0:n.cameraLimiter)!=null&&Af.cameraLimitterEnabled&&((Jf=n==null?void 0:n.cameraLimiter)!=null&&Jf.cameraLimitterTargetArea))tf.flyTo((_m=n==null?void 0:n.cameraLimiter)==null?void 0:_m.cameraLimitterTargetArea,{duration:0});else if(((rp=n==null?void 0:n.default)==null?void 0:rp.camera)??((sp=n==null?void 0:n.camera)==null?void 0:sp.camera)){const Rf=((up=n==null?void 0:n.default)==null?void 0:up.camera)??((cf=n==null?void 0:n.camera)==null?void 0:cf.camera);tf.flyTo(Rf,{duration:0})}const Of=getCamera((xf=Gd==null?void 0:Gd.current)==null?void 0:xf.cesiumElement);Of&&(J==null||J(Of)),Vd==null||Vd()},[tf,(Qm=n==null?void 0:n.default)==null?void 0:Qm.camera,(qm=n==null?void 0:n.camera)==null?void 0:qm.camera,($m=n==null?void 0:n.cameraLimiter)==null?void 0:$m.cameraLimitterEnabled,J,Vd],(Of,Af)=>Of[0]===Af[0]&&isEqual(Of[1],Af[1])&&isEqual(Of[2],Af[2])&&Of[3]===Af[3]&&Of[4]===Af[4]&&Of[5]===Af[5]),hf=React.useCallback(()=>{ef.current=!1},[]),df=React.useRef([]),lf=React.useCallback(()=>{var Jf;const Of=(Jf=Gd==null?void 0:Gd.current)==null?void 0:Jf.cesiumElement;if(!Of||Of.isDestroyed()||!J)return;const Af=getCamera(Of);Af&&!isEqual(Af,o)&&(df.current.push(Af),df.current.length>10&&df.current.shift(),J==null||J(Af))},[o,J]),sf=React.useCallback(()=>{lf()},[lf]),uf=React.useCallback(()=>{lf()},[lf]);React.useEffect(()=>{o&&!df.current.includes(o)&&(tf.flyTo(o,{duration:0}),df.current=[])},[o,tf]);const pf=React.useRef(),gf=React.useRef();React.useEffect(()=>{var rp,sp,up,cf,xf,Rf,Wf,Qf;const Of=(rp=Gd.current)==null?void 0:rp.cesiumElement;if(!Of||Of.isDestroyed()||gf.current===(s==null?void 0:s.featureId)&&(s==null?void 0:s.featureId)!==void 0)return;const Af=getTag(pf.current);if(!(Af!=null&&Af.featureId)&&(Af!=null&&Af.layerId)&&(s!=null&&s.layerId)&&(Af==null?void 0:Af.layerId)===s.layerId||Af!=null&&Af.featureId&&(s!=null&&s.featureId)&&(Af==null?void 0:Af.featureId)===s.featureId)return;const Jf=findEntity(Of,void 0,s==null?void 0:s.featureId)||findEntity(Of,s==null?void 0:s.layerId);if(pf.current===Jf)return;const _m=getTag(Jf);if(Jf instanceof Cesium$1.Entity&&!(_m!=null&&_m.hideIndicator)?Of.selectedEntity=Jf:Of.selectedEntity=void 0,pf.current=Jf,!Jf&&(s!=null&&s.featureId)){const qf=[],$f=(sp=y==null?void 0:y.current)==null?void 0:sp.findAll(Hf=>{var ep,Pm;return Hf.type==="simple"&&!!((ep=Hf.data)!=null&&ep.type)&&qf.includes((Pm=Hf.data)==null?void 0:Pm.type)});if($f!=null&&$f.length){const[Hf,ep]=(()=>{var Pm;for(const Dm of $f){const cp=(Pm=Dm.computed)==null?void 0:Pm.features.find(Am=>Am.id!==(s==null?void 0:s.featureId));if(cp)return[cp,Dm.id]}})()||[];H==null||H(ep,Hf==null?void 0:Hf.id)}}if(!(_m!=null&&_m.unselectable)){if(Jf&&Jf instanceof Cesium$1.Cesium3DTileFeature){const qf=getTag(Jf);if(qf){const $f=tileProperties(Jf);H==null||H(qf.layerId,String(qf.featureId),$f.length?{defaultInfobox:{title:Jf.getProperty("name"),content:{type:"table",value:$f}}}:void 0,{feature:qf.computedFeature})}return}if(Jf){const qf=_m!=null&&_m.layerId?((up=y==null?void 0:y.current)==null?void 0:up.overriddenLayers().find($f=>$f.id===_m.layerId))??((cf=y==null?void 0:y.current)==null?void 0:cf.findById(_m.layerId)):void 0;H==null||H(_m==null?void 0:_m.layerId,_m==null?void 0:_m.featureId,Jf instanceof Cesium$1.Entity&&(Jf.description||Jf.properties)?{defaultInfobox:{title:Jf.name,content:getEntityContent(Jf,((Rf=(xf=Gd.current)==null?void 0:xf.cesiumElement)==null?void 0:Rf.clock.currentTime)??new Cesium$1.JulianDate,_m!=null&&_m.layerId?(Qf=(Wf=qf==null?void 0:qf.infobox)==null?void 0:Wf.property)==null?void 0:Qf.defaultContent:void 0)}}:void 0)}}},[Gd,s,H,y,E]);const yf=React.useMemo(()=>{var Of,Af,Jf;return(Of=n==null?void 0:n.light)!=null&&Of.sphericalHarmonicCoefficients?arrayToCartecian3((Af=n==null?void 0:n.light)==null?void 0:Af.sphericalHarmonicCoefficients,(Jf=n==null?void 0:n.light)==null?void 0:Jf.imageBasedLightIntensity):void 0},[(zm=n==null?void 0:n.light)==null?void 0:zm.sphericalHarmonicCoefficients,(lp=n==null?void 0:n.light)==null?void 0:lp.imageBasedLightIntensity]);useOverrideGlobeShader({cesium:Gd,sphericalHarmonicCoefficients:yf,globeShadowDarkness:(yp=n==null?void 0:n.atmosphere)==null?void 0:yp.globeShadowDarkness,globeImageBasedLighting:(pp=n==null?void 0:n.atmosphere)==null?void 0:pp.globeImageBasedLighting,enableLighting:((Cp=n==null?void 0:n.atmosphere)==null?void 0:Cp.enable_lighting)??((bp=n==null?void 0:n.globeLighting)==null?void 0:bp.globeLighting),hasVertexNormals:((Gp=n==null?void 0:n.terrain)==null?void 0:Gp.terrain)&&n.terrain.terrainNormal,terrain:n==null?void 0:n.terrain});const Ef=React.useCallback((Of,Af,Jf)=>{var _m,rp;if(((_m=tf.mouseEventCallbacks[Of])==null?void 0:_m.length)>0){const sp=(rp=Gd.current)==null?void 0:rp.cesiumElement;if(!sp||sp.isDestroyed())return;const up=makeMouseEventProps(sp,Af);if(!up)return;const cf=getLayerId(Jf);cf&&(up.layerId=cf),tf.mouseEventCallbacks[Of].forEach(xf=>xf(up))}},[tf]),Pf=React.useCallback(Of=>{tf.mouseEventCallbacks.wheel.length>0&&tf.mouseEventCallbacks.wheel.forEach(Af=>Af({delta:Of}))},[tf]),Nf=React.useMemo(()=>{const Of={click:void 0,doubleclick:void 0,mousedown:void 0,mouseup:void 0,rightclick:void 0,rightdown:void 0,rightup:void 0,middleclick:void 0,middledown:void 0,middleup:void 0,mousemove:void 0,mouseenter:void 0,mouseleave:void 0,wheel:Af=>{Pf(Af)}};return Object.keys(Of).forEach(Af=>{Af!=="wheel"&&(Of[Af]=(Jf,_m)=>{Ef(Af,Jf,_m)})}),Of},[Ef,Pf]),kf=React.useCallback(async(Of,Af)=>{var sp,up,cf,xf,Rf,Wf,Qf,qf,$f,Hf,ep,Pm,Dm,cp;if((sp=Nf.click)==null||sp.call(Nf,Of,Af),!(E&FEATURE_FLAGS.SINGLE_SELECTION))return;const Jf=(up=Gd.current)==null?void 0:up.cesiumElement;if(!Jf||Jf.isDestroyed())return;gf.current=void 0;const _m=findEntity(Jf,void 0,s==null?void 0:s.featureId)||findEntity(Jf,s==null?void 0:s.layerId),rp=getTag(_m);if((!_m||_m instanceof Cesium$1.Entity&&(rp!=null&&rp.hideIndicator))&&(Jf.selectedEntity=void 0),Af&&"id"in Af&&Af.id instanceof Cesium$1.Entity&&isSelectable(Af.id)){const Am=getTag(Af.id),fp=Am!=null&&Am.layerId?((cf=y==null?void 0:y.current)==null?void 0:cf.overriddenLayers().find(mp=>mp.id===Am.layerId))??((xf=y==null?void 0:y.current)==null?void 0:xf.findById(Am.layerId)):void 0;H==null||H(Am==null?void 0:Am.layerId,Am==null?void 0:Am.featureId,Af.id.description||Af.id.properties?{defaultInfobox:{title:(fp==null?void 0:fp.title)??Af.id.name,content:getEntityContent(Af.id,Jf.clock.currentTime??new Cesium$1.JulianDate,Am!=null&&Am.layerId?(Wf=(Rf=fp==null?void 0:fp.infobox)==null?void 0:Rf.property)==null?void 0:Wf.defaultContent:void 0)}}:void 0),pf.current=Af.id,Af.id instanceof Cesium$1.Entity&&!(Am!=null&&Am.hideIndicator)?Jf.selectedEntity=Af.id:Jf.selectedEntity=void 0;return}if(Af&&(Af instanceof Cesium$1.Cesium3DTileFeature||Af instanceof Cesium$1.Cesium3DTilePointFeature)){const Am=getTag(Af);if(Am){const fp=tileProperties(Af);H==null||H(Am.layerId,String(Am.featureId),fp.length?{defaultInfobox:{title:Af.getProperty("name"),content:{type:"table",value:tileProperties(Af)}}}:void 0,{feature:Am.computedFeature}),pf.current=Af}return}if(Af&&"content"in Af&&Af.content&&typeof Af.content=="object"&&"_model"in Af.content&&Af.content._model instanceof Cesium$1.Model){const Am=Af.content._model,fp=getTag(Am);fp&&(H==null||H(fp.layerId,String(fp.featureId)),pf.current=Am);return}if(Af!=null&&Af.primitive&&(Af.primitive instanceof Cesium$1.Primitive||Af.primitive instanceof Cesium$1.GroundPrimitive)){const Am=Af.primitive,fp=getTag(Am);fp&&(H==null||H(fp.layerId,String(fp.featureId)),pf.current=Am);return}if(Af===void 0&&Of.position){const Am=Jf.scene,fp=Am.camera.getPickRay(Of.position);if(fp){const mp=await Am.imageryLayers.pickImageryLayerFeatures(fp,Am),Mp=mp==null?void 0:mp[0],_g=(Qf=Mp==null?void 0:Mp.data)==null?void 0:Qf.appearanceType;if(_g&&((Hf=($f=(qf=Mp==null?void 0:Mp.data)==null?void 0:qf.feature)==null?void 0:$f[_g])==null?void 0:Hf.show)!==!1){const Wp=getTag(Mp.imageryLayer),xg=Mp.position;xg&&requestAnimationFrame(()=>{Wp!=null&&Wp.hideIndicator||(Jf.selectedEntity=new Cesium$1.Entity({position:Cesium$1.Cartographic.toCartesian(xg)}))});const og=Wp!=null&&Wp.layerId?((ep=y==null?void 0:y.current)==null?void 0:ep.overriddenLayers().find(Rg=>Rg.id===Wp.layerId))??((Pm=y==null?void 0:y.current)==null?void 0:Pm.findById(Wp.layerId)):void 0,Sg=getEntityContent(Mp.data.feature??Mp,Jf.clock.currentTime??new Cesium$1.JulianDate,Wp!=null&&Wp.layerId?(cp=(Dm=og==null?void 0:og.infobox)==null?void 0:Dm.property)==null?void 0:cp.defaultContent:void 0);gf.current=Mp.data.featureId,H==null||H(Mp.data.layerId,Mp.data.featureId,Sg.value.length?{defaultInfobox:{title:(og==null?void 0:og.title)??Mp.name,content:Sg}}:void 0,{feature:Mp.data.feature});return}}}Jf.selectedEntity=void 0,H==null||H()},[H,Nf,y,E,s==null?void 0:s.featureId,s==null?void 0:s.layerId]);React.useEffect(()=>{var Of;if(e2eAccessToken())return setE2ECesiumViewer((Of=Gd.current)==null?void 0:Of.cesiumElement),()=>{setE2ECesiumViewer(void 0)}},[(Rp=Gd.current)==null?void 0:Rp.cesiumElement]),React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||Of.scene.requestRender()});const Lf=React.useCallback(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||Of.scene.requestRender()},[]),Zf=React.useCallback((Of,Af,Jf)=>{var up,cf;const _m=(up=Gd.current)==null?void 0:up.cesiumElement;if(!_m||_m.isDestroyed()||!isSelectable(Of)||!isDraggable(Of))return!1;const rp=convertCartesian3ToPosition((cf=Gd.current)==null?void 0:cf.cesiumElement,Af);if(!rp)return!1;const sp=getTag(Of);if(!sp)return!1;nt==null||nt(sp.layerId||"",sp.featureId,rp)},[nt]),Kf=React.useCallback((Of,Af)=>{var sp,up;const Jf=(sp=Gd.current)==null?void 0:sp.cesiumElement;if(!Jf||Jf.isDestroyed())return!1;const _m=getTag(Of),rp=convertCartesian3ToPosition((up=Gd.current)==null?void 0:up.cesiumElement,Af);return mt==null||mt((_m==null?void 0:_m.layerId)||"",(_m==null?void 0:_m.featureId)||"",rp),!1},[mt]),If=React.useRef();React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;if(!(!Of||Of.isDestroyed()))return If.current=new CesiumDnD(Of,{onDrag:Zf,onDrop:Kf,dragDelay:1e3,initialDisabled:!d}),()=>{var Jf;!Of||Of.isDestroyed()||(Jf=If.current)==null||Jf.disable()}},[Zf,Kf,d]);const{cameraViewBoundaries:nf,cameraViewOuterBoundaries:vf,cameraViewBoundariesMaterial:_f}=useCameraLimiter(Gd,o,n==null?void 0:n.cameraLimiter),mf=React.useMemo(()=>({selectionReason:c,timelineManagerRef:N,flyTo:tf.flyTo,getCamera:tf.getCamera,onLayerEdit:Ee,onLayerVisibility:Xd,onLayerLoad:Zd,requestRender:tf.requestRender,getSurfaceDistance:tf.getSurfaceDistance,toXYZ:tf.toXYZ,toWindowPosition:tf.toWindowPosition,isPositionVisible:tf.isPositionVisible}),[c,tf,Ee,Xd,Zd,N]);React.useEffect(()=>{var rp;if(!((rp=Gd.current)!=null&&rp.cesiumElement))return;const Of=!!(E&FEATURE_FLAGS.CAMERA_MOVE),Af=!!(E&FEATURE_FLAGS.CAMERA_ZOOM),Jf=!!(E&FEATURE_FLAGS.CAMERA_TILT),_m=!!(E&FEATURE_FLAGS.CAMERA_LOOK);Gd.current.cesiumElement.scene.screenSpaceCameraController.enableTranslate=Of,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableRotate=Of,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableLook=_m,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableTilt=Jf,Gd.current.cesiumElement.scene.screenSpaceCameraController.enableZoom=Af},[E]),React.useEffect(()=>{var Af,Jf,_m,rp;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||(Of.scene.msaaSamples=((Jf=n==null?void 0:n.render)==null?void 0:Jf.antialias)==="extreme"?8:((_m=n==null?void 0:n.render)==null?void 0:_m.antialias)==="high"?6:((rp=n==null?void 0:n.render)==null?void 0:rp.antialias)==="medium"?4:1)},[(ap=n==null?void 0:n.render)==null?void 0:ap.antialias]);const ff=React.useCallback(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!(L!=null&&L.current)||!Of||Of.isDestroyed()||(Of.scene.requestRender(),L.current===REQUEST_RENDER_ONCE&&(L.current=NO_REQUEST_RENDER))},[L]),bf=React.useRef();React.useEffect(()=>{bf.current=ff},[ff]),React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;if(!(!Of||Of.isDestroyed()))return Of.scene.postUpdate.addEventListener(()=>{var Jf;(Jf=bf.current)==null||Jf.call(bf)})},[]),React.useEffect(()=>{L&&(L.current=REQUEST_RENDER_ONCE)},[n,L]),React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;!Of||Of.isDestroyed()||L&&(L.current=h||F?FORCE_REQUEST_RENDER:L.current===REQUEST_RENDER_ONCE?REQUEST_RENDER_ONCE:NO_REQUEST_RENDER)},[h,F,L]),React.useEffect(()=>{var Af,Jf,_m,rp,sp;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;Of&&((Jf=Of.animation)!=null&&Jf.container&&(Of.animation.container.style.visibility=(_m=n==null?void 0:n.timeline)!=null&&_m.visible?"visible":"hidden"),(rp=Of.timeline)!=null&&rp.container&&(Of.timeline.container.style.visibility=(sp=n==null?void 0:n.timeline)!=null&&sp.visible?"visible":"hidden"),Of.forceResize())},[n]);const wf=(Vp=(Fp=Gd.current)==null?void 0:Fp.cesiumElement)==null?void 0:Vp.scene.globe;React.useEffect(()=>{var Of;if(wf){const Af=wf._surface;Af&&(Af.tileProvider._debug.wireframe=((Of=n==null?void 0:n.render)==null?void 0:Of.showWireframe)??!1)}},[wf,(Up=n==null?void 0:n.render)==null?void 0:Up.showWireframe]);const Vf=React.useCallback(Of=>{!Of.camera||!z||Math.abs(Cesium$1.Math.negativePiToPi(Of.camera.roll))>Math.PI/86400&&Of.camera.setView({orientation:{heading:Of.camera.heading,pitch:Of.camera.pitch,roll:0}})},[z]);return React.useEffect(()=>{var Af;const Of=(Af=Gd.current)==null?void 0:Af.cesiumElement;if(Of)return Of.scene.preRender.addEventListener(Vf)},[Vf]),{backgroundColor:lt,cesium:Gd,cameraViewBoundaries:nf,cameraViewOuterBoundaries:vf,cameraViewBoundariesMaterial:_f,cesiumIonAccessToken:of,mouseEventHandles:Nf,context:mf,light:md,handleMount:af,handleUnmount:hf,handleUpdate:Lf,handleClick:kf,handleCameraChange:sf,handleCameraMoveEnd:uf,layerSelectWithRectEventHandlers:pi}};function tileProperties(t){return t.getPropertyIds().reduce((n,o)=>[...n,{key:o,value:t.getProperty(o)}],[])}function getLayerId(t){var n,o;if(t&&"id"in t&&t.id instanceof Cesium$1.Entity)return(n=getTag(t.id))==null?void 0:n.layerId;if(t&&t instanceof Cesium$1.Cesium3DTileFeature)return(o=getTag(t.tileset))==null?void 0:o.layerId}function makeHandler(t,n,o){return{name:t,get:()=>o[0].uniforms[n],set:s=>{o.forEach(c=>{c.uniforms[n]=s})}}}function createUniforms(t){const n=groupBy$1(t.flatMap(({stage:s,stages:c,uniforms:d})=>d.flatMap(h=>typeof h=="string"?[makeHandler(h,h,s!=null?[s]:c)]:Object.entries(h).map(([p,y])=>makeHandler(p,y,s!=null?[s]:c)))),({name:s})=>s),o={};return Object.entries(n).forEach(([s,c])=>{Object.defineProperty(o,s,{get:()=>c[0].get(),set:d=>{c.forEach(h=>{h.set(d)})}})}),o}const crossBilateralFilter=`#define SAMPLES (8.0)
|
|
6175
6175
|
|
|
6176
6176
|
#ifndef OUTPUT_TYPE
|
|
6177
6177
|
#define OUTPUT_TYPE (0)
|
package/package.json
CHANGED
|
@@ -379,7 +379,11 @@ export default ({
|
|
|
379
379
|
const viewer = cesium.current?.cesiumElement;
|
|
380
380
|
if (!viewer || viewer.isDestroyed()) return;
|
|
381
381
|
|
|
382
|
-
if (
|
|
382
|
+
if (
|
|
383
|
+
prevSelectedImageryFeatureId.current === selectedLayerId?.featureId &&
|
|
384
|
+
selectedLayerId?.featureId !== undefined
|
|
385
|
+
)
|
|
386
|
+
return;
|
|
383
387
|
|
|
384
388
|
const prevTag = getTag(prevSelectedEntity.current);
|
|
385
389
|
if (
|