@arcgis/core 5.1.0-next.52 → 5.1.0-next.54
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/applications/Components/SketchTooltipControls.d.ts +3 -2
- package/applications/Components/SketchTooltipControls.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/009db7b459b18f6a668b.js +1 -0
- package/assets/esri/core/workers/chunks/097c037705ab485372ee.js +1 -0
- package/assets/esri/core/workers/chunks/0ab19ad980fda1cf402a.js +1 -0
- package/assets/esri/core/workers/chunks/0b79630ad435a7734104.js +1 -0
- package/assets/esri/core/workers/chunks/0f4759efc0982fb0ea03.js +1 -0
- package/assets/esri/core/workers/chunks/{386435341e949f5573b4.js → 0fc60b4c44c4e865b699.js} +2 -2
- package/assets/esri/core/workers/chunks/{f4d31d96681b649ddc95.js → 0ff12fe9e358100668d9.js} +1 -1
- package/assets/esri/core/workers/chunks/11fed97adc9bca0f95e9.js +1 -0
- package/assets/esri/core/workers/chunks/123e15c9e068a053d54e.js +1 -0
- package/assets/esri/core/workers/chunks/1613123918e9b0f7cfdb.js +1 -0
- package/assets/esri/core/workers/chunks/16a46688df5fad5cf8d5.js +1 -0
- package/assets/esri/core/workers/chunks/16ed8c0af8bb8b400163.js +1 -0
- package/assets/esri/core/workers/chunks/16f5cd740321a3539bf1.js +1 -0
- package/assets/esri/core/workers/chunks/173d94e162b210dee0a2.js +1 -0
- package/assets/esri/core/workers/chunks/199f70c0373f6008a545.js +1 -0
- package/assets/esri/core/workers/chunks/1a198c9e17f7a058669e.js +1 -0
- package/assets/esri/core/workers/chunks/1fdd736c4932655ff1d9.js +1 -0
- package/assets/esri/core/workers/chunks/{d2af5342fbe80e2d8c60.js → 20f9f3470cad47d01803.js} +1 -1
- package/assets/esri/core/workers/chunks/2304f7b8173cf86dd805.js +1 -0
- package/assets/esri/core/workers/chunks/2327b368673a974dee8b.js +1 -0
- package/assets/esri/core/workers/chunks/23eb204d3cb818adea32.js +1 -0
- package/assets/esri/core/workers/chunks/{eedeff8b344ff699b0b9.js → 2714ec856c2b3223425b.js} +1 -1
- package/assets/esri/core/workers/chunks/2757cf54656b5d318b11.js +1 -0
- package/assets/esri/core/workers/chunks/2aaeaf022af8493281dc.js +1 -0
- package/assets/esri/core/workers/chunks/34acecd7a314fed12335.js +1 -0
- package/assets/esri/core/workers/chunks/34fe4570eef9e73839b8.js +1 -0
- package/assets/esri/core/workers/chunks/{cdeb6aec578a1c07d663.js → 3cb0f020f9bfc6653c5d.js} +1 -1
- package/assets/esri/core/workers/chunks/40bcfc4f8efe7de7ec9d.js +1 -0
- package/assets/esri/core/workers/chunks/42e084704dea6e4135b6.js +1 -0
- package/assets/esri/core/workers/chunks/{5b3bb636e3bec625e515.js → 4301cb9670fa7c907460.js} +1 -1
- package/assets/esri/core/workers/chunks/48eca6f51112ba80bd3b.js +1 -0
- package/assets/esri/core/workers/chunks/4c38af9ae023fde2b5cd.js +1 -0
- package/assets/esri/core/workers/chunks/4c8c69d081ed37bf5bc5.js +1 -0
- package/assets/esri/core/workers/chunks/{cc1f3a2f281a2f6e0f94.js → 4d54beab8ae5ff31e7b0.js} +1 -1
- package/assets/esri/core/workers/chunks/4e7bb224bde9e5039263.js +1 -0
- package/assets/esri/core/workers/chunks/4f847a426973bd350c11.js +1 -0
- package/assets/esri/core/workers/chunks/52c90975cf22add7ee2b.js +1 -0
- package/assets/esri/core/workers/chunks/55214e1d9f3d98fa7ed9.js +1 -0
- package/assets/esri/core/workers/chunks/55bb5b7817c2963c8bfa.js +1 -0
- package/assets/esri/core/workers/chunks/57dc80942e51dedd8335.js +1 -0
- package/assets/esri/core/workers/chunks/59289867cce97da74e39.js +1 -0
- package/assets/esri/core/workers/chunks/5a9620cb66c8e64e4668.js +1 -0
- package/assets/esri/core/workers/chunks/5d202f60891fcae7174d.js +1 -0
- package/assets/esri/core/workers/chunks/{f7fb121169b7e5a5adbc.js → 6666ef3fd6ce877a4509.js} +1 -1
- package/assets/esri/core/workers/chunks/69644b8a6ce340ca1159.js +1 -0
- package/assets/esri/core/workers/chunks/6ab8ed12d162d79a8c55.js +1 -0
- package/assets/esri/core/workers/chunks/796d27d1bbb2eed53cbd.js +1 -0
- package/assets/esri/core/workers/chunks/7d56b2ac5030dd8b748e.js +1 -0
- package/assets/esri/core/workers/chunks/7ef1c1f765b6d423e474.js +1 -0
- package/assets/esri/core/workers/chunks/{720a33a7f118d2769133.js → 851dd71d28681d4eccfd.js} +1 -1
- package/assets/esri/core/workers/chunks/8569ae372fc64641b6b1.js +1 -0
- package/assets/esri/core/workers/chunks/{88c6cc90606409b5c884.js → 87d2021e91d025a2a142.js} +1 -1
- package/assets/esri/core/workers/chunks/929b26999321519824b9.js +1 -0
- package/assets/esri/core/workers/chunks/932a0b39d85a76377d52.js +1 -0
- package/assets/esri/core/workers/chunks/94f80c46ccf5e19038b8.js +1 -0
- package/assets/esri/core/workers/chunks/{fe7dec83e40014c55a6b.js → 96e799ca97989a6ed448.js} +1 -1
- package/assets/esri/core/workers/chunks/979c2f52b6d6e1e8241b.js +1 -0
- package/assets/esri/core/workers/chunks/{617328964d480d4a3a45.js → 9806cc96414065ae0afe.js} +1 -1
- package/assets/esri/core/workers/chunks/9db2ff1d4cbb5d1b623e.js +1 -0
- package/assets/esri/core/workers/chunks/a462aa1c7b68efad6906.js +1 -0
- package/assets/esri/core/workers/chunks/{987dc23fdc0a8c7150b9.js → a5bf2718c02a0e645013.js} +1 -1
- package/assets/esri/core/workers/chunks/{f5fd59291cb161fdc05b.js → a787fe09d3df9d4254ba.js} +1 -1
- package/assets/esri/core/workers/chunks/a7b315a660f0f4e1d197.js +1 -0
- package/assets/esri/core/workers/chunks/a8e111a5cfd6151d5dbb.js +1 -0
- package/assets/esri/core/workers/chunks/a971e61336f455b953d5.js +1 -0
- package/assets/esri/core/workers/chunks/aed45f7e7eee154a21b8.js +1 -0
- package/assets/esri/core/workers/chunks/b2b77598048818c957b7.js +1 -0
- package/assets/esri/core/workers/chunks/b39b4db86a1049f0b901.js +1 -0
- package/assets/esri/core/workers/chunks/{3fa5f102b6f77c523a76.js → b3e5dcb530cef678c8f8.js} +1 -1
- package/assets/esri/core/workers/chunks/{c6a0e770c1a89d3b5913.js → b43889ed9737c27e89f1.js} +1 -1
- package/assets/esri/core/workers/chunks/b59f03c64e4965d87291.js +1 -0
- package/assets/esri/core/workers/chunks/bad82ce3f84f7efb7ab7.js +1 -0
- package/assets/esri/core/workers/chunks/bae1d6dd2376dff271e8.js +1 -0
- package/assets/esri/core/workers/chunks/bb047157f09471ecea53.js +1 -0
- package/assets/esri/core/workers/chunks/bbb9659f79511c2c4690.js +1 -0
- package/assets/esri/core/workers/chunks/bc3b22dc08c147b8d425.js +1 -0
- package/assets/esri/core/workers/chunks/be60a6e210186ff09ae2.js +1 -0
- package/assets/esri/core/workers/chunks/c03190faca955bffc8c1.js +1 -0
- package/assets/esri/core/workers/chunks/c1ad062ccc1817cbee4c.js +1 -0
- package/assets/esri/core/workers/chunks/{daf65bccc45dc5c400ae.js → c460ca93ed8e20d8b53a.js} +1 -1
- package/assets/esri/core/workers/chunks/c86b15f6a18880f921cd.js +1 -0
- package/assets/esri/core/workers/chunks/c93454e37ae0f124bcb0.js +1 -0
- package/assets/esri/core/workers/chunks/{3fcc8c455af56ae89030.js → ccf845ac0ac354507a25.js} +1 -1
- package/assets/esri/core/workers/chunks/cd14b6157862f33ab116.js +1 -0
- package/assets/esri/core/workers/chunks/ce59ec4f0cfbdf780bcb.js +1 -0
- package/assets/esri/core/workers/chunks/{7480bd6f892abf444cac.js → d1aa1d51662f4a01e793.js} +3 -3
- package/assets/esri/core/workers/chunks/d31e68e73527c88b8276.js +1 -0
- package/assets/esri/core/workers/chunks/{15a45e26964c2eb381a6.js → d4961d307651431328a8.js} +1 -1
- package/assets/esri/core/workers/chunks/{81b830f0d620587966ca.js → d53c6fc10425adc2c0cf.js} +1 -1
- package/assets/esri/core/workers/chunks/d69cdee402ba4fc3735f.js +1 -0
- package/assets/esri/core/workers/chunks/d6f1ed8d8f76a32bc81d.js +1 -0
- package/assets/esri/core/workers/chunks/d7456829e404874a9e2f.js +1 -0
- package/assets/esri/core/workers/chunks/d9444dd0d40aa8332b28.js +1 -0
- package/assets/esri/core/workers/chunks/da0a61f73d45ea9e71fc.js +1 -0
- package/assets/esri/core/workers/chunks/{9ae90a4b281d4103e8bb.js → dc07dc1cd30edc0c4193.js} +1 -1
- package/assets/esri/core/workers/chunks/{fdf8fe0f50a9ae548c16.js → ddc7956d80498518551e.js} +1 -1
- package/assets/esri/core/workers/chunks/{29c91b5c9ddcea85f39a.js → e23fc5853e2f4016936b.js} +1 -1
- package/assets/esri/core/workers/chunks/e2d1d9929ed7744785a1.js +1 -0
- package/assets/esri/core/workers/chunks/e543bb228f3f9d937d43.js +1 -0
- package/assets/esri/core/workers/chunks/ec21311584e4fb13e510.js +1 -0
- package/assets/esri/core/workers/chunks/ec91d5081f423755cb07.js +1 -0
- package/assets/esri/core/workers/chunks/{eb36417edc11fa80e312.js → ee8cd91c27e9cdfc3b2e.js} +1 -1
- package/assets/esri/core/workers/chunks/f3f26f6116ab9126c2e7.js +1 -0
- package/assets/esri/core/workers/chunks/f4472e3486fdc33abb9a.js +1 -0
- package/assets/esri/core/workers/chunks/f80f04657762666b9165.js +1 -0
- package/assets/esri/core/workers/chunks/f8eb14170f927aecfbc8.js +1 -0
- package/assets/esri/core/workers/chunks/f8ee1a99580a7da42cde.js +1 -0
- package/assets/esri/core/workers/chunks/fcda652fb5262696d59c.js +1 -0
- package/assets/esri/core/workers/chunks/{792219a079c28bcdc003.js → fcfaaced184f8da3e28d.js} +1 -1
- package/assets/esri/core/workers/chunks/fe92f54e45fd21ccd75f.js +1 -0
- package/assets/esri/core/workers/chunks/ff0cb1eec14d34214f12.js +1 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
- package/chunks/OITBlend.glsl.js +2 -2
- package/chunks/ShadowHighlight.glsl.js +1 -1
- package/chunks/Viewshed.glsl.js +2 -2
- package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
- package/chunks/arcgis-knowledge-client-core.js +1 -1
- package/config.js +1 -1
- package/core/arrayUtils.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/maybe.js +1 -1
- package/geometry/SpatialReference.js +1 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/support/aaBoundingBox.js +1 -1
- package/geometry/support/geometryUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/raster/datasets/FunctionRaster.js +1 -1
- package/layers/raster/functions/AspectFunction.js +1 -1
- package/layers/raster/functions/BaseRasterFunction.js +1 -1
- package/layers/raster/functions/ConvolutionFunction.js +1 -1
- package/layers/raster/functions/CurvatureFunction.js +1 -1
- package/layers/raster/functions/HillshadeFunction.js +1 -1
- package/layers/raster/functions/ShadedReliefFunction.js +1 -1
- package/layers/raster/functions/SlopeFunction.js +1 -1
- package/layers/raster/functions/StatisticsFunction.js +1 -1
- package/layers/raster/functions/pixelUtils.js +1 -1
- package/layers/support/capabilities.js +1 -1
- package/layers/support/serviceCapabilitiesUtils.js +1 -1
- package/package.json +3 -3
- package/rest/knowledgeGraph/wasmInterface/knowledgeWasmAccess.js +1 -1
- package/support/revision.js +1 -1
- package/support/tests/serviceMockDependencies.js +1 -1
- package/views/2d/engine/flow/FlowContainer.js +1 -1
- package/views/2d/engine/flow/FlowStrategy.js +1 -1
- package/views/2d/engine/flow/FlowView2D.js +1 -1
- package/views/2d/engine/flow/dataUtils.js +1 -1
- package/views/2d/engine/flow/particleConstants.js +2 -0
- 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/Stack.js +1 -1
- package/views/2d/engine/flow/styles/Streamlines.js +1 -1
- package/views/2d/engine/flow/utils.js +1 -1
- package/views/2d/engine/imagery/RasterVFContainer.js +1 -1
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/Profiler.js +1 -1
- package/views/2d/engine/webgl/WGLContainer.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.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 +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/grid/GridTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.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/magnifier/MagnifierTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/opacity/OpacityTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowParticlesShader.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowStreamlinesShader.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +2 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.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/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/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/Tiles3DBVH.js +1 -1
- package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl/ManagedFBO.d.ts +1 -0
- package/views/3d/webgl/ManagedFBOResource.d.ts +1 -0
- package/views/3d/webgl-engine/collections/Component/ComponentObjectElevationAgnosticBVH.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectFixedBVH.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/core/FBOCacheUsage.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterialLoader.js +2 -0
- package/views/3d/webgl-engine/lib/GLMaterialParameters.js +1 -1
- package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
- package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
- package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
- package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ReprojectionUniforms.js +2 -0
- package/views/3d/webgl-engine/lib/ScreenSpaceReflectionsUniforms.js +2 -0
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/TriangleIntersectionData.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PolygonOffset.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/TriangleTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/plugins/ShapePlugin.js +1 -1
- package/views/draw/support/managers/GlobalStateManager.js +1 -1
- package/views/draw/support/types.d.ts +9 -0
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/webgl/AllocationTracer.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/components/Settings.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Search/support/locatorUtils.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/support/SketchTooltipControls.js +1 -1
- package/assets/esri/core/workers/chunks/001492854799c35b53bb.js +0 -1
- package/assets/esri/core/workers/chunks/004f991251f09b36fb09.js +0 -1
- package/assets/esri/core/workers/chunks/01dd849a2d335e9f3e16.js +0 -1
- package/assets/esri/core/workers/chunks/027d733a99f50cadcf22.js +0 -1
- package/assets/esri/core/workers/chunks/03d85a706669aaf24d49.js +0 -1
- package/assets/esri/core/workers/chunks/0450133e81bce4b48b84.js +0 -1
- package/assets/esri/core/workers/chunks/085778ecd39f46324a6b.js +0 -1
- package/assets/esri/core/workers/chunks/08dce0019b52042b01fa.js +0 -1
- package/assets/esri/core/workers/chunks/0b661b90f7ee3ae23425.js +0 -1
- package/assets/esri/core/workers/chunks/0d8294982853308225da.js +0 -1
- package/assets/esri/core/workers/chunks/156aecac067213642aae.js +0 -1
- package/assets/esri/core/workers/chunks/167e4ff7cbc88b42db71.js +0 -1
- package/assets/esri/core/workers/chunks/184e9147f7a2f0ae5915.js +0 -1
- package/assets/esri/core/workers/chunks/19f59a2a97c33ff92650.js +0 -1
- package/assets/esri/core/workers/chunks/1a481f3ae3146682eb00.js +0 -1
- package/assets/esri/core/workers/chunks/2b7d020367cb4ebb3c3d.js +0 -1
- package/assets/esri/core/workers/chunks/30654845ca1334f1c206.js +0 -1
- package/assets/esri/core/workers/chunks/3104b10770903c265626.js +0 -1
- package/assets/esri/core/workers/chunks/33f00633131581e06328.js +0 -1
- package/assets/esri/core/workers/chunks/34207774bc371e95ba3c.js +0 -1
- package/assets/esri/core/workers/chunks/35dbe1eeb6932b03aea2.js +0 -1
- package/assets/esri/core/workers/chunks/365ad1ffd496ed86637b.js +0 -1
- package/assets/esri/core/workers/chunks/380bb57bccc266d6442a.js +0 -1
- package/assets/esri/core/workers/chunks/3874362bf7d43adc41bb.js +0 -1
- package/assets/esri/core/workers/chunks/38dc1c4b8721efd4a165.js +0 -1
- package/assets/esri/core/workers/chunks/39f3bea123f20c816ab2.js +0 -1
- package/assets/esri/core/workers/chunks/3e9700445518b8f9ae1b.js +0 -1
- package/assets/esri/core/workers/chunks/42f3fdad1728433b3510.js +0 -1
- package/assets/esri/core/workers/chunks/436941ec88439667022e.js +0 -1
- package/assets/esri/core/workers/chunks/4812482f28f7205b0938.js +0 -1
- package/assets/esri/core/workers/chunks/5317cbef0aac29761575.js +0 -1
- package/assets/esri/core/workers/chunks/5351e71ce7839636d06d.js +0 -1
- package/assets/esri/core/workers/chunks/54a9e17d6c0fef6a9146.js +0 -1
- package/assets/esri/core/workers/chunks/55985c9c48b8e1d1c634.js +0 -1
- package/assets/esri/core/workers/chunks/55edd712c6d2d044e550.js +0 -1
- package/assets/esri/core/workers/chunks/5e5b358e603b13b4d7d7.js +0 -1
- package/assets/esri/core/workers/chunks/63b9e4a7dad358605c38.js +0 -1
- package/assets/esri/core/workers/chunks/64da1ad9df9094ef5c12.js +0 -1
- package/assets/esri/core/workers/chunks/666f201d222c50ab8428.js +0 -1
- package/assets/esri/core/workers/chunks/66d4cbb35d0c290150bf.js +0 -1
- package/assets/esri/core/workers/chunks/677d3674cb2c0c05fb7e.js +0 -1
- package/assets/esri/core/workers/chunks/6f58ec80abebb7bfbbb0.js +0 -1
- package/assets/esri/core/workers/chunks/7100c9038739121c2c4b.js +0 -1
- package/assets/esri/core/workers/chunks/7380177f16d914fdbc63.js +0 -1
- package/assets/esri/core/workers/chunks/794f604d4267e374f7dd.js +0 -1
- package/assets/esri/core/workers/chunks/7ae8f73c8e2afae98ecb.js +0 -1
- package/assets/esri/core/workers/chunks/7d4af7e2cb2f234e12eb.js +0 -1
- package/assets/esri/core/workers/chunks/7dba4121cdd20dbc4b20.js +0 -1
- package/assets/esri/core/workers/chunks/807b12ace0099300b9b9.js +0 -1
- package/assets/esri/core/workers/chunks/816a4b03f2ea49238a6c.js +0 -1
- package/assets/esri/core/workers/chunks/842b442cc012d0797333.js +0 -1
- package/assets/esri/core/workers/chunks/8903ff28896bd6f34b0d.js +0 -1
- package/assets/esri/core/workers/chunks/89e9bc8789b100316136.js +0 -1
- package/assets/esri/core/workers/chunks/8afe32d3db9669f972bc.js +0 -1
- package/assets/esri/core/workers/chunks/91fd28f50477d16e294e.js +0 -1
- package/assets/esri/core/workers/chunks/953f671bdeb2ca9b9f37.js +0 -1
- package/assets/esri/core/workers/chunks/98011b93acf3d5f0b5a2.js +0 -1
- package/assets/esri/core/workers/chunks/9c7fd5db0813bdc38582.js +0 -1
- package/assets/esri/core/workers/chunks/a2fee1611319665e6aed.js +0 -1
- package/assets/esri/core/workers/chunks/a644e30f65347ce846ed.js +0 -1
- package/assets/esri/core/workers/chunks/a64daa4945923a178fe5.js +0 -1
- package/assets/esri/core/workers/chunks/a84d67c1a1008bca2075.js +0 -1
- package/assets/esri/core/workers/chunks/a85575a8d1da09280cd7.js +0 -1
- package/assets/esri/core/workers/chunks/ac4f7309a249132c22da.js +0 -1
- package/assets/esri/core/workers/chunks/aeb1900cfdd0e51cc5f8.js +0 -1
- package/assets/esri/core/workers/chunks/ba62f3aa811430787863.js +0 -1
- package/assets/esri/core/workers/chunks/bb659dcd297b895830df.js +0 -1
- package/assets/esri/core/workers/chunks/c03d0091a6f385b9ce8d.js +0 -1
- package/assets/esri/core/workers/chunks/c20aaca8085ce897bd12.js +0 -1
- package/assets/esri/core/workers/chunks/c3e711dc608eedda2d14.js +0 -1
- package/assets/esri/core/workers/chunks/c48d1ee37c207bfb0aac.js +0 -1
- package/assets/esri/core/workers/chunks/c4a9006cc6d2938570e0.js +0 -1
- package/assets/esri/core/workers/chunks/c692ea68509bddbf7b42.js +0 -1
- package/assets/esri/core/workers/chunks/cb8c17daec7055bf99cc.js +0 -1
- package/assets/esri/core/workers/chunks/d7439d357f68160844cb.js +0 -1
- package/assets/esri/core/workers/chunks/df3e79b56c37156e7895.js +0 -1
- package/assets/esri/core/workers/chunks/df8b80b17e371c9be4e6.js +0 -1
- package/assets/esri/core/workers/chunks/e77198f8ab47441423c5.js +0 -1
- package/assets/esri/core/workers/chunks/e786da40a1c87bed64ca.js +0 -1
- package/assets/esri/core/workers/chunks/e8aafef6342c50340a27.js +0 -1
- package/assets/esri/core/workers/chunks/ec00348d74e29f48613a.js +0 -1
- package/assets/esri/core/workers/chunks/f4201e7dcae224d0caf0.js +0 -1
- package/assets/esri/core/workers/chunks/f7cc05fbfc97b4d36eba.js +0 -1
- package/assets/esri/core/workers/chunks/f9d369a4683f88ee9d76.js +0 -1
- package/assets/esri/core/workers/chunks/fc534c94d55331578195.js +0 -1
- package/assets/esri/themes/base/colors/css/brand_colors.css +0 -76
- package/assets/esri/themes/base/colors/css/calcite_core_colors.css +0 -169
- package/assets/esri/themes/base/colors/css/calcite_core_colors_dark.css +0 -169
- package/assets/esri/themes/base/colors/css/calcite_gray_colors.css +0 -43
- package/assets/esri/themes/base/colors/css/calcite_gray_colors_dark.css +0 -43
- package/assets/esri/themes/base/colors/css/calcite_highlight_colors.css +0 -43
- package/assets/esri/themes/base/colors/css/calcite_highlight_colors_dark.css +0 -43
- package/assets/esri/themes/base/colors/css/calcite_vibrant_colors.css +0 -67
- package/assets/esri/themes/base/colors/css/calcite_vibrant_colors_dark.css +0 -67
- package/assets/esri/themes/base/colors/css/complete.css +0 -610
- package/assets/esri/themes/base/colors/css/scss/brand_colors.scss +0 -128
- package/assets/esri/themes/base/colors/css/scss/calcite_core_colors.scss +0 -289
- package/assets/esri/themes/base/colors/css/scss/calcite_core_colors_dark.scss +0 -285
- package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors.scss +0 -96
- package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors_dark.scss +0 -91
- package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors.scss +0 -69
- package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors_dark.scss +0 -65
- package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors.scss +0 -128
- package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors_dark.scss +0 -124
- package/assets/esri/themes/base/colors/css/scss/complete.scss +0 -11
- package/assets/esri/themes/base/colors/patterns_json/brand_colors.css +0 -366
- package/assets/esri/themes/base/colors/patterns_json/calcite_core_colors.css +0 -687
- package/assets/esri/themes/base/colors/patterns_json/calcite_core_colors_dark.css +0 -673
- package/assets/esri/themes/base/colors/patterns_json/calcite_gray_colors.css +0 -177
- package/assets/esri/themes/base/colors/patterns_json/calcite_gray_colors_dark.css +0 -169
- package/assets/esri/themes/base/colors/patterns_json/calcite_highlight_colors.css +0 -178
- package/assets/esri/themes/base/colors/patterns_json/calcite_highlight_colors_dark.css +0 -169
- package/assets/esri/themes/base/colors/patterns_json/calcite_vibrant_colors.css +0 -273
- package/assets/esri/themes/base/colors/patterns_json/calcite_vibrant_colors_dark.css +0 -265
- package/assets/esri/themes/base/colors/patterns_json/complete.css +0 -2847
- package/assets/esri/themes/base/colors/patterns_json/scss/brand_colors.scss +0 -464
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors.scss +0 -967
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors_dark.scss +0 -964
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors.scss +0 -265
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors_dark.scss +0 -263
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors.scss +0 -237
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors_dark.scss +0 -235
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors.scss +0 -376
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors_dark.scss +0 -347
- package/assets/esri/themes/base/colors/patterns_json/scss/complete.scss +0 -12
- package/assets/esri/themes/base/icons/readme/download.png +0 -0
- package/assets/esri/themes/base/icons/readme/import-icons.png +0 -0
- package/assets/esri/themes/base/icons/readme/import.png +0 -0
- package/assets/esri/themes/base/icons/readme/load.png +0 -0
- package/assets/esri/themes/base/icons/selection.json +0 -1
- package/assets/esri/themes/base/icons/style.css +0 -774
- package/views/2d/engine/brushes.js +0 -2
- package/views/2d/engine/flow/BrushFlow.js +0 -2
- package/views/2d/engine/rasterBrushes.js +0 -2
- package/views/2d/engine/webgl/brushes/BrushClip.js +0 -2
- package/views/2d/engine/webgl/brushes/WGLBrush.js +0 -2
- package/views/2d/engine/webgl/painter/RenderPass.js +0 -2
- package/views/2d/engine/webgl/shaders/BackgroundPrograms.js +0 -2
- package/views/2d/engine/webgl/shaders/TileInfoPrograms.js +0 -2
- package/views/3d/webgl-engine/lib/GLMaterials.js +0 -2
- /package/assets/esri/core/workers/chunks/{386435341e949f5573b4.js.LICENSE.txt → 0fc60b4c44c4e865b699.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{AnimatedLineTechnique as e,AnimatedFillTechnique as i,AnimatedMarkerShiftTechnique as n,AnimatedMarkerTechnique as t}from"./animated/AnimatedTechniques.js";import{DotDensityTechnique as l}from"./dotDensity/DotDensityTechnique.js";import{ComplexFillTechnique as r}from"./fill/ComplexFillTechnique.js";import{ComplexOutlineFillTechnique as o}from"./fill/ComplexOutlineFillTechnique.js";import{FillTechnique as m}from"./fill/FillTechnique.js";import{GradientFillTechnique as a}from"./fill/GradientFillTechnique.js";import{OutlineFillTechnique as f}from"./fill/OutlineFillTechnique.js";import{PatternFillTechnique as p}from"./fill/PatternFillTechnique.js";import{PatternOutlineFillTechnique as u}from"./fill/PatternOutlineFillTechnique.js";import{
|
|
2
|
+
import{AnimatedLineTechnique as e,AnimatedFillTechnique as i,AnimatedMarkerShiftTechnique as n,AnimatedMarkerTechnique as t}from"./animated/AnimatedTechniques.js";import{DotDensityTechnique as l}from"./dotDensity/DotDensityTechnique.js";import{ComplexFillTechnique as r}from"./fill/ComplexFillTechnique.js";import{ComplexOutlineFillTechnique as o}from"./fill/ComplexOutlineFillTechnique.js";import{FillTechnique as m}from"./fill/FillTechnique.js";import{GradientFillTechnique as a}from"./fill/GradientFillTechnique.js";import{OutlineFillTechnique as f}from"./fill/OutlineFillTechnique.js";import{PatternFillTechnique as p}from"./fill/PatternFillTechnique.js";import{PatternOutlineFillTechnique as u}from"./fill/PatternOutlineFillTechnique.js";import{FlowTechnique as s}from"./flow/FlowTechnique.js";import{HeatmapTechnique as c}from"./heatmap/HeatmapTechnique.js";import{LabelTechnique as h}from"./labels/LabelTechnique.js";import{GradientStrokeTechnique as w}from"./line/GradientStrokeTechnique.js";import{LineTechnique as T}from"./line/LineTechnique.js";import{TexturedLineTechnique as j}from"./line/TexturedLineTechnique.js";import{MarkerTechnique as q}from"./markers/MarkerTechnique.js";import{PieChartTechnique as d}from"./pieChart/PieChartTechnique.js";import{TextTechnique as F}from"./text/TextTechnique.js";const x={fill:new m,patternFill:new p,complexFill:new r,gradientFill:new a,outlineFill:new f,patternOutlineFill:new u,complexOutlineFill:new o,marker:new q,pieChart:new d,line:new T,texturedLine:new j,gradientStroke:new w,text:new F,label:new h,heatmap:new c,dotDensity:new l,flow:new s,animatedMarker:new t,animatedMarkerShift:new n,animatedFill:new i,animatedLine:new e};function k(){for(const e in x){x[e].startup()}}function C(e){for(const i in x){x[i].shutdown(e)}}export{x as Techniques,C as shutdown,k as startup};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"./FeatureTechnique.js";import{MeshWriter as t}from"./mesh/MeshWriter.js";import{TestShader as r}from"./shaders/TestShader.js";import{DataType as o}from"../../../../../webgl/enums.js";const i={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}}}};class s extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"./FeatureTechnique.js";import{MeshWriter as t}from"./mesh/MeshWriter.js";import{TestShader as r}from"./shaders/TestShader.js";import{DataType as o}from"../../../../../webgl/enums.js";const i={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}}}};class s extends e{constructor(){super(...arguments),this.type=31,this.shaders={geometry:new r}}render(e,t){const{painter:r}=e,o=t.instance.getInput();r.setShader({shader:this.shaders.geometry,uniforms:{dataDrivenColor:o.uniforms.dataDrivenColor,view:{zoomLevel:1}},defines:{returnRed:!1},optionalAttributes:{},useComputeBuffer:!1}),r.setPipelineState(i),r.submitDraw(e,t)}}const n={createComputedParams:e=>e,optionalAttributes:{},attributes:{pos:{type:o.SHORT,count:2,pack:"position",packPrecisionFactor:10},id:{type:o.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:o.UNSIGNED_BYTE,count:1},size:{type:o.UNSIGNED_BYTE,count:1,packPrecisionFactor:10,pack:e=>.2},offset:{type:o.INT,count:2,packPrecisionFactor:10,packAlternating:{count:4,pack:()=>[[-1,1],[1,1],[-1,-1],[1,-1]]}},color:{type:o.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:e})=>e}}};class a extends t{constructor(){super(...arguments),this.vertexSpec=n}_write(e,t){e.recordStart(this.instanceId,this.attributeLayout);const r=655360,o=e.vertexCount(),i=t.readXForDisplay(),s=t.readYForDisplay();this._writeVertex(e,r,i,s),e.indexWrite(o+0),e.indexWrite(o+1),e.indexWrite(o+2),e.indexWrite(o+1),e.indexWrite(o+3),e.indexWrite(o+2),e.recordEnd()}}export{a as TestMeshWriter,s as TestTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import"../../../../../../core/has.js";import{isPowerOfTwo as e,nextPowerOfTwo as t}from"../../../../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../../../../core/maybe.js";import{simplePipelineState as s}from"../utils.js";import{Technique as u}from"./Technique.js";import{TextureStatisticsDiffShader as o}from"./shaders/TextureStatisticsDiffShader.js";import{TextureStatisticsMinMaxSumShader as i}from"./shaders/TextureStatisticsMinMaxSumShader.js";import{TextureStatisticsStdDevShader as a}from"./shaders/TextureStatisticsStdDevShader.js";import{TextureStatisticsSumOfSquaredDiffShader as n}from"./shaders/TextureStatisticsSumOfSquaredDiffShader.js";import{getWebGLCapabilities as f}from"../../../../../webgl/capabilities.js";import{ColorAttachment2 as l,ColorAttachment3 as h,ColorAttachment0 as m,ColorAttachment1 as x,SizedPixelFormat as c,PixelType as T}from"../../../../../webgl/enums.js";import{FramebufferObject as d}from"../../../../../webgl/FramebufferObject.js";import p from"../../../../../webgl/Texture.js";import{TextureDescriptor as b}from"../../../../../webgl/TextureDescriptor.js";const _=1048576;class F extends u{constructor(){super(...arguments),this.type=
|
|
2
|
+
import"../../../../../../core/has.js";import{isPowerOfTwo as e,nextPowerOfTwo as t}from"../../../../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../../../../core/maybe.js";import{simplePipelineState as s}from"../utils.js";import{Technique as u}from"./Technique.js";import{TextureStatisticsDiffShader as o}from"./shaders/TextureStatisticsDiffShader.js";import{TextureStatisticsMinMaxSumShader as i}from"./shaders/TextureStatisticsMinMaxSumShader.js";import{TextureStatisticsStdDevShader as a}from"./shaders/TextureStatisticsStdDevShader.js";import{TextureStatisticsSumOfSquaredDiffShader as n}from"./shaders/TextureStatisticsSumOfSquaredDiffShader.js";import{getWebGLCapabilities as f}from"../../../../../webgl/capabilities.js";import{ColorAttachment2 as l,ColorAttachment3 as h,ColorAttachment0 as m,ColorAttachment1 as x,SizedPixelFormat as c,PixelType as T}from"../../../../../webgl/enums.js";import{FramebufferObject as d}from"../../../../../webgl/FramebufferObject.js";import p from"../../../../../webgl/Texture.js";import{TextureDescriptor as b}from"../../../../../webgl/TextureDescriptor.js";const _=1048576;class F extends u{constructor(){super(...arguments),this.type=36,this._width=0,this._height=0,this._framebuffers=null,this._minTexture=null,this._maxTexture=null,this._sumTexture=null,this._numOfNoDataTexture=null,this._resultsFramebuffer=null,this._startFramebuffer=null,this._diffFramebuffer=null,this._scaleFbo=null,this.shaders={textureStatisticsMinMaxSum:new i,textureStatisticsSum:new n,textureStatisticsDiff:new o,textureStatisticsStdDev:new a}}dispose(){this.shaders.textureStatisticsMinMaxSum=null,this._framebuffers&&(this._framebuffers.forEach(e=>r(e)),this._framebuffers=null),r(this._resultsFramebuffer),r(this._startFramebuffer),r(this._diffFramebuffer),r(this._scaleFbo),r(this._minTexture),r(this._maxTexture),r(this._sumTexture),r(this._numOfNoDataTexture)}get minValuesTexture(){return this._minTexture||null}get maxValuesTexture(){return this._maxTexture||null}get meanValuesTexture(){return this._resultsFramebuffer?.getColorTexture(l)||null}get stdDevValuesTexture(){return this._resultsFramebuffer?.getColorTexture(h)||null}get statsFbo(){return this._resultsFramebuffer}render(t,r){const{context:u,painter:o}=t;let i=r.fbo.width,a=r.fbo.height,n=r.fbo;const f=u.gl,l=u.getBoundFramebufferObject();if(i*a>_||!e(i)||!e(a)){const t=i/a;if(i*a>_){const e=Math.max(Math.floor(Math.sqrt(_/t)),1);i=Math.max(Math.floor(t*e),1),a=e}if(e(i)||(i=S(i)),e(a)||(a=S(a)),this._scaleFbo)this._scaleFbo.resize(i,a);else{const{dataType:e,internalFormat:t}=r.fbo.getColorTexture(m).descriptor,s=t??c.RGBA8;this._scaleFbo=w(u,i,a,e,s)}u.bindFramebuffer(this._scaleFbo),u.setViewport(0,0,i,a),o.blitTexture(u,n.getColorTexture(m),9728),n=this._scaleFbo}this._updateResources(t,n),o.setPipelineState({...s,color:{write:[!0,!0,!0,!0],blendMode:"none"}});const h=this._applyReductionPass(t);f.readBuffer(f.COLOR_ATTACHMENT3),h.copyToTexture(0,0,1,1,0,0,this._numOfNoDataTexture),f.readBuffer(f.COLOR_ATTACHMENT2),h.copyToTexture(0,0,1,1,0,0,this._sumTexture),f.readBuffer(f.COLOR_ATTACHMENT1),h.copyToTexture(0,0,1,1,0,0,this._maxTexture),f.readBuffer(f.COLOR_ATTACHMENT0),h.copyToTexture(0,0,1,1,0,0,this._minTexture);const x=r.fbo.getColorTexture(m);if(!x)throw new Error("Start buffer color texture is not available, cannot compute diff.");this._computeDiff(t,x,this._sumTexture,this._numOfNoDataTexture,i,a);const T=this._applySecondReductionPass(t,i,a).getColorTexture(m);this._computeSdtDev(t,this._minTexture,this._maxTexture,this._sumTexture,this._numOfNoDataTexture,T,i,a),u.bindFramebuffer(l),u.setViewport(0,0,r.fbo.width,r.fbo.height),o.setPipelineState(s)}_applyReductionPass(e){const{context:t,painter:r}=e,s=this.shaders.textureStatisticsMinMaxSum,u=this._framebuffers;if(null===u)throw new Error("Framebuffers are not initialized, cannot apply reduction pass.");const o=this._startFramebuffer;let i=o.getColorTexture(m),a=o.getColorTexture(x),n=o.getColorTexture(l),f=o.getColorTexture(h);const c=u;let T=0;for(const d of c){t.setViewport(0,0,d.width,d.height),t.bindFramebuffer(d),t.setClearColor(0,0,0,0),t.clear(16384);const e={shader:s,uniforms:{config:{minTexture:{texture:i,unit:1},maxTexture:{texture:a,unit:2},sumTexture:{texture:n,unit:3},numOfNoDataTexture:{texture:f,unit:4},width:d.width,height:d.height,isFirstPass:0===T?1:0}},defines:null,optionalAttributes:null,useComputeBuffer:!1};r.submitDrawMesh(t,e,r.quadMesh),i=d.getColorTexture(m),a=d.getColorTexture(x),n=d.getColorTexture(l),f=d.getColorTexture(h),T++}return u.at(-1)}_applySecondReductionPass(e,t,r){const{context:s,painter:u}=e,o=this.shaders.textureStatisticsSum,i=this._framebuffers;if(null===i||null==this._diffFramebuffer)throw new Error("Framebuffers are not initialized, cannot apply reduction pass.");let a=this._diffFramebuffer.getColorTexture(m);const n=i;for(const f of n){s.setViewport(0,0,f.width,f.height),s.bindFramebuffer(f),s.setClearColor(0,0,0,0),s.clear(16384);const e={shader:o,uniforms:{config:{sumTexture:{texture:a,unit:2},width:f.width,height:f.height}},defines:null,optionalAttributes:null,useComputeBuffer:!1};u.submitDrawMesh(s,e,u.quadMesh),a=f.getColorTexture(m)}return i.at(-1)}_updateResources(e,t){const{context:r}=e,s=t.width,u=t.height;if(null===this._startFramebuffer){if(!f().supportsColorBufferFloat)throw new Error("WebGL does not support color buffer float, cannot compute texture statistics.");const e=t.getColorTexture(m);if(!e)throw new Error("Input FBO does not have a color attachment 0, cannot compute texture statistics.");const o=e.descriptor,{dataType:i,internalFormat:a}=o,n=w(r,s,u,i,a??c.RGBA8,4),d=n.getColorTexture(m),p=n.getColorTexture(x),b=n.getColorTexture(l),_=n.getColorTexture(h);t.copyToTexture(0,0,s,u,0,0,d),t.copyToTexture(0,0,s,u,0,0,p),t.copyToTexture(0,0,s,u,0,0,b),t.copyToTexture(0,0,s,u,0,0,_),this._startFramebuffer=n,this._diffFramebuffer=w(r,s,u,T.FLOAT,c.RGBA32F),this._resultsFramebuffer=w(r,1,1,T.FLOAT,c.RGBA32F,4),this._minTexture=C(r,1,1,T.FLOAT,c.RGBA32F),this._maxTexture=C(r,1,1,T.FLOAT,c.RGBA32F),this._sumTexture=C(r,1,1,T.FLOAT,c.RGBA32F),this._numOfNoDataTexture=C(r,1,1,T.FLOAT,c.R32F)}else{const e=this._startFramebuffer;e.resize(s,u);const r=e.getColorTexture(m),o=e.getColorTexture(x),i=e.getColorTexture(l),a=e.getColorTexture(h);t.copyToTexture(0,0,s,u,0,0,r),t.copyToTexture(0,0,s,u,0,0,o),t.copyToTexture(0,0,s,u,0,0,i),t.copyToTexture(0,0,s,u,0,0,a),this._diffFramebuffer.resize(s,u)}if(this._width===s&&this._height===u&&null!==this._framebuffers)return;const o=(this._framebuffers||[]).reverse();this._framebuffers=null,this._width=s,this._height=u,this._framebuffers=this._updateFramebuffers(r,s,u,o,4)}_updateFramebuffers(e,t,s,u,o=1){const i=[];let a=t,n=s;for(;a>1||n>1;){const t=Math.max(1,Math.floor(a/2)),r=Math.max(1,Math.floor(n/2)),s=g(e,t,r,u,o);i.push(s),a=t,n=r}return i.at(-1),u.forEach(e=>r(e)),u.length=0,i}_computeDiff(e,t,r,s,u,o){const{context:i,painter:a}=e;i.bindFramebuffer(this._diffFramebuffer),i.setViewport(0,0,u,o),i.setClearColor(0,0,0,0),i.clear(16384);const n={shader:this.shaders.textureStatisticsDiff,uniforms:{config:{inputTexture:{texture:t,unit:1},sumTexture:{texture:r,unit:2},numOfNoDataTexture:{texture:s,unit:3},numTexels:u*o}},defines:null,optionalAttributes:null,useComputeBuffer:!1};a.submitDrawMesh(i,n,a.quadMesh)}_computeSdtDev(e,t,r,s,u,o,i,a){const{context:n,painter:f}=e;n.bindFramebuffer(this._resultsFramebuffer),n.setViewport(0,0,1,1),n.setClearColor(0,0,0,0),n.clear(16384);const l={shader:this.shaders.textureStatisticsStdDev,uniforms:{config:{minTexture:{texture:t,unit:1},maxTexture:{texture:r,unit:2},sumTexture:{texture:s,unit:3},numOfNoDataTexture:{texture:u,unit:4},diffSqTexture:{texture:o,unit:5},numTexels:i*a}},defines:null,optionalAttributes:null,useComputeBuffer:!1};f.submitDrawMesh(n,l,f.quadMesh)}}function g(e,t,r,s,u=1){let o=s.pop();return void 0!==o?o.resize(t,r):o=w(e,t,r,T.FLOAT,c.RGBA32F,u),o}function w(e,t,r,s,u,o=1){if(o<1||o>4)throw new Error("Number of color attachments must be between 1 and 4.");const i=new d(e,C(e,t,r,s,u));for(let a=1;a<o;a++){const o=C(e,t,r,s,u);i.attachColorTexture(o,m+a)}return i}function C(e,t,r,s,u){const o=new b(t,r);return o.samplingMode=9728,o.wrapMode=33071,o.pixelFormat=6408,o.dataType=s,o.internalFormat=u,new p(e,o)}function S(e){const r=t(e),s=r/2;return Math.abs(r-e)<Math.abs(s-e)?r:s}export{F as TextureStatisticsTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{FillShader as a}from"../shaders/FillShader.js";class n extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{FillShader as a}from"../shaders/FillShader.js";class n extends e{constructor(){super(...arguments),this.type=15,this.shaders={geometry:new a}}render(e,a){const{painter:n}=e,u=a.instance.getInput();n.setShader({shader:this.shaders.geometry,uniforms:{...i(e,a.target,u.uniforms),...s(e,a.target)},defines:r(e),optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}),n.setPipelineState(o(e)),n.submitDraw(e,a)}}export{n as FillTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{GradientFillShader as a}from"../shaders/GradientFillShader.js";class n extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{GradientFillShader as a}from"../shaders/GradientFillShader.js";class n extends e{constructor(){super(...arguments),this.type=16,this.shaders={geometry:new a},this.symbologyPlane=0}render(e,a){const{painter:n}=e,u=a.instance.getInput();n.setShader({shader:this.shaders.geometry,uniforms:{...i(e,a.target,u.uniforms),...s(e,a.target),mosaicInfo:n.textureManager.getMosaicInfo(e,a.textureKey)},defines:{...r(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}),n.setPipelineState(o(e)),n.submitDraw(e,a)}}export{n as GradientFillTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{getAntialiasingControls as n}from"../line/utils.js";import{OutlineFillShader as a}from"../shaders/OutlineFillShader.js";class u extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{getAntialiasingControls as n}from"../line/utils.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,pixelRatio:m}=e,p=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...i(e,a.target,p.uniforms),...s(e,a.target),antialiasingControls:n(m)},defines:{...r(e)},optionalAttributes:p.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(o(e)),u.submitDraw(e,a)}}export{u as OutlineFillTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getLocalTileOffset as s,getFeatureUniforms as i,resolveDynamicUniforms as a,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{PatternFillShader as n}from"../shaders/PatternFillShader.js";class u extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getLocalTileOffset as s,getFeatureUniforms as i,resolveDynamicUniforms as a,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{PatternFillShader as n}from"../shaders/PatternFillShader.js";class u extends e{constructor(){super(...arguments),this.type=28,this.shaders={geometry:new n}}render(e,n){const{painter:u}=e,f=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,f.uniforms),...i(e,n.target),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:s(n.target)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(o(e)),u.submitDraw(e,n)}}export{u as PatternFillTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getLocalTileOffset as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{getAntialiasingControls as n}from"../line/utils.js";import{PatternOutlineFillShader as u}from"../shaders/PatternOutlineFillShader.js";class l extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getLocalTileOffset as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{getAntialiasingControls as n}from"../line/utils.js";import{PatternOutlineFillShader as u}from"../shaders/PatternOutlineFillShader.js";class l extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new u}}render(e,u){const{painter:l,pixelRatio:m}=e,f=u.instance.getInput();l.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e,u.target),antialiasingControls:n(m),mosaicInfo:l.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:s(u.target)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),l.setPipelineState(a(e)),l.submitDraw(e,u)}}export{l as PatternOutlineFillTechnique};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/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{FlowImageryShader as i}from"../shaders/flow/FlowImageryShader.js";import{FlowParticlesShader as a}from"../shaders/flow/FlowParticlesShader.js";import{FlowStreamlinesShader as o}from"../shaders/flow/FlowStreamlinesShader.js";class n extends r{constructor(){super(...arguments),this.type=14,this.drawPhase=1,this.shaders={imagery:new i,particles:new a,streamlines:new o}}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,i){const{item:a,dvsMat3:o}=i,n=r.time/1e3;return{time:r.animationsEnabled?n:t,dvsMat3:o,displayViewMat3:r.state.displayViewMat3,displayOpacity:r.animationsEnabled?e(a.displayOpacity,n):s(a.displayOpacity),startTime:a.startTime,endTime:a.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,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,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,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}}export{n as FlowTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{simplePipelineState as e}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GridShader as r}from"../shaders/GridShader.js";class t extends s{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{simplePipelineState as e}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GridShader as r}from"../shaders/GridShader.js";class t extends s{constructor(){super(...arguments),this.type=18,this.shaders={grid:new r}}render(s,r){const{context:t,painter:i}=s;i.setPipelineState(e),i.submitDrawMesh(t,{shader:this.shaders.grid,uniforms:r,defines:null,optionalAttributes:null,useComputeBuffer:!1},i.quadMesh)}}export{t as GridTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s}from"../featureTechniqueUtils.js";import{HeatmapResources as i}from"./HeatmapResources.js";import{HeatmapAccumulateShader as n}from"../shaders/HeatmapAccumulateShader.js";import{HeatmapResolveShader as o}from"../shaders/HeatmapResolveShader.js";class u extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s}from"../featureTechniqueUtils.js";import{HeatmapResources as i}from"./HeatmapResources.js";import{HeatmapAccumulateShader as n}from"../shaders/HeatmapAccumulateShader.js";import{HeatmapResolveShader as o}from"../shaders/HeatmapResolveShader.js";class u extends e{constructor(){super(...arguments),this.type=19,this.drawPhase=73,this.shaders={accumulate:new n,resolve:new o},this._isBound=!1,this._resources=new Map}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e),this._prevFBO=null,this._unbind()}render(e,i){const{context:n,painter:o,state:u}=e,a=i.instance.getInput(),{isFieldActive:l}=a.uniforms,h=this._getOrCreateResourcesRecord(n),f=h.loadQualityProfile(n);t(e)||this._bind(e,h,a),o.setShader({shader:this.shaders.accumulate,uniforms:{...s(e,i.target),kernelControls:{radius:p(a,u),isFieldActive:l?1:0}},defines:{...r(e),...f.defines},optionalAttributes:{},useComputeBuffer:t(e)});const m=t(e)?c:d;o.setPipelineState(m),o.submitDraw(e,i)}getStencilReference(e){return l(e)}renderResolvePass(e,r){if(t(e))return;const{context:s,painter:i}=e,n=this._resources.get(s);if(null==this._prevFBO||null==this._prevViewport||!n?.initialized)return;const{defines:o}=n.loadQualityProfile(s),{minDensity:u,maxDensity:a,radius:l}=r.getInput().uniforms,d=8,c=9,p=n.accumulateFramebuffer,f=n.resolveGradientTexture,m={shader:this.shaders.resolve,uniforms:{accumulatedDensity:{texture:{unit:d,texture:p.colorTexture},minAndInvRange:[u,1/(a-u)],normalization:3/(l*l*Math.PI)},gradient:{texture:{unit:c,texture:f}}},defines:o,optionalAttributes:{},useComputeBuffer:!1};s.bindFramebuffer(this._prevFBO),s.setViewport(0,0,this._prevViewport.width,this._prevViewport.height),s.bindTexture(p.colorTexture,d),s.bindTexture(f,c),i.setPipelineState(h),i.submitDrawMesh(s,m,i.quadMesh),this._unbind()}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new i,this._resources.set(e,t)),t}_unbind(){this._prevFBO=null,this._prevViewport=null,this._isBound=!1}_bind(e,t,r){if(this._isBound)return;const{context:s,state:i,pixelRatio:n}=e,o=s.getBoundFramebufferObject(),u=s.getViewport();this._prevFBO=o,this._prevViewport=u;const{gradient:l,gradientHash:d}=r.uniforms;t.ensureResolveGradientTexture(s,d,l);const{width:c,height:h}=u,f=a(p(r,i),n),m=c*f,_=h*f,w=t.ensureAccumulateFBO(s,m,_);s.blitFramebuffer(o,w,1024),s.bindFramebuffer(w),s.setViewport(0,0,w.width,w.height),s.setColorMask(!0,!0,!0,!0),s.setClearColor(0,0,0,0),s.clear(16384),this._isBound=!0}}function a(e,t){const r=t>1.5?.25:.5;return e<1/(2*r)?1:r}function l(e){return e.key.level+1}const d={color:{write:[!0,!0,!0,!0],blendMode:"additive"},depth:!1,stencil:{write:!1,test:{compare:518,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},c={...d,stencil:!1},h={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1};function p(e,t){const{referenceScale:r,radius:s}=e.uniforms;return s*(0!==r?r/t.scale:1)}export{u as HeatmapTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{memoize as e}from"../../../../../../../core/MapUtils.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{numericHash as i}from"../../../../../../../core/string.js";import{fromRotation as r,translate as s}from"../../../../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as o}from"../../../../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{transformMat2d as n,set as a,sub as l,normalize as c,add as h,scale as m}from"../../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as d}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{create as u}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertGeometryToFlat as f,convertOptimizedGeometryToFlat as g,convertFlatToOptimizedGeometry as p,FlatGeometry as _}from"../../../../../../../geometry/FlatGeometry.js";import{GeometryCursor as y}from"../../../../../../../geometry/GeometryCursor.js";import{getLabelPoint as x}from"../../../../../../../geometry/support/labelPoint.js";import{generalizeOptimizedGeometry as b,convertToGeometry as P}from"../../../../../../../layers/graphics/featureConversionUtils.js";import v from"../../../../../../../layers/graphics/OptimizedGeometry.js";import{importLazily as M}from"../../../../../../../symbols/cim/utils.js";import{tileSize as w,minMaxZoomPrecisionFactor as L}from"../../../definitions.js";import I from"../../../collisions/BoundingBox.js";import{LabelMetric as S}from"../../../collisions/LabelMetric.js";import{smoothPaths as z,pathDivide as B}from"../../../mesh/templates/segmentUtils.js";import{getMinMaxZoom as D,processColorInput as j}from"../fill/meshWriterUtils.js";import{TextMeshWriter as G,maxLabelZoom as A}from"../text/TextMeshWriter.js";const F=1,Z=0,k=128,R=w*w/16,$=M(()=>import("../../../../../../../geometry/operators/gx/operatorIntersection.js")),C=M(()=>import("../../../../../../../chunks/FlatGeometry.js"));function E(e,t,r){return i(`${e}${t}${r}`)}function O(e,t,r,s,o){return i(`${e}${t}${r}${s*2**(A-o)}`)}function T(e,t,r){return i(`${e}${t}${r}`)}function W(e,t,r,s,o){return i(`${e}${o}${t}${r*2**(A-s)}`)}const X=e(e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t});class Y extends G{constructor(){super(...arguments),this._zoomLevel=0}async loadDependencies(){await Promise.all([super.loadDependencies(),$.getImportPromise(),C.getImportPromise()])}_write(e,t,i,r,s){if(this._zoomLevel=r||0,null!=i)throw new Error("InternalError: EffectGeometry not support for LabelMeshWriter");switch(t.geometryType){case"esriGeometryPoint":{const i=t.readXForDisplay(),r=t.readYForDisplay();this._writePoint(e,i,r,0,t);break}case"esriGeometryEnvelope":case"esriGeometryPolygon":this._writePolygon(e,t,s);break;case"esriGeometryMultipoint":{let i=0;const r=y.fromFeatureSetReader(t);if(r?.nextPath())for(;r.nextPoint();)this._writePoint(e,r.x,r.y,i++,t);break}case"esriGeometryPolyline":this._writeLines(e,t)}}_getMetricDir(){const{horizontalAlignment:e,verticalAlignment:t}=this.evaluatedMeshParams;return["center"===e?0:"right"===e?-1:1,"middle"===t?0:"bottom"===t?-1:1]}_createLineLabelMetric(e,t,i,r,s,o){const[n,a]=this._getMetricDir(),l=this.evaluatedMeshParams.scaleInfo?.maxScale??0,c=this.evaluatedMeshParams.scaleInfo?.minScale??0,h=this.evaluatedMeshParams.labelClassId;return new S(e,h,t,i,r,s,n,a,l,c,o)}_writePolygon(e,t,i){const r=$.module,s=C.module.constructFromFlatGeometry,o=t.readGeometryForDisplay(),n=t.readCentroidForDisplay()?.coords,a=o?.area()||0;if(!n)return;const l=a>=R;e.requiresRefresh||=l;const c=s(f(i)),h=s(f({x:n[0],y:n[1]})),m=!!r.execute(h,c,null);if(!o||!l||!m)return void this._writePoint(e,n[0],n[1],0,t);const d=s(g("polygon",o,null)),u=r.execute(d,c,null);if(!u)return void this._writePoint(e,n[0],n[1],0,t);const b=p(new _(u.toFlatGeometry())),P=y.fromOptimized(b,"esriGeometryPolygon",1),v=x(P)??n;this._writePoint(e,v[0],v[1],0,t)}_writePoint(e,t,i,r,s){if(t<0||t>w||i<0||i>w)return;const o=this._getShaping();if(!o)return;const n=s.getDisplayId(),a=this.evaluatedMeshParams.labelClassId,l=E(this.evaluatedMeshParams.layerId,s.getObjectId(),r),c=T(s.getObjectId(),a,r),[h,m]=this._getMetricDir(),d=this.evaluatedMeshParams.scaleInfo?.maxScale??0,u=this.evaluatedMeshParams.scaleInfo?.minScale??0,f=this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0};e.metricStart(new S(n,a,l,c,t,i,h,m,d,u,f)),this._writeGlyphs(e,n,t,i,o,0,f,void 0,!1),e.metricBoxWrite(o.boundsT),e.metricEnd()}_getPointReferenceBounds(){if(!this._references)return null;for(const e of this._references){const t=e.getBoundsInfo();if(t)return t}return null}_writeLines(e,t){const{scaleInfo:i,verticalAlignment:r}=this.evaluatedMeshParams,s=this.evaluatedMeshParams.repeatLabelDistance||128,o=this._getShaping("middle");if(!o)return;const n=(e,t,i,r)=>this._placeSubdivGlyphs(e,t,i,r),a=(o.bounds.width+s)/(1<<F);this._current={out:e,id:t.getDisplayId(),objId:t.getObjectId(),shaping:o,zoomRange:D(i,this.getTileInfo()),referenceBounds:this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0},offsetDirection:null,pathIndex:0},this._verticalPlacement="bottom"===r?"above":"top"===r?"below":null,this._verticalPlacement?this._writeAboveAndBelowAlong(t,n,a):this._writeCenterAlong(t,n,a)}_writeAboveAndBelowAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=s.bounds.halfHeight,n=e.readGeometryForDisplay();if(!n)return;const a=b(n,"esriGeometryPolyline",1)??new v,l=U(a,o),c=U(a,-o),h=P(c,"esriGeometryPolyline",!1,!1),m=P(l,"esriGeometryPolyline",!1,!1),d=z(m.paths,s.bounds.width),u=z(h.paths,s.bounds.width);this._current.offsetDirection="above";for(let f=0;f<d.length;f++)this._current.pathIndex=f,B(d[f],i,t,!!r);this._current.offsetDirection="below";for(let f=0;f<u.length;f++)this._current.pathIndex=f,B(u[f],i,t,!!r)}_writeCenterAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=z(e.readLegacyGeometryForDisplay().paths,s.bounds.width);for(let n=0;n<o.length;n++)this._current.pathIndex=n,B(o[n],i,t,!!r)}_placeSubdivGlyphs(e,t,i,r){const{allowOverrun:s,labelPosition:o,repeatLabelDistance:n,layerId:a,labelClassId:l}=this.evaluatedMeshParams,{objId:c,shaping:h,pathIndex:m}=this._current,d=this._current.zoomRange[0],u=X(t),f=this._current.shaping.bounds.width/(1<<F),g=Math.sqrt(n||k)/(1<<F),p=Math.min(i,r-i),_=h.isMultiline?A:Math.log2(p/(g+f/2)),y=0===t?_:Math.min(u,_),x=Math.max(d,this._zoomLevel+F-y),b=this._zoomLevel-x,P=h.bounds.width/2*2**b,v=O(a,c,m,t,this._zoomLevel),M=W(c,m,t,this._zoomLevel,l);this._current.shaping.isMultiline?0===t&&this._placeStraight(e,x,v,M):s&&b<0?this._placeStraightAlong(e,d,v,M):"parallel"===o?this._placeStraightAlong(e,x,v,M):"curved"===o&&this._placeCurved(e,x,P,v,M)}_placeStraight(e,t,i,r){const{out:s,id:o,shaping:n,referenceBounds:a}=this._current,{x:l,y:c}=e;s.metricStart(this._createLineLabelMetric(o,i,r,l,c)),s.metricBoxWrite(n.boundsT);const h=e.angle*(180/Math.PI)%360,m=(e.angle*(180/Math.PI)+180)%360;if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const e={clipAngle:h,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const e={clipAngle:m,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}s.metricEnd()}_placeCurved(e,t,i,r,s){const{out:o,id:n}=this._current;o.metricStart(this._createLineLabelMetric(n,r,s,e.x,e.y));const a=e.clone(),l=e.angle*(180/Math.PI)%360,c=(e.angle*(180/Math.PI)+180)%360;this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||(this._placeFirst(a,t,1,l),this._placeBack(e,a,t,i,1,l),this._placeForward(e,a,t,i,1,l)),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||(this._placeFirst(a,t,0,c),this._placeBack(e,a,t,i,0,c),this._placeForward(e,a,t,i,0,c)),o.metricEnd()}_placeStraightAlong(e,i,n,a){const{out:l,id:c,shaping:h,zoomRange:m,referenceBounds:u}=this._current,{boxBorderLineColor:f,boxBackgroundColor:g}=this.evaluatedMeshParams,p=e.clone(),_=e.angle*(180/Math.PI)%360,y=(e.angle*(180/Math.PI)+180)%360,x=h.glyphs.length>0&&!(!f&&!g);if(l.metricStart(this._createLineLabelMetric(c,n,a,e.x,e.y)),x){const n=Math.max(i,m[0],0),a=Math.min(A,m[1]),f=r(o(),-e.angle),g={minZoom:n,maxZoom:a,clipAngle:_,mapAligned:!0,isLineLabel:!0},p=t(this.evaluatedMeshParams.offsetX),x=t(this.evaluatedMeshParams.offsetY);if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const t=d(p,-1*x),[i,r]=h.shapeBackground(s(o(),f,t));l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,u,g),l.recordEnd()}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const t=d(p,x),[i,r]=h.shapeBackground(s(o(),f,t));g.clipAngle=y,l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,u,g),l.recordEnd()}}this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||this._placeFirst(p,i,1,_,!0),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||this._placeFirst(p,i,0,y,!0),l.metricEnd()}_placeBack(e,t,i,r,s,o){const n=e.clone();let a=e.backwardLength+Z;for(;n.prev()&&!(a>=r);)this._placeOnSegment(n,t,a,i,-1,s,o),a+=n.length+Z}_placeForward(e,t,i,r,s,o){const n=e.clone();let a=e.remainingLength+Z;for(;n.next()&&!(a>=r);)this._placeOnSegment(n,t,a,i,1,s,o),a+=n.length+Z}_placeFirst(e,i,s,a,l=!1){const{out:c,id:h,shaping:m,zoomRange:u,referenceBounds:f}=this._current,g=m.glyphs,p=t(this.evaluatedMeshParams.offsetX),_=t(this.evaluatedMeshParams.offsetY),y=d(p,_),x=r(o(),-e.angle);n(y,y,x);for(const t of g){const r=t.x>m.bounds.x?s:1-s,o=r*e.remainingLength+(1-r)*e.backwardLength,n=Math.abs(t.x+t.width/2-m.bounds.x),d=Math.max(0,this._zoomLevel+Math.log2(n/(o+Z))),g=Math.max(i,l?0:d);if(t.maxZoom=Math.min(u[1],A),t.angle=e.angle+(1-s)*Math.PI,t.minZoom=Math.max(u[0],g),this._writeLineGlyph(c,h,e.x,e.y,t,a,f,!0),(s||this._current.offsetDirection)&&this._isVisible(t.minZoom,t.maxZoom)){const e=new I(t.bounds.x+y[0],t.bounds.y+y[1],t.bounds.width,t.bounds.height);c.metricBoxWrite(e)}}}_placeOnSegment(e,i,s,a,l,c,h){const{out:m,id:u,shaping:f,referenceBounds:g}=this._current,p=f.glyphs,_=e.dx/e.length,y=e.dy/e.length,x={x:e.x+s*-l*_,y:e.y+s*-l*y},b=t(this.evaluatedMeshParams.offsetX),P=t(this.evaluatedMeshParams.offsetY),v=d(b,P),M=r(o(),-e.angle);n(v,v,M);for(const t of p){const i=t.x>f.bounds.x?c:1-c;if(!(i&&1===l||!i&&-1===l))continue;const r=Math.abs(t.x+t.width/2-f.bounds.x),o=Math.max(0,this._zoomLevel+Math.log2(r/s)-.1),n=Math.max(a,this._zoomLevel+Math.log2(r/(s+e.length+Z)));if(0!==o&&(t.angle=e.angle+(1-c)*Math.PI,t.minZoom=n,t.maxZoom=o,this._writeLineGlyph(m,u,x.x,x.y,t,h,g,!0),(c||this._current.offsetDirection)&&this._isVisible(t.minZoom,t.maxZoom))){const e=new I(t.bounds.x+v[0],t.bounds.y+v[1],t.bounds.width,t.bounds.height);m.metricBoxWrite(e)}}}_writeLineGlyph(e,t,i,r,s,o,n,a){if(i<0||i>w||r<0||r>w)return;e.recordStart(this.instanceId,this.attributeLayout,s.textureBinding);const{texcoords:l,offsets:c}=s,{fontSize:h,haloSize:m,outlineSize:d}=this._textMeshTransformProps,{sdfSize:u,sdfRadius:f}=this.evaluatedMeshParams.glyphs;this._writeQuad(e,t,i,r,{sdfSize:u,sdfRadius:f,texcoords:l,offsets:c,fontSize:h,haloSize:m,outlineSize:d,color:j(this.evaluatedMeshParams.color),isBackground:!1,referenceBounds:n,minZoom:Math.max(this._current.zoomRange[0],s.minZoom),maxZoom:Math.min(this._current.zoomRange[1],s.maxZoom),clipAngle:o,mapAligned:a,isLineLabel:!0}),e.recordEnd()}_packedZoom(e){return Math.floor(e*L)/L}_isVisible(e,t){let i=Math.max(this._current.zoomRange[0],e),r=Math.min(this._current.zoomRange[1],t);i=this._packedZoom(i),r=this._packedZoom(r);const s=this._packedZoom(this._zoomLevel);return i<=s&&s<=r}}function U(e,t){const i=new v,{coords:r,lengths:s}=e,o=u(),n=u(),d=u(),f=u(),g=u(),p=u(),_=2;let y=0;for(let u=0;u<s.length;u++){const e=s[u];for(let s=0;s<e;s++){const u=_*(s+y-1),x=_*(s+y),b=_*(s+y+1);s>0?a(o,r[u],r[u+1]):a(o,0,0),a(n,r[x],r[x+1]),s<e-1?a(d,r[b],r[b+1]):a(d,0,0),0===s?a(f,0,0):(l(f,n,o),c(f,f),a(f,f[1],-f[0])),s===e-1?a(g,0,0):(l(g,d,n),c(g,g),a(g,g[1],-g[0])),h(p,f,g),c(p,p);const P=p[0]*g[0]+p[1]*g[1];0!==P&&m(p,p,P),m(p,p,t),i.coords.push(n[0]+p[0],n[1]+p[1])}i.lengths.push(e),y+=e}return i}export{Y as LabelMeshWriter,E as labelIdHash,T as labelMetricHash,O as lineLabelIdHash,W as lineLabelMetricHash};
|
|
2
|
+
import{memoize as e}from"../../../../../../../core/MapUtils.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{numericHash as i}from"../../../../../../../core/string.js";import{fromRotation as r,translate as s}from"../../../../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as o}from"../../../../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{transformMat2d as n,set as a,sub as l,normalize as c,add as h,scale as m}from"../../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as u}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{create as d}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertGeometryToFlat as f,convertOptimizedGeometryToFlat as g,convertFlatToOptimizedGeometry as p,FlatGeometry as _}from"../../../../../../../geometry/FlatGeometry.js";import{GeometryCursor as y}from"../../../../../../../geometry/GeometryCursor.js";import{getLabelPoint as x}from"../../../../../../../geometry/support/labelPoint.js";import{generalizeOptimizedGeometry as P,convertToGeometry as b}from"../../../../../../../layers/graphics/featureConversionUtils.js";import v from"../../../../../../../layers/graphics/OptimizedGeometry.js";import{importLazily as M}from"../../../../../../../symbols/cim/utils.js";import{tileSize as w,minMaxZoomPrecisionFactor as L}from"../../../definitions.js";import I from"../../../collisions/BoundingBox.js";import{LabelMetric as B}from"../../../collisions/LabelMetric.js";import{smoothPaths as S,pathDivide as z}from"../../../mesh/templates/segmentUtils.js";import{getMinMaxZoom as G,processColorInput as j}from"../fill/meshWriterUtils.js";import{TextMeshWriter as D,maxLabelZoom as A}from"../text/TextMeshWriter.js";const F=1,k=0,R=128,$=w*w/16,C=M(()=>import("../../../../../../../geometry/operators/gx/operatorIntersection.js")),O=M(()=>import("../../../../../../../chunks/FlatGeometry.js"));function E(e,t,r){return i(`${e}${t}${r}`)}function Z(e,t,r,s,o){return i(`${e}${t}${r}${s*2**(A-o)}`)}function T(e,t,r){return i(`${e}${t}${r}`)}function W(e,t,r,s,o){return i(`${e}${o}${t}${r*2**(A-s)}`)}const U=e(e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t});class X extends D{constructor(){super(...arguments),this._zoomLevel=0}async loadDependencies(){await Promise.all([super.loadDependencies(),C.getImportPromise(),O.getImportPromise()])}_write(e,t,i,r,s){if(this._zoomLevel=r||0,null!=i)throw new Error("InternalError: EffectGeometry not support for LabelMeshWriter");switch(t.geometryType){case"esriGeometryPoint":{const i=t.readXForDisplay(),r=t.readYForDisplay();this._writePoint(e,i,r,0,t);break}case"esriGeometryEnvelope":case"esriGeometryPolygon":this._writePolygon(e,t,s);break;case"esriGeometryMultipoint":{let i=0;const r=y.fromFeatureSetReader(t);if(r?.nextPath())for(;r.nextPoint();)this._writePoint(e,r.x,r.y,i++,t);break}case"esriGeometryPolyline":this._writeLines(e,t)}}_getMetricDir(){const{horizontalAlignment:e,verticalAlignment:t}=this.evaluatedMeshParams;return["center"===e?0:"right"===e?-1:1,"middle"===t?0:"bottom"===t?-1:1]}_createLineLabelMetric(e,t,i,r,s,o){const[n,a]=this._getMetricDir(),l=this.evaluatedMeshParams.scaleInfo?.maxScale??0,c=this.evaluatedMeshParams.scaleInfo?.minScale??0,h=this.evaluatedMeshParams.labelClassId;return new B(e,h,t,i,r,s,n,a,l,c,o)}_writePolygon(e,t,i){const r=C.module,s=O.module.constructFromFlatGeometry,o=t.readGeometryForDisplay(),n=t.readCentroidForDisplay()?.coords,a=o?.area()||0;if(!n)return;const l=a>=$;e.requiresRefresh||=l;const c=s(f(i)),h=s(f({x:n[0],y:n[1]})),m=!!r.execute(h,c,null);if(!o||!l||!m)return void this._writePoint(e,n[0],n[1],0,t);const u=s(g("polygon",o,null)),d=r.execute(u,c,null);if(!d)return void this._writePoint(e,n[0],n[1],0,t);const P=p(new _(d.toFlatGeometry())),b=y.fromOptimized(P,"esriGeometryPolygon",1),v=x(b)??n;this._writePoint(e,v[0],v[1],0,t)}_writePoint(e,t,i,r,s){if(t<0||t>w||i<0||i>w)return;const o=this._getShaping();if(!o)return;const n=s.getDisplayId(),a=this.evaluatedMeshParams.labelClassId,l=E(this.evaluatedMeshParams.layerId,s.getObjectId(),r),c=T(s.getObjectId(),a,r),[h,m]=this._getMetricDir(),u=this.evaluatedMeshParams.scaleInfo?.maxScale??0,d=this.evaluatedMeshParams.scaleInfo?.minScale??0,f=this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0};e.metricStart(new B(n,a,l,c,t,i,h,m,u,d,f)),this._writeGlyphs(e,n,t,i,o,0,f,void 0,!1),e.metricBoxWrite(o.boundsT),e.metricEnd()}_getPointReferenceBounds(){if(!this._references)return null;for(const e of this._references){const t=e.getBoundsInfo();if(t)return t}return null}_writeLines(e,t){const{scaleInfo:i,verticalAlignment:r}=this.evaluatedMeshParams,s=this.evaluatedMeshParams.repeatLabelDistance||128,o=this._getShaping("middle");if(!o)return;const n=(e,t,i,r)=>this._placeSubdivGlyphs(e,t,i,r),a=(o.bounds.width+s)/(1<<F);this._current={out:e,id:t.getDisplayId(),objId:t.getObjectId(),shaping:o,zoomRange:G(i,this.getTileInfo()),referenceBounds:this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0},offsetDirection:null,pathIndex:0},this._verticalPlacement="bottom"===r?"above":"top"===r?"below":null,this._verticalPlacement?this._writeAboveAndBelowAlong(t,n,a):this._writeCenterAlong(t,n,a)}_writeAboveAndBelowAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=s.bounds.halfHeight,n=e.readGeometryForDisplay();if(!n)return;const a=P(n,"esriGeometryPolyline",1)??new v,l=Y(a,o),c=Y(a,-o),h=b(c,"esriGeometryPolyline",!1,!1),m=b(l,"esriGeometryPolyline",!1,!1),u=S(m.paths,s.bounds.width),d=S(h.paths,s.bounds.width);this._current.offsetDirection="above";for(let f=0;f<u.length;f++)this._current.pathIndex=f,z(u[f],i,t,!!r);this._current.offsetDirection="below";for(let f=0;f<d.length;f++)this._current.pathIndex=f,z(d[f],i,t,!!r)}_writeCenterAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=S(e.readLegacyGeometryForDisplay().paths,s.bounds.width);for(let n=0;n<o.length;n++)this._current.pathIndex=n,z(o[n],i,t,!!r)}_placeSubdivGlyphs(e,t,i,r){const{allowOverrun:s,labelPosition:o,repeatLabelDistance:n,layerId:a,labelClassId:l}=this.evaluatedMeshParams,{objId:c,shaping:h,pathIndex:m}=this._current,u=this._current.zoomRange[0],d=U(t),f=this._current.shaping.bounds.width/(1<<F),g=Math.sqrt(n||R)/(1<<F),p=Math.min(i,r-i),_=h.isMultiline?A:Math.log2(p/(g+f/2)),y=0===t?_:Math.min(d,_),x=Math.max(u,this._zoomLevel+F-y),P=this._zoomLevel-x,b=h.bounds.width/2*2**P,v=Z(a,c,m,t,this._zoomLevel),M=W(c,m,t,this._zoomLevel,l);this._current.shaping.isMultiline?0===t&&this._placeStraight(e,x,v,M):s&&P<0?this._placeStraightAlong(e,u,v,M):"parallel"===o?this._placeStraightAlong(e,x,v,M):"curved"===o&&this._placeCurved(e,x,b,v,M)}_placeStraight(e,t,i,r){const{out:s,id:o,shaping:n,referenceBounds:a}=this._current,{x:l,y:c}=e;s.metricStart(this._createLineLabelMetric(o,i,r,l,c)),s.metricBoxWrite(n.boundsT);const h=e.angle*(180/Math.PI)%360,m=(e.angle*(180/Math.PI)+180)%360;if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const e={clipAngle:h,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const e={clipAngle:m,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}s.metricEnd()}_placeCurved(e,t,i,r,s){const{out:o,id:n}=this._current;o.metricStart(this._createLineLabelMetric(n,r,s,e.x,e.y));const a=e.clone(),l=e.angle*(180/Math.PI)%360,c=(e.angle*(180/Math.PI)+180)%360;this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||(this._placeFirst(a,t,1,l),this._placeBack(e,a,t,i,1,l),this._placeForward(e,a,t,i,1,l)),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||(this._placeFirst(a,t,0,c),this._placeBack(e,a,t,i,0,c),this._placeForward(e,a,t,i,0,c)),o.metricEnd()}_placeStraightAlong(e,i,n,a){const{out:l,id:c,shaping:h,zoomRange:m,referenceBounds:d}=this._current,{boxBorderLineColor:f,boxBackgroundColor:g}=this.evaluatedMeshParams,p=e.clone(),_=e.angle*(180/Math.PI)%360,y=(e.angle*(180/Math.PI)+180)%360,x=h.glyphs.length>0&&!(!f&&!g);if(l.metricStart(this._createLineLabelMetric(c,n,a,e.x,e.y)),x){const n=Math.max(i,m[0],0),a=Math.min(A,m[1]),f=r(o(),-e.angle),g={minZoom:n,maxZoom:a,clipAngle:_,mapAligned:!0,isLineLabel:!0},p=t(this.evaluatedMeshParams.offsetX),x=t(this.evaluatedMeshParams.offsetY);if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const t=u(p,-1*x),[i,r]=h.shapeBackground(s(o(),f,t));l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,d,g),l.recordEnd()}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const t=u(p,x),[i,r]=h.shapeBackground(s(o(),f,t));g.clipAngle=y,l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,d,g),l.recordEnd()}}this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||this._placeFirst(p,i,1,_,!0),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||this._placeFirst(p,i,0,y,!0),l.metricEnd()}_placeBack(e,t,i,r,s,o){const n=e.clone();let a=e.backwardLength+k;for(;n.prev()&&!(a>=r);)this._placeOnSegment(n,t,a,i,-1,s,o),a+=n.length+k}_placeForward(e,t,i,r,s,o){const n=e.clone();let a=e.remainingLength+k;for(;n.next()&&!(a>=r);)this._placeOnSegment(n,t,a,i,1,s,o),a+=n.length+k}_placeFirst(e,t,i,r,s=!1){const{out:o,id:n,shaping:a,zoomRange:l,referenceBounds:c}=this._current,h=a.glyphs,m=this._getBoundsOffset(e.angle);for(const u of h){const h=u.x>a.bounds.x?i:1-i,d=h*e.remainingLength+(1-h)*e.backwardLength,f=Math.abs(u.x+u.width/2-a.bounds.x),g=Math.max(0,this._zoomLevel+Math.log2(f/(d+k))),p=Math.max(t,s?0:g);u.angle=e.angle+(1-i)*Math.PI;const _=[Math.max(l[0],p),Math.min(l[1],A)];this._writeLineGlyph(o,n,e.x,e.y,u,_,r,c),this._writeLineGlyphBox(o,u.bounds,i,_,m)}}_placeOnSegment(e,t,i,r,s,o,n){const{out:a,id:l,shaping:c,referenceBounds:h}=this._current,m=c.glyphs,u=e.dx/e.length,d=e.dy/e.length,f={x:e.x+i*-s*u,y:e.y+i*-s*d},g=this._getBoundsOffset(e.angle);for(const p of m){const t=p.x>c.bounds.x?o:1-o;if(!(t&&1===s||!t&&-1===s))continue;const m=Math.abs(p.x+p.width/2-c.bounds.x),u=Math.max(0,this._zoomLevel+Math.log2(m/i)-.1),d=Math.max(r,this._zoomLevel+Math.log2(m/(i+e.length+k)));if(0===u)continue;p.angle=e.angle+(1-o)*Math.PI;const _=[d,u];this._writeLineGlyph(a,l,f.x,f.y,p,_,n,h),this._writeLineGlyphBox(a,p.bounds,o,_,g)}}_getBoundsOffset(e){const i=t(this.evaluatedMeshParams.offsetX),s=t(this.evaluatedMeshParams.offsetY),a=u(i,s),l=r(o(),-e);return n(a,a,l)}_writeLineGlyph(e,t,i,r,s,o,n,a){if(i<0||i>w||r<0||r>w)return;e.recordStart(this.instanceId,this.attributeLayout,s.textureBinding);const{texcoords:l,offsets:c}=s,{fontSize:h,haloSize:m,outlineSize:u}=this._textMeshTransformProps,{sdfSize:d,sdfRadius:f}=this.evaluatedMeshParams.glyphs;this._writeQuad(e,t,i,r,{sdfSize:d,sdfRadius:f,texcoords:l,offsets:c,fontSize:h,haloSize:m,outlineSize:u,color:j(this.evaluatedMeshParams.color),isBackground:!1,referenceBounds:a,minZoom:Math.max(this._current.zoomRange[0],o[0]),maxZoom:Math.min(this._current.zoomRange[1],o[1]),clipAngle:n,mapAligned:!0,isLineLabel:!0}),e.recordEnd()}_writeLineGlyphBox(e,t,i,r,s){if((i||this._current.offsetDirection)&&this._isVisible(r)){const i=new I(t.x+s[0],t.y+s[1],t.width,t.height);e.metricBoxWrite(i)}}_packedZoom(e){return Math.floor(e*L)/L}_isVisible(e){let t=Math.max(this._current.zoomRange[0],e[0]),i=Math.min(this._current.zoomRange[1],e[1]);t=this._packedZoom(t),i=this._packedZoom(i);const r=this._packedZoom(this._zoomLevel);return t<=r&&r<=i}}function Y(e,t){const i=new v,{coords:r,lengths:s}=e,o=d(),n=d(),u=d(),f=d(),g=d(),p=d(),_=2;let y=0;for(let d=0;d<s.length;d++){const e=s[d];for(let s=0;s<e;s++){const d=_*(s+y-1),x=_*(s+y),P=_*(s+y+1);s>0?a(o,r[d],r[d+1]):a(o,0,0),a(n,r[x],r[x+1]),s<e-1?a(u,r[P],r[P+1]):a(u,0,0),0===s?a(f,0,0):(l(f,n,o),c(f,f),a(f,f[1],-f[0])),s===e-1?a(g,0,0):(l(g,u,n),c(g,g),a(g,g[1],-g[0])),h(p,f,g),c(p,p);const b=p[0]*g[0]+p[1]*g[1];0!==b&&m(p,p,b),m(p,p,t),i.coords.push(n[0]+p[0],n[1]+p[1])}i.lengths.push(e),y+=e}return i}export{X as LabelMeshWriter,E as labelIdHash,T as labelMetricHash,Z as lineLabelIdHash,W as lineLabelMetricHash};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as s,getFeaturePipelineState as t,isHittest as r,getFeatureUniforms as a,resolveDynamicUniforms as i}from"../featureTechniqueUtils.js";import{TextShader as n}from"../text/TextShader.js";class o extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as s,getFeaturePipelineState as t,isHittest as r,getFeatureUniforms as a,resolveDynamicUniforms as i}from"../featureTechniqueUtils.js";import{TextShader as n}from"../text/TextShader.js";class o extends e{constructor(){super(...arguments),this.type=20,this.shaders={geometry:new n},this.drawPhase=14,this.symbologyPlane=3}render(e,n){const{painter:o}=e,u=s(e),d={...t(e),stencil:{write:!1,test:{compare:516,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}},m=n.instance.getInput(),c={shader:this.shaders.geometry,uniforms:{...i(e,n.target,m.uniforms),...a(e,n.target),mosaicInfo:o.textureManager.getMosaicInfo(e,n.textureKey)},defines:{...u,textRenderPassType:0,isBackgroundPass:!0,isLabel:!0},optionalAttributes:m.optionalAttributes,useComputeBuffer:r(e)};o.setPipelineState(d),o.setShader(c),o.submitDraw(e,n,{stencilRef:255}),o.setShader({...c,defines:{...u,textRenderPassType:2,isBackgroundPass:!1,isLabel:!0}}),o.submitDraw(e,n,{stencilRef:255}),o.setShader({...c,defines:{...u,textRenderPassType:0,isBackgroundPass:!1,isLabel:!0}}),o.submitDraw(e,n,{stencilRef:255})}}export{o as LabelTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as t}from"../FeatureTechnique.js";import{isHittest as e,getSelectionDefines as s,getFeatureUniforms as r,resolveDynamicUniforms as i,isHighlight as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{getAntialiasingControls as n}from"./utils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class h extends t{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as t}from"../FeatureTechnique.js";import{isHittest as e,getSelectionDefines as s,getFeatureUniforms as r,resolveDynamicUniforms as i,isHighlight as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{getAntialiasingControls as n}from"./utils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class h extends t{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new p},this.symbologyPlane=1}_getShaderOptions(t,o,a){const{painter:p,pixelRatio:h}=t,l=o.instance.getInput();return{shader:this.shaders.geometry,uniforms:{...i(t,o.target,l.uniforms),...r(t,o.target),antialiasingControls:n(h),mosaicInfo:p.textureManager.getMosaicInfo(t,o.textureKey),technique:{isColorPass:a}},defines:{...s(t)},optionalAttributes:l.optionalAttributes,useComputeBuffer:e(t)}}render(t,s){const{painter:r}=t;if(e(t)||o(t)){const e=a(t);return r.setPipelineState(e),r.setShader(this._getShaderOptions(t,s,1)),void r.submitDraw(t,s)}t.context.setClearDepth(1),t.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(t,s,0)),r.setPipelineState(i),r.submitDraw(t,s);const n={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(t,s,1)),r.setPipelineState(n),r.submitDraw(t,s)}}export{h as GradientStrokeTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureUniforms as r,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{getAntialiasingControls as a}from"./utils.js";import{LineShader as n}from"../shaders/LineShader.js";class u extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureUniforms as r,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{getAntialiasingControls as a}from"./utils.js";import{LineShader as n}from"../shaders/LineShader.js";class u extends e{constructor(){super(...arguments),this.type=21,this.shaders={geometry:new n},this.symbologyPlane=1}render(e,n){const{painter:u,pixelRatio:m}=e,p=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...i(e,n.target,p.uniforms),...r(e,n.target),antialiasingControls:a(m)},defines:{...s(e)},optionalAttributes:p.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(o(e)),u.submitDraw(e,n)}}export{u as LineTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{getAntialiasingControls as a}from"./utils.js";import{TexturedLineShader as n}from"../shaders/TexturedLineShader.js";class u extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{getAntialiasingControls as a}from"./utils.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,pixelRatio:m}=e,p=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...i(e,n.target,p.uniforms),...s(e,n.target),antialiasingControls:a(m),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},defines:{...r(e)},optionalAttributes:p.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(o(e)),u.submitDraw(e,n)}}export{u as TexturedLineTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{clamp as e}from"../../../../../../../core/mathUtils.js";import{disposeMaybe as t}from"../../../../../../../core/maybe.js";import{isSVG as i}from"../../../../../../../core/urlUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{MagnifierShader as o}from"../shaders/MagnifierShader.js";import a from"../../../../../../webgl/Texture.js";import{TextureDescriptor as u}from"../../../../../../webgl/TextureDescriptor.js";class n extends s{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{clamp as e}from"../../../../../../../core/mathUtils.js";import{disposeMaybe as t}from"../../../../../../../core/maybe.js";import{isSVG as i}from"../../../../../../../core/urlUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{MagnifierShader as o}from"../shaders/MagnifierShader.js";import a from"../../../../../../webgl/Texture.js";import{TextureDescriptor as u}from"../../../../../../webgl/TextureDescriptor.js";class n extends s{constructor(){super(...arguments),this.type=22,this._resourcePixelRatio=1,this._position=[0,0,0,0],this.shaders={magnifier:new o}}updateResources(t,i,r,s){t.pixelRatio!==this._resourcePixelRatio&&this._destroyResources(),this._readbackTexture||this._initializeResources(t,i,r,s);const{context:o,pixelRatio:a}=t,{factor:u,offset:n,position:l}=s,{size:h}=t.state,c=s.size*a,p=1/u,x=Math.ceil(p*c);this._readbackTexture.resize(x,x);const m=a*h[0],d=a*h[1],_=.5*x,T=.5*x,f=e(a*l.x,_,m-_-1),b=e(d-a*l.y,T,d-T-1),g=f-_,y=b-T,k=this._readbackTexture;o.bindTexture(k,0),o.gl.copyTexImage2D(k.descriptor.target,0,k.descriptor.pixelFormat,g,y,x,x,0);const w=(f+n.x*a)/m*2-1,R=(b-n.y*a)/d*2-1,M=c/m*2,j=c/d*2;this._position[0]=w,this._position[1]=R,this._position[2]=M,this._position[3]=j}render(e,t){const{context:i,painter:s}=e;s.setPipelineState(r);const o={readbackTexture:{texture:this._readbackTexture,unit:0},maskTexture:{texture:this._maskTexture,unit:7},overlayTexture:{texture:this._overlayTexture,unit:6},drawPos:this._position,...t};s.submitDrawMesh(i,{shader:this.shaders.magnifier,uniforms:{config:o},defines:null,optionalAttributes:null,useComputeBuffer:!1},s.quadMesh)}shutdown(){this._destroyResources()}_initializeResources(e,t,r,s){const o=e.context;this._resourcePixelRatio=e.pixelRatio;const n=Math.ceil(s.size*e.pixelRatio);r.width=n,r.height=n;const l=new u(Math.ceil(n/s.factor));l.internalFormat=6408,l.wrapMode=33071,l.samplingMode=9728,l.flipped=!0,l.preMultiplyAlpha=!i(r.src)||!e.context.driverTest.svgPremultipliesAlpha.result,this._overlayTexture=new a(o,l,r),t.width=n,t.height=n,l.pixelFormat=l.internalFormat=6406,this._maskTexture=new a(o,l,t),l.pixelFormat=l.internalFormat=6408,l.samplingMode=9729,l.flipped=!1,this._readbackTexture=new a(o,l)}_destroyResources(){t(this._maskTexture),t(this._overlayTexture),t(this._readbackTexture),this._maskTexture=null,this._overlayTexture=null,this._readbackTexture=null}}export{n as MagnifierTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as o,getFeaturePipelineState as i}from"../featureTechniqueUtils.js";import{MarkerShader as a}from"./MarkerShader.js";class n extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureUniforms as s,resolveDynamicUniforms as o,getFeaturePipelineState as i}from"../featureTechniqueUtils.js";import{MarkerShader as a}from"./MarkerShader.js";class n extends e{constructor(){super(...arguments),this.type=23,this.shaders={geometry:new a},this.symbologyPlane=2}render(e,a){const{painter:n}=e,u=a.instance.getInput();n.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,u.uniforms),...s(e,a.target),mosaicInfo:n.textureManager.getMosaicInfo(e,a.textureKey,!0)},defines:{...r(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}),n.setPipelineState(i(e)),n.submitDraw(e,a)}}export{n as MarkerTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{AnimatedMarkerShiftMeshWriter as r,AnimatedMarkerMeshWriter as e}from"../animated/AnimatedMarkerMeshWriter.js";import{AnimatedLineMeshWriter as t,AnimatedFillMeshWriter as i}from"../animated/AnimatedPolyMeshWriters.js";import{DotDensityMeshWriter as s}from"../dotDensity/DotDensityMeshWriter.js";import{ComplexFillMeshWriter as a}from"../fill/ComplexFillMeshWriter.js";import{ComplexOutlineFillMeshWriter as o}from"../fill/ComplexOutlineFillMeshWriter.js";import{FillMeshWriter as n}from"../fill/FillMeshWriter.js";import{GradientFillMeshWriter as m}from"../fill/GradientFillMeshWriter.js";import{OutlineFillMeshWriter as l}from"../fill/OutlineFillMeshWriter.js";import{PatternFillMeshWriter as h}from"../fill/PatternFillMeshWriter.js";import{PatternOutlineFillMeshWriter as u}from"../fill/PatternOutlineFillMeshWriter.js";import{HeatmapMeshWriter as p}from"../heatmap/HeatmapMeshWriter.js";import{LabelMeshWriter as c}from"../labels/LabelMeshWriter.js";import{GradientStrokeMeshWriter as f}from"../line/GradientStrokeMeshWriter.js";import{LineMeshWriter as M}from"../line/LineMeshWriter.js";import{TexturedLineMeshWriter as W}from"../line/TexturedLineMeshWriter.js";import{MarkerMeshWriter as j}from"../markers/MarkerMeshWriter.js";import{MeshWriterInputEvaluator as d}from"./MeshWriterInputEvaluator.js";import{PieChartMeshWriter as w}from"../pieChart/PieChartMeshWriter.js";import{TextMeshWriter as F}from"../text/TextMeshWriter.js";class x{async createMeshWriter(r,e,t,i,s){const a=this._getMeshWriter(i.techniqueType),o=await d.create(r,e,i.inputParams,s),n=new a(i.id,o,i.optionalAttributes,t);return await n.loadDependencies(),n}_getMeshWriter(d){switch(d){case
|
|
2
|
+
import{AnimatedMarkerShiftMeshWriter as r,AnimatedMarkerMeshWriter as e}from"../animated/AnimatedMarkerMeshWriter.js";import{AnimatedLineMeshWriter as t,AnimatedFillMeshWriter as i}from"../animated/AnimatedPolyMeshWriters.js";import{DotDensityMeshWriter as s}from"../dotDensity/DotDensityMeshWriter.js";import{ComplexFillMeshWriter as a}from"../fill/ComplexFillMeshWriter.js";import{ComplexOutlineFillMeshWriter as o}from"../fill/ComplexOutlineFillMeshWriter.js";import{FillMeshWriter as n}from"../fill/FillMeshWriter.js";import{GradientFillMeshWriter as m}from"../fill/GradientFillMeshWriter.js";import{OutlineFillMeshWriter as l}from"../fill/OutlineFillMeshWriter.js";import{PatternFillMeshWriter as h}from"../fill/PatternFillMeshWriter.js";import{PatternOutlineFillMeshWriter as u}from"../fill/PatternOutlineFillMeshWriter.js";import{HeatmapMeshWriter as p}from"../heatmap/HeatmapMeshWriter.js";import{LabelMeshWriter as c}from"../labels/LabelMeshWriter.js";import{GradientStrokeMeshWriter as f}from"../line/GradientStrokeMeshWriter.js";import{LineMeshWriter as M}from"../line/LineMeshWriter.js";import{TexturedLineMeshWriter as W}from"../line/TexturedLineMeshWriter.js";import{MarkerMeshWriter as j}from"../markers/MarkerMeshWriter.js";import{MeshWriterInputEvaluator as d}from"./MeshWriterInputEvaluator.js";import{PieChartMeshWriter as w}from"../pieChart/PieChartMeshWriter.js";import{TextMeshWriter as F}from"../text/TextMeshWriter.js";class x{async createMeshWriter(r,e,t,i,s){const a=this._getMeshWriter(i.techniqueType),o=await d.create(r,e,i.inputParams,s),n=new a(i.id,o,i.optionalAttributes,t);return await n.loadDependencies(),n}_getMeshWriter(d){switch(d){case 15:return n;case 12:return s;case 10:return a;case 28:return h;case 16:return m;case 26:return l;case 29:return u;case 11:return o;case 23:return j;case 30:return w;case 32:return F;case 21:return M;case 33:return W;case 17:return f;case 19:return p;case 20:return c;case 2:return e;case 3:return r;case 0:return i;case 1:return t;default:throw new Error("Internal Error: Mesh writer not in the registry")}}}export{x as MeshWriterRegistry};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{OpacityShader as r}from"../shaders/OpacityShader.js";import s from"../../../../../../webgl/Texture.js";import{TextureDescriptor as i}from"../../../../../../webgl/TextureDescriptor.js";class o extends t{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{OpacityShader as r}from"../shaders/OpacityShader.js";import s from"../../../../../../webgl/Texture.js";import{TextureDescriptor as i}from"../../../../../../webgl/TextureDescriptor.js";class o extends t{constructor(){super(...arguments),this.type=25,this._layerFBOTexture=null,this._size=[0,0],this.shaders={opacity:new r}}shutdown(){super.shutdown(),this._layerFBOTexture=e(this._layerFBOTexture)}render(e,t){const{layerFBO:r}=t,{width:s,height:i}=r;this._createOrResizeResources(e,s,i);const{context:o,painter:a}=e,{amount:l}=t.effect,n=this._layerFBOTexture;o.bindFramebuffer(r),t.layerFBO.copyToTexture(0,0,s,i,0,0,n);const u={color:{write:[!0,!0,!0,!0],blendMode:"custom",blendParameters:{srcRGB:1,dstRGB:771,srcAlpha:1,dstAlpha:771}},depth:!1,stencil:!1},h={layerTexture:{texture:n,unit:0},opacity:l};n.setSamplingMode(9728),o.setClearColor(0,0,0,0),o.clear(16384),a.setPipelineState(u),a.submitDrawMesh(o,{shader:this.shaders.opacity,uniforms:{config:h},defines:null,optionalAttributes:null,useComputeBuffer:!1},a.quadMesh)}_createOrResizeResources(e,t,r){const{context:o}=e;if(!this._layerFBOTexture||this._size[0]!==t||this._size[1]!==r)if(this._size[0]=t,this._size[1]=r,this._layerFBOTexture)this._layerFBOTexture.resize(t,r);else{const e=new i(t,r);e.internalFormat=6408,e.wrapMode=33071,e.samplingMode=9728,this._layerFBOTexture=new s(o,e)}}}export{o as OpacityTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/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 o}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as a}from"../../../../../../webgl/VertexElementDescriptor.js";class h extends i{constructor(){super(...arguments),this.type=
|
|
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 o}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as a}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:o,wrapAroundShift:a}=t.config,h={...t.config,wrapAroundShift:0},p={shader:this.shaders.overlay,uniforms:{transform:t.transform,config:h},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,p,n,{stencilRef:0}),o&&(h.wrapAroundShift=a,r.submitDrawMeshUntyped(i,p,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 a("pos",2,o.FLOAT,0,8)]},uvs:{data:s.tex,layout:[new a("uv",2,o.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.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getFeatureUniforms as i,getSelectionDefines as s,resolveDynamicUniforms as r,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{PieChartShader as h}from"./PieChartShader.js";class u extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getFeatureUniforms as i,getSelectionDefines as s,resolveDynamicUniforms as r,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{PieChartShader as h}from"./PieChartShader.js";class u extends e{constructor(){super(...arguments),this.type=30,this.shaders={geometry:new h},this.symbologyPlane=2}render(e,h){const{painter:u}=e,{instance:o,target:n}=h,l=this.shaders.geometry,m=o.getInput(),f=m.uniforms.numberOfFields,S=t(e),V=i(e,n),d=s(e);l.setNumberOfFields(f),u.setShader({shader:l,uniforms:{...r(e,h.target,m.uniforms.shader),...V.storage,...V.view,...V.highlight,highlightUniforms:V.highlight,hittestUniforms:V.hittestRequest?{hittestDist:V.hittestRequest?.distance,hittestPos:V.hittestRequest?.position}:null},defines:{VV_SIZE_MIN_MAX_VALUE:!!m.uniforms.shader.visualVariableSizeMinMaxValue,VV_SIZE_SCALE_STOPS:!!m.uniforms.shader.visualVariableSizeScaleStops,VV_SIZE_FIELD_STOPS:!!m.uniforms.shader.visualVariableSizeStops,VV_SIZE_UNIT_VALUE:!!m.uniforms.shader.visualVariableSizeUnitValue,VV_OPACITY:!!m.uniforms.shader.visualVariableOpacity,HITTEST:S,highlight:V.highlight?1:0,...d,numberOfFields:f},optionalAttributes:{},useComputeBuffer:S}),u.setPipelineState(a(e)),u.submitDraw(e,h)}}export{u as PieChartTechnique};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as r,FragmentOutput as i,location as e,define as p,uniform as s,input as l,VertexInput as n,FragmentInput as a}from"../../../GraphShaderModule.js";import{Vec3 as c,Vec4 as v,texture2D as y,Vec2 as d}from"../../../graph/glsl.js";import{getFlowPremultipliedColor as m,FlowAnimationState as u,FlowImageryConfig as h,FlowColorValue as g,FlowFloatValue as x}from"./FlowUtils.js";class f extends n{}t([e(0,d)],f.prototype,"position",void 0),t([e(1,d)],f.prototype,"texcoord",void 0);class w extends a{}class C extends r{constructor(){super(...arguments),this.type="FlowImageryShader",this.vvColor=null,this.vvOpacity=null}vertex(t){const o=this.state.dvsMat3.multiply(new c(t.position,1)).xy;return{glPosition:new v(o,0,1),texcoord:t.texcoord}}fragment(t){const o=y(this.config.texture,t.texcoord),r=this.config.min.add(o.r.multiply(this.config.max.subtract(this.config.min))),e=this.color.getValue(r,this.vvColor),p=e.a.multiply(this.opacity.getValue(o.r,this.vvOpacity)).multiply(o.a),s=new i;return s.fragColor=m(e,p),s}}t([p],C.prototype,"vvColor",void 0),t([p],C.prototype,"vvOpacity",void 0),t([s(u)],C.prototype,"state",void 0),t([s(h)],C.prototype,"config",void 0),t([s(g)],C.prototype,"color",void 0),t([s(x)],C.prototype,"opacity",void 0),t([o(0,l(f))],C.prototype,"vertex",null),t([o(0,l(w))],C.prototype,"fragment",null);export{C as FlowImageryShader};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import{__decorate as t,__param as e}from"tslib";import{GraphShaderModule as i,FragmentOutput as o,location as s,define as r,uniform as n,input as a,VertexInput as l,FragmentInput as p}from"../../../GraphShaderModule.js";import{Float as y,mod as d,clamp as c,mix as h,normalize as u,equal as v,or as w,ifElse as f,lessThan as g,and as m,notEqual as x,greaterThan as z,cond as T,Vec2 as b,exp as L,Vec4 as F,length as I}from"../../../graph/glsl.js";import{getFadeOpacity as S,getFlowSize as O,getFlowExtrudedPosition as C,getFlowPremultipliedColor as j,getFragmentColor as R,FlowAnimationState as V,FlowLineConfig as Z,FlowColorValue as P,FlowFloatValue as G}from"./FlowUtils.js";class M extends l{}t([s(0,F)],M.prototype,"xyts0",void 0),t([s(1,F)],M.prototype,"xyts1",void 0),t([s(2,F)],M.prototype,"typeIdFirstTimeLastTime",void 0),t([s(3,F)],M.prototype,"extrudeInfo",void 0);class U extends p{}class k extends i{constructor(){super(...arguments),this.type="FlowParticlesShader",this.vvColor=null,this.vvOpacity=null,this.vvSize=null}vertex(t){const e=t.typeIdFirstTimeLastTime.z,i=t.typeIdFirstTimeLastTime.w.subtract(e),o=t.xyts0.xy,s=t.xyts0.z.subtract(e),r=t.xyts0.w,n=t.xyts1.xy,a=t.xyts1.z.subtract(e),l=t.xyts1.w,p=t.typeIdFirstTimeLastTime.x,I=t.typeIdFirstTimeLastTime.y,R=new y(2),V=new y(1),Z=new y(2),P=new y(3),G=t.extrudeInfo.xy,M=t.extrudeInfo.zw,U=i.add(this.config.trailLength),k=d(this.state.time.multiply(this.config.flowSpeed),U),q=k.subtract(s).divide(a.subtract(s)),A=c(q,new y(0),new y(1)),B=h(s,a,A),D=h(r,l,A),E=h(G,M,A),H=u(n.subtract(o)).multiply(new y(.5)),J=v(p,R),K=w(v(I,V),v(I,Z)),N=f(J,w(g(q,new y(0)),m(z(q,new y(1)),x(a,i))),g(q,new y(0))),Q=f(J,T([v(I,V),E],[v(I,Z),E.multiply(new y(-1))],[v(I,P),E.add(H)],[!0,E.multiply(new y(-1)).add(H)]),T([v(I,V),G],[v(I,Z),G.multiply(new y(-1))],[v(I,P),E],[!0,E.multiply(new y(-1))])),W=f(J,T([v(I,V),new b(.5,0)],[v(I,Z),new b(.5,1)],[v(I,P),new b(1,0)],[!0,new b(1,1)]),T([v(I,V),new b(.5,0)],[v(I,Z),new b(.5,1)],[v(I,P),new b(.5,0)],[!0,new b(.5,1)])),X=f(J,B,f(K,s,B)),Y=f(J,D,f(K,r,D)),$=f(J,S(k.subtract(B).divide(this.config.trailLength),this.config.decayRate,this.config.fadeToZero),f(K,S(k.subtract(s).divide(this.config.trailLength),this.config.decayRate,this.config.fadeToZero),S(k.subtract(B).divide(this.config.trailLength),this.config.decayRate,this.config.fadeToZero))),_=new y(1).subtract(L(X.multiply(new y(-1)))),tt=O(this.size.getValue(Y,this.vvSize),this.config.featheringSize,this.config.featheringOffset),et=this.color.getValue(Y,this.vvColor),it=et.a.multiply(this.opacity.getValue(Y,this.vvOpacity)).multiply($).multiply(h(new y(1),_,this.config.introFade)).multiply(this.state.displayOpacity),ot=f(J,h(o,n,A),f(K,o,h(o,n,A))),st=C(this.state,ot,Q,tt);return{glPosition:f(N,new F(0,0,-2,1),new F(st,0,1)),color:j(et,it),texcoord:W,size:tt}}fragment(t){const e=new o;return e.fragColor=R(t.color,I(t.texcoord.subtract(new b(.5))),t.size,this.config.featheringSize),e}}t([r],k.prototype,"vvColor",void 0),t([r],k.prototype,"vvOpacity",void 0),t([r],k.prototype,"vvSize",void 0),t([n(V)],k.prototype,"state",void 0),t([n(Z)],k.prototype,"config",void 0),t([n(P)],k.prototype,"color",void 0),t([n(G)],k.prototype,"opacity",void 0),t([n(G)],k.prototype,"size",void 0),t([e(0,a(M))],k.prototype,"vertex",null),t([e(0,a(U))],k.prototype,"fragment",null);export{k as FlowParticlesShader};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import{__decorate as t,__param as e}from"tslib";import{GraphShaderModule as o,FragmentOutput as i,location as s,define as r,uniform as p,input as n,VertexInput as l,FragmentInput as d}from"../../../GraphShaderModule.js";import{Vec4 as a,mod as v,ifElse as f,Float as y,lessThan as h,abs as c,Vec3 as m,Vec2 as g}from"../../../graph/glsl.js";import{getFlowSize as u,getFlowExtrudedPosition as z,getFlowPremultipliedColor as S,getTimeSeed as x,getFadeOpacity as I,getFragmentColor as w,FlowAnimationState as O,FlowLineConfig as C,FlowColorValue as b,FlowFloatValue as j}from"./FlowUtils.js";class A extends l{}t([s(0,m)],A.prototype,"positionAndSide",void 0),t([s(1,m)],A.prototype,"timeInfo",void 0),t([s(2,g)],A.prototype,"extrude",void 0),t([s(3,y)],A.prototype,"speed",void 0);class V extends d{}class F extends o{constructor(){super(...arguments),this.type="FlowStreamlinesShader",this.vvColor=null,this.vvOpacity=null,this.vvSize=null}vertex(t){const e=t.positionAndSide.xy,o=this.color.getValue(t.speed,this.vvColor),i=this.opacity.getValue(t.speed,this.vvOpacity),s=u(this.size.getValue(t.speed,this.vvSize),this.config.featheringSize,this.config.featheringOffset),r=z(this.state,e,t.extrude,s),p=o.a.multiply(i);return{glPosition:new a(r,0,1),side:t.positionAndSide.z,timeInfo:t.timeInfo,color:S(o,p),size:s}}fragment(t){const e=t.timeInfo.z.subtract(t.timeInfo.y).add(this.config.trailLength),o=x(t.timeInfo.y,t.timeInfo.z),s=v(o.multiply(e).add(this.state.time.multiply(this.config.flowSpeed)),e).add(t.timeInfo.y).subtract(t.timeInfo.x).divide(this.config.trailLength),r=t.color.multiply(this.state.displayOpacity).multiply(f(h(s,new y(0)),new y(0),I(s,this.config.decayRate,this.config.fadeToZero))),p=new i;return p.fragColor=w(r,c(t.side).divide(new y(2)),t.size,this.config.featheringSize),p}}t([r],F.prototype,"vvColor",void 0),t([r],F.prototype,"vvOpacity",void 0),t([r],F.prototype,"vvSize",void 0),t([p(O)],F.prototype,"state",void 0),t([p(C)],F.prototype,"config",void 0),t([p(b)],F.prototype,"color",void 0),t([p(j)],F.prototype,"opacity",void 0),t([p(j)],F.prototype,"size",void 0),t([e(0,n(A))],F.prototype,"vertex",null),t([e(0,n(V))],F.prototype,"fragment",null);export{F as FlowStreamlinesShader};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import{__decorate as t}from"tslib";import{uniform as e,UniformGroup as o}from"../../../GraphShaderModule.js";import{Float as s,Vec3 as i,Vec4 as p,mod as r,mix as n,exp as u,clamp as d,ifElse as a,greaterThan as l,Mat3 as y,Sampler2D as c,FixedArray as v,Int as h,cond as f,greaterThanEqual as m,lessThanEqual as g}from"../../../graph/glsl.js";class b extends o{}t([e(s)],b.prototype,"time",void 0),t([e(y)],b.prototype,"dvsMat3",void 0),t([e(y)],b.prototype,"displayViewMat3",void 0),t([e(s)],b.prototype,"displayOpacity",void 0),t([e(s)],b.prototype,"startTime",void 0),t([e(s)],b.prototype,"endTime",void 0);class w extends o{}t([e(s)],w.prototype,"trailLength",void 0),t([e(s)],w.prototype,"flowSpeed",void 0),t([e(s)],w.prototype,"featheringSize",void 0),t([e(s)],w.prototype,"featheringOffset",void 0),t([e(s)],w.prototype,"introFade",void 0),t([e(s)],w.prototype,"fadeToZero",void 0),t([e(s)],w.prototype,"decayRate",void 0);class x extends o{}t([e(c)],x.prototype,"texture",void 0),t([e(s)],x.prototype,"min",void 0),t([e(s)],x.prototype,"max",void 0);class T extends o{getValue(t,e){return e?f([g(t,this.stops.first()),this.values.first()],[m(t,this.stops.get(this.count.subtract(1))),this.values.get(this.count.subtract(1))],[!0,()=>{const e=this.stops.findIndex(e=>l(e,t)),o=this.stops.get(e),s=e.subtract(1),i=this.stops.get(s),p=t.subtract(i).divide(o.subtract(i));return n(this.values.get(s),this.values.get(e),p)}]):this.constant}}t([e(p)],T.prototype,"constant",void 0),t([e(v.ofType(s,8))],T.prototype,"stops",void 0),t([e(v.ofType(p,8))],T.prototype,"values",void 0),t([e(h)],T.prototype,"count",void 0);class M extends o{getValue(t,e){return e?f([g(t,this.stops.first()),this.values.first()],[m(t,this.stops.get(this.count.subtract(1))),this.values.get(this.count.subtract(1))],[!0,()=>{const e=this.stops.findIndex(e=>l(e,t)),o=this.stops.get(e),s=e.subtract(1),i=this.stops.get(s),p=t.subtract(i).divide(o.subtract(i));return n(this.values.get(s),this.values.get(e),p)}]):this.constant}}function V(t,e,o){return t.add(e.multiply(new s(2)).multiply(o))}function S(t,e,o,s){return t.dvsMat3.multiply(new i(e,1)).add(t.displayViewMat3.multiply(new i(o.multiply(s),0))).xy}function j(t,e,o){const i=n(new s(0),u(e.multiply(new s(-1))),o);return u(e.multiply(t).multiply(new s(-1))).subtract(i).divide(new s(1).subtract(i))}function I(t,e,o,i){const p=d(new s(.5).subtract(i.divide(o)),new s(0),new s(.5)),r=a(l(e,p),new s(1).subtract(e.subtract(p).divide(new s(.5).subtract(p))),new s(1));return t.multiply(r)}function O(t,e){return new p(t.rgb.multiply(e),e)}function z(t,e){return r(t.multiply(3.634).add(e.multiply(5.153)).add(7.381),new s(1))}t([e(s)],M.prototype,"constant",void 0),t([e(v.ofType(s,8))],M.prototype,"stops",void 0),t([e(v.ofType(s,8))],M.prototype,"values",void 0),t([e(h)],M.prototype,"count",void 0);export{b as FlowAnimationState,T as FlowColorValue,M as FlowFloatValue,x as FlowImageryConfig,w as FlowLineConfig,j as getFadeOpacity,S as getFlowExtrudedPosition,O as getFlowPremultipliedColor,V as getFlowSize,I as getFragmentColor,z as getTimeSeed};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as s,isHittest as t,getFeatureUniforms as r,resolveDynamicUniforms as a,getFeaturePipelineState as i}from"../featureTechniqueUtils.js";import{TextShader as n}from"./TextShader.js";class o extends e{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as s,isHittest as t,getFeatureUniforms as r,resolveDynamicUniforms as a,getFeaturePipelineState as i}from"../featureTechniqueUtils.js";import{TextShader as n}from"./TextShader.js";class o extends e{constructor(){super(...arguments),this.type=32,this.shaders={geometry:new n},this.symbologyPlane=3}render(e,n){const{painter:o}=e,u=s(e),d=n.instance.getInput(),m={shader:this.shaders.geometry,uniforms:{...a(e,n.target,d.uniforms),...r(e,n.target),mosaicInfo:o.textureManager.getMosaicInfo(e,n.textureKey)},defines:{...u,isBackgroundPass:!0,isLabel:!1,textRenderPassType:0},optionalAttributes:d.optionalAttributes,useComputeBuffer:t(e)};o.setShader(m),o.setPipelineState(i(e)),o.submitDraw(e,n),o.setShader({...m,defines:{...u,isBackgroundPass:!1,isLabel:!1,textRenderPassType:2}}),o.submitDraw(e,n),o.setShader({...m,defines:{...u,isBackgroundPass:!1,isLabel:!1,textRenderPassType:1}}),o.submitDraw(e,n),o.setShader({...m,defines:{...u,isBackgroundPass:!1,isLabel:!1,textRenderPassType:0}}),o.submitDraw(e,n)}}export{o as TextTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{fromValues as t}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{FeatureTile as s}from"../../../FeatureTile.js";import{Mesh as i}from"../../../meshing/Mesh.js";import{Technique as r}from"../Technique.js";import{TileDebugInfoShader as o,TileDebugInfoOutlineShader as n}from"../shaders/TileDebugInfoShader.js";import{TileDebugInfoTexture as h}from"./TileDebugInfoTexture.js";import{PrimitiveType as a,DataType as u}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as d}from"../../../../../../webgl/VertexElementDescriptor.js";class l extends r{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{fromValues as t}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{FeatureTile as s}from"../../../FeatureTile.js";import{Mesh as i}from"../../../meshing/Mesh.js";import{Technique as r}from"../Technique.js";import{TileDebugInfoShader as o,TileDebugInfoOutlineShader as n}from"../shaders/TileDebugInfoShader.js";import{TileDebugInfoTexture as h}from"./TileDebugInfoTexture.js";import{PrimitiveType as a,DataType as u}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as d}from"../../../../../../webgl/VertexElementDescriptor.js";class l extends r{constructor(){super(...arguments),this.type=34,this.drawPhase=64,this.shaders={outline:new n,tileInfo:new o},this._outlineMesh=null,this._color=t(1,0,0,1),this._texture=new h}render(e,t){if(!(this.drawPhase&e.drawPhase))return;const{context:i,painter:r}=e;if(!t.isReady&&t instanceof s&&t.hasData)return;const o=this._getOutlineMesh(i);r.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1});const n={shader:this.shaders.outline,uniforms:{config:{dvsMat3:t.transforms.displayViewScreenMat3,coordRange:[t.rangeX,t.rangeY],depth:0,color:this._color}},defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMeshUntyped(i,n,o);const h=this._texture.getTexture(i,t);r.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1});const a={shader:this.shaders.tileInfo,uniforms:{config:{dvsMat3:t.transforms.displayViewScreenMat3,depth:0,coordRatio:[t.rangeX/t.width,t.rangeY/t.height],delta:[0,0],dimensions:[h.descriptor.width,h.descriptor.height],texture:{texture:h,unit:0}}},defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMesh(i,a,r.quadMesh)}shutdown(){this._outlineMesh=e(this._outlineMesh),this._texture.shutdown()}_getOutlineMesh(e){return this._outlineMesh||(this._outlineMesh=new i(e,{vertex:{geometry:{data:new Int8Array([0,0,1,0,1,1,0,1]),layout:[new d("position",2,u.BYTE,0,2)]}},groups:[{primitive:a.LINE_STRIP}],parts:[{group:0,start:0,count:4}]})),this._outlineMesh}}export{l as TileDebugInfoTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{fromValues as e}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{Technique as s}from"../Technique.js";import{TileStencilShader as t}from"../shaders/TileStencilShader.js";class
|
|
2
|
+
import{fromValues as e}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{Technique as s}from"../Technique.js";import{TileStencilShader as t}from"../shaders/TileStencilShader.js";class i extends s{constructor(){super(...arguments),this.type=35,this.drawPhase=211,this.shaders={tileStencil:new t},this._color=e(1,0,0,1)}render(e,s){if(!(this.drawPhase&e.drawPhase&&s.visible))return;const{context:t,painter:i}=e;i.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:516,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const r={shader:this.shaders.tileStencil,uniforms:{config:{dvsMat3:s.transforms.displayViewScreenMat3,coordRange:[s.rangeX,s.rangeY],depth:0,color:this._color}},defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};i.submitDrawMesh(t,r,i.quadMesh,{stencilRef:s.stencilRef})}}export{i as TileStencilTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{nextPowerOfTwo as t}from"../../../../../../../core/mathUtils.js";import{create as e}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as r}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getDefinesKey as s}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as o,vtlHighResCutoff as i}from"../../../definitions.js";import{Mesh as a}from"../../../meshing/Mesh.js";import{simplePipelineState as n}from"../../utils.js";import{Technique as l}from"../Technique.js";import{VTLShaderBackground as c}from"../shaders/vector-tiles/VTLShaderBackground.js";import{PrimitiveType as h}from"../../../../../../webgl/enums.js";class m extends l{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{nextPowerOfTwo as t}from"../../../../../../../core/mathUtils.js";import{create as e}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as r}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getDefinesKey as s}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as o,vtlHighResCutoff as i}from"../../../definitions.js";import{Mesh as a}from"../../../meshing/Mesh.js";import{simplePipelineState as n}from"../../utils.js";import{Technique as l}from"../Technique.js";import{VTLShaderBackground as c}from"../shaders/vector-tiles/VTLShaderBackground.js";import{PrimitiveType as h}from"../../../../../../webgl/enums.js";class m extends l{constructor(){super(...arguments),this.type=38,this._color=r(1,0,0,1),this._patternMatrix=e(),this._mesh=null,this.shaders={background:new c}}render(r,a){if(0===a.tiles.length)return;this._loadResources(r);const{context:l,displayLevel:c,painter:h,spriteMosaic:m,state:u,styleLayer:d}=r,p=d,f=p.backgroundMaterial,g=p.getPaintValue("background-color",c),y=p.getPaintValue("background-opacity",c),M=p.getPaintValue("background-pattern",c),_=void 0!==M,b=1|window.devicePixelRatio;let x,v;const w=f.key+s({hasPattern:_}),j=b>i?2:1,k={layerInfo:{depth:p.z,coordRange:a.tiles[0].rangeX},tileInfo:{dvsMat:u.displayViewMat3},solidColor:null,pattern:null,patternMat:{mat:e()}};if(_){const t=m.getMosaicItemPosition(M,!0);if(null!=t){const{tl:e,br:r,page:s}=t;x=r[0]-e[0],v=r[1]-e[1];const i=m.getPageSize(s);null!=i&&(m.bind(l,9729,s,o),k.pattern={tlbr:[e[0],e[1],r[0],r[1]],mosaicSize:i,texture:{texture:m.getTexture(s),unit:o},opacity:y})}}else{const t=g[3]*y;this._color[0]=t*g[0],this._color[1]=t*g[1],this._color[2]=t*g[2],this._color[3]=t,k.solidColor={color:this._color}}h.setPipelineState(n);for(const e of a.tiles){if(k.tileInfo.dvsMat=e.transforms.displayViewScreenMat3,k.layerInfo.coordRange=e.rangeX,_){const r=Math.max(2**(Math.round(c)-e.key.level),1),s=j*e.width*r,o=s/t(x),i=s/t(v);this._patternMatrix[0]=o,this._patternMatrix[4]=i,k.patternMat={mat:this._patternMatrix}}const r={shader:this.shaders.background,uniforms:k,defines:{renderMode:_?1:0},optionalAttributes:f.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:f.getPrecisionFactors(),materialKey:w};h.submitDrawMeshUntyped(l,r,this._mesh,{stencilRef:e.stencilRef})}}shutdown(){this._mesh&&(this._mesh.destroy(),this._mesh=null)}_loadResources(t){if(this._mesh)return;const{context:e,styleLayer:r}=t,s=r,o=new Int16Array([0,0,1,0,0,1,1,1]),i=s.backgroundMaterial.geometryLayout;if(!i)return;const n={vertex:{geometryVB:{data:o,layout:i}},groups:[{primitive:h.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:4}]};this._mesh=new a(e,n)}}export{m as VTLTechniqueBackground};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{simplePipelineState as e}from"../../utils.js";import{Technique as t}from"../Technique.js";import{VTLShaderCircle as s}from"../shaders/vector-tiles/VTLShaderCircle.js";class l extends t{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{simplePipelineState as e}from"../../utils.js";import{Technique as t}from"../Technique.js";import{VTLShaderCircle as s}from"../shaders/vector-tiles/VTLShaderCircle.js";class l extends t{constructor(){super(...arguments),this.type=39,this._mesh=null,this.shaders={circle:new s}}shutdown(){this._mesh&&(this._mesh.destroy(),this._mesh=null)}render(t,s){const{context:l,displayLevel:i,drawPhase:r,painter:n,requiredLevel:a,spriteMosaic:o,state:c,styleLayer:u,styleLayerUID:h}=t,{tiles:d}=s;if(!d.some(e=>e.layerData.get(h)?.circleIndexCount??!1))return;const p=u,{circleMaterial:f}=p,m=1.2,y=p.getPaintValue("circle-translate",i),M={transform:{dvsMat:null,displayMat:1===p.getPaintValue("circle-translate-anchor",i)?c.displayMat3:c.displayViewMat3},config:{circleTranslation:y,depth:p.z,antialiasingWidth:m,tileOpacity:1},radius:null,radiusMix:null,blur:null,blurMix:null,opacity:null,opacityMix:null,strokeOpacity:null,strokeOpacityMix:null,strokeWidth:null,strokeWidthMix:null,color:null,colorMix:null,strokeColor:null,strokeColorMix:null};let g=-1;for(const x of d){if(!x.layerData.has(h))continue;if(M.transform.dvsMat=x.transforms.displayViewScreenMat3,x.key.level!==g){g=x.key.level;const e=f.getUniforms();for(const t of e){const e=t.getValue(p,i,g,o);t.name in M&&(M[t.name]={value:e})}}const t=x.layerData.get(h);if(!t.circleIndexCount)continue;if(this._mesh=t.getMesh(l),!this._mesh)continue;const s=a!==x.key.level?514:516,c=a!==x.key.level?x.stencilRef:255;M.config.tileOpacity=1===r?x.fader.value():1,n.setPipelineState({...e,stencil:{write:!1,test:{compare:s,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const u={shader:this.shaders.circle,uniforms:M,defines:null,optionalAttributes:f.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:f.getPrecisionFactors()};n.submitDrawMeshUntyped(l,u,this._mesh,{stencilRef:c}),x.triangleCount+=t.circleIndexCount/3}}}export{l as VTLTechniqueCircle};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as e,vtlHighResCutoff as i}from"../../../definitions.js";import{Technique as l}from"../Technique.js";import{VTLShaderFill as s}from"../shaders/vector-tiles/VTLShaderFill.js";import{VTLShaderOutline as n}from"../shaders/vector-tiles/VTLShaderOutline.js";const a=1/65536;class o extends l{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as e,vtlHighResCutoff as i}from"../../../definitions.js";import{Technique as l}from"../Technique.js";import{VTLShaderFill as s}from"../shaders/vector-tiles/VTLShaderFill.js";import{VTLShaderOutline as n}from"../shaders/vector-tiles/VTLShaderOutline.js";const a=1/65536;class o extends l{constructor(){super(...arguments),this.type=40,this._fillMesh=null,this._outlineMesh=null,this.shaders={fill:new s,outline:new n}}shutdown(){this._fillMesh&&(this._fillMesh.destroy(),this._fillMesh=null),this._outlineMesh&&(this._outlineMesh.destroy(),this._outlineMesh=null)}render(t,e){const{displayLevel:i,is3D:l,renderPass:s,spriteMosaic:n,styleLayer:a,styleLayerUID:o}=t,{tiles:r}=e;let u=!1;for(const P of r)if(P.layerData.has(o)){const t=P.layerData.get(o);if(t.fillIndexCount>0||t.outlineIndexCount>0){u=!0;break}}if(!u)return;const c=a,f=c.getPaintProperty("fill-pattern"),p=void 0!==f,h=p&&f.isDataDriven;let d;if(p&&!h){const t=f.getValue(i);d=n.getMosaicItemPosition(t,!0)}const y=!p&&c.getPaintValue("fill-antialias",i);let M=!l||p,g=1;if(!p){const t=c.getPaintProperty("fill-color"),e=c.getPaintProperty("fill-opacity");if(!t?.isDataDriven&&!e?.isDataDriven){const t=c.getPaintValue("fill-color",i);g=c.getPaintValue("fill-opacity",i)*t[3],g<1&&(M=!0)}}if(M&&"opaque"===s)return;const m=c.getPaintValue("fill-translate",i),v=c.getPaintValue("fill-translate-anchor",i);("opaque"===s&&!M||"translucent"===s&&M)&&this._drawFill(t,o,c,r,m,v,p,d,h);const x=!c.hasDataDrivenOutlineColor&&c.outlineUsesFillColor&&g<1;y&&"translucent"===s&&!x&&this._drawOutline(t,o,c,r,m,v)}_drawFill(l,s,n,o,r,u,c,f,p){if(c&&!p&&null==f)return;const{context:h,displayLevel:d,drawPhase:y,is3D:M,state:g,painter:m,pixelRatio:v,spriteMosaic:x}=l,P=v>i?2:1,D=n.fillMaterial,w={transform:{dvsMat:null,displayMat:1===u?g.displayMat3:g.displayViewMat3},config:{depth:n.z+a,fillTranslation:r,tileOpacity:1},patternOptions:p||c&&null!=f?{mosaicSize:[0,0],patternFactor:1,tlbr:[0,0,0,0],texture:{texture:null,unit:0}}:null,color:null,opacity:null,colorMix:null,opacityMix:null},_=c?1:0,b=D.key+t({hasPattern:c});if(null!=f){const{page:t,tl:i,br:l}=f,s=i[0],n=l[1],a=l[0],o=i[1],r=x.getPageSize(t);null!=r&&(x.bind(h,9729,t,e),w.patternOptions={mosaicSize:[r[0],r[1]],patternFactor:1,tlbr:[s,n,a,o],texture:{texture:x.getTexture(t),unit:e}})}if(M){const t=h.getPipelineState(),{depthWrite:e}=t;let i=0,l=1;void 0!==e?.zNear&&void 0!==e.zFar&&(i=e.zNear,l=e.zFar),m.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:!1,depth:{write:{zNear:i,zFar:l},test:515}})}let F=-1;for(const t of o){if(!t.layerData.has(s))continue;if(t.key.level!==F){F=t.key.level;const e=D.getUniforms();for(const t of e){const e=t.getValue(n,d,F,x);w[t.name]={value:e}}if(c&&null!=w.patternOptions){const e=Math.max(2**(Math.round(d)-t.key.level),1),i=t.rangeX/(P*t.width*e);w.patternOptions.patternFactor=i}}const i=t.layerData.get(s);if(this._fillMesh=i.getMesh(h,{value:0}),!this._fillMesh)continue;const{transform:l,config:a}=w;l.dvsMat=t.transforms.displayViewScreenMat3,a.tileOpacity=1===y?t.fader.value():1;const o={shader:this.shaders.fill,uniforms:w,defines:{fillType:_},optionalAttributes:D.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:D.getPrecisionFactors(),materialKey:b};if(p){const l=w.patternOptions,s=i.patternMap;if(!s||null==l)continue;let n=0;for(const[i,a]of s){const s=x.getPageSize(i);null!=s&&(x.bind(h,9729,i,e),l.mosaicSize=s,l.texture={texture:x.getTexture(i),unit:e},m.submitDrawMeshUntyped(h,o,this._fillMesh,{stencilRef:t.stencilRef,parts:[n++]}))}}else m.submitDrawMeshUntyped(h,o,this._fillMesh,{stencilRef:t.stencilRef});t.triangleCount+=i.fillIndexCount/3}}_drawOutline(t,e,i,l,s,n){const{context:o,displayLevel:r,drawPhase:u,state:c,spriteMosaic:f,painter:p,pixelRatio:h}=t,d=i.outlineMaterial,y=d.key,M=.75/h,g={transform:{dvsMat3:null,displayMat3:1===n?c.displayMat3:c.displayViewMat3},config:{depth:i.z+a,fillTranslation:s,outlineWidth:M,tileOpacity:1},color:null,opacity:null,colorMix:null,opacityMix:null};let m=-1;for(const a of l){if(!a.layerData.has(e))continue;if(a.key.level!==m){m=a.key.level;const t=d.getUniforms();for(const e of t){const t=e.getValue(i,r,m,f);e.name in g&&(g[e.name]={value:t})}}const t=a.layerData.get(e);if(this._outlineMesh=t.getMesh(o,{value:1}),null==this._outlineMesh)continue;const{transform:l,config:s}=g;l.dvsMat3=a.transforms.displayViewScreenMat3,s.tileOpacity=1===u?a.fader.value():1;const n={shader:this.shaders.outline,uniforms:g,defines:{},optionalAttributes:d.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:d.getPrecisionFactors(),materialKey:y};p.submitDrawMeshUntyped(o,n,this._outlineMesh,{stencilRef:a.stencilRef}),a.triangleCount+=t.outlineIndexCount/3}}}export{o as VTLTechniqueFill};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{getDefinesKey as e}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as t}from"../../../definitions.js";import{Technique as i}from"../Technique.js";import{VTLShaderLine as s}from"../shaders/vector-tiles/VTLShaderLine.js";class n extends i{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{getDefinesKey as e}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as t}from"../../../definitions.js";import{Technique as i}from"../Technique.js";import{VTLShaderLine as s}from"../shaders/vector-tiles/VTLShaderLine.js";class n extends i{constructor(){super(...arguments),this.type=41,this._mesh=null,this.shaders={line:new s}}shutdown(){this._mesh&&(this._mesh.destroy(),this._mesh=null)}render(i,s){const{context:n,displayLevel:l,drawPhase:a,is3D:o,painter:r,pixelRatio:u,spriteMosaic:c,state:p,styleLayer:f,styleLayerUID:d}=i,{tiles:h}=s;if(!h.some(e=>e.layerData.get(d)?.lineIndexCount??!1))return;const m=f,y=m.lineMaterial,g=m.getPaintValue("line-translate",l),M=m.getPaintValue("line-translate-anchor",l),x=1/u,v={layerInfo:{displayViewMat3:p.displayViewMat3,displayMat3:1===M?p.displayMat3:p.displayViewMat3,lineTranslation:g,depth:m.z,antialiasing:x},tileInfo:{dvsMat3:null,zoomFactor:1,tileOpacity:1},page:null,color:null,width:null,opacity:null,blur:null,offset:null,colorMix:null,widthMix:null,opacityMix:null,blurMix:null,offsetMix:null,tlbr:null},w=m.getPaintProperty("line-pattern"),P=void 0!==w,D=P&&w.isDataDriven;let V,b;if(P&&!D){const e=w.getValue(l);V=c.getMosaicItemPosition(e)}let z=!1;if(!P){const e=m.getPaintProperty("line-dasharray");if(b=void 0!==e,z=b&&e.isDataDriven,b&&!z){const t=e.getValue(l),i=m.getDashKey(t,m.getLayoutValue("line-cap",l));if(V=c.getMosaicItemPosition(i),null==V)return}}const I=P?1:b?2:0,T=y.key+e({lineType:I});if(null!=V){const{page:e}=V,i=c.getPageSize(e);if(null!=i){c.bind(n,9729,e,t);const s={texture:{texture:c.getTexture(e),unit:t},mosaicSize:[i[0],i[1]]};v.page=s}}o||r.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}});const{tileInfo:_}=v;let S=-1;for(const e of h){if(!e.layerData.has(d))continue;if(_.dvsMat3=e.transforms.displayViewScreenMat3,e.key.level!==S){S=e.key.level;const t=y.getUniforms();for(const e of t){const t=e.getValue(m,l,S,c);e.name in v&&(v[e.name]={value:t})}}const i=2**(l-S)/u;_.zoomFactor=i;const s=e.layerData.get(d);if(!s.lineIndexCount)continue;if(this._mesh=s.getMesh(n),!this._mesh)continue;_.tileOpacity=1===a?e.fader.value():1;const o={shader:this.shaders.line,uniforms:v,defines:{lineType:I},optionalAttributes:y.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:y.getPrecisionFactors(),materialKey:T};if(D||z){const i=s.patternMap;if(!i)continue;let l=0;for(const s of i.keys()){const i=c.getPageSize(s);null!=i&&(c.bind(n,9729,s,t),v.page={texture:{texture:c.getTexture(s),unit:t},mosaicSize:[i[0],i[1]]},r.submitDrawMeshUntyped(n,o,this._mesh,{stencilRef:e.stencilRef,parts:[l++]}))}}else r.submitDrawMeshUntyped(n,o,this._mesh,{stencilRef:e.stencilRef});e.triangleCount+=s.lineIndexCount/3}}}export{n as VTLTechniqueLine};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{fadeDuration as e}from"../../../../vectorTiles/decluttering/config.js";import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as i,vtlTextureBindingUnitGlyphs as a}from"../../../definitions.js";import{degToByte as l}from"../../../GeometryUtils.js";import{Technique as n}from"../Technique.js";import{VTLShaderIcon as s}from"../shaders/vector-tiles/VTLShaderIcon.js";import{VTLShaderText as o}from"../shaders/vector-tiles/VTLShaderText.js";const r=1/65536;class c extends n{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{fadeDuration as e}from"../../../../vectorTiles/decluttering/config.js";import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as i,vtlTextureBindingUnitGlyphs as a}from"../../../definitions.js";import{degToByte as l}from"../../../GeometryUtils.js";import{Technique as n}from"../Technique.js";import{VTLShaderIcon as s}from"../shaders/vector-tiles/VTLShaderIcon.js";import{VTLShaderText as o}from"../shaders/vector-tiles/VTLShaderText.js";const r=1/65536;class c extends n{constructor(){super(...arguments),this.type=42,this._iconMesh=null,this._textMesh=null,this.shaders={icon:new s,text:new o}}shutdown(){this._iconMesh&&(this._iconMesh.destroy(),this._iconMesh=null),this._textMesh&&(this._textMesh.destroy(),this._textMesh=null)}render(e,t){const{painter:i}=e,a=e.styleLayer,{tiles:l}=t,n=i.getPipelineState();this._setRenderState(e),this._drawIcons(e,a,l),this._drawText(e,a,l),i.setPipelineState(n)}_drawIcons(t,a,n){const{context:s,displayLevel:o,drawPhase:r,spriteMosaic:c,state:u,styleLayerUID:h}=t,p=a.iconMaterial;let y,d=!1;for(const e of n)if(e.layerData.has(h)&&(y=e.layerData.get(h),y.iconPerPageElementsMap.size>0)){d=!0;break}if(!d)return;const g=a.getPaintValue("icon-translate",o),f=a.getPaintValue("icon-translate-anchor",o);let m=a.getLayoutValue("icon-rotation-alignment",o);2===m&&(m=0===a.getLayoutValue("symbol-placement",o)?1:0);const M=0===m,x=a.getLayoutValue("icon-keep-upright",o)&&M,P=y.isIconSDF,v={transform:{dvsMat3:null,displayViewMat3:0===m?u.displayViewMat3:u.displayMat3,displayMat3:1===f?u.displayMat3:u.displayViewMat3,mapRotation:l(u.rotation)},config:{depth:a.z,iconTranslation:g,level:10*o,keepUpright:x?1:0,fadeDuration:e/1e3,isStencilPass:t.stencilSymbols?1:0,time:null,tileOpacity:1},page:{mosaicSize:null,texture:{texture:null,unit:i}},color:null,opacity:null,haloBlur:null,haloColor:null,haloWidth:null,size:null,colorMix:null,opacityMix:null,haloBlurMix:null,haloColorMix:null,haloWidthMix:null,sizeMix:null};let w=-1;for(const e of n){if(!e.layerData.has(h))continue;if(e.key.level!==w){w=e.key.level;const t=p.getUniforms();for(const e of t){const t=e.getValue(a,o,w,c);v[e.name]={value:t}}}if(y=e.layerData.get(h),0===y.iconPerPageElementsMap.size)continue;if(this._iconMesh=y.getMesh(s,{value:0}),!this._iconMesh)continue;y.updateOpacityInfo(),v.transform.dvsMat3=e.transforms.displayViewScreenMat3,v.config.time=(performance.now()-y.lastOpacityUpdate)/1e3,v.config.tileOpacity=1===r?e.fader.value():1;let i=0;for(const[a,l]of y.iconPerPageElementsMap)this._renderIconRange(t,p,l,a,e,v,this._iconMesh,P,i++)}}_drawText(t,i,n){const{context:s,displayLevel:o,drawPhase:c,glyphMosaic:u,spriteMosaic:h,pixelRatio:p,state:y,styleLayerUID:d,requestRender:g,allowDelayedRender:f}=t,m=i.textMaterial;let M,x=!1;for(const e of n)if(e.layerData.has(d)&&(M=e.layerData.get(d),M.glyphPerPageElementsMap.size>0)){x=!0;break}if(!x)return;const P=i.getPaintProperty("text-opacity");if(P&&!P.isDataDriven&&0===P.getValue(o))return;const v=i.getPaintProperty("text-color"),w=v&&v.getValue(o),D=!v||v.isDataDriven||w&&4===w.length&&w[3]>0,_=i.getPaintProperty("text-halo-width"),V=i.getPaintProperty("text-halo-color"),S=V&&V.getValue(o),z=(!_||_.isDataDriven||_.getValue(o)>0)&&(!V||V.isDataDriven||S&&4===S.length&&S[3]>0);if(!D&&!z)return;const b=24/8;let R=i.getLayoutValue("text-rotation-alignment",o);2===R&&(R=0===i.getLayoutValue("symbol-placement",o)?1:0);const T=0===R,U=i.getLayoutValue("text-keep-upright",o)&&T,k=.8*b/p;this._glyphTextureSize||(this._glyphTextureSize=[u.width/4,u.height/4]);const L=i.getPaintValue("text-translate",o),I=i.getPaintValue("text-translate-anchor",o);if(f&&null!=g)return void g();const C={transform:{dvsMat3:null,displayViewMat3:0===R?y.displayViewMat3:y.displayMat3,displayMat3:1===I?y.displayMat3:y.displayViewMat3,mapRotation:l(y.rotation)},config:{depth:i.z+r,textTranslation:L,keepUpright:U?1:0,level:10*o,fadeDuration:e/1e3,antialiasingWidth:k,time:null,halo:null,isStencilPass:t.stencilSymbols?1:0,tileOpacity:1},page:{mosaicSize:null,texture:{texture:null,unit:a}},size:null,color:null,haloColor:null,opacity:null,haloWidth:null,haloBlur:null,sizeMix:null,colorMix:null,haloColorMix:null,opacityMix:null,haloWidthMix:null,haloBlurMix:null};let O=-1;for(const e of n){if(!e.layerData.has(d))continue;if(e.key.level!==O){O=e.key.level;const t=m.getUniforms();for(const e of t){const t=e.getValue(i,o,O,h);e.name in C&&(C[e.name]={value:t})}}if(M=e.layerData.get(d),0===M.glyphPerPageElementsMap.size)continue;if(C.transform.dvsMat3=e.transforms.displayViewScreenMat3,C.config.time=(performance.now()-M.lastOpacityUpdate)/1e3,C.config.tileOpacity=1===c?e.fader.value():1,this._textMesh=M.getMesh(s,{value:1}),!this._textMesh)continue;M.updateOpacityInfo();let a=0;M.glyphPerPageElementsMap.forEach((i,l)=>{this._renderGlyphRange(t,i,l,z,D,e,C,m,this._textMesh,a++)})}}_renderIconRange(e,a,l,n,s,o,r,c,u){const{context:h,is3D:p,painter:y,spriteMosaic:d}=e,g={iconType:c?1:0},f=a.key+t(g);d.bind(h,9729,n,i),o.page={mosaicSize:[d.getWidth(n)/4,d.getHeight(n)/4],texture:{texture:d.getTexture(n),unit:i}};const m={shader:this.shaders.icon,uniforms:o,defines:g,optionalAttributes:a.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:a.getPrecisionFactors(),materialKey:f};y.submitDrawMeshUntyped(h,m,r,{stencilRef:p?s.stencilRef:255,parts:[u]}),s.triangleCount+=l[1]/3}_renderGlyphRange(e,t,i,l,n,s,o,r,c,u){const{context:h,is3D:p,painter:y,glyphMosaic:d}=e;d.bind(h,9729,i,a),o.page={mosaicSize:this._glyphTextureSize,texture:{texture:d.getTexture(h,i),unit:a}};const g={shader:this.shaders.text,uniforms:o,defines:null,optionalAttributes:r.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:r.getPrecisionFactors(),materialKey:r.key};l&&(o.config.halo=1,y.submitDrawMeshUntyped(h,g,c,{stencilRef:p?s.stencilRef:255,parts:[u]}),s.triangleCount+=t[1]/3),n&&(o.config.halo=0,y.submitDrawMeshUntyped(h,g,c,{stencilRef:p?s.stencilRef:255,parts:[u]}),s.triangleCount+=t[1]/3)}_setRenderState(e){const{is3D:t,painter:i,stencilSymbols:a}=e;i.setPipelineState({color:{write:[!a,!a,!a,!a],blendMode:a?"none":"composite"},stencil:{write:!!a&&{mask:255},test:{compare:a?519:t?514:516,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}})}}export{c as VTLTechniqueSymbol};
|
package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{VideoScreenShader as o}from"../shaders/VideoScreenShader.js";import{PrimitiveType as n,DataType as i}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as m}from"../../../../../../webgl/VertexElementDescriptor.js";class c extends s{constructor(){super(...arguments),this.type=
|
|
2
|
+
import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{VideoScreenShader as o}from"../shaders/VideoScreenShader.js";import{PrimitiveType as n,DataType as i}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as m}from"../../../../../../webgl/VertexElementDescriptor.js";class c extends s{constructor(){super(...arguments),this.type=37,this._mesh=null,this.shaders={geometry:new o}}render(e,t){const{context:s,painter:o}=e,{texture:n,textureCoords:i}=t,m=this._getMesh(e),c=t.ndcRect[2],a=t.ndcRect[3],h=t.ndcRect[0],u=t.ndcRect[1],d=new Float32Array(180);for(let r=0;r<6;r++){const e=a*r/5;for(let t=0;t<6;t++){const s=c*t/5,{u:o,v:n}=i[6*r+t];d[5*(6*r+t)]=h+s,d[5*(6*r+t)+1]=u-e,d[5*(6*r+t)+2]=o,d[5*(6*r+t)+3]=n,d[5*(6*r+t)+4]=1}}m.vertexBuffers.get("geometry")?.setData(d);const p={texture:{texture:n,unit:0},opacity:t.opacity},l={shader:this.shaders.geometry,uniforms:{config:p},defines:{},optionalAttributes:null,useComputeBuffer:!1};o.setPipelineState(r),o.submitDrawMeshUntyped(s,l,m)}shutdown(){e(this._mesh)}_getMesh(e){const{context:r}=e,s=new Uint32Array(150);for(let t=0;t<5;t++)for(let e=0;e<5;e++){const r=6*(5*t+e),o=6*(t+1)+e+1,n=o-1,i=o-6,m=o-7;s[r]=o,s[r+1]=n,s[r+2]=i,s[r+3]=n,s[r+4]=m,s[r+5]=i}return this._mesh||(this._mesh=new t(r,{vertex:{geometry:{data:new Float32Array(180),layout:[new m("position",2,i.FLOAT,0,20),new m("texcoord",2,i.FLOAT,8,20),new m("w",1,i.FLOAT,16,20)]}},index:{index:{data:s}},groups:[{primitive:n.TRIANGLES,index:"index"}],parts:[{group:0,start:0,count:s.length}]})),this._mesh}}export{c as VideoScreenTechnique};
|