@arcgis/core 5.2.0-next.71 → 5.2.0-next.73
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/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/00cbff0b785e24e87d97.js +1 -0
- package/assets/esri/core/workers/chunks/{359584a8fb5687a7d098.js → 014f9fd2818e2c9d9a3b.js} +1 -1
- package/assets/esri/core/workers/chunks/{3b3a8a6167f2e1eeb828.js → 0823961e5d0bdedbf8cf.js} +2 -2
- package/assets/esri/core/workers/chunks/{a62f1b8ed065b2a38f1a.js → 0dbf31a663b5220a3136.js} +1 -1
- package/assets/esri/core/workers/chunks/{fe10a95ebe1da2322af6.js → 0df660dfd941cff3ea1d.js} +1 -1
- package/assets/esri/core/workers/chunks/{d93d0cb69f3a9a722510.js → 1418c03c4ab87f7ab5f4.js} +1 -1
- package/assets/esri/core/workers/chunks/{c03da138651ac53cadcb.js → 186bedc377cc97731ca2.js} +2 -2
- package/assets/esri/core/workers/chunks/{fff23b2682590c4b21e3.js → 2a2ed7bd44010f24c2dd.js} +1 -1
- package/assets/esri/core/workers/chunks/2e44978ee677aa23163d.js +256 -0
- package/assets/esri/core/workers/chunks/{fc2cae359d571690d754.js → 35fd2f765d2cb3f59a22.js} +4 -4
- package/assets/esri/core/workers/chunks/{6b208bac120bcfecd9e4.js → 3e2b4e734aa20a308f3e.js} +1 -1
- package/assets/esri/core/workers/chunks/{fa19d5923276418096da.js → 44b50d4716a2567ab6f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{50e0dd74795978468625.js → 4cf2b0558a4acc141429.js} +1 -1
- package/assets/esri/core/workers/chunks/{2d3a18d56e2e5669c562.js → 64176f7ae719289a2f79.js} +1 -1
- package/assets/esri/core/workers/chunks/{9684ab5e8254fdfcb7bb.js → 67f54586156d1ab80257.js} +1 -1
- package/assets/esri/core/workers/chunks/{2cfe6f41865ffb3a4645.js → 7e373d9c98ce910db9d2.js} +1 -1
- package/assets/esri/core/workers/chunks/{4da993c79b373b9d304e.js → 8302bffd28cc6720e0fe.js} +2 -2
- package/assets/esri/core/workers/chunks/{9dda9414104f585560a4.js → ad1d06a91121ebfe9162.js} +2 -2
- package/assets/esri/core/workers/chunks/{065e3353124fc5ac44ce.js → b33d870cbfa238762c5e.js} +1 -1
- package/assets/esri/core/workers/chunks/ba4f419f46be09a9a55c.js +1 -0
- package/assets/esri/core/workers/chunks/{684d3cb4fb233180b2d0.js → cd892c9603710d6130a9.js} +1 -1
- package/assets/esri/core/workers/chunks/{fa5d27e47d47ff8fcb96.js → d03e7be74c57c3dbf003.js} +2 -2
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/chunks/Component.glsl.js +3 -3
- package/chunks/HUDMaterial.glsl.js +8 -8
- package/chunks/lyr3DMain.js +1 -1
- package/config.js +1 -1
- package/kernel.js +1 -1
- package/layers/ILyr3DWasmPerSceneView.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/support/tiles3DUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +3 -3
- package/support/revision.js +1 -1
- package/views/2d/engine/Bitmap.js +1 -1
- package/views/2d/engine/BitmapTile.js +1 -1
- package/views/2d/engine/BitmapTileContainer.js +1 -1
- package/views/2d/engine/flow/FlowContainer.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/flow/styles/Imagery.js +1 -1
- package/views/2d/engine/flow/styles/Particles.js +1 -1
- package/views/2d/engine/flow/styles/Streamlines.js +1 -1
- package/views/2d/engine/imagery/RasterBitmap.js +1 -1
- package/views/2d/engine/imagery/RasterTile.js +1 -1
- package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
- package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterVFTile.js +1 -1
- package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
- package/views/2d/engine/webgl/Overlay.js +1 -1
- package/views/2d/engine/webgl/OverlayContainer.js +1 -1
- package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
- package/views/2d/engine/webgl/TileContainer.js +1 -1
- package/views/2d/engine/webgl/normalizedTileUtils.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimationUniformInfo.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/flow/FlowTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/raster/rasterVFUtils.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ClipShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DebugOverlayShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/Tile.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileInfo.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowParticlesShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowStreamlinesShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterHighlightShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/MagDirShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterVFTransform.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/ScalarShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ReprojectShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderBackground.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderCircle.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderFill.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderIcon.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderLine.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderOutline.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderText.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/utility/DebugOverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightAggregateManipulatedObject3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/settings.js +1 -1
- package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
- package/views/3d/interactive/manipulatorUtils.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/support/lyr3dTypeConversions.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js +14 -0
- package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +3 -15
- package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
- package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/View.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/support/imageReprojection.js +1 -1
- package/assets/esri/core/workers/chunks/6357c7cac401aee9fe77.js +0 -1
- package/assets/esri/core/workers/chunks/d2faac81142586cf7509.js +0 -1
- package/assets/esri/core/workers/chunks/fd6107f95082e05f016a.js +0 -256
- package/views/2d/engine/webgl/shaderGraph/techniques/line/utils.js +0 -2
- /package/assets/esri/core/workers/chunks/{3b3a8a6167f2e1eeb828.js.LICENSE.txt → 0823961e5d0bdedbf8cf.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{c03da138651ac53cadcb.js.LICENSE.txt → 186bedc377cc97731ca2.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{4da993c79b373b9d304e.js.LICENSE.txt → 8302bffd28cc6720e0fe.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{9dda9414104f585560a4.js.LICENSE.txt → ad1d06a91121ebfe9162.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{fa5d27e47d47ff8fcb96.js.LICENSE.txt → d03e7be74c57c3dbf003.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{animationDebugFlags as e}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{FeatureTechnique as t}from"../FeatureTechnique.js";import{isHittest as a,getSelectionDefines as i,getFeatureTextures as n,getLocalTileOffset as r,getFeatureUniforms as o,resolveDynamicUniforms as s,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";class m extends t{render(t,m){const{context:c,painter:l}=t,{target:g}=m,{freezeGlobalTime:d}=e,f=0,x=l.textureManager.animationStore.getTexture(c,f),p=m.instance.getInput(),T=l.textureManager.getMosaicInfo(t,m.textureKey,!1),{optionalAttributes:b}=p,h=b.zoomRange,D=b.value1Position2Value2,M="accumulatedDistance"in b&&!!b.accumulatedDistance,y="segmentDirection"in b&&!!b.segmentDirection,z="normal"in b&&!!b.normal;l.setShader({shader:this.shaders.geometry,uniforms:{...s(t,m.target,p.uniforms),...o(t,m.target),mosaicInfo:T,animationInfo:{globalTime:t.animationsEnabled?!1===d?t.time/1e3:d:0,animationTextureSize:[x.descriptor.width,x.descriptor.height]},localTileOffset:r(m.target)},textures:{...n(t),mosaicTexture:l.textureManager.getMosaicTexture(t,m.textureKey,!1),animationTexture:{unit:6,texture:x}},defines:{...i(t)},optionalAttributes:{zoomRange:h,value1Position2Value2:D,accumulatedDistance:M,segmentDirection:y,normal:z},useComputeBuffer:a(t)}),l.setPipelineState({...u(t)}),l.submitDraw(t,m),!1===d&&t.animationsEnabled&&g.requestRender()}}export{m as AnimatedTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as o}from"tslib";import{uniform as
|
|
2
|
+
import{__decorate as o}from"tslib";import{uniform as r,UniformGroup as t}from"../../GraphShaderModule.js";import{Float as e,Vec2 as i}from"../../graph/glsl.js";class p extends t{}o([r(e)],p.prototype,"globalTime",void 0),o([r(i)],p.prototype,"animationTextureSize",void 0);export{p as AnimationUniformInfo};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{BitmapTile as e}from"../../../../BitmapTile.js";import{textureBindingBitmap as i}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{BitmapShader as n}from"../shaders/BitmapShader.js";import{getTileUniforms as r}from"../shaders/Tile.js";import{getTileContainerUniforms as o}from"../shaders/TileInfo.js";import{getViewUniforms as s}from"../shaders/ViewInfo.js";const a={nearest:{samplingMode:9728,mips:!1},bilinear:{samplingMode:9729,mips:!1},bicubic:{samplingMode:9729,mips:!1},trilinear:{samplingMode:9987,mips:!0}},l=(e,i,t)=>{if("dynamic"===t.samplingMode){const{state:t}=e,n=i.resolution/i.pixelRatio/t.resolution,r=Math.round(e.pixelRatio)!==e.pixelRatio,o=n>1.05||n<.95;return t.rotation||o||r||i.isSourceScaled||i.rotation?a.bilinear:a.nearest}return a[t.samplingMode]};class m extends t{constructor(){super(...arguments),this.name="BrushBitmap",this.type=4,this.shaders={bitmap:new n}}render(e,t){const{context:n,renderingOptions:m,painter:d}=e,f=s(e);for(const s of t.bitmaps){const t=c(s),h=t.texture;if(!t.source||!t.isReady||null==h)continue;const b=l(e,t,m);e.timeline.begin(this.name),d.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"additive"===t.blendFunction?"additive":"composite"}}),t.setSamplingProfile(b);const{coordScale:g,computedOpacity:M}=t,w={coordScale:g,opacity:M},x=p(s);let S;if(x){if(!u(e))throw new Error("BitmapTile requires tile render parameters");S={view:f,tileContainer:o(e),tile:r(e.tilingScheme,s),localTransform:null,config:w}}else S={view:f,tileContainer:null,tile:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3},config:w};d.submitDrawMesh(n,{shader:this.shaders.bitmap,uniforms:S,textures:{texture:{texture:h,unit:i}},defines:{bicubic:b===a.bicubic,tiled:x},optionalAttributes:null,useComputeBuffer:!1},d.quadMesh,t),e.timeline.end(this.name)}}}function c(e){return p(e)?e.bitmap:e}function p(i){return i instanceof e}function u(e){return"normalizedTileView"in e}export{m as BitmapTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{Technique as e}from"../Technique.js";import{ClipShader as
|
|
2
|
+
import{Technique as e}from"../Technique.js";import{ClipShader as s}from"../shaders/ClipShader.js";import{getViewUniforms as t}from"../shaders/ViewInfo.js";class i extends e{constructor(){super(...arguments),this.type=8,this.shaders={clip:new s}}render(e,s){const{context:i,painter:r,state:o}=e,n=s.getMesh(i,o);if(!n)return;r.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:519,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const a={shader:this.shaders.clip,uniforms:{view:t(e)},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMesh(i,a,n,{stencilRef:0})}}const r=new i;export{r as clipTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{noVisualVariables as a}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as e,createGradientStrokeMeshInfos as i,createGradientFillMeshInfos as n,createComplexTextMeshInfos as t,createAnimatedPolyMeshInfos as r,createComplexTexturedLineMeshInfos as l,createComplexSimpleLineMeshInfos as o,createComplexSimpleFillMeshInfos as c,createComplexFillMeshInfos as m,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as
|
|
2
|
+
import{noVisualVariables as a}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as e,createGradientStrokeMeshInfos as i,createGradientFillMeshInfos as n,createComplexTextMeshInfos as t,createAnimatedPolyMeshInfos as r,createComplexTexturedLineMeshInfos as l,createComplexSimpleLineMeshInfos as o,createComplexSimpleFillMeshInfos as c,createComplexFillMeshInfos as m,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as u}from"../../../../layers/features/schema/processor/symbols/ComplexSymbolSchema.js";async function h(h,f,k){const b=[],d={scaleInfo:s(h),scaleExpression:null,rotationVariable:null,viewRotation:null};for(const s of f)switch(s.type){case"marker":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...p(k.instances.animatedMarkerShift,s,a,d));break}b.push(...p(k.instances.animatedMarker,s,a,d));break}b.push(...u(k.instances.marker,s,a,d));break;case"fill":if(s.animationParams){b.push(...r(k.instances.animatedPolygon,s,a,d));break}null==s.spriteRasterizationParam?b.push(...c(k.instances.fill,s,d)):b.push(...m(k.instances.complexFill,s,!1,d));break;case"line":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...r(k.instances.animatedPolylineShift,s,a,d));break}b.push(...r(k.instances.animatedPolyline,s,a,d));break}s.spriteRasterizationParam?b.push(...l(k.instances.texturedLine,s,!1,d)):b.push(...o(k.instances.line,s,!1,d));break;case"text":b.push(...t(k.instances.text,s,a,d));break;case"gradientFill":b.push(...n(k.instances.gradientFill,s,d));break;case"gradientStroke":b.push(...i(k.instances.gradientStroke,s,d));break;case"outlineFill":b.push(...e(k.instances.outlineFill,s,d))}return b}export{h as createGraphicSymbolMeshSchemas};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t,__param as o}from"tslib";import{tileSize as e}from"../../../definitions.js";import{location as i,uniform as r,texture as s,input as d,VertexInput as n,UniformGroup as p,GraphShaderModule as a,FragmentOutput as l}from"../../GraphShaderModule.js";import{Vec2 as
|
|
2
|
+
import{__decorate as t,__param as o}from"tslib";import{tileSize as e}from"../../../definitions.js";import{location as i,uniform as r,texture as s,input as d,VertexInput as n,UniformGroup as p,GraphShaderModule as a,FragmentOutput as l}from"../../GraphShaderModule.js";import{Vec2 as m,Float as y,Sampler2D as c,Mat3 as v,Vec3 as w,texture2D as h,max as u,step as f,Vec4 as x,length as g,smoothstep as S}from"../../graph/glsl.js";import{FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{Tile as z}from"../shaders/Tile.js";import{TileInfo as C}from"../shaders/TileInfo.js";import{ViewInfo as P}from"../shaders/ViewInfo.js";class R extends n{}t([i(0,m)],R.prototype,"pos",void 0);class b extends j{}class D extends p{}t([r(y)],D.prototype,"dotSize",void 0);class F extends p{}t([r(y)],F.prototype,"pixelRatio",void 0),t([r(y)],F.prototype,"tileZoomFactor",void 0);const E=1e-6;class I extends a{constructor(){super(...arguments),this.type="DotDensityPointShader"}vertex(t){const o=new v(1,0,0,0,-1,0,0,1,1).multiply(new w(t.pos.xy.divide(e),1)),i=h(this.drawLocations,o.xy),r=u(this.instance.dotSize.divide(2),new y(1));let s=new y(0);s=s.add(f(i.a,new y(E)).multiply(2));let d=r.add(this.instance.dotSize);const n=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new w(t.pos.add(.5),1)),p=new x(n.xy,s,1),a=this.instance.dotSize.divide(d),l=new y(-1).divide(r.divide(d));return d=d.multiply(this.draw.pixelRatio.multiply(this.draw.tileZoomFactor)),{glPosition:p,glPointSize:d,color:i,ratio:a,invEdgeRatio:l}}fragment(t){const o=g(t.glPointCoord.subtract(.5)).multiply(2),e=S(new y(0),new y(1),t.invEdgeRatio.multiply(o.subtract(t.ratio)).add(1)),i=new l;return i.fragColor=t.color.multiply(e),i}}t([r(D)],I.prototype,"instance",void 0),t([r(F)],I.prototype,"draw",void 0),t([r(C)],I.prototype,"tileContainer",void 0),t([r(z)],I.prototype,"tile",void 0),t([r(P)],I.prototype,"view",void 0),t([s(c)],I.prototype,"drawLocations",void 0),t([o(0,d(R))],I.prototype,"vertex",null),t([o(0,d(b))],I.prototype,"fragment",null);export{F as DotDensityPointDrawUniforms,b as DotDensityPointFragmentInput,D as DotDensityPointInstanceUniforms,I as DotDensityPointShader,R as DotDensityPointVertexInput};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{tileSize as e,textureBindingRenderer1 as t,textureBindingRenderer0 as i}from"../../../definitions.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{isHighlight as s,isHittest as o,getSelectionDefines as n,getFeatureTextures as a,getFeatureUniforms as
|
|
2
|
+
import{tileSize as e,textureBindingRenderer1 as t,textureBindingRenderer0 as i}from"../../../definitions.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{isHighlight as s,isHittest as o,getSelectionDefines as n,getFeatureTextures as a,getFeatureUniforms as l,getFeaturePipelineState as d}from"../featureTechniqueUtils.js";import{DotDensityPointShader as u}from"./DotDensityPointShader.js";import{DotDensityPolygonShader as c}from"./DotDensityPolygonShader.js";import{DotDensityResources as h}from"./DotDensityResources.js";import{FillShader as p}from"../shaders/FillShader.js";import{getTileUniforms as m}from"../shaders/Tile.js";import{getTileContainerUniforms as f}from"../shaders/TileInfo.js";import{getViewUniforms as w}from"../shaders/ViewInfo.js";class g extends r{constructor(){super(...arguments),this.type=12,this.shaders={polygon:new c,point:new u,fill:new p},this._resources=new Map}render(e,t){s(e)||o(e)?this._renderPolygons(e,t):this._renderDotDensity(e,t)}_renderPolygons(e,t){const{painter:i}=e;i.setShader({shader:this.shaders.fill,uniforms:{...l(e,t.target),visualVariableColor:null,visualVariableOpacity:null},textures:a(e),defines:{...n(e)},optionalAttributes:{zoomRange:!1},useComputeBuffer:o(e)}),i.setPipelineState(d(e)),i.submitDraw(e,t)}_renderDotDensity(r,s){const{context:o,painter:u,requiredLevel:c}=r,h=s.instance.getInput().uniforms,p=this._getOrCreateResourcesRecord(o),g=p.getDotDensityTextures(o,e,h.seed),x=1/2**(c-s.target.key.level),D=e,b=D*window.devicePixelRatio*D*window.devicePixelRatio,y=1/x*(1/x),R=h.dotScale?r.state.scale/h.dotScale:1,S=h.dotValue*R*y;u.setShader({shader:this.shaders.polygon,uniforms:{...l(r,s.target),instance:{isActive:h.isActive,colors:h.colors,dotValue:Math.max(1,S)},draw:{tileZoomFactor:x,pixelRatio:window.devicePixelRatio,tileDotsOverArea:b/(e*window.devicePixelRatio*e*window.devicePixelRatio)}},textures:{...a(r),drawTextures:{dotTexture0:{unit:i,texture:g[0]},dotTexture1:{unit:t,texture:g[1]}}},defines:{...n(r),blending:h.blending},optionalAttributes:{},useComputeBuffer:!1});const v=o.getViewport();o.setViewport(0,0,e,e);const P=o.boundFramebuffer,_=p.getFBO(o);o.bindFramebuffer(_),o.setClearColor(0,0,0,0),o.clear(16384),u.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),u.updatePipelineState(o),u.submitDraw(r,s),o.bindFramebuffer(P),o.setViewport(v.x,v.y,v.width,v.height);const j=p.getFBO(o).colorTexture,C={shader:this.shaders.point,uniforms:{tileContainer:f(r),tile:m(r.tilingScheme,s.target),view:w(r),instance:{dotSize:h.dotSize},draw:{tileZoomFactor:1,pixelRatio:window.devicePixelRatio}},textures:{drawLocations:{unit:i,texture:j}},defines:{...n(r)},optionalAttributes:{},useComputeBuffer:!1};u.setPipelineState(d(r)),u.submitDrawMesh(o,C,p.getDotDensityMesh(o),{stencilRef:s.getStencilReference()})}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e)}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new h,this._resources.set(e,t)),t}}export{g as DotDensityTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GaussianBlurShader as i}from"../shaders/BlurShader.js";import{DropShadowCompositeShader as o}from"../shaders/DropShadowShader.js";import{
|
|
2
|
+
import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GaussianBlurShader as i}from"../shaders/BlurShader.js";import{DropShadowCompositeShader as o}from"../shaders/DropShadowShader.js";import{getViewUniforms as u}from"../shaders/ViewInfo.js";import{DisposableFramebufferObject as a}from"../../../../../../webgl/FramebufferObject.js";import l from"../../../../../../webgl/Texture.js";import{TextureDescriptor as n}from"../../../../../../webgl/TextureDescriptor.js";const h=[1,0],B=[0,1];class c extends s{constructor(){super(...arguments),this.type=13,this._layerFBOTexture=null,this._horizontalBlurFBO=null,this._verticalBlurFBO=null,this._size=[0,0],this.shaders={gaussianBlur:new i,composite:new o}}shutdown(){super.shutdown(),this._horizontalBlurFBO=e(this._horizontalBlurFBO),this._verticalBlurFBO=e(this._verticalBlurFBO),this._layerFBOTexture=e(this._layerFBOTexture)}render(e,s){const{context:i,painter:o}=e,{layerFBO:a}=s,l=a.width,n=a.height,c=[Math.round(l),Math.round(n)],{blurRadius:f,offsetX:m,offsetY:d,color:p}=s.effect,F=[t(m),t(d)];this._createOrResizeResources(e,l,n,c);const w=this._horizontalBlurFBO,x=this._verticalBlurFBO,_={color:{write:[!0,!0,!0,!0],blendMode:"none"},depth:{write:!1,test:!1},stencil:{write:{mask:0},test:!1}};o.setPipelineState(_);const O=this._layerFBOTexture;a.copyToTexture(0,0,l,n,0,0,O),i.setViewport(0,0,c[0],c[1]),i.bindFramebuffer(w),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:h,sigma:f}},textures:{texture:{texture:a.colorTexture,unit:4}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(x),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:B,sigma:f}},textures:{texture:{texture:w?.colorTexture,unit:5}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(a),i.setViewport(0,0,l,n),o.submitDrawMesh(i,{shader:this.shaders.composite,uniforms:{view:u(e),compositeConfig:{shadowColor:[p[3]*(p[0]/255),p[3]*(p[1]/255),p[3]*(p[2]/255),p[3]],shadowOffset:F}},textures:{blurTexture:{texture:x?.colorTexture,unit:2},layerFBOTexture:{texture:O,unit:3}},defines:null,optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),o.setPipelineState({...r,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1}})}_createOrResizeResources(e,t,r,s){const{context:i}=e;if(!this._horizontalBlurFBO||this._size[0]!==t||this._size[1]!==r){if(this._size[0]=t,this._size[1]=r,this._horizontalBlurFBO)this._horizontalBlurFBO.resize(s[0],s[1]);else{const e=new n(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._horizontalBlurFBO=new a(i,e)}if(this._verticalBlurFBO)this._verticalBlurFBO.resize(s[0],s[1]);else{const e=new n(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._verticalBlurFBO=new a(i,e)}if(this._layerFBOTexture)this._layerFBOTexture.resize(t,r);else{const e=new n(t,r);e.internalFormat=6408,e.wrapMode=33071,this._layerFBOTexture=new l(i,e)}}}}export{c as DropShadowTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{maxRepresentableInt as t,tileSize as e}from"../../definitions.js";import{getTileUniforms as i}from"./shaders/Tile.js";import{getTileContainerUniforms as n}from"./shaders/TileInfo.js";import{getViewUniforms as o}from"./shaders/ViewInfo.js";const s={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},r={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},l={...s,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function c(t){return"highlight"===t.passOptions?.type}function a(t){return"hittest"===t.passOptions?.type}function u(t){if(!a(t))return null;const{position:e,distance:i,smallSymbolDistance:n,smallSymbolSizeThreshold:o,tlbr:s}=t.passOptions;return{position:e,distance:i,smallSymbolDistance:n,smallSymbolSizeThreshold:o,tlbr:s}}function f(t){if(!c(t))return null;const{activeReasons:e,highlightAll:i}=t.passOptions;return{activeReasons:e,highlightAll:i?1:0}}function p(t,e,i){const n={};for(const o in i)"function"!=typeof i[o]?n[o]=i[o]:n[o]=i[o](t,e);return n}function h(t,e){return{storage:t.attributeView.getUniforms(),view:o(t),tileContainer:n(t),tile:i(t.tilingScheme,e),hittestRequest:u(t),highlight:f(t)}}function m(t){return t.attributeView.getTextures(t.context)}function d(t){return{storageTextures:m(t)}}function g(t){return{inside:2===t.selection,outside:3===t.selection}}function b(t){return a(t)?r:c(t)&&"clear"===t.passOptions.stepType?l:s}function w(i){const{row:n,col:o}=i.key,s=o*e,r=n*e;return{tileOffsetFromLocalOrigin:[s%t,r%t],maxIntsToLocalOrigin:[Math.floor(s/t),Math.floor(r/t)]}}export{b as getFeaturePipelineState,m as getFeatureStorageTextures,d as getFeatureTextures,h as getFeatureUniforms,w as getLocalTileOffset,g as getSelectionDefines,c as isHighlight,a as isHittest,p as resolveDynamicUniforms};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as a,resolveDynamicUniforms as o,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexOutlineFillShader as n}from"../shaders/ComplexOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=11,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,f.uniforms),...a(e,n.target),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:i(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexOutlineFillTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{AFillMeshWriter as t}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as o}from"./meshWriterUtils.js";import{DataType as r}from"../../../../../../webgl/enums.js";const
|
|
2
|
+
import{AFillMeshWriter as t}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as o}from"./meshWriterUtils.js";import{DataType as r}from"../../../../../../webgl/enums.js";const a={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:r.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>o(t,e)}},attributes:{id:{type:r.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:r.UNSIGNED_BYTE,count:1},pos:{type:r.SHORT,count:2,pack:"position",packPrecisionFactor:10},color:{type:r.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>e(t)}}};class i extends t{constructor(){super(...arguments),this.vertexSpec=a}get _effectRotation(){const{effectRotation:t,effectRotationType:e,viewRotation:o}=this.evaluatedMeshParams;return null==t&&null==o?null:{value:t,type:e,viewRotation:o}}createTesselationParams(t){return null}}export{i as FillMeshWriter,a as fillVertexSpec};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{CIMSymbolUnits as t}from"../../../../../../../symbols/cim/types.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as l}from"./meshWriterUtils.js";import{DataType as c}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=l(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=l(o.isDiscrete)),i}},tlbr:{count:4,type:c.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:c.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _preventEffectClipping(){return!0}createTesselationParams(t){return{gradientStats:n(this._unclippedGeometry,this.evaluatedMeshParams)}}_write(t,{target:e,effectGeometry:r}){const i=r?.asOptimized()??e.readGeometryForDisplay();this._unclippedGeometry=i;const s=this._clip(i);if(!s)return void(this._unclippedGeometry=null);const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),this._unclippedGeometry=null,t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
|
|
2
|
+
import{CIMSymbolUnits as t}from"../../../../../../../symbols/cim/types.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as l}from"./meshWriterUtils.js";import{DataType as c}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=l(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=l(o.isDiscrete)),i}},tlbr:{count:4,type:c.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:c.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _effectRotation(){const{effectRotation:t,effectRotationType:e,viewRotation:r}=this.evaluatedMeshParams;return null==t&&null==r?null:{value:t,type:e,viewRotation:r}}get _preventEffectClipping(){return!0}createTesselationParams(t){return{gradientStats:n(this._unclippedGeometry,this.evaluatedMeshParams)}}_write(t,{target:e,effectGeometry:r}){const i=r?.asOptimized()??e.readGeometryForDisplay();this._unclippedGeometry=i;const s=this._clip(i);if(!s)return void(this._unclippedGeometry=null);const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),this._unclippedGeometry=null,t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{OutlineFillShader as a}from"../shaders/OutlineFillShader.js";class u extends e{constructor(){super(...arguments),this.type=26,this.shaders={geometry:new a}}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e,a.target)},textures:s(e),defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as OutlineFillTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternOutlineFillShader as u}from"../shaders/PatternOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e,u.target),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:a(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternOutlineFillTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{getValue as e,getEndValue as s}from"../../../../flow/animatedValues.js";import{longSafetyTime as t}from"../../../../flow/utils.js";import{Technique as r}from"../Technique.js";import{
|
|
2
|
+
import{getValue as e,getEndValue as s}from"../../../../flow/animatedValues.js";import{longSafetyTime as t}from"../../../../flow/utils.js";import{Technique as r}from"../Technique.js";import{getViewUniforms as i}from"../shaders/ViewInfo.js";import{FlowImageryShader as a}from"../shaders/flow/FlowImageryShader.js";import{FlowParticlesShader as o}from"../shaders/flow/FlowParticlesShader.js";import{FlowStreamlinesShader as n}from"../shaders/flow/FlowStreamlinesShader.js";class c extends r{constructor(){super(...arguments),this.type=14,this.drawPhase=1,this.shaders={imagery:new a,particles:new o,streamlines:new n}}render(e,s){const{painter:t}=e;t.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7680},mask:255}}}),this._renderResource(e,s.item.resources,this._createVisualState(e,s))}_renderResource(e,s,t){switch(s.kind){case"stack":return void this._renderStackResources(e,s,t);case"imagery":return void this._renderImageryResources(e,s,t);case"particles":return void this._renderParticlesResources(e,s,t);case"streamlines":return void this._renderStreamlinesResources(e,s,t)}}_createVisualState(r,a){const{item:o,localToScreenMat3:n}=a,c=r.time/1e3;return{time:r.animationsEnabled?c:t,view:i(r),localToScreenMat3:n,displayOpacity:r.animationsEnabled?e(o.displayOpacity,c):s(o.displayOpacity),startTime:o.startTime,endTime:o.endTime}}_renderStackResources(e,s,t){for(const r of s.resources)this._renderResource(e,r,t)}_renderImageryResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.imagery,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderParticlesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.particles,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderStreamlinesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.streamlines,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}}export{c as FlowTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as a,isHighlight as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as a,isHighlight as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class u extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new p},this.symbologyPlane=1}_getShaderOptions(e,o,n){const{painter:p}=e,u=o.instance.getInput();return{shader:this.shaders.geometry,uniforms:{...a(e,o.target,u.uniforms),...i(e,o.target),mosaicInfo:p.textureManager.getMosaicInfo(e,o.textureKey),technique:{isColorPass:n}},textures:{...r(e),mosaicTexture:p.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...s(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}}render(e,s){const{painter:r}=e;if(t(e)||o(e)){const t=n(e);return r.setPipelineState(t),r.setShader(this._getShaderOptions(e,s,1)),void r.submitDraw(e,s)}e.context.setClearDepth(1),e.context.clear(256);const i={color:!1,depth:{write:{zNear:0,zFar:1},test:513},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,0)),r.setPipelineState(i),r.submitDraw(e,s);const a={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:{write:!1,test:515},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,1)),r.setPipelineState(a),r.submitDraw(e,s)}}export{u as GradientStrokeTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{thinLineHalfWidthThreshold as s}from"../../../definitions.js";import{LineTessellation as i}from"../../../TurboLine.js";import{clipLinesMarshall as r}from"../../../mesh/templates/templateUtils.js";import{processLineCapInput as o,processLineJoinInput as n,packRounded as a,processColorInput as
|
|
2
|
+
import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{thinLineHalfWidthThreshold as s}from"../../../definitions.js";import{LineTessellation as i}from"../../../TurboLine.js";import{clipLinesMarshall as r}from"../../../mesh/templates/templateUtils.js";import{processLineCapInput as o,processLineJoinInput as n,packRounded as a,processColorInput as c,getMinMaxZoom as h}from"../fill/meshWriterUtils.js";import{MeshWriter as l}from"../mesh/MeshWriter.js";import{getLineClippingMargin as m}from"../mesh/utils.js";import{DataType as u}from"../../../../../../webgl/enums.js";class f{constructor(){this.extrusionOffsetX=0,this.extrusionOffsetY=0,this.normalX=0,this.normalY=0,this.directionX=0,this.directionY=0,this.distance=0,this.pathLength=0,this.distanceOffset=0,this.lineLength=0}}const p={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:u.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>h(t,e)}},attributes:{id:{type:u.UNSIGNED_BYTE,count:3,pack:"id"},pos:{type:u.SHORT,count:2,pack:"position",packPrecisionFactor:10},bitset:{type:u.UNSIGNED_BYTE,count:1},color:{type:u.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>c(t)},offset:{type:u.BYTE,count:2,packPrecisionFactor:16,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e})=>[a(t,16),a(e,16)]},normal:{type:u.BYTE,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[a(t,16),a(e,16)]},halfWidth:{type:u.HALF_FLOAT,count:1,pack:({width:e})=>t(.5*e)},referenceHalfWidth:{type:u.HALF_FLOAT,count:1,pack:({referenceWidth:e})=>t(.5*e)}}};class d{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0,this.distanceOffset=0}}const _=65535;class x extends l{get _effectRotation(){const{effectRotation:t,effectRotationType:e,viewRotation:s}=this.evaluatedMeshParams;return null==t&&null==s?null:{value:t,type:e,viewRotation:s}}constructor(t,e,s,i){super(t,e,s,i),this.vertexSpec=p,this._currentWrite=new d,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:_,textured:!1},this._tessParams=new f,this._initializeTessellator()}writeLineVertices(t,e,s){const i=this._getLines(e);null!=i&&this._writeVertices(t,s,i)}_initializeTessellator(){this._lineTessellator=new i(this._writeTesselatedVertex.bind(this),this._writeTriangle.bind(this),!0)}_write(t,{target:s,effectGeometry:i}){const r=i??e.fromFeatureSetReaderCIM(s);r&&this._writeGeometry(t,s,r)}_writeGeometry(t,e,s,i){t.recordStart(this.instanceId,this.attributeLayout,i),this.writeLineVertices(t,s,e),t.recordEnd()}_getLines(t){return r(t,m(this.evaluatedMeshParams))}_writeVertices(e,i,r){const{_currentWrite:a,_tessellationOptions:c,evaluatedMeshParams:h}=this,{width:l,capType:m,joinType:u,miterLimit:f,hasSizeVV:p}=h,d=t(.5*l);c.halfWidth=d,c.capType=o(m),c.joinType=n(u),c.miterLimit=f;const x=!p;a.out=e,a.id=i.getDisplayId(),a.vertexCount=0,a.indexCount=0,a.vertexFrom=e.vertexCount(),a.vertexBounds=x&&d<s?0:1;for(const{line:t,start:s,pathLength:o}of r)c.initialDistance=s%_,a.pathLength=o,a.distanceOffset=Math.floor(s/_)*_,this._lineTessellator.tessellate(t,c,x)}_writeTesselatedVertex(t,e,s,i,r,o,n,a,c,h,l){const{out:m,id:u,vertexBounds:f,pathLength:p,distanceOffset:d}=this._currentWrite;return this.hasEffects&&m.recordBounds(t,e,f,f),this._tessParams.extrusionOffsetX=n,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=c,this._tessParams.normalY=h,this._tessParams.directionX=r,this._tessParams.directionY=o,this._tessParams.distance=l,this._tessParams.pathLength=p,this._tessParams.distanceOffset=d,this._writeVertex(m,u,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{x as LineMeshWriter,f as LineTessellationParams,p as LineVertexSpec};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{LineShader as a}from"../shaders/LineShader.js";class u extends e{constructor(){super(...arguments),this.type=21,this.shaders={geometry:new a},this.symbologyPlane=1}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e,a.target)},textures:r(e),defines:{...s(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as LineTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{TexturedLineShader as n}from"../shaders/TexturedLineShader.js";class u extends e{constructor(){super(...arguments),this.type=33,this.shaders={geometry:new n},this.symbologyPlane=1}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e,n.target),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as TexturedLineTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t,__param as e}from"tslib";import{location as i,option as o,uniform as s,texture as l,input as r,ComputeVertexInput as a}from"../../GraphShaderModule.js";import{Vec4 as
|
|
2
|
+
import{__decorate as t,__param as e}from"tslib";import{location as i,option as o,uniform as s,texture as l,input as r,ComputeVertexInput as a}from"../../GraphShaderModule.js";import{Vec4 as n,Vec2 as p,Float as u,Sampler2D as d,Vec3 as m,min as h,max as y,Mat3 as c,ifElse as x,lessThan as V,equal as w,texture2D as v,clamp as f,abs as g,mix as S,distance as b,greaterThan as C,negate as z}from"../../graph/glsl.js";import{MarkerConstants as M}from"./markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as R,FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{c256ToRad as U,softEdgeRatio as F,trueHit as T,noHit as D}from"../shaders/constants.js";import{isRectHittest as N,hittestMarkerScreenRect as q,distPointTriangle as O,xyToBarycentric as k,inTriangle as A}from"../shaders/hittestUtils.js";import{MosaicInfo as P}from"../shaders/MosaicInfo.js";import{getBit as I,getBitBool as H,rgba2float as G}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as B}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as E}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as J}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as K}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as W}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as X,getVisualVariableColor as Y,getVisualVariableSize as Z,getVisualVariableRotation as $}from"../shaders/vvUtils.js";class tt extends _{}t([i(3,n)],tt.prototype,"color",void 0),t([i(4,n)],tt.prototype,"outlineColor",void 0),t([i(5,p)],tt.prototype,"offset",void 0),t([i(6,p)],tt.prototype,"textureUV",void 0),t([i(7,n)],tt.prototype,"sizing",void 0),t([i(8,u)],tt.prototype,"placementAngle",void 0),t([i(9,u)],tt.prototype,"sdfDecodeCoeff",void 0),t([i(10,p)],tt.prototype,"zoomRange",void 0);class et extends a{}t([i(11,p)],et.prototype,"offsetNextVertex1",void 0),t([i(12,p)],et.prototype,"offsetNextVertex2",void 0),t([i(13,p)],et.prototype,"textureUVNextVertex1",void 0),t([i(14,p)],et.prototype,"textureUVNextVertex2",void 0);class it extends j{}function ot(t,e,i,o){return e.multiply(t.x).add(i.multiply(t.y)).add(o.multiply(t.z))}function st(t){return t.multiply(t).divide(128)}class lt extends R{constructor(){super(...arguments),this.type="MarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],textureUV:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=st(t.sizing.x),o=st(t.sizing.y),s=st(t.sizing.z),l=t.placementAngle,r=I(t.bitset,M.bitset.isSDF),a=I(t.bitset,M.bitset.isMapAligned),p=I(t.bitset,M.bitset.scaleSymbolsProportionally),d=H(t.bitset,M.bitset.colorLocked),x=X(this,t.id),V=Y(this,t.id,t.color,d).multiply(x),w=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new m(t.pos.xy,1)),v=Z(this,t.id,s).divide(s),f=i.multiply(v),g=t.offset.xy.multiply(v);let S=o.multiply(p.multiply(v.subtract(1)).add(1));S=h(S,y(f.subtract(.99),new u(0)));const b=y(S,new u(1)),C=h(S,new u(1)),z=c.fromRotation(l.multiply(U)),_=$(this,t.id),R=this._getViewRotationMatrix(a).multiply(_).multiply(z).multiply(new m(g.xy,0)).multiply(this.tileContainer.scaleFactor),j=this.clip(t.id,t.zoomRange),F=new n(w.xy.add(R.xy),j,1),T=t.textureUV.divide(this.mosaicInfo.size),D=t.outlineColor.multiply(C),N=I(t.bitset,M.bitset.overrideOutlineColor),q=t.sdfDecodeCoeff.multiply(f);return{glPosition:F,color:V,textureUV:T,outlineColor:D,outlineSize:b,distanceToPx:q,isSDF:r,overrideOutlineColor:N,...this.maybeRunHittest(t,e,{pos:t.pos,size:f,sizeCorrection:v,scaleFactor:this.tileContainer.scaleFactor,isMapAligned:a,vvRotationMat3:_,placementMat3:z,outlineSize:b,distanceToPx:q,isSDF:r})}}fragment(t){const e=this._getColor(t.textureUV,t);return this.getFragmentOutput(e,t)}hittest(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=N(this.hittestRequest);return x(r,()=>{const{tlbr:t}=this.hittestRequest;return q(o,s,l,t)},()=>x(V(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i)))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getViewScreenMatrix(t){const e=this.tile.getTileMat3(this.view,this.tileContainer),i=this.view.viewMat3.multiply(e),o=e,s=new u(1).subtract(t);return i.multiply(t).add(o.multiply(s))}_getColor(t,e){return x(w(e.isSDF,new u(1)),this._getSDFColor(t,e),this._getSpriteColor(t,e))}_getSpriteColor(t,e){return v(this.mosaicTexture,t).multiply(e.color)}_getSDFColor(t,e){const i=v(this.mosaicTexture,t),o=new u(.5).subtract(G(i)).multiply(e.distanceToPx).multiply(F),s=f(new u(.5).subtract(o),new u(0),new u(1)),l=e.color.multiply(s);let r=e.outlineSize;this.highlight&&(r=y(r,e.overrideOutlineColor.multiply(4)));const a=r.multiply(.5),n=g(o).subtract(a),p=f(new u(.5).subtract(n),new u(0),new u(1)),d=S(e.outlineColor,e.color,e.overrideOutlineColor).multiply(p);return new u(1).subtract(d.a).multiply(l).add(d)}_hittestSmallMarker(t,e,i){const{position:o,distance:s,smallSymbolDistance:l}=this.hittestRequest,r=s.subtract(l),a=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new m(i.pos,1)).xy,n=i.size.multiply(.5),p=b(a,o).subtract(n).add(r);return x(C(p,this.hittestRequest.distance),new u(D),new u(T))}_hittestMarker(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=this.hittestRequest.position,a=this.hittestRequest.distance,n=O(r,o,s,l);return x(C(n,a),new u(D),this._hittestSamples(o,s,l,t,e,i))}computeHittestTriangle(t,e,i){const{pos:o,sizeCorrection:s,scaleFactor:l,isMapAligned:r}=i,a=new m(t.offset.multiply(s).multiply(l),0),n=new m(e.offsetNextVertex1.multiply(s).multiply(l),0),p=new m(e.offsetNextVertex2.multiply(s).multiply(l),0),u=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new m(o,1)),d=this._getViewScreenMatrix(r).multiply(i.vvRotationMat3).multiply(i.placementMat3);return{pos0:u.add(d.multiply(a)).xy,pos1:u.add(d.multiply(n)).xy,pos2:u.add(d.multiply(p)).xy}}_hittestSamples(t,e,i,o,s,l){const{outlineSize:r,isSDF:a,distanceToPx:d}=l,m=this.hittestRequest.position,h=this.hittestRequest.distance,y=k(m.add(new p(z(h),z(h))),t,e,i),c=k(m.add(new p(0,z(h))),t,e,i),V=k(m.add(new p(h,z(h))),t,e,i),w=k(m.add(new p(z(h),0)),t,e,i),v=k(m,t,e,i),f=k(m.add(new p(h,0)),t,e,i),g=k(m.add(new p(z(h),h)),t,e,i),S=k(m.add(new p(0,h)),t,e,i),b=k(m.add(new p(h,h)),t,e,i),M=o.textureUV.divide(this.mosaicInfo.size),_=s.textureUVNextVertex1.divide(this.mosaicInfo.size),R=s.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new n(1),outlineColor:new n(1),overrideOutlineColor:new u(1),outlineSize:r,distanceToPx:d,isSDF:a};let U=new u(0);return U=U.add(A(y).multiply(this._getColor(ot(y,M,_,R),j).a)),U=U.add(A(c).multiply(this._getColor(ot(c,M,_,R),j).a)),U=U.add(A(V).multiply(this._getColor(ot(V,M,_,R),j).a)),U=U.add(A(w).multiply(this._getColor(ot(w,M,_,R),j).a)),U=U.add(A(v).multiply(this._getColor(ot(v,M,_,R),j).a)),U=U.add(A(f).multiply(this._getColor(ot(f,M,_,R),j).a)),U=U.add(A(g).multiply(this._getColor(ot(g,M,_,R),j).a)),U=U.add(A(S).multiply(this._getColor(ot(S,M,_,R),j).a)),U=U.add(A(b).multiply(this._getColor(ot(b,M,_,R),j).a)),x(C(U,new u(.05)),new u(T),new u(D))}}t([o(L)],lt.prototype,"visualVariableColor",void 0),t([o(B)],lt.prototype,"visualVariableOpacity",void 0),t([o(E)],lt.prototype,"visualVariableRotation",void 0),t([o(J)],lt.prototype,"visualVariableSizeMinMaxValue",void 0),t([o(K)],lt.prototype,"visualVariableSizeScaleStops",void 0),t([o(Q)],lt.prototype,"visualVariableSizeStops",void 0),t([o(W)],lt.prototype,"visualVariableSizeUnitValue",void 0),t([s(P)],lt.prototype,"mosaicInfo",void 0),t([l(d)],lt.prototype,"mosaicTexture",void 0),t([e(0,r(tt)),e(1,r(et))],lt.prototype,"vertex",null),t([e(0,r(it))],lt.prototype,"fragment",null);export{it as MarkerFragmentInput,lt as MarkerShader,tt as MarkerVertexInput};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{loadGeometryOperatorsForEffect as t,loadGeometryOperatorsForPlacement as
|
|
2
|
+
import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{loadGeometryOperatorsForEffect as t,loadGeometryOperatorsForPlacement as s}from"../../../../../../../symbols/cim/CIMEffects.js";import{getEffectsInflateSize as r}from"../../../../../../../symbols/cim/utils.js";import{EffectHelper as a}from"../../../../../../../symbols/cim/effects/EffectHelper.js";import{MeshWriterVertexPack as i}from"./MeshWriterVertexPack.js";const n=96/72;class c{constructor(e,t,s,r){this._instanceId=e,this._evaluator=t,this._enabledOptionalAttributes=s,this._viewParams=r,this._evaluator.evaluator=e=>this.vertexSpec.createComputedParams(e)}get _vertexPack(){if(!this._cachedVertexPack){const e=i.fromVertexSpec(this.vertexSpec,this._enabledOptionalAttributes);this._evaluator.hasDynamicProperties||e.pack(this._evaluator.evaluatedMeshParams,this._viewParams),this._cachedVertexPack=e}return this._cachedVertexPack}get evaluatedMeshParams(){return this._evaluator.evaluatedMeshParams}get hasEffects(){return!!this.evaluatedMeshParams.effects}get effectInfos(){return this._evaluator.inputMeshParams.effects?.effectInfos}get placementInfo(){return this._evaluator.inputMeshParams.placement}get instanceId(){return this._instanceId}get attributeLayout(){return this._vertexPack.attributeLayout}get _preventEffectClipping(){return!1}get _effectRotation(){return null}setReferences(e){this._references=e}getBoundsInfo(){return null}getTileInfo(){return this._viewParams.tileInfo}async loadDependencies(){for(const{effect:e}of this.effectInfos||[])await t(e);this.placementInfo&&await s(this.placementInfo.placement)}enqueueRequest(e,t,s){this._evaluator.hasDynamicProperties&&this._evaluator.enqueueRequest(e,t,s)}write(e,t,s,r,a,i,n,c){this.ensurePacked(t,s,r);const o=e.id||"",h=this.evaluatedMeshParams.effects,u=this._createEffectExecutionContext(s,r,o,n,c),f={target:s,options:r,level:a,viewExtent:i};if(!h||0===h.length)return void this._write(e,f);const l=this.getEffectCursor(s,h,u);if(!l)return;let m;for(;m=l.next();)m.invertY(),this._write(e,{...f,effectGeometry:m,scaleFactor:n})}ensurePacked(e,t,s){if(!this._evaluator.hasDynamicProperties)return;const r=this._evaluator.evaluateMeshParams(e,t,s);this._vertexPack.pack(r,this._viewParams)}hasArcadeDependency(e){return this._evaluator.hasArcadeDependency(e)}_writeVertex(e,t,s,r,a){const i=this.evaluatedMeshParams;this._vertexPack.writeVertex(e,t,s,r,i,a)}_createEffectExecutionContext(e,t,s,a,i){return{geomUnitsPerPoint:n,maxInflateSize:r(this.evaluatedMeshParams.effects),scale:t.$view.scale,spatialReference:e.metadata.outSpatialReference??e.metadata.spatialReference,preventClipping:this._preventEffectClipping,tileKey:s,scaleFactor:a,matcher:i,target:e}}getEffectCursor(t,s,r){null==r.scaleFactor&&(r={...r,scaleFactor:1});const i=t.readGeometryForDisplay()?.clone();if(!i)return;const n=e.fromOptimizedCIM(i,t.geometryType);n.invertY();const c=a.executeEffects(s,n,r),h=this._effectRotation,u=h?.value,f=h?.viewRotation;if("esriGeometryPoint"!==t.geometryType||(null==u||isNaN(u))&&(null==f||isNaN(f)))return c;if(n.reset(),!n.nextPath()||!n.nextPoint())return c;const l=n.x,m=n.y;n.reset();const _=(null==u||isNaN(u)?0:"arithmetic"===h?.type?90-u:u)+(null==f||isNaN(f)?0:-f);return 0===_?c:new o(c,l,m,-_*Math.PI/180)}}class o{constructor(e,t,s,r){this._cursor=e,this._centerX=t,this._centerY=s,this._cos=Math.cos(r),this._sin=Math.sin(r)}next(){const e=this._cursor.next();if(!e)return null;const t=e.clone();for(;t.nextPath();)for(;t.nextPoint();){const e=t.x-this._centerX,s=t.y-this._centerY;t.x=this._centerX+e*this._cos-s*this._sin,t.y=this._centerY+e*this._sin+s*this._cos}return t.reset(),t}}export{c as MeshWriter};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as s}from"../../utils.js";import{Technique as i}from"../Technique.js";import{OverlayShader as r}from"../shaders/OverlayShader.js";import{PrimitiveType as n,DataType as
|
|
2
|
+
import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as s}from"../../utils.js";import{Technique as i}from"../Technique.js";import{OverlayShader as r}from"../shaders/OverlayShader.js";import{getViewUniforms as o}from"../shaders/ViewInfo.js";import{PrimitiveType as n,DataType as a}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as u}from"../../../../../../webgl/VertexElementDescriptor.js";class h extends i{constructor(){super(...arguments),this.type=27,this._mesh=null,this.shaders={overlay:new r}}render(e,t){const{context:i,painter:r}=e,n=this._getMesh(e,t);r.setPipelineState(s);const{isWrapAround:a,wrapAroundShift:u,...h}=t.config,p={...h,wrapAroundShift:0},l={shader:this.shaders.overlay,uniforms:{view:o(e),config:p},textures:{texture:t.texture},defines:null,optionalAttributes:null,useComputeBuffer:!1};r.setPipelineState({...s,stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}}),r.submitDrawMeshUntyped(i,l,n,{stencilRef:0}),a&&(p.wrapAroundShift=u,r.submitDrawMeshUntyped(i,l,n,{stencilRef:0}))}shutdown(){e(this._mesh)}_getMesh(e,s){const{context:i}=e;if(this._mesh){const e=this._mesh.vertexBuffers.get("positions");if(!e)throw new Error("Buffer not found");e.setData(s.position)}else{const e=null!=s.index?s.index.length:s.position.length/2;this._mesh=new t(i,{vertex:{positions:{data:s.position,layout:[new u("pos",2,a.FLOAT,0,8)]},uvs:{data:s.tex,layout:[new u("uv",2,a.UNSIGNED_SHORT,0,4)]}},index:null!=s.index?{index:{data:s.index}}:void 0,groups:[{index:null!=s.index?"index":void 0,primitive:n.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:e}]})}return this._mesh}}export{h as OverlayTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t,__param as e}from"tslib";import{uniform as r,location as o,option as i,input as s,UniformGroup as l}from"../../GraphShaderModule.js";import{Float as a,FixedArray as n,Vec4 as u,Vec2 as d,Vec3 as c,Int as h,ifElse as p,greaterThan as m,or as w,max as y,lessThan as S,and as g,greaterThanEqual as b,equal as f,abs as x,length as
|
|
2
|
+
import{__decorate as t,__param as e}from"tslib";import{uniform as r,location as o,option as i,input as s,UniformGroup as l}from"../../GraphShaderModule.js";import{Float as a,FixedArray as n,Vec4 as u,Vec2 as d,Vec3 as c,Int as h,ifElse as p,greaterThan as m,or as w,max as y,lessThan as S,and as g,greaterThanEqual as b,equal as f,abs as x,length as V,smoothstep as v,mix as C,step as _,not as A,mod as z,atan2 as T,min as R,clamp as D,lessThanEqual as j,distance as M}from"../../graph/glsl.js";import{FeatureVertexInput as O,AFeatureShader as F,FeatureFragmentInput as I}from"../shaders/AFeatureShader.js";import{bitsetMarkerScaleSymbolsProportionally as q,bitsetMarkerAlignmentMap as W,noHit as U,trueHit as P,epsilon as G,cRadToDeg as H}from"../shaders/constants.js";import{hittestMarker as k,isRectHittest as B}from"../shaders/hittestUtils.js";import{getBit as E,isNan as J}from"../shaders/utils.js";import{VisualVariableOpacity as K}from"../shaders/VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as L}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as N}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as X}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as Y,getVisualVariableSize as Z}from"../shaders/vvUtils.js";const $=10;class tt extends l{}t([r(a)],tt.prototype,"outlineWidth",void 0),t([r(n.ofType(u,$))],tt.prototype,"colors",void 0),t([r(u)],tt.prototype,"defaultColor",void 0),t([r(u)],tt.prototype,"othersColor",void 0),t([r(u)],tt.prototype,"outlineColor",void 0),t([r(a)],tt.prototype,"donutRatio",void 0),t([r(a)],tt.prototype,"sectorThreshold",void 0),t([r(a)],tt.prototype,"fieldCount",void 0);class et extends O{}t([o(3,d)],et.prototype,"offset",void 0),t([o(4,d)],et.prototype,"texCoords",void 0),t([o(5,a)],et.prototype,"referenceSize",void 0),t([o(6,d)],et.prototype,"zoomRange",void 0);class rt extends I{}class ot extends F{constructor(){super(...arguments),this.type="PieChartShader"}vertex(t){const e=Y(this,t.id),r=Z(this,t.id,t.referenceSize).divide(t.referenceSize),o=t.referenceSize.multiply(.5).multiply(r),i=t.offset.multiply(r),s=E(t.bitset,q),l=this.chart.outlineWidth.multiply(s.multiply(r.subtract(1)).add(1)),p=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new c(t.pos,1)),m=this._getViewRotationMatrix(E(t.bitset,W)).multiply(new c(i,0)),w=new u(p.xy.add(m.xy),this.clip(t.id,t.zoomRange),1),y=null==this.hittestRequest?this._getSectorData(t.id):{filteredSectorToColorId:new n(new d(0),$),numberOfFilteredSectors:new h(0),maxSectorAngle:new a(0)};return{glPosition:w,color:new u(0),offset:t.texCoords.multiply(2).subtract(1),size:o,outlineWidth:l,opacity:e,filteredSectorToColorId:y.filteredSectorToColorId,numberOfFilteredSectors:y.numberOfFilteredSectors,maxSectorAngle:y.maxSectorAngle,...this.maybeRunHittest(t,{},o)}}fragment(t){return this.getFragmentOutput(null!=this.hittestRequest?new u(0):this._getColor(t),t)}hittest(t,e,r){const o=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new c(t.pos,1)).xy;return p(B(this.hittestRequest),this._hittestScreenRect(o,r),p(m(k(o,r,this.hittestRequest.position),this.hittestRequest.distance),new a(U),new a(P)))}_getColor(t){const e=this._getAngle(t.offset),r=m(this.chart.sectorThreshold,new a(0));let o=p(w(m(t.maxSectorAngle,new a(0)),r),this.chart.othersColor,this.chart.defaultColor);const i=y(t.numberOfFilteredSectors.subtract(1),new h(0)),s=this._getSectorColor(t.filteredSectorToColorId,i),l=this._getSectorColor(t.filteredSectorToColorId,0),n=m(t.numberOfFilteredSectors,new h(0));let u=p(n,s,o),d=p(n,l,o),c=p(n,t.maxSectorAngle,new a(0)),_=p(n,new a(360),new a(0));const A=S(e,t.maxSectorAngle),z=g(r,S(t.maxSectorAngle.add(new a(G)),new a(360)));let T=new a(0);for(let w=0;w<$;w++){const r=t.filteredSectorToColorId.get(w).x,i=S(new h(w),t.numberOfFilteredSectors),l=g(A,g(i,g(m(r,e),b(e,T)))),n=w>0?this._getSectorColor(t.filteredSectorToColorId,w-1):s,y=p(S(new h(w+1),t.numberOfFilteredSectors),new h(w+1),new h(0)),V=this._getSectorColor(t.filteredSectorToColorId,y),v=p(g(z,f(new a(w),new a(0))),this.chart.othersColor,n),C=p(g(z,S(x(r.subtract(t.maxSectorAngle)),new a(G))),this.chart.othersColor,V);o=p(l,this._getSectorColor(t.filteredSectorToColorId,w),o),u=p(l,v,u),d=p(l,C,d),c=p(l,T,c),_=p(l,r,_),T=p(i,r,T)}const R=V(t.offset),D=R.multiply(t.size),j=new a(.75),M=e.subtract(c),O=_.subtract(e),F=v(j.multiply(-1),j,M.multiply(R)),I=v(j.multiply(-1),j,O.multiply(R));o=C(u,o,F).add(C(d,o,I)).subtract(o);const q=t.size.subtract(t.outlineWidth).subtract(j),W=this.chart.donutRatio.multiply(q),U=W.subtract(t.outlineWidth),P=p(m(U,j),v(U.subtract(j),U.add(j),D),new a(1)),H=new a(1).subtract(v(t.size.subtract(j.multiply(2)),t.size,D)),k=P.multiply(H),B=g(m(q,new a(0)),m(t.outlineWidth,new a(.25))),E=v(q.subtract(j),q.add(j),D),J=p(m(W,j),new a(1).subtract(v(W.subtract(j),W.add(j),D)),new a(0));return o=p(B,C(o,this.chart.outlineColor,J.add(E)),o),t.opacity.multiply(k).multiply(o)}_getSectorData(t){const e=this._getAttributeValues(t);let r=new a(0);for(let a=0;a<$;a++)r=r.add(e[a]);const o=this.chart.sectorThreshold.multiply(360);let i=new n(new d(0),$),s=new a(0),l=new h(0);for(let n=0;n<$;n++){const t=p(m(r,new a(0)),e[n].multiply(360).divide(r),new a(0)),u=p(m(t,o),new a(1),new a(0)),c=s.add(u.multiply(t)),w=new d(c,new a(n));i=i.set(l,w),s=c,l=l.add(new h(u))}return{filteredSectorToColorId:i,numberOfFilteredSectors:l,maxSectorAngle:s}}_getAttributeValues(t){const e=this.getAttributeDataCoords(t),r=this.storageTextures.getDataDrivenData0(e),o=this.storageTextures.getDataDrivenData1(e),i=this.storageTextures.getDataDrivenData2(e);return[this._getAttributeValue(r.x,0),this._getAttributeValue(r.y,1),this._getAttributeValue(r.z,2),this._getAttributeValue(r.w,3),this._getAttributeValue(o.x,4),this._getAttributeValue(o.y,5),this._getAttributeValue(o.z,6),this._getAttributeValue(o.w,7),this._getAttributeValue(i.x,8),this._getAttributeValue(i.y,9)]}_getAttributeValue(t,e){const r=_(new a(e+1),this.chart.fieldCount);return p(g(A(J(t)),m(t,new a(0))),t,new a(0)).multiply(r)}_getAngle(t){return z(new a(90).subtract(new a(H).multiply(T(t.y,t.x))),new a(360))}_getSectorColor(t,e){return this.chart.colors.get(new h(t.get(e).y))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,r=this.view.displayMat3,o=new a(1).subtract(t);return e.multiply(t).add(r.multiply(o))}_hittestScreenRect(t,e){const r=this.hittestRequest.tlbr.xy,o=this.hittestRequest.tlbr.zw,i=R(r.x,o.x),s=R(r.y,o.y),l=y(r.x,o.x),n=y(r.y,o.y),u=new d(D(t.x,i,l),D(t.y,s,n));return p(j(M(t,u),e),new a(1),new a(0))}}t([r(tt)],ot.prototype,"chart",void 0),t([i(K)],ot.prototype,"visualVariableOpacity",void 0),t([i(L)],ot.prototype,"visualVariableSizeMinMaxValue",void 0),t([i(N)],ot.prototype,"visualVariableSizeScaleStops",void 0),t([i(Q)],ot.prototype,"visualVariableSizeStops",void 0),t([i(X)],ot.prototype,"visualVariableSizeUnitValue",void 0),t([e(0,s(et))],ot.prototype,"vertex",null),t([e(0,s(rt))],ot.prototype,"fragment",null);export{ot as PieChartShader,et as PieChartVertexInput,$ as maxPieChartFields};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as r}from"./processor/textureUtils.js";import{
|
|
2
|
+
import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as r}from"./processor/textureUtils.js";import{getTileUniforms as s}from"../shaders/Tile.js";import{getTileContainerUniforms as o}from"../shaders/TileInfo.js";import{getViewUniforms as n}from"../shaders/ViewInfo.js";import{RasterColorizerLUTShader as a}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as u}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as c}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as m,PixelType as l}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as p}from"../../../../../../webgl/FramebufferObject.js";import h from"../../../../../../webgl/Texture.js";import{TextureDescriptor as d}from"../../../../../../webgl/TextureDescriptor.js";const f=160,x=new Set(["f32","f64","u16","s16","u32","s32"]);class g extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new a,stretch:new c,shadedRelief:new u},this._mosaicFbo=null,this._statisticsTechnique=null,this._draTimer=0}shutdown(t){super.shutdown(t),this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique)}render(t,i){const r=i.tiles.some(({bitmap:e})=>b(e));r||(this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique));const s=r?this._computeStatisticsTextures(t,i):void 0;for(const e of i.tiles){const{bitmap:i}=e;if(!i.source||i.suspended)continue;t.timeline.begin(this.name);const{painter:r}=t;r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}}),i.updateTexture(t),i.updateProcessedTexture();const{type:o}=i.symbolizerParameters,n="stretch"===o?this._getStretchOptions(t,e,s):"lut"===o?this._getLutOptions(t,e):this._getShadedReliefOptions(t,e);"bilinear"!==i.interpolation||t.context.capabilities.textureFloatLinear||(n.defines.bilinear=!0),r.submitDrawMesh(t.context,n,r.quadMesh,i),t.timeline.end(this.name)}}_computeStatisticsTextures(e,t){this._statisticsTechnique??=new i;const r=this._statisticsTechnique;let s=has("esri-2d-dra-delay");if(null==s){const e=t.tiles.find(({bitmap:e})=>b(e)).bitmap,{stretchType:i,bandCount:r}=e.symbolizerParameters,{pixelType:o}=e.source;"minMax"===i&&r>=3&&x.has(o)&&(s=f)}if(s){const i=performance.now();(i-this._draTimer>=s||e.stationary||!r.minValuesTexture)&&(this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo}),this._draTimer=i)}else this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo});return{minTexture:r.minValuesTexture,maxTexture:r.maxValuesTexture,meanTexture:r.meanValuesTexture,stddevTexture:r.stdDevValuesTexture}}_mosaic(e,t){const{context:i,painter:r}=e,s=i.boundFramebuffer;if(null==s)return;if(this._mosaicFbo)this._mosaicFbo.resize(s.width,s.height);else{const e=T(i,s.width,s.height);this._mosaicFbo=new p(i,e)}i.bindFramebuffer(this._mosaicFbo);const o="RasterColorizerMosaic";for(const n of t.tiles){const{bitmap:t}=n;if(!b(t))continue;e.timeline.begin(o),r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}});const i=t.interpolation;t.interpolation="nearest",t.updateTexture(e),t.updateProcessedTexture();const s=this._getStretchOptions(e,n,void 0,!0);s.defines.noOp=!0,r.submitDrawMesh(e.context,s,r.quadMesh,t),t.interpolation=i,e.timeline.end(o)}i.bindFramebuffer(s)}_getLutOptions(e,t){const{bitmap:i}=t,{config:a,projectionConfig:u,projectionTextures:c,colormapConfig:m,colormapTextures:l,textures:p,projectionDefines:h}=this._getCommonConfig(i),d=r(i);return{shader:this.shaders.lut,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:u,config:a,colormapConfig:m},textures:{...p,projectionTextures:c,colormapTextures:l},defines:{...h,...d,applyPixelMask:!!p.pixelMaskTexture,applyPixelHighlights:!!p.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getStretchOptions(e,t,i,a=!1){const{bitmap:u}=t,c=u.symbolizerParameters,{config:m,projectionConfig:l,projectionTextures:p,colormapConfig:h,colormapTextures:d,textures:f,projectionDefines:x,textureUnit:g}=this._getCommonConfig(u),T=r(u),b=i?{numberOfStandardDeviations:c.numberOfStandardDeviations||2}:void 0,_=i?{minTexture:{texture:i.minTexture,unit:g},maxTexture:{texture:i.maxTexture,unit:g+1},meanTexture:{texture:i.meanTexture,unit:g+2},stddevTexture:{texture:i.stddevTexture,unit:g+3}}:void 0,C=i?"standardDeviation"===c.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:l,config:m,stretchConfig:c,colormapConfig:h,statisticsConfig:b},textures:{...f,projectionTextures:p,colormapTextures:d,statisticsTextures:_},defines:{...x,...T,isMultiband:c.bandCount>1,applyColormap:!!h,useGamma:c.useGamma,noOp:u.isRenderedSource&&!u.processed,applyPixelMask:!!f.pixelMaskTexture,applyPixelHighlights:!a&&!!f.highlightTexture,draStretchType:C},optionalAttributes:null,useComputeBuffer:!1}}_getShadedReliefOptions(e,t){const{bitmap:i}=t,a=i.symbolizerParameters,{config:u,projectionConfig:c,projectionTextures:m,colormapConfig:l,colormapTextures:p,textures:h,projectionDefines:d}=this._getCommonConfig(i),f=r(i);return{shader:this.shaders.shadedRelief,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:c,config:u,hillshadeConfig:a,colormapConfig:l},textures:{...h,projectionTextures:m,colormapTextures:p},defines:{...d,...f,isMultidirectional:a.hillshadeType>0,applyColormap:!!l,applyPixelMask:!!h.pixelMaskTexture,applyPixelHighlights:!!h.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getCommonConfig(e){const{coordScale:t,computedOpacity:i}=e,{names:r,textures:s}=e.getTextures({useProcessedTexture:e.processed}),o=s[r.indexOf("u_image")];let n=0;const a={coordScale:t,srcImageSize:e.getRasterTextureSize(),opacity:i},u={texture:{texture:o,unit:n++},pixelMaskTexture:null,highlightTexture:null},c=s[r.indexOf("u_transformGrid")],{transformGrid:m}=e,l=!(!c||!m),p=l?{targetImageSize:[e.width,e.height],transformSpacing:m.spacing,transformGridSize:m.size}:void 0,h=l?{transformTexture:{texture:c,unit:n++}}:void 0,d=s[r.indexOf("u_colormap")],{colormap:f,colormapOffset:x}=e.symbolizerParameters,g=d&&f?{colormapOffset:x??0,colormapMaxIndex:f.length/4-1}:void 0,T=d&&f?{colormapTexture:{texture:d,unit:n++}}:void 0,b=s[r.indexOf("u_mask")];b&&(u.pixelMaskTexture={texture:b,unit:n++});const{highlightTexture:_}=e;_&&(u.highlightTexture={texture:_,unit:n++});return{config:a,projectionConfig:p,projectionTextures:h,colormapConfig:g,colormapTextures:T,textures:u,projectionDefines:{applyProjection:l,lookupProjection:l&&1===m.spacing[0]},textureUnit:n}}}function T(e,t,i){const r=new d(t,i);return r.internalFormat=m.RGBA32F,r.samplingMode=9728,r.dataType=l.FLOAT,r.wrapMode=33071,new h(e,r)}function b(e){return!e.suspended&&null!=e.source&&!e.isRenderedSource&&"stretch"===e.symbolizerParameters.type&&!!e.symbolizerParameters.dynamicRangeAdjustment}export{g as RasterColorizerTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{tileSize as e}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{getInterpolationDefines as i}from"./processor/textureUtils.js";import{RasterRangeHighlightShader as n}from"../shaders/raster/RasterRangeHighlightShader.js";import{RasterXYBandHighlightShader as r}from"../shaders/raster/RasterXYBandHighlightShader.js";import{SizedPixelFormat as o,PixelType as s}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as a}from"../../../../../../webgl/FramebufferObject.js";import g from"../../../../../../webgl/Texture.js";import{TextureDescriptor as h}from"../../../../../../webgl/TextureDescriptor.js";class u extends t{constructor(){super(...arguments),this.name="BrushRasterHighlight",this.type=2,this.shaders={range:new n,xyBand:new r}}shutdown(e){super.shutdown(e),this._fbo?.dispose(),this._fbo=void 0}_getBandIds(e,t){const{type:i}=e,n="xy-band"===i?e.bandIds:[e.bandId];return t?.length?n.map(e=>t.indexOf(e)):"xy-band"===i?[0,1]:[0]}_getSingleBandShaderOptions(e,t,n,r){const{config:o,projectionConfig:s,projectionTextures:a,textures:g,projectionDefines:h}=this._getCommonConfig(t),u=i(t,r),d={bandSwap:n,ranges:e.ranges,color:e.color};return{shader:this.shaders.range,uniforms:{projectionConfig:s,config:o,rangeHighlightConfig:d},textures:{...g,projectionTextures:a},defines:{...h,...u,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!g.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getXYBandShaderOptions(e,t,n,r,o){const{config:s,projectionConfig:a,projectionTextures:g,textures:h,projectionDefines:u}=this._getCommonConfig(t),d=i(t,r),p={bandSwap:n,xRange:e.xRange,yRange:e.yRange,color:e.color},c=o?{texture:o,unit:4}:void 0;return{shader:this.shaders.xyBand,uniforms:{projectionConfig:a,config:s,xyRangeHighlightConfig:p},textures:{...h,projectionTextures:g,xyMaskHighlightTexture:c},defines:{...u,...d,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!h.highlightTexture,useMask:!!c},optionalAttributes:null,useComputeBuffer:!1}}render(t,i){const{pixelHighlightOptions:n}=t;if(!n)return;const{context:r}=t;if(!this._fbo){const i=d(t.context,e,e);this._fbo=new a(r,i)}const{type:o}=n,s="xy-band"===o?p(t.context,n):void 0,g=r.boundFramebuffer,h=r.getViewport();for(const a of i.bitmaps){if(!a.source||a.highlighted||a.suspended||a.isRenderedSource)continue;const i=this._getBandIds(n,a.bandIds);if(i.some(e=>e<0||e>2))continue;t.timeline.begin(this.name);const{painter:g}=t;g.setPipelineState({depth:!1,stencil:{test:!1,write:!1},color:{write:[!0,!0,!0,!0],blendMode:"custom",blendParameters:{srcRGB:1,dstRGB:0,srcAlpha:1,dstAlpha:0},blendEquation:32774}}),a.updateTexture(t),a.updateProcessedTexture(!1);const h=new Float32Array(9);h[3*i[0]]=1,h[3*i[1]+1]="xy-band"===o?1:0;const u="single-band"===o?this._getSingleBandShaderOptions(n,a,h,r):this._getXYBandShaderOptions(n,a,h,r,s);r.bindFramebuffer(this._fbo),r.setViewport(0,0,e,e),g.submitDrawMesh(t.context,u,g.quadMesh);const p=d(t.context,e,e);this._fbo.copyToTexture(0,0,e,e,0,0,p),a.highlightTexture=p,t.timeline.end(this.name)}s?.dispose(),r.bindFramebuffer(g),r.setViewport(h.x,h.y,h.width,h.height)}_getCommonConfig(e){const{names:t,textures:i}=e.getTextures({forProcessing:!0,useProcessedTexture:e.processed}),n=i[t.indexOf("u_image")],r=
|
|
2
|
+
import{tileSize as e}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{getInterpolationDefines as i}from"./processor/textureUtils.js";import{RasterRangeHighlightShader as n}from"../shaders/raster/RasterRangeHighlightShader.js";import{RasterXYBandHighlightShader as r}from"../shaders/raster/RasterXYBandHighlightShader.js";import{SizedPixelFormat as o,PixelType as s}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as a}from"../../../../../../webgl/FramebufferObject.js";import g from"../../../../../../webgl/Texture.js";import{TextureDescriptor as h}from"../../../../../../webgl/TextureDescriptor.js";class u extends t{constructor(){super(...arguments),this.name="BrushRasterHighlight",this.type=2,this.shaders={range:new n,xyBand:new r}}shutdown(e){super.shutdown(e),this._fbo?.dispose(),this._fbo=void 0}_getBandIds(e,t){const{type:i}=e,n="xy-band"===i?e.bandIds:[e.bandId];return t?.length?n.map(e=>t.indexOf(e)):"xy-band"===i?[0,1]:[0]}_getSingleBandShaderOptions(e,t,n,r){const{config:o,projectionConfig:s,projectionTextures:a,textures:g,projectionDefines:h}=this._getCommonConfig(t),u=i(t,r),d={bandSwap:n,ranges:e.ranges,color:e.color};return{shader:this.shaders.range,uniforms:{projectionConfig:s,config:o,rangeHighlightConfig:d},textures:{...g,projectionTextures:a},defines:{...h,...u,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!g.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getXYBandShaderOptions(e,t,n,r,o){const{config:s,projectionConfig:a,projectionTextures:g,textures:h,projectionDefines:u}=this._getCommonConfig(t),d=i(t,r),p={bandSwap:n,xRange:e.xRange,yRange:e.yRange,color:e.color},c=o?{texture:o,unit:4}:void 0;return{shader:this.shaders.xyBand,uniforms:{projectionConfig:a,config:s,xyRangeHighlightConfig:p},textures:{...h,projectionTextures:g,xyMaskHighlightTexture:c},defines:{...u,...d,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!h.highlightTexture,useMask:!!c},optionalAttributes:null,useComputeBuffer:!1}}render(t,i){const{pixelHighlightOptions:n}=t;if(!n)return;const{context:r}=t;if(!this._fbo){const i=d(t.context,e,e);this._fbo=new a(r,i)}const{type:o}=n,s="xy-band"===o?p(t.context,n):void 0,g=r.boundFramebuffer,h=r.getViewport();for(const a of i.bitmaps){if(!a.source||a.highlighted||a.suspended||a.isRenderedSource)continue;const i=this._getBandIds(n,a.bandIds);if(i.some(e=>e<0||e>2))continue;t.timeline.begin(this.name);const{painter:g}=t;g.setPipelineState({depth:!1,stencil:{test:!1,write:!1},color:{write:[!0,!0,!0,!0],blendMode:"custom",blendParameters:{srcRGB:1,dstRGB:0,srcAlpha:1,dstAlpha:0},blendEquation:32774}}),a.updateTexture(t),a.updateProcessedTexture(!1);const h=new Float32Array(9);h[3*i[0]]=1,h[3*i[1]+1]="xy-band"===o?1:0;const u="single-band"===o?this._getSingleBandShaderOptions(n,a,h,r):this._getXYBandShaderOptions(n,a,h,r,s);r.bindFramebuffer(this._fbo),r.setViewport(0,0,e,e),g.submitDrawMesh(t.context,u,g.quadMesh);const p=d(t.context,e,e);this._fbo.copyToTexture(0,0,e,e,0,0,p),a.highlightTexture=p,t.timeline.end(this.name)}s?.dispose(),r.bindFramebuffer(g),r.setViewport(h.x,h.y,h.width,h.height)}_getCommonConfig(e){const{names:t,textures:i}=e.getTextures({forProcessing:!0,useProcessedTexture:e.processed}),n=i[t.indexOf("u_image")],r={coordScale:[1,1],srcImageSize:e.getRasterTextureSize(),opacity:1},o={texture:{texture:n,unit:0},pixelMaskTexture:null,highlightTexture:null},s=i[t.indexOf("u_transformGrid")],{transformGrid:a}=e,g=!(!s||!a),h=g?{targetImageSize:[e.width,e.height],transformSpacing:a.spacing,transformGridSize:a.size}:void 0,u=g?{transformTexture:{texture:s,unit:1}}:void 0,{highlightTexture:d}=e;d&&(o.highlightTexture={texture:d,unit:2});return{config:r,projectionConfig:h,projectionTextures:u,textures:o,projectionDefines:{applyProjection:g,lookupProjection:g&&1===a.spacing[0]}}}}function d(e,t,i){const n=new h(t,i);return n.internalFormat=o.RGBA8,n.samplingMode=9728,n.dataType=s.UNSIGNED_BYTE,n.isImmutable=!0,n.wrapMode=33071,new g(e,n)}function p(e,t){const{mask:i,maskSize:n}=t;if(!i?.length||!n?.length)return;const r=new h(n[0],n[1]);return r.internalFormat=o.R8,r.samplingMode=9728,r.dataType=s.UNSIGNED_BYTE,r.isImmutable=!0,r.wrapMode=33071,new g(e,r,i)}export{u as RasterHighlightTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{RasterVFTile as e}from"../../../../imagery/RasterVFTile.js";import{Technique as t}from"../Technique.js";import{getRasterVFSamplingUniforms as r}from"./rasterVFUtils.js";import{getTileUniforms as a}from"../shaders/Tile.js";import{getTileContainerUniforms as s}from"../shaders/TileInfo.js";import{getViewUniforms as i}from"../shaders/ViewInfo.js";import{MagDirShader as o}from"../shaders/raster/MagDirShader.js";import{ScalarShader as n}from"../shaders/raster/ScalarShader.js";const l=48,c=[.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1],d=[0,92/255,230/255,1],m={beaufort_ft:c,beaufort_m:c,beaufort_km:c,beaufort_mi:c,beaufort_kn:[.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1],classified_arrow:[.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1],ocean_current_m:[.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1],ocean_current_kn:[0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1],simple_scalar:d,single_arrow:d,wind_speed:[0,0,0,1]},f=[0,20];class u extends t{constructor(){super(...arguments),this.type=3,this.shaders={magDir:new o,scalar:new n},this.drawPhase=1}shutdown(){}render(e,t){const{painter:r}=e;r.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:{mask:0},test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});for(const a of t.tiles)this._renderItem(e,a)}_renderItem(e,t){const r=this._getTileData(t);if(null!=r.source&&0!==r.source.validPixelCount){if(e.timeline.begin("Vector field"),r.updateVectorFieldMesh(e),"scalar"===e.renderPass){const a=r.meshes.scalar;a&&this._drawScalars(e,t,a)}else{const a=r.meshes.magdir;a&&this._drawTriangles(e,t,a)}e.timeline.end("Vector field")}}_drawTriangles(e,t,r){const a=this._getTileData(t),{context:s,painter:i,requestRender:o,allowDelayedRender:n}=e,{symbolizerParameters:c}=a,d=!!c.dataRange,u="geographic"===c.rotationType;if(n&&null!=o)return void o();const{coordScale:g,opacity:p}=a,{style:_,dataRange:y,symbolPercentRange:b,rotation:w}=c,S=this._getTransformUniforms(e,t),R=m[_].concat(Array(l-m[_].length).fill(0)),T={shader:this.shaders.magDir,uniforms:{...S,config:{coordScale:g,opacity:p,colors:R,dataRange:y||f,rotation:w,symbolPercentRange:b,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:h(t),rotationGeographic:u,dataRange:d},optionalAttributes:null,useComputeBuffer:!1};i.submitDrawMeshUntyped(s,T,r,{stencilRef:a.stencilRef})}_drawScalars(e,t,r){const a=this._getTileData(t),{context:s,painter:i,requestRender:o,allowDelayedRender:n}=e,{symbolizerParameters:l}=a,c="wind_speed"===l.style,d=!!l.dataRange;if(n&&null!=o)return void o();const{coordScale:m,opacity:u}=a,{dataRange:g,symbolPercentRange:p}=l,_=this._getTransformUniforms(e,t),y={shader:this.shaders.scalar,uniforms:{..._,config:{coordScale:m,opacity:u,dataRange:g||f,symbolPercentRange:p,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:h(t),innerCircle:c,dataRange:d},optionalAttributes:null,useComputeBuffer:!1};i.submitDrawMeshUntyped(s,y,r,{stencilRef:a.stencilRef})}_getSymbolSize(e,t){const r=this._getTileData(t),a=h(t)?2**(e.displayLevel-t.key.level):r.resolution/e.state.resolution,{symbolTileSize:s}=r.symbolizerParameters;return[s/(Math.round((r.width-r.offset[0])/s)*s)/a,s/(Math.round((r.height-r.offset[1])/s)*s)/a]}_getTransformUniforms(e,t){const o=i(e);return h(t)?{view:o,tileContainer:s(e),tile:a(e.tilingScheme,t),rasterVF:r(t),localTransform:null}:{view:o,tileContainer:null,tile:null,rasterVF:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3}}}_getTileData(e){return h(e)?e.tileData:e}}function h(t){return t instanceof e}export{u as VectorFieldTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ReprojectShader as t}from"../../shaders/raster/processor/ReprojectShader.js";class r extends e{constructor(){super(...arguments),this.name="RasterReprojectProcessor",this.type=19,this.shaders={reproject:new t}}_process(e,t){const r=e.rasterFunction.parameters,
|
|
2
|
+
import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ReprojectShader as t}from"../../shaders/raster/processor/ReprojectShader.js";class r extends e{constructor(){super(...arguments),this.name="RasterReprojectProcessor",this.type=19,this.shaders={reproject:new t}}_process(e,t){const r=e.rasterFunction.parameters,i=this._getInterpolationDefines(t.interpolation,!!r.requireNNEdge),{config:o,projectionConfig:s,projectionTextures:n,textures:a,projectionDefines:c}=this._getReprojectConfig(t),p={shader:this.shaders.reproject,uniforms:{config:o,projectionConfig:s},textures:{...a,projectionTextures:n},defines:{...c,...i,applyPixelMask:!1,applyPixelHighlights:!1},optionalAttributes:null,useComputeBuffer:!1},{interpolation:u}=t;t.interpolation="nearest";const{painter:g,context:f}=e;g.submitDrawMesh(f,p,g.quadMesh),t.interpolation=u,t.projected=!0}_getReprojectConfig(e){const{source:t}=e,{names:r,textures:i}=e.getTextures({forProcessing:!0}),o=i[r.indexOf("u_image")],s={coordScale:[1,1],srcImageSize:[t.width,t.height],opacity:1},n={texture:{texture:o,unit:0},pixelMaskTexture:null,highlightTexture:null},a=i[r.indexOf("u_transformGrid")],{transformGrid:c}=e,p=!(!a||!c);return{config:s,projectionConfig:p?{targetImageSize:[e.width,e.height],transformSpacing:c.spacing,transformGridSize:c.size}:void 0,projectionTextures:p?{transformTexture:{texture:a,unit:1}}:void 0,textures:n,projectionDefines:{applyProjection:p,lookupProjection:p&&1===c.spacing[0]}}}_getInterpolationDefines(e,t){const r="bilinear"===e&&t;return{bilinear:r,bicubic:"cubic"===e,nearestOnEdge:r}}}export{r as ReprojectTechnique};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
function t(t){const{offset:e,symbolizerParameters:{symbolTileSize:i}}=t.tileData,a=Math.round((t.width-e[0])/i)*i,h=Math.round((t.height-e[1])/i)*i;return{samplingOffset:[e[0]*t.rangeX/t.width,e[1]*t.rangeY/t.height],samplingScale:[a/t.width,h/t.height]}}export{t as getRasterVFSamplingUniforms};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import{maxHighlightReasons as e}from"../../../definitions.js";import{location as i,define as o,option as r,uniform as s,texture as
|
|
2
|
+
import{__decorate as t}from"tslib";import{maxHighlightReasons as e}from"../../../definitions.js";import{location as i,define as o,option as r,uniform as s,texture as l,VertexInput as a,ComputeVertexInput as n,GraphShaderModule as h,FragmentOutput as g,FragmentInput as u}from"../../GraphShaderModule.js";import{Vec3 as p,Float as d,Vec2 as m,float as c,step as y,Vec4 as w,equal as b,ifElse as x,or as f}from"../../graph/glsl.js";import{trueHit as v,candidateHit as C,noHit as V}from"./constants.js";import{EntityStorage as H,EntityStorageTextures as T}from"./EntityStorage.js";import{ShaderHighlight as D}from"./ShaderHighlight.js";import{ShaderHittest as j}from"./ShaderHittest.js";import{Tile as A}from"./Tile.js";import{TileInfo as _}from"./TileInfo.js";import{getFilterBit as R,getHighlightBit as S,getBit as F,uvToClip as P}from"./utils.js";import{ViewInfo as k}from"./ViewInfo.js";class O extends a{}t([i(0,p)],O.prototype,"id",void 0),t([i(1,d)],O.prototype,"bitset",void 0),t([i(2,m)],O.prototype,"pos",void 0);class z extends n{}t([i(14,m)],z.prototype,"nextPos1",void 0),t([i(15,m)],z.prototype,"nextPos2",void 0);class q extends u{}class B extends h{clip(t,e){let i=new d(0);const o=this.getFilterFlags(t);if(i=i.add(c(2).multiply(c(1).subtract(R(o,0)))),this.inside?i=i.add(c(2).multiply(c(1).subtract(R(o,1)))):this.outside?i=i.add(c(2).multiply(R(o,1))):this.highlight&&(i=i.add(c(2).multiply(c(1).subtract(this._checkHighlight(o))))),null!=e){const t=new d(1).subtract(y(e.x,this.tileContainer.currentZoom)),o=y(e.y,this.tileContainer.currentZoom);i=i.add(new d(2).multiply(t.add(o)))}return i}getFragmentOutput(t,e,i=new d(1/255)){const o=new g;return o.fragColor=this._maybeWriteHittest(e)??this._maybeHighlight(t,i)??t,o}_maybeHighlight(t,e){return this.highlight?new w(t.rgb,y(e,t.a)):null}_checkHighlight(t){let i=this._checkHighlightBit(t,0);for(let o=1;o<e;o++)i=i.add(this._checkHighlightBit(t,o));return y(new d(.1),i.add(this.highlight.highlightAll))}_checkHighlightBit(t,e){return S(t,e).multiply(F(this.highlight.activeReasons,e))}computeHittestTriangle(t,e,i){const o=this.tile.getViewScreenMat3(this.view,this.tileContainer),{nextPos1:r,nextPos2:s}=e;return{pos0:o.multiply(new p(t.pos,1)).xy,pos1:o.multiply(new p(r,1)).xy,pos2:o.multiply(new p(s,1)).xy}}maybeRunHittest(t,e,i){if(null==this.hittestRequest)return null;const o=this.hittest(t,e,i),r=b(o,new d(v)),s=b(o,new d(C)),l=x(s,()=>new w(new d(1/255),0,0,0),x(r,()=>new w(new d(2/255),0,0,0),new w(V)));let a=x(f(r,s),new d(0),new d(2));const n=this.getAttributeDataCoords(t.id),h=P(n);return a=a.add(this.clip(t.id,t.zoomRange)),{glPointSize:new d(1),glPosition:new w(h,a,1),color:l}}_maybeWriteHittest(t){return null!=this.hittestRequest?t.color:null}getAttributeDataCoords(t){return this.storage.getAttributeDataCoords(t)}getVVData(t){return this.storageTextures.getVVData(this.getAttributeDataCoords(t))}getFilterFlags(t){return this.storageTextures.getFilterFlags(this.getAttributeDataCoords(t))}getLocalTimeOrigin(t){return this.storageTextures.getLocalTimeOrigin(this.getAttributeDataCoords(t))}getSizeValue(t){return this.storageTextures.getSizeValue(this.getAttributeDataCoords(t))}getColorValue(t){return this.storageTextures.getColorValue(this.getAttributeDataCoords(t))}getOpacityValue(t){return this.storageTextures.getOpacityValue(this.getAttributeDataCoords(t))}getRotationValue(t){return this.storageTextures.getRotationValue(this.getAttributeDataCoords(t))}}t([o],B.prototype,"inside",void 0),t([o],B.prototype,"outside",void 0),t([r(D)],B.prototype,"highlight",void 0),t([s(H)],B.prototype,"storage",void 0),t([l(T)],B.prototype,"storageTextures",void 0),t([s(k)],B.prototype,"view",void 0),t([s(_)],B.prototype,"tileContainer",void 0),t([s(A)],B.prototype,"tile",void 0),t([r(j)],B.prototype,"hittestRequest",void 0);export{B as AFeatureShader,z as BaseHittestVertexInput,q as FeatureFragmentInput,O as FeatureVertexInput};
|