m4-w-fast 1.1.2 → 1.2.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/README.md +6 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/intersect.worker.js +2 -2
- package/dist/isoBands.worker.js +1 -1
- package/dist/m4-w-fast.umd.js +1 -1
- package/dist/raster-leaflet/index.cjs +2 -0
- package/dist/raster-leaflet/index.d.ts +5 -0
- package/dist/raster-leaflet/index.js +1 -0
- package/dist/raster-leaflet/index.mjs +2 -0
- package/dist/raster-leaflet/m4-w-raster-leaflet.umd.js +2 -0
- package/dist/raster-mars3d/cesiumRasterPlaneRenderer.d.ts +28 -0
- package/dist/raster-mars3d/cesiumRasterPlaneRenderer.js +1 -0
- package/dist/raster-mars3d/cesiumRasterTextureAdapter.d.ts +14 -0
- package/dist/raster-mars3d/cesiumRasterTextureAdapter.js +1 -0
- package/dist/raster-mars3d/index.cjs +2 -0
- package/dist/raster-mars3d/index.d.ts +6 -0
- package/dist/raster-mars3d/index.js +1 -0
- package/dist/raster-mars3d/index.mjs +2 -0
- package/dist/raster-mars3d/m4-w-raster-mars3d.umd.js +2 -0
- package/dist/raster-mars3d/mars3dRasterImageryProvider.d.ts +30 -0
- package/dist/raster-mars3d/mars3dRasterImageryProvider.js +1 -0
- package/dist/raster-mars3d/mars3dRasterPlaneLayer.d.ts +3 -0
- package/dist/raster-mars3d/mars3dRasterPlaneLayer.js +1 -0
- package/dist/raster-mars3d/rasterPlaneCesiumTypes.d.ts +95 -0
- package/dist/raster-mars3d/rasterPlaneCesiumTypes.js +1 -0
- package/dist/raster-mars3d/rasterPlaneGeometry.d.ts +5 -0
- package/dist/raster-mars3d/rasterPlaneGeometry.js +1 -0
- package/dist/raster-mars3d/rasterPlaneGridChunks.d.ts +4 -0
- package/dist/raster-mars3d/rasterPlaneGridChunks.js +1 -0
- package/dist/raster-mars3d/rasterPlaneMaterial.d.ts +21 -0
- package/dist/raster-mars3d/rasterPlaneMaterial.js +1 -0
- package/dist/raster-mars3d/rasterPlaneTypes.d.ts +33 -0
- package/dist/raster-mars3d/rasterPlaneTypes.js +1 -0
- package/dist/raster-mars3d/types.d.ts +30 -0
- package/dist/raster-mars3d/types.js +1 -0
- package/dist/raster-overlay/color.d.ts +1 -1
- package/dist/raster-overlay/color.js +1 -1
- package/dist/raster-overlay/core.d.ts +1 -1
- package/dist/raster-overlay/core.js +1 -1
- package/dist/raster-overlay/index.cjs +2 -2
- package/dist/raster-overlay/index.d.ts +5 -2
- package/dist/raster-overlay/index.js +1 -1
- package/dist/raster-overlay/index.mjs +2 -2
- package/dist/raster-overlay/leaflet-renderers/createRenderer.d.ts +3 -7
- package/dist/raster-overlay/leaflet-renderers/createRenderer.js +1 -1
- package/dist/raster-overlay/leaflet-renderers/renderer.d.ts +1 -59
- package/dist/raster-overlay/leafletLayer.d.ts +4 -0
- package/dist/raster-overlay/leafletLayer.js +1 -1
- package/dist/raster-overlay/leafletTypes.d.ts +21 -0
- package/dist/raster-overlay/leafletTypes.js +1 -0
- package/dist/raster-overlay/m4-w-raster-overlay.umd.js +2 -2
- package/dist/raster-overlay/query.d.ts +1 -1
- package/dist/raster-overlay/query.js +1 -1
- package/dist/raster-overlay/rasterTypes.d.ts +73 -0
- package/dist/raster-overlay/rasterTypes.js +1 -0
- package/dist/raster-overlay/rendering/createRasterRenderer.d.ts +4 -0
- package/dist/raster-overlay/rendering/createRasterRenderer.js +1 -0
- package/dist/raster-overlay/rendering/index.d.ts +5 -0
- package/dist/raster-overlay/rendering/index.js +1 -0
- package/dist/raster-overlay/rendering/rasterRenderState.d.ts +27 -0
- package/dist/raster-overlay/rendering/rasterRenderState.js +1 -0
- package/dist/raster-overlay/rendering/renderer.d.ts +15 -0
- package/dist/raster-overlay/rendering/renderer.js +1 -0
- package/dist/raster-overlay/rendering/webgl2RasterRenderer.d.ts +34 -0
- package/dist/raster-overlay/rendering/webgl2RasterRenderer.js +1 -0
- package/dist/raster-overlay/rendering/webgpuRasterRenderer.d.ts +42 -0
- package/dist/raster-overlay/rendering/webgpuRasterRenderer.js +1 -0
- package/dist/raster-overlay/types.d.ts +2 -235
- package/dist/raster-rendering/index.cjs +2 -0
- package/dist/raster-rendering/index.d.ts +8 -0
- package/dist/raster-rendering/index.js +1 -0
- package/dist/raster-rendering/index.mjs +2 -0
- package/dist/raster-rendering/m4-w-raster-rendering.umd.js +2 -0
- package/dist/raster-rendering/types.d.ts +13 -0
- package/dist/raster-rendering/types.js +1 -0
- package/dist/raster-rendering/webgpuRasterTileRenderer.d.ts +29 -0
- package/dist/raster-rendering/webgpuRasterTileRenderer.js +1 -0
- package/dist/readFile.d.ts +2 -2
- package/dist/readFile.js +1 -1
- package/dist/rendering/index.d.ts +6 -0
- package/dist/rendering/index.js +1 -0
- package/dist/rendering/renderer.d.ts +35 -0
- package/dist/rendering/renderer.js +1 -0
- package/dist/rendering/types.d.ts +20 -0
- package/dist/rendering/types.js +1 -0
- package/dist/rendering/webgl2/baseWebgl2Renderer.d.ts +37 -0
- package/dist/rendering/webgl2/baseWebgl2Renderer.js +1 -0
- package/dist/rendering/webgl2/index.d.ts +4 -0
- package/dist/rendering/webgl2/index.js +1 -0
- package/dist/rendering/webgl2/types.d.ts +24 -0
- package/dist/rendering/webgl2/types.js +1 -0
- package/dist/rendering/webgl2/webgl2CoverageResources.d.ts +29 -0
- package/dist/rendering/webgl2/webgl2CoverageResources.js +1 -0
- package/dist/rendering/webgl2/webgl2VisualizationResources.d.ts +33 -0
- package/dist/rendering/webgl2/webgl2VisualizationResources.js +1 -0
- package/dist/rendering/webgpu/baseWebgpuRenderer.d.ts +181 -0
- package/dist/rendering/webgpu/baseWebgpuRenderer.js +1 -0
- package/dist/rendering/webgpu/index.d.ts +3 -0
- package/dist/rendering/webgpu/index.js +1 -0
- package/dist/rendering/webgpu/types.d.ts +33 -0
- package/dist/rendering/webgpu/types.js +1 -0
- package/dist/rendering/webgpu/visualizationParams.d.ts +25 -0
- package/dist/rendering/webgpu/visualizationParams.js +1 -0
- package/dist/rendering/webgpu/visualizationResources.d.ts +50 -0
- package/dist/rendering/webgpu/visualizationResources.js +1 -0
- package/dist/rendering/webgpu/webgpuCoverageResources.d.ts +36 -0
- package/dist/rendering/webgpu/webgpuCoverageResources.js +1 -0
- package/dist/road-overlay/coordinateTransform.js +1 -1
- package/dist/road-overlay/index.cjs +2 -2
- package/dist/road-overlay/index.d.ts +3 -1
- package/dist/road-overlay/index.js +1 -1
- package/dist/road-overlay/index.mjs +2 -2
- package/dist/road-overlay/leaflet-renderers/createRenderer.d.ts +3 -7
- package/dist/road-overlay/leaflet-renderers/createRenderer.js +1 -1
- package/dist/road-overlay/leaflet-renderers/renderer.d.ts +1 -82
- package/dist/road-overlay/leafletLayer.d.ts +2 -0
- package/dist/road-overlay/leafletLayer.js +1 -1
- package/dist/road-overlay/m4-w-road-overlay.umd.js +2 -2
- package/dist/road-overlay/options.d.ts +5 -1
- package/dist/road-overlay/options.js +1 -1
- package/dist/road-overlay/rendering/index.d.ts +4 -0
- package/dist/road-overlay/rendering/index.js +1 -0
- package/dist/road-overlay/rendering/renderer.d.ts +54 -0
- package/dist/road-overlay/rendering/renderer.js +1 -0
- package/dist/road-overlay/rendering/roadRenderState.d.ts +137 -0
- package/dist/road-overlay/rendering/roadRenderState.js +1 -0
- package/dist/road-overlay/rendering/webgl2RoadRenderer.d.ts +38 -0
- package/dist/road-overlay/rendering/webgl2RoadRenderer.js +1 -0
- package/dist/road-overlay/rendering/webgpuRoadRenderer.d.ts +134 -0
- package/dist/road-overlay/rendering/webgpuRoadRenderer.js +1 -0
- package/dist/road-overlay/roadData.d.ts +3 -2
- package/dist/road-overlay/roadData.js +1 -1
- package/dist/road-overlay/roadGeometry.d.ts +2 -2
- package/dist/road-overlay/roadGeometry.js +1 -1
- package/dist/road-overlay/roadMesh.d.ts +7 -5
- package/dist/road-overlay/roadMesh.js +1 -1
- package/dist/road-overlay/types.d.ts +10 -2
- package/dist/shared/coordinate-shader/webgl2/index.d.ts +3 -0
- package/dist/shared/coordinate-shader/webgl2/index.js +1 -0
- package/dist/shared/coordinate-shader/webgpu/index.d.ts +5 -0
- package/dist/shared/coordinate-shader/webgpu/index.js +1 -0
- package/dist/shared/coverage/index.d.ts +1 -0
- package/dist/shared/coverage/index.js +1 -0
- package/dist/shared/coverage/types.d.ts +8 -0
- package/dist/shared/coverage/types.js +1 -0
- package/dist/shared/map/index.d.ts +2 -0
- package/dist/shared/map/index.js +1 -0
- package/dist/shared/map/leaflet.d.ts +7 -0
- package/dist/shared/map/leaflet.js +1 -0
- package/dist/shared/map/types.d.ts +19 -0
- package/dist/shared/map/types.js +1 -0
- package/dist/shared/polygon/contains.d.ts +3 -0
- package/dist/shared/polygon/contains.js +1 -0
- package/dist/shared/polygon/index.d.ts +3 -0
- package/dist/shared/polygon/index.js +1 -0
- package/dist/shared/polygon/polygonMesh.d.ts +3 -0
- package/dist/shared/polygon/polygonMesh.js +1 -0
- package/dist/shared/polygon/types.d.ts +11 -0
- package/dist/shared/polygon/types.js +1 -0
- package/dist/shared/shader/assemble.d.ts +5 -0
- package/dist/shared/shader/assemble.js +1 -0
- package/dist/shared/visualization/index.d.ts +2 -0
- package/dist/shared/visualization/index.js +1 -0
- package/dist/shared/visualization/shader/webgl2/index.d.ts +1 -0
- package/dist/shared/visualization/shader/webgl2/index.js +1 -0
- package/dist/shared/visualization/shader/webgpu/index.d.ts +10 -0
- package/dist/shared/visualization/shader/webgpu/index.js +1 -0
- package/dist/shared/visualization/types.d.ts +68 -0
- package/dist/shared/visualization/types.js +1 -0
- package/dist/shared/visualization/utils.d.ts +46 -0
- package/dist/shared/visualization/utils.js +1 -0
- package/dist/volume-mars3d/createMars3dVolumeScene.d.ts +3 -0
- package/dist/volume-mars3d/createMars3dVolumeScene.js +1 -0
- package/dist/volume-mars3d/index.cjs +1 -0
- package/dist/volume-mars3d/index.d.ts +2 -0
- package/dist/volume-mars3d/index.js +1 -0
- package/dist/volume-mars3d/index.mjs +1 -0
- package/dist/volume-mars3d/m4-w-volume-mars3d.umd.js +1 -0
- package/dist/volume-mars3d/mars3dCanvasCompensation.d.ts +22 -0
- package/dist/volume-mars3d/mars3dCanvasCompensation.js +1 -0
- package/dist/volume-mars3d/mars3dRaymarchShader.d.ts +1 -0
- package/dist/volume-mars3d/mars3dRaymarchShader.js +1 -0
- package/dist/volume-mars3d/mars3dVolumeLayer.d.ts +2 -0
- package/dist/volume-mars3d/mars3dVolumeLayer.js +1 -0
- package/dist/volume-mars3d/mars3dVolumeRenderer.d.ts +56 -0
- package/dist/volume-mars3d/mars3dVolumeRenderer.js +1 -0
- package/dist/volume-mars3d/volumeMars3dTypes.d.ts +85 -0
- package/dist/volume-mars3d/volumeMars3dTypes.js +1 -0
- package/dist/volume-mars3d-native/index.cjs +1 -0
- package/dist/volume-mars3d-native/index.d.ts +4 -0
- package/dist/volume-mars3d-native/index.js +1 -0
- package/dist/volume-mars3d-native/index.mjs +1 -0
- package/dist/volume-mars3d-native/liveUpdateScheduler.d.ts +10 -0
- package/dist/volume-mars3d-native/liveUpdateScheduler.js +1 -0
- package/dist/volume-mars3d-native/m4-w-volume-mars3d-native.umd.js +1 -0
- package/dist/volume-mars3d-native/mars3dNativeSliceLayer.d.ts +2 -0
- package/dist/volume-mars3d-native/mars3dNativeSliceLayer.js +1 -0
- package/dist/volume-mars3d-native/mars3dNativeSliceRenderer.d.ts +56 -0
- package/dist/volume-mars3d-native/mars3dNativeSliceRenderer.js +1 -0
- package/dist/volume-mars3d-native/mars3dNativeVolumeLayer.d.ts +2 -0
- package/dist/volume-mars3d-native/mars3dNativeVolumeLayer.js +1 -0
- package/dist/volume-mars3d-native/mars3dNativeVolumeRenderer.d.ts +34 -0
- package/dist/volume-mars3d-native/mars3dNativeVolumeRenderer.js +1 -0
- package/dist/volume-mars3d-native/nativeAxisSliceRenderer.d.ts +40 -0
- package/dist/volume-mars3d-native/nativeAxisSliceRenderer.js +1 -0
- package/dist/volume-mars3d-native/nativeSliceAtlas.d.ts +50 -0
- package/dist/volume-mars3d-native/nativeSliceAtlas.js +1 -0
- package/dist/volume-mars3d-native/nativeSliceRuntimeTypes.d.ts +17 -0
- package/dist/volume-mars3d-native/nativeSliceRuntimeTypes.js +1 -0
- package/dist/volume-mars3d-native/nativeTypes.d.ts +174 -0
- package/dist/volume-mars3d-native/nativeTypes.js +1 -0
- package/dist/volume-mars3d-native/nativeVoxelProvider.d.ts +6 -0
- package/dist/volume-mars3d-native/nativeVoxelProvider.js +1 -0
- package/dist/volume-mars3d-native/nativeVoxelShader.d.ts +2 -0
- package/dist/volume-mars3d-native/nativeVoxelShader.js +1 -0
- package/dist/volume-mars3d-native/voxelData.d.ts +9 -0
- package/dist/volume-mars3d-native/voxelData.js +1 -0
- package/dist/volume-scene/brickLayout.d.ts +75 -0
- package/dist/volume-scene/brickLayout.js +1 -0
- package/dist/volume-scene/brickResidency.d.ts +54 -0
- package/dist/volume-scene/brickResidency.js +1 -0
- package/dist/volume-scene/camera.d.ts +22 -0
- package/dist/volume-scene/camera.js +1 -0
- package/dist/volume-scene/cameraTypes.d.ts +37 -0
- package/dist/volume-scene/cameraTypes.js +1 -0
- package/dist/volume-scene/createVolumeScene.d.ts +4 -0
- package/dist/volume-scene/createVolumeScene.js +1 -0
- package/dist/volume-scene/geographicTypes.d.ts +16 -0
- package/dist/volume-scene/geographicTypes.js +1 -0
- package/dist/volume-scene/geographicVolume.d.ts +4 -0
- package/dist/volume-scene/geographicVolume.js +1 -0
- package/dist/volume-scene/inMemoryVolumeSource.d.ts +3 -0
- package/dist/volume-scene/inMemoryVolumeSource.js +1 -0
- package/dist/volume-scene/index.cjs +1 -0
- package/dist/volume-scene/index.d.ts +12 -0
- package/dist/volume-scene/index.js +1 -0
- package/dist/volume-scene/index.mjs +1 -0
- package/dist/volume-scene/m4-w-volume-scene.umd.js +1 -0
- package/dist/volume-scene/matrix.d.ts +11 -0
- package/dist/volume-scene/matrix.js +1 -0
- package/dist/volume-scene/profileTypes.d.ts +20 -0
- package/dist/volume-scene/profileTypes.js +1 -0
- package/dist/volume-scene/rendering/webgpu/index.d.ts +2 -0
- package/dist/volume-scene/rendering/webgpu/index.js +1 -0
- package/dist/volume-scene/rendering/webgpu/webgpuBrickAtlas.d.ts +59 -0
- package/dist/volume-scene/rendering/webgpu/webgpuBrickAtlas.js +1 -0
- package/dist/volume-scene/rendering/webgpu/webgpuSceneAttachments.d.ts +11 -0
- package/dist/volume-scene/rendering/webgpu/webgpuSceneAttachments.js +1 -0
- package/dist/volume-scene/rendering/webgpu/webgpuSceneMeshResources.d.ts +12 -0
- package/dist/volume-scene/rendering/webgpu/webgpuSceneMeshResources.js +1 -0
- package/dist/volume-scene/rendering/webgpu/webgpuSliceResources.d.ts +21 -0
- package/dist/volume-scene/rendering/webgpu/webgpuSliceResources.js +1 -0
- package/dist/volume-scene/rendering/webgpu/webgpuTransferResources.d.ts +16 -0
- package/dist/volume-scene/rendering/webgpu/webgpuTransferResources.js +1 -0
- package/dist/volume-scene/rendering/webgpu/webgpuVolumeSceneRenderer.d.ts +126 -0
- package/dist/volume-scene/rendering/webgpu/webgpuVolumeSceneRenderer.js +1 -0
- package/dist/volume-scene/rendering/webgpu/webgpuVolumeTypes.d.ts +108 -0
- package/dist/volume-scene/rendering/webgpu/webgpuVolumeTypes.js +1 -0
- package/dist/volume-scene/routeProfileMesh.d.ts +7 -0
- package/dist/volume-scene/routeProfileMesh.js +1 -0
- package/dist/volume-scene/sceneTypes.d.ts +136 -0
- package/dist/volume-scene/sceneTypes.js +1 -0
- package/dist/volume-scene/sliceInteractionController.d.ts +27 -0
- package/dist/volume-scene/sliceInteractionController.js +1 -0
- package/dist/volume-scene/sliceMarkerOverlay.d.ts +28 -0
- package/dist/volume-scene/sliceMarkerOverlay.js +1 -0
- package/dist/volume-scene/sliceState.d.ts +34 -0
- package/dist/volume-scene/sliceState.js +1 -0
- package/dist/volume-scene/sliceTypes.d.ts +52 -0
- package/dist/volume-scene/sliceTypes.js +1 -0
- package/dist/volume-scene/sourceTypes.d.ts +47 -0
- package/dist/volume-scene/sourceTypes.js +1 -0
- package/dist/volume-scene/transferTypes.d.ts +12 -0
- package/dist/volume-scene/transferTypes.js +1 -0
- package/dist/volume-scene/volumeBrickData.d.ts +3 -0
- package/dist/volume-scene/volumeBrickData.js +1 -0
- package/dist/volume-scene/volumeScene.d.ts +103 -0
- package/dist/volume-scene/volumeScene.js +1 -0
- package/dist/volume-scene/volumeTransfer.d.ts +8 -0
- package/dist/volume-scene/volumeTransfer.js +1 -0
- package/dist/volume-scene/volumeValidation.d.ts +27 -0
- package/dist/volume-scene/volumeValidation.js +1 -0
- package/package.json +6 -3
- package/dist/raster-overlay/leaflet-renderers/cpuRenderer.d.ts +0 -0
- package/dist/raster-overlay/leaflet-renderers/cpuRenderer.js +0 -1
- package/dist/raster-overlay/leaflet-renderers/rasterRendererUtils.d.ts +0 -52
- package/dist/raster-overlay/leaflet-renderers/rasterRendererUtils.js +0 -1
- package/dist/raster-overlay/leaflet-renderers/webgl2Renderer.d.ts +0 -111
- package/dist/raster-overlay/leaflet-renderers/webgl2Renderer.js +0 -1
- package/dist/raster-overlay/leaflet-renderers/webglRenderer.d.ts +0 -0
- package/dist/raster-overlay/leaflet-renderers/webglRenderer.js +0 -1
- package/dist/raster-overlay/leaflet-renderers/webgpuRenderer.d.ts +0 -114
- package/dist/raster-overlay/leaflet-renderers/webgpuRenderer.js +0 -1
- package/dist/road-overlay/leaflet-renderers/webgpuRenderer.d.ts +0 -55
- package/dist/road-overlay/leaflet-renderers/webgpuRenderer.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0xa83f87,_0x2abf5d){const _0x293ab3=_0x586b,_0x466f75=_0xa83f87();while(!![]){try{const _0x3bd871=parseInt(_0x293ab3(0xca))/0x1*(-parseInt(_0x293ab3(0xc0))/0x2)+parseInt(_0x293ab3(0xc4))/0x3+parseInt(_0x293ab3(0xd7))/0x4*(parseInt(_0x293ab3(0xc3))/0x5)+-parseInt(_0x293ab3(0xd4))/0x6*(parseInt(_0x293ab3(0xd9))/0x7)+-parseInt(_0x293ab3(0xd5))/0x8*(parseInt(_0x293ab3(0xc8))/0x9)+parseInt(_0x293ab3(0xc1))/0xa+-parseInt(_0x293ab3(0xd6))/0xb;if(_0x3bd871===_0x2abf5d)break;else _0x466f75['push'](_0x466f75['shift']());}catch(_0x376157){_0x466f75['push'](_0x466f75['shift']());}}}(_0x3a5f,0x27893));export const ROAD_VERTEX_FLOAT_COUNT=0x9;function _0x586b(_0x2ee0a2,_0x4e34c9){const _0x3a5f2a=_0x3a5f();return _0x586b=function(_0x586b66,_0x4a472b){_0x586b66=_0x586b66-0xc0;let _0x439bc3=_0x3a5f2a[_0x586b66];return _0x439bc3;},_0x586b(_0x2ee0a2,_0x4e34c9);}export const ROAD_VERTICES_PER_SEGMENT=0x6;export const ROAD_MESH_VERTEX_LAYOUT={'stride':ROAD_VERTEX_FLOAT_COUNT,'displayXOffset':0x0,'displayYOffset':0x1,'segmentStartDisplayXOffset':0x2,'segmentStartDisplayYOffset':0x3,'segmentEndDisplayXOffset':0x4,'segmentEndDisplayYOffset':0x5,'sampleXOffset':0x6,'sampleYOffset':0x7,'localIndexOffset':0x8};export const buildRoadMesh=_0x529b72=>{const _0x55fb18=_0x586b,_0x49cbd9=countRoadSegments(_0x529b72),_0x3ceccc=_0x49cbd9*ROAD_VERTICES_PER_SEGMENT,_0x3448db=new Float32Array(_0x3ceccc*ROAD_VERTEX_FLOAT_COUNT),_0x170209=[];let _0x49f7a1=0x0;_0x529b72[_0x55fb18(0xd3)]((_0x5d7043,_0x491b98)=>{const _0x3f1690=_0x55fb18;for(let _0x71d5a0=0x0;_0x71d5a0<_0x5d7043[_0x3f1690(0xc6)][_0x3f1690(0xc9)]-0x1;_0x71d5a0+=0x1){const _0x17d93f=_0x5d7043[_0x3f1690(0xc6)][_0x71d5a0],_0x13c6d3=_0x5d7043[_0x3f1690(0xc6)][_0x71d5a0+0x1];if(isSameDisplayCoordinate(_0x17d93f,_0x13c6d3))continue;writeSegmentVertices(_0x3448db,_0x49f7a1,_0x17d93f,_0x13c6d3),_0x170209[_0x3f1690(0xcc)]({'roadIndex':_0x491b98,'pointStartIndex':_0x71d5a0,'pointEndIndex':_0x71d5a0+0x1,'vertexStart':_0x49f7a1,'vertexCount':ROAD_VERTICES_PER_SEGMENT}),_0x49f7a1+=ROAD_VERTICES_PER_SEGMENT;}});const _0xdcf972=_0x49f7a1*ROAD_VERTEX_FLOAT_COUNT,_0x4a61b1=_0xdcf972===_0x3448db[_0x55fb18(0xc9)]?_0x3448db:_0x3448db[_0x55fb18(0xcb)](0x0,_0xdcf972);return{'vertices':_0x4a61b1,'segments':_0x170209,'vertexCount':_0x49f7a1,'triangleCount':_0x49f7a1/0x3,'layout':ROAD_MESH_VERTEX_LAYOUT};};function _0x3a5f(){const _0x59f3e2=['displayXOffset','sampleYOffset','localIndexOffset','forEach','72KNwlun','16GzYhzC','372482RWowmg','521772MBpDap','sampleY','79100UelmdV','126562vZTLsr','2930010FubgPq','segmentStartDisplayYOffset','5ihiznt','113088HCeoWI','displayYOffset','coordinates','segmentEndDisplayXOffset','299061aFlOYO','length','1YUXTNt','slice','push','segmentEndDisplayYOffset','sampleX','sampleXOffset'];_0x3a5f=function(){return _0x59f3e2;};return _0x3a5f();}const countRoadSegments=_0x329972=>{const _0x4a9d36=_0x586b;let _0x2e7c85=0x0;for(const _0x3b2f48 of _0x329972){for(let _0x2e3e7d=0x0;_0x2e3e7d<_0x3b2f48[_0x4a9d36(0xc6)][_0x4a9d36(0xc9)]-0x1;_0x2e3e7d+=0x1){const _0x58dc8f=_0x3b2f48[_0x4a9d36(0xc6)][_0x2e3e7d],_0xd2be33=_0x3b2f48['coordinates'][_0x2e3e7d+0x1];!isSameDisplayCoordinate(_0x58dc8f,_0xd2be33)&&(_0x2e7c85+=0x1);}}return _0x2e7c85;},writeSegmentVertices=(_0x451860,_0x38cb79,_0x5e3f96,_0x8a72a5)=>{for(let _0x5246b7=0x0;_0x5246b7<ROAD_VERTICES_PER_SEGMENT;_0x5246b7+=0x1){writeVertex(_0x451860,_0x38cb79+_0x5246b7,_0x5246b7,_0x5e3f96,_0x8a72a5);}},writeVertex=(_0x32e2b9,_0x54409c,_0x709ea7,_0x3b9b75,_0x229139)=>{const _0x303031=_0x586b,_0x7bf2b2=_0x54409c*ROAD_VERTEX_FLOAT_COUNT,_0x35589c=getDisplayCoordinate(_0x709ea7,_0x3b9b75,_0x229139),_0x16a199=getSampleCoordinate(_0x709ea7,_0x3b9b75,_0x229139);_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xd0)]]=_0x35589c['x'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xc5)]]=_0x35589c['y'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT['segmentStartDisplayXOffset']]=_0x3b9b75['x'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xc2)]]=_0x3b9b75['y'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xc7)]]=_0x229139['x'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xcd)]]=_0x229139['y'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xcf)]]=_0x16a199['x'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xd1)]]=_0x16a199['y'],_0x32e2b9[_0x7bf2b2+ROAD_MESH_VERTEX_LAYOUT[_0x303031(0xd2)]]=_0x709ea7;},isStartVertex=_0x2e3ec8=>{return _0x2e3ec8===0x0||_0x2e3ec8===0x2||_0x2e3ec8===0x3;},getDisplayCoordinate=(_0x3c3930,_0x2b07e0,_0x10b0e3)=>{return isStartVertex(_0x3c3930)?_0x2b07e0:_0x10b0e3;},getSampleCoordinate=(_0x6ba70c,_0x3d9493,_0x242aae)=>{const _0x3acee6=_0x586b;if(isStartVertex(_0x6ba70c))return{'x':_0x3d9493[_0x3acee6(0xce)],'y':_0x3d9493[_0x3acee6(0xd8)]};return{'x':_0x242aae['sampleX'],'y':_0x242aae[_0x3acee6(0xd8)]};},isSameDisplayCoordinate=(_0x2a9544,_0x279989)=>{return _0x2a9544['x']===_0x279989['x']&&_0x2a9544['y']===_0x279989['y'];};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Feature, FeatureCollection, GeoJsonProperties, LineString, MultiLineString } from 'geojson';
|
|
2
2
|
import type { RasterColorMode, RasterColorRange, RasterColorStopInput, RasterGrid, RasterRendererType, RasterSampleMode, RasterSource } from '../raster-overlay';
|
|
3
|
+
import type { CoverageOptions } from '../shared/coverage';
|
|
3
4
|
/**
|
|
4
5
|
* Road GeoJSON input type.
|
|
5
6
|
* 道路 GeoJSON 输入类型
|
|
@@ -9,7 +10,7 @@ export type RoadGeoJsonInput = FeatureCollection<LineString | MultiLineString> |
|
|
|
9
10
|
* Road coordinate point.
|
|
10
11
|
* 道路坐标点
|
|
11
12
|
* x/y: display 坐标,用于贴地图绘制。高德时可以是 GCJ-02
|
|
12
|
-
* sampleX/sampleY: sample 坐标,用于采样 grid。micaps4 时保持
|
|
13
|
+
* sampleX/sampleY: sample 坐标,用于采样 grid。micaps4 时保持 可能使用源坐标或显示坐标
|
|
13
14
|
*/
|
|
14
15
|
export interface RoadCoordinate {
|
|
15
16
|
x: number;
|
|
@@ -89,7 +90,7 @@ export interface RoadMeshSegment {
|
|
|
89
90
|
* 道路 mesh 构建结果
|
|
90
91
|
*/
|
|
91
92
|
export interface RoadMesh {
|
|
92
|
-
vertices: Float32Array
|
|
93
|
+
vertices: Float32Array<ArrayBuffer>;
|
|
93
94
|
segments: RoadMeshSegment[];
|
|
94
95
|
vertexCount: number;
|
|
95
96
|
triangleCount: number;
|
|
@@ -105,6 +106,11 @@ export type RoadRendererType = Extract<RasterRendererType, 'webgl2' | 'webgpu'>;
|
|
|
105
106
|
* 地图坐标系转换
|
|
106
107
|
*/
|
|
107
108
|
export type RoadCoordinateTransform = 'none' | 'wgs84-to-gcj02';
|
|
109
|
+
/**
|
|
110
|
+
* Road grid sampling coordinate mode.
|
|
111
|
+
* 道路栅格采样坐标模式。
|
|
112
|
+
*/
|
|
113
|
+
export type RoadSampleCoordinateMode = 'source' | 'display';
|
|
108
114
|
/**
|
|
109
115
|
* Road layer create options.
|
|
110
116
|
* 道路图层创建参数
|
|
@@ -112,6 +118,7 @@ export type RoadCoordinateTransform = 'none' | 'wgs84-to-gcj02';
|
|
|
112
118
|
export interface RoadLayerCreateOptions {
|
|
113
119
|
rendererType: RoadRendererType;
|
|
114
120
|
coordinateTransform?: RoadCoordinateTransform;
|
|
121
|
+
sampleCoordinateMode?: RoadSampleCoordinateMode;
|
|
115
122
|
roads: RoadGeoJsonInput;
|
|
116
123
|
grid?: RasterGrid;
|
|
117
124
|
source?: RasterSource;
|
|
@@ -125,6 +132,7 @@ export interface RoadLayerCreateOptions {
|
|
|
125
132
|
tooltip?: RoadTooltipOptions;
|
|
126
133
|
onHover?: RoadQueryCallback;
|
|
127
134
|
onClick?: RoadQueryCallback;
|
|
135
|
+
clip?: CoverageOptions;
|
|
128
136
|
}
|
|
129
137
|
/**
|
|
130
138
|
* Road hover/click result.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x3fbb28=_0x4ac6;function _0x22f3(){const _0x216ade=['451730XDJbiv','66GlFlNV','525472xWGNic','9kTbxzr','594890BBhhLa','6898744tEFmPD','318345SQjqwQ','1920966XJpeSt','728749LpgXcT','8ZJbZTa','/*\x20__COORDINATE_SOURCE__\x20*/'];_0x22f3=function(){return _0x216ade;};return _0x22f3();}(function(_0x45b07d,_0x43e32a){const _0x266195=_0x4ac6,_0x24c794=_0x45b07d();while(!![]){try{const _0x49ecee=parseInt(_0x266195(0xd3))/0x1+parseInt(_0x266195(0xcf))/0x2+parseInt(_0x266195(0xd4))/0x3+-parseInt(_0x266195(0xd6))/0x4*(parseInt(_0x266195(0xd1))/0x5)+parseInt(_0x266195(0xce))/0x6*(-parseInt(_0x266195(0xd5))/0x7)+parseInt(_0x266195(0xd2))/0x8+parseInt(_0x266195(0xd0))/0x9*(-parseInt(_0x266195(0xcd))/0xa);if(_0x49ecee===_0x43e32a)break;else _0x24c794['push'](_0x24c794['shift']());}catch(_0x25b1f8){_0x24c794['push'](_0x24c794['shift']());}}}(_0x22f3,0xa0050));import{assembleShaderSource}from'../../shader/assemble';import _0x568f50 from'./coordinateForward3395.vert?raw';import _0x219030 from'./coordinateForward3857.vert?raw';import _0x5c9ee2 from'./coordinateForward4326.vert?raw';import _0x3fc804 from'./coordinateForwardSimple.vert?raw';import _0x2a984f from'./coordinateInverse3395.frag?raw';import _0x2dfff6 from'./coordinateInverse3857.frag?raw';import _0xc3bd2d from'./coordinateInverse4326.frag?raw';import _0x134d18 from'./coordinateInverseSimple.frag?raw';const PLACEHOLDER=_0x3fbb28(0xd7),FORWARD={'epsg3857':_0x219030,'epsg4326':_0x5c9ee2,'epsg3395':_0x568f50,'simple':_0x3fc804},INVERSE={'epsg3857':_0x2dfff6,'epsg4326':_0xc3bd2d,'epsg3395':_0x2a984f,'simple':_0x134d18};function _0x4ac6(_0x7b8f82,_0x147180){const _0x22f38a=_0x22f3();return _0x4ac6=function(_0x4ac675,_0x203e40){_0x4ac675=_0x4ac675-0xcd;let _0x4f2358=_0x22f38a[_0x4ac675];return _0x4f2358;},_0x4ac6(_0x7b8f82,_0x147180);}export const createWebgl2CoordinateShaderSource=(_0x5d4865,_0x509488)=>assembleShaderSource(_0x5d4865,PLACEHOLDER,FORWARD[_0x509488]);export const createWebgl2InverseCoordinateShaderSource=(_0xd9bc44,_0x2a1dbb)=>assembleShaderSource(_0xd9bc44,PLACEHOLDER,INVERSE[_0x2a1dbb]);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { MapCrs } from '../../map';
|
|
2
|
+
/** 注入地图坐标到世界坐标的正向转换。 */
|
|
3
|
+
export declare const createWebgpuCoordinateShaderSource: (shaderSource: string, crs: MapCrs) => string;
|
|
4
|
+
/** 注入屏幕像素到地图坐标的反向转换。 */
|
|
5
|
+
export declare const createWebgpuInverseCoordinateShaderSource: (shaderSource: string, crs: MapCrs) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x59b7a4=_0x563a;(function(_0x19ba9e,_0x5cfede){const _0x4c9455=_0x563a,_0x42f872=_0x19ba9e();while(!![]){try{const _0x364cc9=parseInt(_0x4c9455(0x19b))/0x1*(parseInt(_0x4c9455(0x19e))/0x2)+parseInt(_0x4c9455(0x1a2))/0x3+parseInt(_0x4c9455(0x1a4))/0x4+parseInt(_0x4c9455(0x19f))/0x5*(-parseInt(_0x4c9455(0x19d))/0x6)+parseInt(_0x4c9455(0x1a3))/0x7+-parseInt(_0x4c9455(0x1a0))/0x8+-parseInt(_0x4c9455(0x1a1))/0x9;if(_0x364cc9===_0x5cfede)break;else _0x42f872['push'](_0x42f872['shift']());}catch(_0x5e5441){_0x42f872['push'](_0x42f872['shift']());}}}(_0x4331,0x36e57));function _0x563a(_0x1e65e9,_0x31a95f){const _0x433125=_0x4331();return _0x563a=function(_0x563a69,_0x5d6c3a){_0x563a69=_0x563a69-0x19b;let _0x55084e=_0x433125[_0x563a69];return _0x55084e;},_0x563a(_0x1e65e9,_0x31a95f);}import{assembleShaderSource}from'../../shader/assemble';import _0x1aaae2 from'./coordinateForward3395.wgsl?raw';import _0x5afc38 from'./coordinateForward3857.wgsl?raw';import _0x57ce31 from'./coordinateForward4326.wgsl?raw';import _0x506d49 from'./coordinateForwardSimple.wgsl?raw';import _0x5d9844 from'./coordinateInverse3395.wgsl?raw';import _0x3dbcd8 from'./coordinateInverse3857.wgsl?raw';import _0x2e7ee7 from'./coordinateInverse4326.wgsl?raw';function _0x4331(){const _0x2876a7=['3519135MEQUZb','625353ubjlEh','2697394JxeJIp','117216qmChsL','123031xCXjlE','/*\x20__COORDINATE_SOURCE__\x20*/','2496QBuUBB','4srTJJu','250Jdyeoa','1859912vxhauJ'];_0x4331=function(){return _0x2876a7;};return _0x4331();}import _0x58e874 from'./coordinateInverseSimple.wgsl?raw';const COORDINATE_SHADER_PLACEHOLDER=_0x59b7a4(0x19c),FORWARD_SOURCES={'epsg3857':_0x5afc38,'epsg4326':_0x57ce31,'epsg3395':_0x1aaae2,'simple':_0x506d49},INVERSE_SOURCES={'epsg3857':_0x3dbcd8,'epsg4326':_0x2e7ee7,'epsg3395':_0x5d9844,'simple':_0x58e874};export const createWebgpuCoordinateShaderSource=(_0x1cf971,_0x1c329c)=>{return assembleShaderSource(_0x1cf971,COORDINATE_SHADER_PLACEHOLDER,FORWARD_SOURCES[_0x1c329c]);};export const createWebgpuInverseCoordinateShaderSource=(_0xeb1a65,_0x41d139)=>{return assembleShaderSource(_0xeb1a65,COORDINATE_SHADER_PLACEHOLDER,INVERSE_SOURCES[_0x41d139]);};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type { ClipMode, CoverageOptions } from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x278a65,_0x4c6641){var _0xc911=_0x5af8,_0x3328f6=_0x278a65();while(!![]){try{var _0x2115c1=parseInt(_0xc911(0x125))/0x1+parseInt(_0xc911(0x122))/0x2*(-parseInt(_0xc911(0x126))/0x3)+-parseInt(_0xc911(0x128))/0x4*(-parseInt(_0xc911(0x127))/0x5)+-parseInt(_0xc911(0x121))/0x6+-parseInt(_0xc911(0x11f))/0x7*(-parseInt(_0xc911(0x120))/0x8)+-parseInt(_0xc911(0x124))/0x9+parseInt(_0xc911(0x123))/0xa;if(_0x2115c1===_0x4c6641)break;else _0x3328f6['push'](_0x3328f6['shift']());}catch(_0x1c0e5e){_0x3328f6['push'](_0x3328f6['shift']());}}}(_0x4598,0xc87b2));function _0x4598(){var _0x353af0=['7902936UYpPoO','794356dFLolI','8300410cGwndL','2880504ngPFCl','1317977VAwIyi','12BsmNsr','15HpoFXY','1247532jouded','7tdkSTf','7707416QSLNsC'];_0x4598=function(){return _0x353af0;};return _0x4598();}function _0x5af8(_0x41cb2e,_0x4fe0eb){var _0x45981e=_0x4598();return _0x5af8=function(_0x5af894,_0x148614){_0x5af894=_0x5af894-0x11f;var _0x1ce679=_0x45981e[_0x5af894];return _0x1ce679;},_0x5af8(_0x41cb2e,_0x4fe0eb);}export{resolveLeafletCrs}from'./leaflet';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x5e6a(){const _0x32af94=['EPSG:900913','EPSG3857','586736mPycNH','27XNcAPT','1418691thLyyK','1776264PpbMLA','CRS','EPSG3395','4687092GIVNul','608985whEJal','Simple','EPSG:4326','4rAJXJn','code','EPSG:3857','simple','38wUWyMc','4733100lsLpvb','812bKJXII'];_0x5e6a=function(){return _0x32af94;};return _0x5e6a();}(function(_0x1f571b,_0x365eef){const _0x2e71b7=_0x321c,_0x50aa96=_0x1f571b();while(!![]){try{const _0x146ebc=parseInt(_0x2e71b7(0x109))/0x1*(parseInt(_0x2e71b7(0x107))/0x2)+parseInt(_0x2e71b7(0x10e))/0x3+-parseInt(_0x2e71b7(0x116))/0x4*(parseInt(_0x2e71b7(0x113))/0x5)+parseInt(_0x2e71b7(0x112))/0x6+-parseInt(_0x2e71b7(0x10f))/0x7+-parseInt(_0x2e71b7(0x10c))/0x8*(-parseInt(_0x2e71b7(0x10d))/0x9)+-parseInt(_0x2e71b7(0x108))/0xa;if(_0x146ebc===_0x365eef)break;else _0x50aa96['push'](_0x50aa96['shift']());}catch(_0x281f54){_0x50aa96['push'](_0x50aa96['shift']());}}}(_0x5e6a,0x9c6a2));function _0x321c(_0x4de0f8,_0x10c3b6){const _0x5e6af7=_0x5e6a();return _0x321c=function(_0x321cc6,_0x4db080){_0x321cc6=_0x321cc6-0x106;let _0x5617ec=_0x5e6af7[_0x321cc6];return _0x5617ec;},_0x321c(_0x4de0f8,_0x10c3b6);}import*as _0x45e529 from'leaflet';export const resolveLeafletCrs=_0x5b9780=>{const _0x558980=_0x321c;if(_0x5b9780===_0x45e529[_0x558980(0x110)][_0x558980(0x114)])return _0x558980(0x106);if(_0x5b9780===_0x45e529[_0x558980(0x110)]['EPSG4326']||_0x5b9780['code']===_0x558980(0x115))return'epsg4326';if(_0x5b9780===_0x45e529[_0x558980(0x110)][_0x558980(0x111)]||_0x5b9780['code']==='EPSG:3395')return'epsg3395';if(_0x5b9780===_0x45e529['CRS'][_0x558980(0x10b)]||_0x5b9780[_0x558980(0x117)]===_0x558980(0x118)||_0x5b9780[_0x558980(0x117)]===_0x558980(0x10a))return'epsg3857';return null;};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coordinate reference systems supported by map renderers.
|
|
3
|
+
* 地图渲染器支持的坐标系。
|
|
4
|
+
*/
|
|
5
|
+
export type MapCrs = 'epsg3857' | 'epsg4326' | 'epsg3395' | 'simple';
|
|
6
|
+
/**
|
|
7
|
+
* Current map viewport used by renderers.
|
|
8
|
+
* 渲染器使用的当前地图视口。
|
|
9
|
+
*/
|
|
10
|
+
export interface MapRenderViewport {
|
|
11
|
+
canvasWidth: number;
|
|
12
|
+
canvasHeight: number;
|
|
13
|
+
cssWidth: number;
|
|
14
|
+
cssHeight: number;
|
|
15
|
+
devicePixelRatio: number;
|
|
16
|
+
zoom: number;
|
|
17
|
+
worldTopLeftX: number;
|
|
18
|
+
worldTopLeftY: number;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x56d5(){const _0x161cb8=['features','112lMHKlc','14106nArhXq','122046BAuUhe','55461agdUtO','type','Feature','Polygon','13946270bapEul','14116Mglsrn','599432voJyfB','geometry','14wnUwxn','11UjEJhJ','some','455tuGxBl','map','2929392ilMYWG'];_0x56d5=function(){return _0x161cb8;};return _0x56d5();}(function(_0x359300,_0x2aa46f){const _0x8c4944=_0x1dc7,_0x150ff9=_0x359300();while(!![]){try{const _0x431661=parseInt(_0x8c4944(0xef))/0x1*(-parseInt(_0x8c4944(0xe5))/0x2)+-parseInt(_0x8c4944(0xee))/0x3+parseInt(_0x8c4944(0xe2))/0x4*(-parseInt(_0x8c4944(0xe8))/0x5)+-parseInt(_0x8c4944(0xed))/0x6*(parseInt(_0x8c4944(0xec))/0x7)+-parseInt(_0x8c4944(0xe3))/0x8+-parseInt(_0x8c4944(0xea))/0x9+-parseInt(_0x8c4944(0xe1))/0xa*(-parseInt(_0x8c4944(0xe6))/0xb);if(_0x431661===_0x2aa46f)break;else _0x150ff9['push'](_0x150ff9['shift']());}catch(_0x5f5c33){_0x150ff9['push'](_0x150ff9['shift']());}}}(_0x56d5,0x326d2));import _0x3bf5bf from'@turf/boolean-point-in-polygon';import{point}from'@turf/helpers';function _0x1dc7(_0xbd3587,_0x2703ff){const _0x56d509=_0x56d5();return _0x1dc7=function(_0x1dc79a,_0x52718b){_0x1dc79a=_0x1dc79a-0xe1;let _0x6e9c12=_0x56d509[_0x1dc79a];return _0x6e9c12;},_0x1dc7(_0xbd3587,_0x2703ff);}export const containsPolygonCoordinate=(_0x2c2248,_0x2aa090,_0x19a710)=>{const _0x50e94a=_0x1dc7,_0x45e505=collectGeometries(_0x2c2248),_0x173ff0=point([_0x2aa090,_0x19a710]);return _0x45e505[_0x50e94a(0xe7)](_0x24ef11=>_0x3bf5bf(_0x173ff0,_0x24ef11));};const collectGeometries=_0x1d30ba=>{const _0xe105e=_0x1dc7;if(_0x1d30ba[_0xe105e(0xf0)]===_0xe105e(0xf2)||_0x1d30ba['type']==='MultiPolygon')return[_0x1d30ba];if(_0x1d30ba[_0xe105e(0xf0)]===_0xe105e(0xf1))return[_0x1d30ba[_0xe105e(0xe4)]];return _0x1d30ba[_0xe105e(0xeb)][_0xe105e(0xe9)](_0x1f863a=>_0x1f863a[_0xe105e(0xe4)]);};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x5b46(_0x48b970,_0x37b71a){var _0x28a8b8=_0x28a8();return _0x5b46=function(_0x5b4620,_0x35856a){_0x5b4620=_0x5b4620-0x1f1;var _0x53c99c=_0x28a8b8[_0x5b4620];return _0x53c99c;},_0x5b46(_0x48b970,_0x37b71a);}(function(_0x27270d,_0x2aebdb){var _0x56d2df=_0x5b46,_0x152c07=_0x27270d();while(!![]){try{var _0x35d469=parseInt(_0x56d2df(0x1f2))/0x1*(parseInt(_0x56d2df(0x1f4))/0x2)+-parseInt(_0x56d2df(0x1f8))/0x3+-parseInt(_0x56d2df(0x1f5))/0x4*(-parseInt(_0x56d2df(0x1f3))/0x5)+-parseInt(_0x56d2df(0x1fb))/0x6*(parseInt(_0x56d2df(0x1f7))/0x7)+-parseInt(_0x56d2df(0x1fa))/0x8*(-parseInt(_0x56d2df(0x1f6))/0x9)+-parseInt(_0x56d2df(0x1f1))/0xa+parseInt(_0x56d2df(0x1f9))/0xb;if(_0x35d469===_0x2aebdb)break;else _0x152c07['push'](_0x152c07['shift']());}catch(_0x3a6206){_0x152c07['push'](_0x152c07['shift']());}}}(_0x28a8,0xdb16c));function _0x28a8(){var _0x2ff449=['6591552llFLyM','24ZNZOaE','3325410fdLTXs','1ToYeEH','43145kdKgQN','990466IigTEt','276erYSYg','18TQixon','2433802tooqAk','4087011xKpzLj','13689368JVlXdS'];_0x28a8=function(){return _0x2ff449;};return _0x28a8();}export{createPolygonMesh}from'./polygonMesh';export{containsPolygonCoordinate}from'./contains';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x3f2407,_0x3e5d6c){const _0x28a096=_0x2079,_0x3423a0=_0x3f2407();while(!![]){try{const _0x28bcd3=parseInt(_0x28a096(0x8a))/0x1*(parseInt(_0x28a096(0x8b))/0x2)+parseInt(_0x28a096(0x89))/0x3+parseInt(_0x28a096(0x7c))/0x4*(-parseInt(_0x28a096(0x7a))/0x5)+parseInt(_0x28a096(0x8c))/0x6+-parseInt(_0x28a096(0x76))/0x7+-parseInt(_0x28a096(0x80))/0x8*(parseInt(_0x28a096(0x78))/0x9)+parseInt(_0x28a096(0x85))/0xa*(parseInt(_0x28a096(0x77))/0xb);if(_0x28bcd3===_0x3e5d6c)break;else _0x3423a0['push'](_0x3423a0['shift']());}catch(_0x2be5e0){_0x3423a0['push'](_0x3423a0['shift']());}}}(_0x319c,0xc5a16));function _0x319c(){const _0x382b96=['isFinite','7012390auBOjW','14350017lbUmEt','1277514UnAkoy','holes','5204315eWDtxo','多边形第\x20','4zUpgIs','多边形三角化误差过大:','\x20个环的第\x20','vertices','56XCnhqy','map','dimensions','\x20个环至少需要四个坐标。','Polygon','10jRKvpM','\x20个环至少需要三个不同坐标。','Feature','MultiPolygon','135081UqSHgh','1598705BfWZdY','2fRRvlu','5384820RExary','\x20个坐标无效。','length','geometry'];_0x319c=function(){return _0x382b96;};return _0x319c();}function _0x2079(_0x5561e2,_0x57c28d){const _0x319ce8=_0x319c();return _0x2079=function(_0x207931,_0xc8c7b3){_0x207931=_0x207931-0x73;let _0x1b2692=_0x319ce8[_0x207931];return _0x1b2692;},_0x2079(_0x5561e2,_0x57c28d);}import _0x5b3b8d,{deviation,flatten}from'earcut';const MAX_TRIANGULATION_DEVIATION=0.00001;export const createPolygonMesh=_0x277a36=>{const _0x3752fb=_0x2079,_0x2df764=collectPolygonGeometries(_0x277a36),_0x475b1a=[];for(const _0x37419a of _0x2df764){const _0x5ceb4d=_0x37419a['type']===_0x3752fb(0x84)?[_0x37419a['coordinates']]:_0x37419a['coordinates'];for(const _0x2d819b of _0x5ceb4d)appendPolygon(_0x475b1a,_0x2d819b);}const _0x4542a5=new Float32Array(_0x475b1a);return{'vertices':_0x4542a5,'vertexCount':_0x4542a5[_0x3752fb(0x73)]/0x2,'triangleCount':_0x4542a5['length']/0x6};};const collectPolygonGeometries=_0xb8c97e=>{const _0x57198e=_0x2079;if(_0xb8c97e['type']==='Polygon'||_0xb8c97e['type']===_0x57198e(0x88))return[_0xb8c97e];if(_0xb8c97e['type']===_0x57198e(0x87))return[_0xb8c97e[_0x57198e(0x74)]];return _0xb8c97e['features'][_0x57198e(0x81)](_0x122a16=>_0x122a16[_0x57198e(0x74)]);},appendPolygon=(_0x389237,_0x55f360)=>{const _0xe7d10d=_0x2079;if(_0x55f360['length']===0x0)return;const _0x4da158=_0x55f360[_0xe7d10d(0x81)]((_0xdec95e,_0x2aef19)=>normalizeRing(_0xdec95e,_0x2aef19)),_0x32471f=flatten(_0x4da158);if(_0x32471f[_0xe7d10d(0x82)]!==0x2)throw new Error('多边形坐标必须是二维坐标。');const _0x40fa4f=_0x5b3b8d(_0x32471f['vertices'],_0x32471f[_0xe7d10d(0x79)],_0x32471f[_0xe7d10d(0x82)]),_0x431c54=deviation(_0x32471f[_0xe7d10d(0x7f)],_0x32471f[_0xe7d10d(0x79)],_0x32471f[_0xe7d10d(0x82)],_0x40fa4f);if(!Number[_0xe7d10d(0x75)](_0x431c54)||_0x431c54>MAX_TRIANGULATION_DEVIATION)throw new Error(_0xe7d10d(0x7d)+_0x431c54);for(const _0x2c5af5 of _0x40fa4f){_0x389237['push'](_0x32471f['vertices'][_0x2c5af5*0x2],_0x32471f[_0xe7d10d(0x7f)][_0x2c5af5*0x2+0x1]);}},normalizeRing=(_0x4ba048,_0x54f918)=>{const _0x36223d=_0x2079;if(_0x4ba048[_0x36223d(0x73)]<0x4)throw new Error(_0x36223d(0x7b)+(_0x54f918+0x1)+_0x36223d(0x83));const _0x4da275=_0x4ba048[_0x36223d(0x81)]((_0x3dae78,_0x463222)=>{const _0x6c1f47=_0x36223d,_0x3f1395=_0x3dae78[0x0],_0x260228=_0x3dae78[0x1];if(!Number[_0x6c1f47(0x75)](_0x3f1395)||!Number[_0x6c1f47(0x75)](_0x260228))throw new Error(_0x6c1f47(0x7b)+(_0x54f918+0x1)+_0x6c1f47(0x7e)+(_0x463222+0x1)+_0x6c1f47(0x8d));return[_0x3f1395,_0x260228];}),_0x245a95=_0x4da275[0x0],_0x304352=_0x4da275[_0x4da275[_0x36223d(0x73)]-0x1];if(_0x245a95[0x0]===_0x304352[0x0]&&_0x245a95[0x1]===_0x304352[0x1])_0x4da275['pop']();if(_0x4da275[_0x36223d(0x73)]<0x3)throw new Error(_0x36223d(0x7b)+(_0x54f918+0x1)+_0x36223d(0x86));return _0x4da275;};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Feature, FeatureCollection, MultiPolygon, Polygon } from 'geojson';
|
|
2
|
+
/** 支持的多边形几何类型。 */
|
|
3
|
+
export type PolygonGeometry = Polygon | MultiPolygon;
|
|
4
|
+
/** 可用于生成覆盖网格的 GeoJSON 输入。 */
|
|
5
|
+
export type PolygonMeshInput = PolygonGeometry | Feature<PolygonGeometry> | FeatureCollection<PolygonGeometry>;
|
|
6
|
+
/** 三角化后的多边形覆盖网格。 */
|
|
7
|
+
export interface PolygonMesh {
|
|
8
|
+
vertices: Float32Array<ArrayBuffer>;
|
|
9
|
+
vertexCount: number;
|
|
10
|
+
triangleCount: number;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function _0x5d05(_0x1f87fc,_0x45090f){const _0x281cb8=_0x281c();return _0x5d05=function(_0x5d05ab,_0x380d38){_0x5d05ab=_0x5d05ab-0x64;let _0xdfc781=_0x281cb8[_0x5d05ab];return _0xdfc781;},_0x5d05(_0x1f87fc,_0x45090f);}function _0x281c(){const _0x55e707=['25881036kawkHT','4424660bDoHth','Shader\x20source\x20is\x20missing\x20','Shader\x20placeholder\x20cannot\x20be\x20empty.\x20Shader\x20占位符不能为空。','length','8008hHIBvH','\x20placeholders.\x20Shader\x20源码包含多个相同占位符。','432fNDbKL','6738ykfoTc','Shader\x20source\x20contains\x20multiple\x20','7524693ynsMyF','87313ubsJuu','3479MrZrLZ','4835sqVbxB','14UfXhgp','11HYPtPN','25290MgZmMz'];_0x281c=function(){return _0x55e707;};return _0x281c();}(function(_0x2b6ad2,_0x1d4529){const _0x25ad51=_0x5d05,_0x49b271=_0x2b6ad2();while(!![]){try{const _0x443853=-parseInt(_0x25ad51(0x70))/0x1*(-parseInt(_0x25ad51(0x73))/0x2)+-parseInt(_0x25ad51(0x64))/0x3*(-parseInt(_0x25ad51(0x6c))/0x4)+parseInt(_0x25ad51(0x72))/0x5*(parseInt(_0x25ad51(0x6d))/0x6)+parseInt(_0x25ad51(0x71))/0x7*(parseInt(_0x25ad51(0x6a))/0x8)+-parseInt(_0x25ad51(0x6f))/0x9+-parseInt(_0x25ad51(0x66))/0xa*(-parseInt(_0x25ad51(0x74))/0xb)+-parseInt(_0x25ad51(0x65))/0xc;if(_0x443853===_0x1d4529)break;else _0x49b271['push'](_0x49b271['shift']());}catch(_0x48431f){_0x49b271['push'](_0x49b271['shift']());}}}(_0x281c,0x876d1));export const assembleShaderSource=(_0x46af3c,_0x5269a1,_0x341b02)=>{const _0xe09f32=_0x5d05;if(_0x5269a1[_0xe09f32(0x69)]===0x0)throw new Error(_0xe09f32(0x68));const _0x285257=_0x46af3c['indexOf'](_0x5269a1);if(_0x285257<0x0)throw new Error(_0xe09f32(0x67)+_0x5269a1+'.\x20Shader\x20源码缺少指定占位符。');const _0x1826a3=_0x46af3c['indexOf'](_0x5269a1,_0x285257+_0x5269a1['length']);if(_0x1826a3>=0x0)throw new Error(_0xe09f32(0x6e)+_0x5269a1+_0xe09f32(0x6b));return _0x46af3c['replace'](_0x5269a1,_0x341b02);};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { clampOpacity, colorModeToShaderValue, createColorStopArrays, prepareColorStops, sampleModeToShaderValue, shaderFloatMax, toShaderFloat, validateColorRange, validateGridData } from './utils';
|
|
2
|
+
export type { ColorMode, ColorRange, ColorStop, ColorStopArrays, ColorStopInput, GridData, PreparedColorStops, SampleMode } from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x1f0145,_0x2576fd){var _0x35b1d2=_0x3eb1,_0x3d374d=_0x1f0145();while(!![]){try{var _0x345693=parseInt(_0x35b1d2(0x1e0))/0x1*(parseInt(_0x35b1d2(0x1df))/0x2)+parseInt(_0x35b1d2(0x1e1))/0x3*(parseInt(_0x35b1d2(0x1e3))/0x4)+parseInt(_0x35b1d2(0x1dd))/0x5+parseInt(_0x35b1d2(0x1e2))/0x6+parseInt(_0x35b1d2(0x1dc))/0x7*(parseInt(_0x35b1d2(0x1e4))/0x8)+-parseInt(_0x35b1d2(0x1de))/0x9+-parseInt(_0x35b1d2(0x1db))/0xa;if(_0x345693===_0x2576fd)break;else _0x3d374d['push'](_0x3d374d['shift']());}catch(_0x15d26d){_0x3d374d['push'](_0x3d374d['shift']());}}}(_0x4576,0x6400c));function _0x3eb1(_0x544041,_0x52790b){var _0x457668=_0x4576();return _0x3eb1=function(_0x3eb1cf,_0x2e5147){_0x3eb1cf=_0x3eb1cf-0x1db;var _0x1a1705=_0x457668[_0x3eb1cf];return _0x1a1705;},_0x3eb1(_0x544041,_0x52790b);}export{clampOpacity,colorModeToShaderValue,createColorStopArrays,prepareColorStops,sampleModeToShaderValue,shaderFloatMax,toShaderFloat,validateColorRange,validateGridData}from'./utils';function _0x4576(){var _0xe977c2=['5369280ULbYky','35wvTvOx','2467615xSbJnF','5729634KyoPTc','2orWzTV','150115pptlkk','213123FHHpyO','2374392YSaLFH','4XUVnAf','756408Wssjwn'];_0x4576=function(){return _0xe977c2;};return _0x4576();}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createWebgl2VisualizationFragmentSource: (shaderSource: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x3d63c3=_0x1ebd;function _0x1ebd(_0x4bca9f,_0x2ce1af){const _0x1886d2=_0x1886();return _0x1ebd=function(_0x1ebd4c,_0x2eba93){_0x1ebd4c=_0x1ebd4c-0x153;let _0x3002b1=_0x1886d2[_0x1ebd4c];return _0x3002b1;},_0x1ebd(_0x4bca9f,_0x2ce1af);}(function(_0x281814,_0x3113d4){const _0x158492=_0x1ebd,_0x2eabff=_0x281814();while(!![]){try{const _0x2e8f79=-parseInt(_0x158492(0x156))/0x1*(parseInt(_0x158492(0x159))/0x2)+parseInt(_0x158492(0x15c))/0x3*(-parseInt(_0x158492(0x15d))/0x4)+-parseInt(_0x158492(0x157))/0x5*(-parseInt(_0x158492(0x15a))/0x6)+-parseInt(_0x158492(0x153))/0x7*(-parseInt(_0x158492(0x15e))/0x8)+parseInt(_0x158492(0x158))/0x9*(parseInt(_0x158492(0x15f))/0xa)+parseInt(_0x158492(0x155))/0xb+-parseInt(_0x158492(0x15b))/0xc;if(_0x2e8f79===_0x3113d4)break;else _0x2eabff['push'](_0x2eabff['shift']());}catch(_0x43b2a5){_0x2eabff['push'](_0x2eabff['shift']());}}}(_0x1886,0x1994d));import{assembleShaderSource}from'../../../shader/assemble';import _0x523f9a from'./visualizationFragment.frag?raw';export const createWebgl2VisualizationFragmentSource=_0x3b1acd=>assembleShaderSource(_0x3b1acd,_0x3d63c3(0x154),_0x523f9a);function _0x1886(){const _0x96103b=['40AbXAjU','63pdIoJy','/*\x20__VISUALIZATION_SOURCE__\x20*/','2012439mTLsPx','5785jysvMk','44155UTuYkr','335511SDBUNs','6pvaVii','48dptGtc','2802300yTeKxj','55053iRVMHP','12fJJPhv','7112CVgisE'];_0x1886=function(){return _0x96103b;};return _0x1886();}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insert the shared visualization params contract into a WebGPU shader.
|
|
3
|
+
* 将公共可视化参数契约插入 WebGPU shader。
|
|
4
|
+
*/
|
|
5
|
+
export declare const createWebgpuVisualizationParamsShaderSource: (shaderSource: string) => string;
|
|
6
|
+
/**
|
|
7
|
+
* Insert shared visualization params, grid sampling, and color mapping into a WebGPU fragment shader.
|
|
8
|
+
* 将公共可视化参数、网格采样和颜色映射插入 WebGPU fragment shader。
|
|
9
|
+
*/
|
|
10
|
+
export declare const createWebgpuVisualizationFragmentShaderSource: (shaderSource: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x43dc8c=_0x3e78;(function(_0x3d4fc4,_0x5c7fd8){const _0x2f9a56=_0x3e78,_0x2e8885=_0x3d4fc4();while(!![]){try{const _0x949f05=parseInt(_0x2f9a56(0xc2))/0x1*(parseInt(_0x2f9a56(0xba))/0x2)+-parseInt(_0x2f9a56(0xb7))/0x3*(-parseInt(_0x2f9a56(0xc3))/0x4)+-parseInt(_0x2f9a56(0xbc))/0x5*(-parseInt(_0x2f9a56(0xb6))/0x6)+-parseInt(_0x2f9a56(0xbf))/0x7+parseInt(_0x2f9a56(0xc1))/0x8*(parseInt(_0x2f9a56(0xbd))/0x9)+parseInt(_0x2f9a56(0xbe))/0xa+-parseInt(_0x2f9a56(0xb8))/0xb*(parseInt(_0x2f9a56(0xb9))/0xc);if(_0x949f05===_0x5c7fd8)break;else _0x2e8885['push'](_0x2e8885['shift']());}catch(_0x2e7c6c){_0x2e8885['push'](_0x2e8885['shift']());}}}(_0x123d,0x8b551));import{assembleShaderSource}from'../../../shader/assemble';import _0x246041 from'./visualizationFragment.wgsl?raw';import _0x25db64 from'./visualizationParams.wgsl?raw';function _0x3e78(_0x2c3de2,_0x137c22){const _0x123d4d=_0x123d();return _0x3e78=function(_0x3e78f3,_0x277d5b){_0x3e78f3=_0x3e78f3-0xb6;let _0x1f02e8=_0x123d4d[_0x3e78f3];return _0x1f02e8;},_0x3e78(_0x2c3de2,_0x137c22);}function _0x123d(){const _0x267226=['3JjsXaA','3717263fpKcCx','24zJPDIx','50irTiqe','/*\x20__VISUALIZATION_PARAMS_SOURCE__\x20*/','285qCxWve','12969MUpoTJ','4571660qzYLzi','6021876omzIlN','/*\x20__VISUALIZATION_FRAGMENT_SOURCE__\x20*/','5040wcVAhE','8057qpMQGS','800740QQdDFI','35814qYXLsh'];_0x123d=function(){return _0x267226;};return _0x123d();}const VISUALIZATION_PARAMS_PLACEHOLDER=_0x43dc8c(0xbb),VISUALIZATION_FRAGMENT_PLACEHOLDER=_0x43dc8c(0xc0);export const createWebgpuVisualizationParamsShaderSource=_0x4d6e42=>{return assembleShaderSource(_0x4d6e42,VISUALIZATION_PARAMS_PLACEHOLDER,_0x25db64);};export const createWebgpuVisualizationFragmentShaderSource=_0x418df5=>{const _0x529572=createWebgpuVisualizationParamsShaderSource(_0x418df5);return assembleShaderSource(_0x529572,VISUALIZATION_FRAGMENT_PLACEHOLDER,_0x246041);};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color mapping mode shared by visualization features.
|
|
3
|
+
* 可视化功能共用的颜色映射模式。
|
|
4
|
+
*/
|
|
5
|
+
export type ColorMode = 'step' | 'smooth';
|
|
6
|
+
/**
|
|
7
|
+
* Grid sampling mode shared by visualization features.
|
|
8
|
+
* 可视化功能共用的网格采样模式。
|
|
9
|
+
*/
|
|
10
|
+
export type SampleMode = 'interpolate' | 'cell';
|
|
11
|
+
/**
|
|
12
|
+
* External color stop input.
|
|
13
|
+
* 外部传入的色标配置。
|
|
14
|
+
*/
|
|
15
|
+
export interface ColorStopInput {
|
|
16
|
+
min: number;
|
|
17
|
+
max: number;
|
|
18
|
+
color: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Normalized color stop.
|
|
22
|
+
* 归一化后的色标配置。
|
|
23
|
+
*/
|
|
24
|
+
export interface ColorStop {
|
|
25
|
+
min: number;
|
|
26
|
+
max: number;
|
|
27
|
+
color: [number, number, number, number];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Visible value range used by color mapping.
|
|
31
|
+
* 颜色映射使用的可见数据范围。
|
|
32
|
+
*/
|
|
33
|
+
export interface ColorRange {
|
|
34
|
+
minValue: number;
|
|
35
|
+
maxValue: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Regular grid data sampled by visualization features.
|
|
39
|
+
* 可视化功能采样的规则网格数据。
|
|
40
|
+
*/
|
|
41
|
+
export interface GridData {
|
|
42
|
+
values: Float32Array;
|
|
43
|
+
width: number;
|
|
44
|
+
height: number;
|
|
45
|
+
minLng: number;
|
|
46
|
+
maxLng: number;
|
|
47
|
+
minLat: number;
|
|
48
|
+
maxLat: number;
|
|
49
|
+
noData?: number;
|
|
50
|
+
valueScale: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Flat color stop arrays consumed by renderers.
|
|
54
|
+
* 渲染器使用的扁平色标数组。
|
|
55
|
+
*/
|
|
56
|
+
export interface ColorStopArrays {
|
|
57
|
+
mins: Float32Array<ArrayBuffer>;
|
|
58
|
+
maxs: Float32Array<ArrayBuffer>;
|
|
59
|
+
colors: Float32Array<ArrayBuffer>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Validated color stops and their renderer arrays.
|
|
63
|
+
* 已校验的色标及其渲染器数组。
|
|
64
|
+
*/
|
|
65
|
+
export interface PreparedColorStops {
|
|
66
|
+
colorStops: ColorStop[];
|
|
67
|
+
arrays: ColorStopArrays;
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ColorMode, ColorRange, ColorStop, ColorStopArrays, GridData, PreparedColorStops, SampleMode } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Maximum finite float value safely representable by GPU shaders.
|
|
4
|
+
* GPU shader 可以安全表示的最大有限浮点值。
|
|
5
|
+
*/
|
|
6
|
+
export declare const shaderFloatMax = 3.402823466e+38;
|
|
7
|
+
/**
|
|
8
|
+
* Convert JavaScript infinity values into finite shader values.
|
|
9
|
+
* 将 JavaScript 无限值转换为 shader 可使用的有限值。
|
|
10
|
+
*/
|
|
11
|
+
export declare const toShaderFloat: (value: number) => number;
|
|
12
|
+
/**
|
|
13
|
+
* Validate and copy color stops, then create their renderer arrays.
|
|
14
|
+
* 校验并复制色标,然后创建对应的渲染器数组。
|
|
15
|
+
*/
|
|
16
|
+
export declare const prepareColorStops: (colorStops: readonly ColorStop[]) => PreparedColorStops;
|
|
17
|
+
/**
|
|
18
|
+
* Convert color stops into flat arrays consumed by renderers.
|
|
19
|
+
* 将色标配置转换为渲染器使用的扁平数组。
|
|
20
|
+
*/
|
|
21
|
+
export declare const createColorStopArrays: (colorStops: readonly ColorStop[], capacity?: number) => ColorStopArrays;
|
|
22
|
+
/**
|
|
23
|
+
* Validate a visible color range.
|
|
24
|
+
* 校验可见颜色范围。
|
|
25
|
+
*/
|
|
26
|
+
export declare const validateColorRange: (colorRange: ColorRange) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Clamp opacity to the range expected by renderers.
|
|
29
|
+
* 将透明度限制在渲染器期望的范围内。
|
|
30
|
+
*/
|
|
31
|
+
export declare const clampOpacity: (opacity: number) => number;
|
|
32
|
+
/**
|
|
33
|
+
* Convert the color mode into the numeric flag used by shaders.
|
|
34
|
+
* 将颜色模式转换为 shader 使用的数值标记。
|
|
35
|
+
*/
|
|
36
|
+
export declare const colorModeToShaderValue: (colorMode: ColorMode) => number;
|
|
37
|
+
/**
|
|
38
|
+
* Convert the sample mode into the numeric flag used by shaders.
|
|
39
|
+
* 将采样模式转换为 shader 使用的数值标记。
|
|
40
|
+
*/
|
|
41
|
+
export declare const sampleModeToShaderValue: (sampleMode: SampleMode) => number;
|
|
42
|
+
/**
|
|
43
|
+
* Validate grid dimensions, bounds, values, and scale.
|
|
44
|
+
* 校验网格的尺寸、范围、数据和缩放值。
|
|
45
|
+
*/
|
|
46
|
+
export declare const validateGridData: (grid: GridData) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x1e2e9e=_0xe4c9;(function(_0x31e48f,_0x5745d3){const _0x148b2a=_0xe4c9,_0x43ab7e=_0x31e48f();while(!![]){try{const _0x5a9c2e=-parseInt(_0x148b2a(0x203))/0x1*(-parseInt(_0x148b2a(0x20b))/0x2)+-parseInt(_0x148b2a(0x1f3))/0x3+parseInt(_0x148b2a(0x1f0))/0x4+parseInt(_0x148b2a(0x216))/0x5*(-parseInt(_0x148b2a(0x20e))/0x6)+-parseInt(_0x148b2a(0x1fe))/0x7+parseInt(_0x148b2a(0x1f7))/0x8*(parseInt(_0x148b2a(0x21b))/0x9)+-parseInt(_0x148b2a(0x1f2))/0xa*(-parseInt(_0x148b2a(0x213))/0xb);if(_0x5a9c2e===_0x5745d3)break;else _0x43ab7e['push'](_0x43ab7e['shift']());}catch(_0x55443d){_0x43ab7e['push'](_0x43ab7e['shift']());}}}(_0xc75c,0x301bf));export const shaderFloatMax=0xfffffeff8381b0000000000000000000;export const toShaderFloat=_0x382851=>{const _0x1fc444=_0xe4c9;if(_0x382851===Number[_0x1fc444(0x21e)])return shaderFloatMax;if(_0x382851===Number[_0x1fc444(0x20c)])return-shaderFloatMax;return _0x382851;};export const prepareColorStops=_0x5bbc7b=>{const _0x2a1f2e=_0xe4c9;validateColorStops(_0x5bbc7b);const _0x53e050=cloneColorStops(_0x5bbc7b);return{'colorStops':_0x53e050,'arrays':createColorStopArraysFromValidated(_0x53e050,_0x53e050[_0x2a1f2e(0x214)])};};export const createColorStopArrays=(_0x1aaaeb,_0x5d4a6a=_0x1aaaeb[_0x1e2e9e(0x214)])=>{const _0x56a850=_0x1e2e9e;return validateColorStops(_0x1aaaeb),validateColorStopCapacity(_0x1aaaeb[_0x56a850(0x214)],_0x5d4a6a),createColorStopArraysFromValidated(_0x1aaaeb,_0x5d4a6a);};function _0xc75c(){const _0x1abf25=['Color\x20stop\x20','Opacity\x20must\x20be\x20a\x20finite\x20number:\x20','map','209bdroDe','Grid\x20valueScale\x20must\x20be\x20a\x20finite\x20number:\x20','minLat','.\x20色标容量必须是大于或等于色标数量的整数。','width','\x20values\x20but\x20received\x20','Grid\x20longitude\x20bounds\x20are\x20invalid:\x20','Grid\x20noData\x20must\x20be\x20a\x20finite\x20number\x20when\x20provided:\x20','638bRdhIo','NEGATIVE_INFINITY','Color\x20stop\x20capacity\x20must\x20be\x20an\x20integer\x20greater\x20than\x20or\x20equal\x20to\x20','426uTchsA','.\x20透明度必须是有限数值。','\x20contains\x20an\x20invalid\x20color\x20channel:\x20','.\x20网格纬度范围无效。','color','83699ymzssg','length','.\x20网格\x20noData\x20存在时必须是有限数值。','13895WWFQEO','maxLng','Grid\x20requires\x20','isNaN','maxValue','7767pledMD','Grid\x20dimensions\x20must\x20be\x20positive\x20integers:\x20','minValue','POSITIVE_INFINITY','\x20包含无效颜色通道。','height','valueScale','.\x20网格\x20valueScale\x20必须是有限数值。','forEach','\x20的数值范围无效。','min','1187888RVlBpk','isFinite','740YQHqHi','1130877OXhrlk','maxLat','\x20has\x20an\x20invalid\x20value\x20range.\x20色标\x20','minLng','632UFGUPq','.\x20色标\x20','max','isInteger','Grid\x20latitude\x20bounds\x20are\x20invalid:\x20','noData','Color\x20stops\x20must\x20be\x20ordered\x20by\x20minimum\x20value.\x20色标必须按照最小值升序排列。','1564941fDoYzx','values'];_0xc75c=function(){return _0x1abf25;};return _0xc75c();}export const validateColorRange=_0x3c616f=>{const _0x38d40e=_0x1e2e9e;if(Number[_0x38d40e(0x219)](_0x3c616f[_0x38d40e(0x21d)])||Number[_0x38d40e(0x219)](_0x3c616f[_0x38d40e(0x21a)])||_0x3c616f[_0x38d40e(0x21d)]>_0x3c616f[_0x38d40e(0x21a)])throw new Error('Color\x20range\x20is\x20invalid:\x20'+_0x3c616f['minValue']+',\x20'+_0x3c616f[_0x38d40e(0x21a)]+'.\x20可见颜色范围无效。');};export const clampOpacity=_0xa30fc8=>{const _0x3a993d=_0x1e2e9e;if(!Number[_0x3a993d(0x1f1)](_0xa30fc8))throw new Error(_0x3a993d(0x201)+_0xa30fc8+_0x3a993d(0x20f));return Math[_0x3a993d(0x1ef)](0x1,Math[_0x3a993d(0x1f9)](0x0,_0xa30fc8));};export const colorModeToShaderValue=_0xfcd536=>{return _0xfcd536==='smooth'?0x1:0x0;};export const sampleModeToShaderValue=_0x3adc53=>{return _0x3adc53==='cell'?0x1:0x0;};function _0xe4c9(_0x382d98,_0x2aec03){const _0xc75c88=_0xc75c();return _0xe4c9=function(_0xe4c9a1,_0xb36d0f){_0xe4c9a1=_0xe4c9a1-0x1ee;let _0x3c2f00=_0xc75c88[_0xe4c9a1];return _0x3c2f00;},_0xe4c9(_0x382d98,_0x2aec03);}export const validateGridData=_0x366c16=>{const _0x5d374d=_0x1e2e9e;if(!Number['isInteger'](_0x366c16[_0x5d374d(0x207)])||!Number[_0x5d374d(0x1fa)](_0x366c16[_0x5d374d(0x220)])||_0x366c16[_0x5d374d(0x207)]<=0x0||_0x366c16[_0x5d374d(0x220)]<=0x0)throw new Error(_0x5d374d(0x21c)+_0x366c16['width']+'x'+_0x366c16[_0x5d374d(0x220)]+'.\x20网格尺寸必须是正整数。');const _0x4ade41=_0x366c16[_0x5d374d(0x207)]*_0x366c16['height'];if(_0x366c16['values'][_0x5d374d(0x214)]!==_0x4ade41)throw new Error(_0x5d374d(0x218)+_0x4ade41+_0x5d374d(0x208)+_0x366c16[_0x5d374d(0x1ff)][_0x5d374d(0x214)]+'.\x20网格数据数量与尺寸不匹配。');if(!Number[_0x5d374d(0x1f1)](_0x366c16[_0x5d374d(0x1f6)])||!Number[_0x5d374d(0x1f1)](_0x366c16[_0x5d374d(0x217)])||_0x366c16[_0x5d374d(0x1f6)]>=_0x366c16[_0x5d374d(0x217)])throw new Error(_0x5d374d(0x209)+_0x366c16[_0x5d374d(0x1f6)]+',\x20'+_0x366c16[_0x5d374d(0x217)]+'.\x20网格经度范围无效。');if(!Number['isFinite'](_0x366c16[_0x5d374d(0x205)])||!Number['isFinite'](_0x366c16[_0x5d374d(0x1f4)])||_0x366c16[_0x5d374d(0x205)]>=_0x366c16[_0x5d374d(0x1f4)])throw new Error(_0x5d374d(0x1fb)+_0x366c16['minLat']+',\x20'+_0x366c16['maxLat']+_0x5d374d(0x211));if(!Number[_0x5d374d(0x1f1)](_0x366c16[_0x5d374d(0x221)]))throw new Error(_0x5d374d(0x204)+_0x366c16[_0x5d374d(0x221)]+_0x5d374d(0x222));if(_0x366c16['noData']!==undefined&&!Number[_0x5d374d(0x1f1)](_0x366c16[_0x5d374d(0x1fc)]))throw new Error(_0x5d374d(0x20a)+_0x366c16[_0x5d374d(0x1fc)]+_0x5d374d(0x215));};const validateColorStops=_0x3ef2ff=>{const _0x5004c5=_0x1e2e9e;if(_0x3ef2ff[_0x5004c5(0x214)]===0x0)throw new Error('Color\x20stops\x20cannot\x20be\x20empty.\x20色标配置不能为空。');let _0x230eaf=Number[_0x5004c5(0x20c)];_0x3ef2ff[_0x5004c5(0x223)]((_0x5ccf34,_0x3f9b7f)=>{const _0x23f04f=_0x5004c5;if(Number['isNaN'](_0x5ccf34['min'])||Number[_0x23f04f(0x219)](_0x5ccf34[_0x23f04f(0x1f9)])||_0x5ccf34[_0x23f04f(0x1ef)]>_0x5ccf34[_0x23f04f(0x1f9)])throw new Error(_0x23f04f(0x200)+_0x3f9b7f+_0x23f04f(0x1f5)+_0x3f9b7f+_0x23f04f(0x1ee));if(_0x5ccf34[_0x23f04f(0x1ef)]<_0x230eaf)throw new Error(_0x23f04f(0x1fd));for(const _0x84b63e of _0x5ccf34[_0x23f04f(0x212)]){if(!Number[_0x23f04f(0x1f1)](_0x84b63e)||_0x84b63e<0x0||_0x84b63e>0x1)throw new Error('Color\x20stop\x20'+_0x3f9b7f+_0x23f04f(0x210)+_0x84b63e+_0x23f04f(0x1f8)+_0x3f9b7f+_0x23f04f(0x21f));}_0x230eaf=_0x5ccf34[_0x23f04f(0x1ef)];});},cloneColorStops=_0x5098f9=>{const _0x401a13=_0x1e2e9e;return _0x5098f9[_0x401a13(0x202)](_0x8dc852=>({'min':_0x8dc852[_0x401a13(0x1ef)],'max':_0x8dc852['max'],'color':[_0x8dc852['color'][0x0],_0x8dc852[_0x401a13(0x212)][0x1],_0x8dc852[_0x401a13(0x212)][0x2],_0x8dc852[_0x401a13(0x212)][0x3]]}));},validateColorStopCapacity=(_0x2d63f4,_0x548602)=>{const _0x1c782b=_0x1e2e9e;if(!Number[_0x1c782b(0x1fa)](_0x548602)||_0x548602<_0x2d63f4)throw new Error(_0x1c782b(0x20d)+_0x2d63f4+':\x20'+_0x548602+_0x1c782b(0x206));},createColorStopArraysFromValidated=(_0x402bb3,_0x1950c5)=>{const _0x475000=_0x1e2e9e,_0x158502=new Float32Array(_0x1950c5),_0x326ae0=new Float32Array(_0x1950c5),_0x1b2e8c=new Float32Array(_0x1950c5*0x4);return _0x402bb3[_0x475000(0x223)]((_0x588a2c,_0x382c8b)=>{const _0x1fcc94=_0x475000;_0x158502[_0x382c8b]=toShaderFloat(_0x588a2c[_0x1fcc94(0x1ef)]),_0x326ae0[_0x382c8b]=toShaderFloat(_0x588a2c[_0x1fcc94(0x1f9)]);const _0x524008=_0x382c8b*0x4;_0x1b2e8c[_0x524008]=_0x588a2c[_0x1fcc94(0x212)][0x0],_0x1b2e8c[_0x524008+0x1]=_0x588a2c['color'][0x1],_0x1b2e8c[_0x524008+0x2]=_0x588a2c[_0x1fcc94(0x212)][0x2],_0x1b2e8c[_0x524008+0x3]=_0x588a2c[_0x1fcc94(0x212)][0x3];}),{'mins':_0x158502,'maxs':_0x326ae0,'colors':_0x1b2e8c};};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const _0x430924=_0x3fd3;(function(_0x1412be,_0x343acf){const _0x3867c2=_0x3fd3,_0x1b93a0=_0x1412be();while(!![]){try{const _0x22bf7d=parseInt(_0x3867c2(0x9d))/0x1+-parseInt(_0x3867c2(0x92))/0x2+parseInt(_0x3867c2(0x9c))/0x3*(parseInt(_0x3867c2(0x82))/0x4)+parseInt(_0x3867c2(0x95))/0x5*(-parseInt(_0x3867c2(0x9e))/0x6)+-parseInt(_0x3867c2(0x97))/0x7+parseInt(_0x3867c2(0x98))/0x8*(parseInt(_0x3867c2(0x9a))/0x9)+parseInt(_0x3867c2(0x8a))/0xa;if(_0x22bf7d===_0x343acf)break;else _0x1b93a0['push'](_0x1b93a0['shift']());}catch(_0x4b8ed7){_0x1b93a0['push'](_0x1b93a0['shift']());}}}(_0x3814,0xed724));import{createVolumeScene}from'../volume-scene/createVolumeScene';import{WebgpuVolumeSceneRenderer}from'../volume-scene/rendering/webgpu/webgpuVolumeSceneRenderer';import{mars3dVolumeRaymarchSource}from'./mars3dRaymarchShader';function _0x3814(){const _0x13621e=['canvas','6843bCjiye','1158889uONObu','14082dlQFvb','add','getVolumeBindGroupLayout','2588FpgVal','has','getFormat','mars3d\x20volume\x20shell\x20raymarch\x20shader','getTransferBindGroupLayout','createPipelines','one-minus-src-alpha','createRenderPipeline','5184210aZORoQ','prototype','destroy','fragmentMain','one','createShaderModule','delete','call','1201084TWEPGA','getDevice','triangle-list','505IkQrJU','vertexMain','11523988qQypoW','27576aNYhSM','createPipelineLayout','792MSeheN'];_0x3814=function(){return _0x13621e;};return _0x3814();}const premultipliedBlend=()=>({'color':{'srcFactor':_0x430924(0x8e),'dstFactor':_0x430924(0x88),'operation':_0x430924(0x9f)},'alpha':{'srcFactor':_0x430924(0x8e),'dstFactor':_0x430924(0x88),'operation':_0x430924(0x9f)}}),rendererPrototype=WebgpuVolumeSceneRenderer[_0x430924(0x8b)],mars3dCanvases=new WeakSet();let pipelineHookInstalled=![];function _0x3fd3(_0xc52698,_0x11cdae){const _0x381439=_0x3814();return _0x3fd3=function(_0x3fd3f0,_0x292e6b){_0x3fd3f0=_0x3fd3f0-0x81;let _0x144ca4=_0x381439[_0x3fd3f0];return _0x144ca4;},_0x3fd3(_0xc52698,_0x11cdae);}const installPipelineHook=()=>{const _0x38a6a5=_0x430924;if(pipelineHookInstalled)return;const _0x263e1d=rendererPrototype['createPipelines'];rendererPrototype[_0x38a6a5(0x87)]=function _0x29845a(){const _0x1bc2ba=_0x38a6a5;_0x263e1d[_0x1bc2ba(0x91)](this);if(!this['canvas']||!mars3dCanvases[_0x1bc2ba(0x83)](this[_0x1bc2ba(0x9b)]))return;const _0x52b193=this[_0x1bc2ba(0x93)](),_0x23a606=_0x52b193[_0x1bc2ba(0x8f)]({'label':_0x1bc2ba(0x85),'code':mars3dVolumeRaymarchSource});this['volumePipeline']=_0x52b193[_0x1bc2ba(0x89)]({'label':'mars3d\x20volume\x20shell\x20raymarch\x20pipeline','layout':_0x52b193[_0x1bc2ba(0x99)]({'bindGroupLayouts':[this['getSceneBindGroupLayout'](),this[_0x1bc2ba(0x81)](),this[_0x1bc2ba(0x86)]()]}),'vertex':{'module':_0x23a606,'entryPoint':_0x1bc2ba(0x96)},'fragment':{'module':_0x23a606,'entryPoint':_0x1bc2ba(0x8d),'targets':[{'format':this[_0x1bc2ba(0x84)](),'blend':premultipliedBlend()}]},'primitive':{'topology':_0x1bc2ba(0x94)}});},pipelineHookInstalled=!![];};export const createMars3dVolumeScene=async _0x237ba3=>{const _0x377988=_0x430924;installPipelineHook(),mars3dCanvases[_0x377988(0x9f)](_0x237ba3[_0x377988(0x9b)]);try{const _0x51fbbc=await createVolumeScene(_0x237ba3),_0x3060a0=_0x51fbbc[_0x377988(0x8c)]['bind'](_0x51fbbc);return _0x51fbbc[_0x377988(0x8c)]=()=>{const _0x567b0e=_0x377988;mars3dCanvases[_0x567b0e(0x90)](_0x237ba3[_0x567b0e(0x9b)]),_0x3060a0();},_0x51fbbc;}catch(_0x49de40){mars3dCanvases[_0x377988(0x90)](_0x237ba3[_0x377988(0x9b)]);throw _0x49de40;}};
|