@arcgis/core 5.2.0-next.35 → 5.2.0-next.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/02b043a3c5fa8bcb4c5b.js +1 -0
- package/assets/esri/core/workers/chunks/{acbc14395c31f6da509e.js → 03437a8ef35c200dbf17.js} +1 -1
- package/assets/esri/core/workers/chunks/034dd8ee5152a12412cd.js +1 -0
- package/assets/esri/core/workers/chunks/0a6e03263ab0906d8bcf.js +1 -0
- package/assets/esri/core/workers/chunks/0edd250159ec259601b3.js +1 -0
- package/assets/esri/core/workers/chunks/{401ee7fa500adad77db1.js → 1079914101d69a40b3eb.js} +1 -1
- package/assets/esri/core/workers/chunks/{bbcb213d20693fcad5be.js → 1599dc5309a4e60017ce.js} +2 -2
- package/assets/esri/core/workers/chunks/181e98399732f425305d.js +1 -0
- package/assets/esri/core/workers/chunks/{47d88e1b003c4519b7b6.js → 18f4b2099299942aaf97.js} +1 -1
- package/assets/esri/core/workers/chunks/196e7515a43bd0026f49.js +1 -0
- package/assets/esri/core/workers/chunks/1aa7496a7dc95aae11ac.js +1 -0
- package/assets/esri/core/workers/chunks/1d524690c4b66289bd20.js +1 -0
- package/assets/esri/core/workers/chunks/{f72f38e7609756a7f8ea.js → 20fa2c3d4360afa5e136.js} +1 -1
- package/assets/esri/core/workers/chunks/{03350a56f840cffe5459.js → 2757c4bf0280e27f3484.js} +1 -1
- package/assets/esri/core/workers/chunks/{93ceb74ac88ef460fe5f.js → 278409028bc5af45b507.js} +1 -1
- package/assets/esri/core/workers/chunks/{2c61bb25578f73ba49bc.js → 29a1d0659bbc5a039864.js} +1 -1
- package/assets/esri/core/workers/chunks/29df3f829006719b2680.js +1 -0
- package/assets/esri/core/workers/chunks/30cf84a47ebefd180bb7.js +1 -0
- package/assets/esri/core/workers/chunks/{71a593fa116770e58832.js → 37a95f097533bad1b338.js} +1 -1
- package/assets/esri/core/workers/chunks/{7335a762412bc8c15a2f.js → 37e823202424c11076cb.js} +1 -1
- package/assets/esri/core/workers/chunks/{ee446250a40e5d89bb5a.js → 3a76fffa2016c16d7989.js} +3 -3
- package/assets/esri/core/workers/chunks/{58ce4bcfb15f378b1b9f.js → 3d6d2b42ba2ad7086d5d.js} +1 -1
- package/assets/esri/core/workers/chunks/3ec91474658eae87b832.js +1 -0
- package/assets/esri/core/workers/chunks/448e0596005cba9a4225.js +1 -0
- package/assets/esri/core/workers/chunks/{f148666308071bdb185a.js → 45530a49fa1f09d1682e.js} +1 -1
- package/assets/esri/core/workers/chunks/{155940ef3d1888272d73.js → 459e89d1b94a3b204d20.js} +2 -2
- package/assets/esri/core/workers/chunks/{f71f5778e03f68f27482.js → 45b2e58051f42ebd236e.js} +1 -1
- package/assets/esri/core/workers/chunks/4611cf051c3c396fdf96.js +1 -0
- package/assets/esri/core/workers/chunks/{efaa1d05705f6b450e8f.js → 46e3d33e44e5398221e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{866950e9ab96aebc6b32.js → 4a8201e09bc3ad5cc00b.js} +1 -1
- package/assets/esri/core/workers/chunks/{110135b0562a3b5708b9.js → 4abe820bbe4f7ffccc09.js} +1 -1
- package/assets/esri/core/workers/chunks/4ad86d6b1be07c97b6f6.js +1 -0
- package/assets/esri/core/workers/chunks/{20ffeb09bb30400de110.js → 4e28f49d0be20ea50fd7.js} +1 -1
- package/assets/esri/core/workers/chunks/4f25aac84d9eb10cac83.js +1 -0
- package/assets/esri/core/workers/chunks/{0197e459fdb04dfb28ef.js → 51838d55d8ec4ce70398.js} +1 -1
- package/assets/esri/core/workers/chunks/542d8a6c415098b9857c.js +1 -0
- package/assets/esri/core/workers/chunks/57abf838fcff0f0e2c5e.js +1 -0
- package/assets/esri/core/workers/chunks/57dd017fed2943d24e3d.js +1 -0
- package/assets/esri/core/workers/chunks/59801b2ccaaf4b394e02.js +1 -0
- package/assets/esri/core/workers/chunks/5a62c9f64db4fcae5e52.js +1 -0
- package/assets/esri/core/workers/chunks/{e84c13ac59e5381b77e2.js → 5aebecb5c2b3e7887127.js} +1 -1
- package/assets/esri/core/workers/chunks/{c19fe4f31e4ef84bbcf6.js → 5e68b74fd548c7cdba36.js} +1 -1
- package/assets/esri/core/workers/chunks/{9dcb2cbf89dcb7558432.js → 5f360492560ae07083a6.js} +1 -1
- package/assets/esri/core/workers/chunks/6022f43ebd58e21c737a.js +1 -0
- package/assets/esri/core/workers/chunks/62b137a795e487fa06a1.js +1 -0
- package/assets/esri/core/workers/chunks/{007485862ce95928717a.js → 632de34ebd2f44b4423d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ad5fcae6d6a9801cf58.js → 63ca17f569407c89bde1.js} +2 -2
- package/assets/esri/core/workers/chunks/6896a6dd36fa91a27151.js +1 -0
- package/assets/esri/core/workers/chunks/{e6263e1983e703befe48.js → 68bc674affe2f7269c40.js} +1 -1
- package/assets/esri/core/workers/chunks/{759686b896f51f0fe6a9.js → 6a51499c6623ddce5f00.js} +1 -1
- package/assets/esri/core/workers/chunks/6cdf1db30793133294dd.js +1 -0
- package/assets/esri/core/workers/chunks/{b0e4af49fc968b0a910f.js → 6ff6783f89ecd3a5e752.js} +1 -1
- package/assets/esri/core/workers/chunks/{857532de88f21e8c3466.js → 70763c7b68d8abe8d5fe.js} +1 -1
- package/assets/esri/core/workers/chunks/{e67a9f9298d63026e7f6.js → 716b1f073e3cd807abd3.js} +1 -1
- package/assets/esri/core/workers/chunks/71a3f05cb86ae2920f8d.js +1 -0
- package/assets/esri/core/workers/chunks/723bb56de2324b41df4e.js +1 -0
- package/assets/esri/core/workers/chunks/73f61107cb7e6d30bf03.js +1 -0
- package/assets/esri/core/workers/chunks/752c34cee981862add89.js +1 -0
- package/assets/esri/core/workers/chunks/760dfd585b6c2c1937ce.js +1 -0
- package/assets/esri/core/workers/chunks/{595401947e74a0a67144.js → 76449e50222111ba0eb1.js} +1 -1
- package/assets/esri/core/workers/chunks/76bed5497f42f23a27ed.js +1 -0
- package/assets/esri/core/workers/chunks/832ecc1f7d45774c4726.js +1 -0
- package/assets/esri/core/workers/chunks/860a0f9d20f53db1caf4.js +1 -0
- package/assets/esri/core/workers/chunks/867e39bb444947c93586.js +1 -0
- package/assets/esri/core/workers/chunks/8a8b7ac6693bdfbebf07.js +1 -0
- package/assets/esri/core/workers/chunks/8fce15ce4cfdccf407f3.js +1 -0
- package/assets/esri/core/workers/chunks/{5260f623438bd84f2caa.js → 937cf55b3b9d324eea73.js} +1 -1
- package/assets/esri/core/workers/chunks/93df864c2e829f0fd5ce.js +1 -0
- package/assets/esri/core/workers/chunks/{3dd8145ef89f32920177.js → 966d002acec8c72be56a.js} +1 -1
- package/assets/esri/core/workers/chunks/{367a3031abbeff0c0090.js → 9aef0b87f471626abd66.js} +1 -1
- package/assets/esri/core/workers/chunks/{f1d211904d5a1de93cb3.js → 9ba9a3705623679bc305.js} +1 -1
- package/assets/esri/core/workers/chunks/{aec82b94787821153d2b.js → a188d0767825d322f96d.js} +1 -1
- package/assets/esri/core/workers/chunks/a638de0102c3990403d1.js +1 -0
- package/assets/esri/core/workers/chunks/b09935d0105d50a0971b.js +1 -0
- package/assets/esri/core/workers/chunks/b2c0262c4a76b8a86200.js +1 -0
- package/assets/esri/core/workers/chunks/{599bd80379423c99799d.js → b4323e69e624c6b51754.js} +1 -1
- package/assets/esri/core/workers/chunks/b5141f240ca79729686d.js +1 -0
- package/assets/esri/core/workers/chunks/b549a4d4b1a34bee8beb.js +1 -0
- package/assets/esri/core/workers/chunks/bb89b6fd93513c61b2d3.js +1 -0
- package/assets/esri/core/workers/chunks/{3bd32387af52fa48d747.js → bc553ecc8cbcc1b02717.js} +1 -1
- package/assets/esri/core/workers/chunks/bcba02f61cf0abcb5600.js +1 -0
- package/assets/esri/core/workers/chunks/bccc199af4e2e49f7acd.js +1 -0
- package/assets/esri/core/workers/chunks/{f63e7b01c70352538b1e.js → bd0f488e228a75fbefb3.js} +2 -2
- package/assets/esri/core/workers/chunks/c48dfda8dcb9551606fb.js +1 -0
- package/assets/esri/core/workers/chunks/c4e44fde4bc4ff89e2bc.js +1 -0
- package/assets/esri/core/workers/chunks/c93a68618674b38b932e.js +1 -0
- package/assets/esri/core/workers/chunks/d2745886ba5a86fd5c4c.js +680 -0
- package/assets/esri/core/workers/chunks/d4c341b15d9244276fb9.js +1 -0
- package/assets/esri/core/workers/chunks/d5faab9799891e5da5a8.js +1 -0
- package/assets/esri/core/workers/chunks/d811924acc9c0be95bba.js +1 -0
- package/assets/esri/core/workers/chunks/{4b96aa2dc5b88846bb53.js → e0a4d0288abd334b0673.js} +1 -1
- package/assets/esri/core/workers/chunks/{b22a1c98271c2e4d8808.js → e1ddb8e4977b317fd40c.js} +1 -1
- package/assets/esri/core/workers/chunks/e961c6140c39921816a8.js +1 -0
- package/assets/esri/core/workers/chunks/eb7daa0f6610983ff8db.js +1 -0
- package/assets/esri/core/workers/chunks/eb842cf470ce28a73187.js +1 -0
- package/assets/esri/core/workers/chunks/ed1d4ebf487c7dcd5c33.js +1 -0
- package/assets/esri/core/workers/chunks/f565e203d8fed2672112.js +1 -0
- package/assets/esri/core/workers/chunks/f80cadcc2a588da63b38.js +1 -0
- package/assets/esri/core/workers/chunks/f8bbb52b865a0a242140.js +1 -0
- package/assets/esri/core/workers/chunks/f9592bcdd9988199a7ea.js +1 -0
- package/assets/esri/core/workers/chunks/ff7e1eb2366d4301d288.js +1 -0
- package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
- package/chunks/NavigationDepth.glsl.js +18 -0
- package/chunks/Path.glsl.js +20 -16
- package/config.js +1 -1
- package/core/accessorSupport/diffUtils.js +1 -1
- package/core/has.js +1 -1
- package/geometry/FlatGeometry.js +1 -1
- package/geometry/support/Indices.js +1 -1
- package/geometry/support/ShortArray.js +1 -1
- package/geometry/support/UintArray.js +1 -1
- package/geometry/support/meshUtils/geographicUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/mixins/PublishableLayer.js +1 -1
- package/layers/mixins/RefreshableLayer.js +1 -1
- package/layers/raster/functions/pixelUtils.js +1 -1
- package/layers/support/kustoUtils.js +1 -1
- package/layers/types.d.ts +9 -2
- package/package.json +1 -1
- package/popup/Feature.js +1 -1
- package/portal/support/resourceUtils.js +1 -1
- package/renderers/support/rasterTypeUtils.js +1 -1
- package/rest/query/operations/pbfFeatureSetUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/tables/support/tablesUtils.js +1 -1
- package/views/2d/engine/flow/utils.js +1 -1
- package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/AlignedVertexSpec.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/features/layerAdapters/labelingUtils.js +1 -1
- package/views/2d/layers/support/ExportStrategy.js +1 -1
- package/views/2d/layers/support/annodime/dimensionUtils.js +1 -1
- package/views/2d/layers/support/annodime/utils.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/Lyr3DWasm.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/i3s/PointCloudRendererUtil.js +1 -1
- package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
- package/views/3d/layers/support/lyr3dTypeConversions.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatAtlasPages.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/core/material/MaterialBase.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +32 -16
- package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +2 -2
- package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/Intersector.js +1 -1
- package/views/3d/webgl-engine/lib/NavigationDepthCache.js +2 -0
- package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
- package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
- package/views/3d/webgl-engine/lib/screenPolygonOverlapUtils.js +1 -1
- package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/PathLayouts.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/NavigationDepth.glsl.js +2 -0
- package/views/3d/webgl-engine/shaders/NavigationDepthTechnique.js +2 -0
- package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
- package/views/View2D.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/tooltip/fields/fields.js +1 -1
- package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
- package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
- package/views/support/euclideanLengthMeasurementUtils.js +1 -1
- package/views/support/selectionUtils.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/VertexAttributeLayouts.js +1 -1
- package/webscene/spec-certification/utils.js +1 -1
- package/widgets/Editor/legacy/workflowUtils.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.d.ts +6 -0
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/errors.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
- package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
- package/widgets/OrientedImageryViewer/utils.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/PanoramicViewer/constants.js +1 -1
- package/widgets/PanoramicViewer/support/importUtils.js +1 -1
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/support/dateUtils.js +1 -1
- package/assets/esri/core/workers/chunks/0a2f08298a3c932614f2.js +0 -1
- package/assets/esri/core/workers/chunks/0df978697328b6453c94.js +0 -1
- package/assets/esri/core/workers/chunks/168c15cf462f9abcbdd2.js +0 -1
- package/assets/esri/core/workers/chunks/22c447fcc9a28afeb6e3.js +0 -1
- package/assets/esri/core/workers/chunks/24aa98cb2021ddd789ce.js +0 -1
- package/assets/esri/core/workers/chunks/2509da565e5a2b43ac7f.js +0 -1
- package/assets/esri/core/workers/chunks/256cc116e3be4feee593.js +0 -1
- package/assets/esri/core/workers/chunks/2bb3494659609594c4ca.js +0 -1
- package/assets/esri/core/workers/chunks/2c017eae434254610c8e.js +0 -1
- package/assets/esri/core/workers/chunks/303e723e829ea7088d43.js +0 -1
- package/assets/esri/core/workers/chunks/368db1420b8520beae05.js +0 -1
- package/assets/esri/core/workers/chunks/38a6a7c56c592f336a12.js +0 -1
- package/assets/esri/core/workers/chunks/39ff5b2a05a90e1cb214.js +0 -1
- package/assets/esri/core/workers/chunks/3b914ca36e7e2b00cfe6.js +0 -1
- package/assets/esri/core/workers/chunks/3d1021f7ea9617a76ccf.js +0 -1
- package/assets/esri/core/workers/chunks/3e8fa2a7a36881234479.js +0 -1
- package/assets/esri/core/workers/chunks/451331f69d21c61ec93b.js +0 -1
- package/assets/esri/core/workers/chunks/4656a4bf430d7eed1465.js +0 -1
- package/assets/esri/core/workers/chunks/472ec242cd3070e6acfe.js +0 -1
- package/assets/esri/core/workers/chunks/51d7145f748b4865de7f.js +0 -1
- package/assets/esri/core/workers/chunks/54f54623532f633dc0e2.js +0 -1
- package/assets/esri/core/workers/chunks/570a4725b2a4a19c5148.js +0 -1
- package/assets/esri/core/workers/chunks/586ca90e46f5cbdfeece.js +0 -1
- package/assets/esri/core/workers/chunks/59c22bab85f9cdbb9948.js +0 -1
- package/assets/esri/core/workers/chunks/5dfeefee96659832398a.js +0 -1
- package/assets/esri/core/workers/chunks/6c746ac4bd2e57b8cb41.js +0 -1
- package/assets/esri/core/workers/chunks/6d72a1bdc2664df62c4c.js +0 -1
- package/assets/esri/core/workers/chunks/7085b4c655a19694da04.js +0 -1
- package/assets/esri/core/workers/chunks/777b16b76db406c99c69.js +0 -1
- package/assets/esri/core/workers/chunks/818a481ce579f519de1c.js +0 -1
- package/assets/esri/core/workers/chunks/85a280ee915010a8da3c.js +0 -1
- package/assets/esri/core/workers/chunks/86731e276b31453bc235.js +0 -1
- package/assets/esri/core/workers/chunks/87b86375f8557418dbe6.js +0 -1
- package/assets/esri/core/workers/chunks/8817d25c7f4cf0e6c6bd.js +0 -1
- package/assets/esri/core/workers/chunks/8a9b2efa0603e9fa4e8b.js +0 -1
- package/assets/esri/core/workers/chunks/8aa5bbf9a9b09815725a.js +0 -1
- package/assets/esri/core/workers/chunks/8b68a69ab8fb1679e7b2.js +0 -1
- package/assets/esri/core/workers/chunks/98685bd149dee1d6dc99.js +0 -1
- package/assets/esri/core/workers/chunks/9de673a04c70bd47047e.js +0 -1
- package/assets/esri/core/workers/chunks/9de9cec5c644bc452294.js +0 -1
- package/assets/esri/core/workers/chunks/9fb0431b0628dcb53004.js +0 -680
- package/assets/esri/core/workers/chunks/a2a688dd2ed4565e01ff.js +0 -1
- package/assets/esri/core/workers/chunks/a3ae7c41832c7a8b0570.js +0 -1
- package/assets/esri/core/workers/chunks/a3e86830460e52706a4d.js +0 -1
- package/assets/esri/core/workers/chunks/a58b8903ae17acf117d6.js +0 -1
- package/assets/esri/core/workers/chunks/a99ce2f12c8204ee542a.js +0 -1
- package/assets/esri/core/workers/chunks/ab3d1c00ef514b61ce0b.js +0 -1
- package/assets/esri/core/workers/chunks/ae5363956b4467208e04.js +0 -1
- package/assets/esri/core/workers/chunks/b24b7411a73d1da87c30.js +0 -1
- package/assets/esri/core/workers/chunks/b97b83159fec34f383af.js +0 -1
- package/assets/esri/core/workers/chunks/bec660ee2e7828f965e2.js +0 -1
- package/assets/esri/core/workers/chunks/c7316fd2bdb7ac9eada3.js +0 -1
- package/assets/esri/core/workers/chunks/ca7d4d76a6bf5a3046cd.js +0 -1
- package/assets/esri/core/workers/chunks/cffef41791f0cfa6c26c.js +0 -1
- package/assets/esri/core/workers/chunks/d26b1a9f47b4b2744c89.js +0 -1
- package/assets/esri/core/workers/chunks/d4a96f0402172787823a.js +0 -1
- package/assets/esri/core/workers/chunks/d9fcc63df008f687848a.js +0 -1
- package/assets/esri/core/workers/chunks/e3a4695c31d3f9d55213.js +0 -1
- package/assets/esri/core/workers/chunks/e65d291bab13f7f5323b.js +0 -1
- package/assets/esri/core/workers/chunks/eeee7421f64a52074ff4.js +0 -1
- package/assets/esri/core/workers/chunks/eef7e0bee19c4258ba55.js +0 -1
- package/assets/esri/core/workers/chunks/efaf998d18479a0380ae.js +0 -1
- package/assets/esri/core/workers/chunks/f0573db9a3d3e1499a7e.js +0 -1
- package/assets/esri/core/workers/chunks/f07722efd7fa2b75d4dd.js +0 -1
- package/assets/esri/core/workers/chunks/f137e544076482e348ad.js +0 -1
- package/assets/esri/core/workers/chunks/fd53ef66176ae164e221.js +0 -1
- package/assets/esri/core/workers/chunks/fd956a58787020d610af.js +0 -1
- package/rest/sharedTemplates/addSharedTemplates.js +0 -2
- package/support/featureFlags.js +0 -2
- package/views/2d/engine/webgl/ClippingInfo.js +0 -2
- package/views/2d/engine/webgl/Mesh2D.js +0 -2
- package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +0 -2
- package/views/2d/layers/features/ProcessorTileMessageQueue.js +0 -2
- package/views/3d/support/AsyncWorkerQueue.js +0 -2
- package/views/3d/webgl-engine/lib/PathGeometryData.js +0 -2
- package/widgets/BatchAttributeForm/templates/support/contingentValuesUtils.js +0 -2
- package/widgets/OrientedImageryViewer/components/NavigationAction.js +0 -2
- package/widgets/OrientedImageryViewer/components/NavigationActions.js +0 -2
- package/widgets/OrientedImageryViewer/support/NonPanoramicMediaCollection.js +0 -2
- package/widgets/PanoramicViewer/support/PanoramicMediaCollection.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"../../../core/has.js";import{disposeMaybe as e,releaseMaybe as t}from"../../../core/maybe.js";import{set as r,copy as s}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{ZEROS as o}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{fromValues as a}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isBaseLayer as i,isGroupLayer as n,isReferenceLayer as u}from"../../../layers/support/layerUtils.js";import{isLayerViewWithFlowRenderer as c}from"../support/flowUtils.js";import{BlendLayersPassParameters as p}from"./BlendLayersTechnique.js";import{isBlendableLayerView as l,isVectorTileLayerView as d,isVectorTileRenderInfo as h,isImageryTileRenderInfo as m,isImageSourceRenderInfo as _,isTextureTileRenderInfo as f,isVectorTilePerLayerInfo as x}from"./terrainUtils.js";import{TextureReference as T}from"./TextureReference.js";import{TileCompositor as y}from"./TileCompositor.js";import{TileRenderInfo as g}from"./TileRenderInfo.js";import{getCacheKey as b,TileTexture as k}from"./TileTexture.js";import{fallsWithinLayerView as L}from"./tileUtils.js";import{blendModeFromString as w}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{isCompressible as I}from"../../support/TextureCompressionWorkerHandle.js";import B from"../../webgl/Texture.js";import{TextureDescriptor as C}from"../../webgl/TextureDescriptor.js";class P{constructor(e,t,r,s,o){this._rctx=e,this.tileSize=t,this._techniques=r,this._cache=s,this._compressionTracker=o,this._passParameters=new p,this._backgroundColor=null,this._maxAnisotropy=this._rctx.parameters.maxMaxAnisotropy,this._compositor=new y(this._rctx,this._techniques)}dispose(){this._compositor=e(this._compositor),this._backgroundTexture=t(this._backgroundTexture)}get backgroundIsGrid(){return null==this._backgroundColor}get backgroundColor(){return this._backgroundColor}updateHeading(e){this._compositor?.updateHeading(e)}updateTileTexture(e,t){if(!e.renderData)return;const r=this._prepareUpdateState(e),s=r.targetTextureSize/this.tileSize;0!==r.numTexturedLayers&&null!==r.firstTexturedLayerIndex?1===r.numTexturedLayers&&!r.foundBlendMode&&this._useLayerTexture(e,r.firstTexturedLayerIndex)||this._composeLayers(e,t,r.lastLayerIndex,r.hasBasemapLayers,r.targetTextureSize,s,!r.backgroundCovered||r.foundBlendMode,
|
|
2
|
+
import"../../../core/has.js";import{disposeMaybe as e,releaseMaybe as t}from"../../../core/maybe.js";import{set as r,copy as s}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{ZEROS as o}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{fromValues as a}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isBaseLayer as i,isGroupLayer as n,isReferenceLayer as u}from"../../../layers/support/layerUtils.js";import{isLayerViewWithFlowRenderer as c}from"../support/flowUtils.js";import{BlendLayersPassParameters as p}from"./BlendLayersTechnique.js";import{isBlendableLayerView as l,isVectorTileLayerView as d,isVectorTileRenderInfo as h,isImageryTileRenderInfo as m,isImageSourceRenderInfo as _,isTextureTileRenderInfo as f,isVectorTilePerLayerInfo as x}from"./terrainUtils.js";import{TextureReference as T}from"./TextureReference.js";import{TileCompositor as y}from"./TileCompositor.js";import{TileRenderInfo as g}from"./TileRenderInfo.js";import{getCacheKey as b,TileTexture as k}from"./TileTexture.js";import{fallsWithinLayerView as L}from"./tileUtils.js";import{blendModeFromString as w}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{isCompressible as I}from"../../support/TextureCompressionWorkerHandle.js";import B from"../../webgl/Texture.js";import{TextureDescriptor as C}from"../../webgl/TextureDescriptor.js";class P{constructor(e,t,r,s,o){this._rctx=e,this.tileSize=t,this._techniques=r,this._cache=s,this._compressionTracker=o,this._passParameters=new p,this._backgroundColor=null,this._maxAnisotropy=this._rctx.parameters.maxMaxAnisotropy,this._compositor=new y(this._rctx,this._techniques)}dispose(){this._compositor=e(this._compositor),this._backgroundTexture=t(this._backgroundTexture)}get backgroundIsGrid(){return null==this._backgroundColor}get backgroundColor(){return this._backgroundColor}updateHeading(e){this._compositor?.updateHeading(e)}updateTileTexture(e,t){if(!e.renderData)return;const r=this._prepareUpdateState(e),s=r.targetTextureSize/this.tileSize;0!==r.numTexturedLayers&&null!==r.firstTexturedLayerIndex?1===r.numTexturedLayers&&!r.foundBlendMode&&this._useLayerTexture(e,r.firstTexturedLayerIndex)||this._composeLayers(e,t,r.lastLayerIndex,r.hasBasemapLayers,r.targetTextureSize,s,!r.backgroundCovered||r.foundBlendMode,U,r.foundBlendMode):this._useBackgroundTexture(e,r.numVisibleLayers,0!==t)}_prepareUpdateState(e){const t=e.surface,r=t.baseOpacity,s=t.view.state.contentPixelRatio,o=e.layerInfo[1];let a=0,p=0,h=this.tileSize,m=!1,_=!1,f=!1,x=null;U.clear(),D.length=0;for(let T=0;T<o.length;T++){const y=t.layerViewByIndex(T,1),g=y.layer,b=!L(e,y),k=g.opacity,w=y.fullOpacity;if(_=_||i(g),c(y))continue;if(l(y)){let e="normal"!==y.layer.blendMode;if(n(g.parent)){const t=g.parent.uid;null!=t&&""!==t&&(e=j(g.parent)||e)}e&&(f=e,m=!1)}if(this._canSkipLayer(k,b,f)){this._clearTexturePendingUpdates(o[T]);continue}++p;const I=d(y),B=M(e,T,I);if(B){if(this._clearTexturePendingUpdates(o[T]),n(g.parent)){const e=g.parent.uid;null!=e&&""!==e&&S(g.parent,T)}if(I)h=Math.max(h,this.tileSize*s);else{const e=this._prepareTextureForBackgroundCoverageCheck(B,u(g));1===r&&1===w&&(y.isOpaque||!0===e?.descriptor.isOpaque)&&(m=!0)}++a,null===x&&(x=T)}}return{numTexturedLayers:a,numVisibleLayers:p,targetTextureSize:h,backgroundCovered:m,hasBasemapLayers:_,foundBlendMode:f,firstTexturedLayerIndex:x,lastLayerIndex:o.length-1}}_canSkipLayer(e,t,r){return this._isLayerNonContributing(e,t)&&!r}_isLayerNonContributing(e,t){return 0===e||t}_clearTexturePendingUpdates(e){e.pendingUpdates&=-1}_prepareTextureForBackgroundCoverageCheck(e,t){return this._dataToTexture(e,t)?e.sourceLayerInfo.data:null}setBackground(e){this._backgroundColor!==e&&(this._backgroundColor=e,this._backgroundTexture&&this._drawBackgroundTexture(this._backgroundTexture))}_ensureBackgroundTexture(){return null==this._backgroundTexture&&(this._backgroundTexture=this._buildTexture(this.tileSize,!1),this._drawBackgroundTexture(this._backgroundTexture)),this._backgroundTexture}_drawBackgroundTexture(e){this._compositor.bind(this.tileSize),this._passParameters.offset=o,this._passParameters.scale=1,this._passParameters.opacity=1,this.backgroundColor&&(this._passParameters.backgroundColor=this.backgroundColor),this._compositor.drawBackground(this._passParameters,null!=this.backgroundColor),this._compositor.copyFBOToTexture(e),this._compositor.unbind()}_useBackgroundTexture(e,t,r){const s=e.renderData,o=!r&&null!=s.textureReference&&(e.surface.view.layerViewManager.updating||t>0)?5e3:0,a=this._ensureBackgroundTexture();s.setTextureReference(new T(a,0,z,e.surface.baseOpacity,0,1),o)}_useLayerTexture(e,t){const r=e.surface.layerViewByIndex(t,1),s=i(r.layer),o=s?e.surface.baseOpacity:1,n=s?1:e.surface.baseOpacity,c=r.fullOpacity,p=M(e,t,!1);return!!this._dataToTexture(p,u(r.layer))&&(e.renderData.setTextureReference(new T(p.sourceLayerInfo.data,0,a(p.offset[0],p.offset[1],p.scale,p.scale),o,n,c)),!0)}_composeLayers(e,t,r,s,a,n,p,_,f){this._compositor.ensureBuffer(a);const x=e.surface.baseOpacity;let y=!1,g=9987,b=!1,k=0;for(let T=r;T>=0;T--){const t=e.surface.layerViewByIndex(T,1);if(c(t))continue;const r=t.layer,I=M(e,T,d(t)),B=r.opacity,C=!L(e,t);if(!I||this._canSkipLayer(B,C,f))continue;const P=!i(r)&&!y;y||=P;const j=this._openGroupsAtLayer(T,a,x,s,p,P,_),S=j?4:p&&0===k?this.backgroundIsGrid?3:2:1,v=w[l(t)?t.layer.blendMode:"normal"];for(this._passParameters.baseOpacity=P&&!j&&x<1?x:1,this._passParameters.opacity=B,h(I)?b=this._compositor.drawVectorData(this._passParameters,S,a,v,I,n,this.tileSize,b):m(I)?(this._compositor.drawRasterData(this._passParameters,S,a,v,I),O(I)&&(g=9728)):this._dataToTexture(I,u(r))&&(this._passParameters.texture=I.sourceLayerInfo.data.texture,this._passParameters.offset=I.offset,this._passParameters.scale=I.scale,this._compositor.drawImageData(this._passParameters,S,a,v));D.length>0&&D[D.length-1].end===T;){const e=D.pop();this._passParameters.baseOpacity=e.baseOpacity,this._passParameters.opacity=e.opacity,this._passParameters.offset=o,this._passParameters.scale=1,this._compositor.drawGroup(this._passParameters,e.output,a,w[e.blendMode])}k++}const I=e.renderData,B=f||y&&x<1,C=I.ensureTexture(a,B,t,()=>this._buildTexture(a,B,g));this._compositor.copyFBOToTexture(C),this._compositor.unbind(),I.setTextureReference(new T(C,t,z,y?1:x,0,1))}_openGroupsAtLayer(e,t,r,s,o,a,i){let n=!1;return i.forEach(i=>{i.start===e&&(i.output=s?1:o&&a?this.backgroundIsGrid?3:2:1,i.baseOpacity=a?r:1,D.push(i),this._compositor.openGroup(t),n=!0)}),n}_dataToTexture(e,t){if(_(e)){const r=e.sourceLayerInfo,s=!t;r.data=this._buildTexture(r.data,!0,s,1!==e.scale,e.tile.onCompressionFinished),e.tile.setMemoryDirty()}return f(e)}_buildTexture(e,t,r=9987,s=!1,o=()=>{}){return null==e?null:"number"==typeof e?this._buildTextureFromSize(e,t,r):this._buildTextureFromImage(e,t,r,s,o)}_buildTextureFromSize(e,t,r){const s=this._createTextureDescriptor(t,"boolean"==typeof r?9987:r);s.width=s.height=e;const o=this._buildTileTexture(s);return this._generateTextureMipmap(o),o}_buildTextureFromImage(e,t,r,s,o){const a=this._createTextureDescriptor(t,"boolean"==typeof r?9987:r);a.isOpaque=e.isOpaque,a.isOpaque&&(a.pixelFormat=6407);const{bitmap:i}=e;a.width=i.width,a.height=i.height;const n="boolean"==typeof r&&r,u=this._buildTileTexture(a,n,s,o,i);return this._generateTextureMipmap(u),u}_createTextureDescriptor(e,t){const r=new C;return r.wrapMode=33071,r.samplingMode=t,r.maxAnisotropy=this._maxAnisotropy,r.preMultiplyAlpha=!0,r.flipped=!0,r.hasMipmap=!0,e||(r.pixelFormat=6407),r}_generateTextureMipmap(e){const t=this._rctx,r=t.bindTexture(e.texture,B.TEXTURE_UNIT_FOR_UPDATES);e.generateMipmap(),t.bindTexture(r,B.TEXTURE_UNIT_FOR_UPDATES)}_buildTileTexture(e,t=!1,r=!1,s=()=>{},o){const a=this._cache.pop(b(e,!1))??this._cache.pop(b(e,!0));if(t&&=I(o,e),a)return a.retain(),t?a.texture.enableCompression({compressionTracker:this._compressionTracker,compressionCallback:s,preserveSourceBitmap:r}):a.texture.disableCompression(),a.texture.setData(o),a;e.compress=t?{compressionTracker:this._compressionTracker,compressionCallback:s,preserveSourceBitmap:r}:void 0;const i=new B(this._rctx,e,o);return new k(i,this._cache)}get test(){}}function M(e,t,o){F.layerIndex=t,F.vtlNeighborInfos.clear();const a=e.layerInfo[1][t];if(r(F.offset,0,0),F.tile=e,F.scale=1,F.sourceLod=e.lij,F.sourceLayerInfo=a,F.isVTLBackground=o,a.data)return o&&e.forEachLoadedNeighbor((r,s)=>{if(r.level!==e.level)return;const o=r.layerInfo[1][t];if(!x(o)||a.data===o.data)return;const i=F.vtlNeighborInfos.pushNew();i.offset=R[s],i.sourceLod=r.lij,i.sourceLayerInfo=o}),F;const i=a.upsampleInfo,n=i?.tile?.layerInfo[1][t];return n&&i.tile?(F.tile=i.tile,s(F.offset,i.offset),F.scale=i.scale,F.sourceLod=i.tile.lij,F.sourceLayerInfo=n,F):o?F:null}function O(e){const t=e.sourceLayerInfo.data;return!!t.source&&"nearest"===t.interpolation}function j(e){let t="normal"!==e.blendMode;return n(e.parent)&&(t=j(e.parent)||t),t}function S(e,t){n(e.parent)&&S(e.parent,t);const r=e.uid;if(null!=r&&""!==r){const s=U.get(r);s?s.start=t:U.set(r,new v(t,t,e.blendMode,e.opacity,1,1))}}class v{constructor(e,t,r,s,o,a){this.start=e,this.end=t,this.blendMode=r,this.opacity=s,this.output=o,this.baseOpacity=a}}const U=new Map,D=new Array,F=new g,z=a(0,0,1,1),R=new Array;function A(){F.sourceLayerInfo=null,F.tile=null,F.vtlNeighborInfos.prune()}R[0]=[0,-1],R[1]=[-1,-1],R[2]=[-1,0],R[3]=[-1,1],R[4]=[0,1],R[5]=[1,1],R[6]=[1,0],R[7]=[1,-1];export{v as GroupInfo,P as TileRenderer,A as cleanupTileRenderer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import n from"../../../core/Collection.js";import{isEarth as t}from"../../../geometry/ellipsoidUtils.js";import{isCGCS2000 as e}from"../../../geometry/support/spatialReferenceUtils.js";import{getTileMaxtrixSetFromActiveLayer as r}from"../../../layers/support/layerUtils.js";import{isRasterTile as o,isCreateBitmapResult as i,isTileTexture as u,isVectorTile as l}from"./TerrainData.js";import{t as f}from"../../../chunks/terrainUtilsPlanar.js";import{t as c}from"../../../chunks/terrainUtilsSpherical.js";const s={1:c,2:f};function a(n,t){n||console.warn("Terrain: "+t)}let p=!1,m=!1;function y(n){m=n,p=p||n}function
|
|
2
|
+
import n from"../../../core/Collection.js";import{isEarth as t}from"../../../geometry/ellipsoidUtils.js";import{isCGCS2000 as e}from"../../../geometry/support/spatialReferenceUtils.js";import{getTileMaxtrixSetFromActiveLayer as r}from"../../../layers/support/layerUtils.js";import{isRasterTile as o,isCreateBitmapResult as i,isTileTexture as u,isVectorTile as l}from"./TerrainData.js";import{t as f}from"../../../chunks/terrainUtilsPlanar.js";import{t as c}from"../../../chunks/terrainUtilsSpherical.js";const s={1:c,2:f};function a(n,t){n||console.warn("Terrain: "+t)}let p=!1,m=!1;function y(n){m=n,p=p||n}function I(n){p=n}function d(n,t){if(p&&!n){const n=(new Error).stack?.slice(5);throw console.warn("Terrain internal: "+(t??"")+" at "+n),new Error("Assertion failed"+(t?": "+t:""))}}function x(n){return"imagery-tile"===n?.type||"wcs"===n?.type}function E(n){return"imagery-tile-3d"===n?.type}function g(n){return"tile-3d"===n?.type}function w(n){return"vector-tile-3d"===n?.type}function L(n){return"wmts-3d"===n?.type}function T(n){return"elevation-3d"===n?.type}function h(n){return"group"===n?.type}function j(n){return n&&(g(n)||L(n)||E(n)||w(n))}function C(n){return n&&(g(n)||E(n)||w(n)||L(n))}function b(n){return C(n)||T(n)}function k(n){return o(n?.sourceLayerInfo?.data)}function v(n){return S(n?.sourceLayerInfo)||!!n?.isVTLBackground}function U(n){return u(n?.sourceLayerInfo?.data)}function V(n){const t=n?.sourceLayerInfo?.data;return i(t)}function S(n){return l(n?.data)}function F(n){return null!=n&&"release"in n&&n.release(),null}function M(n,t,e,r,o){return s[r].checkIfTileInfoSupportedForViewSR(n,e,t,o)}function D(n,t,e){let r=null,o=null;if("wmts"===n?.type){const i=R(n,t,e);r=i.tileInfo,o=i.fullExtent}else{o=x(n)?n.getCompatibleFullExtent(t):n.fullExtent;const i=2===e;if(x(n))r=n.getCompatibleTileInfo(t,o,i);else if("vector-tile"===n?.type){r=i&&!W(t)||A.force512VTL?n.tileInfo:n.tileInfo.getCompatibleForVTL(256)}else r=n.tileInfo}const i="tilemapCache"in n?n.tilemapCache?.effectiveMaxLOD:void 0;return null!=r&&null!=o&&null==M(r,o,t,e,i)?{tileInfo:r,fullExtent:o}:null}function R(t,e,o){const i=r(t);if(null!=i){if(!n.isCollection(i))return{tileInfo:i.tileInfo,fullExtent:i.fullExtent};{const n=i.find(n=>null==M(n.tileInfo,n.fullExtent,e,o));if(n)return{tileInfo:n.tileInfo,fullExtent:n.fullExtent}}}return{tileInfo:null,fullExtent:null}}function W(n){return n.isWGS84||n.isWebMercator||e(n)||!t(n)}const A={force512VTL:!1};function B(n){return"["+n[0]+","+n[1]+","+n[2]+"]"}function G(n){return"("+n[0]+","+n[1]+","+n[2]+")"}function O(n,t,e=Z){return Math.abs(n-t)<e}function P(n){return 1===n?5:7===n?3:5===n?1:7}function q(n){return 0===n?4:2===n?6:4===n?0:2}function z(n){return 7===n||5===n}function H(n){return 7===n||1===n}function J(n){return 7===n||6===n||5===n}function K(n){return 1===n||2===n||3===n}function N(n){return 3===n||4===n||5===n}function Q(n){return 1===n||0===n||7===n}const X=[0,2,4,6],Y=[1,3,5,7],Z=1e-5;export{O as almostEquals,M as checkIfTileInfoSupportedForView,I as enableInternalTerrainChecks,p as enableTerrainInternalChecks,y as enableTerrainWaterproofChecks,m as enableWaterproofTests,Z as eps,R as getTileInfoAndExtentFromWMTSLayer,D as getTiledLayerInfo,d as internalAssert,j as isBlendableLayerView,K as isEast,T as isElevationLayerView,h as isGroupLayerView,V as isImageSourceRenderInfo,E as isImageryTileLayerView,k as isImageryTileRenderInfo,C as isMapTileLayerView,Q as isNorth,H as isNorthCorner,x as isProjectableRasterLayer,N as isSouth,b as isSurfaceLayerView,U as isTextureTileRenderInfo,g as isTileLayerView,w as isVectorTileLayerView,S as isVectorTilePerLayerInfo,v as isVectorTileRenderInfo,L as isWMTSLayerView,J as isWest,z as isWestCorner,B as lij2s,Y as neighborCornerIndices,X as neighborEdgeIndices,P as oppositeCorner,q as oppositeEdge,F as releaseTerrainData,A as test,G as v32s,W as vtlAssumes256PixelSizeAsDefault,a as weakAssert};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{NoParameters as t}from"../../../../webgl/NoParameters.js";class r extends t{constructor(){super(...arguments),this._dirty=!0}_setDirty(){this._dirty=!0}_setClean(){if(this._dirty=!1,null!=this._parameterBlocks)for(const t of this._parameterBlocks)this[t]._setClean()}get dirty(){return this._dirty||this._checkParameterBlocksDirty()}_checkParameterBlocksDirty(){if(null==this._parameterBlocks)return!1;for(const t of this._parameterBlocks)if(this[t].dirty)return!0;return!1}}
|
|
2
|
+
import{NoParameters as t}from"../../../../webgl/NoParameters.js";class r extends t{constructor(){super(...arguments),this._dirty=!0}_setDirty(){this._dirty=!0}_setClean(){if(this._dirty=!1,null!=this._parameterBlocks)for(const t of this._parameterBlocks)this[t]._setClean()}get dirty(){return this._dirty||this._checkParameterBlocksDirty()}_checkParameterBlocksDirty(){if(null==this._parameterBlocks)return!1;for(const t of this._parameterBlocks)if(this[t].dirty)return!0;return!1}}export{r as MaterialBase};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{create as
|
|
2
|
+
import{create as t}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{RenderPass as e}from"./RenderPass.js";import{VertexNormalPassParameters as s}from"../shaderLibrary/attributes/VertexNormal.glsl.js";class i{constructor(t,s){const{rctx:i}=t.renderContext,{techniques:r}=t;this.opaque=new e(s,i,r),this.transparent=new e(s,i,r,1),this.integratedMesh=new e(s,i,r),this.transparentIntegratedMesh=new e(s,i,r),this.occludedGround=new e(s,i,r),this.shadowMap=new e(s,i,r),this.highlight=new e(s,i,r),this.highlightIntegratedMesh=new e(s,i,r),this.highlightShadowMap=new e(s,i,r),this.viewshedShadowMap=new e(s,i,r),this.defaultShadowMap=new e(s,i,r)}}class r extends s{constructor(){super(...arguments),this.slicePlaneLocalOrigin=t(),this.origin=this.slicePlaneLocalOrigin}}class n extends r{constructor(){super(...arguments),this.identifier=0,this.transparent=!1,this.occludedGround=!1}}class h extends r{constructor(){super(...arguments),this.identifier=1}}class a extends r{constructor(){super(...arguments),this.identifier=2}}class o extends r{constructor(){super(...arguments),this.identifier=3}}export{i as AllRenderPasses,a as HighlightPassParameters,n as MaterialPassParameters,r as PassParameters,h as ShadowMapPassParameters,o as ViewshedShadowMapPassParameters};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{fromValues as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{TextureBackedBufferModule as t}from"../TextureBackedBuffer.glsl.js";import{PathEvaluate as r}from"./PathEvaluate.glsl.js";import{PiUtils as o}from"../shading/PiUtils.glsl.js";import{Float2PassUniform as i}from"../../shaderModules/Float2PassUniform.js";import{Float3PassUniform as a}from"../../shaderModules/Float3PassUniform.js";import{Float4PassUniform as l}from"../../shaderModules/Float4PassUniform.js";import{Float4sPassUniform as s}from"../../shaderModules/Float4sPassUniform.js";import{FloatPassUniform as
|
|
2
|
+
import{fromValues as e}from"../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{TextureBackedBufferModule as t}from"../TextureBackedBuffer.glsl.js";import{PathEvaluate as r}from"./PathEvaluate.glsl.js";import{PiUtils as o}from"../shading/PiUtils.glsl.js";import{Float2PassUniform as i}from"../../shaderModules/Float2PassUniform.js";import{Float3PassUniform as a}from"../../shaderModules/Float3PassUniform.js";import{Float4PassUniform as l}from"../../shaderModules/Float4PassUniform.js";import{Float4sPassUniform as s}from"../../shaderModules/Float4sPassUniform.js";import{FloatPassUniform as c}from"../../shaderModules/FloatPassUniform.js";import{FloatsPassUniform as v}from"../../shaderModules/FloatsPassUniform.js";import{glsl as u,If as n}from"../../shaderModules/glsl.js";import{Texture2DUintDrawUniform as d}from"../../shaderModules/Texture2DUintDrawUniform.js";import{circleProfiles as f}from"../../../lib/PathProfile.js";import{getTextureLayout as p}from"../../../materials/PathLayouts.js";import{VisualVariablePassParameters as x,vvColorNumber as m}from"../../../materials/VisualVariablePassParameters.js";const g=8;function h(e,f){const{vertex:x}=e,h=new d("componentTextureBuffer",e=>e.textureBuffer),y=new t({layout:p(f),itemIndexExpression:"getFrameIndex()",bufferUniform:h}).createBuilder(e,f);x.uniforms.add(new i("size",e=>e.size));const{hasVVSize:b,hasVVColor:V,hasVVOpacity:z,hasPathSize:O,hasPathColor:C,hasPathOpacity:S}=f;b?(x.uniforms.add(new a("vvSizeMinSize",e=>e.vvSize.minSize),new a("vvSizeMaxSize",e=>e.vvSize.maxSize),new a("vvSizeOffset",e=>e.vvSize.offset),new a("vvSizeFactor",e=>e.vvSize.factor),new a("vvSizeFallback",e=>e.vvSize.fallback)),x.code.add(u`
|
|
3
3
|
vec2 getSize() {
|
|
4
4
|
float value = ${y.getTextureAttribute("sizeFeatureAttribute")};
|
|
5
5
|
if (isnan(value)) {
|
|
@@ -7,9 +7,13 @@ import{fromValues as e}from"../../../../../../core/libs/gl-matrix-2/factories/ve
|
|
|
7
7
|
}
|
|
8
8
|
return size * clamp(vvSizeOffset + value * vvSizeFactor, vvSizeMinSize, vvSizeMaxSize).xz;
|
|
9
9
|
}
|
|
10
|
-
`)):
|
|
10
|
+
`)):O?x.code.add(u`
|
|
11
|
+
vec2 getSize(){
|
|
12
|
+
return ${y.getTextureAttribute("size")};
|
|
13
|
+
}
|
|
14
|
+
`):x.code.add(u`vec2 getSize(){
|
|
11
15
|
return size;
|
|
12
|
-
}`),z?(
|
|
16
|
+
}`),z?(x.constants.add("vvOpacityNumber","int",g),x.uniforms.add(new v("vvOpacityValues",g,e=>e.vvOpacity.values),new v("vvOpacityOpacities",g,e=>e.vvOpacity.opacityValues),new c("vvOpacityFallback",e=>e.vvOpacity.fallback,{supportsNaN:!0})),x.code.add(u`
|
|
13
17
|
vec4 applyOpacity(vec4 color) {
|
|
14
18
|
// if we encounter NaN in the color it means the color is in the fallback case where the symbol color
|
|
15
19
|
// is not defined and there is no valid color visual variable override. In this case just return a fully
|
|
@@ -22,7 +26,7 @@ return size;
|
|
|
22
26
|
|
|
23
27
|
if (isnan(value)) {
|
|
24
28
|
// If there is a color vv then it will already have taken care of applying the fallback
|
|
25
|
-
return ${
|
|
29
|
+
return ${n(V,"color","vec4(color.rgb, vvOpacityFallback)")};
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
if (value <= vvOpacityValues[0]) {
|
|
@@ -36,11 +40,15 @@ return size;
|
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
|
|
39
|
-
return vec4(
|
|
43
|
+
return vec4(color.rgb, vvOpacityOpacities[vvOpacityNumber - 1]);
|
|
44
|
+
}
|
|
45
|
+
`)):S?x.code.add(u`
|
|
46
|
+
vec4 applyOpacity(vec4 color){
|
|
47
|
+
return vec4(color.rgb, ${y.getTextureAttribute("opacity")});
|
|
40
48
|
}
|
|
41
|
-
`)
|
|
49
|
+
`):x.code.add(u`vec4 applyOpacity(vec4 color){
|
|
42
50
|
return color;
|
|
43
|
-
}`),
|
|
51
|
+
}`),V?(x.constants.add("vvColorNumber","int",m),x.uniforms.add(new v("vvColorValues",m,e=>e.vvColor.values),new s("vvColorColors",m,e=>e.vvColor.colors),new l("vvColorFallback",e=>e.vvColor.fallback)),x.code.add(u`
|
|
44
52
|
vec4 getColor() {
|
|
45
53
|
float value = ${y.getTextureAttribute("colorFeatureAttribute")};
|
|
46
54
|
if (isnan(value)) {
|
|
@@ -60,9 +68,13 @@ return color;
|
|
|
60
68
|
|
|
61
69
|
return applyOpacity(vvColorColors[vvColorNumber - 1]);
|
|
62
70
|
}
|
|
63
|
-
`)):
|
|
71
|
+
`)):C?x.code.add(u`
|
|
72
|
+
vec4 getColor(){
|
|
73
|
+
return applyOpacity(${y.getTextureAttribute("color")});
|
|
74
|
+
}
|
|
75
|
+
`):x.code.add(u`vec4 getColor(){
|
|
64
76
|
return applyOpacity(vec4(1, 1, 1, 1));
|
|
65
|
-
}`),
|
|
77
|
+
}`),x.include(o),x.code.add(u`
|
|
66
78
|
vec3 decompressAxis(vec2 axis) {
|
|
67
79
|
float z = 1.0 - abs(axis.x) - abs(axis.y);
|
|
68
80
|
return normalize(vec3(axis + sign(axis) * min(z, 0.0), z));
|
|
@@ -83,25 +95,29 @@ return applyOpacity(vec4(1, 1, 1, 1));
|
|
|
83
95
|
vec3 getFrameRight() {
|
|
84
96
|
return decompressAxis(${y.getTextureAttribute("profileRight")});
|
|
85
97
|
}
|
|
86
|
-
`),
|
|
98
|
+
`),11===f.output&&x.code.add(u`
|
|
99
|
+
vec4 getOlidColor() {
|
|
100
|
+
return ${y.getTextureAttribute("olidColor")};
|
|
101
|
+
}
|
|
102
|
+
`),x.code.add(u`
|
|
87
103
|
vec3 getFrameRotationUp() {
|
|
88
|
-
return ${1===
|
|
104
|
+
return ${1===f.upVectorAlignment?u`decompressAxis(${y.getTextureAttribute("pathRotationUp")})`:u`getFrameUp()`};
|
|
89
105
|
}
|
|
90
|
-
`),e.include(r,
|
|
106
|
+
`),e.include(r,f),x.code.add(u`
|
|
91
107
|
vec3 calculateVPos(ExtrudedVertex extrudedVertex) {
|
|
92
108
|
vec2 size = getSize();
|
|
93
109
|
vec3 origin = ${y.getTextureAttribute("position")};
|
|
94
110
|
vec3 right = extrudedVertex.frame.right;
|
|
95
111
|
vec3 up = extrudedVertex.frame.up;
|
|
96
112
|
vec2 profileVertex = extrudedVertex.profileVertex * size;
|
|
97
|
-
`),
|
|
113
|
+
`),x.code.add(u`if(extrudedVertex.isCap) {
|
|
98
114
|
float positionOffsetAlongProfilePlaneNormal = extrudedVertex.capPositionOffset * size[0];
|
|
99
115
|
vec3 forward = cross(up, right);
|
|
100
116
|
vec3 offset = right * profileVertex.x + up * profileVertex.y + forward * positionOffsetAlongProfilePlaneNormal;
|
|
101
117
|
return origin + offset;
|
|
102
118
|
}
|
|
103
119
|
vec2 rotationRight = extrudedVertex.rotationRight;
|
|
104
|
-
float maxDistance = extrudedVertex.maxDistance;`),
|
|
120
|
+
float maxDistance = extrudedVertex.maxDistance;`),x.code.add(u`rotationRight *= size;
|
|
105
121
|
rotationRight = length(rotationRight) > 0.0 ? normalize(rotationRight) : vec2(0, 0);
|
|
106
122
|
float rx = dot(profileVertex, rotationRight);
|
|
107
123
|
if (abs(rx) > maxDistance) {
|
|
@@ -111,7 +127,7 @@ profileVertex = rotationRight * maxDistance * sign(rx) + rotationUp * ry;
|
|
|
111
127
|
}
|
|
112
128
|
vec3 offset = right * profileVertex.x + up * profileVertex.y;
|
|
113
129
|
return origin + offset;
|
|
114
|
-
}`),
|
|
130
|
+
}`),x.code.add(u`vec3 localNormal(ExtrudedVertex extrudedVertex) {
|
|
115
131
|
vec3 right = extrudedVertex.frame.right;
|
|
116
132
|
vec3 up = extrudedVertex.frame.up;
|
|
117
133
|
vec2 profileNormal = extrudedVertex.profileNormal;
|
|
@@ -121,4 +137,4 @@ vec3 forward = cross(up, right);
|
|
|
121
137
|
normal += forward * extrudedVertex.capNormalOffset;
|
|
122
138
|
}
|
|
123
139
|
return normal;
|
|
124
|
-
}`)}class y extends
|
|
140
|
+
}`)}class y extends x{constructor(){super(...arguments),this.numJoinSubdivisions=1,this.size=e(1,1),this.cutoffAngle=0,this.profile=f.center,this.hasPathSize=!1,this.hasPathColor=!1,this.hasPathOpacity=!1}}export{h as PathVertexPosition,y as PathVertexPositionPassParameters};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{clamp as e}from"../../../../../../core/mathUtils.js";import{isColor as s}from"../ShaderOutput.js";import{VertexTextureCoordinates as i}from"../attributes/VertexTextureCoordinates.glsl.js";import{Gamma as o}from"../shading/Gamma.glsl.js";import{Float3DrawUniform as r}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as m}from"../../shaderModules/Float3PassUniform.js";import{FloatDrawUniform as t}from"../../shaderModules/FloatDrawUniform.js";import{FloatPassUniform as n}from"../../shaderModules/FloatPassUniform.js";import{If as a,glsl as v}from"../../shaderModules/glsl.js";import{Texture2DDrawUniform as l}from"../../shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as u}from"../../shaderModules/Texture2DPassUniform.js";import{
|
|
2
|
+
import{clamp as e}from"../../../../../../core/mathUtils.js";import{isColor as s}from"../ShaderOutput.js";import{VertexTextureCoordinates as i}from"../attributes/VertexTextureCoordinates.glsl.js";import{Gamma as o}from"../shading/Gamma.glsl.js";import{Float3DrawUniform as r}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as m}from"../../shaderModules/Float3PassUniform.js";import{FloatDrawUniform as t}from"../../shaderModules/FloatDrawUniform.js";import{FloatPassUniform as n}from"../../shaderModules/FloatPassUniform.js";import{If as a,glsl as v}from"../../shaderModules/glsl.js";import{Texture2DDrawUniform as l}from"../../shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as u}from"../../shaderModules/Texture2DPassUniform.js";import{floatBlendReductionFactor as f}from"../../../shaders/oitResolution.glsl.js";const c=1,d=1;function g(c,g){if(!s(g.output))return;c.fragment.include(o);const{emissionSource:x,hasEmissiveTextureTransform:p,bindType:h}=g,j=3===x||4===x||5===x;j&&(c.include(i,g),c.fragment.uniforms.add(1===h?new u("texEmission",e=>e.textureEmissive):new l("texEmission",e=>e.textureEmissive)));const T=2===x||j;T&&c.fragment.uniforms.add(1===h?new m("emissiveBaseColor",e=>e.emissiveBaseColor):new r("emissiveBaseColor",e=>e.emissiveBaseColor));const C=0!==x;if(C&&!(7===x||6===x||4===x||5===x)){const s=s=>e(s??0,0,f);c.fragment.uniforms.add(1===h?new n("emissiveStrength",e=>s(e.emissiveStrength)):new t("emissiveStrength",e=>s(e.emissiveStrength)))}const b=7===x,F=5===x,S=1===x||6===x||b;c.fragment.code.add(v`
|
|
3
3
|
vec4 getEmissions(vec3 symbolColor) {
|
|
4
4
|
vec4 emissions = ${T?F?"emissiveSource == 0 ? vec4(emissiveBaseColor, 1.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(emissiveBaseColor, 1.0)":S?b?"emissiveSource == 0 ? vec4(0.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(linearizeGamma(symbolColor), 1.0)":"vec4(0.0)"};
|
|
5
5
|
${a(j,`${a(F,`if(emissiveSource == 0) {\n vec4 emissiveFromTex = textureLookup(texEmission, ${p?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);\n }`,`vec4 emissiveFromTex = textureLookup(texEmission, ${p?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);`)}\n emissions.a = emissions.rgb == vec3(0.0) ? 0.0: emissions.a;`)}
|
package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{invert as e,translate as r}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ReadDepth as a}from"../output/ReadDepth.glsl.js";import{calculateUVZShadowPass as o
|
|
2
|
+
import{invert as e,translate as r}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ReadDepth as a}from"../output/ReadDepth.glsl.js";import{calculateUVZShadowPass as o}from"./calculateUVZShadow.glsl.js";import{CameraSpace as i}from"../util/CameraSpace.glsl.js";import{glsl as l}from"../../shaderModules/glsl.js";import{Matrix4BindUniform as c}from"../../shaderModules/Matrix4BindUniform.js";function p(e){e.fragment.include(o),n(e)}function n(t){t.fragment.include(a),t.include(i),t.fragment.uniforms.add(new c("inverseViewMatrix",({camera:t})=>e(d,r(d,t.viewMatrix,t.center)))).code.add(l`vec3 calculateUVZShadowAndPixelPosFromDepth(
|
|
3
3
|
in vec2 _uv,
|
|
4
4
|
ivec2 shadowMapSize,
|
|
5
5
|
in sampler2D _depthMap,
|
|
@@ -22,4 +22,4 @@ in sampler2D _depthMap
|
|
|
22
22
|
) {
|
|
23
23
|
vec4 currentPixelPos;
|
|
24
24
|
return calculateUVZShadowAndPixelPosFromDepth(_uv, shadowMapSize, _depthMap, currentPixelPos);
|
|
25
|
-
}`)}const
|
|
25
|
+
}`)}const d=t();export{p as calculateUVZShadowFromDepthPass};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../../../core/Accessor.js";
|
|
2
|
+
import e from"../../../../core/Accessor.js";class r extends e{precompile(e){return!!this.acquireTechniques(e)}get usedMemory(){return 0}get renderOccludedFlags(){return 1}get testsTransparentRenderOrder(){return 0}get isDecoration(){return!1}get readyToRun(){return!1}get numGeometries(){return 0}get hasOccludees(){return!1}get emissions(){return 0}forEachGeometry(e){}}class t extends r{}class s extends r{}export{s as AsyncRenderPlugin,t as SyncRenderPlugin};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{IDENTITY as t,clone as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{transformMat4 as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{getContinuousIndexArray as s}from"../../../../geometry/support/Indices.js";import{Attribute as n}from"./Attribute.js";import{cloneAttributeData as o}from"./AttributeArray.js";import{BoundingInfo as r}from"./BoundingInfo.js";import{GeometryBaseInstance as h}from"./GeometryBaseInstance.js";import{computeAttachmentOriginTriangles as
|
|
2
|
+
import{IDENTITY as t,clone as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{transformMat4 as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{getContinuousIndexArray as s}from"../../../../geometry/support/Indices.js";import{Attribute as n}from"./Attribute.js";import{cloneAttributeData as o}from"./AttributeArray.js";import{BoundingInfo as r}from"./BoundingInfo.js";import{GeometryBaseInstance as h}from"./GeometryBaseInstance.js";import{computeAttachmentOriginTriangles as a,computeAttachmentOriginLines as u,computeAttachmentOriginPoints as g}from"./geometryDataUtils.js";import{Object3DHighlightStateID as l}from"./Object3DStateID.js";import{assert as c}from"./Util.js";import{webglDebugEnabled as d}from"../../../webgl/checkWebGLError.js";class m extends h{constructor(t,i,e=null,s=0,n=null,o=-1,r,h){super(i),this.material=t,this.mapPositions=e,this.type=s,this.olidColor=n,this.edgeIndicesLength=o,this.baseGeometry=r,this.drawIndices=h,this._vertexPositionIndicesCache=void 0,this._highlights=null,this._highlightOptionsCounts=null,this.visible=!0,this._boundingInfo=null,c((t?.useIndexing??!1)===(null!=h),"Material index requirement and Geometry must match");const a=this.positionAttribute;null!=a&&this.edgeIndicesLength<0&&(this.edgeIndicesLength=a.indices.length)}instantiate(t={}){const i=new m(t.material||this.material,[],this.mapPositions,this.type,this.olidColor,this.edgeIndicesLength,this.baseGeometry,this.drawIndices);return this._attributes.forEach((t,e)=>{t.exclusive=!1,i._attributes.set(e,t)}),i._boundingInfo=this._boundingInfo,i.transformation=t.transformation||this.transformation,i}getMutableAttribute(t){let i=this._attributes.get(t);return i&&!i.exclusive&&(i={...i,exclusive:!0,data:o(i.data)},this._attributes.set(t,i)),i}setAttributeData(t,i){const e=this._attributes.get(t);e?this._attributes.set(t,{...e,exclusive:!0,data:i}):d()&&console.warn(`Setting undefined attribute ${t} data`)}get primitivePositionIndices(){return void 0!==this._vertexPositionIndicesCache||(this._vertexPositionIndicesCache=this._computePrimitivePositionIndices()),this._vertexPositionIndicesCache}_computePrimitivePositionIndices(){const{drawIndices:t}=this,i=this.positionAttribute;if(null!=t&&null!=i){const e=new Array;for(const s of t)e.push(i.indices[s]);return e}return i?.indices??null}get positionAttribute(){return this.attributes.get("position")??this.baseGeometry?.attributes.get("position")}get indexCount(){const t=this.drawIndices??this.positionAttribute?.indices;return t?.length??0}get faceCount(){return this.indexCount/3}get boundingInfo(){return this._boundingInfo??=this._calculateBoundingInfo(),this._boundingInfo}computeAttachmentOrigin(t){return!!this._calculateAttachmentOrigin(t)&&(null!=this._transformation&&e(t,t,this._transformation),!0)}_calculateAttachmentOrigin(t){return 0===this.type?this._computeAttachmentOriginTriangles(t):2===this.type?this._computeAttachmentOriginLines(t):this._computeAttachmentOriginPoints(t)}_computeAttachmentOriginTriangles(t){const i=this.positionAttribute,e=this.primitivePositionIndices;return a(t,i,e)}_computeAttachmentOriginLines(t){const i=this.positionAttribute,e=this.primitivePositionIndices;return u(t,i,p(this.material.parameters,i),e)}_computeAttachmentOriginPoints(t){const i=this.positionAttribute,e=this.primitivePositionIndices;return g(t,i,e)}invalidateBoundingInfo(){this._boundingInfo=null,this._vertexPositionIndicesCache=void 0}_calculateBoundingInfo(){const t=this.positionAttribute,i=this.primitivePositionIndices;if(!t||!i||0===i.length)return null;const e=i===t.indices?t:new n(t.data,i,t.size,!1,t.stride),o=0===this.type?3:1;c(i.length%o===0,"Indexing error: "+i.length+" not divisible by "+o);const h=s(i.length/o);return new r(h,o,e)}get transformation(){return this._transformation??t}set transformation(e){this._transformation=e&&e!==t?i(e):null}get highlights(){return this._highlights||_}get hasHighlights(){return(this._highlightOptionsCounts?.size??0)>0}foreachHighlightOptions(t){this._highlightOptionsCounts?.forEach((i,e)=>t(e))}allocateIdAndHighlight(t){const i=new l(t);return this.addHighlight(i)}addHighlight(t){this._ensureHighlights().add(t);const{highlightName:i}=t,e=(this._highlightOptionsCounts?.get(i)??0)+1;return this._ensureHighlightOptionsCounts().set(i,e),t}_ensureHighlights(){let t=this._highlights;return t||(t=new Set,this._highlights=t),t}_ensureHighlightOptionsCounts(){let t=this._highlightOptionsCounts;return t||(t=new Map,this._highlightOptionsCounts=t),t}removeHighlight(t){if(this._highlights?.delete(t)){const{highlightName:i}=t,e=this._highlightOptionsCounts?.get(i)??0;e<=1?this._highlightOptionsCounts?.delete(i):this._ensureHighlightOptionsCounts().set(i,e-1)}}}function p(t,i){return!(!("isClosed"in t)||!t.isClosed)&&i.indices.length>2}const _=new Set;export{m as Geometry};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"../../../../core/has.js";import{generateUID as
|
|
2
|
+
import"../../../../core/has.js";import{generateUID as i}from"../../../../core/uid.js";import{getMetersPerUnitForSR as t}from"../../../../core/units.js";import{subtract as r,distance as s}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as o}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{projectBuffer as n}from"../../../../geometry/projection/projectBuffer.js";import{Attribute as a}from"./Attribute.js";import{Geometry as h}from"./Geometry.js";import{fromValues as c}from"./LocalOriginFactory.js";import{Object3D as g}from"./Object3D.js";import{gridLocalOriginFactory as m}from"./testUtils.js";import{WebGLLayer as _}from"./WebGLLayer.js";import{RibbonLineMaterial as l}from"../materials/RibbonLineMaterial.js";class f{constructor(r){this._originSR=r,this._rootOriginId="root/"+i(),this._origins=new Map,this._objects=new Map,this._gridSize=5e5,this._originSR?.isGeographic&&(this._gridSize/=t(this._originSR)),this._baselineDistance=.5*this._gridSize;const s=this._baselineDistance*d;this._baselineObjectSize=s/p}getOrigin(i){const t=this._origins.get(this._rootOriginId);if(null==t){const t=m.rootOrigin;if(null!=t)return this._origins.set(this._rootOriginId,c(t[0],t[1],t[2],this._rootOriginId)),this.getOrigin(i);const r=c(i[0],i[1],i[2],this._rootOriginId);return this._origins.set(this._rootOriginId,r),r}const s=this._gridSize,e=Math.round(i[0]/s),o=Math.round(i[1]/s),n=Math.round(i[2]/s),a=`${e}/${o}/${n}`;let h=this._origins.get(a);const g=.5*s;if(r(b,i,t.vec3),b[0]=Math.abs(b[0]),b[1]=Math.abs(b[1]),b[2]=Math.abs(b[2]),b[0]<g&&b[1]<g&&b[2]<g){if(h){const t=Math.max(...b);r(b,i,h.vec3),b[0]=Math.abs(b[0]),b[1]=Math.abs(b[1]),b[2]=Math.abs(b[2]);if(Math.max(...b)<t)return h}return t}return h||(h=c(e*s,o*s,n*s,a),this._origins.set(a,h)),h}needsOriginUpdate(i,t,r){const e=s(i.vec3,t),o=Math.max(1,r/this._baselineObjectSize);return e>this._baselineDistance*o}_drawOriginBox(i,t=o(1,1,0,1)){const r=window.view,s=r.stage,e=t.toString();if(!this._objects.has(e)){this._material=new l({width:2,color:t},!1);const i=new _(s,{pickable:!1}),r=new g({castShadow:!1});i.add(r),this._objects.set(e,r)}const c=this._objects.get(e),m=[0,1,5,4,0,2,1,7,6,2,0,1,3,7,5,4,6,2,0],f=m.length,b=new Array(3*f),d=new Array,p=.5*this._gridSize;for(let o=0;o<f;o++)b[3*o]=i[0]+(1&m[o]?p:-p),b[3*o+1]=i[1]+(2&m[o]?p:-p),b[3*o+2]=i[2]+(4&m[o]?p:-p),o>0&&d.push(o-1,o);n(b,this._originSR,0,b,r.renderSpatialReference,0,f);const j=new h(this._material,[["position",new a(b,d,3,!0)]],null,2);c.addGeometry(j)}get test(){}}const b=e(),d=2**-23,p=.05;export{f as GridLocalOriginFactory};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{add as t,transformMat4 as e,copy as s}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{intersectsSphere as r}from"../../../../geometry/support/frustum.js";import{create as n,fromPoints as o,copy as a}from"../../../../geometry/support/ray.js";import l from"../../webgl/RenderCamera.js";import{HUDTarget as c,HUDIntersectorResult as h}from"./HUDIntersectorResult.js";import{IntersectorOptions as f}from"./IntersectorInterfaces.js";import{IntersectorResult as m,compareOrderedIntersectionHits as u}from"./IntersectorResult.js";import{ObjectTarget as d}from"./ObjectTarget.js";import{PolygonIntersectionResults as y}from"./PolygonIntersectionResults.js";import{IntersectorTransform as g,getVerticalOffsetObject3D as _}from"./verticalOffsetUtils.js";const p=1e-5;class v{constructor(t){this.options=new f,this._results=new b,this.polygonResults=new y,this.transform=new g,this.camera=new l,this.screenPolygonPrimitiveProcessor=j,this.tolerance=p,this.verticalOffset=null,this._ray=n(),this._rayEnd=i(),this._rayBeginTransformed=i(),this._rayEndTransformed=i(),this.viewingMode=t??1}get results(){return this._results}get ray(){return this._ray}get rayBegin(){return this._ray.origin}get rayEnd(){return this._rayEnd}reset(t,e,s){this.resetWithRay(o(t,e,this._ray),s)}resetWithRay(e,s){this.camera=s,e!==this._ray&&a(e,this._ray),0!==this.options.verticalOffset?2===this.viewingMode?this._ray.origin[2]-=this.options.verticalOffset:this.verticalOffset=this.options.verticalOffset:this.verticalOffset=null,t(this._rayEnd,this._ray.origin,this._ray.direction),this._results.init(this._ray),this.polygonResults.init()}intersect(t=null,e,s,i,r){this.point=e,this.filterPredicate=i,this.tolerance=s??p;const n=_(this.verticalOffset);if(t&&t.length>0){const e=r?t=>{r(t)&&this.intersectObject(t)}:t=>{this.intersectObject(t)};for(const s of t){const t=s.getSpatialQueryAccelerator?.();null!=t?(null!=n?t.forEachAlongRayWithVerticalOffset(this._ray.origin,this._ray.direction,e,n):t.forEachAlongRay(this._ray.origin,this._ray.direction,e),this.options.selectionMode&&this.options.hud&&t.forEachDegenerateObject(e)):s.objects.forEach(t=>e(t))}}this.sortResults()}*intersectScreenPolygon(t=null,e){if(this.verticalOffset=null,t?.length)for(const s of t){const t=s.getSpatialQueryAccelerator?.();if(null!=t)for(const s of t.intersectingFrustumValues(e.broadPhaseFrustum,t=>t.visible))yield*this._intersectScreenPolygonObject(s,e);else for(const i of s.objects.values())i.visible&&r(e.broadPhaseFrustum,i.boundingVolumeWorldSpace.bounds)&&(yield*this._intersectScreenPolygonObject(i,e))}}*_intersectScreenPolygonObject(t,e){const s=t.geometries;if(!s)return;const i=t.effectiveTransformation;for(const r of s){if(!r.visible)continue;const{material:s,id:n}=r;if(!s.visible||!s.intersectScreenPolygon)continue;this.transform.setAndInvalidateLazyTransforms(i,r.transformation);const o=s.intersectScreenPolygon(r,this.transform.transform,this,e);o?.valid&&this._handleObjectScreenPolygonIntersection(new d(t,n,o.primitiveIndex),o.distance,o.point),yield}}intersectObject(t){const s=t.geometries;if(!s)return;const i=t.effectiveTransformation,r=_(this.verticalOffset);for(const n of s){if(!n.visible)continue;const{material:s,id:o}=n;if(!s.visible)continue;this.transform.setAndInvalidateLazyTransforms(i,n.transformation),e(this._rayBeginTransformed,this.rayBegin,this.transform.inverse),e(this._rayEndTransformed,this.rayEnd,this.transform.inverse);const a=this.transform.transform;null!=r&&(r.objectTransform=this.transform),s.intersectRay(n,this.transform.transform,this,this._rayBeginTransformed,this._rayEndTransformed,(e,s,i,r)=>this.handleObjectIntersection({object:t,geometryId:o,primitiveIndex:i},e,s,a,r))}}handleObjectIntersection(t,e,s,i,r){if(e<0||null!=this.filterPredicate&&!this.filterPredicate(this._ray.origin,this._rayEnd,e))return;const n=r?this._results.hud:this._results;t=r?new c(t,r):t;const o=r?i=>i.set(1,t,e,s):r=>r.set(4,t,e,s,i);if((null==n.min.distance||e<n.min.distance)&&o(n.min),0!==this.options.store&&(null==n.max.distance||e>n.max.distance)&&o(n.max),2===this.options.store)if(r){const t=new h(this._ray);o(t),this._results.hud.all.push(t)}else{const t=new m(this._ray);o(t),this._results.all.push(t)}}_handleObjectScreenPolygonIntersection(t,e,s,i){e<0||(null==this.filterPredicate||null!=s&&this.filterPredicate(this.camera.eye,s,1))&&this.polygonResults.add(i?1:4,i?new c(t,i):t,e)}sortResults(t=this._results.all){t.sort(u)}}class b{constructor(){this.min=new m(n()),this.max=new m(n()),this.hud={min:new h(n()),max:new h(n()),all:new Array},this.ground=new m(n()),this.all=[]}init(t){this.min.init(t),this.max.init(t),this.ground.init(t),this.all.length=0,this.hud.min.init(t),this.hud.max.init(t),this.hud.all.length=0}}const j={*processTriangle(t,e){t.list=e,t.count=e.length,yield t},*processLineSegment(t,e,i){s(t[0],e),s(t[1],i),yield t}};export{v as Intersector,j as defaultScreenPolygonPrimitiveProcessor,p as defaultTolerance};
|
|
2
|
+
import{add as t,transformMat4 as e,copy as s}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{intersectsSphere as r}from"../../../../geometry/support/frustum.js";import{create as n,fromPoints as o,copy as a}from"../../../../geometry/support/ray.js";import l from"../../webgl/RenderCamera.js";import{HUDTarget as c,HUDIntersectorResult as h}from"./HUDIntersectorResult.js";import{IntersectorOptions as f}from"./IntersectorInterfaces.js";import{IntersectorResult as m,compareOrderedIntersectionHits as u}from"./IntersectorResult.js";import{ObjectTarget as d}from"./ObjectTarget.js";import{PolygonIntersectionResults as y}from"./PolygonIntersectionResults.js";import{IntersectorTransform as g,getVerticalOffsetObject3D as _}from"./verticalOffsetUtils.js";const p=1e-5;class v{constructor(t){this.options=new f,this._results=new b,this.polygonResults=new y,this.transform=new g,this.camera=new l,this.screenPolygonPrimitiveProcessor=j,this.tolerance=p,this.verticalOffset=null,this._ray=n(),this._rayEnd=i(),this._rayBeginTransformed=i(),this._rayEndTransformed=i(),this.viewingMode=t??1}get results(){return this._results}get ray(){return this._ray}get rayBegin(){return this._ray.origin}get rayEnd(){return this._rayEnd}reset(t,e,s){this.resetWithRay(o(t,e,this._ray),s)}resetWithRay(e,s){this.camera=s,e!==this._ray&&a(e,this._ray),0!==this.options.verticalOffset?2===this.viewingMode?this._ray.origin[2]-=this.options.verticalOffset:this.verticalOffset=this.options.verticalOffset:this.verticalOffset=null,t(this._rayEnd,this._ray.origin,this._ray.direction),this._results.init(this._ray),this.polygonResults.init()}intersect(t=null,e,s,i,r){this.point=e,this.filterPredicate=i,this.tolerance=s??p;const n=_(this.verticalOffset);if(t&&t.length>0){const e=r?t=>{r(t)&&this.intersectObject(t)}:t=>{this.intersectObject(t)};for(const s of t){const t=s.getSpatialQueryAccelerator?.();null!=t?(null!=n?t.forEachAlongRayWithVerticalOffset(this._ray.origin,this._ray.direction,e,n):t.forEachAlongRay(this._ray.origin,this._ray.direction,e),this.options.selectionMode&&this.options.hud&&t.forEachDegenerateObject(e)):s.objects.forEach(t=>e(t))}}this.sortResults()}*intersectScreenPolygon(t=null,e){if(this.verticalOffset=null,t?.length)for(const s of t){const t=s.getSpatialQueryAccelerator?.();if(null!=t)for(const s of t.intersectingFrustumValues(e.broadPhaseFrustum,t=>t.visible))yield*this._intersectScreenPolygonObject(s,e);else for(const i of s.objects.values())i.visible&&r(e.broadPhaseFrustum,i.boundingVolumeWorldSpace.bounds)&&(yield*this._intersectScreenPolygonObject(i,e))}}*_intersectScreenPolygonObject(t,e){const s=t.geometries;if(!s)return;const i=t.effectiveTransformation;for(const r of s){if(!r.visible)continue;const{material:s,id:n}=r;if(!s.visible||!s.intersectScreenPolygon)continue;this.transform.setAndInvalidateLazyTransforms(i,r.transformation);const o=s.intersectScreenPolygon(r,this.transform.transform,this,e);o?.valid&&this._handleObjectScreenPolygonIntersection(new d(t,n,o.primitiveIndex),o.distance,o.point),yield}}intersectObject(t){const s=t.geometries;if(!s)return;const i=t.effectiveTransformation,r=_(this.verticalOffset);for(const n of s){if(!n.visible)continue;const{material:s,id:o}=n;if(!s.visible)continue;this.transform.setAndInvalidateLazyTransforms(i,n.transformation),e(this._rayBeginTransformed,this.rayBegin,this.transform.inverse),e(this._rayEndTransformed,this.rayEnd,this.transform.inverse);const a=this.transform.transform;null!=r&&(r.objectTransform=this.transform),s.intersectRay(n,this.transform.transform,this,this._rayBeginTransformed,this._rayEndTransformed,(e,s,i,r)=>this.handleObjectIntersection({object:t,geometryId:o,primitiveIndex:i},e,s,a,r))}}handleObjectIntersection(t,e,s,i,r){if(e<0||null!=this.filterPredicate&&!this.filterPredicate(this._ray.origin,this._rayEnd,e))return;const n=r?this._results.hud:this._results;t=r?new c(t,r):t;const o=r?i=>i.set(1,t,e,s):r=>r.set(4,t,e,s,i);if((null==n.min.distance||e<n.min.distance)&&o(n.min),0!==this.options.store&&(null==n.max.distance||e>n.max.distance)&&o(n.max),2===this.options.store)if(r){const t=new h(this._ray);o(t),this._results.hud.all.push(t)}else{const t=new m(this._ray);o(t),this._results.all.push(t)}}_handleObjectScreenPolygonIntersection(t,e,s,i){e<0||(null==this.filterPredicate||null!=s&&this.filterPredicate(this.camera.eye,s,1))&&this.polygonResults.add(i?1:4,i?new c(t,i):t,e)}sortResults(t=this._results.all){t.sort(u)}}class b{constructor(){this.min=new m(n()),this.max=new m(n()),this.hud={min:new h(n()),max:new h(n()),all:new Array},this.ground=new m(n()),this.all=[]}init(t){this.min.init(t),this.max.init(t),this.ground.init(t),this.all.length=0,this.hud.min.init(t),this.hud.max.init(t),this.hud.all.length=0}}const j={*processTriangle(t,e){t.list=e,t.count=e.length,yield t},*processLineSegment(t,e,i){s(t[0],e),s(t[1],i),yield t},validatePoint:()=>!0};export{v as Intersector,j as defaultScreenPolygonPrimitiveProcessor,p as defaultTolerance};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import"../../../../core/has.js";import{abortMaybe as e}from"../../../../core/maybe.js";import{recordPerformance as t}from"../../../../core/performance.js";import{createAbortError as a}from"../../../../core/promiseUtils.js";import{Milliseconds as i}from"../../../../core/time.js";import{N as s}from"../../../../chunks/NavigationDepth.glsl.js";import{NavigationDepthTechnique as r}from"../shaders/NavigationDepthTechnique.js";import{PixelType as h}from"../../../webgl/enums.js";const l=4,d=l*l,n=i(250),o=1;class c{constructor(e,t,a,r){this._rctx=e,this._fboCache=t,this._techniques=a,this._requestRender=r,this._passParameters=new s,this._updateWaiters=new Array,this._destroyed=!1,this._readbackPending=!1,this._width=0,this._height=0,this._cameraWidth=0,this._cameraHeight=0,this._lastUpdateTime=i(-1/0),this._testImmediateUpdateId=0,this._abortController=new AbortController}destroy(){this._destroyed=!0,this._withUpdateWaiters(e=>e.reject(a())),this._abortController=e(this._abortController),this._releaseReadbackHandles()}update(e,a,s){const{camera:d}=e;if(this._destroyed||this._readbackPending||s-this._lastUpdateTime<n||d.fullWidth<=0||d.fullHeight<=0)return;const o=this._techniques.getCompiled(r);if(!o)return void this._requestRender();const c=performance.now();this._lastUpdateTime=s;const _=Math.ceil(d.fullWidth/l),m=Math.ceil(d.fullHeight/l),u=Math.ceil(_/l),f=Math.ceil(m/l),p=u*f,b=this._ensureReadbackBuffer(p),g=this._fboCache.acquire(_,m,"navigation depth",7);this._readbackImmediateHandle=g;const H=this._fboCache.acquire(u,f,"navigation depth",10);this._readbackHandle=H,this._passParameters.depthTexture=a,this._passParameters.depthTextureSize=[d.fullWidth,d.fullHeight],this._passParameters.cellSize=l,this._passParameters.reduced=!1,this._rctx.bindFramebuffer(g.fbo),this._rctx.setViewport(0,0,_,m),this._rctx.bindTechnique(o,e,this._passParameters),this._rctx.screen.draw(),this._passParameters.depthTexture=g.getTexture(),this._passParameters.depthTextureSize=[_,m],this._passParameters.reduced=!0,this._rctx.bindFramebuffer(H.fbo),this._rctx.setViewport(0,0,u,f),this._rctx.bindTechnique(o,e,this._passParameters),this._rctx.screen.draw(),this._readbackPending=!0;const x=this._testImmediateUpdateId;H.fbo.readPixelsAsync(0,0,u,f,6403,h.FLOAT,b,this._abortController?.signal).then(()=>{this._destroyed||(this._data=b.slice(0,p),this._width=u,this._height=f,this._cameraWidth=d.fullWidth,this._cameraHeight=d.fullHeight,this._nearFar=[d.nearFar[0],d.nearFar[1]],x===this._testImmediateUpdateId?this._withUpdateWaiters(e=>e.resolve()):(this._lastUpdateTime=i(-1/0),this._requestRender()))}).catch(()=>this._withUpdateWaiters(e=>e.reject())).finally(()=>{this._releaseReadbackHandles(),this._readbackPending=!1,t("NavigationDepthCache update",c,performance.now(),"Maps SDK","Scheduling")}),d.setGLViewport(this._rctx)}getMinimalDepthForArea(e,t,a,i,s=i){if(null==this._data||null==this._nearFar||!this._hasCompatibleCameraResolution(a))return null;const r=a.constrainWindowSize(e,t,i*a.pixelRatio,s*a.pixelRatio),h=this._cameraWidth/a.fullWidth,l=this._cameraHeight/a.fullHeight,n=Math.max(Math.floor(r[0]*h/d),0),c=Math.max(Math.floor(r[1]*l/d),0),_=Math.min(Math.ceil((r[0]+r[2])*h/d),this._width),m=Math.min(Math.ceil((r[1]+r[3])*l/d),this._height),[u,f]=this._nearFar;let p=Number.MAX_VALUE;for(let d=c;d<m;++d)for(let e=n;e<_;++e){const t=this._data[e+d*this._width];if(t>=o)continue;const a=t*(f-u)+u;a!==u&&a!==f&&a<p&&(p=a)}return p===Number.MAX_VALUE?null:p}_hasCompatibleCameraResolution(e){if(this._cameraWidth<=0||this._cameraHeight<=0||e.fullWidth<=0||e.fullHeight<=0)return!1;return Math.abs(this._cameraWidth*e.fullHeight-this._cameraHeight*e.fullWidth)<=Math.max(this._cameraWidth,this._cameraHeight,e.fullWidth,e.fullHeight)}_ensureReadbackBuffer(e){return(null==this._readbackBuffer||this._readbackBuffer.length<e)&&(this._readbackBuffer=new Float32Array(e)),this._readbackBuffer}_withUpdateWaiters(e){const t=this._updateWaiters.slice();this._updateWaiters.length=0;for(const a of t)e(a)}_releaseReadbackHandles(){this._readbackHandle?.release(),this._readbackHandle=null,this._readbackImmediateHandle?.release(),this._readbackImmediateHandle=null}get test(){return null}}export{c as NavigationDepthCache};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{reciprocalClamped as
|
|
2
|
+
import{reciprocalClamped as t}from"../../../../core/mathUtils.js";import{set as e}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{setAxisAngle as i}from"../../../../core/libs/gl-matrix-2/math/quat.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{multiply as o,copy as a,length as c,scale as n,set as f,dot as p,add as m,subtract as l,normalize as h,transformMat2 as u}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{UNIT_X as x,ZEROS as d,create as b}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{cross as g,set as V,transformQuat as I,dot as v,scale as P,add as j,normalize as M}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{pathNumRoundCapExtrusionSubdivisions as C}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{decodeInt16 as A,decompressNormal as O}from"./Normals.js";import{PathFrame2D as k}from"./PathFrame2D.js";import{decodePathVertexInfo as D}from"./PathVertexInfo.js";class R{constructor(t,e,s,i,r,o){this.builder=t,this.profile=e,this.numJoinSubdivisions=s,this.capType=i,this.miterCutoffAngle=r,this.upVectorAlignment=o}evaluateVertexPosition(t,e,s,i){const{framePositionIndices:r,positions:l}=this.builder,h=Q;this._evaluateExtrudedVertex(h,s);const u=G;let x=0;const d=h.frameIndex,b=h.frame.right,I=h.frame.up,v=3*r[d],P=o(L,h.profileVertex,e);if(h.isCap)g(u,I,b),x=h.capPositionOffset*e[0];else{const t=N,s=B;a(t,h.rotationRight);const i=h.maxDistance;o(t,t,e);const r=c(t);r>0?n(t,t,1/r):f(t,0,0);const l=p(P,t);if(Math.abs(l)>i){f(s,-t[1],t[0]);const e=p(P,s);n(t,t,i*Math.sign(l)),n(s,s,e),m(P,t,s)}V(u,0,0,0)}const j=b[0]*P[0]+I[0]*P[1],M=b[1]*P[0]+I[1]*P[1],y=b[2]*P[0]+I[2]*P[1],C=3*i;t[C]=l[v]+j+u[0]*x,t[C+1]=l[v+1]+M+u[1]*x,t[C+2]=l[v+2]+y+u[2]*x}_evaluateExtrudedVertex(t,e){const{profileRotations:s,profileUpAxes:r,profileRightAxes:o,profileRotationFrameUpAxes:c,pathMaxStretchDistances:f,pathVertexInfos:u}=this.builder,{miterCutoffAngle:b,profile:g,upVectorAlignment:V}=this,v=S[V],P=1===this.upVectorAlignment,j=D(u[e]),M=j.frameIndex;t.frameIndex=M;const y=A(s[M])*Math.PI,k=f[M];switch(O(t.frame.right,o,M),O(t.frame.up,r,M),t.maxDistance=0,j.type){case 0:{t.isCap=!1;const e=g.vertices[j.sourceIndex],s=Math.abs(y)>=b,r=P?O(H,c,M):t.frame.up,o=null!=c?T(J,t.frame,r):x,n=p(e,o)*y>=0;if(s&&n){a(t.profileVertex,e);const s=.5*-y+j.subdivision*y/this.numJoinSubdivisions;0!==s&&(i(K,r,s),P&&I(t.frame.up,t.frame.up,K),I(t.frame.right,t.frame.right,K))}else{const s=v(E,e,y,o);a(t.profileVertex,s)}a(t.rotationRight,n?d:o),t.maxDistance=n?0:k;break}case 1:{t.isCap=!0;const e=g.vertices[j.sourceIndex];switch(a(t.profileVertex,e),this.capType){case 0:case 1:case 3:t.capPositionOffset=0;break;case 2:t.capPositionOffset=w(j)?.5:-.5}break}case 2:{t.isCap=!0;const e=w(j)?1:-1;switch(this.capType){case 1:case 2:{const s=g.vertices[j.sourceIndex],i=2===this.capType?.5*e:0;a(t.profileVertex,s),t.capPositionOffset=i;break}case 3:{const s=.5*e,i=g.poles[j.sourceIndex],r=i.position;i.normal;a(t.profileVertex,r),t.capPositionOffset=s;break}}break}case 3:{t.isCap=!0;const e=.5*(w(j)?1:-1),s=(1-(j.subdivision+1)/C)*Math.PI*.5,i=Math.sin(s),r=Math.cos(s),o=g.poleIndices[j.sourceIndex],c=g.poles[o],f=c.position,p=c.normal,u=g.vertices[j.sourceIndex];l(E,u,f),n(E,E,i),p?(m(E,E,f),a(t.profileVertex,E),t.capPositionOffset=e*r):(h(q,E),n(q,q,i),m(E,E,f),a(t.profileVertex,E),t.capPositionOffset=e*r);break}default:j.type}}}const S={0:(e,s,i)=>{if(Math.abs(i)<=0)return s;const r=t(Math.cos(.5*i));return f(e,(r-1+1)*s[0],s[1])},1:(s,i,r,o)=>{if(0===Math.abs(r))return i;const a=t(Math.cos(.5*r)),c=e(F,1+(a-1)*o[0]*o[0],(a-1)*o[0]*o[1],(a-1)*o[0]*o[1],1+(a-1)*o[1]*o[1]);return u(s,i,c)}};function w(t){return 1===t.capSide}function T(t,e,s){const i=v(s,e.up),r=v(s,e.right);return P(_,e.up,-r),P(z,e.right,i),j(_,_,z),M(_,_),U(t,e,_),t}function U(t,e,s){f(t,v(s,e.right),v(s,e.up))}const q=b(),E=b(),F=s(),J=b(),_=y(),z=y(),G=y(),L=b(),N=b(),B=b(),H=y(),K=r(),Q={profileVertex:b(),rotationRight:b(),maxDistance:0,capPositionOffset:0,isCap:!1,frame:new k,frameIndex:0};export{R as PathEvaluator};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{clamp as t}from"../../../../core/mathUtils.js";import{copy as e,exactEquals as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as o,clone as r}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{transformMat4 as s}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as n,negativeInfinity as l,expandWithVec3 as u,toCorners as c}from"../../../../geometry/support/aaBoundingBox.js";import{newFloatArray as p}from"../../../../geometry/support/FloatArray.js";import{getContinuousIndexArray as m,getZeroIndexArray as h,newContinuousIndexArray as f}from"../../../../geometry/support/Indices.js";import{Attribute as v,Vertices as d}from"./Attribute.js";import{BoundingInfo as g}from"./BoundingInfo.js";import{Geometry as b}from"./Geometry.js";import{computeAttachmentOriginTrianglesReader as x}from"./geometryDataUtils.js";import{getPathVertexFrameIndex as z}from"./PathVertexInfo.js";import{intersectTriangles as V}from"./RayIntersections.js";import{intersectTriangleReaderRangeScreenPolygon as I}from"./screenPolygonTriangleIntersections.js";class P extends b{constructor(t,e,i,r){const{vertexIndices:s,framePositionIndices:a,numExtrusionFrames:n}=e,l=m(n),u=h(n),c=[["position",new v(e.positions,a,3,!0)],["profileRight",new v(e.profileRightAxes,l,2,!0)],["profileUp",new v(e.profileUpAxes,l,2,!0)],["profileRotation",new v(e.profileRotations,l,1,!0)],["pathMaxStretchDistance",new v(e.pathMaxStretchDistances,l,1,!0)],["pathVertexInfo",new v(e.pathVertexInfos,s,1,!0)]];e.profileRotationFrameUpAxes&&c.push(["pathRotationUp",new v(e.profileRotationFrameUpAxes,l,2,!0)]),null!=i.sizeAttributeValue&&c.push(["sizeFeatureAttribute",new v([i.sizeAttributeValue],u,1,!0)]),null!=i.size&&c.push(["size",new v([...i.size],u,2,!0)]),null!=i.colorAttributeValue&&c.push(["colorFeatureAttribute",new v([i.colorAttributeValue],u,1,!0)]),null!=i.color&&c.push(["color",new v([...i.color],u,4,!0)]),null!=i.opacityAttributeValue&&c.push(["opacityFeatureAttribute",new v([i.opacityAttributeValue],u,1,!0)]),null!=i.opacity&&c.push(["opacity",new v([i.opacity],u,1,!0)]),super(t,c,null,0,r),this.builder=e,this.visualVariablesState=i,this._lastBoundingSize=o()}onPathChanged(){this.builder.onPathChanged();const t=this.getMutableAttribute("position");t&&(t.data=this.builder.positions),this.invalidateBoundingInfo()}get size(){const{parameters:i}=this.material,o=r(i.size);if(i.vvSize){const{offset:e,factor:r,minSize:s,maxSize:a,fallback:n}=i.vvSize,l=this.visualVariablesState.sizeAttributeValue??NaN;Number.isNaN(l)?(o[0]*=n[0],o[1]*=n[2]):(o[0]*=t(e[0]+l*r[0],s[0],a[0]),o[1]*=t(e[2]+l*r[2],s[2],a[2]))}else i.hasPathSize&&this.visualVariablesState.size&&e(o,this.visualVariablesState.size);return o}get primitivePositionIndices(){return this._validateSize(),super.primitivePositionIndices}_computePrimitivePositionIndices(){const t=this.attributes.get("pathVertexInfo"),e=this.attributes.get("position");if(t&&e){const i=e.indices,o=t.indices,r=t.data;return o.map(e=>i[z(r[t.stride*e])])}return e?.indices??null}get boundingInfo(){return this._validateSize(),super.boundingInfo}_calculateBoundingInfo(){const{builder:t,size:e}=this,{numVerticesTotal:i}=t;if(0===i)return null;const o=n(l);for(let r=0;r<i;++r)t.evaluator.evaluateVertexPosition(B,e,r,0),u(o,B);return new g(S,1,new v(c(o),S,3,!0))}_calculateAttachmentOrigin(t){const{builder:e,size:i}=this,{vertexIndices:o}=e,r=(t,r,s,a)=>{const n=3*a;e.evaluator.evaluateVertexPosition(t,i,o[n],0),e.evaluator.evaluateVertexPosition(r,i,o[n+1],0),e.evaluator.evaluateVertexPosition(s,i,o[n+2],0)};return x(t,o.length/3,r)}intersectRay(t,e,i,o){const{builder:r,size:s}=this,a=r.vertexIndices,n=a.length/3;for(let l=0;l<n;++l){const n=3*l;r.evaluator.evaluateVertexPosition(y,s,a[n],0),r.evaluator.evaluateVertexPosition(y,s,a[n+1],1),r.evaluator.evaluateVertexPosition(y,s,a[n+2],2),V(t,e,0,1,w,j,void 0,i,(t,e)=>o(t,e,l))}}intersectScreenPolygon(t,e,i){const{builder:o,size:r}=this,a=o.vertexIndices,n=a.length/3;return I(t,i,0,n,(t,i,n,l)=>{const u=3*l;return o.evaluator.evaluateVertexPosition(t,r,a[u],0),o.evaluator.evaluateVertexPosition(i,r,a[u+1],0),o.evaluator.evaluateVertexPosition(n,r,a[u+2],0),e&&(s(t,t,e),s(i,i,e),s(n,n,e)),l})}_validateSize(){const{size:t}=this;i(t,this._lastBoundingSize)||(e(this._lastBoundingSize,t),this.invalidateBoundingInfo())}}function A(t){return t instanceof P}const S=m(8),w=f(3),y=p(9),j=new d(y,3),B=a();export{P as PathGeometry,A as isPathGeometry};
|