@arcgis/core 4.32.0-next.20250129 → 4.32.0-next.20250130
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/SelectionOperation.d.ts +1 -2
- package/applications/Components/SketchTooltipControls.d.ts +1 -2
- package/applications/Components/basemapUtils.d.ts +1 -2
- package/applications/Components/drawUtils.d.ts +1 -2
- package/applications/Components/fontUtils.d.ts +1 -2
- package/applications/Components/getDefaultUnits.d.ts +1 -2
- package/applications/Components/gfxUtils.d.ts +1 -2
- package/applications/Components/layerOriginUtils.d.ts +4 -2
- package/applications/Components/layersEffectsJsonUtils.d.ts +1 -2
- package/applications/Components/previewSymbol2D.d.ts +1 -2
- package/applications/Components/reactiveUtils.d.ts +1 -2
- package/applications/Components/styleUtils.d.ts +1 -2
- package/applications/Components/svgUtils.d.ts +3 -2
- package/applications/Components/webStyleSymbolUtils.d.ts +1 -2
- package/applications/Excalibur/videoViewUtils.d.ts +1 -2
- package/applications/ExperienceBuilder/sketchUtils.d.ts +3 -2
- package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +2 -2
- package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +3 -2
- package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +4 -2
- package/applications/MapViewer/mediaUtils.d.ts +2 -2
- package/applications/MapViewer/templateUtils.d.ts +4 -2
- package/applications/SceneViewer/colorUtils.d.ts +1 -2
- package/applications/SceneViewer/devEnvironmentUtils.d.ts +3 -2
- package/applications/SceneViewer/layerUtils.d.ts +2 -2
- package/applications/SceneViewer/sceneViewerUtils.d.ts +15 -2
- package/applications/SceneViewer/symbolUtils.d.ts +1 -2
- package/applications/Urban/meshUtils.d.ts +1 -2
- package/applications/WebEditor/sketchUtils.d.ts +2 -2
- package/arcade.d.ts +2 -2
- package/assets/components/assets/icon/hammerCoin16.json +1 -0
- package/assets/components/assets/icon/hammerCoin24.json +1 -0
- package/assets/components/assets/icon/hammerCoin32.json +1 -0
- package/assets/components/assets/icon/hammerLock16.json +1 -0
- package/assets/components/assets/icon/hammerLock24.json +1 -0
- package/assets/components/assets/icon/hammerLock32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{474c4f4c3b8649a807d9.js → 07c5f3fc475c57f5a7a7.js} +1 -1
- package/assets/esri/core/workers/chunks/{41f7287832d407f13ce5.js → 09b77f82c22530b44daa.js} +1 -1
- package/assets/esri/core/workers/chunks/0ebdf0d1fd2034b24519.js +972 -0
- package/assets/esri/core/workers/chunks/149bad940feb0764b350.js +1 -0
- package/assets/esri/core/workers/chunks/1891c9aa162c5df1d27c.js +1 -0
- package/assets/esri/core/workers/chunks/22e11a8abc70b6571a2b.js +1 -0
- package/assets/esri/core/workers/chunks/{6eb829a7959df2269b0e.js → 24c94f97a76646d415ae.js} +1 -1
- package/assets/esri/core/workers/chunks/25c8cc30faade043c8dc.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/2ff63a71213f618377d6.js +1 -0
- package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/380d37ceb8cf52bad190.js +1 -0
- package/assets/esri/core/workers/chunks/{1e17b693f2d974c3de2d.js → 3ec51b75d1a86dad6cb1.js} +1 -1
- package/assets/esri/core/workers/chunks/4263eee3247aaf4e64bf.js +1 -0
- package/assets/esri/core/workers/chunks/{b6440ddc595ba2ba8f8e.js → 448ee44c7f594e5b2551.js} +1 -1
- package/assets/esri/core/workers/chunks/476205ee4414ed80666a.js +1 -0
- package/assets/esri/core/workers/chunks/4b56c0c109e10d7409b8.js +1 -0
- package/assets/esri/core/workers/chunks/{1e1306527fb38c5894eb.js → 5a536de1ecae424bad05.js} +1 -1
- package/assets/esri/core/workers/chunks/{b65dcdf5818ee04aa7e0.js → 5adeb979f178944b9ce5.js} +1 -1
- package/assets/esri/core/workers/chunks/{f09c95c3d79205ee5a84.js → 5e9bf6d0db82526b8a8c.js} +5 -5
- package/assets/esri/core/workers/chunks/{e7913ec1b4f9da490ba3.js → 69ab4b780f7223cfd7dd.js} +1 -1
- package/assets/esri/core/workers/chunks/{429d19f4b59d9d265c2c.js → 6e25742ceedea7fb1b97.js} +1 -1
- package/assets/esri/core/workers/chunks/6e8905f20101c1f4509d.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{a6e96d0d9ac3224c8f00.js → 6ef2514a6b7bbfb8e37d.js} +1 -1
- package/assets/esri/core/workers/chunks/72cf9192292e5c85c6df.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{a591906154e12eb4fa43.js → 7810579a5a780933cdc9.js} +1 -1
- package/assets/esri/core/workers/chunks/{fa0d968733d581bc2e4d.js → 7d120f8b01fe719eb257.js} +1 -1
- package/assets/esri/core/workers/chunks/83edac97a52b26ead1ea.js +314 -0
- package/assets/esri/core/workers/chunks/{d81fea1d36e7c2fbdffd.js → 881ddbdeb40336208e90.js} +1 -1
- package/assets/esri/core/workers/chunks/{ec9d5af8887854e821c8.js → 88cbaa91c495d86f4bb0.js} +1 -1
- package/assets/esri/core/workers/chunks/{09a897c342a45ef9125c.js → 9011704b258ecbfb6d9b.js} +2 -2
- package/assets/esri/core/workers/chunks/{09a897c342a45ef9125c.js.LICENSE.txt → 9011704b258ecbfb6d9b.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/97310e6eec87eeaf58f0.js +1 -0
- package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{4253b2802abb84afc428.js → b68bddd0c4ca91493543.js} +1 -1
- package/assets/esri/core/workers/chunks/bf9bc52a3c559108c19a.js +2 -0
- package/assets/esri/core/workers/chunks/{9b687465cc3863e14b29.js.LICENSE.txt → bf9bc52a3c559108c19a.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/c249ad935f54d3b49ae3.js +1 -0
- package/assets/esri/core/workers/chunks/d1678945cf6a58f76863.js +1 -0
- package/assets/esri/core/workers/chunks/{9ed1691eab19dfb1cf04.js → d1718ad93e3271b0525e.js} +1 -1
- package/assets/esri/core/workers/chunks/d599ba865da87b487b1b.js +1 -0
- package/assets/esri/core/workers/chunks/dd46ec81cebe1a0a7b9c.js +1 -0
- package/assets/esri/core/workers/chunks/debfb75a94b66b58cbbc.js +1 -0
- package/assets/esri/core/workers/chunks/{c6135d2548d4a31298eb.js → e0de91eacf3a3b7eda55.js} +4 -4
- package/assets/esri/core/workers/chunks/e444ec05a8a1dfbd21a8.js +1 -0
- package/assets/esri/core/workers/chunks/{b84c28fe94b3cd7b480d.js → e4651d577d297386268e.js} +1 -1
- package/assets/esri/core/workers/chunks/f8367c21fa91435c7c53.js +1 -0
- package/assets/esri/themes/base/_Ui.scss +6 -0
- package/assets/esri/themes/base/_mixins.scss +0 -7
- package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +0 -4
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +0 -4
- package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +0 -4
- package/assets/esri/themes/base/widgets/_Features.scss +0 -4
- package/assets/esri/themes/base/widgets/_LayerList.scss +0 -4
- package/assets/esri/themes/base/widgets/_TableList.scss +0 -4
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
- package/chunks/AtmosphereCompositing.glsl.js +2 -2
- package/chunks/BlendLayers.glsl.js +1 -1
- package/chunks/BlendWeights.glsl.js +1 -1
- package/chunks/BloomBlur.glsl.js +23 -23
- package/chunks/BloomComposition.glsl.js +3 -3
- package/chunks/BloomDepthAdjust.glsl.js +2 -2
- package/chunks/Blur.glsl.js +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +2 -2
- package/chunks/CheckerBoard.glsl.js +2 -2
- package/chunks/Clouds.glsl.js +14 -14
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/ColorMaterial.glsl.js +1 -1
- package/chunks/ComponentShader.glsl.js +4 -4
- package/chunks/Compositing.glsl.js +2 -2
- package/chunks/DefaultMaterial.glsl.js +16 -15
- package/chunks/EdgeDetect.glsl.js +2 -2
- package/chunks/EdgeShader.glsl.js +2 -2
- package/chunks/FocusAreaColor.glsl.js +2 -2
- package/chunks/FocusAreaMask.glsl.js +1 -1
- package/chunks/Fog.glsl.js +3 -3
- package/chunks/HUDCompositing.glsl.js +1 -1
- package/chunks/HUDMaterial.glsl.js +24 -24
- package/chunks/Haze.glsl.js +3 -3
- package/chunks/HazeCompositing.glsl.js +2 -2
- package/chunks/Heatmap.glsl.js +1 -1
- package/chunks/HeatmapDensity.glsl.js +5 -5
- package/chunks/HighlightApply.glsl.js +2 -2
- package/chunks/HighlightDownsample.glsl.js +2 -2
- package/chunks/HighlightToSingle.glsl.js +2 -2
- package/chunks/ImageMaterial.glsl.js +4 -4
- package/chunks/LaserlinePath.glsl.js +1 -1
- package/chunks/Laserlines.glsl.js +1 -1
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/LineMarker.glsl.js +8 -8
- package/chunks/Magnifier.glsl.js +4 -4
- package/chunks/MeasurementArrow.glsl.js +2 -2
- package/chunks/NativeLine.glsl.js +4 -4
- package/chunks/NoiseTextureAtlas.glsl.js +34 -34
- package/chunks/OITBlend.glsl.js +3 -3
- package/chunks/OverlayCompositing.glsl.js +1 -1
- package/chunks/Path.glsl.js +9 -9
- package/chunks/Pattern.glsl.js +3 -3
- package/chunks/PointRenderer.glsl.js +1 -1
- package/chunks/Precipitation.glsl.js +1 -1
- package/chunks/RasterColorizer.glsl.js +9 -9
- package/chunks/RealisticTree.glsl.js +3 -3
- package/chunks/RibbonLine.glsl.js +32 -32
- package/chunks/SSAO.glsl.js +2 -2
- package/chunks/SSAOBlur.glsl.js +1 -1
- package/chunks/ShadedColorMaterial.glsl.js +3 -3
- package/chunks/ShadowCastAccumulate.glsl.js +2 -2
- package/chunks/ShadowCastVisualize.glsl.js +4 -4
- package/chunks/ShadowHighlight.glsl.js +2 -2
- package/chunks/SimpleAtmosphere.glsl.js +8 -8
- package/chunks/SingleHighlightApply.glsl.js +1 -1
- package/chunks/SingleHighlightBlur.glsl.js +6 -7
- package/chunks/SlicePlaneMaterial.glsl.js +2 -2
- package/chunks/Stars.glsl.js +2 -2
- package/chunks/Terrain.glsl.js +2 -2
- package/chunks/TextureOnly.glsl.js +2 -2
- package/chunks/Viewshed.glsl.js +2 -2
- package/chunks/WaterSurface.glsl.js +7 -7
- package/core/accessorSupport/decorators.d.ts +4 -2
- package/core/jsonMap.js +1 -1
- package/core/lang.d.ts +1 -2
- package/core/libs/gl-matrix-2/factories/vec2f64.js +1 -1
- package/core/promiseUtils.d.ts +5 -2
- package/core/quantity.d.ts +3 -2
- package/core/reactiveUtils.d.ts +5 -2
- package/core/scheduling.d.ts +2 -2
- package/core/sql.d.ts +1 -2
- package/core/units.d.ts +9 -2
- package/core/urlUtils.d.ts +5 -2
- package/core/workers.d.ts +1 -2
- package/editing/templateUtils.js +1 -1
- package/form/elements/inputs.d.ts +11 -2
- package/form/elements.d.ts +7 -2
- package/geometry/coordinateFormatter.d.ts +11 -2
- package/geometry/geometryEngine.d.ts +37 -2
- package/geometry/geometryEngineAsync.d.ts +37 -2
- package/geometry/operators/affineTransformOperator.d.ts +3 -2
- package/geometry/operators/alphaShapeOperator.d.ts +3 -2
- package/geometry/operators/areaOperator.d.ts +2 -2
- package/geometry/operators/autoCompleteOperator.d.ts +2 -2
- package/geometry/operators/boundaryOperator.d.ts +3 -2
- package/geometry/operators/bufferOperator.d.ts +3 -2
- package/geometry/operators/centroidOperator.d.ts +2 -2
- package/geometry/operators/clipOperator.d.ts +3 -2
- package/geometry/operators/containsOperator.d.ts +3 -2
- package/geometry/operators/convexHullOperator.d.ts +4 -2
- package/geometry/operators/crossesOperator.d.ts +3 -2
- package/geometry/operators/cutOperator.d.ts +2 -2
- package/geometry/operators/densifyOperator.d.ts +3 -2
- package/geometry/operators/differenceOperator.d.ts +3 -2
- package/geometry/operators/disjointOperator.d.ts +3 -2
- package/geometry/operators/distanceOperator.d.ts +2 -2
- package/geometry/operators/equalsOperator.d.ts +3 -2
- package/geometry/operators/extendOperator.d.ts +2 -2
- package/geometry/operators/generalizeOperator.d.ts +3 -2
- package/geometry/operators/geodesicBufferOperator.d.ts +5 -2
- package/geometry/operators/geodesicProximityOperator.d.ts +6 -2
- package/geometry/operators/geodeticAreaOperator.d.ts +4 -2
- package/geometry/operators/geodeticDensifyOperator.d.ts +5 -2
- package/geometry/operators/geodeticDistanceOperator.d.ts +4 -2
- package/geometry/operators/geodeticLengthOperator.d.ts +4 -2
- package/geometry/operators/graphicBufferOperator.d.ts +2 -2
- package/geometry/operators/integrateOperator.d.ts +2 -2
- package/geometry/operators/intersectionOperator.d.ts +4 -2
- package/geometry/operators/intersectsOperator.d.ts +3 -2
- package/geometry/operators/isNearOperator.d.ts +2 -2
- package/geometry/operators/labelPointOperator.d.ts +3 -2
- package/geometry/operators/lengthOperator.d.ts +2 -2
- package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
- package/geometry/operators/locateBetweenOperator.d.ts +2 -2
- package/geometry/operators/minimumBoundingCircleOperator.d.ts +3 -2
- package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
- package/geometry/operators/offsetOperator.d.ts +3 -2
- package/geometry/operators/overlapsOperator.d.ts +3 -2
- package/geometry/operators/polygonOverlayOperator.d.ts +2 -2
- package/geometry/operators/polygonSlicerOperator.d.ts +4 -2
- package/geometry/operators/projectOperator.d.ts +5 -2
- package/geometry/operators/proximityOperator.d.ts +4 -2
- package/geometry/operators/relateOperator.d.ts +4 -2
- package/geometry/operators/reshapeOperator.d.ts +2 -2
- package/geometry/operators/shapePreservingProjectOperator.d.ts +5 -2
- package/geometry/operators/simplifyOperator.d.ts +4 -2
- package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -2
- package/geometry/operators/symmetricDifferenceOperator.d.ts +3 -2
- package/geometry/operators/touchesOperator.d.ts +3 -2
- package/geometry/operators/unionOperator.d.ts +3 -2
- package/geometry/operators/withinOperator.d.ts +3 -2
- package/geometry/projection.d.ts +5 -2
- package/geometry/support/geodesicUtils.d.ts +5 -2
- package/geometry/support/jsonUtils.d.ts +2 -2
- package/geometry/support/meshUtils.d.ts +6 -2
- package/geometry/support/normalizeUtils.d.ts +2 -2
- package/geometry/support/webMercatorUtils.d.ts +6 -2
- package/geometry.d.ts +7 -2
- package/interfaces.d.ts +48 -64
- package/intl.d.ts +16 -2
- package/kernel.d.ts +2 -2
- package/layers/LinkChartLayer.js +1 -1
- package/layers/catalog/catalogUtils.d.ts +2 -2
- package/layers/graphics/OptimizedGeometry.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/knowledgeGraph/cypherUtils.d.ts +1 -2
- package/layers/knowledgeGraph/layerUtils.js +1 -1
- package/layers/knowledgeGraph/supportUtils.d.ts +4 -2
- package/layers/mixins/APIKeyMixin.d.ts +1 -1
- package/layers/mixins/ArcGISCachedService.d.ts +1 -1
- package/layers/mixins/ArcGISImageService.d.ts +1 -1
- package/layers/mixins/ArcGISMapService.d.ts +1 -1
- package/layers/mixins/BlendLayer.d.ts +1 -1
- package/layers/mixins/CustomParametersMixin.d.ts +1 -1
- package/layers/mixins/DisplayFilteredLayer.d.ts +1 -1
- package/layers/mixins/FeatureEffectLayer.d.ts +1 -1
- package/layers/mixins/FeatureLayerBase.d.ts +1 -1
- package/layers/mixins/FeatureReductionLayer.d.ts +1 -1
- package/layers/mixins/ImageryTileMixin.d.ts +1 -1
- package/layers/mixins/OperationalLayer.d.ts +1 -1
- package/layers/mixins/OrderedLayer.d.ts +1 -1
- package/layers/mixins/PortalLayer.d.ts +1 -1
- package/layers/mixins/PublishableLayer.d.ts +1 -1
- package/layers/mixins/RasterPresetRendererMixin.d.ts +1 -1
- package/layers/mixins/RefreshableLayer.d.ts +1 -1
- package/layers/mixins/ScaleRangeLayer.d.ts +1 -1
- package/layers/mixins/SceneService.d.ts +1 -1
- package/layers/mixins/SublayersOwner.d.ts +1 -1
- package/layers/mixins/TemporalLayer.d.ts +1 -1
- package/layers/mixins/TemporalSceneLayer.d.ts +1 -1
- package/layers/ogc/wcsUtils.d.ts +1 -2
- package/layers/ogc/wfsUtils.d.ts +2 -2
- package/layers/orientedImagery/transformations/imageToWorld.d.ts +1 -2
- package/layers/orientedImagery/transformations/worldToImage.d.ts +1 -2
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/arcadeUtils.d.ts +1 -2
- package/layers/support/csvUtils.d.ts +1 -2
- package/layers/support/fieldUtils.d.ts +8 -2
- package/layers/support/rasterFunctionConstants.d.ts +15 -2
- package/layers/support/rasterFunctionUtils.d.ts +105 -2
- package/libs/linkchartlayout/LinkChartLayout.js +1 -1
- package/package.json +2 -2
- package/pointCloudRenderers.d.ts +5 -2
- package/popup/content.d.ts +9 -2
- package/rasterRenderers.d.ts +7 -2
- package/renderers/mixins/VisualVariablesMixin.d.ts +1 -1
- package/renderers/support/jsonUtils.d.ts +1 -2
- package/renderers/support/utils.d.ts +2 -2
- package/renderers.d.ts +9 -2
- package/rest/closestFacility.d.ts +1 -2
- package/rest/featureService/utils.d.ts +1 -2
- package/rest/find.d.ts +1 -2
- package/rest/geometryService.d.ts +21 -2
- package/rest/geoprocessor.d.ts +2 -2
- package/rest/identify.d.ts +1 -2
- package/rest/imageService.d.ts +19 -2
- package/rest/knowledgeGraphService.d.ts +11 -2
- package/rest/locator.d.ts +4 -2
- package/rest/networkService.d.ts +1 -2
- package/rest/networks/queryAssociations.d.ts +1 -2
- package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -2
- package/rest/networks/trace.d.ts +1 -2
- package/rest/places.d.ts +3 -2
- package/rest/print.d.ts +2 -2
- package/rest/query.d.ts +11 -2
- package/rest/route.d.ts +1 -2
- package/rest/serviceArea.d.ts +1 -2
- package/rest/symbolService.d.ts +1 -2
- package/smartMapping/labels/bins.d.ts +1 -2
- package/smartMapping/labels/clusters.d.ts +1 -2
- package/smartMapping/popup/clusters.d.ts +1 -2
- package/smartMapping/popup/templates.d.ts +1 -2
- package/smartMapping/raster/renderers/classBreaks.d.ts +1 -2
- package/smartMapping/raster/renderers/colormap.d.ts +1 -2
- package/smartMapping/raster/renderers/flow.d.ts +1 -2
- package/smartMapping/raster/renderers/rgb.d.ts +1 -2
- package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -2
- package/smartMapping/raster/renderers/stretch.d.ts +1 -2
- package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -2
- package/smartMapping/raster/renderers/vectorField.d.ts +1 -2
- package/smartMapping/raster/support/colorRamps.d.ts +5 -2
- package/smartMapping/raster/support/utils.d.ts +2 -2
- package/smartMapping/renderers/color.d.ts +6 -2
- package/smartMapping/renderers/dotDensity.d.ts +1 -2
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.d.ts +2 -2
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/location.d.ts +1 -2
- package/smartMapping/renderers/opacity.d.ts +1 -2
- package/smartMapping/renderers/pieChart.d.ts +2 -2
- package/smartMapping/renderers/predominance.d.ts +1 -2
- package/smartMapping/renderers/relationship.d.ts +2 -2
- package/smartMapping/renderers/size.d.ts +5 -2
- package/smartMapping/renderers/support/rendererUtils.d.ts +1 -2
- package/smartMapping/renderers/type.d.ts +2 -2
- package/smartMapping/renderers/univariateColorSize.d.ts +2 -2
- package/smartMapping/statistics/heatmapStatistics.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
- package/smartMapping/statistics/support/ageUtils.d.ts +1 -2
- package/smartMapping/statistics/support/predominanceUtils.d.ts +1 -2
- package/smartMapping/support/adapters/support/layerUtils.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/smartMapping/symbology/color.d.ts +7 -2
- package/smartMapping/symbology/dotDensity.d.ts +4 -2
- package/smartMapping/symbology/flow.d.ts +5 -2
- package/smartMapping/symbology/heatmap.d.ts +5 -2
- package/smartMapping/symbology/location.d.ts +3 -2
- package/smartMapping/symbology/pieChart.d.ts +5 -2
- package/smartMapping/symbology/predominance.d.ts +5 -2
- package/smartMapping/symbology/relationship.d.ts +5 -2
- package/smartMapping/symbology/size.d.ts +3 -2
- package/smartMapping/symbology/support/colorRamps.d.ts +4 -2
- package/smartMapping/symbology/type.d.ts +5 -2
- package/support/LayersMixin.d.ts +1 -1
- package/support/TablesMixin.d.ts +1 -1
- package/support/featureFlags.js +1 -1
- package/support/popupUtils.d.ts +4 -2
- package/support/revision.js +1 -1
- package/support/timeUtils.d.ts +3 -2
- package/symbols/support/cimConversionUtils.d.ts +1 -2
- package/symbols/support/cimSymbolUtils.d.ts +6 -2
- package/symbols/support/jsonUtils.d.ts +1 -2
- package/symbols/support/symbolUtils.d.ts +7 -2
- package/symbols.d.ts +29 -2
- package/tables/elements.d.ts +5 -2
- package/unionTypes.d.ts +12 -2
- package/versionManagement/utils.d.ts +2 -2
- package/versionManagement/versionAdapters/utils.d.ts +2 -2
- package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TestShader.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/AFetchLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/DrillDownTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/PagedTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/SnapshotLoadStrategy.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/3d/environment/ChapmanApproximation.glsl.js +3 -3
- package/views/3d/environment/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/ChapmanRaymarching.glsl.js +4 -4
- package/views/3d/environment/Clouds.glsl.js +1 -1
- package/views/3d/environment/CloudsComposition.glsl.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/Fog.glsl.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/LocalAtmosphere.js +1 -1
- package/views/3d/environment/MarsAtmosphere.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.glsl.js +1 -1
- package/views/3d/environment/Precipitation.glsl.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/environment/PrecipitationTechnique.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/pipeline/Tile.js +1 -1
- package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureData/FeatureData.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureData/FeatureDataStore.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureSet/PBFPointFeatureSetView.js +1 -1
- package/views/3d/layers/graphics/pipeline/featureSet/TiledFeatureStore.js +1 -1
- package/views/3d/layers/graphics/pipeline/fetching/Tile3DFetcher.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
- package/views/3d/layers/graphics/wosrLoader.js +1 -1
- package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
- package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
- package/views/3d/support/PBFDecoder.js +1 -1
- package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
- package/views/3d/webgl/RenderNode.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js +2 -2
- package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
- package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/HighlightCellGridScreenSpacePass.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/HighlightReadBitmap.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Offset.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSizeScaling.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +9 -9
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PositionAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VerticalOffset.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/AlignPixel.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Colormap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Common.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/raster/Projection.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeMaterialColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/FoamRendering.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MultipassGeometryTest.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +7 -7
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/DoublePrecision.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/IsNaN.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/LocalFromScreenSpace.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloat16Encoding.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/TextureAtlasLookup.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/TextureOnly.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Integer2BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Integer2PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/IntegerDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/TextureCubeBindUniform.js +1 -1
- package/views/3d/webgl-engine/core/shaderModules/glsl.js +5 -0
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/OpaqueEnvironment.js +1 -1
- package/views/3d/webgl-engine/effects/TransparentEnvironment.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjust.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +5 -0
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +5 -0
- package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAAPassParameters.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAOParameters.js +1 -1
- package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
- package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextureCompressionWorker.js +1 -1
- package/views/3d/webgl-engine/lib/TextureCompressionWorkerHandle.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/BlendWeights.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Blur.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/EdgeDetect.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/FocusAreaMask.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Heatmap.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightToSingle.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Laserlines.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +7 -7
- package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SSAO.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SSAOBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SingleHighlightApply.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SingleHighlightBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/SphereIntersect.glsl.js +2 -2
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +2 -2
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DiscardNonSilhouetteEdges.glsl.js +4 -4
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js +2 -2
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +3 -3
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +7 -7
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +7 -7
- package/views/3d/webgl.d.ts +3 -2
- package/views/BreakpointsOwner.d.ts +1 -1
- package/views/DOMContainer.d.ts +1 -1
- package/views/FocusAreas.js +1 -1
- package/views/PopupView.d.ts +1 -1
- package/views/support/colorUtils.d.ts +2 -2
- package/views/webgl/NoParameters.js +5 -0
- package/views/webgl/ShaderBuilder.js +5 -0
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/Uniform.js +5 -0
- package/views/webgl/testAppleAmdDrawArrays.js +1 -1
- package/widgets/Attachments/AttachmentsViewModel.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/smartMapping/support/utils.d.ts +3 -2
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
- package/widgets/support/widget.d.ts +8 -2
- package/assets/esri/core/workers/chunks/1557446aa4525705a5b2.js +0 -1
- package/assets/esri/core/workers/chunks/2cf8677005dd2127f5eb.js +0 -1
- package/assets/esri/core/workers/chunks/31b9faaa539fdc639a0a.js +0 -1
- package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +0 -1
- package/assets/esri/core/workers/chunks/34b31091e172e910d750.js +0 -1
- package/assets/esri/core/workers/chunks/4020c753fcbbb9f1c731.js +0 -1
- package/assets/esri/core/workers/chunks/48a1b63291c62bc78a41.js +0 -1
- package/assets/esri/core/workers/chunks/48e6f5571042aaffe543.js +0 -314
- package/assets/esri/core/workers/chunks/5bb175106aee21025bc2.js +0 -1
- package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +0 -1
- package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +0 -1
- package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +0 -1
- package/assets/esri/core/workers/chunks/99c0b133c97abf4c2eec.js +0 -1
- package/assets/esri/core/workers/chunks/9a30ad773c22bde61c64.js +0 -1
- package/assets/esri/core/workers/chunks/9b687465cc3863e14b29.js +0 -2
- package/assets/esri/core/workers/chunks/b5ee6c203f536bdb6708.js +0 -1
- package/assets/esri/core/workers/chunks/c12bdf6fd7f631e3f79e.js +0 -971
- package/assets/esri/core/workers/chunks/c58f559eb68035ebe3da.js +0 -1
- package/assets/esri/core/workers/chunks/d2403fc8f4c723301144.js +0 -1
- package/views/2d/engine/webgl/shaderGraph/ShaderBuilder2D.js +0 -5
- package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +0 -5
- package/views/3d/webgl-engine/core/shaderModules/Uniform.js +0 -5
- package/views/3d/webgl-engine/core/shaderModules/interfaces.js +0 -5
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNode.js +0 -5
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeColorEffects.js +0 -5
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaRenderNodeGeometryMasking.js +0 -5
- /package/views/{3d/webgl-engine/core/shaderTechnique → webgl}/BindType.js +0 -0
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{unitRGBAFromColor as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{unitRGBAFromColor as t}from"../../../core/colorUtils.js";import{clamp as r,lerp as s}from"../../../core/mathUtils.js";import{disposeMaybe as i}from"../../../core/maybe.js";import{watch as o,syncAndInitial as a}from"../../../core/reactiveUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{set as m}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{i as h,l as c,k as p}from"../../../chunks/vec32.js";import{s as u}from"../../../chunks/vec42.js";import{ZEROS as l}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{earth as d}from"../../../geometry/support/Ellipsoid.js";import{InternalRenderCategory as f}from"../webgl.js";import{innerAtmosphereDepth as g,computeInnerAltitudeFade as b}from"./atmosphereUtils.js";import{ChapmanAtmospherePassParameters as _,ChapmanAtmosphereTechnique as P}from"./ChapmanAtmosphereTechnique.js";import{ChapmanAtmosphereTechniqueConfiguration as j}from"./ChapmanAtmosphereTechniqueConfiguration.js";import{ColorFormat as w}from"../webgl/formats.js";import{OpaqueEnvironment as T}from"../webgl-engine/effects/OpaqueEnvironment.js";import{RenderRequestType as q}from"../webgl-engine/lib/basicInterfaces.js";import{createQuadVAO as v,Layout as A}from"../webgl-engine/lib/glUtil3D.js";import{applyTextureResizeModulo as E}from"../webgl-engine/lib/textureUtils.js";import{A as C}from"../../../chunks/AtmosphereCompositing.glsl.js";import{AtmosphereCompositingTechnique as x}from"../webgl-engine/shaders/AtmosphereCompositingTechnique.js";import{PrimitiveType as D}from"../../webgl/enums.js";import R from"../../../webscene/background/ColorBackground.js";let M=class extends T{constructor(){super(...arguments),this.requireGeometryDepth=!0,this._compositingPassParameters=new C,this._vao=null,this._passParameters=new _,this._configuration=new j}initialize(){this.techniques.precompile(P,this._configuration),this.techniques.precompile(x),this._configuration.reduced=!0,this.techniques.precompile(P,this._configuration),this._configuration.reduced=!1,this.addHandles([o((()=>this.view.environment.background),(e=>{const r=e instanceof R?t(e.color):l;h(this._passParameters.backgroundColor,r[0]*r[3],r[1]*r[3],r[2]*r[3])}),a),o((()=>this.view._stage?.renderer?.fullResolutionAtmosphere),(e=>this._configuration.reduced=!e),a),o((()=>this.view.environment.atmosphereEnabled),(e=>e?this._enable():this._disable()),a)])}destroy(){this._vao=i(this._vao)}render(e){const t=e.find((({name:e})=>e===f.OPAQUE_ENVIRONMENT));if(!this.bindParameters.mainDepth)return t;const r=this.renderingContext;this._vao??=v(r,A.Pos2Tex);const i=t.getAttachment(r.gl.DEPTH_STENCIL_ATTACHMENT);this._update();const o=this.techniques.acquire(P,this._configuration);if(!o.compiled)return o.release(),this.requestRender(q.UPDATE),t;if(!this._configuration.reduced)return t.detachDepth(),r.bindFramebuffer(t.fbo),r.bindTechnique(o,this.bindParameters,this._passParameters),r.bindVAO(this._vao),r.drawArrays(D.TRIANGLE_STRIP,0,4),t.attachDepth(i),o.release(),t;const a=this.techniques.acquire(x);if(!a.compiled)return o.release(),a.release(),this.requestRender(q.UPDATE),t;const n=r.getViewport(),m=this.bindParameters.camera,h=c(m.eye)-d.radius;let p;const u=d.atmosphereHeight;if(h<u){const e=Math.min(1,Math.max(0,h/u));p=s(.2,.3,e)}else{const e=Math.min(1,Math.max(0,(h-u)/(15*u)));p=s(.3,.6,e)}const l=E(Math.round(p*m.fullViewport[2])),g=E(Math.round(p*m.fullViewport[3]));r.setViewport(0,0,l,g);const b=this.fboCache.acquire(l,g,"chapman",w.RGBA);return r.bindFramebuffer(b.fbo),r.clearFramebuffer([0,0,0,1],!0,!0),r.bindTechnique(o,this.bindParameters,this._passParameters),r.bindVAO(this._vao),r.drawArrays(D.TRIANGLE_STRIP,0,4),r.setViewport(n.x,n.y,n.width,n.height),this._compositingPassParameters.color=b.getTexture(),t.detachDepth(),r.bindFramebuffer(t.fbo),r.bindTechnique(a,this.bindParameters,this._compositingPassParameters),r.screen.draw(),t.attachDepth(i),o.release(),a.release(),b.release(),t}_update(){const e=this.bindParameters.camera,t=p(e.eye),s=Math.sqrt(t),i=t-this._passParameters.radii[1]**2,o=r((s-this._passParameters.radii[0])/d.atmosphereHeight,0,1);u(this._passParameters.heightParameters,s,t,i,o);const a=this.view.basemapTerrain.getLowerBoundRadius();m(this._passParameters.radii,a,a+d.atmosphereHeight),this._passParameters.innerFadeDistance=2*Math.sqrt((2*a-g)*g),this._passParameters.altitudeFade=b(s-a)}};M=e([n("esri.views.3d.environment.ChapmanAtmosphere")],M);export{M as ChapmanAtmosphere};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{betaRayleigh as e,betaCombined as a,betaMie as t}from"./atmosphereUtils.js";import{ChapmanApproximation as i}from"./ChapmanApproximation.glsl.js";import{Float3BindUniform as
|
|
5
|
+
import{betaRayleigh as e,betaCombined as a,betaMie as t}from"./atmosphereUtils.js";import{ChapmanApproximation as i}from"./ChapmanApproximation.glsl.js";import{Float3BindUniform as l}from"../webgl-engine/core/shaderModules/Float3BindUniform.js";import{glsl as r,If as o}from"../webgl-engine/core/shaderModules/glsl.js";function s(s,c){s.include(i);const p=6;s.uniforms.add(new l("cameraPosition",(e=>e.camera.eye))),s.constants.add("betaRayleigh","vec3",e),s.constants.add("betaCombined","vec3",a),s.constants.add("betaMie","float",t),s.code.add(r`
|
|
6
6
|
vec3 raymarchAtmosphere(vec3 cameraPos, vec3 rayDir, vec3 lightDir, float terrainDepth) {
|
|
7
7
|
vec4 ray = planetIntersect(cameraPos, rayDir);
|
|
8
8
|
if(ray.x == 1.0) {
|
|
@@ -16,9 +16,9 @@ import{betaRayleigh as e,betaCombined as a,betaMie as t}from"./atmosphereUtils.j
|
|
|
16
16
|
vec3 scattering = vec3(0);
|
|
17
17
|
float scaleFract = (length(samplePoint) - radii[0]) / scaleHeight;
|
|
18
18
|
float lastOpticalDepth = getOpticalDepth(samplePoint, rayDir, scaleFract);
|
|
19
|
-
float stepSize = (ray.w - ray.z) / ${
|
|
19
|
+
float stepSize = (ray.w - ray.z) / ${r.float(p)};
|
|
20
20
|
|
|
21
|
-
for (int i = 0; i < ${
|
|
21
|
+
for (int i = 0; i < ${r.int(p)}; i++) {
|
|
22
22
|
samplePoint -= stepSize * rayDir;
|
|
23
23
|
scaleFract = (length(samplePoint) - radii[0]) / scaleHeight;
|
|
24
24
|
float opticalDepth = multiplier * getOpticalDepth(samplePoint, rayDir * multiplier, scaleFract);
|
|
@@ -41,7 +41,7 @@ import{betaRayleigh as e,betaCombined as a,betaMie as t}from"./atmosphereUtils.j
|
|
|
41
41
|
float mumu = 1.0 + mu * mu;
|
|
42
42
|
|
|
43
43
|
float phaseRayleigh = 0.0596831 * mumu;
|
|
44
|
-
${c?"return 3.0 * scattering * stepSize * phaseRayleigh * betaRayleigh;":
|
|
44
|
+
${c?"return 3.0 * scattering * stepSize * phaseRayleigh * betaRayleigh;":r`const float g = 0.8;
|
|
45
45
|
const float gg = g * g;
|
|
46
46
|
float phaseMie = 0.1193662 * ((1.0 - gg) * mumu) / (pow(1.0 + gg - 2.0 * mu * g, 1.5) * (2.0 + gg));
|
|
47
47
|
phaseMie = clamp(phaseMie, 0.0, 128.0);
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../core/has.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import"../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"./CloudsTechniqueConfiguration.js";import"./NoiseTextureAtlasDimensions.js";import"../webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/
|
|
5
|
+
import"../../../core/has.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import"../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"./CloudsTechniqueConfiguration.js";import"./NoiseTextureAtlasDimensions.js";import"../webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Matrix3PassUniform.js";import"../webgl-engine/core/shaderModules/Texture2DPassUniform.js";import"../webgl-engine/shaders/SphereIntersect.glsl.js";import"../../webgl/NoParameters.js";import"../../webgl/ShaderBuilder.js";export{C as CloudsPassParameters,b as build,c as cubeMapSize}from"../../../chunks/Clouds.glsl.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import"../webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import"../webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import"../webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/FloatBindUniform.js";import"../webgl-engine/core/shaderModules/
|
|
5
|
+
import"../webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js";import"../webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js";import"../webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import"../webgl-engine/core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/FloatBindUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import"../../webgl/ShaderBuilder.js";export{b as build}from"../../../chunks/CloudsComposition.glsl.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{disposeMaybe as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{disposeMaybe as i}from"../../../core/maybe.js";import{watch as s,initial as r}from"../../../core/reactiveUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";import{getReferenceEllipsoid as o}from"../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as n}from"../webgl.js";import{CloudsCompositionTechnique as a}from"./CloudsCompositionTechnique.js";import{OpaqueEnvironment as m}from"../webgl-engine/effects/OpaqueEnvironment.js";import{RenderRequestType as l}from"../webgl-engine/lib/basicInterfaces.js";import{createQuadVAO as c}from"../webgl-engine/lib/glUtil3D.js";import{PrimitiveType as p}from"../../webgl/enums.js";let d=class extends m{constructor(e){super(e),this._planetRadius=o(e.view.spatialReference).radius}initialize(){this.techniques.precompile(a),this.addHandles([s((()=>null!=this.view.environment.weather&&this.view.environment.atmosphereEnabled),(e=>e?this._enable():this._disable()),r)])}destroy(){this._vao=i(this._vao)}render(e){const i=e.find((({name:e})=>e===n.OPAQUE_ENVIRONMENT)),s=this.bindParameters.clouds;if(!s.data)return i;const r=this.techniques.acquire(a);if(!r.compiled)return this.requestRender(l.UPDATE),r.release(),i;const t=this.renderingContext;this._vao??=c(t);const o=t.bindTechnique(r,this.bindParameters);return t.bindVAO(this._vao),o.assertCompatibleVertexAttributeLocations(this._vao),t.drawArrays(p.TRIANGLE_STRIP,0,4),r.release(),s.isFading&&this.requestRender(l.UPDATE),i}};d=e([t("esri.views.3d.environment.CloudsComposition")],d);export{d as CloudsComposition};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../chunks/tslib.es6.js";import"../../../core/has.js";import{destroyMaybe as e}from"../../../core/maybe.js";import{watch as i,sync as r}from"../../../core/reactiveUtils.js";import{signal as s}from"../../../core/signal.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{l as a}from"../../../chunks/vec32.js";import{getReferenceEllipsoid as u}from"../../../geometry/ellipsoidUtils.js";import{CubeMapState as c}from"./Clouds.js";import{cloudPresets as p}from"./CloudsPresets.js";import{CloudsRenderer as
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import"../../../core/has.js";import{destroyMaybe as e}from"../../../core/maybe.js";import{watch as i,sync as r}from"../../../core/reactiveUtils.js";import{signal as s}from"../../../core/signal.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{l as a}from"../../../chunks/vec32.js";import{getReferenceEllipsoid as u}from"../../../geometry/ellipsoidUtils.js";import{CubeMapState as c}from"./Clouds.js";import{cloudPresets as p}from"./CloudsPresets.js";import{CloudsRenderer as l}from"./CloudsRenderer.js";import{Precipitation as h}from"./Precipitation.js";import{heightLimit as d}from"./weather.js";import{SyncRenderPlugin as _}from"../webgl-engine/effects/RenderPlugin.js";let m=class extends _{constructor(t){super(t),this.produces=new Map([]),this._clouds=s(null),this._incarnation=0,this._precipitation=null}initialize(){this.view._stage.addRenderPlugin(this)}destroy(){this.removeHandles(),this.uninitializeRenderContext(),this.view?._stage?.removeRenderPlugin(this),this._set("view",null)}get updating(){return!!this._clouds.value?.running}get weatherAvailable(){return a(this.view.state.camera.eye)-u(this.view.spatialReference).radius<=d}get usedMemory(){return this._clouds.value?.usedMemory??0}_fadeOutPrecipitation(){this._precipitation&&(this._precipitationOutgoing?.destroy(),this._precipitationOutgoing=this._precipitation,this._precipitationOutgoing.fadeOut((()=>{this._precipitationOutgoing=e(this._precipitationOutgoing)})),this._precipitation=null,++this._incarnation)}get weather(){return this.view?.environmentManager?.weatherEnabled?this.view.environment.weather:null}initializeRenderContext(t){this._context=t;const e=this.view,s=()=>this._requestRender();this.addHandles([i((()=>this._precipitation),s,r),i((()=>this._clouds.value?.state),s,r),i((()=>e.state.mode),s,r),i((()=>this._updateClouds()),s,r),i((()=>this._updatePrecipitation()),s,r),i((()=>this.weather),(t=>this._initWeather(t)))])}uninitializeRenderContext(){this._context=null,this._clouds.value=e(this._clouds.value),this._precipitation=e(this._precipitation),this._precipitationOutgoing=e(this._precipitationOutgoing)}prepareRender(t){const{bind:e,time:i}=t;if("local"!==this.view.viewingMode&&e.clouds.data){e.clouds.fade(e.camera,i,this.view.qualitySettings.fadeDuration);const t=this._clouds.value;t&&t.state===c.Idle&&0===t.coverage&&!t.running&&t.destroyCubeMap()}}acquireTechniques(){return[]}render(){}_requestRender(){this._context?.requestRender()}_initWeather(t){const i=this._context;if(!t||!i)return void(this._clouds.value=e(this._clouds.value));if(this._clouds.value)return;const r=this.view;this._clouds.value=new l({context:i,view:r,requestRender:()=>this._requestRender()})}_updateClouds(){const t=this.view.environment.weather;return null==t||null==this._clouds.value||this._clouds.value.applyPreset(p[t.type],v(t)),++this._incarnation}_updatePrecipitation(){const t=this.view.environment.weather;if(t.type===this._precipitation?.type)return this._incarnation;this._fadeOutPrecipitation();const e="rainy"===t.type||"snowy"===t.type,i=this._context;return e&&i&&(this._precipitation=new h({view:this.view,type:t.type}),++this._incarnation),this._incarnation}get test(){}hasHighlightOptions(t){return!1}};function v(t){switch(t.type){case"rainy":case"snowy":case"cloudy":case"sunny":return t.cloudCover;case"foggy":return t.fogStrength}}t([n({constructOnly:!0})],m.prototype,"view",void 0),t([n({type:Boolean,readOnly:!0})],m.prototype,"updating",null),t([n()],m.prototype,"weatherAvailable",null),t([n()],m.prototype,"_context",void 0),m=t([o("esri.views.3d.environment.EnvironmentRenderer")],m);export{m as EnvironmentRenderer};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/
|
|
5
|
+
import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Texture2DBindUniform.js";import"../webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import"../webgl-engine/shaders/SphereIntersect.glsl.js";import"../webgl-engine/shaders/ToneMapping.glsl.js";import"../../webgl/NoParameters.js";import"../../webgl/ShaderBuilder.js";export{F as FogPassParameters,b as build}from"../../../chunks/Fog.glsl.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{lerp as t,smoothstep as s}from"../../../core/mathUtils.js";import{watch as r,syncAndInitial as a}from"../../../core/reactiveUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import{c as o,n,f as h,h as m,m as c,l as p}from"../../../chunks/vec32.js";import{create as d,fromValues as l}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as _}from"../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{lerp as t,smoothstep as s}from"../../../core/mathUtils.js";import{watch as r,syncAndInitial as a}from"../../../core/reactiveUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import{c as o,n,f as h,h as m,m as c,l as p}from"../../../chunks/vec32.js";import{create as d,fromValues as l}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as _}from"../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as g}from"../webgl.js";import{F as u}from"../../../chunks/Fog.glsl.js";import{FogTechnique as f}from"./FogTechnique.js";import{heightLimit as w}from"./weather.js";import{TransparentEnvironment as P}from"../webgl-engine/effects/TransparentEnvironment.js";import{RenderRequestType as y}from"../webgl-engine/lib/basicInterfaces.js";const b=.95,v=1;let j=class extends P{constructor(e){super(e),this.requireGeometryDepth=!0,this._newParameters=new F,this._oldParameters=new F,this._fadedParameters=new F,this._parameters=this._newParameters,this._passParameters=new u;const t=_(e.view.spatialReference);this._planetRadius=t.radius,this._atmosphereRadius=t.radius+t.atmosphereHeight,e.view._stage.renderView.techniques.precompile(f)}toogle(){this.view.environment.atmosphereEnabled&&this.view.environment.weather?this._enable():this._disable()}initialize(){this.addHandles([r((()=>this.view.environment.atmosphereEnabled),(()=>this.toogle()),a),r((()=>this.view.environment.weather),(()=>this.toogle()),a),r((()=>this._updateFogParameters()),(()=>{}),a)]),this.addHandles(r((()=>this._fadeFactor),(e=>this._fade(e)),a))}get _fadeFactor(){return this.view._stage?.renderer.renderContext.bind.clouds.fadeFactor??1}_fade(e){const{_newParameters:t,_oldParameters:s}=this;e>=1?(this._parameters=t,this._oldParameters.copyFrom(this._newParameters)):e<=0?this._parameters=s:(this._fadedParameters.lerp(s,t,e),this._parameters=this._fadedParameters)}_updateFogParameters(){const e=this.view.environment.weather,s="foggy"===e.type||"snowy"===e.type||"rainy"===e.type;this._newParameters.strength="foggy"===e.type?t(3e-5,.005,e.fogStrength**3):"snowy"===e.type||"rainy"===e.type?t(4e-6,2e-4,(e.precipitation??0)**3):0,this._newParameters.amount=s?1:0,"foggy"!==e.type&&"snowy"!==e.type||o(this._newParameters.color,q),"rainy"===e.type&&o(this._newParameters.color,R),this._fadeFactor>=1&&this._oldParameters.copyFrom(this._newParameters),this.requestRender(y.UPDATE)}render(e){const t=e.find((({name:e})=>e===g.TRANSPARENT_ENVIRONMENT));if(0===this._parameters.amount)return t;if(this._update(),this._passParameters.amount<=0)return t;const s=this.techniques.acquire(f);if(!s.compiled)return this.requestRender(y.UPDATE),s.release(),t;const r=this.renderingContext,a=t.getAttachment(r.gl.DEPTH_STENCIL_ATTACHMENT);return t.attachDepth(null),r.bindFramebuffer(t.fbo),r.bindTechnique(s,this.bindParameters,this._passParameters),r.screen.draw(),t.attachDepth(a),s.release(),t}_update(){const e=this.bindParameters.camera;n(T,e.eye);const t=Math.max(0,h(T,this.bindParameters.lighting.mainLight.direction)),r=this._parameters.color;m(E,r,.1),c(this._passParameters.color,E,r,t);const a=p(e.eye);this._passParameters.atmosphereC=a**2-this._atmosphereRadius**2,this._passParameters.amount=(1-s(b*w,v*w,Math.abs(a-this._planetRadius)))*this._parameters.amount,this._passParameters.strength=this._parameters.strength}};j=e([i("esri.views.3d.environment.Fog")],j);class F{constructor(){this.color=d(),this.strength=0,this.amount=0}copyFrom(e){this.amount=e.amount,this.strength=e.strength,o(this.color,e.color)}lerp(e,s,r){this.amount=t(e.amount,s.amount,r),this.strength=t(e.strength,s.strength,r),c(this.color,e.color,s.color,r)}}const T=d(),E=d(),R=l(.5,.5,.5),q=l(1.5,1.5,1.5);export{j as Fog,F as FogParameters};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{disposeMaybe as t}from"../../../core/maybe.js";import{watch as r,initial as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{disposeMaybe as t}from"../../../core/maybe.js";import{watch as r,initial as i}from"../../../core/reactiveUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{copy as o}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as m}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{InternalRenderCategory as n}from"../webgl.js";import{S as a}from"../../../chunks/SimpleAtmosphere.glsl.js";import{SimpleAtmosphereTechnique as p}from"./SimpleAtmosphereTechnique.js";import{SimpleAtmosphereTechniqueConfiguration as c,SimpleAtmosphereGeometry as l}from"./SimpleAtmosphereTechniqueConfiguration.js";import{earthAtmosphereTextureSimple as f}from"./resources/SimpleAtmosphereTexture.js";import{glLayout as h}from"../support/buffer/glUtil.js";import{newLayout as u}from"../support/buffer/InterleavedLayout.js";import{OpaqueEnvironment as b}from"../webgl-engine/effects/OpaqueEnvironment.js";import{RenderRequestType as g}from"../webgl-engine/lib/basicInterfaces.js";import{Default3D as j}from"../webgl-engine/lib/DefaultVertexAttributeLocations.js";import{createPolySphereData as _}from"../webgl-engine/lib/GeometryUtil.js";import{VertexArrayObject as d}from"../webgl-engine/lib/VertexArrayObject.js";import{VertexAttribute as w}from"../webgl-engine/lib/VertexAttribute.js";import{BufferObject as v}from"../../webgl/BufferObject.js";import{TextureWrapMode as x,PrimitiveType as A,Usage as T}from"../../webgl/enums.js";import{Texture as P}from"../../webgl/Texture.js";import{TextureDescriptor as y}from"../../webgl/TextureDescriptor.js";import{vertexCount as C}from"../../webgl/Util.js";let E=class extends b{constructor(){super(...arguments),this._configuration=new c,this._passParameters=new a,this._vao=null,this._vaoCount=0}initialize(){this._configuration.geometry=l.Cylinder,this.addHandles([r((()=>this.view.environment.atmosphereEnabled),(e=>e?this._enable():this._disable()),i)])}destroy(){this._passParameters.texture=t(this._passParameters.texture),this._vao=t(this._vao)}precompile(){this.techniques.precompile(p,this._configuration)}render(e){const t=e.find((({name:e})=>e===n.OPAQUE_ENVIRONMENT)),r=this.techniques.acquire(p,this._configuration);if(!r.compiled)return r.release(),this.requestRender(g.UPDATE),t;const i=this.renderingContext;if(this._vao||(this._vao=O(i),this._vaoCount=C(this._vao,"geometry")),!this._passParameters.texture){const e=new y;e.wrapMode=x.CLAMP_TO_EDGE,e.flipped=!0,e.width=1,e.height=512,this._passParameters.texture=new P(i,e,f)}const s=i.bindTechnique(r,this.bindParameters,this._passParameters);return S(q,this.bindParameters.camera.viewMatrix),s.setUniformMatrix4fv("view",q),i.bindVAO(this._vao),s.assertCompatibleVertexAttributeLocations(this._vao),i.drawArrays(A.TRIANGLES,0,this._vaoCount),r.release(),t}};function O(e){const t=_(1,2,!1),{data:r,indices:i}=t[0][1],s=L.createBuffer(i.length),o=s.position;for(let m=0;m<i.length;++m){const e=3*i[m%3==0?m+2:m%3==2?m-2:m];o.set(m,0,r[e]),o.set(m,1,r[e+1]),o.set(m,2,r[e+2])}return new d(e,j,new Map([["geometry",h(L)]]),new Map([["geometry",v.createVertex(e,T.STATIC_DRAW,s.buffer)]]))}function S(e,t){o(e,t),e[12]=0,e[13]=0,e[14]=0,e[15]=1}E=e([s("esri.views.3d.environment.LocalAtmosphere")],E);const q=m(),L=u().vec3f(w.POSITION);export{E as LocalAtmosphere};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{lerp as t,clamp as r}from"../../../core/mathUtils.js";import{disposeMaybe as s}from"../../../core/maybe.js";import{watch as i,initial as o}from"../../../core/reactiveUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{lookAt as n}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as m}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as h}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{l as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{lerp as t,clamp as r}from"../../../core/mathUtils.js";import{disposeMaybe as s}from"../../../core/maybe.js";import{watch as i,initial as o}from"../../../core/reactiveUtils.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{lookAt as n}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{create as m}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as h}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{l as c,h as p,g as u,j as l,e as f,k as _}from"../../../chunks/vec32.js";import{create as d}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as g}from"../../../geometry/ellipsoidUtils.js";import{newFloatArray as b}from"../../../geometry/support/FloatArray.js";import{InternalRenderCategory as j}from"../webgl.js";import{computeInnerAltitudeFade as x}from"./atmosphereUtils.js";import{S as V}from"../../../chunks/SimpleAtmosphere.glsl.js";import{SimpleAtmosphereTechnique as w}from"./SimpleAtmosphereTechnique.js";import{SimpleAtmosphereTechniqueConfiguration as v,SimpleAtmosphereGeometry as A}from"./SimpleAtmosphereTechniqueConfiguration.js";import{marsAtmosphereTextureSimple as P}from"./resources/MarsAtmosphereTexture.js";import{makePiecewiseLinearFunction as R}from"../support/mathUtils.js";import{glLayout as y}from"../support/buffer/glUtil.js";import{newLayout as S}from"../support/buffer/InterleavedLayout.js";import{OpaqueEnvironment as T}from"../webgl-engine/effects/OpaqueEnvironment.js";import{RenderRequestType as q}from"../webgl-engine/lib/basicInterfaces.js";import{Default3D as M}from"../webgl-engine/lib/DefaultVertexAttributeLocations.js";import{createQuadVAO as U}from"../webgl-engine/lib/glUtil3D.js";import{project as F}from"../webgl-engine/lib/Util.js";import{VertexArrayObject as C}from"../webgl-engine/lib/VertexArrayObject.js";import{VertexAttribute as E}from"../webgl-engine/lib/VertexAttribute.js";import{BufferObject as O}from"../../webgl/BufferObject.js";import{TextureWrapMode as I,PrimitiveType as D,Usage as L}from"../../webgl/enums.js";import{Texture as N}from"../../webgl/Texture.js";import{TextureDescriptor as W}from"../../webgl/TextureDescriptor.js";import{vertexCount as k}from"../../webgl/Util.js";const G=128,B=-1e4,z=0,H=50,Q=()=>1-511/512,J=R([[50,.1015625],[500,.21875],[5e3,1-250/512],[5e4,.4140625]]);let K=class extends T{constructor(e){super(e),this._passParameters=new V,this._configuration=new v,this._vao=null,this._vaoCount=0,this._fadeVao=null,this._fadeVaoCount=0,this._texV1=1;const t=e.view,r=g(t.spatialReference),{outerAtmosphereRimWidth:s,radius:i}=r;this._planetRadius=i,this._innerRimFactor=1+B/i,this._middleRimFactor=1+z/i,this._outerRimFactor=1+s/i,this._texV0=z/s,this._texVScale=this._texV1-this._texV0;const o=t._stage.renderView.techniques;o.precompile(w,this._configuration),this._configuration.geometry=A.Underground,o.precompile(w,this._configuration)}initialize(){this.addHandles(i((()=>this.view.environment.atmosphereEnabled),(e=>e?this._enable():this._disable()),o))}destroy(){this._passParameters.texture=s(this._passParameters.texture),this._fadeVao=s(this._fadeVao),this._vao=s(this._vao)}render(e){const t=e.find((({name:e})=>e===j.OPAQUE_ENVIRONMENT));this._update();const r=this.renderingContext;if(!this._passParameters.texture){const e=new W;e.wrapMode=I.CLAMP_TO_EDGE,e.flipped=!0,e.width=1,e.height=512,this._passParameters.texture=new N(r,e,P)}if(this._passParameters.undergroundFadeAlpha<1){this._vao||(this._vao=this._createRibbon(r),this._vaoCount=k(this._vao,"geometry")),this._configuration.geometry=A.Cone;const e=this.techniques.acquire(w,this._configuration);if(!e.compiled)return e.release(),this.requestRender(q.UPDATE),t;r.bindTechnique(e,this.bindParameters,this._passParameters),r.bindVAO(this._vao),r.drawArrays(D.TRIANGLES,0,this._vaoCount),e.release()}if(this._passParameters.undergroundFadeAlpha>0){this._fadeVao||(this._fadeVao=U(r),this._fadeVaoCount=k(this._fadeVao,"geometry")),this._configuration.geometry=A.Underground;const e=this.techniques.acquire(w,this._configuration);if(!e.compiled)return e.release(),this.requestRender(q.UPDATE),t;r.bindTechnique(e,this.bindParameters,this._passParameters),r.bindVAO(this._fadeVao),r.drawArrays(D.TRIANGLE_STRIP,0,this._fadeVaoCount),e.release()}return t}_update(){const e=this.bindParameters.camera,s=d(),i=this._planetRadius,o=c(e.eye),a=o-i;if(a<0){const e=Math.min(-a/5e3,1);this._passParameters.undergroundFadeAlpha=e}else this._passParameters.undergroundFadeAlpha=0;const n=Math.max(H,a),m=i+B;this._passParameters.innerScale=ee(i+n,i,m)-1,this._passParameters.altitudeFade=x(a),p(s,e.eye,(i+H)/o),X(s,e.center,e.up,i,this._passParameters.silhouette);const u=this._computeScreenRimWidth(e,s,e.up,this._passParameters.silhouette),l=Q(),f=J(a);let _=this._texV0+l*this._texVScale,g=this._texV0+u*f*this._texVScale;if(a>H){X(e.eye,e.center,e.up,i,this._passParameters.silhouette);const s=this._computeScreenRimWidth(e,e.eye,e.up,this._passParameters.silhouette),o=r((s-1.5)/(u-1.5),0,1);_=this._texV0+o*l*this._texVScale,g=this._texV0+t(this._texV1,u*f,o)*this._texVScale}h(this._passParameters.texV,_,g)}_createRibbon(e){const t=b(3+3*G*3),r=new Uint32Array(3*G*5);t[0]=0,t[1]=0,t[2]=-1;for(let o=0;o<G;o++){const e=9*o+3;t[e]=o,t[e+1]=this._innerRimFactor,t[e+2]=-1,t[e+3]=o,t[e+4]=this._middleRimFactor,t[e+5]=0,t[e+6]=o,t[e+7]=this._outerRimFactor,t[e+8]=1;const s=3*o+1,i=o===G-1?1:s+3,a=15*o;r[a]=s,r[a+1]=s+1,r[a+2]=i+1,r[a+3]=i+1,r[a+4]=i,r[a+5]=s,r[a+6]=s+1,r[a+7]=s+2,r[a+8]=i+2,r[a+9]=i+2,r[a+10]=i+1,r[a+11]=s+1,r[a+12]=s,r[a+13]=i,r[a+14]=0}const s=te.createBuffer(r.length),i=s.position;for(let o=0;o<r.length;++o){const e=3*r[o];i.set(o,0,t[e]),i.set(o,1,t[e+1]),i.set(o,2,t[e+2])}return new C(e,M,new Map([["geometry",y(te)]]),new Map([["geometry",O.createVertex(e,L.STATIC_DRAW,s.buffer)]]))}_computeScreenRimWidth(e,t,r,s){return u(Z,s.center,s.v2),p($,Z,this._outerRimFactor),n(Y,t,Z,r),F(Z,Y,e.projectionMatrix,e.viewport,Z),F($,Y,e.projectionMatrix,e.viewport,$),l(Z,$)/e.height}};function X(e,t,r,s,i){const o=c(e),a=s*Math.sqrt(o*o-s*s)/o,n=Math.sqrt(s*s-a*a),m=i.v1,h=i.v2;return p(i.center,e,n/o),f(m,e,t),_(m)<1&&f(m,e,r),p(m,m,a/c(m)),f(h,m,e),p(h,h,a/c(h)),a}K=e([a("esri.views.3d.environment.MarsAtmosphere")],K);const Y=m(),Z=d(),$=d();function ee(e,t,r){return e*e/(Math.sqrt(e*e-t*t)*Math.sqrt(e*e-r*r)+t*r)}const te=S().vec3f(E.POSITION),re=K;export{re as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"./NoiseTextureAtlasConfiguration.js";import"./NoiseTextureAtlasDimensions.js";import"../webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/
|
|
5
|
+
import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"./NoiseTextureAtlasConfiguration.js";import"./NoiseTextureAtlasDimensions.js";import"../webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../../webgl/NoParameters.js";import"../../webgl/ShaderBuilder.js";export{N as NoiseTextureAtlasPassParameters,b as build}from"../../../chunks/NoiseTextureAtlas.glsl.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../chunks/vec32.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"./PrecipitationTechniqueConfiguration.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/
|
|
5
|
+
import"../../../chunks/vec32.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"./PrecipitationTechniqueConfiguration.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Matrix4BindUniform.js";import"../webgl-engine/lib/VertexAttribute.js";import"../../webgl/ShaderBuilder.js";export{b as build}from"../../../chunks/Precipitation.glsl.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{lerp as t}from"../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../core/maybe.js";import{watch as s,syncAndInitial as i,sync as o}from"../../../core/reactiveUtils.js";import{secondsFromMilliseconds as a}from"../../../core/time.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import{getReferenceEllipsoid as p}from"../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as m}from"../webgl.js";import{PrecipitationPassParameters as d,PrecipitationTechnique as h}from"./PrecipitationTechnique.js";import{PrecipitationTechniqueConfiguration as u,PrecipitationType as l}from"./PrecipitationTechniqueConfiguration.js";import{glLayout as f}from"../support/buffer/glUtil.js";import{newLayout as _}from"../support/buffer/InterleavedLayout.js";import y from"../webgl/RenderNode.js";import{RenderRequestType as b}from"../webgl-engine/lib/basicInterfaces.js";import{VertexArrayObject as j}from"../webgl-engine/lib/VertexArrayObject.js";import{VertexAttribute as g}from"../webgl-engine/lib/VertexAttribute.js";import{BufferObject as A}from"../../webgl/BufferObject.js";import{PrimitiveType as P,Usage as T}from"../../webgl/enums.js";import{bindVertexBufferLayout as w,unbindVertexBufferLayout as I}from"../../webgl/Util.js";let N=class extends y{constructor(e){super(e),this.consumes={required:[m.TRANSPARENT_ENVIRONMENT]},this.produces=m.TRANSPARENT_ENVIRONMENT,this._rainSpeed=.1,this._snowSpeed=.01,this._numParticles=0,this._passParameters=new d,this._configuration=new u;const{view:t,type:r
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{lerp as t}from"../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../core/maybe.js";import{watch as s,syncAndInitial as i,sync as o}from"../../../core/reactiveUtils.js";import{secondsFromMilliseconds as a}from"../../../core/time.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import{getReferenceEllipsoid as p}from"../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as m}from"../webgl.js";import{PrecipitationPassParameters as d,PrecipitationTechnique as h}from"./PrecipitationTechnique.js";import{PrecipitationTechniqueConfiguration as u,PrecipitationType as l}from"./PrecipitationTechniqueConfiguration.js";import{glLayout as f}from"../support/buffer/glUtil.js";import{newLayout as _}from"../support/buffer/InterleavedLayout.js";import y from"../webgl/RenderNode.js";import{RenderRequestType as b}from"../webgl-engine/lib/basicInterfaces.js";import{VertexArrayObject as j}from"../webgl-engine/lib/VertexArrayObject.js";import{VertexAttribute as g}from"../webgl-engine/lib/VertexAttribute.js";import{BufferObject as A}from"../../webgl/BufferObject.js";import{PrimitiveType as P,Usage as T}from"../../webgl/enums.js";import{bindVertexBufferLayout as w,unbindVertexBufferLayout as I}from"../../webgl/Util.js";let N=class extends y{constructor(e){super(e),this.consumes={required:[m.TRANSPARENT_ENVIRONMENT]},this.produces=m.TRANSPARENT_ENVIRONMENT,this._rainSpeed=.1,this._snowSpeed=.01,this._numParticles=0,this._passParameters=new d,this._configuration=new u;const{view:t,type:r}=e;this._configuration.type="rainy"===r?l.Rain:l.Snow,t._stage.renderView.techniques.precompile(h,this._configuration),this._passParameters.time=0,this._passParameters.radius=p(t.spatialReference).radius,this.addHandles(s((()=>t.environment.weather),(e=>{e.type===r&&this.addHandles(s((()=>e.precipitation),(e=>this._adjustParticles(e)),i))}),i)),this.addHandles(s((()=>t._stage?.renderer.renderContext.bind.clouds.fadeFactor??1),(e=>{this._passParameters.opacity=e,1===e&&(this.removeHandles("opacity"),this.addHandles(s((()=>t._stage?.renderer.renderContext.bind.clouds.opacity??1),(e=>this._passParameters.opacity=e),i),"opacity"))}),o),"opacity")}_adjustParticles(e){const r=.35,s=e<.5?t(0,r,2*e):t(r,1,2*(e-.5));this._numParticles=v*s}destroy(){this._numParticles=0,this._vao=r(this._vao),this._instanceIdBuffer=r(this._instanceIdBuffer)}fadeOut(e){this.removeAllHandles(),this.addHandles(s((()=>this.renderContext?.bind.clouds.fadeFactor??1),(t=>{this._passParameters.opacity=1-t,1===t&&(this.removeAllHandles(),e())})),"opacity")}updateAnimation(e){const t=("rainy"===this.type?this._rainSpeed:this._snowSpeed)*a(e.time)%1e5;return this._passParameters.time!==t&&(this._passParameters.time=t,!0)}render(e){const t=this.renderingContext;this._instanceIdBuffer??=this._createInstanceIndices(t);const r=Math.round(this._numParticles*this._passParameters.opacity),s=e.find((({name:e})=>e===m.TRANSPARENT_ENVIRONMENT));if(r<1)return s;const i=this.techniques.acquire(h,this._configuration);if(!i.compiled)return i.release(),this.requestRender(b.UPDATE),s;const o=t.bindTechnique(i,this.bindParameters,this._passParameters);return this._vao??=R(t,i.locations),t.bindVAO(this._vao),o.assertCompatibleVertexAttributeLocations(this._vao),w(t,i.locations,this._instanceIdBuffer,S,0),t.drawArraysInstanced(P.TRIANGLES,0,3,r),I(t,i.locations,this._instanceIdBuffer,S),i.release(),s}_createInstanceIndices(e){const t=[];for(let r=0;r<v;r++)t.push(r);return A.createVertex(e,T.STATIC_DRAW,new Float32Array(t))}};function R(e,t){const r=new Float32Array([-1,0,1,1,0,-1,1,0,1]);return new j(e,t,new Map([["geometry",f(E)]]),new Map([["geometry",A.createVertex(e,T.STATIC_DRAW,r)]]))}e([n()],N.prototype,"consumes",void 0),e([n()],N.prototype,"produces",void 0),e([n({constructOnly:!0})],N.prototype,"type",void 0),N=e([c("esri.views.3d.environment.Precipitation")],N);const v=25e4,E=_().vec3f(g.POSITION),S=f(_().f32(g.INSTANCEFEATUREATTRIBUTE),1);export{N as Precipitation};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{P as e}from"../../../chunks/Precipitation.glsl.js";import{
|
|
5
|
+
import{P as e}from"../../../chunks/Precipitation.glsl.js";import{ReloadableShaderModule as r}from"../webgl-engine/core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{VertexAttribute as t}from"../webgl-engine/lib/VertexAttribute.js";import{CompareFunction as s}from"../../webgl/enums.js";import{NoParameters as o}from"../../webgl/NoParameters.js";import{makePipelineState as n,blendWithPremultipliedAlpha as l,defaultColorWrite as a}from"../../webgl/renderState.js";class m extends o{constructor(){super(...arguments),this.time=0,this.radius=1,this.width=500,this.opacity=0}}class c extends i{constructor(i,s,o){super(i,s,new r(e,(()=>import("./Precipitation.glsl.js"))),o,new Map([[t.POSITION,0],[t.INSTANCEFEATUREATTRIBUTE,1]]))}initializePipeline(){return n({blending:l,depthTest:{func:s.LEQUAL},colorWrite:a})}}export{m as PrecipitationPassParameters,c as PrecipitationTechnique};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"./SimpleAtmosphereTechniqueConfiguration.js";import"../webgl-engine/core/shaderLibrary/Transform.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/
|
|
5
|
+
import"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"./SimpleAtmosphereTechniqueConfiguration.js";import"../webgl-engine/core/shaderLibrary/Transform.glsl.js";import"../webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import"../webgl-engine/core/shaderModules/Float2PassUniform.js";import"../webgl-engine/core/shaderModules/Float3BindUniform.js";import"../webgl-engine/core/shaderModules/Float3PassUniform.js";import"../webgl-engine/core/shaderModules/FloatPassUniform.js";import"../webgl-engine/core/shaderModules/glsl.js";import"../webgl-engine/core/shaderModules/Matrix4BindUniform.js";import"../webgl-engine/core/shaderModules/Texture2DPassUniform.js";import"../webgl-engine/lib/VertexAttribute.js";import"../../webgl/NoParameters.js";import"../../webgl/ShaderBuilder.js";export{b as SilhouetteCircle,S as SimpleAtmospherePassParameters,c as build}from"../../../chunks/SimpleAtmosphere.glsl.js";
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../../core/has.js";import{c as e}from"../../../../chunks/vec32.js";import{create as t,clone as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as n,fromValues as s,copy as r}from"../../../../geometry/support/lineSegment.js";import{VisualElement as l}from"./VisualElement.js";import{LaserLineRenderer as
|
|
5
|
+
import"../../../../core/has.js";import{c as e}from"../../../../chunks/vec32.js";import{create as t,clone as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as n,fromValues as s,copy as r}from"../../../../geometry/support/lineSegment.js";import{VisualElement as l}from"./VisualElement.js";import{LaserLineRenderer as a}from"../../webgl-engine/effects/laserlines/LaserLineRenderer.js";import{d as h}from"../../../../chunks/Laserlines.glsl.js";class c extends l{constructor(e){super(e),this._angleCutoff=h,this._style={},this._heightManifoldTarget=t(),this._heightManifoldEnabled=!1,this._intersectsLine=n(),this._intersectsLineEnabled=!1,this._intersectsLineInfinite=!1,this._lineVerticalPlaneSegment=null,this._pathVerticalPlaneBuffers=null,this._pointDistanceLine=null,this.applyProperties(e)}get testData(){}createResources(){this._ensureRenderer()}destroyResources(){this._disposeRenderer()}updateVisibility(){this._syncRenderer(),this._syncHeightManifold(),this._syncIntersectsLine(),this._syncPathVerticalPlane(),this._syncLineVerticalPlane(),this._syncPointDistance()}get angleCutoff(){return this._angleCutoff}set angleCutoff(e){this._angleCutoff!==e&&(this._angleCutoff=e,this._syncAngleCutoff())}get style(){return this._style}set style(e){this._style=e,this._syncStyle()}get heightManifoldTarget(){return this._heightManifoldEnabled?this._heightManifoldTarget:null}set heightManifoldTarget(t){null!=t?(e(this._heightManifoldTarget,t),this._heightManifoldEnabled=!0):this._heightManifoldEnabled=!1,this._syncRenderer(),this._syncHeightManifold()}set intersectsWorldUpAtLocation(e){if(null==e)return void(this.intersectsLine=null);const t=this.view.renderCoordsHelper.worldUpAtPosition(e,_);this.intersectsLine=s(e,t),this.intersectsLineInfinite=!0}get intersectsLine(){return this._intersectsLineEnabled?this._intersectsLine:null}set intersectsLine(e){null!=e?(r(e,this._intersectsLine),this._intersectsLineEnabled=!0):this._intersectsLineEnabled=!1,this._syncIntersectsLine(),this._syncRenderer()}get intersectsLineInfinite(){return this._intersectsLineInfinite}set intersectsLineInfinite(e){this._intersectsLineInfinite=e,this._syncIntersectsLineInfinite()}get lineVerticalPlaneSegment(){return this._lineVerticalPlaneSegment}set lineVerticalPlaneSegment(e){this._lineVerticalPlaneSegment=null!=e?r(e):null,this._syncLineVerticalPlane(),this._syncRenderer()}get pathVerticalPlane(){return this._pathVerticalPlaneBuffers}set pathVerticalPlane(e){this._pathVerticalPlaneBuffers=e,this._syncPathVerticalPlane(),this._syncLineVerticalPlane(),this._syncPointDistance(),this._syncRenderer()}get pointDistanceLine(){return this._pointDistanceLine}set pointDistanceLine(e){this._pointDistanceLine=null!=e?{origin:i(e.origin),target:e.target?i(e.target):null}:null,this._syncPointDistance(),this._syncRenderer()}_syncRenderer(){this.attached&&this.visible&&(this._intersectsLineEnabled||this._heightManifoldEnabled||null!=this._pointDistanceLine||null!=this._pathVerticalPlaneBuffers)?this._ensureRenderer():this._disposeRenderer()}_ensureRenderer(){null==this._renderer&&(this._renderer=new a({view:this.view,contrastControlEnabled:!0,isDecoration:this.isDecoration}),this._syncStyle(),this._syncHeightManifold(),this._syncIntersectsLine(),this._syncIntersectsLineInfinite(),this._syncPathVerticalPlane(),this._syncLineVerticalPlane(),this._syncPointDistance(),this._syncAngleCutoff())}_syncStyle(){null!=this._renderer&&this._renderer.setParameters(this._style)}_syncAngleCutoff(){this._renderer?.setParameters({angleCutoff:this._angleCutoff})}_syncHeightManifold(){null!=this._renderer&&(this._renderer.heightManifoldEnabled=this._heightManifoldEnabled&&this.visible,this._heightManifoldEnabled&&(this._renderer.heightManifoldTarget=this._heightManifoldTarget))}_syncIntersectsLine(){null!=this._renderer&&(this._renderer.intersectsLineEnabled=this._intersectsLineEnabled&&this.visible,this._intersectsLineEnabled&&(this._renderer.intersectsLineSegment=this._intersectsLine))}_syncIntersectsLineInfinite(){null!=this._renderer&&(this._renderer.intersectsLineInfinite=this._intersectsLineInfinite)}_syncPathVerticalPlane(){null!=this._renderer&&(this._renderer.pathVerticalPlaneEnabled=null!=this._pathVerticalPlaneBuffers&&this.visible,null!=this._pathVerticalPlaneBuffers&&(this._renderer.pathVerticalPlaneBuffers=this._pathVerticalPlaneBuffers))}_syncLineVerticalPlane(){null!=this._renderer&&(this._renderer.lineVerticalPlaneEnabled=null!=this._lineVerticalPlaneSegment&&this.visible,null!=this._lineVerticalPlaneSegment&&(this._renderer.lineVerticalPlaneSegment=this._lineVerticalPlaneSegment))}_syncPointDistance(){if(null==this._renderer)return;const e=this._pointDistanceLine,t=null!=e;this._renderer.pointDistanceEnabled=t&&null!=e.target&&this.visible,t&&(this._renderer.pointDistanceOrigin=e.origin,null!=e.target&&(this._renderer.pointDistanceTarget=e.target))}_disposeRenderer(){null!=this._renderer&&this.view._stage&&(this._renderer.destroy(),this._renderer=null)}}const _=t();export{c as LaserlineVisualElement};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{clamp as e}from"../../../../core/mathUtils.js";import{i as t}from"../../../../chunks/vec32.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{a as r,c as s}from"../../../../chunks/vec42.js";import{fromValues as o}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{projectVectorToVector as n}from"../../../../geometry/projection/projectVectorToVector.js";import{expandWithBuffer as a}from"../../../../geometry/support/aaBoundingBox.js";import{sv3d as l}from"../../../../geometry/support/vectorStacks.js";import{ViewingMode as h}from"../../../ViewingMode.js";import{Object3DVisualElement as u}from"./Object3DVisualElement.js";import{evaluateElevationAlignmentAtPoint as m}from"../../layers/graphics/elevationAlignmentUtils.js";import{ElevationContext as p}from"../../layers/graphics/ElevationContext.js";import{requiresHalfTexelOffset as _,
|
|
5
|
+
import{clamp as e}from"../../../../core/mathUtils.js";import{i as t}from"../../../../chunks/vec32.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{a as r,c as s}from"../../../../chunks/vec42.js";import{fromValues as o}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{projectVectorToVector as n}from"../../../../geometry/projection/projectVectorToVector.js";import{expandWithBuffer as a}from"../../../../geometry/support/aaBoundingBox.js";import{sv3d as l}from"../../../../geometry/support/vectorStacks.js";import{ViewingMode as h}from"../../../ViewingMode.js";import{Object3DVisualElement as u}from"./Object3DVisualElement.js";import{evaluateElevationAlignmentAtPoint as m}from"../../layers/graphics/elevationAlignmentUtils.js";import{ElevationContext as p}from"../../layers/graphics/ElevationContext.js";import{requiresHalfTexelOffset as _,defaultBoundingBox as c,defaultSymbolSizeRatio as g,createTexture as d}from"../../support/engineContent/sdfPrimitives.js";import{createPointGeometry as f}from"../../webgl-engine/lib/GeometryUtil.js";import{VertexAttribute as x}from"../../webgl-engine/lib/VertexAttribute.js";import{HUDMaterial as v}from"../../webgl-engine/materials/HUDMaterial.js";class S extends u{constructor(e){super(e),this._material=null,this._texture=null,this._geometry=null,this._size=3,this._color=o(1,0,1,1),this._pixelSnappingEnabled=!0,this._primitive="square",this._outlineSize=1,this._outlineColor=o(1,1,1,1),this._elevationInfo=null,this.applyProperties(e)}get geometry(){return this._geometry}set geometry(e){this._geometry=e,this.recreateGeometry()}get size(){return this._size}set size(e){if(e!==this._size){const t=this._preferredTextureSize;this._size=e,t<this._preferredTextureSize?this.recreate():this._updateSizeAttribute()}}get color(){return this._color}set color(e){r(e,this._color)||(s(this._color,e),this._updateMaterial())}get pixelSnappingEnabled(){return this._pixelSnappingEnabled}set pixelSnappingEnabled(e){this._pixelSnappingEnabled!==e&&(this._pixelSnappingEnabled=e,this._updateMaterial())}get primitive(){return this._primitive}set primitive(e){this._primitive!==e&&(this._primitive=e,this.recreate())}get outlineSize(){return this._outlineSize}set outlineSize(e){e!==this._outlineSize&&(this._outlineSize=e,this._updateMaterial())}get outlineColor(){return this._outlineColor}set outlineColor(e){r(e,this._outlineColor)||(s(this._outlineColor,e),this._updateMaterial())}get elevationInfo(){return this._elevationInfo}set elevationInfo(e){this._elevationInfo=e,this.recreateGeometry()}_updateMaterial(){this._material?.setParameters(this._materialParameters)}_updateSizeAttribute(){const e=this.object;if(null==e)return;const t=e.geometries[0];if(null==t)return;const i=t.getMutableAttribute(x.SIZE).data,r=this._geometrySize;i[0]=r,i[1]=r,e.geometryVertexAttributeUpdated(e.geometries[0],x.SIZE)}get _materialParameters(){return{color:this._color,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:_(this._primitive),distanceFieldBoundingBox:c,occlusionTest:!1,outlineColor:this._outlineColor,outlineSize:this._outlineSize,textureId:this._texture?.id,polygonOffset:!1,shaderPolygonOffset:0,drawAsLabel:!0,depthEnabled:!1,pixelSnappingEnabled:this.pixelSnappingEnabled,isDecoration:this.isDecoration}}get _geometrySize(){return this._size/g}createExternalResources(){this._texture=d(this._primitive,this._preferredTextureSize),this._material=new v(this._materialParameters,this.view.state.viewingMode===h.Global);const e=this.view._stage;this._texture.load(e.renderView.renderingContext),e.add(this._texture)}destroyExternalResources(){if(this._texture){this.view._stage.remove(this._texture),this._texture.dispose(),this._texture=null}this._material=null}createGeometries(e){const t=this._createRenderGeometry();null!=t&&e.addGeometry(t)}forEachExternalMaterial(e){this._material&&e(this._material)}get _preferredTextureSize(){return e(2*this._geometrySize,16,128)}calculateMapBounds(e){const t=this.object?.geometries[0];if(!t)return!1;const i=t.attributes.get(x.POSITION).data;return n(i,this.view.renderCoordsHelper.spatialReference,b,this.view.spatialReference),a(e,b),!0}_createRenderGeometry(){const{geometry:e,_material:i}=this;if(null==e||null==i)return null;const{renderCoordsHelper:r,elevationProvider:s}=this.view,o=m(e,s,p.fromElevationInfo(this.elevationInfo),r),a=t(l.get(),e.x,e.y,o),h=l.get();n(a,e.spatialReference,h,r.spatialReference);const u=this._geometrySize;return f(i,{position:h,size:[u,u],centerOffsetAndDistance:[0,0,0,1]})}}const b=i();export{S as PointVisualElement};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{hasScaling as e}from"../../../core/mathUtils.js";import r from"../../../geometry/SpatialReference.js";import t from"../../../geometry/support/MeshGeoreferencedVertexSpace.js";import o from"../../../geometry/support/MeshLocalVertexSpace.js";import{b as n,n as s}from"../../../chunks/vec3.js";import{IndexType as i}from"../../../libs/i3s/enums.js";import{get as a}from"../../../libs/i3s/I3SModule.js";import{TransformedGeometry as f,TransformedData as c}from"./I3SMeshWorkerHandle.js";import{NodeIMModificationImpact as l}from"./i3s/I3SNode.js";async function u(e){E=await M();const r=[e.geometryBuffer];return{result:A(E,e,r),transferList:r}}async function m(e){E=await M();const r=[e.geometryBuffer],{geometryBuffer:t}=e,o=t.byteLength,n=E._malloc(o),s=new Uint8Array(E.HEAPU8.buffer,n,o);s.set(new Uint8Array(t));const i=E.dracoDecompressPointCloudData(n,s.byteLength);if(E._free(n),i.error.length>0)throw new Error(`i3s.wasm: ${i.error}`);const a=i.featureIds?.length>0?i.featureIds.slice():null,f=i.positions.slice();return a&&r.push(a.buffer),r.push(f.buffer),{result:{positions:f,featureIds:a},transferList:r}}async function y(e){await M(),S(e);const r={buffer:e.buffer};return{result:r,transferList:[r.buffer]}}async function p(e){await M(),j(e)}async function
|
|
5
|
+
import{hasScaling as e}from"../../../core/mathUtils.js";import r from"../../../geometry/SpatialReference.js";import t from"../../../geometry/support/MeshGeoreferencedVertexSpace.js";import o from"../../../geometry/support/MeshLocalVertexSpace.js";import{b as n,n as s}from"../../../chunks/vec3.js";import{IndexType as i}from"../../../libs/i3s/enums.js";import{get as a}from"../../../libs/i3s/I3SModule.js";import{TransformedGeometry as f,TransformedData as c}from"./I3SMeshWorkerHandle.js";import{NodeIMModificationImpact as l}from"./i3s/I3SNode.js";async function u(e){E=await M();const r=[e.geometryBuffer];return{result:A(E,e,r),transferList:r}}async function m(e){E=await M();const r=[e.geometryBuffer],{geometryBuffer:t}=e,o=t.byteLength,n=E._malloc(o),s=new Uint8Array(E.HEAPU8.buffer,n,o);s.set(new Uint8Array(t));const i=E.dracoDecompressPointCloudData(n,s.byteLength);if(E._free(n),i.error.length>0)throw new Error(`i3s.wasm: ${i.error}`);const a=i.featureIds?.length>0?i.featureIds.slice():null,f=i.positions.slice();return a&&r.push(a.buffer),r.push(f.buffer),{result:{positions:f,featureIds:a},transferList:r}}async function y(e){await M(),S(e);const r={buffer:e.buffer};return{result:r,transferList:[r.buffer]}}async function p(e){await M(),j(e)}async function d(e){E=await M(),E.setLegacySchema(e.context,e.jsonSchema)}async function h(e){const{localMatrix:n,origin:s,positions:i,vertexSpace:a}=e,f=r.fromJSON(e.inSpatialReference),c=r.fromJSON(e.outSpatialReference);let l;const[{projectBuffer:u},{initializeProjection:m}]=await Promise.all([import("../../../geometry/projection/projectBuffer.js"),import("../../../geometry/projection.js")]);await m(f,c);const y=[0,0,0];if(!u(s,f,0,y,c,0))throw new Error("Failed to project");if("georeferenced"===a.type&&null==a.origin){if(l=new Float64Array(i.length),!u(i,f,0,l,c,0,l.length/3))throw new Error("Failed to project")}else{const e="georeferenced"===a.type?t.fromJSON(a):o.fromJSON(a),{projectMeshVertexPositions:r}=await import("../../../geometry/support/meshUtils/projectMeshVertexPositions.js"),s=r({vertexAttributes:{position:i},transform:n?{localMatrix:n}:void 0,vertexSpace:e,spatialReference:f},c);if(!s)throw new Error("Failed to project");l=s}const p=l.length,[d,h,b]=y;for(let r=0;r<p;r+=3)l[r]-=d,l[r+1]-=h,l[r+2]-=b;return{result:{projected:l,original:i,projectedOrigin:y},transferList:[l.buffer,i.buffer]}}async function b({normalMatrix:r,normals:t}){const o=new Float32Array(t.length);return n(o,t,r),e(r)&&s(o,o),{result:{transformed:o,original:t},transferList:[o.buffer,t.buffer]}}function g(e){x(e)}let w,E;function j(e){if(!E)return;const r=e.modifications,t=E._malloc(8*r.length),o=new Float64Array(E.HEAPU8.buffer,t,r.length);for(let n=0;n<r.length;++n)o[n]=r[n];E.setModifications(e.context,t,r.length,e.isGeodetic),E._free(t)}function A(e,r,t){const{context:o,globalTrafo:n,mbs:s,obbData:a,elevationOffset:l,geometryBuffer:u,geometryDescriptor:m,indexToVertexProjector:y,vertexToRenderProjector:p}=r,d=e._malloc(u.byteLength),h=33,b=e._malloc(h*Float64Array.BYTES_PER_ELEMENT),g=new Uint8Array(e.HEAPU8.buffer,d,u.byteLength);g.set(new Uint8Array(u));const w=new Float64Array(e.HEAPU8.buffer,b,h);_(w,[NaN,NaN,NaN]);let E=w.byteOffset+3*w.BYTES_PER_ELEMENT,j=new Float64Array(w.buffer,E);_(j,n),E+=16*w.BYTES_PER_ELEMENT,j=new Float64Array(w.buffer,E),_(j,s),E+=4*w.BYTES_PER_ELEMENT,a&&(j=new Float64Array(w.buffer,E),_(j,a));const A=m,L={isDraco:!1,isLegacy:!1,color:r.layouts.some((e=>e.some((e=>"color"===e.name)))),normal:r.needNormals&&r.layouts.some((e=>e.some((e=>"normalCompressed"===e.name)))),uv0:r.layouts.some((e=>e.some((e=>"uv0"===e.name)))),uvRegion:r.layouts.some((e=>e.some((e=>"uvRegion"===e.name)))),featureIndex:A.featureIndex},S=e.process(o,!!r.obbData,d,g.byteLength,A,L,b,l,y,p,r.normalReferenceFrame);if(e._free(b),e._free(d),S.error.length>0)throw new Error(`i3s.wasm: ${S.error}`);if(S.discarded)return null;const x=S.componentOffsets.length>0?S.componentOffsets.slice():null,P=S.featureIds.length>0?S.featureIds.slice():null,M=S.anchorIds.length>0?Array.from(S.anchorIds):null,N=S.anchors.length>0?Array.from(S.anchors):null,U=S.interleavedVertedData.slice().buffer,I=S.indicesType===i.Int16?new Uint16Array(S.indices.buffer,S.indices.byteOffset,S.indices.byteLength/2).slice():new Uint32Array(S.indices.buffer,S.indices.byteOffset,S.indices.byteLength/4).slice(),F=S.positions.slice(),{buffer:T,byteOffset:B,byteLength:O}=S.positionIndices,R=S.positionIndicesType===i.Int16?new Uint16Array(T,B,O/2).slice():new Uint32Array(T,B,O/4).slice(),v=new f(r.layouts[0],U,I,S.hasColors,S.hasModifications,{data:F,indices:R});return P&&t.push(P.buffer),x&&t.push(x.buffer),t.push(U),t.push(I.buffer),t.push(F.buffer),t.push(R.buffer),new c(x,P,M,N,v,n,S.obb)}function L(e){return 0===e?l.Unmodified:1===e?l.PotentiallyModified:2===e?l.Culled:l.Unknown}function S(e){if(!E)return;const{context:r,buffer:t}=e,o=E._malloc(t.byteLength),n=t.byteLength/Float64Array.BYTES_PER_ELEMENT,s=new Float64Array(E.HEAPU8.buffer,o,n),i=new Float64Array(t);s.set(i),E.filterOBBs(r,o,n),i.set(s),E._free(o)}function x(e){E&&0===E.destroy(e)&&(E=null)}function _(e,r){for(let t=0;t<r.length;++t)e[t]=r[t]}async function P(){E||await M()}async function M(){return E||(E=await(w??=a())),E}const N={transform:(e,r)=>E&&A(E,e,r),destroy:x};export{g as destroyContext,m as dracoDecompressPointCloudData,y as filterObbsForModifications,S as filterObbsForModificationsSync,P as initialize,L as interpretObbModificationResults,u as process,h as project,d as setLegacySchema,p as setModifications,j as setModificationsSync,N as test,b as transformNormals};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../../Color.js";import{result as t,createTask as r}from"../../../../core/asyncUtils.js";import i from"../../../../core/Error.js";import has from"../../../../core/has.js";import{clone as s}from"../../../../core/lang.js";import{abortMaybe as o,releaseMaybe as a}from"../../../../core/maybe.js";import{throwIfAbortError as n,throwIfAborted as l}from"../../../../core/promiseUtils.js";import{pt2px as c,px2pt as h}from"../../../../core/screenUtils.js";import{numericHash as u}from"../../../../core/string.js";import{dataComponents as m}from"../../../../core/urlUtils.js";import{fromValues as d,create as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as _,fromValues as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as y}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{projectPointToVector as g}from"../../../../geometry/projection/projectPointToVector.js";import{containsPoint as x}from"../../../../geometry/support/aaBoundingBox.js";import{createRendererExpression as b}from"../../../../support/arcadeOnDemand.js";import{CIMSymbolHelper as v}from"../../../../symbols/cim/CIMSymbolHelper.js";import{evaluateValueOrFunction as S}from"../../../../symbols/cim/utils.js";import{scaleCIMSymbol as P}from"../../../../symbols/support/cimSymbolUtils.js";import{defaultPrimitive as R}from"../../../../symbols/support/IconSymbol3DLayerResource.js";import{Symbol3DAnchorPosition2D as w}from"../../../../symbols/support/Symbol3DAnchorPosition2D.js";import{getIconHref as C}from"../../../../symbols/support/utils.js";import{focusAreaHUDColor as z}from"../../../FocusAreas.js";import{transparentUnit as O}from"./constants.js";import{perObjectElevationAligner as j}from"./ElevationAligners.js";import{SymbolUpdateType as M,elevationModeChangeUpdateType as I,needsElevationUpdates2D as T}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as E}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as D}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as F}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as A}from"./graphicUtils.js";import{ApplyRendererDiffResult as U}from"./interfaces.js";import{namedAnchorToHUDMaterialAnchorPos as L}from"./placementUtils.js";import{placePointOnGeometry as G,updateStageObjectGeometry as V,getLocalOriginForPoint as H,extendPointGraphicElevationContext as k,createStageObject as B}from"./pointUtils.js";import{initFastSymbolUpdatesState as N,updateFastSymbolUpdatesState as $,evaluateModelTransformScale as W,ConvertOptions as q}from"../support/FastSymbolUpdates.js";import{createTexture as J,requiresHalfTexelOffset as Z,defaultSymbolSizeRatio as K,defaultTexSize as Q}from"../../support/engineContent/sdfPrimitives.js";import{drapedZ as X}from"../../terrain/OverlayRenderer.js";import{createPointGeometry as Y}from"../../webgl-engine/lib/GeometryUtil.js";import{RenderGeometry as ee}from"../../webgl-engine/lib/RenderGeometry.js";import{Texture as te}from"../../webgl-engine/lib/Texture.js";import{HUDMaterial as re}from"../../webgl-engine/materials/HUDMaterial.js";const ie=f(0,0,1),se=16,oe=1.5,ae=K,ne=[ae/2,ae/2,1-ae/2,1-ae/2],le=[Q*ae,Q*ae];class ce extends F{getCachedSize(){return{size:this._getIconSize()}}constructor(e,t,r,i){super(e,t,r,i),this._cimData=null,this._overrideHelperClass=null,this._arcadeInfo=null,this._cimSymbolMaterials=new Map,this._cimSymbolTextures=new Map,this._cimMaterialParametersInfo=null,this._cimScaleFactorOrFunction=null,this._size=null,this._symbolTextureRatio=1,this._outlineSize=0,this._textureHandle=null,this._patchTask=null,this._elevationOptions={supportsOffsetAdjustment:!0,supportsOnTheGround:!0}}async doLoad(e){this._validateOrThrow();const t=this._prepareMaterialParameters(),r=this._getPrimitive();if(null!=r)this._prepareResourcesPrimitive(t,r);else{const r=C(this.symbolLayer),i=me(r);null!=i?await this._prepareResourcesCIM(t,JSON.parse(i),e):await this._prepareResourcesHref(t,r,e)}}_validateOrThrow(){if(this._drivenProperties.size)return;const e=A(this._getIconSize());if(e)throw new i("graphics3diconsymbollayer:invalid-size",e)}_getIconSize(){const e=this.symbolLayer,t=Math.round(null!=e.size?c(e.size):se);return this._drivenProperties.size?Math.max(t,64):t}_generateTextureCIM(e){const t=this._overrideHelperClass;let r=this._cimData;if(t&&r&&r.symbol||this.logger.error("Can't create texture, CIM data is undefined"),r.primitiveOverrides){r=s(r);const i=r.primitiveOverrides;t.evaluateOverrides(i,e,this._arcadeInfo.geometryType,null,null),t.applyOverrides(r.symbol,i)}const i=u(JSON.stringify(r));let o=this._cimSymbolTextures.get(i);if(o)return o;const a=this._context.sharedResources.cimSymbolRasterizer,n=this._context.renderer&&"dictionary"===this._context.renderer.type?this._context.renderer.fieldMap:null;n&&t.applyDictionaryTextOverrides(r.symbol,e,n,null);const l=null!=this._cimScaleFactorOrFunction?S(this._cimScaleFactorOrFunction,e):1;1!==l&&r.symbol&&P(r.symbol,l,!0);const c=v.getEnvelope(r,null,a.resourceManager);if(c?.width&&c.height){const e=c.x+c.width/2,t=c.y+c.height/2,i=a.rasterize({type:"cim",data:r},c.width,c.height,e,t,1,"esriGeometryPoint"),s=new w({x:-c.x/c.width-.5,y:(c.height+c.y)/c.height-.5});this._cimMaterialParametersInfo.anchorPosition=de("relative",s),o=new te(i,{width:i?.width??1,height:i?.height??1,reloadable:!0})}else o=new te(new ImageData(1,1),{width:1,height:1,reloadable:!0});return this._cimSymbolTextures.set(i,o),this._context.stage.add(o),o}_prepareMaterialParameters(){const e={anchorPosition:de(this.symbolLayer.anchor,this.symbolLayer.anchorPosition),rotation:this.symbolLayer.angle},t=this.symbol;if(he(t)){const{screenLength:r,minWorldLength:i,maxWorldLength:s}=t.verticalOffset;e.verticalOffset={screenLength:c(r),minWorldLength:i||0,maxWorldLength:null!=s?s:1/0}}this._context.screenSizePerspectiveEnabled&&(e.screenSizePerspective=this._context.sharedResources.screenSizePerspectiveSettings),(0!==e.rotation||this._drivenProperties.rotation)&&(e.hasRotation=!0);const r=!has("disable-feature:non-occluded-hud");return e.occlusionTest=!r,e.occludedFragmentFade=r,e.horizonCullingEnabled=r&&this._context.spherical,e.hasSlicePlane=this._context.slicePlaneEnabled,e}_prepareResourcesPrimitive(e,t){const r=this._getOutlineSize();if(ue(t)&&0===r)throw new Error("Nothing to render");if(this._outlineSize=r,e.color=this._getFillColor(),e.outlineColor=this._getOutlineColor(),e.outlineSize=this._outlineSize,null!=this._context.sharedResources.textures){const r=this._context.sharedResources.textures.fromData(`${t}-icon`,(()=>J(t)));this._textureHandle=r,e.textureId=r.texture.id}e.textureIsSignedDistanceField=!0,e.sampleSignedDistanceFieldTexelCenter=Z(t),e.distanceFieldBoundingBox=ne;const i=this._getIconSize();this._size=[i,i],this._symbolTextureRatio=1/ae,this._createMaterialAndAddToStage(e,this._context.stage)}async _prepareResourcesHref(e,r,s){this._outlineSize=this._getOutlineSize(),e.color=this._getFillColor(),e.outlineColor=this._getOutlineColor(),e.outlineSize=this._outlineSize,e.textureIsSignedDistanceField=!1;const o=this._getIconSize(),a=o*this._context.graphicsCoreOwner.view.state.rasterPixelRatio;if(null!=this._context.sharedResources.textures){const l=await t(this._context.sharedResources.textures.fromUrl(r,a,{signal:s}));if(!1===l.ok){n(l.error);throw new i("graphics3diconsymbollayer:request-failed",`Failed to load (Request for icon resource failed: ${r})`)}this._textureHandle=l.value;const c=l.value.texture;this._size=pe(c,o),e.textureId=c.id}this._createMaterialAndAddToStage(e,this._context.stage)}async _prepareResourcesCIM(e,t,r){const{OverrideHelper:i}=await import("../../../../symbols/cim/OverrideHelper.js");if(this._overrideHelperClass=i,this._cimData=t,!this._context.sharedResources.cimSymbolRasterizer){const e=(await import("../../../../symbols/cim/CIMSymbolRasterizer.js")).CIMSymbolRasterizer;l(r),this._context.sharedResources.cimSymbolRasterizer||(this._context.sharedResources.cimSymbolRasterizer=new e(this._context.renderCoordsHelper.spatialReference))}const s=this._context.sharedResources.cimSymbolRasterizer,o=[],a=t,n=a?.symbol;v.fetchResources(n,s.resourceManager,o,r),v.fetchFonts(n,s.resourceManager,o);const c=this._context.layer.fields?this._context.layer.fields.map((e=>e.toJSON())):[],h=this._context.renderCoordsHelper.spatialReference;if(this._arcadeInfo={spatialReference:h,fields:c,geometryType:"esriGeometryPoint"},a?.primitiveOverrides&&o.push(i.createRenderExpressions(a.primitiveOverrides,this._arcadeInfo)),o.length>0&&(await Promise.all(o),l(r)),this._context.renderer&&"dictionary"===this._context.renderer.type&&this._context.renderer.scaleExpression){const e=this._context.renderer;if(e.scaleExpression){const t=e.scaleExpression,r=await b(t,this._context.layer.spatialReference,c),{default:i}=await import("../../../2d/arcade/callExpressionWithFeature.js");this._cimScaleFactorOrFunction=(e,t,s)=>{const o=i(r,e,{$view:s},"esriGeometryPoint",t);return null!==o?o:1}}}l(r),this._cimMaterialParametersInfo=e,this._cimMaterialParametersInfo.color=this._getFillColor(),this._cimMaterialParametersInfo.outlineColor=[0,0,0,0],this._cimMaterialParametersInfo.outlineSize=0,this._cimMaterialParametersInfo.textureIsSignedDistanceField=!1}_getPrimitive(){return this.symbolLayer.resource?.href?null:this.symbolLayer.resource?.primitive??R}_getOutlineSize(){let e=0;const t=this.symbolLayer;if(null!=t.outline?.size)return Math.max(c(t.outline.size),0);return e=ue(this._getPrimitive())?oe:0,Math.max(e,0)}_getOutlineColor(){const t=this._getLayerOpacity(),r=this.symbolLayer,i=r?.outline?.color;if(null!=i){const r=e.toUnitRGB(i),s=i.a*t;return[r[0],r[1],r[2],s]}return[0,0,0,0]}_getFillColor(){if(ue(this._getPrimitive()))return O;const e=null==this._getPrimitive(),t=this.symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_createMaterialAndAddToStage(e,t){const r=this._context.spherical;if(this._cimData){this._fastUpdates=null;let i=e.textureId?this._cimSymbolMaterials.get(e.textureId):null;return i||(i=new re(e,r),this._cimSymbolMaterials.set(e.textureId??0,i),t.add(i)),i}if(this._fastUpdates=N(this._context.renderer,this._fastVisualVariableConvertOptions()),this._fastUpdates&&(e={...e,...this._fastUpdates.materialParameters}),this._materials[0]=new re(e,r),t.add(this._materials[0]),this._context.graphicsCoreOwner.view.focusAreas.activePolygons.length>0){e.isFocused=!1;const i=this._context.stage.view.focusAreas.style;e.color=z(e.color,i),e.outlineColor=z(e.outlineColor,i),this._materials[1]=new re(e,r),t.add(this._materials[1])}return this._materials[0]}_setDrapingDependentMaterialParameters(){this.draped&&(this._forEachMaterial((e=>{e.setParameters({verticalOffset:null,screenSizePerspective:null,occlusionTest:!1,hasSlicePlane:!1,shaderPolygonOffset:0,draped:this.draped})})),this.layerOpacityChanged())}destroy(){super.destroy(),this._patchTask=o(this._patchTask),this._forEachMaterial((e=>this._context.stage.remove(e))),this._materials.length=0,this._cimSymbolMaterials.clear(),this._cimSymbolTextures.forEach((e=>this._context.stage.remove(e))),this._cimSymbolTextures.clear(),this._textureHandle=a(this._textureHandle)}_getScaleFactor(e,t){if(this._drivenProperties.size&&e.size){const r=Array.from(e.size);for(let e=0;e<3;e++){const t=r[e];t&&"symbol-value"!==t&&"proportional"!==t&&(r[e]=c(t))}if("symbol-value"===r[0])return 1;if(isFinite(+r[0]))return+r[0]/t;if(isFinite(+r[2]))return+r[2]/t}return 1}_getDrivenRotation(e){return this._drivenProperties.rotation?e.heading??0:0}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry))return null;let r,i=[0,0];const s=G(t.geometry);if(null==s)return this.logger.warn(`unsupported geometry type for text symbol: ${t.geometry.type}`),null;const o=this._context.stage.view.focusAreas.containsGeometry(s);if(this._cimData){if(!this._cimData.symbol)return null;const e=this._generateTextureCIM(t),s={textureId:e.id,isFocused:o,...this._cimMaterialParametersInfo};r=this._createMaterialAndAddToStage(s,this._context.stage);const a=window.devicePixelRatio||1;i=[e.parameters.width/a,e.parameters.height/a]}else i=this._size,r=o||1===this._materials.length?this._materials[0]:this._materials[1];if(null==s)return this.logger.warn(`unsupported geometry type for icon symbol: ${t.geometry.type}`),null;const a=e.renderingInfo,n=this._getVertexOpacityAndColor(a),l=this._getDrivenRotation(a);let c=1;if(!this._fastUpdates?.visualVariables.size){const e=i[0]>i[1]?i[0]:i[1];c=this._getScaleFactor(a,e)}c*=this._symbolTextureRatio;const h=d(i[0]*c,i[1]*c),u=this.setGraphicElevationContext(t);return this.ensureDrapedStatus("on-the-ground"===u.mode)&&this._setDrapingDependentMaterialParameters(),this.draped?this._createAsOverlay(t,s,r,n,l,h,e.layer.uid):this._createAs3DShape(t,s,r,n,l,h,u,t.uid)}layerOpacityChanged(){const e=this._getFillColor(),t=this._getOutlineColor();this._forEachMaterial((r=>{r.setParameters({color:e}),r.setParameters({outlineColor:t})}))}updateGeometry(e,t){if(this.draped||!this._validateGeometry(t))return!1;const{elevationContext:r,stageObject:i}=e;if(r.mode!==this.getGeometryElevationMode(t))return!1;const s=G(t);if(!s)return!1;const o=V(i,this._context,s,r);if(null==o)return!1;const a=H(this._context,s);return i.geometries[0].localOrigin===a&&(e.alignedSampledElevation=o,k(e,s,this._context.elevationProvider),!0)}layerElevationInfoChanged(e,t,r){const i=this._elevationContext.mode,s=I(ce.elevationModeChangeTypes,r,i);if(s!==M.UPDATE)return s;const o=T(i)||"absolute-height"===i;return this.updateGraphics3DGraphicElevationInfo(e,t,(()=>o))}slicePlaneEnabledChanged(){return this.draped||this._forEachMaterial((e=>{e.setParameters({hasSlicePlane:this._context.slicePlaneEnabled})})),!0}physicalBasedRenderingChanged(){return!0}get pixelRatioChanged(){return null!=this._getPrimitive()}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return U.RecreateSymbol;if(!$(this._fastUpdates,t,this._fastVisualVariableConvertOptions()))return U.RecreateSymbol;this._materials[0]?.setParameters(this._fastUpdates.materialParameters)}return U.FastUpdate}updateFocus(e,t){t.forEach((t=>{const r=this._context.stage.view.focusAreas.containsGeometry(t.graphic.geometry);t.layers.forEach((i=>{if(i?.graphics3DSymbolLayer===this){i.stageObject.geometries.some((e=>e.material.parameters.isFocused!==r))&&e(t)}}))}))}prepareSymbolLayerPatch(e){if(this._patchTask?.abort(),"partial"!==e.diff.type)return;const t=e.diff.diff;this._preparePatchResource(e,t),this._preparePatchRotation(e,t)}_preparePatchResource(e,s){if(!s.resource||"partial"!==s.resource.type)return;const c=s.resource.diff;if("complete"!==c?.href?.type)return;const h=c.href.newValue,{textures:u}=this._context.sharedResources;if(null==h||null==u||null!=me(h))return;const m=this._getIconSize(),d=m*this._context.graphicsCoreOwner.view.state.pixelRatio;e.symbolLayerStatePatches.push((()=>{this._patchTask=o(this._patchTask),this._patchTask=r((e=>this._context.schedule((async(e,r)=>{const s=await t(u.fromUrl(h,d,{signal:r}));l(r);const o=!s.ok;if(o&&n(s.error),this._textureHandle=a(this._textureHandle),this._patchTask=null,o){this._forEachMaterial((e=>{e.visible=!1,e.setParameters({textureId:null})}));const e=`Failed to load (Request for icon resource failed: ${h})`;return void this.logger.error(new i("graphics3diconsymbollayer:request-failed",e))}this._textureHandle=s.value;const c=s.value.texture;this._size=pe(c,m),this._forEachMaterial((e=>{e.setParameters({textureId:c.id}),e.visible=!0}))}),e)))})),delete c.href}_preparePatchRotation(e,t){if(!t.angle||"complete"!==t.angle.type)return;const r=t.angle.newValue??0,i=0!==r||this._drivenProperties.rotation;e.symbolLayerStatePatches.push((()=>{this._forEachMaterial((e=>e.setParameters({rotation:r,hasRotation:i})))})),delete t.angle}_defaultElevationInfoNoZ(){return _e}_createAs3DShape(e,t,r,i,s,o,a,n){const l=this.getFastUpdateAttrValues(e),c=this._context.layer.uid,h=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:n,layerUid:c}),u=Y(r,{normal:ie,color:i,rotation:s,size:o,centerOffsetAndDistance:fe,featureAttribute:l,objectAndLayerIdColor:h}),m=B(this._context,t,u,a,n);if(null==m)return null;const d=new D(this,m.object,[u],null,null,j,a);return d.alignedSampledElevation=m.sampledElevation,d.needsElevationUpdates=T(a.mode)||"absolute-height"===a.mode,d.getScreenSize=this._createScreenSizeGetter(o,l),d.calculateRelativeScreenBounds=e=>r.calculateRelativeScreenBounds(d.getScreenSize(),1,e),k(d,t,this._context.elevationProvider),d}_createAsOverlay(e,t,r,i,s,o,a){r.renderPriority=this._renderPriority;const n=_();g(t,n,this._context.overlaySR),n[2]=X;const l=this._context.clippingExtent;if(null!=l&&!x(l,n))return null;const c=this.getFastUpdateAttrValues(e),h=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:e.uid,layerUid:this._context.layer.uid}),u=Y(r,{normal:ie,position:n,color:i,rotation:s,size:o,featureAttribute:c,objectAndLayerIdColor:h}),m=new ee(u,{layerUid:a,graphicUid:e.uid}),d=new E(this,[m],null,this._context.drapeSourceRenderer);return d.getScreenSize=this._createScreenSizeGetter(o,c),d.calculateRelativeScreenBounds=e=>r.calculateRelativeScreenBounds(d.getScreenSize(),1,e),d}_createScreenSizeGetter(e,t){const r=this._outlineSize+2;if(this._fastUpdates&&t){const i=e[0]/this._symbolTextureRatio,s=e[1]/this._symbolTextureRatio;return(e=p())=>{const[o,a]=W(ye,this._fastUpdates.materialParameters,t);return e[0]=o*i+r,e[1]=a*s+r,e}}const i=e[0]/this._symbolTextureRatio+r,s=e[1]/this._symbolTextureRatio+r;return(e=p())=>(e[0]=i,e[1]=s,e)}_fastVisualVariableConvertOptions(){const e=Math.max(this._size[0],this._size[1]),t=f(e,e,e),r=h(1),i=e*r,s=f(i,i,i);return new q({size:!0,color:!0,rotation:!0,opacity:!1},t,s,r)}_forEachMaterial(e){this._materials.forEach(e),this._cimSymbolMaterials.forEach(e)}test(){return{...super.test(),material:this._materials[0]}}}function he(e){return e&&"point-3d"===e.type&&e.hasVisibleVerticalOffset()}function ue(e){return null!=e&&("cross"===e||"x"===e)}function me(e){const t=m(e);return"application/json"===t?.mediaType?t.data:void 0}function de(e,t){return"relative"===e?d((t.x||0)+.5,.5-(t.y||0)):e in L?L[e]:L.center}function pe({parameters:e},t){const r=(e.width??1)/(e.height??1);return r>1?[t,Math.round(t/r)]:[Math.round(t*r),t]}ce.PRIMITIVE_SIZE=le,ce.elevationModeChangeTypes={definedChanged:M.UPDATE,staysOnTheGround:M.NONE,onTheGroundChanged:M.RECREATE};const _e={mode:"relative-to-ground",offset:0},fe=y(0,0,0,1),ye=_();export{ce as Graphics3DIconSymbolLayer};
|
|
5
|
+
import e from"../../../../Color.js";import{result as t,createTask as r}from"../../../../core/asyncUtils.js";import i from"../../../../core/Error.js";import has from"../../../../core/has.js";import{clone as s}from"../../../../core/lang.js";import{abortMaybe as o,releaseMaybe as a}from"../../../../core/maybe.js";import{throwIfAbortError as n,throwIfAborted as l}from"../../../../core/promiseUtils.js";import{pt2px as c,px2pt as h}from"../../../../core/screenUtils.js";import{numericHash as u}from"../../../../core/string.js";import{dataComponents as m}from"../../../../core/urlUtils.js";import{fromValues as d,create as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as _,fromValues as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as y}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{projectPointToVector as g}from"../../../../geometry/projection/projectPointToVector.js";import{containsPoint as x}from"../../../../geometry/support/aaBoundingBox.js";import{createRendererExpression as b}from"../../../../support/arcadeOnDemand.js";import{CIMSymbolHelper as v}from"../../../../symbols/cim/CIMSymbolHelper.js";import{evaluateValueOrFunction as S}from"../../../../symbols/cim/utils.js";import{scaleCIMSymbol as P}from"../../../../symbols/support/cimSymbolUtils.js";import{defaultPrimitive as R}from"../../../../symbols/support/IconSymbol3DLayerResource.js";import{Symbol3DAnchorPosition2D as w}from"../../../../symbols/support/Symbol3DAnchorPosition2D.js";import{getIconHref as C}from"../../../../symbols/support/utils.js";import{focusAreaHUDColor as z}from"../../../FocusAreas.js";import{transparentUnit as O}from"./constants.js";import{perObjectElevationAligner as j}from"./ElevationAligners.js";import{SymbolUpdateType as M,elevationModeChangeUpdateType as I,needsElevationUpdates2D as T}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as E}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as D}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as F}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as A}from"./graphicUtils.js";import{ApplyRendererDiffResult as U}from"./interfaces.js";import{namedAnchorToHUDMaterialAnchorPos as L}from"./placementUtils.js";import{placePointOnGeometry as G,updateStageObjectGeometry as V,getLocalOriginForPoint as H,extendPointGraphicElevationContext as k,createStageObject as B}from"./pointUtils.js";import{initFastSymbolUpdatesState as N,updateFastSymbolUpdatesState as $,evaluateModelTransformScale as W,ConvertOptions as q}from"../support/FastSymbolUpdates.js";import{createTexture as J,requiresHalfTexelOffset as Z,defaultBoundingBox as K,defaultSymbolSizeRatio as Q,defaultTexSize as X}from"../../support/engineContent/sdfPrimitives.js";import{drapedZ as Y}from"../../terrain/OverlayRenderer.js";import{createPointGeometry as ee}from"../../webgl-engine/lib/GeometryUtil.js";import{RenderGeometry as te}from"../../webgl-engine/lib/RenderGeometry.js";import{Texture as re}from"../../webgl-engine/lib/Texture.js";import{HUDMaterial as ie}from"../../webgl-engine/materials/HUDMaterial.js";const se=f(0,0,1),oe=16,ae=1.5,ne=[X*Q,X*Q];class le extends F{getCachedSize(){return{size:this._getIconSize()}}constructor(e,t,r,i){super(e,t,r,i),this._cimData=null,this._overrideHelperClass=null,this._arcadeInfo=null,this._cimSymbolMaterials=new Map,this._cimSymbolTextures=new Map,this._cimMaterialParametersInfo=null,this._cimScaleFactorOrFunction=null,this._size=null,this._symbolTextureRatio=1,this._outlineSize=0,this._textureHandle=null,this._patchTask=null,this._elevationOptions={supportsOffsetAdjustment:!0,supportsOnTheGround:!0}}async doLoad(e){this._validateOrThrow();const t=this._prepareMaterialParameters(),r=this._getPrimitive();if(null!=r)this._prepareResourcesPrimitive(t,r);else{const r=C(this.symbolLayer),i=ue(r);null!=i?await this._prepareResourcesCIM(t,JSON.parse(i),e):await this._prepareResourcesHref(t,r,e)}}_validateOrThrow(){if(this._drivenProperties.size)return;const e=A(this._getIconSize());if(e)throw new i("graphics3diconsymbollayer:invalid-size",e)}_getIconSize(){const e=this.symbolLayer,t=Math.round(null!=e.size?c(e.size):oe);return this._drivenProperties.size?Math.max(t,64):t}_generateTextureCIM(e){const t=this._overrideHelperClass;let r=this._cimData;if(t&&r&&r.symbol||this.logger.error("Can't create texture, CIM data is undefined"),r.primitiveOverrides){r=s(r);const i=r.primitiveOverrides;t.evaluateOverrides(i,e,this._arcadeInfo.geometryType,null,null),t.applyOverrides(r.symbol,i)}const i=u(JSON.stringify(r));let o=this._cimSymbolTextures.get(i);if(o)return o;const a=this._context.sharedResources.cimSymbolRasterizer,n=this._context.renderer&&"dictionary"===this._context.renderer.type?this._context.renderer.fieldMap:null;n&&t.applyDictionaryTextOverrides(r.symbol,e,n,null);const l=null!=this._cimScaleFactorOrFunction?S(this._cimScaleFactorOrFunction,e):1;1!==l&&r.symbol&&P(r.symbol,l,!0);const c=v.getEnvelope(r,null,a.resourceManager);if(c?.width&&c.height){const e=c.x+c.width/2,t=c.y+c.height/2,i=a.rasterize({type:"cim",data:r},c.width,c.height,e,t,1,"esriGeometryPoint"),s=new w({x:-c.x/c.width-.5,y:(c.height+c.y)/c.height-.5});this._cimMaterialParametersInfo.anchorPosition=me("relative",s),o=new re(i,{width:i?.width??1,height:i?.height??1,reloadable:!0})}else o=new re(new ImageData(1,1),{width:1,height:1,reloadable:!0});return this._cimSymbolTextures.set(i,o),this._context.stage.add(o),o}_prepareMaterialParameters(){const e={anchorPosition:me(this.symbolLayer.anchor,this.symbolLayer.anchorPosition),rotation:this.symbolLayer.angle},t=this.symbol;if(ce(t)){const{screenLength:r,minWorldLength:i,maxWorldLength:s}=t.verticalOffset;e.verticalOffset={screenLength:c(r),minWorldLength:i||0,maxWorldLength:null!=s?s:1/0}}this._context.screenSizePerspectiveEnabled&&(e.screenSizePerspective=this._context.sharedResources.screenSizePerspectiveSettings),(0!==e.rotation||this._drivenProperties.rotation)&&(e.hasRotation=!0);const r=!has("disable-feature:non-occluded-hud");return e.occlusionTest=!r,e.occludedFragmentFade=r,e.horizonCullingEnabled=r&&this._context.spherical,e.hasSlicePlane=this._context.slicePlaneEnabled,e}_prepareResourcesPrimitive(e,t){const r=this._getOutlineSize();if(he(t)&&0===r)throw new Error("Nothing to render");if(this._outlineSize=r,e.color=this._getFillColor(),e.outlineColor=this._getOutlineColor(),e.outlineSize=this._outlineSize,null!=this._context.sharedResources.textures){const r=this._context.sharedResources.textures.fromData(`${t}-icon`,(()=>J(t)));this._textureHandle=r,e.textureId=r.texture.id}e.textureIsSignedDistanceField=!0,e.sampleSignedDistanceFieldTexelCenter=Z(t),e.distanceFieldBoundingBox=K;const i=this._getIconSize();this._size=[i,i],this._symbolTextureRatio=1/Q,this._createMaterialAndAddToStage(e,this._context.stage)}async _prepareResourcesHref(e,r,s){this._outlineSize=this._getOutlineSize(),e.color=this._getFillColor(),e.outlineColor=this._getOutlineColor(),e.outlineSize=this._outlineSize,e.textureIsSignedDistanceField=!1;const o=this._getIconSize(),a=o*this._context.graphicsCoreOwner.view.state.rasterPixelRatio;if(null!=this._context.sharedResources.textures){const l=await t(this._context.sharedResources.textures.fromUrl(r,a,{signal:s}));if(!1===l.ok){n(l.error);throw new i("graphics3diconsymbollayer:request-failed",`Failed to load (Request for icon resource failed: ${r})`)}this._textureHandle=l.value;const c=l.value.texture;this._size=de(c,o),e.textureId=c.id}this._createMaterialAndAddToStage(e,this._context.stage)}async _prepareResourcesCIM(e,t,r){const{OverrideHelper:i}=await import("../../../../symbols/cim/OverrideHelper.js");if(this._overrideHelperClass=i,this._cimData=t,!this._context.sharedResources.cimSymbolRasterizer){const e=(await import("../../../../symbols/cim/CIMSymbolRasterizer.js")).CIMSymbolRasterizer;l(r),this._context.sharedResources.cimSymbolRasterizer||(this._context.sharedResources.cimSymbolRasterizer=new e(this._context.renderCoordsHelper.spatialReference))}const s=this._context.sharedResources.cimSymbolRasterizer,o=[],a=t,n=a?.symbol;v.fetchResources(n,s.resourceManager,o,r),v.fetchFonts(n,s.resourceManager,o);const c=this._context.layer.fields?this._context.layer.fields.map((e=>e.toJSON())):[],h=this._context.renderCoordsHelper.spatialReference;if(this._arcadeInfo={spatialReference:h,fields:c,geometryType:"esriGeometryPoint"},a?.primitiveOverrides&&o.push(i.createRenderExpressions(a.primitiveOverrides,this._arcadeInfo)),o.length>0&&(await Promise.all(o),l(r)),this._context.renderer&&"dictionary"===this._context.renderer.type&&this._context.renderer.scaleExpression){const e=this._context.renderer;if(e.scaleExpression){const t=e.scaleExpression,r=await b(t,this._context.layer.spatialReference,c),{default:i}=await import("../../../2d/arcade/callExpressionWithFeature.js");this._cimScaleFactorOrFunction=(e,t,s)=>{const o=i(r,e,{$view:s},"esriGeometryPoint",t);return null!==o?o:1}}}l(r),this._cimMaterialParametersInfo=e,this._cimMaterialParametersInfo.color=this._getFillColor(),this._cimMaterialParametersInfo.outlineColor=[0,0,0,0],this._cimMaterialParametersInfo.outlineSize=0,this._cimMaterialParametersInfo.textureIsSignedDistanceField=!1}_getPrimitive(){return this.symbolLayer.resource?.href?null:this.symbolLayer.resource?.primitive??R}_getOutlineSize(){let e=0;const t=this.symbolLayer;if(null!=t.outline?.size)return Math.max(c(t.outline.size),0);return e=he(this._getPrimitive())?ae:0,Math.max(e,0)}_getOutlineColor(){const t=this._getLayerOpacity(),r=this.symbolLayer,i=r?.outline?.color;if(null!=i){const r=e.toUnitRGB(i),s=i.a*t;return[r[0],r[1],r[2],s]}return[0,0,0,0]}_getFillColor(){if(he(this._getPrimitive()))return O;const e=null==this._getPrimitive(),t=this.symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_createMaterialAndAddToStage(e,t){const r=this._context.spherical;if(this._cimData){this._fastUpdates=null;let i=e.textureId?this._cimSymbolMaterials.get(e.textureId):null;return i||(i=new ie(e,r),this._cimSymbolMaterials.set(e.textureId??0,i),t.add(i)),i}if(this._fastUpdates=N(this._context.renderer,this._fastVisualVariableConvertOptions()),this._fastUpdates&&(e={...e,...this._fastUpdates.materialParameters}),this._materials[0]=new ie(e,r),t.add(this._materials[0]),this._context.graphicsCoreOwner.view.focusAreas.activePolygons.length>0){e.isFocused=!1;const i=this._context.stage.view.focusAreas.style;e.color=z(e.color,i),e.outlineColor=z(e.outlineColor,i),this._materials[1]=new ie(e,r),t.add(this._materials[1])}return this._materials[0]}_setDrapingDependentMaterialParameters(){this.draped&&(this._forEachMaterial((e=>{e.setParameters({verticalOffset:null,screenSizePerspective:null,occlusionTest:!1,hasSlicePlane:!1,shaderPolygonOffset:0,draped:this.draped})})),this.layerOpacityChanged())}destroy(){super.destroy(),this._patchTask=o(this._patchTask),this._forEachMaterial((e=>this._context.stage.remove(e))),this._materials.length=0,this._cimSymbolMaterials.clear(),this._cimSymbolTextures.forEach((e=>this._context.stage.remove(e))),this._cimSymbolTextures.clear(),this._textureHandle=a(this._textureHandle)}_getScaleFactor(e,t){if(this._drivenProperties.size&&e.size){const r=Array.from(e.size);for(let e=0;e<3;e++){const t=r[e];t&&"symbol-value"!==t&&"proportional"!==t&&(r[e]=c(t))}if("symbol-value"===r[0])return 1;if(isFinite(+r[0]))return+r[0]/t;if(isFinite(+r[2]))return+r[2]/t}return 1}_getDrivenRotation(e){return this._drivenProperties.rotation?e.heading??0:0}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry))return null;let r,i=[0,0];const s=G(t.geometry);if(null==s)return this.logger.warn(`unsupported geometry type for text symbol: ${t.geometry.type}`),null;const o=this._context.stage.view.focusAreas.containsGeometry(s);if(this._cimData){if(!this._cimData.symbol)return null;const e=this._generateTextureCIM(t),s={textureId:e.id,isFocused:o,...this._cimMaterialParametersInfo};r=this._createMaterialAndAddToStage(s,this._context.stage);const a=window.devicePixelRatio||1;i=[e.parameters.width/a,e.parameters.height/a]}else i=this._size,r=o||1===this._materials.length?this._materials[0]:this._materials[1];if(null==s)return this.logger.warn(`unsupported geometry type for icon symbol: ${t.geometry.type}`),null;const a=e.renderingInfo,n=this._getVertexOpacityAndColor(a),l=this._getDrivenRotation(a);let c=1;if(!this._fastUpdates?.visualVariables.size){const e=i[0]>i[1]?i[0]:i[1];c=this._getScaleFactor(a,e)}c*=this._symbolTextureRatio;const h=d(i[0]*c,i[1]*c),u=this.setGraphicElevationContext(t);return this.ensureDrapedStatus("on-the-ground"===u.mode)&&this._setDrapingDependentMaterialParameters(),this.draped?this._createAsOverlay(t,s,r,n,l,h,e.layer.uid):this._createAs3DShape(t,s,r,n,l,h,u,t.uid)}layerOpacityChanged(){const e=this._getFillColor(),t=this._getOutlineColor();this._forEachMaterial((r=>{r.setParameters({color:e}),r.setParameters({outlineColor:t})}))}updateGeometry(e,t){if(this.draped||!this._validateGeometry(t))return!1;const{elevationContext:r,stageObject:i}=e;if(r.mode!==this.getGeometryElevationMode(t))return!1;const s=G(t);if(!s)return!1;const o=V(i,this._context,s,r);if(null==o)return!1;const a=H(this._context,s);return i.geometries[0].localOrigin===a&&(e.alignedSampledElevation=o,k(e,s,this._context.elevationProvider),!0)}layerElevationInfoChanged(e,t,r){const i=this._elevationContext.mode,s=I(le.elevationModeChangeTypes,r,i);if(s!==M.UPDATE)return s;const o=T(i)||"absolute-height"===i;return this.updateGraphics3DGraphicElevationInfo(e,t,(()=>o))}slicePlaneEnabledChanged(){return this.draped||this._forEachMaterial((e=>{e.setParameters({hasSlicePlane:this._context.slicePlaneEnabled})})),!0}physicalBasedRenderingChanged(){return!0}get pixelRatioChanged(){return null!=this._getPrimitive()}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return U.RecreateSymbol;if(!$(this._fastUpdates,t,this._fastVisualVariableConvertOptions()))return U.RecreateSymbol;this._materials[0]?.setParameters(this._fastUpdates.materialParameters)}return U.FastUpdate}updateFocus(e,t){t.forEach((t=>{const r=this._context.stage.view.focusAreas.containsGeometry(t.graphic.geometry);t.layers.forEach((i=>{if(i?.graphics3DSymbolLayer===this){i.stageObject.geometries.some((e=>e.material.parameters.isFocused!==r))&&e(t)}}))}))}prepareSymbolLayerPatch(e){if(this._patchTask?.abort(),"partial"!==e.diff.type)return;const t=e.diff.diff;this._preparePatchResource(e,t),this._preparePatchRotation(e,t)}_preparePatchResource(e,s){if(!s.resource||"partial"!==s.resource.type)return;const c=s.resource.diff;if("complete"!==c?.href?.type)return;const h=c.href.newValue,{textures:u}=this._context.sharedResources;if(null==h||null==u||null!=ue(h))return;const m=this._getIconSize(),d=m*this._context.graphicsCoreOwner.view.state.pixelRatio;e.symbolLayerStatePatches.push((()=>{this._patchTask=o(this._patchTask),this._patchTask=r((e=>this._context.schedule((async(e,r)=>{const s=await t(u.fromUrl(h,d,{signal:r}));l(r);const o=!s.ok;if(o&&n(s.error),this._textureHandle=a(this._textureHandle),this._patchTask=null,o){this._forEachMaterial((e=>{e.visible=!1,e.setParameters({textureId:null})}));const e=`Failed to load (Request for icon resource failed: ${h})`;return void this.logger.error(new i("graphics3diconsymbollayer:request-failed",e))}this._textureHandle=s.value;const c=s.value.texture;this._size=de(c,m),this._forEachMaterial((e=>{e.setParameters({textureId:c.id}),e.visible=!0}))}),e)))})),delete c.href}_preparePatchRotation(e,t){if(!t.angle||"complete"!==t.angle.type)return;const r=t.angle.newValue??0,i=0!==r||this._drivenProperties.rotation;e.symbolLayerStatePatches.push((()=>{this._forEachMaterial((e=>e.setParameters({rotation:r,hasRotation:i})))})),delete t.angle}_defaultElevationInfoNoZ(){return pe}_createAs3DShape(e,t,r,i,s,o,a,n){const l=this.getFastUpdateAttrValues(e),c=this._context.layer.uid,h=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:n,layerUid:c}),u=ee(r,{normal:se,color:i,rotation:s,size:o,centerOffsetAndDistance:_e,featureAttribute:l,objectAndLayerIdColor:h}),m=B(this._context,t,u,a,n);if(null==m)return null;const d=new D(this,m.object,[u],null,null,j,a);return d.alignedSampledElevation=m.sampledElevation,d.needsElevationUpdates=T(a.mode)||"absolute-height"===a.mode,d.getScreenSize=this._createScreenSizeGetter(o,l),d.calculateRelativeScreenBounds=e=>r.calculateRelativeScreenBounds(d.getScreenSize(),1,e),k(d,t,this._context.elevationProvider),d}_createAsOverlay(e,t,r,i,s,o,a){r.renderPriority=this._renderPriority;const n=_();g(t,n,this._context.overlaySR),n[2]=Y;const l=this._context.clippingExtent;if(null!=l&&!x(l,n))return null;const c=this.getFastUpdateAttrValues(e),h=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:e.uid,layerUid:this._context.layer.uid}),u=ee(r,{normal:se,position:n,color:i,rotation:s,size:o,featureAttribute:c,objectAndLayerIdColor:h}),m=new te(u,{layerUid:a,graphicUid:e.uid}),d=new E(this,[m],null,this._context.drapeSourceRenderer);return d.getScreenSize=this._createScreenSizeGetter(o,c),d.calculateRelativeScreenBounds=e=>r.calculateRelativeScreenBounds(d.getScreenSize(),1,e),d}_createScreenSizeGetter(e,t){const r=this._outlineSize+2;if(this._fastUpdates&&t){const i=e[0]/this._symbolTextureRatio,s=e[1]/this._symbolTextureRatio;return(e=p())=>{const[o,a]=W(fe,this._fastUpdates.materialParameters,t);return e[0]=o*i+r,e[1]=a*s+r,e}}const i=e[0]/this._symbolTextureRatio+r,s=e[1]/this._symbolTextureRatio+r;return(e=p())=>(e[0]=i,e[1]=s,e)}_fastVisualVariableConvertOptions(){const e=Math.max(this._size[0],this._size[1]),t=f(e,e,e),r=h(1),i=e*r,s=f(i,i,i);return new q({size:!0,color:!0,rotation:!0,opacity:!1},t,s,r)}_forEachMaterial(e){this._materials.forEach(e),this._cimSymbolMaterials.forEach(e)}test(){return{...super.test(),material:this._materials[0]}}}function ce(e){return e&&"point-3d"===e.type&&e.hasVisibleVerticalOffset()}function he(e){return null!=e&&("cross"===e||"x"===e)}function ue(e){const t=m(e);return"application/json"===t?.mediaType?t.data:void 0}function me(e,t){return"relative"===e?d((t.x||0)+.5,.5-(t.y||0)):e in L?L[e]:L.center}function de({parameters:e},t){const r=(e.width??1)/(e.height??1);return r>1?[t,Math.round(t/r)]:[Math.round(t*r),t]}le.PRIMITIVE_SIZE=ne,le.elevationModeChangeTypes={definedChanged:M.UPDATE,staysOnTheGround:M.NONE,onTheGroundChanged:M.RECREATE};const pe={mode:"relative-to-ground",offset:0},_e=y(0,0,0,1),fe=_();export{le as Graphics3DIconSymbolLayer};
|