@arcgis/core 4.25.0-next.20221018 → 4.25.0-next.20221021
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/Basemap.d.ts +1 -1
- package/Camera.d.ts +1 -1
- package/Color.d.ts +1 -1
- package/Graphic.d.ts +1 -1
- package/Ground.d.ts +1 -1
- package/Map.d.ts +1 -1
- package/PopupTemplate.d.ts +1 -1
- package/README.md +158 -158
- package/TimeExtent.d.ts +1 -1
- package/TimeInterval.d.ts +1 -1
- package/Viewpoint.d.ts +1 -1
- package/WebMap.d.ts +1 -1
- package/WebMap.js +1 -1
- package/WebScene.d.ts +1 -1
- package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
- package/analysis/DimensionAnalysis.d.ts +1 -1
- package/analysis/DimensionSimpleStyle.d.ts +1 -1
- package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
- package/analysis/LengthDimension.d.ts +1 -1
- package/analysis/LineOfSightAnalysis.d.ts +1 -1
- package/analysis/LineOfSightAnalysisObserver.d.ts +1 -1
- package/analysis/LineOfSightAnalysisTarget.d.ts +1 -1
- package/analysis/SliceAnalysis.d.ts +1 -1
- package/analysis/SlicePlane.d.ts +1 -1
- package/applications/SceneViewer/colorUtils.d.ts +1 -1
- package/applications/SceneViewer/sceneViewerUtils.d.ts +1 -1
- package/arcade.d.ts +1 -1
- package/assets/esri/core/libs/libtess/libtess.wasm +0 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{fc521bcd4fce711edb7e.js → 038dc3f9ef06ef3c960c.js} +1 -1
- package/assets/esri/core/workers/chunks/073fdfd01d940c7b1da1.js +1 -0
- package/assets/esri/core/workers/chunks/0b0f3e93f658a012d5f0.js +1 -0
- package/assets/esri/core/workers/chunks/{5e3686b68e1b5dfa0169.js → 110587dd66c52d0284a9.js} +4 -4
- package/assets/esri/core/workers/chunks/{7b7b6f0b1a6215ee7a60.js → 12efe67be9414262591f.js} +1 -1
- package/assets/esri/core/workers/chunks/{9383dab07abf7e29139e.js → 16a6b4d8c4928c97ef56.js} +1 -1
- package/assets/esri/core/workers/chunks/{cd11fcc3d9678ab4e115.js → 19c208150b7f9cf0b6ea.js} +1 -1
- package/assets/esri/core/workers/chunks/{6f19761acd9ab875a600.js → 2b0952bd7dbeb1a79fbc.js} +1 -1
- package/assets/esri/core/workers/chunks/{7fab18074b130b71a648.js → 2c4938512dd726a177dd.js} +1 -1
- package/assets/esri/core/workers/chunks/2d8201f0f33ba66bb96b.js +1 -0
- package/assets/esri/core/workers/chunks/2ebba71cbbfa62ddf46a.js +1 -0
- package/assets/esri/core/workers/chunks/{de6a1d1cfdc147455d57.js → 2f22105099a3ece58d1d.js} +1 -1
- package/assets/esri/core/workers/chunks/{8ee3da8677255b8c8709.js → 31de71018575457155e5.js} +1 -1
- package/assets/esri/core/workers/chunks/{64a0f93c6a0fd4e14601.js → 3376fbcbd92261d45169.js} +1 -1
- package/assets/esri/core/workers/chunks/4450f17444947fe2f27f.js +1 -0
- package/assets/esri/core/workers/chunks/5de864843c0d3f4d291d.js +1 -0
- package/assets/esri/core/workers/chunks/6dfb2ddfd72009564a34.js +1 -0
- package/assets/esri/core/workers/chunks/{d18b191e158c1aff853c.js → 71bc42d18a9e5c356c2a.js} +1 -1
- package/assets/esri/core/workers/chunks/{179b9a7aa796dac3eb83.js → 7ba0cfe4d1c214f44fc7.js} +1 -1
- package/assets/esri/core/workers/chunks/81139c01e8016cbbe324.js +1 -0
- package/assets/esri/core/workers/chunks/883cfe319b15ebabf71e.js +1 -0
- package/assets/esri/core/workers/chunks/{c2a6ac7046134f725cf3.js → 8ba83fee56dd4f306d87.js} +1 -1
- package/assets/esri/core/workers/chunks/925f53f4ef097c5ce204.js +1 -0
- package/assets/esri/core/workers/chunks/{eff5593e534d2a617ca7.js → 942da417257f8fd8e4cf.js} +1 -1
- package/assets/esri/core/workers/chunks/97450791de57796f842c.js +1 -0
- package/assets/esri/core/workers/chunks/{c9c0dd4d9aaa9b794bd5.js → 9d1faf9358df056be8e7.js} +1 -1
- package/assets/esri/core/workers/chunks/9d410721f42259efe666.js +1 -0
- package/assets/esri/core/workers/chunks/{b98074a98ebc11ed1e09.js → aa3909ffe65b42c61b52.js} +1 -1
- package/assets/esri/core/workers/chunks/af3f30f968363bb3930c.js +1 -0
- package/assets/esri/core/workers/chunks/{93e7d34f52bfafa015e1.js → b58badb11e610024ce4c.js} +1 -1
- package/assets/esri/core/workers/chunks/b5e6a868256c5aae6d5e.js +1 -0
- package/assets/esri/core/workers/chunks/{2307eea4f3b9c0c987f1.js → b9e93d9ea80361716f1d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1f31a507c989b2976660.js → c26a24c89ddf5bdad343.js} +1 -1
- package/assets/esri/core/workers/chunks/{a9b77bea0b8d7a2e5f65.js → c8c0f091aab41e4effa5.js} +1 -1
- package/assets/esri/core/workers/chunks/d573ec98401fbae26383.js +1 -0
- package/assets/esri/core/workers/chunks/{4641e10e0e8e9d257521.js → f436c86f86236ea7ea04.js} +1 -1
- package/assets/esri/core/workers/chunks/{b88c012fa0b0e229a5e3.js → f5b4a8b2bad9b0899954.js} +1 -1
- package/assets/esri/core/workers/chunks/{3bcf3bed475f7c49eb7e.js → f787036fa1ed4f53bb00.js} +1 -1
- package/assets/esri/core/workers/chunks/{ceb38e7e1aa08e1b141f.js → fa3117bb2e11daac000e.js} +1 -1
- package/assets/esri/core/workers/chunks/{77425f33515eb7f0551a.js → fb340c93c114ef090941.js} +1 -1
- package/assets/esri/css/main.scss +1 -1
- package/assets/esri/css/view.scss +1 -1
- package/assets/esri/images/support/loading-throb.gif +0 -0
- package/assets/esri/themes/base/_Overlay.scss +14 -14
- package/assets/esri/themes/base/_OverlayItem.scss +52 -52
- package/assets/esri/themes/base/_Ui.scss +149 -149
- package/assets/esri/themes/base/_View.scss +194 -194
- package/assets/esri/themes/base/_animation.scss +128 -128
- package/assets/esri/themes/base/_color.scss +57 -57
- package/assets/esri/themes/base/_colorVariables.scss +1 -1
- package/assets/esri/themes/base/_core.scss +172 -172
- package/assets/esri/themes/base/_functions.scss +23 -23
- package/assets/esri/themes/base/_layout.scss +11 -11
- package/assets/esri/themes/base/_mixins.scss +665 -665
- package/assets/esri/themes/base/_sizes.scss +130 -130
- package/assets/esri/themes/base/_type.scss +27 -27
- package/assets/esri/themes/base/colors/css/scss/brand_colors.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_core_colors.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_core_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/css/scss/complete.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/brand_colors.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors_dark.scss +0 -0
- package/assets/esri/themes/base/colors/patterns_json/scss/complete.scss +0 -0
- package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44-ext.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44-greek.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/0763eab1-d6ed-4c73-afb0-895f930df099.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/121524c1-8d82-4155-bfb3-fd2f15f09e93.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4-ext.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4-greek.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/13faf0ae-dcab-4d1c-9c08-f9ca339b6023-greek.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/13faf0ae-dcab-4d1c-9c08-f9ca339b6023.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/15e2e15a-2f36-4a01-b529-677d575bf76d.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/174d458a-81e0-4174-9473-35e3bf0a613c.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/18629a56-2ec3-4470-a65f-f82d7ec4d41b.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/1b3078ef-2971-4c95-b6ca-13ab528758cb.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/1fed34fa-250a-4d32-9f1d-42f978a2e0b2.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/2200dfff-da50-40b0-bc12-5e4b872a1998.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/281f890c-8412-4ee3-84ed-8b5d062d2ab8.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/2a1ae9a5-b6b5-405c-b660-bbdf1b356952.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/31da4b04-f98a-4b5f-b545-a31d26da99e5.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/31e0c094-e345-4a54-a797-d5f1a5885572.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/32a2c5cf-6736-44a6-a276-49ba7e030944.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/341bcc5e-7ac0-44ff-819d-5887892eab1b.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/390cea11-2b11-47ac-b3e8-43ded6ae89ee.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/394a711e-3459-44f3-85c7-e99c01e4b55c.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/3ae1e25e-3aa6-4061-a016-a079159f9d65.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f-ext.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f-greek.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/40d36b4a-60c6-460a-bf43-4c948c23563e.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/41331c3c-3759-4462-8695-33c9a21b6a5b.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/439a2ded-d7a4-42d4-8660-ef8765fa7486.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/45b78f45-e639-4836-8612-e0892e120f14.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/46947883-147e-48dd-97c2-5a8ca675b998.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/4ab86b35-c0c2-42b5-98ad-4b6eba66b197.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/4d1d0d0d-9ea6-4117-901f-8b32ca1ab936.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/4daa2125-53c6-4da8-9614-8a1049eaccc2.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/4e4befe6-3f94-41d8-886c-1a6831818c6a.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/5729f02e-f6b0-4f35-8ee5-c2cffa65fa76.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/57a79aa3-9b06-4ba7-a9a4-2b766d826ecf.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/61f13f40-3829-413c-b6f5-b11abb272edc.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/6ea5fa46-5311-450b-8744-288a30c55348.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/75e2f3b1-1402-4916-8392-4db9ababea7b.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b-ext.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b-greek.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99-ext.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99-greek.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/7db1f672-3a8f-4d19-9c49-7f61aed450b5.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/89370128-6a74-471d-ba04-fa0b59bc8ed3.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/8a65abc7-6463-4895-b3e6-5e203b80b7e2.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/8b01637a-f445-4f10-92ea-b84a355f7690.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/94aa531e-7746-4df0-bb6e-349891f2eda5.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/97694c53-4e94-4f9e-969b-a148adfcdcfd.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/97b330aa-d7fa-4f85-830f-b11a5041b157.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/9851da0a-2481-4687-bbeb-ed4ab170dc38-ext.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/9851da0a-2481-4687-bbeb-ed4ab170dc38.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/9c1ab088-0cb0-402f-9cea-170f0fea14a8.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/a1049d00-54ad-4589-95b8-d353f7ab52f0-greek.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/a1049d00-54ad-4589-95b8-d353f7ab52f0.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/a8aeea1b-1a9d-45b7-8ad9-7c71824599e2.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/a9eaf4d3-6427-42df-9306-3ea1270f7b1a.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/ae454969-59fb-4d42-aecb-dea30459bc7e.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6-basic.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6-ext.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/b17468ea-cf53-4635-984b-4d930a68ed4d.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/bb93c563-55f6-494f-8e1e-448538d95df1.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/c1905e2e-a1cb-49de-9bb0-ce3c5ffc85ae.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/c4cc9032-7eee-4a6e-ae8b-f384b1349bcf.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/c744f2a2-d6a9-4c18-b0ec-f17376acde3e.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/cebce072-9561-4c6d-8c89-f0cefec63289-ext.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/cebce072-9561-4c6d-8c89-f0cefec63289.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354-ext.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354-greek.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/d824d78b-aab0-44e3-8c56-6c3dcf551952.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/d98fb015-7ef6-404f-a58a-5c9242d79770.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/d9e4040d-32ff-4a1c-ac04-927a781da1f5.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/dc10b3bd-5076-4df5-a5f5-e5961f4a6938.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/dd7b7d4e-21ab-4ac0-b26a-d032c992f3c5.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb-ext.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb-greek.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/e57662ff-b1ef-4122-88c1-61bbdabeb365.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117-ext.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117-greek.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117.woff2 +0 -0
- package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f-basic.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f-ext.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/f1799750-0952-403f-8108-b2402eed0f62.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/f4a085c3-1c64-4fc0-a598-26f3e658c2b0.woff +0 -0
- package/assets/esri/themes/base/fonts/fonts/fa71df11-7b19-4baf-8ff7-3537dea718f0.woff +0 -0
- package/assets/esri/themes/base/icons/style.css +0 -0
- package/assets/esri/themes/base/icons/style.scss +0 -0
- package/assets/esri/themes/base/icons/variables.scss +0 -0
- package/assets/esri/themes/base/images/files/archive-32.svg +0 -0
- package/assets/esri/themes/base/images/files/cad-32.svg +0 -0
- package/assets/esri/themes/base/images/files/code-32.svg +0 -0
- package/assets/esri/themes/base/images/files/csv-32.svg +0 -0
- package/assets/esri/themes/base/images/files/excel-32.svg +0 -0
- package/assets/esri/themes/base/images/files/generic-32.svg +0 -0
- package/assets/esri/themes/base/images/files/gpx-32.svg +0 -0
- package/assets/esri/themes/base/images/files/image-32.svg +0 -0
- package/assets/esri/themes/base/images/files/pdf-32.svg +0 -0
- package/assets/esri/themes/base/images/files/report-32.svg +0 -0
- package/assets/esri/themes/base/images/files/sound-32.svg +0 -0
- package/assets/esri/themes/base/images/files/text-32.svg +0 -0
- package/assets/esri/themes/base/images/files/video-32.svg +0 -0
- package/assets/esri/themes/base/images/files/word-32.svg +0 -0
- package/assets/esri/themes/base/images/files/zip-32.svg +0 -0
- package/assets/esri/themes/base/images/loading-throb.gif +0 -0
- package/assets/esri/themes/base/widgets/_AreaMeasurement2D.scss +14 -14
- package/assets/esri/themes/base/widgets/_AreaMeasurement3D.scss +14 -14
- package/assets/esri/themes/base/widgets/_Attachments.scss +286 -286
- package/assets/esri/themes/base/widgets/_Attribution.scss +57 -57
- package/assets/esri/themes/base/widgets/_BasemapGallery.scss +173 -173
- package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +490 -490
- package/assets/esri/themes/base/widgets/_BasemapToggle.scss +123 -123
- package/assets/esri/themes/base/widgets/_BinaryColorSizeSlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +349 -349
- package/assets/esri/themes/base/widgets/_BuildingDisciplinesTree.scss +151 -151
- package/assets/esri/themes/base/widgets/_BuildingExplorer.scss +51 -51
- package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +253 -253
- package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +92 -92
- package/assets/esri/themes/base/widgets/_ButtonMenu.scss +129 -129
- package/assets/esri/themes/base/widgets/_ClassedColorSlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_ClassedSizeSlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_ColorPicker.scss +70 -70
- package/assets/esri/themes/base/widgets/_ColorSizeSlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_ColorSlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_Compass.scss +16 -16
- package/assets/esri/themes/base/widgets/_CoordinateConversion.scss +236 -238
- package/assets/esri/themes/base/widgets/_DatePicker.scss +169 -169
- package/assets/esri/themes/base/widgets/_Daylight.scss +270 -270
- package/assets/esri/themes/base/widgets/_DirectLineMeasurement3D.scss +7 -7
- package/assets/esri/themes/base/widgets/_Directions.scss +471 -471
- package/assets/esri/themes/base/widgets/_DistanceMeasurement2D.scss +7 -7
- package/assets/esri/themes/base/widgets/_Editor.scss +260 -255
- package/assets/esri/themes/base/widgets/_ElevationProfile.scss +439 -439
- package/assets/esri/themes/base/widgets/_Expand.scss +264 -264
- package/assets/esri/themes/base/widgets/_Feature.scss +93 -92
- package/assets/esri/themes/base/widgets/_FeatureContent.scss +97 -97
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +236 -216
- package/assets/esri/themes/base/widgets/_FeatureMedia.scss +86 -86
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +247 -247
- package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +44 -44
- package/assets/esri/themes/base/widgets/_FloorFilter.scss +480 -480
- package/assets/esri/themes/base/widgets/_Grid.scss +71 -71
- package/assets/esri/themes/base/widgets/_HeatmapSlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_Histogram.scss +56 -56
- package/assets/esri/themes/base/widgets/_HistogramRangeSlider.scss +105 -105
- package/assets/esri/themes/base/widgets/_IdentityForm.scss +22 -22
- package/assets/esri/themes/base/widgets/_IdentityModal.scss +105 -105
- package/assets/esri/themes/base/widgets/_ItemList.scss +143 -143
- package/assets/esri/themes/base/widgets/_LayerList.scss +413 -413
- package/assets/esri/themes/base/widgets/_Legend.scss +551 -551
- package/assets/esri/themes/base/widgets/_LineOfSight.scss +41 -41
- package/assets/esri/themes/base/widgets/_Measurement.scss +6 -6
- package/assets/esri/themes/base/widgets/_NavigationToggle.scss +99 -99
- package/assets/esri/themes/base/widgets/_OpacitySlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_Popup.scss +748 -745
- package/assets/esri/themes/base/widgets/_Print.scss +269 -269
- package/assets/esri/themes/base/widgets/_SaveLayer.scss +40 -40
- package/assets/esri/themes/base/widgets/_ScaleBar.scss +160 -160
- package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +211 -211
- package/assets/esri/themes/base/widgets/_Search.scss +193 -193
- package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +34 -34
- package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +18 -18
- package/assets/esri/themes/base/widgets/_ShadowCast.scss +202 -202
- package/assets/esri/themes/base/widgets/_SizeSlider.scss +7 -7
- package/assets/esri/themes/base/widgets/_Sketch.scss +151 -151
- package/assets/esri/themes/base/widgets/_Slice.scss +80 -80
- package/assets/esri/themes/base/widgets/_Slider.scss +367 -367
- package/assets/esri/themes/base/widgets/_SnappingControls.scss +143 -143
- package/assets/esri/themes/base/widgets/_Spinner.scss +76 -76
- package/assets/esri/themes/base/widgets/_Swipe.scss +105 -105
- package/assets/esri/themes/base/widgets/_TableList.scss +299 -299
- package/assets/esri/themes/base/widgets/_TimePicker.scss +15 -15
- package/assets/esri/themes/base/widgets/_TimeSlider.scss +404 -404
- package/assets/esri/themes/base/widgets/_Tooltip.scss +61 -61
- package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +47 -47
- package/assets/esri/themes/base/widgets/_Weather.scss +59 -59
- package/assets/esri/themes/base/widgets/_Widget.scss +688 -688
- package/assets/esri/themes/base/widgets/_Zoom.scss +45 -45
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark/main.scss +34 -34
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/main.scss +9 -9
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light/view.scss +9 -9
- package/assets/esri/views/3d/analysis/Slice/images/heading-rotate.svg +4 -4
- package/assets/esri/views/3d/analysis/Slice/images/tilt-rotate.svg +80 -80
- package/assets/esri/views/3d/webgl-engine/lib/intersectorUtils.svg +117 -117
- package/assets/esri/views/magnifier/mask.ts.svg +5 -5
- package/assets/esri/views/magnifier/overlay.ts.svg +36 -36
- package/chunks/Laserlines.glsl.js +5 -5
- package/chunks/LineMarker.glsl.js +32 -38
- package/chunks/Precipitation.glsl.js +1 -1
- package/chunks/RibbonLine.glsl.js +53 -53
- package/chunks/ShadowHighlight.glsl.js +1 -1
- package/chunks/boundedPlane.js +1 -1
- package/chunks/cameraUtilsPlanar.js +1 -1
- package/chunks/cameraUtilsSpherical.js +1 -1
- package/chunks/mat3.js +1 -1
- package/chunks/quat.js +1 -1
- package/chunks/quat2.js +1 -1
- package/chunks/quatf64.js +1 -1
- package/chunks/sphere.js +1 -1
- package/chunks/vec3.js +1 -1
- package/chunks/vec3f32.js +1 -1
- package/chunks/vec4f64.js +1 -1
- package/config.d.ts +1 -1
- package/copyright.txt +1278 -1278
- package/core/Accessor.d.ts +1 -1
- package/core/Accessor.js +1 -1
- package/core/Collection.d.ts +1 -1
- package/core/Error.d.ts +1 -1
- package/core/Evented.d.ts +1 -1
- package/core/HandleOwner.d.ts +1 -1
- package/core/Handles.d.ts +1 -1
- package/core/Identifiable.d.ts +1 -1
- package/core/JSONSupport.d.ts +1 -1
- package/core/Loadable.d.ts +1 -1
- package/core/Promise.d.ts +1 -1
- package/core/VectorStack.js +1 -1
- package/core/accessorSupport/decorators.d.ts +1 -1
- package/core/lang.d.ts +1 -1
- package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
- package/core/libs/gl-matrix-2/factories/vec4f64.js +1 -1
- package/core/libs/gl-matrix-2/math/mat3.js +1 -1
- package/core/libs/gl-matrix-2/math/quat.js +1 -1
- package/core/libs/gl-matrix-2/math/vec3.js +1 -1
- package/core/perspectiveUtils.js +1 -1
- package/core/promiseUtils.d.ts +1 -1
- package/core/quantity.d.ts +1 -1
- package/core/reactiveUtils.d.ts +1 -1
- package/core/scheduling.d.ts +1 -1
- package/core/sql/WhereClause.d.ts +1 -1
- package/core/sql.d.ts +1 -1
- package/core/units.d.ts +1 -1
- package/core/urlUtils.d.ts +1 -1
- package/core/watchUtils.d.ts +1 -1
- package/core/workers/Connection.d.ts +1 -1
- package/core/workers.d.ts +1 -1
- package/form/ExpressionInfo.d.ts +1 -1
- package/form/FormTemplate.d.ts +1 -1
- package/form/elements/Element.d.ts +1 -1
- package/form/elements/FieldElement.d.ts +1 -1
- package/form/elements/GroupElement.d.ts +1 -1
- package/form/elements/inputs/BarcodeScannerInput.d.ts +1 -1
- package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
- package/form/elements/inputs/DateTimePickerInput.d.ts +1 -1
- package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
- package/form/elements/inputs/SwitchInput.d.ts +1 -1
- package/form/elements/inputs/TextAreaInput.d.ts +1 -1
- package/form/elements/inputs/TextBoxInput.d.ts +1 -1
- package/form/elements/inputs/TextInput.d.ts +1 -1
- package/form/elements/support/inputs.d.ts +1 -1
- package/form/support/elements.d.ts +1 -1
- package/geohash/GeohashTree.js +1 -1
- package/geometry/Circle.d.ts +1 -1
- package/geometry/Extent.d.ts +1 -1
- package/geometry/Geometry.d.ts +1 -1
- package/geometry/HeightModelInfo.d.ts +1 -1
- package/geometry/Mesh.d.ts +1 -1
- package/geometry/Multipoint.d.ts +1 -1
- package/geometry/Point.d.ts +1 -1
- package/geometry/Polygon.d.ts +1 -1
- package/geometry/Polyline.d.ts +1 -1
- package/geometry/SpatialReference.d.ts +1 -1
- package/geometry/coordinateFormatter.d.ts +1 -1
- package/geometry/geometryEngine.d.ts +1 -1
- package/geometry/geometryEngineAsync.d.ts +1 -1
- package/geometry/projection.d.ts +1 -1
- package/geometry/support/GeographicTransformation.d.ts +1 -1
- package/geometry/support/GeographicTransformationStep.d.ts +1 -1
- package/geometry/support/MeshComponent.d.ts +1 -1
- package/geometry/support/MeshMaterial.d.ts +1 -1
- package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
- package/geometry/support/MeshTexture.d.ts +1 -1
- package/geometry/support/MeshTransform.js +1 -1
- package/geometry/support/axisAngle.js +1 -1
- package/geometry/support/axisAngleDegrees.js +1 -1
- package/geometry/support/geodesicUtils.d.ts +1 -1
- package/geometry/support/jsonUtils.d.ts +1 -1
- package/geometry/support/lineSegment.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/projection.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/meshUtils.d.ts +1 -1
- package/geometry/support/normalizeUtils.d.ts +1 -1
- package/geometry/support/plane.js +1 -1
- package/geometry/support/webMercatorUtils.d.ts +1 -1
- package/geometry.d.ts +1 -1
- package/identity/Credential.d.ts +1 -1
- package/identity/IdentityManager.d.ts +1 -1
- package/identity/OAuthInfo.d.ts +1 -1
- package/identity/ServerInfo.d.ts +1 -1
- package/interfaces.d.ts +768 -706
- package/intl.d.ts +1 -1
- package/kernel.d.ts +1 -1
- package/layers/BaseDynamicLayer.d.ts +1 -1
- package/layers/BaseElevationLayer.d.ts +1 -1
- package/layers/BaseTileLayer.d.ts +1 -1
- package/layers/BingMapsLayer.d.ts +1 -1
- package/layers/BuildingSceneLayer.d.ts +1 -1
- package/layers/CSVLayer.d.ts +1 -1
- package/layers/DimensionLayer.d.ts +1 -1
- package/layers/ElevationLayer.d.ts +1 -1
- package/layers/FeatureLayer.d.ts +1 -1
- package/layers/GeoJSONLayer.d.ts +1 -1
- package/layers/GeoRSSLayer.d.ts +1 -1
- package/layers/GraphicsLayer.d.ts +1 -1
- package/layers/GroupLayer.d.ts +1 -1
- package/layers/ImageryLayer.d.ts +1 -1
- package/layers/ImageryTileLayer.d.ts +1 -1
- package/layers/IntegratedMeshLayer.d.ts +1 -1
- package/layers/KMLLayer.d.ts +1 -1
- package/layers/Layer.d.ts +1 -1
- package/layers/LineOfSightLayer.d.ts +1 -1
- package/layers/MapImageLayer.d.ts +1 -1
- package/layers/MapNotesLayer.d.ts +1 -1
- package/layers/MapNotesLayer.js +1 -1
- package/layers/MediaLayer.d.ts +1 -1
- package/layers/OGCFeatureLayer.d.ts +1 -1
- package/layers/OpenStreetMapLayer.d.ts +1 -1
- package/layers/PointCloudLayer.d.ts +1 -1
- package/layers/RouteLayer.d.ts +1 -1
- package/layers/SceneLayer.d.ts +1 -1
- package/layers/StreamLayer.d.ts +1 -1
- package/layers/SubtypeGroupLayer.d.ts +1 -1
- package/layers/TileLayer.d.ts +1 -1
- package/layers/UnknownLayer.d.ts +1 -1
- package/layers/UnsupportedLayer.d.ts +1 -1
- package/layers/VectorTileLayer.d.ts +1 -1
- package/layers/VoxelLayer.d.ts +1 -1
- package/layers/WCSLayer.d.ts +1 -1
- package/layers/WFSLayer.d.ts +1 -1
- package/layers/WMSLayer.d.ts +1 -1
- package/layers/WMTSLayer.d.ts +1 -1
- package/layers/WebTileLayer.d.ts +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +1 -1
- package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
- package/layers/buildingSublayers/BuildingSublayer.d.ts +1 -1
- package/layers/graphics/data/SnappingCandidate.js +1 -1
- 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/ArcGISImageService.js +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/FeatureEffectLayer.d.ts +1 -1
- package/layers/mixins/FeatureLayerBase.d.ts +4 -0
- package/layers/mixins/FeatureReductionLayer.d.ts +1 -1
- package/layers/mixins/ImageryTileMixin.d.ts +1 -1
- package/layers/mixins/ImageryTileMixin.js +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/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/ogc/wfsUtils.d.ts +1 -1
- package/layers/pointCloudFilters/PointCloudFilter.d.ts +1 -1
- package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
- package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
- package/layers/support/AggregateField.d.ts +1 -1
- package/layers/support/BuildingFilter.d.ts +1 -1
- package/layers/support/BuildingSummaryStatistics.d.ts +1 -1
- package/layers/support/CodedValueDomain.d.ts +1 -1
- package/layers/support/ControlPointsGeoreference.d.ts +1 -1
- package/layers/support/CornersGeoreference.d.ts +1 -1
- package/layers/support/DimensionalDefinition.d.ts +1 -1
- package/layers/support/Domain.d.ts +1 -1
- package/layers/support/ElevationSampler.d.ts +1 -1
- package/layers/support/ExpressionInfo.d.ts +1 -1
- package/layers/support/ExtentAndRotationGeoreference.d.ts +1 -1
- package/layers/support/FacilityLayerInfo.d.ts +1 -1
- package/layers/support/FeatureEffect.d.ts +1 -1
- package/layers/support/FeatureFilter.d.ts +1 -1
- package/layers/support/FeatureReductionBinning.d.ts +1 -1
- package/layers/support/FeatureReductionCluster.d.ts +1 -1
- package/layers/support/FeatureReductionSelection.d.ts +1 -1
- package/layers/support/FeatureTemplate.d.ts +1 -1
- package/layers/support/FeatureType.d.ts +1 -1
- package/layers/support/Field.d.ts +1 -1
- package/layers/support/FieldsIndex.d.ts +1 -1
- package/layers/support/GeometryFieldsInfo.d.ts +1 -1
- package/layers/support/ImageElement.d.ts +1 -1
- package/layers/support/ImageParameters.d.ts +1 -1
- package/layers/support/InheritedDomain.d.ts +1 -1
- package/layers/support/KMLSublayer.d.ts +1 -1
- package/layers/support/LOD.d.ts +1 -1
- package/layers/support/LabelClass.d.ts +1 -1
- package/layers/support/LayerFloorInfo.d.ts +1 -1
- package/layers/support/LevelLayerInfo.d.ts +1 -1
- package/layers/support/LocalMediaElementSource.d.ts +1 -1
- package/layers/support/MapImage.d.ts +1 -1
- package/layers/support/MediaElementBase.d.ts +1 -1
- package/layers/support/MosaicRule.d.ts +1 -1
- package/layers/support/MultidimensionalSubset.d.ts +4 -0
- package/layers/support/MultidimensionalSubset.js +1 -1
- package/layers/support/PixelBlock.d.ts +1 -1
- package/layers/support/PublishingInfo.d.ts +1 -1
- package/layers/support/RangeDomain.d.ts +1 -1
- package/layers/support/RasterFunction.d.ts +1 -1
- package/layers/support/RasterInfo.d.ts +1 -1
- package/layers/support/Relationship.d.ts +1 -1
- package/layers/support/RouteStopSymbols.d.ts +1 -1
- package/layers/support/RouteSymbols.d.ts +1 -1
- package/layers/support/SceneFilter.d.ts +1 -1
- package/layers/support/SceneModification.d.ts +1 -1
- package/layers/support/SceneModifications.d.ts +1 -1
- package/layers/support/SiteLayerInfo.d.ts +1 -1
- package/layers/support/StreamConnection.d.ts +1 -1
- package/layers/support/Sublayer.d.ts +1 -1
- package/layers/support/SubtypeSublayer.d.ts +1 -1
- package/layers/support/TileInfo.d.ts +1 -1
- package/layers/support/TileMatrixSet.d.ts +1 -1
- package/layers/support/TimeInfo.d.ts +1 -1
- package/layers/support/TimeReference.d.ts +1 -1
- package/layers/support/VideoElement.d.ts +1 -1
- package/layers/support/VoxelVariable.d.ts +1 -1
- package/layers/support/VoxelVolumeStyle.d.ts +1 -1
- package/layers/support/WMSSublayer.d.ts +1 -1
- package/layers/support/WMTSStyle.d.ts +1 -1
- package/layers/support/WMTSSublayer.d.ts +1 -1
- package/layers/support/arcadeUtils.d.ts +1 -1
- package/layers/support/fieldUtils.d.ts +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/layers/voxel/VoxelDynamicSection.d.ts +1 -1
- package/layers/voxel/VoxelSlice.d.ts +1 -1
- package/layers/voxel/VoxelTransferFunctionStyle.d.ts +1 -1
- package/layers/voxel/VoxelVariable.d.ts +1 -1
- package/layers/voxel/VoxelVariableStyle.d.ts +1 -1
- package/layers/voxel/VoxelVolume.d.ts +1 -1
- package/layers/voxel/VoxelVolume.js +1 -1
- package/layers/voxel/VoxelVolumeStyle.d.ts +1 -1
- package/layers/voxel/voxelPlaneUtils.js +1 -1
- package/networks/Network.d.ts +1 -1
- package/networks/Network.js +1 -1
- package/networks/UtilityNetwork.d.ts +1 -1
- package/networks/support/NamedTraceConfiguration.d.ts +1 -1
- package/networks/support/NetworkSystemLayers.d.ts +1 -1
- package/networks/support/Terminal.d.ts +1 -1
- package/networks/support/TerminalConfiguration.d.ts +1 -1
- package/networks/support/TraceConfiguration.d.ts +1 -1
- package/networks/support/UNTraceConfiguration.d.ts +1 -1
- package/networks/support/utils.js +1 -1
- package/package.json +1 -1
- package/pointCloudRenderers.d.ts +1 -1
- package/popup/ElementExpressionInfo.d.ts +1 -1
- package/popup/ExpressionInfo.d.ts +1 -1
- package/popup/FieldInfo.d.ts +1 -1
- package/popup/LayerOptions.d.ts +1 -1
- package/popup/RelatedRecordsInfo.d.ts +1 -1
- package/popup/content/AttachmentsContent.d.ts +1 -1
- package/popup/content/BarChartMediaInfo.d.ts +1 -1
- package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
- package/popup/content/Content.d.ts +1 -1
- package/popup/content/CustomContent.d.ts +1 -1
- package/popup/content/ExpressionContent.d.ts +1 -1
- package/popup/content/FieldsContent.d.ts +1 -1
- package/popup/content/ImageMediaInfo.d.ts +1 -1
- package/popup/content/LineChartMediaInfo.d.ts +1 -1
- package/popup/content/MediaContent.d.ts +1 -1
- package/popup/content/PieChartMediaInfo.d.ts +1 -1
- package/popup/content/RelationshipContent.d.ts +1 -1
- package/popup/content/TextContent.d.ts +1 -1
- package/popup/content/mixins/ChartMediaInfo.d.ts +1 -1
- package/popup/content/mixins/MediaInfo.d.ts +1 -1
- package/popup/content/support/ChartMediaInfoValue.d.ts +1 -1
- package/popup/content/support/ChartMediaInfoValueSeries.d.ts +1 -1
- package/popup/content/support/ImageMediaInfoValue.d.ts +1 -1
- package/popup/content.d.ts +1 -1
- package/popup/support/FieldInfoFormat.d.ts +1 -1
- package/popup/support/RelatedRecordsInfoFieldOrder.d.ts +1 -1
- package/portal/Portal.d.ts +1 -1
- package/portal/PortalFolder.d.ts +1 -1
- package/portal/PortalGroup.d.ts +1 -1
- package/portal/PortalItem.d.ts +1 -1
- package/portal/PortalItemResource.d.ts +1 -1
- package/portal/PortalQueryParams.d.ts +1 -1
- package/portal/PortalQueryResult.d.ts +1 -1
- package/portal/PortalRating.d.ts +1 -1
- package/portal/PortalUser.d.ts +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/rasterRenderers.d.ts +1 -1
- package/renderers/ClassBreaksRenderer.d.ts +1 -1
- package/renderers/DictionaryRenderer.d.ts +1 -1
- package/renderers/DotDensityRenderer.d.ts +1 -1
- package/renderers/FlowRenderer.d.ts +1 -1
- package/renderers/HeatmapRenderer.d.ts +1 -1
- package/renderers/PieChartRenderer.d.ts +1 -1
- package/renderers/PointCloudClassBreaksRenderer.d.ts +1 -1
- package/renderers/PointCloudRGBRenderer.d.ts +1 -1
- package/renderers/PointCloudRenderer.d.ts +1 -1
- package/renderers/PointCloudStretchRenderer.d.ts +1 -1
- package/renderers/PointCloudUniqueValueRenderer.d.ts +1 -1
- package/renderers/RasterColormapRenderer.d.ts +1 -1
- package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
- package/renderers/RasterStretchRenderer.d.ts +1 -1
- package/renderers/Renderer.d.ts +1 -1
- package/renderers/SimpleRenderer.d.ts +1 -1
- package/renderers/UniqueValueRenderer.d.ts +1 -1
- package/renderers/UniqueValueRenderer.js +1 -1
- package/renderers/VectorFieldRenderer.d.ts +1 -1
- package/renderers/mixins/VisualVariablesMixin.d.ts +1 -1
- package/renderers/support/AttributeColorInfo.d.ts +1 -1
- package/renderers/support/AuthoringInfo.d.ts +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.d.ts +1 -1
- package/renderers/support/ClassBreakInfo.d.ts +1 -1
- package/renderers/support/ColormapInfo.d.ts +1 -1
- package/renderers/support/HeatmapColorStop.d.ts +1 -1
- package/renderers/support/UniqueValue.d.ts +1 -1
- package/renderers/support/UniqueValueClass.d.ts +1 -1
- package/renderers/support/UniqueValueClass.js +1 -1
- package/renderers/support/UniqueValueGroup.d.ts +1 -1
- package/renderers/support/UniqueValueInfo.d.ts +1 -1
- package/renderers/support/jsonUtils.d.ts +1 -1
- package/renderers/visualVariables/ColorVariable.d.ts +1 -1
- package/renderers/visualVariables/OpacityVariable.d.ts +1 -1
- package/renderers/visualVariables/RotationVariable.d.ts +1 -1
- package/renderers/visualVariables/SizeVariable.d.ts +1 -1
- package/renderers/visualVariables/VisualVariable.d.ts +1 -1
- package/renderers/visualVariables/support/ColorSizeStop.d.ts +1 -1
- package/renderers/visualVariables/support/ColorStop.d.ts +1 -1
- package/renderers/visualVariables/support/OpacityStop.d.ts +1 -1
- package/renderers/visualVariables/support/SizeStop.d.ts +1 -1
- package/renderers.d.ts +1 -1
- package/request.d.ts +1 -1
- package/rest/closestFacility.d.ts +1 -1
- package/rest/find.d.ts +1 -1
- package/rest/geometryService.d.ts +1 -1
- package/rest/geoprocessor/GPOptions.d.ts +1 -1
- package/rest/geoprocessor.d.ts +1 -1
- package/rest/identify.d.ts +1 -1
- package/rest/imageService.d.ts +1 -1
- package/rest/knowledgeGraph/DataModel.d.ts +1 -1
- package/rest/knowledgeGraph/Entity.d.ts +1 -1
- package/rest/knowledgeGraph/EntityType.d.ts +1 -1
- package/rest/knowledgeGraph/FieldIndex.d.ts +1 -1
- package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
- package/rest/knowledgeGraph/GraphApplyEditsResult.d.ts +1 -1
- package/rest/knowledgeGraph/GraphNamedObject.d.ts +1 -1
- package/rest/knowledgeGraph/GraphObject.d.ts +1 -1
- package/rest/knowledgeGraph/GraphObjectType.d.ts +1 -1
- package/rest/knowledgeGraph/GraphProperty.d.ts +1 -1
- package/rest/knowledgeGraph/GraphQuery.d.ts +1 -1
- package/rest/knowledgeGraph/GraphQueryResult.d.ts +1 -1
- package/rest/knowledgeGraph/GraphQueryStreaming.d.ts +1 -1
- package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +1 -1
- package/rest/knowledgeGraph/GraphSearch.d.ts +1 -1
- package/rest/knowledgeGraph/GraphSearchStreaming.d.ts +1 -1
- package/rest/knowledgeGraph/InputQuantizationParameters.d.ts +1 -1
- package/rest/knowledgeGraph/KnowledgeGraph.d.ts +1 -1
- package/rest/knowledgeGraph/OutputQuantizationParameters.d.ts +1 -1
- package/rest/knowledgeGraph/Path.d.ts +1 -1
- package/rest/knowledgeGraph/Relationship.d.ts +1 -1
- package/rest/knowledgeGraph/RelationshipType.d.ts +1 -1
- package/rest/knowledgeGraphService.d.ts +1 -1
- package/rest/locator.d.ts +1 -1
- package/rest/networkService.d.ts +1 -1
- package/rest/networks/support/AggregatedGeometry.d.ts +1 -1
- package/rest/networks/support/Association.d.ts +1 -1
- package/rest/networks/support/AssociationGeometriesResult.d.ts +1 -1
- package/rest/networks/support/FunctionResult.d.ts +1 -1
- package/rest/networks/support/NetworkElement.d.ts +1 -1
- package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +1 -1
- package/rest/networks/support/TraceLocation.d.ts +1 -1
- package/rest/networks/support/TraceParameters.d.ts +1 -1
- package/rest/networks/support/TraceResult.d.ts +1 -1
- package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -1
- package/rest/networks/trace.d.ts +1 -1
- package/rest/print.d.ts +1 -1
- package/rest/print.js +1 -1
- package/rest/query/support/AttachmentInfo.d.ts +1 -1
- package/rest/query.d.ts +1 -1
- package/rest/route.d.ts +1 -1
- package/rest/serviceArea.d.ts +1 -1
- package/rest/support/AddressCandidate.d.ts +1 -1
- package/rest/support/AlgorithmicColorRamp.d.ts +1 -1
- package/rest/support/AreasAndLengthsParameters.d.ts +1 -1
- package/rest/support/AttachmentQuery.d.ts +1 -1
- package/rest/support/BufferParameters.d.ts +1 -1
- package/rest/support/ClosestFacilityParameters.d.ts +1 -1
- package/rest/support/ClosestFacilitySolveResult.d.ts +1 -1
- package/rest/support/ColorRamp.d.ts +1 -1
- package/rest/support/DataFile.d.ts +1 -1
- package/rest/support/DataLayer.d.ts +1 -1
- package/rest/support/DensifyParameters.d.ts +1 -1
- package/rest/support/DirectionLine.d.ts +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.d.ts +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/DirectionsEvent.d.ts +1 -1
- package/rest/support/DirectionsFeature.d.ts +1 -1
- package/rest/support/DirectionsFeatureSet.d.ts +1 -1
- package/rest/support/DistanceParameters.d.ts +1 -1
- package/rest/support/FeatureSet.d.ts +1 -1
- package/rest/support/FindParameters.d.ts +1 -1
- package/rest/support/FindResult.d.ts +1 -1
- package/rest/support/GPMessage.d.ts +1 -1
- package/rest/support/GeneralizeParameters.d.ts +1 -1
- package/rest/support/IdentifyParameters.d.ts +1 -1
- package/rest/support/IdentifyResult.d.ts +1 -1
- package/rest/support/ImageAngleParameters.d.ts +1 -1
- package/rest/support/ImageAngleResult.d.ts +1 -1
- package/rest/support/ImageHistogramParameters.d.ts +1 -1
- package/rest/support/ImageIdentifyParameters.d.ts +1 -1
- package/rest/support/ImageIdentifyResult.d.ts +1 -1
- package/rest/support/ImageParameters.d.ts +1 -1
- package/rest/support/ImagePixelLocationParameters.d.ts +1 -1
- package/rest/support/ImagePixelLocationResult.d.ts +1 -1
- package/rest/support/ImageSample.d.ts +1 -1
- package/rest/support/ImageSampleParameters.d.ts +1 -1
- package/rest/support/ImageSampleResult.d.ts +1 -1
- package/rest/support/JobInfo.d.ts +1 -1
- package/rest/support/LegendLayer.d.ts +1 -1
- package/rest/support/LengthsParameters.d.ts +1 -1
- package/rest/support/LinearUnit.d.ts +1 -1
- package/rest/support/MultipartColorRamp.d.ts +1 -1
- package/rest/support/NAMessage.d.ts +1 -1
- package/rest/support/NetworkFeatureSet.d.ts +1 -1
- package/rest/support/NetworkUrl.d.ts +1 -1
- package/rest/support/OffsetParameters.d.ts +1 -1
- package/rest/support/ParameterValue.d.ts +1 -1
- package/rest/support/PointBarrier.d.ts +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.d.ts +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.d.ts +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/PrintParameters.d.ts +1 -1
- package/rest/support/PrintTemplate.d.ts +1 -1
- package/rest/support/ProjectParameters.d.ts +1 -1
- package/rest/support/Query.d.ts +1 -1
- package/rest/support/RasterData.d.ts +1 -1
- package/rest/support/RelationParameters.d.ts +1 -1
- package/rest/support/RelationshipQuery.d.ts +1 -1
- package/rest/support/RouteInfo.d.ts +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/RouteParameters.d.ts +1 -1
- package/rest/support/RouteResult.d.ts +1 -1
- package/rest/support/RouteSolveResult.d.ts +1 -1
- package/rest/support/ServiceAreaParameters.d.ts +1 -1
- package/rest/support/ServiceAreaSolveResult.d.ts +1 -1
- package/rest/support/StatisticDefinition.d.ts +1 -1
- package/rest/support/Stop.d.ts +1 -1
- package/rest/support/Stop.js +1 -1
- package/rest/support/TopFeaturesQuery.d.ts +1 -1
- package/rest/support/TopFilter.d.ts +1 -1
- package/rest/support/TravelMode.d.ts +1 -1
- package/rest/support/TrimExtendParameters.d.ts +1 -1
- package/rest/symbolService.d.ts +1 -1
- package/smartMapping/heuristics/outline.js +1 -1
- package/smartMapping/heuristics/scaleRange.d.ts +1 -1
- package/smartMapping/heuristics/scaleRange.js +1 -1
- package/smartMapping/heuristics/sizeRange.d.ts +1 -1
- package/smartMapping/heuristics/sizeRange.js +1 -1
- package/smartMapping/labels/clusters.d.ts +1 -1
- package/smartMapping/popup/clusters.d.ts +1 -1
- package/smartMapping/popup/templates.d.ts +1 -1
- package/smartMapping/raster/renderers/classBreaks.d.ts +1 -1
- package/smartMapping/raster/renderers/colormap.d.ts +1 -1
- package/smartMapping/raster/renderers/flow.d.ts +1 -1
- package/smartMapping/raster/renderers/rgb.d.ts +1 -1
- package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -1
- package/smartMapping/raster/renderers/stretch.d.ts +1 -1
- package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -1
- package/smartMapping/raster/renderers/vectorField.d.ts +1 -1
- package/smartMapping/raster/support/utils.d.ts +1 -1
- package/smartMapping/renderers/color.d.ts +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.d.ts +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.d.ts +1 -1
- package/smartMapping/renderers/location.d.ts +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/opacity.d.ts +1 -1
- package/smartMapping/renderers/opacity.js +1 -1
- package/smartMapping/renderers/pieChart.d.ts +1 -1
- package/smartMapping/renderers/pieChart.js +1 -1
- package/smartMapping/renderers/predominance.d.ts +1 -1
- package/smartMapping/renderers/predominance.js +1 -1
- package/smartMapping/renderers/relationship.d.ts +1 -1
- package/smartMapping/renderers/relationship.js +1 -1
- package/smartMapping/renderers/size.d.ts +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/utils.js +1 -1
- package/smartMapping/renderers/type.d.ts +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.d.ts +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/classBreaks.d.ts +1 -1
- package/smartMapping/statistics/classBreaks.js +1 -1
- package/smartMapping/statistics/heatmapStatistics.d.ts +1 -1
- package/smartMapping/statistics/histogram.d.ts +1 -1
- package/smartMapping/statistics/histogram.js +1 -1
- package/smartMapping/statistics/predominantCategories.d.ts +1 -1
- package/smartMapping/statistics/predominantCategories.js +1 -1
- package/smartMapping/statistics/summaryStatistics.d.ts +1 -1
- package/smartMapping/statistics/summaryStatistics.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAge.d.ts +1 -1
- package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
- package/smartMapping/statistics/support/ageUtils.d.ts +1 -1
- package/smartMapping/statistics/support/predominanceUtils.d.ts +1 -1
- package/smartMapping/statistics/uniqueValues.d.ts +1 -1
- package/smartMapping/statistics/uniqueValues.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +5 -0
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/layerUtils.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/smartMapping/support/binningUtils.js +1 -1
- package/smartMapping/symbology/color.d.ts +1 -1
- package/smartMapping/symbology/dotDensity.d.ts +1 -1
- package/smartMapping/symbology/flow.d.ts +1 -1
- package/smartMapping/symbology/heatmap.d.ts +1 -1
- package/smartMapping/symbology/location.d.ts +1 -1
- package/smartMapping/symbology/pieChart.d.ts +1 -1
- package/smartMapping/symbology/predominance.d.ts +1 -1
- package/smartMapping/symbology/relationship.d.ts +1 -1
- package/smartMapping/symbology/size.d.ts +1 -1
- package/smartMapping/symbology/support/colorRamps.d.ts +1 -1
- package/smartMapping/symbology/type.d.ts +1 -1
- package/support/LayersMixin.d.ts +1 -1
- package/support/MapFloorInfo.d.ts +1 -1
- package/support/TablesMixin.d.ts +1 -1
- package/support/actions/ActionBase.d.ts +1 -1
- package/support/actions/ActionButton.d.ts +1 -1
- package/support/actions/ActionToggle.d.ts +1 -1
- package/support/popupUtils.d.ts +1 -1
- package/support/revision.js +1 -1
- package/support/timeUtils.d.ts +1 -1
- package/symbols/CIMSymbol.d.ts +1 -1
- package/symbols/ExtrudeSymbol3DLayer.d.ts +1 -1
- package/symbols/FillSymbol.d.ts +1 -1
- package/symbols/FillSymbol3DLayer.d.ts +1 -1
- package/symbols/Font.d.ts +1 -1
- package/symbols/IconSymbol3DLayer.d.ts +1 -1
- package/symbols/LabelSymbol3D.d.ts +1 -1
- package/symbols/LineStyleMarker3D.d.ts +1 -1
- package/symbols/LineSymbol.d.ts +1 -1
- package/symbols/LineSymbol3D.d.ts +1 -1
- package/symbols/LineSymbol3DLayer.d.ts +1 -1
- package/symbols/LineSymbolMarker.d.ts +1 -1
- package/symbols/MarkerSymbol.d.ts +1 -1
- package/symbols/MeshSymbol3D.d.ts +1 -1
- package/symbols/ObjectSymbol3DLayer.d.ts +1 -1
- package/symbols/PathSymbol3DLayer.d.ts +1 -1
- package/symbols/PictureFillSymbol.d.ts +1 -1
- package/symbols/PictureMarkerSymbol.d.ts +1 -1
- package/symbols/PointSymbol3D.d.ts +1 -1
- package/symbols/PolygonSymbol3D.d.ts +1 -1
- package/symbols/SimpleFillSymbol.d.ts +1 -1
- package/symbols/SimpleLineSymbol.d.ts +1 -1
- package/symbols/SimpleMarkerSymbol.d.ts +1 -1
- package/symbols/Symbol.d.ts +1 -1
- package/symbols/Symbol3D.d.ts +1 -1
- package/symbols/Symbol3DLayer.d.ts +1 -1
- package/symbols/TextSymbol.d.ts +1 -1
- package/symbols/TextSymbol3DLayer.d.ts +1 -1
- package/symbols/WaterSymbol3DLayer.d.ts +1 -1
- package/symbols/WebStyleSymbol.d.ts +1 -1
- package/symbols/callouts/Callout3D.d.ts +1 -1
- package/symbols/callouts/LineCallout3D.d.ts +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/edges/Edges3D.d.ts +1 -1
- package/symbols/edges/SketchEdges3D.d.ts +1 -1
- package/symbols/edges/SolidEdges3D.d.ts +1 -1
- package/symbols/patterns/LineStylePattern3D.d.ts +1 -1
- package/symbols/patterns/StylePattern3D.d.ts +1 -1
- package/symbols/support/StyleOrigin.d.ts +1 -1
- package/symbols/support/Symbol3DVerticalOffset.d.ts +1 -1
- package/symbols/support/cimSymbolUtils.d.ts +1 -1
- package/symbols/support/jsonUtils.d.ts +1 -1
- package/symbols/support/previewCIMSymbol.js +1 -1
- package/symbols/support/previewSymbol2D.js +1 -1
- package/symbols/support/symbolUtils.d.ts +1 -1
- package/symbols/support/symbolUtils.js +1 -1
- package/symbols.d.ts +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/ViewState.d.ts +1 -1
- package/views/2d/ViewState.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterVFTile.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
- package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
- package/views/2d/engine/webgl/OverlayContainer.js +1 -1
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/TextureUploadManager.js +1 -1
- package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
- package/views/2d/engine/webgl/WGLTile.js +1 -1
- package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
- package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
- package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
- package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
- package/views/3d/analysis/AreaMeasurementAnalysisView3D.d.ts +1 -1
- package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/Dimension/settings.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.d.ts +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisResult.d.ts +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
- package/views/3d/analysis/Slice/sliceToolConfig.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/analysis/SliceAnalysisView3D.d.ts +1 -1
- package/views/3d/camera/constraintUtils/distance.js +1 -1
- package/views/3d/camera/constraintUtils/tilt.js +1 -1
- package/views/3d/environment/ChapmanAtmosphere.js +1 -1
- package/views/3d/environment/CloudsCompositionParameters.js +1 -1
- package/views/3d/environment/CloudyWeather.d.ts +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/environment/FoggyWeather.d.ts +1 -1
- package/views/3d/environment/RainyWeather.d.ts +1 -1
- package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
- package/views/3d/environment/SimpleAtmosphere.js +1 -1
- package/views/3d/environment/SnowyWeather.d.ts +1 -1
- package/views/3d/environment/SunLighting.d.ts +1 -1
- package/views/3d/environment/SunnyWeather.d.ts +1 -1
- package/views/3d/environment/VirtualLighting.d.ts +1 -1
- package/views/3d/externalRenderers.d.ts +1 -1
- package/views/3d/glTF/internal/Resource.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
- package/views/3d/interactive/editingTools/settings.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
- package/views/3d/interactive/manipulatorUtils.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudWorker.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SElevationProvider.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/PointRenderer.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/layers/support/I3STreeDebugger.js +1 -1
- package/views/3d/layers/support/edgeUtils.js +1 -1
- package/views/3d/layers/support/uvUtils.js +1 -1
- package/views/3d/state/Frustum.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/LayerPerformanceInfo.d.ts +1 -1
- package/views/3d/support/SceneViewPerformanceInfo.d.ts +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +22 -0
- package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryRecord.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.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/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
- package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
- package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/Model.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/BasemapView.d.ts +1 -1
- package/views/BreakpointsOwner.d.ts +1 -1
- package/views/DOMContainer.d.ts +1 -1
- package/views/GroundView.d.ts +1 -1
- package/views/Magnifier.d.ts +1 -1
- package/views/MapView.d.ts +1 -1
- package/views/MapView.js +1 -1
- package/views/SceneView.d.ts +1 -1
- package/views/ToolViewManager.js +1 -1
- package/views/View.d.ts +1 -1
- package/views/ViewAnimation.d.ts +1 -1
- package/views/analysis/DimensionAnalysisView.d.ts +1 -1
- package/views/analysis/LengthDimensionResult.d.ts +1 -1
- package/views/draw/Draw.d.ts +1 -1
- package/views/draw/Draw.js +1 -1
- package/views/draw/DrawAction.d.ts +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/MultipointDrawAction.d.ts +1 -1
- package/views/draw/MultipointDrawAction.js +1 -1
- package/views/draw/PointDrawAction.d.ts +1 -1
- package/views/draw/PolygonDrawAction.d.ts +1 -1
- package/views/draw/PolylineDrawAction.d.ts +1 -1
- package/views/draw/SegmentDrawAction.d.ts +1 -1
- package/views/draw/drawSurfaces.js +1 -1
- package/views/draw/support/surfaceCoordinateSystems.js +1 -1
- package/views/input/Input.d.ts +1 -1
- package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
- package/views/input/gamepad/GamepadSettings.d.ts +1 -1
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/interactive/dragEventPipeline.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
- package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/FeatureSnappingLayerSource.d.ts +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/SnappingConstraint.js +1 -1
- package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
- package/views/interactive/snapping/SnappingOperation.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
- package/views/interactive/snapping/candidates/DrapedEdgeSnappingCandidate.js +5 -0
- package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
- package/views/interactive/snapping/featureSources/queryEngineUtils.js +1 -1
- package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
- package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
- package/views/interactive/snapping/featureSources/snappingCandidateElevationFilter.js +1 -1
- package/views/interactive/snapping/snappingUtils.js +1 -1
- package/views/interactive/tooltip/DrawTooltipInfos.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
- package/views/layers/BuildingComponentSublayerView.d.ts +1 -1
- package/views/layers/BuildingSceneLayerView.d.ts +1 -1
- package/views/layers/CSVLayerView.d.ts +1 -1
- package/views/layers/DimensionLayerView.d.ts +1 -1
- package/views/layers/FeatureLayerView.d.ts +1 -1
- package/views/layers/GeoJSONLayerView.d.ts +1 -1
- package/views/layers/GeoRSSLayerView.d.ts +1 -1
- package/views/layers/GraphicsLayerView.d.ts +1 -1
- package/views/layers/ImageryLayerView.d.ts +1 -1
- package/views/layers/KMLLayerView.d.ts +1 -1
- package/views/layers/LayerView.d.ts +1 -1
- package/views/layers/OGCFeatureLayerView.d.ts +1 -1
- package/views/layers/PointCloudLayerView.d.ts +1 -1
- package/views/layers/SceneLayerView.d.ts +1 -1
- package/views/layers/StreamLayerView.d.ts +1 -1
- package/views/layers/WFSLayerView.d.ts +1 -1
- package/views/navigation/Navigation.d.ts +1 -1
- package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
- package/views/navigation/gamepad/GamepadSettings.d.ts +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/support/colorUtils.d.ts +1 -1
- package/views/support/euclideanAreaMeasurementUtils.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/views/ui/DefaultUI.d.ts +1 -1
- package/views/ui/UI.d.ts +1 -1
- package/webdoc/GeotriggersInfo.d.ts +1 -1
- package/webdoc/applicationProperties/Search.d.ts +1 -1
- package/webdoc/applicationProperties/SearchLayer.d.ts +1 -1
- package/webdoc/applicationProperties/SearchLayerField.d.ts +1 -1
- package/webdoc/applicationProperties/SearchTable.d.ts +1 -1
- package/webdoc/applicationProperties/SearchTableField.d.ts +1 -1
- package/webdoc/applicationProperties/Viewing.d.ts +1 -1
- package/webdoc/geotriggersInfo/DeviceLocationFeed.d.ts +1 -1
- package/webdoc/geotriggersInfo/ExpressionInfo.d.ts +1 -1
- package/webdoc/geotriggersInfo/FeatureFenceParameters.d.ts +1 -1
- package/webdoc/geotriggersInfo/FeatureFilter.d.ts +1 -1
- package/webdoc/geotriggersInfo/FeatureLayerSource.d.ts +1 -1
- package/webdoc/geotriggersInfo/FenceGeotrigger.d.ts +1 -1
- package/webdoc/geotriggersInfo/Geotrigger.d.ts +1 -1
- package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.d.ts +1 -1
- package/webmap/ApplicationProperties.d.ts +1 -1
- package/webmap/Bookmark.d.ts +1 -1
- package/webmap/InitialViewProperties.d.ts +1 -1
- package/webmap/background/ColorBackground.d.ts +1 -1
- package/webscene/ApplicationProperties.d.ts +1 -1
- package/webscene/Environment.d.ts +1 -1
- package/webscene/InitialViewProperties.d.ts +1 -1
- package/webscene/Lighting.d.ts +1 -1
- package/webscene/Presentation.d.ts +1 -1
- package/webscene/Slide.d.ts +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/SunLighting.d.ts +1 -1
- package/webscene/VirtualLighting.d.ts +1 -1
- package/webscene/background/Background.d.ts +1 -1
- package/webscene/background/ColorBackground.d.ts +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +1 -1
- package/widgets/AreaMeasurement2D.d.ts +1 -1
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.d.ts +1 -1
- package/widgets/AreaMeasurement3D.d.ts +1 -1
- package/widgets/Attachments/AttachmentsViewModel.d.ts +1 -1
- package/widgets/Attachments.d.ts +1 -1
- package/widgets/Attribution/AttributionViewModel.d.ts +1 -1
- package/widgets/Attribution.d.ts +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +1 -1
- package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +1 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +1 -1
- package/widgets/BasemapGallery.d.ts +1 -1
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +1 -1
- package/widgets/BasemapLayerList.d.ts +1 -1
- package/widgets/BasemapToggle/BasemapToggleViewModel.d.ts +1 -1
- package/widgets/BasemapToggle.d.ts +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.d.ts +1 -1
- package/widgets/Bookmarks.d.ts +1 -1
- package/widgets/BuildingExplorer/BuildingExplorerViewModel.d.ts +1 -1
- package/widgets/BuildingExplorer/BuildingLevel.d.ts +1 -1
- package/widgets/BuildingExplorer/BuildingPhase.d.ts +1 -1
- package/widgets/BuildingExplorer.d.ts +1 -1
- package/widgets/Compass/CompassViewModel.d.ts +1 -1
- package/widgets/Compass.d.ts +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +1 -1
- package/widgets/CoordinateConversion/support/Conversion.d.ts +1 -1
- package/widgets/CoordinateConversion/support/Format.d.ts +1 -1
- package/widgets/CoordinateConversion.d.ts +1 -1
- package/widgets/Daylight/DaylightViewModel.d.ts +1 -1
- package/widgets/Daylight.d.ts +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.d.ts +1 -1
- package/widgets/DirectLineMeasurement3D.d.ts +1 -1
- package/widgets/Directions/DirectionsViewModel.d.ts +1 -1
- package/widgets/Directions.d.ts +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +1 -1
- package/widgets/DistanceMeasurement2D.d.ts +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
- package/widgets/Editor/CreateFeaturesWorkflowData.d.ts +1 -1
- package/widgets/Editor/CreateWorkflow.d.ts +1 -1
- package/widgets/Editor/CreateWorkflowData.d.ts +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +1 -1
- package/widgets/Editor/Edits.d.ts +1 -1
- package/widgets/Editor/UpdateWorkflow.d.ts +1 -1
- package/widgets/Editor/UpdateWorkflowData.d.ts +1 -1
- package/widgets/Editor/Workflow.d.ts +1 -1
- package/widgets/Editor.d.ts +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLine.d.ts +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.d.ts +1 -1
- package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
- package/widgets/ElevationProfile/support/constants.js +1 -1
- package/widgets/ElevationProfile.d.ts +1 -1
- package/widgets/Expand/ExpandViewModel.d.ts +1 -1
- package/widgets/Expand.d.ts +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureViewModel.d.ts +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature.d.ts +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.d.ts +1 -1
- package/widgets/FeatureForm/FieldConfig.d.ts +1 -1
- package/widgets/FeatureForm/FieldGroupConfig.d.ts +1 -1
- package/widgets/FeatureForm/FormExpressionArcadeExecutor.js +1 -1
- package/widgets/FeatureForm/InputField.d.ts +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm/InputFieldGroup.d.ts +1 -1
- package/widgets/FeatureForm.d.ts +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -1
- package/widgets/FeatureTable/FieldColumn.d.ts +1 -1
- package/widgets/FeatureTable/FieldColumnConfig.d.ts +1 -1
- package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
- package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenu.d.ts +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenuItem.d.ts +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenuViewModel.d.ts +1 -1
- package/widgets/FeatureTable/support/ColumnTemplate.d.ts +1 -1
- package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
- package/widgets/FeatureTable/support/FieldColumnTemplate.d.ts +1 -1
- package/widgets/FeatureTable/support/GroupColumnTemplate.d.ts +1 -1
- package/widgets/FeatureTable/support/TableTemplate.d.ts +1 -1
- package/widgets/FeatureTable.d.ts +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +1 -1
- package/widgets/FeatureTemplates/TemplateItem.d.ts +1 -1
- package/widgets/FeatureTemplates/TemplateItemGroup.d.ts +1 -1
- package/widgets/FeatureTemplates.d.ts +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.d.ts +1 -1
- package/widgets/FloorFilter.d.ts +1 -1
- package/widgets/Fullscreen/FullscreenViewModel.d.ts +1 -1
- package/widgets/Fullscreen.d.ts +1 -1
- package/widgets/Histogram/HistogramViewModel.d.ts +1 -1
- package/widgets/Histogram.d.ts +1 -1
- package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +1 -1
- package/widgets/HistogramRangeSlider.d.ts +1 -1
- package/widgets/Home/HomeViewModel.d.ts +1 -1
- package/widgets/Home.d.ts +1 -1
- package/widgets/LayerList/LayerListViewModel.d.ts +1 -1
- package/widgets/LayerList/ListItem.d.ts +1 -1
- package/widgets/LayerList/ListItemPanel.d.ts +1 -1
- package/widgets/LayerList.d.ts +1 -1
- package/widgets/Legend/LegendViewModel.d.ts +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.d.ts +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend.d.ts +1 -1
- package/widgets/LineOfSight/LineOfSightTarget.d.ts +1 -1
- package/widgets/LineOfSight/LineOfSightViewModel.d.ts +1 -1
- package/widgets/LineOfSight.d.ts +1 -1
- package/widgets/Locate/LocateViewModel.d.ts +1 -1
- package/widgets/Locate.d.ts +1 -1
- package/widgets/Measurement/MeasurementViewModel.d.ts +1 -1
- package/widgets/Measurement.d.ts +1 -1
- package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
- package/widgets/NavigationToggle.d.ts +1 -1
- package/widgets/Popup/PopupViewModel.d.ts +1 -1
- package/widgets/Popup.d.ts +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print/CustomTemplate.d.ts +1 -1
- package/widgets/Print/PrintViewModel.d.ts +1 -1
- package/widgets/Print/TemplateOptions.d.ts +1 -1
- package/widgets/Print.d.ts +1 -1
- package/widgets/ScaleBar/ScaleBarViewModel.d.ts +1 -1
- package/widgets/ScaleBar.d.ts +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.d.ts +1 -1
- package/widgets/ScaleRangeSlider/ScaleRanges.d.ts +1 -1
- package/widgets/ScaleRangeSlider.d.ts +1 -1
- package/widgets/Search/LayerSearchSource.d.ts +1 -1
- package/widgets/Search/LocatorSearchSource.d.ts +1 -1
- package/widgets/Search/SearchResultRenderer.d.ts +1 -1
- package/widgets/Search/SearchSource.d.ts +1 -1
- package/widgets/Search/SearchViewModel.d.ts +1 -1
- package/widgets/Search.d.ts +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.d.ts +1 -1
- package/widgets/ShadowCast.d.ts +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/support/OperationHandle.js +1 -1
- package/widgets/Sketch.d.ts +1 -1
- package/widgets/Slice/SlicePlane.d.ts +1 -1
- package/widgets/Slice/SliceViewModel.d.ts +1 -1
- package/widgets/Slice.d.ts +1 -1
- package/widgets/Slider/SliderViewModel.d.ts +1 -1
- package/widgets/Slider.d.ts +1 -1
- package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
- package/widgets/Swipe.d.ts +1 -1
- package/widgets/TableList/ListItem.d.ts +1 -1
- package/widgets/TableList/TableListViewModel.d.ts +1 -1
- package/widgets/TableList.d.ts +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -1
- package/widgets/TimeSlider.d.ts +1 -1
- package/widgets/Track/TrackViewModel.d.ts +1 -1
- package/widgets/Track.d.ts +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +1 -1
- package/widgets/UtilityNetworkTrace.d.ts +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/Weather/WeatherViewModel.d.ts +1 -1
- package/widgets/Weather.d.ts +1 -1
- package/widgets/Widget.d.ts +1 -1
- package/widgets/Zoom/ZoomViewModel.d.ts +1 -1
- package/widgets/Zoom.d.ts +1 -1
- package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
- package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
- package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/ColorSizeSlider.d.ts +1 -1
- package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/ColorSlider.d.ts +1 -1
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
- package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
- package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/SizeSlider.d.ts +1 -1
- package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/SmartMappingSliderBase.d.ts +1 -1
- package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +1 -1
- package/widgets/smartMapping/support/utils.d.ts +1 -1
- package/widgets/support/DatePicker.d.ts +1 -1
- package/widgets/support/DatePickerViewModel.d.ts +1 -1
- package/widgets/support/DateTimeElementViewModel.d.ts +1 -1
- package/widgets/support/GeolocationPositioning.d.ts +1 -1
- package/widgets/support/GoTo.d.ts +1 -1
- package/widgets/support/SnappingControls/SnappingControlsViewModel.d.ts +1 -1
- package/widgets/support/SnappingControls.d.ts +1 -1
- package/widgets/support/TimePicker.d.ts +1 -1
- package/widgets/support/TimePickerViewModel.d.ts +1 -1
- package/widgets/support/widget.d.ts +1 -1
- package/assets/esri/core/workers/chunks/09255015e57bdfa5337f.js +0 -1
- package/assets/esri/core/workers/chunks/24ffd7180bb947bc8aec.js +0 -1
- package/assets/esri/core/workers/chunks/2d6d089176b6bd490b9f.js +0 -1
- package/assets/esri/core/workers/chunks/325f9eb52610c6c22f46.js +0 -1
- package/assets/esri/core/workers/chunks/6a2358861b3d3007ad26.js +0 -1
- package/assets/esri/core/workers/chunks/7230a7d5fb7106b14024.js +0 -1
- package/assets/esri/core/workers/chunks/90dfa238d78c92fe43b1.js +0 -1
- package/assets/esri/core/workers/chunks/a16109389dce496ab51c.js +0 -1
- package/assets/esri/core/workers/chunks/bf248b08e18a50878f38.js +0 -1
- package/assets/esri/core/workers/chunks/c9399a106dc167368a39.js +0 -1
- package/assets/esri/core/workers/chunks/ceb68e994b82d69c1215.js +0 -1
- package/assets/esri/core/workers/chunks/dbf72099949febfae5a1.js +0 -1
- package/assets/esri/core/workers/chunks/e158ca25c239a5912ea0.js +0 -1
- package/assets/esri/core/workers/chunks/ece3d9989c9ec13cae09.js +0 -1
- package/assets/esri/core/workers/chunks/f6772f57bb1466e50d63.js +0 -1
- package/chunks/MultipointDrawAction.js +0 -5
- package/smartMapping/statistics/summaryStatisticsForBinning.js +0 -5
- package/views/2d/draw/Draw.js +0 -5
- package/views/2d/draw/DrawAction.js +0 -5
- package/views/2d/draw/MultipointDrawAction.js +0 -5
- package/views/2d/draw/PointDrawAction.js +0 -5
- package/views/2d/draw/PolygonDrawAction.js +0 -5
- package/views/2d/draw/PolylineDrawAction.js +0 -5
- package/views/2d/draw/SegmentDrawAction.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isNone as e,isSome as t}from"../../../../../core/maybe.js";import{pt2px as i}from"../../../../../core/screenUtils.js";import{FILTER_FLAG_0 as o,EFFECT_FLAG_0 as r}from"../definitions.js";import{CollisionBitsetGrid as n,NONE as s,HAS_COLLISION as a,OUTSIDE_EXTENT as l}from"./CollisionGrid.js";import{getSizeForValueSimple as
|
|
5
|
+
import{isNone as e,isSome as t}from"../../../../../core/maybe.js";import{pt2px as i}from"../../../../../core/screenUtils.js";import{FILTER_FLAG_0 as o,EFFECT_FLAG_0 as r}from"../definitions.js";import{CollisionBitsetGrid as n,NONE as s,HAS_COLLISION as a,OUTSIDE_EXTENT as l}from"./CollisionGrid.js";import{getSizeForValueSimple as c}from"./visualVariableSimpleUtils.js";const d=254,u=255,f=0;function b(e,i){const o=[];e.forEachTile((e=>o.push(e))),o.sort(((e,t)=>e.instanceId-t.instanceId)),o.forEach((e=>{t(e.labelMetrics)&&e.isReady&&i(e,e.labelMetrics.getCursor())}))}function p(e){return e.layer&&("feature"===e.layer.type||"csv"===e.layer.type||"geojson"===e.layer.type||"ogc-feature"===e.layer.type||"stream"===e.layer.type||"subtype-group"===e.layer.type||"wfs"===e.layer.type)}function y(e){return t=>i(c(t,e))}function m(e){const t="visualVariables"in e&&e.visualVariables;if(!t)return null;for(const i of t)if("size"===i.type)return y(i);return null}function h(e){for(const t of e){const e="featureReduction"in t&&t.featureReduction&&"labelingInfo"in t.featureReduction&&t.featureReduction,i=[...t.labelingInfo||[],...e?.labelingInfo||[]];if(!t.labelsVisible||!i.length)continue;if(i.some((e=>"none"===e.deconflictionStrategy)))return!0}return!1}function M(t,i){if(!p(i))return;const o="subtype-group"===i.layer.type?i.layer.sublayers.items:[i.layer],r=i.layer.geometryType,n=!h(o),s={};if("subtype-group"!==i.layer.type){if("heatmap"===i.tileRenderer?.type)return;const e=m(i.layer.renderer);s[0]=e}const a=i.tileRenderer;if(e(a))return;const l=i.layer.visible&&!i.suspended;t.push({tileRenderer:a,vvEvaluators:s,deconflictionEnabled:n,geometryType:r,visible:l})}class g{run(e,t,i){const o=[];for(let r=e.length-1;r>=0;r--){M(o,e[r])}this._transformMetrics(o,t),this._runCollision(o,t,i)}_runCollision(e,t,i){const[o,r]=t.state.size,s=new n(o*t.pixelRatio,r*t.pixelRatio);for(const{tileRenderer:n,deconflictionEnabled:a,visible:l}of e){const e=n.featuresView.attributeView;a?l?(this._prepare(n),this._collideVisible(s,n,i),this._collideInvisible(s,n)):b(n,((t,i)=>{for(;i.nextId();)e.setLabelMinZoom(i.id,u)})):b(n,((t,i)=>{for(;i.nextId();)e.setLabelMinZoom(i.id,f),l&&s.insertMetrics(i)}))}}_isFiltered(t,i,n){const s=i.getFilterFlags(t),a=!n.hasFilter||!!(s&o),l=e(n.featureEffect)||n.featureEffect.excludedLabelsVisible||!!(s&r);return!(a&&l)}_prepare(e){const t=e.featuresView.attributeView,i=new Set;b(e,((o,r)=>{for(;r.nextId();){if(i.has(r.id))continue;if(i.add(r.id),this._isFiltered(r.id,t,e.layerView)){t.setLabelMinZoom(r.id,d);continue}t.getLabelMinZoom(r.id)!==f?t.setLabelMinZoom(r.id,u):t.setLabelMinZoom(r.id,f)}}))}_collideVisible(e,t,i){const o=t.featuresView.attributeView,r=new Set;b(t,((t,n)=>{for(;n.nextId();)if(!r.has(n.id))if(t.key.level===i){if(0===o.getLabelMinZoom(n.id)){switch(e.insertMetrics(n)){case l:break;case a:o.setLabelMinZoom(n.id,d),r.add(n.id);break;case s:o.setLabelMinZoom(n.id,f),r.add(n.id)}}}else o.setLabelMinZoom(n.id,d)}))}_collideInvisible(e,t){const i=t.featuresView.attributeView,o=new Set;b(t,((t,r)=>{for(;r.nextId();)if(!o.has(r.id)&&i.getLabelMinZoom(r.id)===u){switch(e.insertMetrics(r)){case l:break;case a:i.setLabelMinZoom(r.id,u),o.add(r.id);break;case s:i.setLabelMinZoom(r.id,f),o.add(r.id)}}}))}_transformMetrics(e,i){for(const{tileRenderer:o,geometryType:r,vvEvaluators:n}of e)b(o,((e,s)=>{const a=o.featuresView.attributeView,l=e.transforms.labelMat2d;l[4]=Math.round(l[4]),l[5]=Math.round(l[5]);const c=l[4],d=l[5],u="polyline"===r;for(;s.next();){const e=s.boundsCount,o=s.anchorX,r=s.anchorY;let f=s.size;const b=n[0];if(t(b)){const e=b(a.getVVSize(s.id));f=isNaN(e)||null==e||e===1/0?f:e}const p=s.directionX*(f/2),y=s.directionY*(f/2);for(let t=0;t<e;t++){let e=o,n=s.anchorY;if(u){let o=e+s.boundsX(t)+p,r=n+s.boundsY(t)+y;i.state.rotation?(o=l[0]*o+l[2]*r+l[4],r=l[1]*o+l[3]*r+l[5]):(o+=c,r+=d),s.setBoundsComputedAnchorX(t,Math.floor(o)),s.setBoundsComputedAnchorY(t,Math.floor(r))}else{i.state.rotation?(e=l[0]*o+l[2]*r+l[4],n=l[1]*o+l[3]*r+l[5]):(e+=c,n+=d);const a=e+s.boundsX(t)+p,u=n+s.boundsY(t)+y;s.setBoundsComputedAnchorX(t,a),s.setBoundsComputedAnchorY(t,u)}}}}))}}export{g as CollisionEngine};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../AggregateGraphic.js";import"../../../geometry.js";import i from"../../../Graphic.js";import r from"../../../core/Collection.js";import s from"../../../core/Error.js";import has from"../../../core/has.js";import{clone as a}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{applySome as o,isSome as l,unwrap as h,isNone as u}from"../../../core/maybe.js";import{debounce as d,isAbortError as p}from"../../../core/promiseUtils.js";import{watch as c,whenOnce as y,syncAndInitial as f,initial as g}from"../../../core/reactiveUtils.js";import{property as m}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as _}from"../../../core/accessorSupport/decorators/subclass.js";import v from"../../../layers/effects/FeatureEffectView.js";import b from"../../../layers/support/FeatureFilter.js";import R from"../../../rest/support/AggregateFeatureSet.js";import S from"../../../rest/support/FeatureSet.js";import w from"../../../rest/support/Query.js";import{MAX_FILTERS as x}from"../engine/webgl/definitions.js";import{LayerView2DMixin as U}from"./LayerView2D.js";import{createSchema as C}from"./features/schemaUtils.js";import{createOrReuseTileRenderer as F}from"./features/tileRenderers.js";import{isRendererSupported as I}from"./features/support/rendererUtils.js";import{findSizeVV as q,createClusterCountSizeVariable as O,injectDynamicLevelDependentSizeVisualVariable as E,isClusterCompatibleRenderer as T,createClusterRenderer as V}from"./support/clusterUtils.js";import j from"./support/FeatureCommandQueue.js";import A from"./support/FeatureLayerProxy.js";import{toJSONGeometryType as L}from"./support/util.js";import{TileManager as N}from"../tiling/TileManager.js";import k from"../../layers/FeatureLayerView.js";import z from"../../layers/LayerView.js";import P from"../../layers/RefreshableLayerView.js";import{getWebGLCapabilities as Q}from"../../webgl/capabilities.js";import H from"../../../geometry/Extent.js";function J(e){return e&&"openPorts"in e}let M=class extends(k(P(U(z)))){constructor(){super(...arguments),this._pipelineIsUpdating=!0,this._commandsQueue=new j({process:e=>{switch(e.type){case"processed-edit":return this._doEdit(e);case"refresh":return this._doRefresh(e.dataChanged);case"update":return this._doUpdate()}}}),this._visibilityOverrides=new Set,this._highlightIds=new Map,this._updateHighlight=d((async()=>this._proxy.setHighlight(Array.from(this._highlightIds.keys())))),this._uploadsLocked=!1,this._needsClusterSizeUpdate=!1,this.featureEffectView=new v,this._lastDefinitionExpression=null}destroy(){o(this._updateClusterSizeTask,(e=>e.remove())),this._proxy?.destroy(),this._commandsQueue.destroy()}initialize(){this.addResolvingPromise(Promise.all([this._initProxy(),this._initServiceOptions()])),this.handles.add([this.on("valueRangesChanged",(e=>{this._set("_aggregateValueRanges",e.valueRanges)})),c((()=>this.featureEffect),(e=>{this.featureEffectView.featureEffect=e}),f)]),this.featureEffectView.endTransitions()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new s("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:this.layer});const t="feature"===e.type||"subtype-group"===e.type,i="capabilities"in e&&e.capabilities.operations.supportsQuery;if(t&&!i)throw new s("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._proxy&&this._proxy.destroy();const r=this._createClientOptions();return this._set("_proxy",new A({client:r})),this._proxy.when()}async _initServiceOptions(){return this._set("_serviceOptions",await this._createServiceOptions()),this._serviceOptions}get orderByFields(){return"stream"!==this._serviceOptions.type&&this._serviceOptions.orderByFields}get labelsVisible(){const e="subtype-group"===this.layer.type?this.layer.sublayers.items:[this.layer];return!this.suspended&&e.some((e=>e.labelingInfo&&e.labelsVisible))}get queryMode(){return this._serviceOptions.type}get renderingConfigHash(){if(!this.layer)return null;const e=this.availableFields,t=this.layer,i=this.view.floors,{definitionExpression:r}=t,s="subtype-group"!==this.layer.type&&this.layer.labelsVisible&&this.layer.labelingInfo,a="renderer"in t&&t.renderer,n="feature"===t.type?t.gdbVersion:void 0,o="feature"===t.type&&t.historicMoment?t.historicMoment.getTime():void 0,{timeExtent:h}=this,u="customParameters"in t?JSON.stringify(t.customParameters):void 0,d="apiKey"in t?t.apiKey:void 0,p="stream"===t.type?`${JSON.stringify(t.geometryDefinition)}${t.definitionExpression}`:null,c=JSON.stringify(this.clips),y="featureReduction"in t?t.featureReduction?.toJSON():null,f="orderBy"in this.layer&&JSON.stringify(this.layer.orderBy),g="sublayers"in this.layer&&this.layer.sublayers.items.reduce(((e,t)=>e+`${t.visible?1:0}.${JSON.stringify(t.renderer)}.${t.labelsVisible}\n.${JSON.stringify(t.labelingInfo)}`),""),m="subtypeCode"in this.layer&&this.layer.subtypeCode;return JSON.stringify({orderBy:f,sublayerHash:g,subtypeCode:m,filterHash:l(this.filter)&&this.filter.toJSON(),effectHash:l(this.featureEffect)&&this.featureEffect.toJSON(),streamFilter:p,gdbVersion:n,definitionExpression:r,historicMoment:o,availableFields:e,renderer:a,labelingInfo:s,timeExtent:h,floors:i,clipsHash:c,featureReduction:y,customParameters:u,apiKey:d})}highlight(e){let t;return e instanceof i?t=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?t=[e]:r.isCollection(e)&&e.length>0?t=e.map((e=>e?.getObjectId())).toArray():Array.isArray(e)&&e.length>0&&(t="number"==typeof e[0]||"string"==typeof e[0]?e:e.map((e=>e?.getObjectId()))),t=t?.filter((e=>null!=e)),t&&t.length?(this._addHighlight(t),{remove:()=>this._removeHighlight(t)}):{remove:()=>{}}}hasHighlight(){return!!this._highlightIds.size}async hitTest(e,r){if(!this.tileRenderer)return null;const s=await this.tileRenderer.hitTest(r);if(0===s.length)return null;const{features:a,aggregates:n}=await this._proxy.getFeatures(s);return[...n.map((i=>this._createGraphicHit(e,t.fromJSON(i)))),...a.map((t=>this._createGraphicHit(e,i.fromJSON(t))))]}queryStatistics(){return this._proxy.queryStatistics()}async querySummaryStatistics(e,t,i){const r={...t,scale:this.view.scale};return this._proxy.querySummaryStatistics(this._cleanUpQuery(e),r,i)}async queryUniqueValues(e,t,i){const r={...t,scale:this.view.scale};return this._proxy.queryUniqueValues(this._cleanUpQuery(e),r,i)}async queryClassBreaks(e,t,i){const r={...t,scale:this.view.scale};return this._proxy.queryClassBreaks(this._cleanUpQuery(e),r,i)}async queryHistogram(e,t,i){const r={...t,scale:this.view.scale};return this._proxy.queryHistogram(this._cleanUpQuery(e),r,i)}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then((e=>{const t=S.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}queryVisibleFeatures(e,t){return this._proxy.queryVisibleFeatures(this._cleanUpQuery(e),t).then((e=>{const t=S.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}async queryAggregates(e,t){const i=await this._proxy.queryAggregates(this._cleanUpAggregateQuery(e),t),r=R.fromJSON(i);return r.features.forEach((e=>this._setLayersForFeature(e))),r}queryAggregateIds(e,t){return this._proxy.queryAggregateIds(this._cleanUpAggregateQuery(e),t)}queryAggregateCount(e,t){return this._proxy.queryAggregateCount(this._cleanUpAggregateQuery(e),t)}queryAggregateJSON(e,t){return this._proxy.queryAggregates(this._cleanUpAggregateQuery(e),t)}queryFeaturesJSON(e,t){return this._proxy.queryFeatures(this._cleanUpQuery(e),t)}queryObjectIds(e,t){return this._proxy.queryObjectIds(this._cleanUpQuery(e),t)}queryFeatureCount(e,t){return this._proxy.queryFeatureCount(this._cleanUpQuery(e),t)}queryExtent(e,t){return this._proxy.queryExtent(this._cleanUpQuery(e),t).then((e=>({count:e.count,extent:H.fromJSON(e.extent)})))}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this._tileStrategy||!this.tileRenderer)return;const{hasMissingTiles:t,added:i,removed:r}=this._tileStrategy.update(e);(i.length||r.length)&&this._proxy.updateTiles({added:i,removed:r}),t&&this.requestUpdate(),this.notifyChange("updating")}attach(){this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._tileStrategy=new N({acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme,buffer:0}),this.handles.add(c((()=>this.renderingConfigHash),(()=>this._update()),g),"attach"),"stream"!==this.layer.type&&this.handles.add(this.layer.on("edits",(e=>this._edit(e))),"attach")}detach(){this._commandsQueue.clear(),this._proxy?.stop(),this.container.removeAllChildren(),this.handles.remove("attach"),this.tileRenderer&&(this.tileRenderer.uninstall(this.container),this.tileRenderer=null),this._tileStrategy&&(this._tileStrategy.destroy(),this._tileStrategy=null),this._tileRendererHash=null}moveStart(){this.requestUpdate()}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}isUpdating(){const e="renderer"in this.layer&&null!=this.layer.renderer,t=this._commandsQueue.updating,i=null!=this._updatingRequiredFieldsPromise,r=!this._proxy||!this._proxy.isReady,s=this._pipelineIsUpdating,a=null==this.tileRenderer||this.tileRenderer?.updating,n=e&&(t||i||r||s||a);return has("esri-2d-log-updating")&&console.log(`Updating FLV2D: ${n}\n -> hasRenderer ${e}\n -> hasPendingCommand ${t}\n -> updatingRequiredFields ${i}\n -> updatingProxy ${r}\n -> updatingPipeline ${s}\n -> updatingTileRenderer ${a}\n`),n}_createClientOptions(){return{setUpdating:e=>{this._set("_pipelineIsUpdating",e)},emitEvent:e=>{this.emit(e.name,e.event)}}}async _detectQueryMode(e){const t="path"in e,i="editingInfo"in this.layer&&this.layer.editingInfo?.lastEditDate,r=!!this.layer.refreshInterval,s=!i&&r;if(t&&("feature"===this.layer.type||"subtype-group"===this.layer.type)&&"point"===this.layer.geometryType&&this.layer.capabilities.query.supportsPagination&&!this.layer.capabilities.operations.supportsEditing&&!s&&has("featurelayer-snapshot-enabled"))try{const e=await this.layer.queryFeatureCount();if(e<=has("featurelayer-snapshot-point-min-threshold"))return{mode:"snapshot",featureCount:e};const t=has("featurelayer-snapshot-point-max-threshold"),i=has("featurelayer-snapshot-point-coverage"),r=this.view.extent,s=h(this.layer.fullExtent),a=s?.clone().intersection(r),n=l(a)?a.width*a.height:0,o=s?.width*s?.height,u=0===o?0:n/o;if(e<=t&&u>=i)return{mode:"snapshot",featureCount:e}}catch(a){n.getLogger(this.declaredClass).warn("mapview-feature-layer","Encountered an error when querying for featureCount",{error:a})}return{mode:"on-demand"}}async _createServiceOptions(){const e=this.layer;if("stream"===e.type)return null;const{capabilities:t,objectIdField:i}=e,r=e.fields.map((e=>e.toJSON())),s=l(e.fullExtent)&&e.fullExtent.toJSON(),n=L(e.geometryType),o=e.timeInfo&&e.timeInfo.toJSON()||null,h=e.spatialReference?e.spatialReference.toJSON():null,u="feature"===e.type?e.globalIdField:null;let d;"ogc-feature"===e.type?d=e.source.getSource():J(e.source)?d=await e.source.openPorts():e.parsedUrl&&(d=a(e.parsedUrl),"dynamicDataSource"in e&&e.dynamicDataSource&&(d.query={layer:JSON.stringify({source:e.dynamicDataSource})}));const p="datesInUnknownTimezone"in this.layer&&this.layer.datesInUnknownTimezone,c=("subtypeField"in this.layer&&this.layer.subtypeField)??null,{mode:y,featureCount:f}=await this._detectQueryMode(d);let g=this.layer.objectIdField;if("feature"===this.layer.type&&l(this.layer.orderBy)&&this.layer.orderBy.length){const e=!this.layer.orderBy[0].valueExpression&&this.layer.orderBy[0].field;e&&(g=e)}return{type:y,timeReferenceUnknownClient:p,subtypeField:c,featureCount:f,globalIdField:u,maxRecordCount:t.query.maxRecordCount,tileMaxRecordCount:t.query.tileMaxRecordCount,capabilities:t,fields:r,fullExtent:s,geometryType:n,objectIdField:i,source:d,timeInfo:o,spatialReference:h,orderByFields:g}}async _createMemoryServiceOptions(e){const t=await e.openPorts();return{...this._createServiceOptions(),type:"memory",source:t}}_cleanUpQuery(e){const t=w.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t}_cleanUpAggregateQuery(e){const t=w.from(e)||this.createAggregateQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t}async _update(){return this._commandsQueue.push({type:"update"})}async _edit(e){if(this.suspended)return void this._clearTiles();return this._validateEdit(e)?this._commandsQueue.push({type:"edit",edits:e}):void 0}async doRefresh(e){if(this.attached&&this._tileStrategy.tileKeys().length)return this.suspended&&e?void this._clearTiles():this._commandsQueue.push({type:"refresh",dataChanged:e})}_clearTiles(){this._tileStrategy.tileKeys().length&&(this._proxy.updateTiles({added:[],removed:this._tileStrategy.tileKeys()}),this._tileStrategy.clear(),this.requestUpdate(),this._commandsQueue.clear(),this._update())}_validateEdit(e){const t="globalIdField"in this.layer&&this.layer.globalIdField,i=e.deletedFeatures.some((e=>-1===e.objectId||!e.objectId)),r=t&&this.availableFields.includes(t);return i&&!r?(n.getLogger(this.declaredClass).error(new s("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${t} to be included the layer's outFields for updates to be reflected on the map`)),null):e}async _doUpdate(){try{if(this.destroyed||!this._hasRequiredSupport(this.layer)||!this._tileStrategy)return;const{featureEffectView:t,filter:i}=this;await this._updateRequiredFields();const{renderer:r}=this._getEffectiveRenderer();this._set("_effectiveRenderer",r);const s=this._createSchemaConfig(),a=this._createConfiguration(s,i,t.filter),o=this._lastDefinitionExpression!==a.schema.source.definitionExpression;this._lastDefinitionExpression=a.schema.source.definitionExpression;const l=a.schema.tileRenderer,h=this._createTileRendererHash(l);if("snapshot"===this._serviceOptions.type&&(a.schema.source.featureCount=this._serviceOptions.featureCount),h!==this._tileRendererHash){await this._initTileRenderer(l,r);const e=this.layer,t="stream"===e.type?await this._initServiceOptions():this._serviceOptions;this.tileRenderer.onConfigUpdate(r),"stream"!==e.type&&J(e.source)&&(t.source=await e.source.openPorts());const i={added:this._tileStrategy.tileKeys(),removed:[]};await this._proxy.startup(this.view.featuresTilingScheme,a,t,i),this.hasHighlight()&&await this._proxy.setHighlight(Array.from(this._highlightIds.keys())),await this._onceTilesUpdated(),this.tileRenderer.onConfigUpdate(r)}else{"snapshot"===this._serviceOptions.type&&o&&(a.schema.source.featureCount=await this.layer.queryFeatureCount());const t=await this._proxy.update(a);(t.mesh||t.targets.aggregate)&&this._lockGPUUploads();try{await this._proxy.applyUpdate(t)}catch(e){p(e)||n.getLogger(this.declaredClass).error(e)}(t.mesh||t.targets.aggregate)&&this._unlockGPUUploads(),this.tileRenderer.onConfigUpdate(r),this._updateClusterSizeVariable(),this._forceAttributeTextureUpload()}this._tileRendererHash=h,this.tileRenderer.invalidateLabels(),this.requestUpdate()}catch(e){}}async _doEdit(e){try{await this._proxy.onEdits(e)}catch(t){p(t),0}}async _doRefresh(e){this._lockGPUUploads();try{await this._proxy.refresh(e)}catch(i){p(i),0}this._unlockGPUUploads();const t=this.layer;t&&"featureReduction"in t&&t.featureReduction&&this._updateClusterSizeVariable()}_updateClusterSizeVariable(){this._needsClusterSizeUpdate&&(this.tileRenderer.onConfigUpdate(this._effectiveRenderer),this._needsClusterSizeUpdate=!1)}_createUpdateClusterSizeTask(e,t){return c((()=>this._aggregateValueRanges),(i=>{this._updateClusterEffectiveRendererSizeVariable(e,t,i),this._needsClusterSizeUpdate=!0,this._uploadsLocked||this._updateClusterSizeVariable()}))}async _updateClusterEffectiveRendererSizeVariable(e,t,i){if(e.dynamicClusterSize&&"visualVariables"in e&&e.visualVariables){const r=q(e.visualVariables);if(l(r)&&"cluster_count"===r.field){const s=e.visualVariables.indexOf(r);e.visualVariables[s]=O(t,i);const a=e.clone();a.dynamicClusterSize=!0,this._set("_effectiveRenderer",a)}}}_getEffectiveRenderer(){const e=this.layer,t="renderer"in e?e.renderer:null,i="featureReduction"in e?e.featureReduction:null;if(l(this._updateClusterSizeTask)&&(this._updateClusterSizeTask.remove(),this._updateClusterSizeTask=null),i&&"renderer"in i&&i.renderer&&!i.renderer.authoringInfo?.isAutoGenerated){const e=i.fields;if("cluster"===i.type){const{renderer:t,didInject:r}=E(i.renderer,i,this._aggregateValueRanges);return r&&(o(this._updateClusterSizeTask,(e=>e.remove())),this._updateClusterSizeTask=this._createUpdateClusterSizeTask(t,i)),{renderer:t,aggregateFields:e,featureReduction:i}}return{renderer:i.renderer,aggregateFields:e,featureReduction:i}}if(i&&"cluster"===i.type&&T(t)){const e=i,r=[],s=V(r,t,e,this._aggregateValueRanges,!0);return o(this._updateClusterSizeTask,(e=>e.remove())),this._updateClusterSizeTask=this._createUpdateClusterSizeTask(s,e),{renderer:s,aggregateFields:r,featureReduction:i}}return{renderer:t,aggregateFields:[],featureReduction:null}}_acquireTile(e){const t=this.tileRenderer.acquireTile(e);return t.once("attach",(()=>{this.requestUpdate()})),t}_releaseTile(e){this.tileRenderer.releaseTile(e)}async _initTileRenderer(e,t){const i=await F(e,{layerView:this,tileInfoView:this.view.featuresTilingScheme,layer:this.layer});return this.tileRenderer&&(this._tileStrategy.clear(),this.tileRenderer.uninstall(this.container),this.tileRenderer.destroy(),this.tileRenderer=null),this.destroyed?null:(this._proxy.tileRenderer=i,this._set("tileRenderer",i),this.tileRenderer.install(this.container),this.tileRenderer.onConfigUpdate(t),this.requestUpdate(),this.tileRenderer)}_createTileRendererHash(e){return`${e.type}`}get hasFilter(){const e=!!("floorInfo"in this.layer&&this.layer.floorInfo&&this.view.floors&&this.view.floors.length);return!!this.filter||e||!!this._visibilityOverrides.size||!!this.timeExtent}_injectOverrides(e){const t=l(e)?e.timeExtent:null,i=l(this.timeExtent)&&l(t)?this.timeExtent.intersection(t):this.timeExtent||t;let r=null;const s="floorInfo"in this.layer&&this.layer.floorInfo;if(s){const t=l(e)&&e.where;r=this._addFloorFilterClause(t)}if(!this._visibilityOverrides.size&&!i&&!s)return l(e)?e.toJSON():null;(e=l(e)&&e.clone()||new b).timeExtent=i,r&&(e.where=r);const a=e.toJSON();return a.hiddenIds=Array.from(this._visibilityOverrides),a}_addFloorFilterClause(e){const t=this.layer;let i=e||"";if("floorInfo"in t&&t.floorInfo){let e=this.view.floors;if(!e||!e.length)return i;t.floorInfo.viewAllLevelIds?.length&&(e=t.floorInfo.viewAllLevelIds);const r=e.filter((e=>""!==e)).map((e=>"'"+e+"'"));r.push("''");const s=t.floorInfo.floorField;let a="("+s+" IN ({ids}) OR "+s+" IS NULL)";if(a=a.replace("{ids}",r.join(", ")),l(i)&&i.includes(s)){let e=new RegExp("AND \\("+s+".*NULL\\)","g");i=i.replace(e,""),e=new RegExp("\\("+s+".*NULL\\)","g"),i=i.replace(e,""),i=i.replace(/\s+/g," ").trim()}i=""!==i?"("+i+") AND "+a:a}return""!==i?i:null}_createConfiguration(e,t,i){const r="feature"===this.layer.type&&this.layer.historicMoment?this.layer.historicMoment.getTime():void 0,s="feature"===this.layer.type?this.layer.gdbVersion:void 0,a=new Array(x),n=this._injectOverrides(t);a[0]=n,a[1]=l(i)?i.toJSON():null;const o=C(e);if(u(o))return null;const h=Q("2d");return{availableFields:this.availableFields,gdbVersion:s,historicMoment:r,devicePixelRatio:window.devicePixelRatio||1,filters:a,schema:o,supportsTextureFloat:h.supportsTextureFloat,maxTextureSize:h.maxTextureSize}}_hasRequiredSupport(e){return!("renderer"in e)||I(e.renderer)}_onceTilesUpdated(){return this.requestUpdate(),y((()=>!this._pipelineIsUpdating))}_lockGPUUploads(){this.tileRenderer&&(this._uploadsLocked=!0,this.tileRenderer.lockGPUUploads())}_unlockGPUUploads(){this.tileRenderer&&(this._uploadsLocked=!1,this.tileRenderer.unlockGPUUploads())}_forceAttributeTextureUpload(){this.tileRenderer&&this.tileRenderer.forceAttributeTextureUpload()}_createSchemaConfig(){const e=this.layer,t="feature"===e.type?e.historicMoment:null,i="feature"===e.type?e.gdbVersion:null;return{renderer:"renderer"in e?e.renderer:null,spatialReference:e.spatialReference,timeExtent:e.timeExtent,definitionExpression:e.definitionExpression,featureReduction:"featureReduction"in e?e.featureReduction:null,fields:e.fields,geometryType:e.geometryType,historicMoment:t,labelsVisible:"labelsVisible"in e&&e.labelsVisible,labelingInfo:"labelingInfo"in e&&e.labelingInfo,availableFields:this.availableFields,featureEffect:this.featureEffect,filter:this.filter,gdbVersion:i,pixelBuffer:0,orderBy:"orderBy"in e&&e.orderBy?e.orderBy:null,customParameters:{..."customParameters"in e?e.customParameters:void 0,token:"apiKey"in e?e.apiKey:void 0},subtypeCode:"subtypeCode"in e?e.subtypeCode:void 0,subtypeField:"subtypeField"in e?e.subtypeField:void 0}}_addHighlight(e){for(const t of e)if(this._highlightIds.has(t)){const e=this._highlightIds.get(t);this._highlightIds.set(t,e+1)}else this._highlightIds.set(t,1);this._updateHighlight().catch((e=>{p(e)||n.getLogger(this.declaredClass).error(e)}))}_removeHighlight(e){for(const t of e)if(this._highlightIds.has(t)){const e=this._highlightIds.get(t)-1;0===e?this._highlightIds.delete(t):this._highlightIds.set(t,e)}this._updateHighlight().catch((e=>{p(e)||n.getLogger(this.declaredClass).error(e)}))}_setLayersForFeature(e){const t=this.layer;e.layer=t,e.sourceLayer=t}_createGraphicHit(e,t){return this._setLayersForFeature(t),l(t.geometry)&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};e([m()],M.prototype,"_serviceOptions",void 0),e([m()],M.prototype,"_proxy",void 0),e([m()],M.prototype,"_pipelineIsUpdating",void 0),e([m()],M.prototype,"_effectiveRenderer",void 0),e([m()],M.prototype,"_aggregateValueRanges",void 0),e([m()],M.prototype,"_commandsQueue",void 0),e([m()],M.prototype,"featureEffectView",void 0),e([m()],M.prototype,"labelsVisible",null),e([m({readOnly:!0})],M.prototype,"queryMode",null),e([m()],M.prototype,"renderingConfigHash",null),e([m()],M.prototype,"tileRenderer",void 0),e([m()],M.prototype,"updating",void 0),M=e([_("esri.views.2d.layers.FeatureLayerView2D")],M);const B=M;export{B as default};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../AggregateGraphic.js";import"../../../geometry.js";import r from"../../../Graphic.js";import i from"../../../core/Collection.js";import s from"../../../core/Error.js";import has from"../../../core/has.js";import{clone as a}from"../../../core/lang.js";import n from"../../../core/Logger.js";import{applySome as o,isSome as l,unwrap as u,isNone as h}from"../../../core/maybe.js";import{debounce as d,isAbortError as p}from"../../../core/promiseUtils.js";import{watch as c,whenOnce as y,syncAndInitial as g,initial as f}from"../../../core/reactiveUtils.js";import{property as m}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as _}from"../../../core/accessorSupport/decorators/subclass.js";import v from"../../../layers/effects/FeatureEffectView.js";import b from"../../../layers/support/FeatureFilter.js";import R from"../../../rest/support/AggregateFeatureSet.js";import S from"../../../rest/support/FeatureSet.js";import w from"../../../rest/support/Query.js";import{MAX_FILTERS as x}from"../engine/webgl/definitions.js";import{LayerView2DMixin as U}from"./LayerView2D.js";import{createSchema as C}from"./features/schemaUtils.js";import{createOrReuseTileRenderer as F}from"./features/tileRenderers.js";import{isRendererSupported as q}from"./features/support/rendererUtils.js";import{findSizeVV as I,createClusterCountSizeVariable as O,injectDynamicLevelDependentSizeVisualVariable as E,isClusterCompatibleRenderer as T,createClusterRenderer as V}from"./support/clusterUtils.js";import j from"./support/FeatureCommandQueue.js";import A from"./support/FeatureLayerProxy.js";import{toJSONGeometryType as Q}from"./support/util.js";import{TileManager as k}from"../tiling/TileManager.js";import L from"../../layers/FeatureLayerView.js";import N from"../../layers/LayerView.js";import z from"../../layers/RefreshableLayerView.js";import{getWebGLCapabilities as P}from"../../webgl/capabilities.js";import H from"../../../geometry/Extent.js";function J(e){return e&&"openPorts"in e}let B=class extends(L(z(U(N)))){constructor(){super(...arguments),this._pipelineIsUpdating=!0,this._commandsQueue=new j({process:e=>{switch(e.type){case"processed-edit":return this._doEdit(e);case"refresh":return this._doRefresh(e.dataChanged);case"update":return this._doUpdate()}}}),this._visibilityOverrides=new Set,this._highlightIds=new Map,this._updateHighlight=d((async()=>this._proxy.setHighlight(Array.from(this._highlightIds.keys())))),this._uploadsLocked=!1,this._needsClusterSizeUpdate=!1,this.featureEffectView=new v,this._lastDefinitionExpression=null}destroy(){o(this._updateClusterSizeTask,(e=>e.remove())),this._proxy?.destroy(),this._commandsQueue.destroy()}initialize(){this.addResolvingPromise(Promise.all([this._initProxy(),this._initServiceOptions()])),this.handles.add([this.on("valueRangesChanged",(e=>{this._set("_aggregateValueRanges",e.valueRanges)})),c((()=>this.featureEffect),(e=>{this.featureEffectView.featureEffect=e}),g)]),this.featureEffectView.endTransitions()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new s("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:this.layer});const t="feature"===e.type||"subtype-group"===e.type,r="capabilities"in e&&e.capabilities.operations.supportsQuery;if(t&&!r)throw new s("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._proxy&&this._proxy.destroy();const i=this._createClientOptions();return this._set("_proxy",new A({client:i})),this._proxy.when()}async _initServiceOptions(){return this._set("_serviceOptions",await this._createServiceOptions()),this._serviceOptions}get orderByFields(){return"stream"!==this._serviceOptions.type&&this._serviceOptions.orderByFields}get labelsVisible(){const e="subtype-group"===this.layer.type?this.layer.sublayers.items:[this.layer];return!this.suspended&&e.some((e=>e.labelingInfo&&e.labelsVisible))}get queryMode(){return this._serviceOptions.type}get renderingConfigHash(){if(!this.layer)return null;const e=this.availableFields,t=this.layer,r=this.view.floors,{definitionExpression:i}=t,s="subtype-group"!==this.layer.type&&this.layer.labelsVisible&&this.layer.labelingInfo,a="renderer"in t&&t.renderer,n="feature"===t.type?t.gdbVersion:void 0,o="feature"===t.type&&t.historicMoment?t.historicMoment.getTime():void 0,{timeExtent:u}=this,h="customParameters"in t?JSON.stringify(t.customParameters):void 0,d="apiKey"in t?t.apiKey:void 0,p="stream"===t.type?`${JSON.stringify(t.geometryDefinition)}${t.definitionExpression}`:null,c=JSON.stringify(this.clips),y="featureReduction"in t?t.featureReduction?.toJSON():null,g="orderBy"in this.layer&&JSON.stringify(this.layer.orderBy),f="sublayers"in this.layer&&this.layer.sublayers.items.reduce(((e,t)=>e+`${t.visible?1:0}.${JSON.stringify(t.renderer)}.${t.labelsVisible}\n.${JSON.stringify(t.labelingInfo)}`),""),m="subtypeCode"in this.layer&&this.layer.subtypeCode;return JSON.stringify({orderBy:g,sublayerHash:f,subtypeCode:m,filterHash:l(this.filter)&&this.filter.toJSON(),effectHash:l(this.featureEffect)&&this.featureEffect.toJSON(),streamFilter:p,gdbVersion:n,definitionExpression:i,historicMoment:o,availableFields:e,renderer:a,labelingInfo:s,timeExtent:u,floors:r,clipsHash:c,featureReduction:y,customParameters:h,apiKey:d})}highlight(e){let t;return e instanceof r?t=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?t=[e]:i.isCollection(e)&&e.length>0?t=e.map((e=>e?.getObjectId())).toArray():Array.isArray(e)&&e.length>0&&(t="number"==typeof e[0]||"string"==typeof e[0]?e:e.map((e=>e?.getObjectId()))),t=t?.filter((e=>null!=e)),t&&t.length?(this._addHighlight(t),{remove:()=>this._removeHighlight(t)}):{remove:()=>{}}}hasHighlight(){return!!this._highlightIds.size}async hitTest(e,i){if(!this.tileRenderer)return null;const s=await this.tileRenderer.hitTest(i);if(0===s.length)return null;const{features:a,aggregates:n}=await this._proxy.getFeatures(s);return[...n.map((r=>this._createGraphicHit(e,t.fromJSON(r)))),...a.map((t=>this._createGraphicHit(e,r.fromJSON(t))))]}queryStatistics(){return this._proxy.queryStatistics()}async querySummaryStatistics(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.querySummaryStatistics(this._cleanUpQuery(e),i,r)}async queryAggregateSummaryStatistics(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.queryAggregateSummaryStatistics(this._cleanUpAggregateQuery(e),i,r)}async queryUniqueValues(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.queryUniqueValues(this._cleanUpQuery(e),i,r)}async queryAggregateUniqueValues(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.queryAggregateUniqueValues(this._cleanUpAggregateQuery(e),i,r)}async queryClassBreaks(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.queryClassBreaks(this._cleanUpQuery(e),i,r)}async queryAggregateClassBreaks(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.queryAggregateClassBreaks(this._cleanUpAggregateQuery(e),i,r)}async queryHistogram(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.queryHistogram(this._cleanUpQuery(e),i,r)}async queryAggregateHistogram(e,t,r){const i={...t,scale:this.view.scale};return this._proxy.queryAggregateHistogram(this._cleanUpAggregateQuery(e),i,r)}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then((e=>{const t=S.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}queryVisibleFeatures(e,t){return this._proxy.queryVisibleFeatures(this._cleanUpQuery(e),t).then((e=>{const t=S.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}async queryAggregates(e,t){const r=await this._proxy.queryAggregates(this._cleanUpAggregateQuery(e),t),i=R.fromJSON(r);return i.features.forEach((e=>this._setLayersForFeature(e))),i}queryAggregateIds(e,t){return this._proxy.queryAggregateIds(this._cleanUpAggregateQuery(e),t)}queryAggregateCount(e,t){return this._proxy.queryAggregateCount(this._cleanUpAggregateQuery(e),t)}queryAggregateJSON(e,t){return this._proxy.queryAggregates(this._cleanUpAggregateQuery(e),t)}queryFeaturesJSON(e,t){return this._proxy.queryFeatures(this._cleanUpQuery(e),t)}queryObjectIds(e,t){return this._proxy.queryObjectIds(this._cleanUpQuery(e),t)}queryFeatureCount(e,t){return this._proxy.queryFeatureCount(this._cleanUpQuery(e),t)}queryExtent(e,t){return this._proxy.queryExtent(this._cleanUpQuery(e),t).then((e=>({count:e.count,extent:H.fromJSON(e.extent)})))}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this._tileStrategy||!this.tileRenderer)return;const{hasMissingTiles:t,added:r,removed:i}=this._tileStrategy.update(e);(r.length||i.length)&&this._proxy.updateTiles({added:r,removed:i}),t&&this.requestUpdate(),this.notifyChange("updating")}attach(){this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._tileStrategy=new k({acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme,buffer:0}),this.handles.add(c((()=>this.renderingConfigHash),(()=>this._update()),f),"attach"),"stream"!==this.layer.type&&this.handles.add(this.layer.on("edits",(e=>this._edit(e))),"attach")}detach(){this._commandsQueue.clear(),this._proxy?.stop(),this.container.removeAllChildren(),this.handles.remove("attach"),this.tileRenderer&&(this.tileRenderer.uninstall(this.container),this.tileRenderer=null),this._tileStrategy&&(this._tileStrategy.destroy(),this._tileStrategy=null),this._tileRendererHash=null}moveStart(){this.requestUpdate()}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}isUpdating(){const e="renderer"in this.layer&&null!=this.layer.renderer,t=this._commandsQueue.updating,r=null!=this._updatingRequiredFieldsPromise,i=!this._proxy||!this._proxy.isReady,s=this._pipelineIsUpdating,a=null==this.tileRenderer||this.tileRenderer?.updating,n=e&&(t||r||i||s||a);return has("esri-2d-log-updating")&&console.log(`Updating FLV2D: ${n}\n -> hasRenderer ${e}\n -> hasPendingCommand ${t}\n -> updatingRequiredFields ${r}\n -> updatingProxy ${i}\n -> updatingPipeline ${s}\n -> updatingTileRenderer ${a}\n`),n}_createClientOptions(){return{setUpdating:e=>{this._set("_pipelineIsUpdating",e)},emitEvent:e=>{this.emit(e.name,e.event)}}}async _detectQueryMode(e){const t="path"in e,r="editingInfo"in this.layer&&this.layer.editingInfo?.lastEditDate,i=!!this.layer.refreshInterval,s=!r&&i;if(t&&("feature"===this.layer.type||"subtype-group"===this.layer.type)&&"point"===this.layer.geometryType&&this.layer.capabilities.query.supportsPagination&&!this.layer.capabilities.operations.supportsEditing&&!s&&has("featurelayer-snapshot-enabled"))try{const e=await this.layer.queryFeatureCount();if(e<=has("featurelayer-snapshot-point-min-threshold"))return{mode:"snapshot",featureCount:e};const t=has("featurelayer-snapshot-point-max-threshold"),r=has("featurelayer-snapshot-point-coverage"),i=this.view.extent,s=u(this.layer.fullExtent),a=s?.clone().intersection(i),n=l(a)?a.width*a.height:0,o=s?.width*s?.height,h=0===o?0:n/o;if(e<=t&&h>=r)return{mode:"snapshot",featureCount:e}}catch(a){n.getLogger(this.declaredClass).warn("mapview-feature-layer","Encountered an error when querying for featureCount",{error:a})}return{mode:"on-demand"}}async _createServiceOptions(){const e=this.layer;if("stream"===e.type)return null;const{capabilities:t,objectIdField:r}=e,i=e.fields.map((e=>e.toJSON())),s=l(e.fullExtent)&&e.fullExtent.toJSON(),n=Q(e.geometryType),o=e.timeInfo&&e.timeInfo.toJSON()||null,u=e.spatialReference?e.spatialReference.toJSON():null,h="feature"===e.type?e.globalIdField:null;let d;"ogc-feature"===e.type?d=e.source.getSource():J(e.source)?d=await e.source.openPorts():e.parsedUrl&&(d=a(e.parsedUrl),"dynamicDataSource"in e&&e.dynamicDataSource&&(d.query={layer:JSON.stringify({source:e.dynamicDataSource})}));const p="datesInUnknownTimezone"in this.layer&&this.layer.datesInUnknownTimezone,c=("subtypeField"in this.layer&&this.layer.subtypeField)??null,{mode:y,featureCount:g}=await this._detectQueryMode(d);let f=this.layer.objectIdField;if("feature"===this.layer.type&&l(this.layer.orderBy)&&this.layer.orderBy.length){const e=!this.layer.orderBy[0].valueExpression&&this.layer.orderBy[0].field;e&&(f=e)}return{type:y,timeReferenceUnknownClient:p,subtypeField:c,featureCount:g,globalIdField:h,maxRecordCount:t.query.maxRecordCount,tileMaxRecordCount:t.query.tileMaxRecordCount,capabilities:t,fields:i,fullExtent:s,geometryType:n,objectIdField:r,source:d,timeInfo:o,spatialReference:u,orderByFields:f}}async _createMemoryServiceOptions(e){const t=await e.openPorts();return{...this._createServiceOptions(),type:"memory",source:t}}_cleanUpQuery(e){const t=w.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t}_cleanUpAggregateQuery(e){const t=w.from(e)||this.createAggregateQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t}async _update(){return this._commandsQueue.push({type:"update"})}async _edit(e){if(this.suspended)return void this._clearTiles();return this._validateEdit(e)?this._commandsQueue.push({type:"edit",edits:e}):void 0}async doRefresh(e){if(this.attached&&this._tileStrategy.tileKeys().length)return this.suspended&&e?void this._clearTiles():this._commandsQueue.push({type:"refresh",dataChanged:e})}_clearTiles(){this._tileStrategy.tileKeys().length&&(this._proxy.updateTiles({added:[],removed:this._tileStrategy.tileKeys()}),this._tileStrategy.clear(),this.requestUpdate(),this._commandsQueue.clear(),this._update())}_validateEdit(e){const t="globalIdField"in this.layer&&this.layer.globalIdField,r=e.deletedFeatures.some((e=>-1===e.objectId||!e.objectId)),i=t&&this.availableFields.includes(t);return r&&!i?(n.getLogger(this.declaredClass).error(new s("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${t} to be included the layer's outFields for updates to be reflected on the map`)),null):e}async _doUpdate(){try{if(this.destroyed||!this._hasRequiredSupport(this.layer)||!this._tileStrategy)return;const{featureEffectView:t,filter:r}=this;await this._updateRequiredFields();const{renderer:i}=this._getEffectiveRenderer();this._set("_effectiveRenderer",i);const s=this._createSchemaConfig(),a=this._createConfiguration(s,r,t.filter),o=this._lastDefinitionExpression!==a.schema.source.definitionExpression;this._lastDefinitionExpression=a.schema.source.definitionExpression;const l=a.schema.tileRenderer,u=this._createTileRendererHash(l);if("snapshot"===this._serviceOptions.type&&(a.schema.source.featureCount=this._serviceOptions.featureCount),u!==this._tileRendererHash){await this._initTileRenderer(l,i);const e=this.layer,t="stream"===e.type?await this._initServiceOptions():this._serviceOptions;this.tileRenderer.onConfigUpdate(i),"stream"!==e.type&&J(e.source)&&(t.source=await e.source.openPorts());const r={added:this._tileStrategy.tileKeys(),removed:[]};await this._proxy.startup(this.view.featuresTilingScheme,a,t,r),this.hasHighlight()&&await this._proxy.setHighlight(Array.from(this._highlightIds.keys())),await this._onceTilesUpdated(),this.tileRenderer.onConfigUpdate(i)}else{"snapshot"===this._serviceOptions.type&&o&&(a.schema.source.featureCount=await this.layer.queryFeatureCount());const t=await this._proxy.update(a);(t.mesh||t.targets.aggregate)&&this._lockGPUUploads();try{await this._proxy.applyUpdate(t)}catch(e){p(e)||n.getLogger(this.declaredClass).error(e)}(t.mesh||t.targets.aggregate)&&this._unlockGPUUploads(),this.tileRenderer.onConfigUpdate(i),this._updateClusterSizeVariable(),this._forceAttributeTextureUpload()}this._tileRendererHash=u,this.tileRenderer.invalidateLabels(),this.requestUpdate()}catch(e){}}async _doEdit(e){try{await this._proxy.onEdits(e)}catch(t){p(t),0}}async _doRefresh(e){this._lockGPUUploads();try{await this._proxy.refresh(e)}catch(r){p(r),0}this._unlockGPUUploads();const t=this.layer;t&&"featureReduction"in t&&t.featureReduction&&this._updateClusterSizeVariable()}_updateClusterSizeVariable(){this._needsClusterSizeUpdate&&(this.tileRenderer.onConfigUpdate(this._effectiveRenderer),this._needsClusterSizeUpdate=!1)}_createUpdateClusterSizeTask(e,t){return c((()=>this._aggregateValueRanges),(r=>{this._updateClusterEffectiveRendererSizeVariable(e,t,r),this._needsClusterSizeUpdate=!0,this._uploadsLocked||this._updateClusterSizeVariable()}))}async _updateClusterEffectiveRendererSizeVariable(e,t,r){if(e.dynamicClusterSize&&"visualVariables"in e&&e.visualVariables){const i=I(e.visualVariables);if(l(i)&&"cluster_count"===i.field){const s=e.visualVariables.indexOf(i);e.visualVariables[s]=O(t,r);const a=e.clone();a.dynamicClusterSize=!0,this._set("_effectiveRenderer",a)}}}_getEffectiveRenderer(){const e=this.layer,t="renderer"in e?e.renderer:null,r="featureReduction"in e?e.featureReduction:null;if(l(this._updateClusterSizeTask)&&(this._updateClusterSizeTask.remove(),this._updateClusterSizeTask=null),r&&"renderer"in r&&r.renderer&&!r.renderer.authoringInfo?.isAutoGenerated){const e=r.fields;if("cluster"===r.type){const{renderer:t,didInject:i}=E(r.renderer,r,this._aggregateValueRanges);return i&&(o(this._updateClusterSizeTask,(e=>e.remove())),this._updateClusterSizeTask=this._createUpdateClusterSizeTask(t,r)),{renderer:t,aggregateFields:e,featureReduction:r}}return{renderer:r.renderer,aggregateFields:e,featureReduction:r}}if(r&&"cluster"===r.type&&T(t)){const e=r,i=[],s=V(i,t,e,this._aggregateValueRanges,!0);return o(this._updateClusterSizeTask,(e=>e.remove())),this._updateClusterSizeTask=this._createUpdateClusterSizeTask(s,e),{renderer:s,aggregateFields:i,featureReduction:r}}return{renderer:t,aggregateFields:[],featureReduction:null}}_acquireTile(e){const t=this.tileRenderer.acquireTile(e);return t.once("attach",(()=>{this.requestUpdate()})),t}_releaseTile(e){this.tileRenderer.releaseTile(e)}async _initTileRenderer(e,t){const r=await F(e,{layerView:this,tileInfoView:this.view.featuresTilingScheme,layer:this.layer});return this.tileRenderer&&(this._tileStrategy.clear(),this.tileRenderer.uninstall(this.container),this.tileRenderer.destroy(),this.tileRenderer=null),this.destroyed?null:(this._proxy.tileRenderer=r,this._set("tileRenderer",r),this.tileRenderer.install(this.container),this.tileRenderer.onConfigUpdate(t),this.requestUpdate(),this.tileRenderer)}_createTileRendererHash(e){return`${e.type}`}get hasFilter(){const e=!!("floorInfo"in this.layer&&this.layer.floorInfo&&this.view.floors&&this.view.floors.length);return!!this.filter||e||!!this._visibilityOverrides.size||!!this.timeExtent}_injectOverrides(e){const t=l(e)?e.timeExtent:null,r=l(this.timeExtent)&&l(t)?this.timeExtent.intersection(t):this.timeExtent||t;let i=null;const s="floorInfo"in this.layer&&this.layer.floorInfo;if(s){const t=l(e)&&e.where;i=this._addFloorFilterClause(t)}if(!this._visibilityOverrides.size&&!r&&!s)return l(e)?e.toJSON():null;(e=l(e)&&e.clone()||new b).timeExtent=r,i&&(e.where=i);const a=e.toJSON();return a.hiddenIds=Array.from(this._visibilityOverrides),a}_addFloorFilterClause(e){const t=this.layer;let r=e||"";if("floorInfo"in t&&t.floorInfo){let e=this.view.floors;if(!e||!e.length)return r;t.floorInfo.viewAllLevelIds?.length&&(e=t.floorInfo.viewAllLevelIds);const i=e.filter((e=>""!==e)).map((e=>"'"+e+"'"));i.push("''");const s=t.floorInfo.floorField;let a="("+s+" IN ({ids}) OR "+s+" IS NULL)";if(a=a.replace("{ids}",i.join(", ")),l(r)&&r.includes(s)){let e=new RegExp("AND \\("+s+".*NULL\\)","g");r=r.replace(e,""),e=new RegExp("\\("+s+".*NULL\\)","g"),r=r.replace(e,""),r=r.replace(/\s+/g," ").trim()}r=""!==r?"("+r+") AND "+a:a}return""!==r?r:null}_createConfiguration(e,t,r){const i="feature"===this.layer.type&&this.layer.historicMoment?this.layer.historicMoment.getTime():void 0,s="feature"===this.layer.type?this.layer.gdbVersion:void 0,a=new Array(x),n=this._injectOverrides(t);a[0]=n,a[1]=l(r)?r.toJSON():null;const o=C(e);if(h(o))return null;const u=P("2d");return{availableFields:this.availableFields,gdbVersion:s,historicMoment:i,devicePixelRatio:window.devicePixelRatio||1,filters:a,schema:o,supportsTextureFloat:u.supportsTextureFloat,maxTextureSize:u.maxTextureSize}}_hasRequiredSupport(e){return!("renderer"in e)||q(e.renderer)}_onceTilesUpdated(){return this.requestUpdate(),y((()=>!this._pipelineIsUpdating))}_lockGPUUploads(){this.tileRenderer&&(this._uploadsLocked=!0,this.tileRenderer.lockGPUUploads())}_unlockGPUUploads(){this.tileRenderer&&(this._uploadsLocked=!1,this.tileRenderer.unlockGPUUploads())}_forceAttributeTextureUpload(){this.tileRenderer&&this.tileRenderer.forceAttributeTextureUpload()}_createSchemaConfig(){const e=this.layer,t="feature"===e.type?e.historicMoment:null,r="feature"===e.type?e.gdbVersion:null;return{renderer:"renderer"in e?e.renderer:null,spatialReference:e.spatialReference,timeExtent:e.timeExtent,definitionExpression:e.definitionExpression,featureReduction:"featureReduction"in e?e.featureReduction:null,fields:e.fields,geometryType:e.geometryType,historicMoment:t,labelsVisible:"labelsVisible"in e&&e.labelsVisible,labelingInfo:"labelingInfo"in e&&e.labelingInfo,availableFields:this.availableFields,featureEffect:this.featureEffect,filter:this.filter,gdbVersion:r,pixelBuffer:0,orderBy:"orderBy"in e&&e.orderBy?e.orderBy:null,customParameters:{..."customParameters"in e?e.customParameters:void 0,token:"apiKey"in e?e.apiKey:void 0},subtypeCode:"subtypeCode"in e?e.subtypeCode:void 0,subtypeField:"subtypeField"in e?e.subtypeField:void 0}}_addHighlight(e){for(const t of e)if(this._highlightIds.has(t)){const e=this._highlightIds.get(t);this._highlightIds.set(t,e+1)}else this._highlightIds.set(t,1);this._updateHighlight().catch((e=>{p(e)||n.getLogger(this.declaredClass).error(e)}))}_removeHighlight(e){for(const t of e)if(this._highlightIds.has(t)){const e=this._highlightIds.get(t)-1;0===e?this._highlightIds.delete(t):this._highlightIds.set(t,e)}this._updateHighlight().catch((e=>{p(e)||n.getLogger(this.declaredClass).error(e)}))}_setLayersForFeature(e){const t=this.layer;e.layer=t,e.sourceLayer=t}_createGraphicHit(e,t){return this._setLayersForFeature(t),l(t.geometry)&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};e([m()],B.prototype,"_serviceOptions",void 0),e([m()],B.prototype,"_proxy",void 0),e([m()],B.prototype,"_pipelineIsUpdating",void 0),e([m()],B.prototype,"_effectiveRenderer",void 0),e([m()],B.prototype,"_aggregateValueRanges",void 0),e([m()],B.prototype,"_commandsQueue",void 0),e([m()],B.prototype,"featureEffectView",void 0),e([m()],B.prototype,"labelsVisible",null),e([m({readOnly:!0})],B.prototype,"queryMode",null),e([m()],B.prototype,"renderingConfigHash",null),e([m()],B.prototype,"tileRenderer",void 0),e([m()],B.prototype,"updating",void 0),B=e([_("esri.views.2d.layers.FeatureLayerView2D")],B);const M=B;export{M 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.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../../chunks/tslib.es6.js";import{HandleOwner as t}from"../../../../../core/HandleOwner.js";import has from"../../../../../core/has.js";import{isNone as r,applySome as s,isSome as i,filterNones as a}from"../../../../../core/maybe.js";import{ignoreAbortErrors as o,after as n,throwIfAborted as u,throwIfNotAbortError as g,isAbortError as h}from"../../../../../core/promiseUtils.js";import{when as d,whenOnce as c}from"../../../../../core/reactiveUtils.js";import{property as l}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../../../core/accessorSupport/decorators/subclass.js";import{convertToGeometry as f}from"../../../../../layers/graphics/featureConversionUtils.js";import{QueryEngine as y}from"../../../../../layers/graphics/data/QueryEngine.js";import m from"../../../../../layers/support/FieldsIndex.js";import{FeatureStore2D as S}from"../FeatureStore2D.js";import{createSource as _}from"../sources/createSource.js";import v from"../support/AttributeStore.js";import{BinStore as b}from"../support/BinStore.js";import{ClusterStore as I}from"../support/ClusterStore.js";import{ComputedAttributeStorage as w}from"../support/ComputedAttributeStorage.js";import{FeatureSetReaderJSON as Q}from"../support/FeatureSetReaderJSON.js";import{UpdateToken as E}from"../support/UpdateToken.js";import{QueueProcessor as C}from"../../../../support/QueueProcessor.js";const F=5e3,j="tileRenderer.featuresView.attributeView.initialize",T="tileRenderer.featuresView.attributeView.requestUpdate",k="tileRenderer.featuresView.requestRender";function R(e){return"worker:port-closed"===e.name}function x(e){if(!h(e)&&!R(e))throw e}function A(e){return"feature"===e.type&&"snapshot"===e.mode}let U=class extends t{constructor(){super(...arguments),this._storage=new w,this._markedIdsBufId=this._storage.createBitset(),this._lastCleanup=performance.now(),this._cleanupNeeded=!1,this._invalidated=!1,this._tileToResolver=new Map,this._didEdit=!1,this._updateVersion=1,this.tileStore=null,this.config=null,this.processor=null,this.remoteClient=null,this.service=null}initialize(){this._initStores(),this._initSource(),this._updateQueue=new C({concurrency:"geoevent"===this._source.type?1:4,process:(e,t)=>this._onTileMessage(e,{signal:t})}),this.handles.add([this.tileStore.on("update",this.onTileUpdate.bind(this)),d((()=>!this.updating),(()=>this.onIdle()))]),this._checkUpdating=setInterval((()=>this.notifyChange("updating")),300)}_initSource(){const e=this.tileStore.tileScheme,t=()=>this._updateQueue.length<50,r=(e,t)=>(this._invalidated=!0,this._patchTile(e,t));this._source=_(this.service,this.spatialReference,e,r,t,this.featureStore),this._proxyEvents()}_proxyEvents(){if("geoevent"===this._source.type){const e=this._source.events;this.handles.add([e.on("connectionStatus",(e=>this.remoteClient.invoke("setProperty",{propertyName:"connectionStatus",value:e}).catch(x))),e.on("errorString",(e=>this.remoteClient.invoke("setProperty",{propertyName:"errorString",value:e}).catch(x))),e.on("data-received",(e=>this.remoteClient.invoke("emitEvent",{name:"data-received",event:{attributes:e.attributes,centroid:e.centroid,geometry:e.geometry}}).catch(x))),e.on("updateRate",(e=>this.remoteClient.invoke("emitEvent",{name:"update-rate",event:{...e}}).catch(x)))])}}_initAttributeStore(e){this.attributeStore?this.attributeStore.invalidateResources():this.attributeStore=new v({type:"remote",initialize:(e,t)=>o(this.remoteClient.invoke(j,e,{signal:t}).catch(x)),update:(e,t)=>o(this.remoteClient.invoke(T,e,{signal:t}).catch(x)),render:e=>o(this.remoteClient.invoke(k,void 0,{signal:e}).catch(x))},e,(()=>this.notifyChange("updating")))}_initStores(){const e="snapshot"===this.service.type?"snapshot":"on-demand",t={geometryInfo:{geometryType:this.service.geometryType,hasM:!1,hasZ:!1},spatialReference:this.spatialReference,fieldsIndex:this.fieldsIndex,fields:this.service.fields};this.featureStore=new S(t,this._storage,e)}_initQueryEngine(e){const t=this;this.featureQueryEngine?.destroy(),this.featureQueryEngine=new y({definitionExpression:e.schema.source.definitionExpression,fields:this.service.fields,geometryType:this.service.geometryType,objectIdField:this.service.objectIdField,hasM:!1,hasZ:!1,spatialReference:this.spatialReference.toJSON(),cacheSpatialQueries:!0,featureStore:this.featureStore,aggregateAdapter:{getFeatureObjectIds(e){if(r(t.aggregateStore))return[];return t.aggregateStore.getFeatureDisplayIdsForAggregate(e).map((e=>t.getObjectId(e)))}},timeInfo:this.service.timeInfo})}_initAggregateQueryEngine(e,t){if(this.aggregateQueryEngine?.destroy(),r(e))return;const s=t.targets.aggregate.params.fields.slice();this.aggregateQueryEngine=new y({definitionExpression:null,fields:s,geometryType:e.geometryInfo.geometryType,objectIdField:e.objectIdField,hasM:e.geometryInfo.hasM,hasZ:e.geometryInfo.hasZ,spatialReference:this.spatialReference.toJSON(),cacheSpatialQueries:!1,featureStore:e,aggregateAdapter:{getFeatureObjectIds:e=>[]}})}destroy(){this._updateQueue.destroy(),this._source.destroy(),this.featureQueryEngine?.destroy(),this.aggregateQueryEngine?.destroy(),this.attributeStore?.destroy();for(const e of this.tileStore.tiles)this._source.unsubscribe(e);clearInterval(this._checkUpdating)}get fieldsIndex(){return new m(this.service.fields)}get spatialReference(){return this.tileStore.tileScheme.spatialReference}get updating(){return this.isUpdating()}isUpdating(){const e=this._source.updating,t=!!this._updateQueue.length,r=!this.attributeStore||this.attributeStore.isUpdating(),s=e||t||r;return has("esri-2d-log-updating")&&console.log(`Updating FeatureController2D: ${s}\n -> updatingSource ${e}\n -> updateQueue ${t}\n -> updatingAttributeStore ${r}\n`),s}enableEvent(e){this._source.enableEvent(e.name,e.value)}pause(){this._updateQueue.pause(),this._updateQueue.clear()}resume(){this._updateQueue.resume()}pauseStream(){"geoevent"===this._source.type&&this._source.pauseStream()}resumeStream(){"geoevent"===this._source.type&&this._source.resumeStream()}_initAggregateStore(e){const t=e.schema.targets?.aggregate?.type,r=s(this.config,(e=>e.schema.targets?.aggregate?.type));if(r!==t&&(i(this.aggregateStore)&&(this.handles.remove("valueRangesChanged"),this.aggregateStore.destroy(),this.aggregateStore=null),t)){switch(t){case"cluster":{const e={geometryInfo:{geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1},spatialReference:this.spatialReference,fieldsIndex:this.fieldsIndex,fields:this.service.fields};this.aggregateStore=new I(e,this.spatialReference,this._storage,this.service),this.handles.add(this.aggregateStore.events.on("valueRangesChanged",(e=>{this.remoteClient.invoke("emitEvent",{name:"valueRangesChanged",event:{valueRanges:e.valueRanges}}).catch(x)})),"valueRangesChanged");break}case"bin":{const e={geometryInfo:{geometryType:"esriGeometryPolygon",hasM:!1,hasZ:!1},spatialReference:this.spatialReference,fieldsIndex:this.fieldsIndex,fields:this.service.fields};this.aggregateStore=new b(e,this.spatialReference,this._storage,this.service);break}}this.aggregateStore.onTileUpdate({added:this.tileStore.tiles,removed:[]})}}async update(e,t){this._updateVersion++,this._initQueryEngine(t),this._initAttributeStore(t),this.pause(),await Promise.all([this._source.update(e,t.schema.source),this.featureStore.updateSchema(e,t.schema.targets.feature),this.attributeStore.update(e,t),this.attributeStore.updateFilters(e,t,this)]),this._initAggregateStore(t),i(this.aggregateStore)&&await this.aggregateStore.updateSchema(e,t.schema.targets.aggregate),this._initAggregateQueryEngine(this.aggregateStore,t.schema),has("esri-2d-update-debug")&&e.describe(),this._set("config",t)}async applyUpdate(e){e.version=this._updateVersion,has("esri-2d-update-debug")&&console.debug(`Applying update ${e.version}`),e.mesh&&this.clearTiles(),this._updateQueue.resume(),await this._source.applyUpdate(e),this.notifyChange("updating"),await c((()=>!this.updating)),i(this.aggregateStore)&&(await n(10),await c((()=>!this.updating)))}async onEdits({edits:e}){has("esri-2d-update-debug")&&console.debug("Applying Edit:",e),this._didEdit=!0;try{const t=e.removed.map((e=>e.objectId&&-1!==e.objectId?e.objectId:this._lookupObjectIdByGlobalId(e.globalId))),r=e.addOrModified.map((({objectId:e})=>e));this.featureStore.invalidate(),await this._source.edit(r,t),this.clearTiles(),this.notifyChange("updating"),i(this.aggregateStore)&&this.aggregateStore.clear(),await this._source.resend(),await c((()=>!this.updating))}catch(t){}}async refresh(e){if(!e){const e=E.empty();return e.storage.filters=!0,this.applyUpdate(e)}this.featureStore.invalidate(),this.clearTiles(),this._source.refresh(this._updateVersion),this._cleanupNeeded=!0,this.notifyChange("updating"),await c((()=>!this.updating))}clearTiles(){for(const e of this.tileStore.tiles)this.processor.onTileClear(e)}onTileUpdate(e){i(this.aggregateStore)&&this.aggregateStore.onTileUpdate(e);for(const t of e.added)this._source.subscribe(t,this._updateVersion),this._level=t.level;for(const t of e.removed)this._source.unsubscribe(t),this._cleanupNeeded=!0,this._tileToResolver.has(t.id)&&(this._tileToResolver.get(t.id).resolve(),this._tileToResolver.delete(t.id));this.notifyChange("updating")}async onIdle(){this._invalidated&&(this._invalidated=!1,(i(this.aggregateStore)||"heatmap"===this.processor.type)&&await this._repushCurrentLevelTiles()),this._markAndSweep()}async querySummaryStatistics({query:e,params:t}){return this.featureQueryEngine.executeQueryForSummaryStatistics(e,t)}async queryUniqueValues({query:e,params:t}){return this.featureQueryEngine.executeQueryForUniqueValues(e,t)}async queryClassBreaks({query:e,params:t}){return this.featureQueryEngine.executeQueryForClassBreaks(e,t)}async queryHistogram({query:e,params:t}){return this.featureQueryEngine.executeQueryForHistogram(e,t)}queryExtent(e){return this.featureQueryEngine.executeQueryForExtent(e)}queryAggregates(e){return this.aggregateQueryEngine.executeQuery(e)}queryAggregateCount(e){return this.aggregateQueryEngine.executeQueryForCount(e)}queryAggregateIds(e){return this.aggregateQueryEngine.executeQueryForIds(e)}queryFeatures(e){return this.featureQueryEngine.executeQuery(e)}async queryVisibleFeatures(e){const t=await this.featureQueryEngine.executeQuery(e),r=t.objectIdFieldName;return t.features=t.features.filter((e=>{const t=e.attributes[r],i=this.getDisplayId(t);return s(i,(e=>this.attributeStore.isVisible(e)))})),t}queryFeatureCount(e){return this.featureQueryEngine.executeQueryForCount(e)}queryLatestObservations(e){return this.featureQueryEngine.executeQueryForLatestObservations(e)}queryObjectIds(e){return this.featureQueryEngine.executeQueryForIds(e)}async queryStatistics(){return this.featureStore.storeStatistics}getObjectId(e){return this.featureStore.lookupObjectId(e,this._storage)}getDisplayId(e){if(i(this.aggregateStore)){const t=this.aggregateStore.getDisplayId(e);if(r(t)){const t=this.featureStore.lookupDisplayId(e);return this.aggregateStore.getDisplayIdForReferenceId(t)}return t}return this.featureStore.lookupDisplayId(e)}getFeatures(e){const t=[],r=[];for(const s of e){const e=i(this.aggregateStore)?this.getAggregate(s):null;if(i(e))if(i(e.attributes.referenceId)){const r=this.getFeature(e.attributes.referenceId);i(r)&&t.push(r)}else r.push(e);else{const e=this.getFeature(s);i(e)&&t.push(e)}}return{features:t,aggregates:r}}getFeature(e){const t=this.featureStore.lookupFeatureByDisplayId(e,this._storage);if(r(t))return null;const s=t.readHydratedGeometry(),i=f(s,t.geometryType,t.hasZ,t.hasM);return{attributes:t.readAttributes(),geometry:i}}getAggregate(e){return r(this.aggregateStore)?null:this.aggregateStore.getAggregate(e)}getAggregates(){return r(this.aggregateStore)?[]:this.aggregateStore.getAggregates()}async setHighlight(e){const t=a(e.map((e=>this.getDisplayId(e))));return this.attributeStore.setHighlight(e,t)}_lookupObjectIdByGlobalId(e){const t=this.service.globalIdField;if(r(t))throw new Error("Expected globalIdField to be defined");let s=null;if(this.featureStore.forEach((r=>{e===r.readAttribute(t)&&(s=r.getObjectId())})),r(s))throw new Error(`Expected to find a feature with globalId ${e}`);return s}async _repushCurrentLevelTiles(){const e=this.tileStore.tiles.filter((e=>e.level===this._level)).map((async e=>this._patchTile({type:"append",id:e.key.id,addOrUpdate:Q.fromOptimizedFeatures([],this.service),remove:[],end:!0,status:E.empty()})));await Promise.all(e)}_maybeForceCleanup(){performance.now()-this._lastCleanup>F&&this._markAndSweep()}_patchTile(e,t){const r=this._updateQueue.push(e,t).then((()=>{this.notifyChange("updating")})).catch((e=>{this.notifyChange("updating")}));return this.notifyChange("updating"),r}async _onTileMessage(e,t){u(t);const s=this.tileStore.get(e.id);if(!s)return;if(e.clear)return this.processor.onTileClear(s);const a=e.status;this._cleanupNeeded=!0;const o=[];for(const r of e.remove){const e=this.featureStore.lookupDisplayId(r);e&&o.push(e)}e.remove=o;try{if(r(e.addOrUpdate))return void this.processor.onTileMessage(s,{...e,addOrUpdate:null},i(this.aggregateStore),t).catch(g);if(e.addOrUpdate.setArcadeSpatialReference(this.spatialReference),this.featureStore.hasInstance(e.addOrUpdate.instance)&&a.targets.feature||(a.targets.feature=!0,this.featureStore.onTileData(s,e)),!a.storage.data||!a.storage.filters){a.storage.data=!0,a.storage.filters=!0,this.attributeStore.onTileData(s,e);"geoevent"===this._source.type||this._didEdit?(await this.attributeStore.sendUpdates(),u(t)):this.attributeStore.sendUpdates()}if(i(this.aggregateStore)&&!a.targets.aggregate){a.targets.aggregate=!0;const t=A(this._source)&&this._source.loading,r=!A(this._source)||t||e.end;if(this.aggregateStore.onTileData(s,e,this._storage,this.attributeStore,r),!r)return;a.mesh||(this.attributeStore.onTileData(s,e),await this.attributeStore.sendUpdates())}a.mesh||(a.mesh=!0,await this.processor.onTileMessage(s,e,i(this.aggregateStore),t),u(t)),this._maybeForceCleanup()}catch(n){g(n)}}_mark(e,t,r){const s=(4294901760&this._storage.getInstanceId(e))>>>16;e&&(t.add(s),r.set(e))}_markAndSweep(){this._lastCleanup=performance.now();if(!(!("feature"===this._source.type&&"snapshot"===this._source.mode)&&("geoevent"===this._source.type||this._cleanupNeeded)))return;this._cleanupNeeded=!1;const e=this._storage.getBitset(this._markedIdsBufId),t=new Set;e.clear();for(const r of this.tileStore.tiles)for(const s of this._source.readers(r.id)){const r=s.getCursor();for(;r.next();){let s=r.getDisplayId();if(!s){const e=r.getObjectId();s=this.featureStore.lookupDisplayId(e)}this._mark(s,t,e)}}"symbol"===this.processor.type&&this.processor.forEachBufferId((r=>{this._mark(r,t,e)})),this._updateQueue.forEach((r=>{for(const s of r.remove){const r=this.featureStore.lookupDisplayId(s);this._mark(r,t,e)}})),i(this.aggregateStore)&&(this.aggregateStore.sweepFeatures(e,this.featureStore),"sweepAggregates"in this.aggregateStore&&this.aggregateStore.sweepAggregates(this._storage,this.attributeStore,this._level)),this.featureStore.sweepFeatures(e,this._storage,this.attributeStore),this.featureStore.sweepFeatureSets(t)}};e([l({constructOnly:!0})],U.prototype,"tileStore",void 0),e([l()],U.prototype,"config",void 0),e([l({readOnly:!0})],U.prototype,"fieldsIndex",null),e([l()],U.prototype,"processor",void 0),e([l({constructOnly:!0})],U.prototype,"remoteClient",void 0),e([l({constructOnly:!0})],U.prototype,"service",void 0),e([l()],U.prototype,"spatialReference",null),e([l()],U.prototype,"updating",null),U=e([p("esri.views.2d.layers.features.controllers.FeatureController2D")],U);const O=U;export{O as default};
|
|
5
|
+
import{_ as e}from"../../../../../chunks/tslib.es6.js";import{HandleOwner as t}from"../../../../../core/HandleOwner.js";import has from"../../../../../core/has.js";import{isNone as r,applySome as s,isSome as i,filterNones as a}from"../../../../../core/maybe.js";import{ignoreAbortErrors as o,after as n,throwIfAborted as u,throwIfNotAbortError as g,isAbortError as h}from"../../../../../core/promiseUtils.js";import{when as c,whenOnce as d}from"../../../../../core/reactiveUtils.js";import{property as l}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../../../core/accessorSupport/decorators/subclass.js";import{convertToGeometry as y}from"../../../../../layers/graphics/featureConversionUtils.js";import{QueryEngine as f}from"../../../../../layers/graphics/data/QueryEngine.js";import m from"../../../../../layers/support/FieldsIndex.js";import{FeatureStore2D as S}from"../FeatureStore2D.js";import{createSource as _}from"../sources/createSource.js";import v from"../support/AttributeStore.js";import{BinStore as b}from"../support/BinStore.js";import{ClusterStore as I}from"../support/ClusterStore.js";import{ComputedAttributeStorage as Q}from"../support/ComputedAttributeStorage.js";import{FeatureSetReaderJSON as w}from"../support/FeatureSetReaderJSON.js";import{UpdateToken as E}from"../support/UpdateToken.js";import{QueueProcessor as C}from"../../../../support/QueueProcessor.js";const F=5e3,j="tileRenderer.featuresView.attributeView.initialize",k="tileRenderer.featuresView.attributeView.requestUpdate",x="tileRenderer.featuresView.requestRender";function T(e){return"worker:port-closed"===e.name}function R(e){if(!h(e)&&!T(e))throw e}function A(e){return"feature"===e.type&&"snapshot"===e.mode}let q=class extends t{constructor(){super(...arguments),this._storage=new Q,this._markedIdsBufId=this._storage.createBitset(),this._lastCleanup=performance.now(),this._cleanupNeeded=!1,this._invalidated=!1,this._tileToResolver=new Map,this._didEdit=!1,this._updateVersion=1,this.tileStore=null,this.config=null,this.processor=null,this.remoteClient=null,this.service=null}initialize(){this._initStores(),this._initSource(),this._updateQueue=new C({concurrency:"geoevent"===this._source.type?1:4,process:(e,t)=>this._onTileMessage(e,{signal:t})}),this.handles.add([this.tileStore.on("update",this.onTileUpdate.bind(this)),c((()=>!this.updating),(()=>this.onIdle()))]),this._checkUpdating=setInterval((()=>this.notifyChange("updating")),300)}_initSource(){const e=this.tileStore.tileScheme,t=()=>this._updateQueue.length<50,r=(e,t)=>(this._invalidated=!0,this._patchTile(e,t));this._source=_(this.service,this.spatialReference,e,r,t,this.featureStore),this._proxyEvents()}_proxyEvents(){if("geoevent"===this._source.type){const e=this._source.events;this.handles.add([e.on("connectionStatus",(e=>this.remoteClient.invoke("setProperty",{propertyName:"connectionStatus",value:e}).catch(R))),e.on("errorString",(e=>this.remoteClient.invoke("setProperty",{propertyName:"errorString",value:e}).catch(R))),e.on("data-received",(e=>this.remoteClient.invoke("emitEvent",{name:"data-received",event:{attributes:e.attributes,centroid:e.centroid,geometry:e.geometry}}).catch(R))),e.on("updateRate",(e=>this.remoteClient.invoke("emitEvent",{name:"update-rate",event:{...e}}).catch(R)))])}}_initAttributeStore(e){this.attributeStore?this.attributeStore.invalidateResources():this.attributeStore=new v({type:"remote",initialize:(e,t)=>o(this.remoteClient.invoke(j,e,{signal:t}).catch(R)),update:(e,t)=>o(this.remoteClient.invoke(k,e,{signal:t}).catch(R)),render:e=>o(this.remoteClient.invoke(x,void 0,{signal:e}).catch(R))},e,(()=>this.notifyChange("updating")))}_initStores(){const e="snapshot"===this.service.type?"snapshot":"on-demand",t={geometryInfo:{geometryType:this.service.geometryType,hasM:!1,hasZ:!1},spatialReference:this.spatialReference,fieldsIndex:this.fieldsIndex,fields:this.service.fields};this.featureStore=new S(t,this._storage,e)}_initQueryEngine(e){const t=this;this.featureQueryEngine?.destroy(),this.featureQueryEngine=new f({definitionExpression:e.schema.source.definitionExpression,fields:this.service.fields,geometryType:this.service.geometryType,objectIdField:this.service.objectIdField,hasM:!1,hasZ:!1,spatialReference:this.spatialReference.toJSON(),cacheSpatialQueries:!0,featureStore:this.featureStore,aggregateAdapter:{getFeatureObjectIds(e){if(r(t.aggregateStore))return[];return t.aggregateStore.getFeatureDisplayIdsForAggregate(e).map((e=>t.getObjectId(e)))}},timeInfo:this.service.timeInfo})}_initAggregateQueryEngine(e,t){if(this.aggregateQueryEngine?.destroy(),r(e))return;const s=t.targets.aggregate.params.fields.slice();this.aggregateQueryEngine=new f({definitionExpression:null,fields:s,geometryType:e.geometryInfo.geometryType,objectIdField:e.objectIdField,hasM:e.geometryInfo.hasM,hasZ:e.geometryInfo.hasZ,spatialReference:this.spatialReference.toJSON(),cacheSpatialQueries:!1,featureStore:e,aggregateAdapter:{getFeatureObjectIds:e=>[]}})}destroy(){this._updateQueue.destroy(),this._source.destroy(),this.featureQueryEngine?.destroy(),this.aggregateQueryEngine?.destroy(),this.attributeStore?.destroy();for(const e of this.tileStore.tiles)this._source.unsubscribe(e);clearInterval(this._checkUpdating)}get fieldsIndex(){return new m(this.service.fields)}get spatialReference(){return this.tileStore.tileScheme.spatialReference}get updating(){return this.isUpdating()}isUpdating(){const e=this._source.updating,t=!!this._updateQueue.length,r=!this.attributeStore||this.attributeStore.isUpdating(),s=e||t||r;return has("esri-2d-log-updating")&&console.log(`Updating FeatureController2D: ${s}\n -> updatingSource ${e}\n -> updateQueue ${t}\n -> updatingAttributeStore ${r}\n`),s}enableEvent(e){this._source.enableEvent(e.name,e.value)}pause(){this._updateQueue.pause(),this._updateQueue.clear()}resume(){this._updateQueue.resume()}pauseStream(){"geoevent"===this._source.type&&this._source.pauseStream()}resumeStream(){"geoevent"===this._source.type&&this._source.resumeStream()}_initAggregateStore(e){const t=e.schema.targets?.aggregate?.type,r=s(this.config,(e=>e.schema.targets?.aggregate?.type));if(r!==t&&(i(this.aggregateStore)&&(this.handles.remove("valueRangesChanged"),this.aggregateStore.destroy(),this.aggregateStore=null),t)){switch(t){case"cluster":{const e={geometryInfo:{geometryType:"esriGeometryPoint",hasM:!1,hasZ:!1},spatialReference:this.spatialReference,fieldsIndex:this.fieldsIndex,fields:this.service.fields};this.aggregateStore=new I(e,this.spatialReference,this._storage,this.service),this.handles.add(this.aggregateStore.events.on("valueRangesChanged",(e=>{this.remoteClient.invoke("emitEvent",{name:"valueRangesChanged",event:{valueRanges:e.valueRanges}}).catch(R)})),"valueRangesChanged");break}case"bin":{const e={geometryInfo:{geometryType:"esriGeometryPolygon",hasM:!1,hasZ:!1},spatialReference:this.spatialReference,fieldsIndex:this.fieldsIndex,fields:this.service.fields};this.aggregateStore=new b(e,this.spatialReference,this._storage,this.service);break}}this.aggregateStore.onTileUpdate({added:this.tileStore.tiles,removed:[]})}}async update(e,t){this._updateVersion++,this._initQueryEngine(t),this._initAttributeStore(t),this.pause(),await Promise.all([this._source.update(e,t.schema.source),this.featureStore.updateSchema(e,t.schema.targets.feature),this.attributeStore.update(e,t),this.attributeStore.updateFilters(e,t,this)]),this._initAggregateStore(t),i(this.aggregateStore)&&await this.aggregateStore.updateSchema(e,t.schema.targets.aggregate),this._initAggregateQueryEngine(this.aggregateStore,t.schema),has("esri-2d-update-debug")&&e.describe(),this._set("config",t)}async applyUpdate(e){e.version=this._updateVersion,has("esri-2d-update-debug")&&console.debug(`Applying update ${e.version}`),e.mesh&&this.clearTiles(),this._updateQueue.resume(),await this._source.applyUpdate(e),this.notifyChange("updating"),await d((()=>!this.updating)),i(this.aggregateStore)&&(await n(10),await d((()=>!this.updating)))}async onEdits({edits:e}){has("esri-2d-update-debug")&&console.debug("Applying Edit:",e),this._didEdit=!0;try{const t=e.removed.map((e=>e.objectId&&-1!==e.objectId?e.objectId:this._lookupObjectIdByGlobalId(e.globalId))),r=e.addOrModified.map((({objectId:e})=>e));this.featureStore.invalidate(),await this._source.edit(r,t),this.clearTiles(),this.notifyChange("updating"),i(this.aggregateStore)&&this.aggregateStore.clear(),await this._source.resend(),await d((()=>!this.updating))}catch(t){}}async refresh(e){if(!e){const e=E.empty();return e.storage.filters=!0,this.applyUpdate(e)}this.featureStore.invalidate(),this.clearTiles(),this._source.refresh(this._updateVersion),this._cleanupNeeded=!0,this.notifyChange("updating"),await d((()=>!this.updating))}clearTiles(){for(const e of this.tileStore.tiles)this.processor.onTileClear(e)}onTileUpdate(e){i(this.aggregateStore)&&this.aggregateStore.onTileUpdate(e);for(const t of e.added)this._source.subscribe(t,this._updateVersion),this._level=t.level;for(const t of e.removed)this._source.unsubscribe(t),this._cleanupNeeded=!0,this._tileToResolver.has(t.id)&&(this._tileToResolver.get(t.id).resolve(),this._tileToResolver.delete(t.id));this.notifyChange("updating")}async onIdle(){this._invalidated&&(this._invalidated=!1,(i(this.aggregateStore)||"heatmap"===this.processor.type)&&await this._repushCurrentLevelTiles()),this._markAndSweep()}async querySummaryStatistics({query:e,params:t}){return this.featureQueryEngine.executeQueryForSummaryStatistics(e,t)}async queryAggregateSummaryStatistics({query:e,params:t}){return this.aggregateQueryEngine.executeQueryForSummaryStatistics(e,t)}async queryUniqueValues({query:e,params:t}){return this.featureQueryEngine.executeQueryForUniqueValues(e,t)}async queryAggregateUniqueValues({query:e,params:t}){return this.aggregateQueryEngine.executeQueryForUniqueValues(e,t)}async queryClassBreaks({query:e,params:t}){return this.featureQueryEngine.executeQueryForClassBreaks(e,t)}async queryAggregateClassBreaks({query:e,params:t}){return this.aggregateQueryEngine.executeQueryForClassBreaks(e,t)}async queryHistogram({query:e,params:t}){return this.featureQueryEngine.executeQueryForHistogram(e,t)}async queryAggregateHistogram({query:e,params:t}){return this.aggregateQueryEngine.executeQueryForHistogram(e,t)}queryExtent(e){return this.featureQueryEngine.executeQueryForExtent(e)}queryAggregates(e){return this.aggregateQueryEngine.executeQuery(e)}queryAggregateCount(e){return this.aggregateQueryEngine.executeQueryForCount(e)}queryAggregateIds(e){return this.aggregateQueryEngine.executeQueryForIds(e)}queryFeatures(e){return this.featureQueryEngine.executeQuery(e)}async queryVisibleFeatures(e){const t=await this.featureQueryEngine.executeQuery(e),r=t.objectIdFieldName;return t.features=t.features.filter((e=>{const t=e.attributes[r],i=this.getDisplayId(t);return s(i,(e=>this.attributeStore.isVisible(e)))})),t}queryFeatureCount(e){return this.featureQueryEngine.executeQueryForCount(e)}queryLatestObservations(e){return this.featureQueryEngine.executeQueryForLatestObservations(e)}queryObjectIds(e){return this.featureQueryEngine.executeQueryForIds(e)}async queryStatistics(){return this.featureStore.storeStatistics}getObjectId(e){return this.featureStore.lookupObjectId(e,this._storage)}getDisplayId(e){if(i(this.aggregateStore)){const t=this.aggregateStore.getDisplayId(e);if(r(t)){const t=this.featureStore.lookupDisplayId(e);return this.aggregateStore.getDisplayIdForReferenceId(t)}return t}return this.featureStore.lookupDisplayId(e)}getFeatures(e){const t=[],r=[];for(const s of e){const e=i(this.aggregateStore)?this.getAggregate(s):null;if(i(e))if(i(e.attributes.referenceId)){const r=this.getFeature(e.attributes.referenceId);i(r)&&t.push(r)}else r.push(e);else{const e=this.getFeature(s);i(e)&&t.push(e)}}return{features:t,aggregates:r}}getFeature(e){const t=this.featureStore.lookupFeatureByDisplayId(e,this._storage);if(r(t))return null;const s=t.readHydratedGeometry(),i=y(s,t.geometryType,t.hasZ,t.hasM);return{attributes:t.readAttributes(),geometry:i}}getAggregate(e){return r(this.aggregateStore)?null:this.aggregateStore.getAggregate(e)}getAggregates(){return r(this.aggregateStore)?[]:this.aggregateStore.getAggregates()}async setHighlight(e){const t=a(e.map((e=>this.getDisplayId(e))));return this.attributeStore.setHighlight(e,t)}_lookupObjectIdByGlobalId(e){const t=this.service.globalIdField;if(r(t))throw new Error("Expected globalIdField to be defined");let s=null;if(this.featureStore.forEach((r=>{e===r.readAttribute(t)&&(s=r.getObjectId())})),r(s))throw new Error(`Expected to find a feature with globalId ${e}`);return s}async _repushCurrentLevelTiles(){const e=this.tileStore.tiles.filter((e=>e.level===this._level)).map((async e=>this._patchTile({type:"append",id:e.key.id,addOrUpdate:w.fromOptimizedFeatures([],this.service),remove:[],end:!0,status:E.empty()})));await Promise.all(e)}_maybeForceCleanup(){performance.now()-this._lastCleanup>F&&this._markAndSweep()}_patchTile(e,t){const r=this._updateQueue.push(e,t).then((()=>{this.notifyChange("updating")})).catch((e=>{this.notifyChange("updating")}));return this.notifyChange("updating"),r}async _onTileMessage(e,t){u(t);const s=this.tileStore.get(e.id);if(!s)return;if(e.clear)return this.processor.onTileClear(s);const a=e.status;this._cleanupNeeded=!0;const o=[];for(const r of e.remove){const e=this.featureStore.lookupDisplayId(r);e&&o.push(e)}e.remove=o;try{if(r(e.addOrUpdate))return void this.processor.onTileMessage(s,{...e,addOrUpdate:null},i(this.aggregateStore),t).catch(g);if(e.addOrUpdate.setArcadeSpatialReference(this.spatialReference),this.featureStore.hasInstance(e.addOrUpdate.instance)&&a.targets.feature||(a.targets.feature=!0,this.featureStore.onTileData(s,e)),!a.storage.data||!a.storage.filters){a.storage.data=!0,a.storage.filters=!0,this.attributeStore.onTileData(s,e);"geoevent"===this._source.type||this._didEdit?(await this.attributeStore.sendUpdates(),u(t)):this.attributeStore.sendUpdates()}if(i(this.aggregateStore)&&!a.targets.aggregate){a.targets.aggregate=!0;const t=A(this._source)&&this._source.loading,r=!A(this._source)||t||e.end;if(this.aggregateStore.onTileData(s,e,this._storage,this.attributeStore,r),!r)return;a.mesh||(this.attributeStore.onTileData(s,e),await this.attributeStore.sendUpdates())}a.mesh||(a.mesh=!0,await this.processor.onTileMessage(s,e,i(this.aggregateStore),t),u(t)),this._maybeForceCleanup()}catch(n){g(n)}}_mark(e,t,r){const s=(4294901760&this._storage.getInstanceId(e))>>>16;e&&(t.add(s),r.set(e))}_markAndSweep(){this._lastCleanup=performance.now();if(!(!("feature"===this._source.type&&"snapshot"===this._source.mode)&&("geoevent"===this._source.type||this._cleanupNeeded)))return;this._cleanupNeeded=!1;const e=this._storage.getBitset(this._markedIdsBufId),t=new Set;e.clear();for(const r of this.tileStore.tiles)for(const s of this._source.readers(r.id)){const r=s.getCursor();for(;r.next();){let s=r.getDisplayId();if(!s){const e=r.getObjectId();s=this.featureStore.lookupDisplayId(e)}this._mark(s,t,e)}}"symbol"===this.processor.type&&this.processor.forEachBufferId((r=>{this._mark(r,t,e)})),this._updateQueue.forEach((r=>{for(const s of r.remove){const r=this.featureStore.lookupDisplayId(s);this._mark(r,t,e)}})),i(this.aggregateStore)&&(this.aggregateStore.sweepFeatures(e,this.featureStore),"sweepAggregates"in this.aggregateStore&&this.aggregateStore.sweepAggregates(this._storage,this.attributeStore,this._level)),this.featureStore.sweepFeatures(e,this._storage,this.attributeStore),this.featureStore.sweepFeatureSets(t)}};e([l({constructOnly:!0})],q.prototype,"tileStore",void 0),e([l()],q.prototype,"config",void 0),e([l({readOnly:!0})],q.prototype,"fieldsIndex",null),e([l()],q.prototype,"processor",void 0),e([l({constructOnly:!0})],q.prototype,"remoteClient",void 0),e([l({constructOnly:!0})],q.prototype,"service",void 0),e([l()],q.prototype,"spatialReference",null),e([l()],q.prototype,"updating",null),q=e([p("esri.views.2d.layers.features.controllers.FeatureController2D")],q);const U=q;export{U 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.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{g as t,m as e,h as s,
|
|
5
|
+
import{g as t,m as e,h as s,d as r,r as i}from"../../../../chunks/mat3.js";import{c as o}from"../../../../chunks/mat3f32.js";import{f as a}from"../../../../chunks/vec2f32.js";import{f as n}from"../../../../chunks/vec3f32.js";import{normalizeMapX as f}from"../../../../geometry/support/normalizeUtils.js";import{DisplayObject as l}from"../../engine/DisplayObject.js";import{createProgramDescriptor as u}from"../../engine/webgl/Utils.js";import{BufferObject as c}from"../../../webgl/BufferObject.js";import{BlendFactor as _,PrimitiveType as h,DataType as m,Usage as d}from"../../../webgl/enums.js";import{VertexArrayObject as p}from"../../../webgl/VertexArrayObject.js";const g=Math.PI/180,v=4;class x extends l{constructor(t){super(),this._dvsMat3=o(),this._localOrigin={x:0,y:0},this._getBounds=t}destroy(){this._vao&&(this._vao.dispose(!0),this._vao=null,this._vertexBuffer=null,this._indexBuffer=null),this._program&&(this._program.dispose(),this._program=null)}doRender(t){const{context:e}=t,s=this._getBounds();if(s.length<1)return;this._createShaderProgram(e),this._updateMatricesAndLocalOrigin(t),this._updateBufferData(e,s),e.setBlendingEnabled(!0),e.setDepthTestEnabled(!1),e.setStencilWriteMask(0),e.setStencilTestEnabled(!1),e.setBlendFunction(_.ONE,_.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0);const r=this._program;e.bindVAO(this._vao),e.useProgram(r),r.setUniformMatrix3fv("u_dvsMat3",this._dvsMat3),e.gl.lineWidth(1),e.drawElements(h.LINES,8*s.length,m.UNSIGNED_INT,0),e.bindVAO()}_createTransforms(){return{dvs:o()}}_createShaderProgram(t){if(this._program)return;const e="precision highp float;\n uniform mat3 u_dvsMat3;\n\n attribute vec2 a_position;\n\n void main() {\n mediump vec3 pos = u_dvsMat3 * vec3(a_position, 1.0);\n gl_Position = vec4(pos.xy, 0.0, 1.0);\n }",s="precision mediump float;\n void main() {\n gl_FragColor = vec4(0.75, 0.0, 0.0, 0.75);\n }";this._program=t.programCache.acquire(e,s,b().attributes)}_updateMatricesAndLocalOrigin(o){const{state:l}=o,{displayMat3:u,size:c,resolution:_,pixelRatio:h,rotation:m,viewpoint:d}=l,p=g*m,{x:v,y:x}=d.targetGeometry,b=f(v,l.spatialReference);this._localOrigin.x=b,this._localOrigin.y=x;const y=h*c[0],B=h*c[1],M=_*y,A=_*B,O=t(this._dvsMat3);e(O,O,u),s(O,O,a(y/2,B/2)),r(O,O,n(c[0]/M,-B/A,1)),i(O,O,-p)}_updateBufferData(t,e){const{x:s,y:r}=this._localOrigin,i=2*v*e.length,o=new Float32Array(i),a=new Uint32Array(8*e.length);let n=0,f=0;for(const l of e)l&&(o[2*n+0]=l[0]-s,o[2*n+1]=l[1]-r,o[2*n+2]=l[0]-s,o[2*n+3]=l[3]-r,o[2*n+4]=l[2]-s,o[2*n+5]=l[3]-r,o[2*n+6]=l[2]-s,o[2*n+7]=l[1]-r,a[f+0]=n+0,a[f+1]=n+3,a[f+2]=n+3,a[f+3]=n+2,a[f+4]=n+2,a[f+5]=n+1,a[f+6]=n+1,a[f+7]=n+0,n+=4,f+=8);if(this._vertexBuffer?this._vertexBuffer.setData(o.buffer):this._vertexBuffer=c.createVertex(t,d.DYNAMIC_DRAW,o.buffer),this._indexBuffer?this._indexBuffer.setData(a):this._indexBuffer=c.createIndex(t,d.DYNAMIC_DRAW,a),!this._vao){const e=b();this._vao=new p(t,e.attributes,e.bufferLayouts,{geometry:this._vertexBuffer},this._indexBuffer)}}}const b=()=>u("bounds",{geometry:[{location:0,name:"a_position",count:2,type:m.FLOAT}]});export{x 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.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{g as e,h as t,s}from"../../../../chunks/mat3.js";import{c as r}from"../../../../chunks/mat3f32.js";import{BufferObject as a}from"../../../webgl/BufferObject.js";import"../../../webgl/FramebufferObject.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../webgl/checkWebGLError.js";import"../../../webgl/context-util.js";import{DataType as i,BlendFactor as o,PrimitiveType as n,Usage as m}from"../../../webgl/enums.js";import"../../../../chunks/builtins.js";import"../../../webgl/Texture.js";import{VertexArrayObject as f}from"../../../webgl/VertexArrayObject.js";import{DisplayObject as h}from"../../engine/DisplayObject.js";import{VertexElementDescriptor as c}from"../../../webgl/VertexElementDescriptor.js";const _={geometry:[new c("a_PositionAndFlags",3,i.SHORT,0,6)]},u=new Map;u.set("a_PositionAndFlags",0);const l={vsPath:"debug/overlay",fsPath:"debug/overlay",attributes:u};class d extends h{constructor(e){super(),this._conf=e}static makeFlags(e,t){return e|t<<2}_createTransforms(){return{dvs:r()}}doRender(e){this._updateTransforms(e),this._ensureResources(e);const{context:t}=e;t.useProgram(this._program),this._program.setUniformMatrix3fv("u_dvsMat3",this.transforms.dvs),this._program.setUniform4fv("u_colors",this._conf.getColors(e)),this._program.setUniform1fv("u_opacities",this._conf.getOpacities(e));const{vertexData:s,indexData:r}=this._conf.getMesh(e);this._vertexBuffer.setData(s),this._indexBuffer.setData(r),t.bindVAO(this._vertexArray),t.setBlendingEnabled(!0),t.setBlendFunction(o.ONE,o.ONE_MINUS_SRC_ALPHA),t.setDepthTestEnabled(!1),t.setStencilTestEnabled(!1),t.setColorMask(!0,!0,!0,!0),t.drawElements(n.TRIANGLES,r.length,i.UNSIGNED_INT,0)}onDetach(){this._vertexArray&&(this._vertexArray.dispose(),this._vertexArray=null)}_updateTransforms(r){e(this.transforms.dvs),t(this.transforms.dvs,this.transforms.dvs,[-1,1]),s(this.transforms.dvs,this.transforms.dvs,[2/r.state.size[0],-2/r.state.size[1],1])}_ensureResources(e){const{context:t}=e;this._program||(this._program=e.painter.materialManager.getProgram(l)),this._vertexBuffer||(this._vertexBuffer=a.createVertex(t,m.STREAM_DRAW)),this._indexBuffer||(this._indexBuffer=a.createIndex(t,m.STREAM_DRAW)),this._vertexArray||(this._vertexArray=new f(t,u,_,{geometry:this._vertexBuffer},this._indexBuffer))}}export{d as default};
|
|
5
|
+
import{g as e,h as t,d as s}from"../../../../chunks/mat3.js";import{c as r}from"../../../../chunks/mat3f32.js";import{BufferObject as a}from"../../../webgl/BufferObject.js";import"../../../webgl/FramebufferObject.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../webgl/checkWebGLError.js";import"../../../webgl/context-util.js";import{DataType as i,BlendFactor as o,PrimitiveType as n,Usage as m}from"../../../webgl/enums.js";import"../../../../chunks/builtins.js";import"../../../webgl/Texture.js";import{VertexArrayObject as f}from"../../../webgl/VertexArrayObject.js";import{DisplayObject as h}from"../../engine/DisplayObject.js";import{VertexElementDescriptor as c}from"../../../webgl/VertexElementDescriptor.js";const _={geometry:[new c("a_PositionAndFlags",3,i.SHORT,0,6)]},u=new Map;u.set("a_PositionAndFlags",0);const l={vsPath:"debug/overlay",fsPath:"debug/overlay",attributes:u};class d extends h{constructor(e){super(),this._conf=e}static makeFlags(e,t){return e|t<<2}_createTransforms(){return{dvs:r()}}doRender(e){this._updateTransforms(e),this._ensureResources(e);const{context:t}=e;t.useProgram(this._program),this._program.setUniformMatrix3fv("u_dvsMat3",this.transforms.dvs),this._program.setUniform4fv("u_colors",this._conf.getColors(e)),this._program.setUniform1fv("u_opacities",this._conf.getOpacities(e));const{vertexData:s,indexData:r}=this._conf.getMesh(e);this._vertexBuffer.setData(s),this._indexBuffer.setData(r),t.bindVAO(this._vertexArray),t.setBlendingEnabled(!0),t.setBlendFunction(o.ONE,o.ONE_MINUS_SRC_ALPHA),t.setDepthTestEnabled(!1),t.setStencilTestEnabled(!1),t.setColorMask(!0,!0,!0,!0),t.drawElements(n.TRIANGLES,r.length,i.UNSIGNED_INT,0)}onDetach(){this._vertexArray&&(this._vertexArray.dispose(),this._vertexArray=null)}_updateTransforms(r){e(this.transforms.dvs),t(this.transforms.dvs,this.transforms.dvs,[-1,1]),s(this.transforms.dvs,this.transforms.dvs,[2/r.state.size[0],-2/r.state.size[1],1])}_ensureResources(e){const{context:t}=e;this._program||(this._program=e.painter.materialManager.getProgram(l)),this._vertexBuffer||(this._vertexBuffer=a.createVertex(t,m.STREAM_DRAW)),this._indexBuffer||(this._indexBuffer=a.createIndex(t,m.STREAM_DRAW)),this._vertexArray||(this._vertexArray=new f(t,u,_,{geometry:this._vertexBuffer},this._indexBuffer))}}export{d 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.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../chunks/tslib.es6.js";import{EsriPromise as t}from"../../../../core/Promise.js";import{createResolver as r,ignoreAbortErrors as s,throwIfNotAbortError as o}from"../../../../core/promiseUtils.js";import{open as i}from"../../../../core/workers/workers.js";import{property as n}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";function c(e){return Array.isArray(e)}let
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import{EsriPromise as t}from"../../../../core/Promise.js";import{createResolver as r,ignoreAbortErrors as s,throwIfNotAbortError as o}from"../../../../core/promiseUtils.js";import{open as i}from"../../../../core/workers/workers.js";import{property as n}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";function c(e){return Array.isArray(e)}let u=class extends t{constructor(e){super(e),this._startupResolver=r(),this.isReady=!1}initialize(){this._controller=new AbortController,this.addResolvingPromise(this._startWorker(this._controller.signal))}destroy(){this._controller.abort(),this._connection&&this._connection.close()}set tileRenderer(e){this.client.tileRenderer=e}get closed(){return this._connection.closed}async startup(e,t,r,s){await this.when();const o=this._controller.signal,i=c(r.source)?{transferList:r.source,signal:o}:void 0,n={service:r,config:t,tileInfo:e.tileInfo.toJSON(),tiles:s};await this._connection.invoke("startup",n,i),this._startupResolver.resolve(),this._set("isReady",!0)}async updateTiles(e){return await this._startupResolver.promise,s(this._connection.invoke("updateTiles",e))}async update(e){const t={config:e};return await this._startupResolver.promise,this._connection.invoke("update",t)}async applyUpdate(e){return await this._startupResolver.promise,this._connection.invoke("applyUpdate",e)}async setHighlight(e){return await this._startupResolver.promise,s(this._connection.invoke("controller.setHighlight",e))}async stop(){if(await this._startupResolver.promise,!this.closed)return s(this._connection.invoke("stop"))}async refresh(e){return await this._startupResolver.promise,s(this._connection.invoke("controller.refresh",e))}async querySummaryStatistics(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.querySummaryStatistics",{query:e.toJSON(),params:t},r)}async queryAggregateSummaryStatistics(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.queryAggregateSummaryStatistics",{query:e.toJSON(),params:t},r)}async queryUniqueValues(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.queryUniqueValues",{query:e.toJSON(),params:t},r)}async queryAggregateUniqueValues(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.queryAggregateUniqueValues",{query:e.toJSON(),params:t},r)}async queryClassBreaks(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.queryClassBreaks",{query:e.toJSON(),params:t},r)}async queryAggregateClassBreaks(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.queryAggregateClassBreaks",{query:e.toJSON(),params:t},r)}async queryHistogram(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.queryHistogram",{query:e.toJSON(),params:t},r)}async queryAggregateHistogram(e,t,r){return await this._startupResolver.promise,this._connection.invoke("controller.queryAggregateHistogram",{query:e.toJSON(),params:t},r)}async queryFeatures(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryFeatures",e.toJSON(),t)}async queryVisibleFeatures(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryVisibleFeatures",e.toJSON(),t)}async queryObjectIds(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryObjectIds",e.toJSON(),t)}async queryFeatureCount(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryFeatureCount",e.toJSON(),t)}async queryExtent(e,t){return this._connection.invoke("controller.queryExtent",e.toJSON(),t)}async queryLatestObservations(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryLatestObservations",e.toJSON(),t)}async queryStatistics(e){return await this._startupResolver.promise,this._connection.invoke("controller.queryStatistics",e)}async queryAggregates(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryAggregates",e.toJSON(),t)}async queryAggregateCount(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryAggregateCount",e.toJSON(),t)}async queryAggregateIds(e,t){return await this._startupResolver.promise,this._connection.invoke("controller.queryAggregateIds",e.toJSON(),t)}async getObjectId(e){return await this._startupResolver.promise,this._connection.invoke("controller.getObjectId",e)}async getDisplayId(e){return await this._startupResolver.promise,this._connection.invoke("controller.getDisplayId",e)}async getFeatures(e){return await this._startupResolver.promise,this._connection.invoke("controller.getFeatures",e)}async getAggregates(){return await this._startupResolver.promise,this._connection.invoke("controller.getAggregates")}async getAggregateValueRanges(){return await this._startupResolver.promise,this._connection.invoke("controller.getAggregateValueRanges")}async mapValidDisplayIds(e){return await this._startupResolver.promise,this._connection.invoke("controller.mapValidDisplayIds",e)}async onEdits(e){return await this._startupResolver.promise,s(this._connection.invoke("controller.onEdits",e))}async enableEvent(e,t){return await this._startupResolver.promise,s(this._connection.invoke("controller.enableEvent",{name:e,value:t}))}pauseStream(){return s(this._connection.invoke("controller.pauseStream"))}resumeStream(){return s(this._connection.invoke("controller.resumeStream"))}async _startWorker(e){try{this._connection=await i("Pipeline",{client:this.client,strategy:"dedicated",signal:e})}catch(t){o(t)}}};e([n()],u.prototype,"isReady",void 0),e([n({constructOnly:!0})],u.prototype,"client",void 0),e([n()],u.prototype,"tileRenderer",null),u=e([a("esri.views.2d.layers.support.FeatureLayerProxy")],u);const l=u;export{l 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.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{deg2rad as e}from"../../../../../core/mathUtils.js";import{isSome as t,unwrapOr as s}from"../../../../../core/maybe.js";import{createLength as i,createArea as o}from"../../../../../core/quantityUtils.js";import{s as r,d as n}from"../../../../../chunks/vec2.js";import{a as h}from"../../../../../chunks/vec2f64.js";import{n as a,i as d,c as g,f as l,x as p,b as c,e as m,g as u,a as _}from"../../../../../chunks/vec3.js";import{c as C}from"../../../../../chunks/vec3f64.js";import{c as f}from"../../../../../chunks/vec4f64.js";import{canProjectWithoutEngine as S,canProjectToWGS84ComparableLonLat as L,projectPointToVector as P,projectPointToWGS84ComparableLonLat as R,projectDirection as j,projectVectorToVector as M}from"../../../../../geometry/projection.js";import{getSphericalPCPF as A,getReferenceEllipsoid as W}from"../../../../../geometry/projectionEllipsoid.js";import v from"../../../../../geometry/SpatialReference.js";import{Axis as w}from"../../../../../geometry/support/Axis.js";import{segmentIntersects as z}from"../../../../../geometry/support/intersectsBase.js";import{areaPoints2d as I}from"../../../../../geometry/support/triangle.js";import{MeasurementMode as U}from"../../interfaces.js";import{segmentLengthGeodesicVector as G,bestFitPlane as V,fitHemisphere as y,triangleAreaGeodesic as T,planePointDistance as F,boundingSphere as b,segmentLengthGeodesic as x,segmentLengthEuclidean as E}from"../../support/measurementUtils.js";import{midpoint as N}from"../../support/viewUtils.js";import{getElevationAtPoint as k}from"../../../support/ElevationProvider.js";import{makeOrthonormal as q,tangentFrame as D}from"../../../support/mathUtils.js";import{compactIndices as B}from"../../../webgl-engine/lib/Indices.js";import{triangulate as H}from"../../../../support/euclideanAreaMeasurementUtils.js";class X{constructor(e,t){this.positionsWorldCoords=[],this.positionsRenderCoords=[],this.positionsProjectedWorldCoords=[],this.positionsFittedRenderCoords=[],this.positionsGeographic=[],this.positionsSpherical=[],this.positionsStereographic=[],this.pathSegmentLengths=[],this.geodesicPathSegmentLengths=[],this.perimeterSegmentLengths=[],this.intersectingSegments=new Set,this.geodesicIntersectingSegments=new Set,this.areaCentroidWorldCoords=C(),this.areaCentroidRenderCoords=C(),this.geodesicAreaCentroidRenderCoords=C(),this._length=0,this._centroidRenderCoords=C(),this._planeWorldCoords=f(),this._worldUp=C(),this._worldTangent=C(),this._frame=[C(),C(),C()],this._pathVersion=-1,this._validMeasurement=!1,this._hasCursorPoint=!1,this._mode=null,this._tempU=C(),this._tempV=C(),this._tempVec3=C(),this._tempSphere={center:C(),radius:0},this._sceneView=e,this.unitNormalizer=t}update(e,s,o,r,n,h,d){const g=this.unitNormalizer,l=this._sceneView.renderSpatialReference,p=this.unitNormalizer.spatialReference,c=t(s);if(this._pathVersion===e.version&&this._validMeasurement===r&&!d&&this._hasCursorPoint===c&&this._mode===h){return!e.isValidPolygon&&(this._updateCursorSegmentLength(e,s),!0)}this._pathVersion=e.version,this._validMeasurement=r,this._hasCursorPoint=c;const m=e.numVertices;this._resize(m);const u=A(o.spatialReference),_=S(o.spatialReference,u)&&L(o.spatialReference),{positionsGeographic:C,positionsWorldCoords:f,positionsRenderCoords:j,positionsSpherical:M}=this;e.forEachVertexPosition(((e,t)=>{Z(o.elevationProvider,e),P(e,f[t],p),P(e,j[t],l),_&&(R(e,C[t]),P(e,M[t],u),a(M[t],M[t]))}));const W=this._updatePathLengths(r);if(this.pathLength=this._length>1?i(g.normalizeDistance(W),"meters"):null,_){const e=this._updateGeodesicPathLengths(r,p);this.geodesicPathLength=this._length>1?i(e,"meters"):null}else this.geodesicPathLength=null;return this._updateCursorSegmentLength(e,s),this._updateMode(e,h),r?(this._updateArea(o,g,l,p,n),_&&this._updateGeodesicArea(o),!0):(this.area=null,this.geodesicArea=null,this.perimeterLength=null,this.triangleIndices=null,this.geodesicTriangleIndices=null,this.intersectingSegments.clear(),this.geodesicIntersectingSegments.clear(),!0)}getData(){return{positionsWorldCoords:this.positionsWorldCoords,positionsRenderCoords:this.positionsRenderCoords,positionsProjectedWorldCoords:this.positionsProjectedWorldCoords,positionsFittedRenderCoords:this.positionsFittedRenderCoords,positionsGeographic:this.positionsGeographic,positionsSpherical:this.positionsSpherical,positionsStereographic:this.positionsStereographic,pathSegmentLengths:this.pathSegmentLengths,geodesicPathSegmentLengths:this.geodesicPathSegmentLengths,perimeterSegmentLengths:this.perimeterSegmentLengths,intersectingSegments:this.intersectingSegments,geodesicIntersectingSegments:this.geodesicIntersectingSegments,triangleIndices:this.triangleIndices,geodesicTriangleIndices:this.geodesicTriangleIndices,areaCentroidWorldCoords:this.areaCentroidWorldCoords,areaCentroidRenderCoords:this.areaCentroidRenderCoords,geodesicAreaCentroidRenderCoords:this.geodesicAreaCentroidRenderCoords,fittingMode:this.fittingMode,area:this.area,geodesicArea:this.geodesicArea,pathLength:this.pathLength,geodesicPathLength:this.geodesicPathLength,perimeterLength:this.perimeterLength,cursorSegmentLength:this.cursorSegmentLength,geodesicCursorSegmentLength:this.geodesicCursorSegmentLength,unitNormalizer:this.unitNormalizer,actualMeasurementMode:this.actualMeasurementMode}}_resize(e){for(e<this._length&&(this.positionsWorldCoords.length=e,this.positionsRenderCoords.length=e,this.positionsProjectedWorldCoords.length=e,this.positionsFittedRenderCoords.length=e,this.positionsGeographic.length=e,this.positionsSpherical.length=e,this.positionsStereographic.length=e,this.pathSegmentLengths.length=e,this.geodesicPathSegmentLengths.length=e,this.perimeterSegmentLengths.length=e,this._length=e);this._length<e;)this.positionsWorldCoords.push(C()),this.positionsRenderCoords.push(C()),this.positionsProjectedWorldCoords.push(h()),this.positionsFittedRenderCoords.push(C()),this.positionsGeographic.push(C()),this.positionsSpherical.push(C()),this.positionsStereographic.push(h()),this.pathSegmentLengths.push(0),this.geodesicPathSegmentLengths.push(0),this.perimeterSegmentLengths.push(0),++this._length}_updatePathLengths(e){const t=this.positionsWorldCoords,s=this.pathSegmentLengths;let i=0;for(let o=0;o<this._length;++o){const r=s[o]=d(t[o],t[(o+1)%this._length]);(o<this._length-1||e)&&(i+=r)}return i}_updateGeodesicPathLengths(e,t){const s=this.positionsGeographic,i=this.geodesicPathSegmentLengths;let o=0;for(let r=0;r<this._length;++r){const n=i[r]=G(s[r],s[(r+1)%this._length],t);(r<this._length-1||e)&&(o+=n)}return o}_updateArea(e,t,s,n,h){const a=e.renderCoordsHelper,d=this.positionsWorldCoords,C=this.positionsRenderCoords,f=this.positionsProjectedWorldCoords,S=this.positionsFittedRenderCoords,L=this._planeWorldCoords,P=this._centroidRenderCoords;N(C,P),a.worldUpAtPosition(P,this._worldUp),a.worldBasisAtPosition(P,w.X,this._worldTangent),j(P,this._worldUp,s,this._worldUp,n),j(P,this._worldTangent,s,this._worldTangent,n),d.length>2&&V(d,L),this.fittingMode=this._selectFittingMode(L,d,this._worldUp,h);let R=0;if("horizontal"===this.fittingMode){let e=-1/0;C.forEach(((t,s)=>{const i=a.getAltitude(C[s]);i>e&&(e=i,R=s)}))}const A=d[R];let W=L,v=this._worldTangent;"horizontal"===this.fittingMode?W=this._worldUp:"vertical"===this.fittingMode&&(W=this._tempVec3,v=this._worldUp,q(L,this._worldUp,W)),g(this._frame[2],W),q(v,W,this._frame[0]),l(this._frame[1],this._frame[0],this._frame[2]),p(this._frame[1],this._frame[1]);const z=this._tempVec3,I=this._tempU,U=this._tempV;for(let i=0;i<this._length;++i){const e=f[i],t=S[i];c(z,d[i],A),r(e,m(this._frame[0],z),m(this._frame[1],z)),u(I,this._frame[0],e[0]),u(U,this._frame[1],e[1]),_(z,I,U),_(z,z,A),M(z,n,t,s)}this.perimeterLength=this._length>0?i(t.normalizeDistance(this._updatePerimeterLengths()),"meters"):null,N(S,this.areaCentroidRenderCoords),M(this.areaCentroidRenderCoords,s,this.areaCentroidWorldCoords,n),this._updateIntersectingSegments(),this.area=0===this.intersectingSegments.size?o(t.normalizeArea(this._computeArea()),"square-meters"):null}_updateGeodesicArea(e){const{renderCoordsHelper:t,spatialReference:s}=e,{positionsSpherical:i,positionsStereographic:n}=this,h=this._tempVec3,a=y(i,h);if(!a)return void(this.geodesicArea=null);const d=this._tempU,g=this._tempV;D(h,d,g);for(let o=0;o<this._length;++o){const e=m(i[o],d),t=m(i[o],g),s=m(i[o],h);r(n[o],e/s,t/s)}u(h,h,W(s).radius),t.toRenderCoords(h,A(s),this.geodesicAreaCentroidRenderCoords),this._updateGeodesicIntersectingSegments(),this.geodesicArea=a&&0===this.geodesicIntersectingSegments.size?o(this._computeGeodesicArea(),"square-meters"):null}_updatePerimeterLengths(){const e=this.positionsProjectedWorldCoords,t=this.perimeterSegmentLengths;let s=0;for(let i=0;i<this._length;++i){s+=t[i]=n(e[i],e[(i+1)%this._length])}return s}_updateIntersectingSegments(){const e=this.positionsProjectedWorldCoords,t=this.intersectingSegments;t.clear();for(let s=0;s<this._length;++s)for(let i=s+2;i<this._length;++i){if((i+1)%this._length===s)continue;const o=e[s],r=e[(s+1)%this._length],n=e[i],h=e[(i+1)%this._length];z(o,r,n,h)&&(t.add(s),t.add(i))}}_computeArea(){const e=this.positionsProjectedWorldCoords,t=this.triangleIndices=B(H(e));let s=0;for(let i=0;i<t.length;i+=3)s+=I(e[t[i]],e[t[i+1]],e[t[i+2]]);return s}_updateGeodesicIntersectingSegments(){const e=this.positionsStereographic,t=this.geodesicIntersectingSegments;t.clear();for(let s=0;s<this._length;++s)for(let i=s+2;i<this._length;++i){if((i+1)%this._length===s)continue;const o=e[s],r=e[(s+1)%this._length],n=e[i],h=e[(i+1)%this._length];z(o,r,n,h)&&(t.add(s),t.add(i))}}_computeGeodesicArea(){const e=this.positionsGeographic,t=this.positionsStereographic,s=this.geodesicTriangleIndices=B(H(t));let i=0;for(let o=0;o<s.length;o+=3)i+=T(e[s[o]],e[s[o+1]],e[s[o+2]],v.WGS84);return i}_selectFittingMode(t,s,i,o){const r=s.map((e=>Math.abs(F(t,e)))).reduce(((e,t)=>Math.max(e,t)),0);b(s,this._tempSphere);const n=r/(2*this._tempSphere.radius),h=n<o.maxRelativeErrorCoplanar,a=n<o.maxRelativeErrorAlmostCoplanar;let d="horizontal";if(h)d="oblique";else if(a){d=Math.abs(m(i,t))>Math.cos(e(o.verticalAngleThreshold))?"horizontal":"vertical"}return d}_updateCursorSegmentLength(e,s){const o=e.lastPoint;!e.isValidPolygon&&t(o)&&t(s)?(this.geodesicCursorSegmentLength=i(x(o,s),"meters"),this.cursorSegmentLength=i(this.unitNormalizer.normalizeDistance(E(o,s,this.unitNormalizer.spatialReference)),"meters")):(this.geodesicCursorSegmentLength=null,this.cursorSegmentLength=null)}_updateMode(e,s){if(s===U.Auto){this.actualMeasurementMode="euclidean";let s=0;null!=this.geodesicPathLength&&(s+=this.geodesicPathLength.value),!e.isValidPolygon&&t(this.geodesicCursorSegmentLength)&&(s+=this.geodesicCursorSegmentLength.value),s>J&&(this.actualMeasurementMode="geodesic")}else this.actualMeasurementMode=s===U.Euclidean?"euclidean":"geodesic";null==this.geodesicPathLength&&(this.actualMeasurementMode="euclidean"),this._mode=s}}function Z(e,t){t.hasZ||(t.z=s(k(e,t,"ground"),0))}const J=1e5;export{X as MeasurementDataManager};
|
|
5
|
+
import{deg2rad as e}from"../../../../../core/mathUtils.js";import{isSome as t,unwrapOr as s}from"../../../../../core/maybe.js";import{createLength as i,createArea as o}from"../../../../../core/quantityUtils.js";import{s as r,d as n}from"../../../../../chunks/vec2.js";import{a as h}from"../../../../../chunks/vec2f64.js";import{n as a,i as d,c as g,f as l,o as p,b as c,e as m,g as u,a as _}from"../../../../../chunks/vec3.js";import{c as C}from"../../../../../chunks/vec3f64.js";import{c as f}from"../../../../../chunks/vec4f64.js";import{canProjectWithoutEngine as S,canProjectToWGS84ComparableLonLat as L,projectPointToVector as P,projectPointToWGS84ComparableLonLat as R,projectDirection as j,projectVectorToVector as M}from"../../../../../geometry/projection.js";import{getSphericalPCPF as A,getReferenceEllipsoid as W}from"../../../../../geometry/projectionEllipsoid.js";import v from"../../../../../geometry/SpatialReference.js";import{Axis as w}from"../../../../../geometry/support/Axis.js";import{segmentIntersects as z}from"../../../../../geometry/support/intersectsBase.js";import{areaPoints2d as I}from"../../../../../geometry/support/triangle.js";import{MeasurementMode as U}from"../../interfaces.js";import{segmentLengthGeodesicVector as G,bestFitPlane as V,fitHemisphere as y,triangleAreaGeodesic as T,planePointDistance as F,boundingSphere as b,segmentLengthGeodesic as E,segmentLengthEuclidean as N}from"../../support/measurementUtils.js";import{midpoint as x}from"../../support/viewUtils.js";import{getElevationAtPoint as k}from"../../../support/ElevationProvider.js";import{makeOrthonormal as q,tangentFrame as D}from"../../../support/mathUtils.js";import{compactIndices as B}from"../../../webgl-engine/lib/Indices.js";import{triangulate as H}from"../../../../support/euclideanAreaMeasurementUtils.js";class X{constructor(e,t){this.positionsWorldCoords=[],this.positionsRenderCoords=[],this.positionsProjectedWorldCoords=[],this.positionsFittedRenderCoords=[],this.positionsGeographic=[],this.positionsSpherical=[],this.positionsStereographic=[],this.pathSegmentLengths=[],this.geodesicPathSegmentLengths=[],this.perimeterSegmentLengths=[],this.intersectingSegments=new Set,this.geodesicIntersectingSegments=new Set,this.areaCentroidWorldCoords=C(),this.areaCentroidRenderCoords=C(),this.geodesicAreaCentroidRenderCoords=C(),this._length=0,this._centroidRenderCoords=C(),this._planeWorldCoords=f(),this._worldUp=C(),this._worldTangent=C(),this._frame=[C(),C(),C()],this._pathVersion=-1,this._validMeasurement=!1,this._hasCursorPoint=!1,this._mode=null,this._tempU=C(),this._tempV=C(),this._tempVec3=C(),this._tempSphere={center:C(),radius:0},this._sceneView=e,this.unitNormalizer=t}update(e,s,o,r,n,h,d){const g=this.unitNormalizer,l=this._sceneView.renderSpatialReference,p=this.unitNormalizer.spatialReference,c=t(s);if(this._pathVersion===e.version&&this._validMeasurement===r&&!d&&this._hasCursorPoint===c&&this._mode===h){return!e.isValidPolygon&&(this._updateCursorSegmentLength(e,s),!0)}this._pathVersion=e.version,this._validMeasurement=r,this._hasCursorPoint=c;const m=e.numVertices;this._resize(m);const u=A(o.spatialReference),_=S(o.spatialReference,u)&&L(o.spatialReference),{positionsGeographic:C,positionsWorldCoords:f,positionsRenderCoords:j,positionsSpherical:M}=this;e.forEachVertexPosition(((e,t)=>{Z(o.elevationProvider,e),P(e,f[t],p),P(e,j[t],l),_&&(R(e,C[t]),P(e,M[t],u),a(M[t],M[t]))}));const W=this._updatePathLengths(r);if(this.pathLength=this._length>1?i(g.normalizeDistance(W),"meters"):null,_){const e=this._updateGeodesicPathLengths(r,p);this.geodesicPathLength=this._length>1?i(e,"meters"):null}else this.geodesicPathLength=null;return this._updateCursorSegmentLength(e,s),this._updateMode(e,h),r?(this._updateArea(o,g,l,p,n),_&&this._updateGeodesicArea(o),!0):(this.area=null,this.geodesicArea=null,this.perimeterLength=null,this.triangleIndices=null,this.geodesicTriangleIndices=null,this.intersectingSegments.clear(),this.geodesicIntersectingSegments.clear(),!0)}getData(){return{positionsWorldCoords:this.positionsWorldCoords,positionsRenderCoords:this.positionsRenderCoords,positionsProjectedWorldCoords:this.positionsProjectedWorldCoords,positionsFittedRenderCoords:this.positionsFittedRenderCoords,positionsGeographic:this.positionsGeographic,positionsSpherical:this.positionsSpherical,positionsStereographic:this.positionsStereographic,pathSegmentLengths:this.pathSegmentLengths,geodesicPathSegmentLengths:this.geodesicPathSegmentLengths,perimeterSegmentLengths:this.perimeterSegmentLengths,intersectingSegments:this.intersectingSegments,geodesicIntersectingSegments:this.geodesicIntersectingSegments,triangleIndices:this.triangleIndices,geodesicTriangleIndices:this.geodesicTriangleIndices,areaCentroidWorldCoords:this.areaCentroidWorldCoords,areaCentroidRenderCoords:this.areaCentroidRenderCoords,geodesicAreaCentroidRenderCoords:this.geodesicAreaCentroidRenderCoords,fittingMode:this.fittingMode,area:this.area,geodesicArea:this.geodesicArea,pathLength:this.pathLength,geodesicPathLength:this.geodesicPathLength,perimeterLength:this.perimeterLength,cursorSegmentLength:this.cursorSegmentLength,geodesicCursorSegmentLength:this.geodesicCursorSegmentLength,unitNormalizer:this.unitNormalizer,actualMeasurementMode:this.actualMeasurementMode}}_resize(e){for(e<this._length&&(this.positionsWorldCoords.length=e,this.positionsRenderCoords.length=e,this.positionsProjectedWorldCoords.length=e,this.positionsFittedRenderCoords.length=e,this.positionsGeographic.length=e,this.positionsSpherical.length=e,this.positionsStereographic.length=e,this.pathSegmentLengths.length=e,this.geodesicPathSegmentLengths.length=e,this.perimeterSegmentLengths.length=e,this._length=e);this._length<e;)this.positionsWorldCoords.push(C()),this.positionsRenderCoords.push(C()),this.positionsProjectedWorldCoords.push(h()),this.positionsFittedRenderCoords.push(C()),this.positionsGeographic.push(C()),this.positionsSpherical.push(C()),this.positionsStereographic.push(h()),this.pathSegmentLengths.push(0),this.geodesicPathSegmentLengths.push(0),this.perimeterSegmentLengths.push(0),++this._length}_updatePathLengths(e){const t=this.positionsWorldCoords,s=this.pathSegmentLengths;let i=0;for(let o=0;o<this._length;++o){const r=s[o]=d(t[o],t[(o+1)%this._length]);(o<this._length-1||e)&&(i+=r)}return i}_updateGeodesicPathLengths(e,t){const s=this.positionsGeographic,i=this.geodesicPathSegmentLengths;let o=0;for(let r=0;r<this._length;++r){const n=i[r]=G(s[r],s[(r+1)%this._length],t);(r<this._length-1||e)&&(o+=n)}return o}_updateArea(e,t,s,n,h){const a=e.renderCoordsHelper,d=this.positionsWorldCoords,C=this.positionsRenderCoords,f=this.positionsProjectedWorldCoords,S=this.positionsFittedRenderCoords,L=this._planeWorldCoords,P=this._centroidRenderCoords;x(C,P),a.worldUpAtPosition(P,this._worldUp),a.worldBasisAtPosition(P,w.X,this._worldTangent),j(P,this._worldUp,s,this._worldUp,n),j(P,this._worldTangent,s,this._worldTangent,n),d.length>2&&V(d,L),this.fittingMode=this._selectFittingMode(L,d,this._worldUp,h);let R=0;if("horizontal"===this.fittingMode){let e=-1/0;C.forEach(((t,s)=>{const i=a.getAltitude(C[s]);i>e&&(e=i,R=s)}))}const A=d[R];let W=L,v=this._worldTangent;"horizontal"===this.fittingMode?W=this._worldUp:"vertical"===this.fittingMode&&(W=this._tempVec3,v=this._worldUp,q(L,this._worldUp,W)),g(this._frame[2],W),q(v,W,this._frame[0]),l(this._frame[1],this._frame[0],this._frame[2]),p(this._frame[1],this._frame[1]);const z=this._tempVec3,I=this._tempU,U=this._tempV;for(let i=0;i<this._length;++i){const e=f[i],t=S[i];c(z,d[i],A),r(e,m(this._frame[0],z),m(this._frame[1],z)),u(I,this._frame[0],e[0]),u(U,this._frame[1],e[1]),_(z,I,U),_(z,z,A),M(z,n,t,s)}this.perimeterLength=this._length>0?i(t.normalizeDistance(this._updatePerimeterLengths()),"meters"):null,x(S,this.areaCentroidRenderCoords),M(this.areaCentroidRenderCoords,s,this.areaCentroidWorldCoords,n),this._updateIntersectingSegments(),this.area=0===this.intersectingSegments.size?o(t.normalizeArea(this._computeArea()),"square-meters"):null}_updateGeodesicArea(e){const{renderCoordsHelper:t,spatialReference:s}=e,{positionsSpherical:i,positionsStereographic:n}=this,h=this._tempVec3,a=y(i,h);if(!a)return void(this.geodesicArea=null);const d=this._tempU,g=this._tempV;D(h,d,g);for(let o=0;o<this._length;++o){const e=m(i[o],d),t=m(i[o],g),s=m(i[o],h);r(n[o],e/s,t/s)}u(h,h,W(s).radius),t.toRenderCoords(h,A(s),this.geodesicAreaCentroidRenderCoords),this._updateGeodesicIntersectingSegments(),this.geodesicArea=a&&0===this.geodesicIntersectingSegments.size?o(this._computeGeodesicArea(),"square-meters"):null}_updatePerimeterLengths(){const e=this.positionsProjectedWorldCoords,t=this.perimeterSegmentLengths;let s=0;for(let i=0;i<this._length;++i){s+=t[i]=n(e[i],e[(i+1)%this._length])}return s}_updateIntersectingSegments(){const e=this.positionsProjectedWorldCoords,t=this.intersectingSegments;t.clear();for(let s=0;s<this._length;++s)for(let i=s+2;i<this._length;++i){if((i+1)%this._length===s)continue;const o=e[s],r=e[(s+1)%this._length],n=e[i],h=e[(i+1)%this._length];z(o,r,n,h)&&(t.add(s),t.add(i))}}_computeArea(){const e=this.positionsProjectedWorldCoords,t=this.triangleIndices=B(H(e));let s=0;for(let i=0;i<t.length;i+=3)s+=I(e[t[i]],e[t[i+1]],e[t[i+2]]);return s}_updateGeodesicIntersectingSegments(){const e=this.positionsStereographic,t=this.geodesicIntersectingSegments;t.clear();for(let s=0;s<this._length;++s)for(let i=s+2;i<this._length;++i){if((i+1)%this._length===s)continue;const o=e[s],r=e[(s+1)%this._length],n=e[i],h=e[(i+1)%this._length];z(o,r,n,h)&&(t.add(s),t.add(i))}}_computeGeodesicArea(){const e=this.positionsGeographic,t=this.positionsStereographic,s=this.geodesicTriangleIndices=B(H(t));let i=0;for(let o=0;o<s.length;o+=3)i+=T(e[s[o]],e[s[o+1]],e[s[o+2]],v.WGS84);return i}_selectFittingMode(t,s,i,o){const r=s.map((e=>Math.abs(F(t,e)))).reduce(((e,t)=>Math.max(e,t)),0);b(s,this._tempSphere);const n=r/(2*this._tempSphere.radius),h=n<o.maxRelativeErrorCoplanar,a=n<o.maxRelativeErrorAlmostCoplanar;let d="horizontal";if(h)d="oblique";else if(a){d=Math.abs(m(i,t))>Math.cos(e(o.verticalAngleThreshold))?"horizontal":"vertical"}return d}_updateCursorSegmentLength(e,s){const o=e.lastPoint;!e.isValidPolygon&&t(o)&&t(s)?(this.geodesicCursorSegmentLength=i(E(o,s),"meters"),this.cursorSegmentLength=i(this.unitNormalizer.normalizeDistance(N(o,s,this.unitNormalizer.spatialReference)),"meters")):(this.geodesicCursorSegmentLength=null,this.cursorSegmentLength=null)}_updateMode(e,s){if(s===U.Auto){this.actualMeasurementMode="euclidean";let s=0;null!=this.geodesicPathLength&&(s+=this.geodesicPathLength.value),!e.isValidPolygon&&t(this.geodesicCursorSegmentLength)&&(s+=this.geodesicCursorSegmentLength.value),s>J&&(this.actualMeasurementMode="geodesic")}else this.actualMeasurementMode=s===U.Euclidean?"euclidean":"geodesic";null==this.geodesicPathLength&&(this.actualMeasurementMode="euclidean"),this._mode=s}}function Z(e,t){t.hasZ||(t.z=s(k(e,t,"ground"),0))}const J=1e5;export{X as MeasurementDataManager};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../chunks/tslib.es6.js";import{clock as t}from"../../../../core/clock.js";import{destroyHandle as i,makeHandle as o}from"../../../../core/handleUtils.js";import{isSome as s,isNone as n,removeMaybe as r}from"../../../../core/maybe.js";import{watch as a,syncAndInitial as l,when as c}from"../../../../core/reactiveUtils.js";import{property as p}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as m}from"../../../../core/accessorSupport/decorators/subclass.js";import{sv3d as u}from"../../../../geometry/support/vectorStacks.js";import{DidPointerMoveRecentlyFlag as h}from"./lengthDimensionManipulatorUtils.js";import{LengthDimensionSubTool as d}from"./LengthDimensionSubTool.js";import{settings as v}from"./settings.js";import{newIntersector as _}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as y}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{AnalysisToolBase as T}from"../../../interactive/AnalysisToolBase.js";import{SKETCH_KEYS as
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import{clock as t}from"../../../../core/clock.js";import{destroyHandle as i,makeHandle as o}from"../../../../core/handleUtils.js";import{isSome as s,isNone as n,removeMaybe as r}from"../../../../core/maybe.js";import{watch as a,syncAndInitial as l,when as c}from"../../../../core/reactiveUtils.js";import{property as p}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as m}from"../../../../core/accessorSupport/decorators/subclass.js";import{sv3d as u}from"../../../../geometry/support/vectorStacks.js";import{DidPointerMoveRecentlyFlag as h}from"./lengthDimensionManipulatorUtils.js";import{LengthDimensionSubTool as d}from"./LengthDimensionSubTool.js";import{settings as v}from"./settings.js";import{newIntersector as _}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as y}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{AnalysisToolBase as T}from"../../../interactive/AnalysisToolBase.js";import{SKETCH_KEYS as g}from"../../../interactive/keybindings.js";import{createScreenPointArrayFromEvent as S}from"../../../support/screenUtils.js";var b;!function(e){e.Ready="ready",e.Creating="creating",e.Created="created"}(b||(b={}));let M=class extends T{constructor(e){super(e),this.automaticManipulatorSelection=!1,this.removeIncompleteOnCancel=!1,this._pointerMoveTimerMs=v.pointerMoveTimeoutMs,this._prevPointerMoveTimeout=null}initialize(){this._intersector=_(this.view.state.viewingMode),this._intersector.options.store=y.MIN,this._lengthDimensionSubTool=new d({analysis:this.analysis,analysisViewData:this.analysisViewData,manipulators:this.manipulators,parentTool:this,view:this.view}),this.addHandles([i(this._lengthDimensionSubTool),o((()=>this._clearPointerMoveTimeout())),a((()=>this.state),(e=>{e===b.Created&&this.finishToolCreation()}),l),c((()=>this.firstGrabbedManipulator),(e=>{this.selectedDimension=e.metadata}),l),a((()=>this.selectedDimension),(()=>this._resetPointerMoveTimeout()),l)])}get state(){return this.analysis.dimensions.some((e=>"length"===e.type))?s(this._activeSubTool)?b.Creating:b.Created:b.Ready}get updating(){return this._lengthDimensionSubTool.updating}get cursor(){return this.active?"crosshair":null}get selectedDimension(){return this.analysisViewData.selectedDimension}set selectedDimension(e){this.analysisViewData.selectedDimension=e}onInputEvent(e){switch(e.type){case"immediate-click":this._clickHandler(e);break;case"immediate-double-click":this._doubleClickHandler(e);break;case"pointer-move":this._pointerMoveHandler(e);break;case"key-down":if(g.cancel===e.key){if(s(this._activeSubTool)&&this._activeSubTool.removeStaged())return void e.stopPropagation();this.active||(this.selectedDimension=null)}else g.delete.includes(e.key)&&this._deleteKeyHandler()}}onActivate(){this._activeSubTool=this._lengthDimensionSubTool}onDeactivate(){s(this._activeSubTool)&&(this._activeSubTool.onDeactivate(),this._activeSubTool=null)}onShow(){this._resetPointerMoveTimeout()}onManipulatorSelectionChanged(){this._lengthDimensionSubTool.onManipulatorSelectionChanged()}onHide(){this.selectedDimension=null}_clickHandler(e){if(this.hasFocusedManipulators)return void e.stopPropagation();if(n(this._activeSubTool))return;const t=this._intersectScreen(e);n(t)||(this.selectedDimension=this._activeSubTool.onClick({mapPoint:t,pointerType:e.pointerType}),e.stopPropagation())}_doubleClickHandler(e){this.active&&(this.view.activeTool=null,e.stopPropagation())}_pointerMoveHandler(e){if(this._resetPointerMoveTimeout(),n(this._activeSubTool))return;if(this.hasFocusedManipulators)return;const t=this._intersectScreen(e);n(t)||this._activeSubTool.onPointerMove({mapPoint:t,pointerType:e.pointerType})}_deleteKeyHandler(){s(this._activeSubTool)&&this._activeSubTool.removeStaged(),this._removeSelected()}_intersectScreen(e){const t=S(e);this.view.sceneIntersectionHelper.intersectToolIntersectorScreen(t,this._intersector);const i=this._intersector.results.min,o=u.get();return i.getIntersectionPoint(o)?this.view.renderCoordsHelper.fromRenderCoords(o,this.view.spatialReference):null}_removeSelected(){s(this.selectedDimension)&&(this.analysis.dimensions.remove(this.selectedDimension),this.selectedDimension=null)}_clearPointerMoveTimeout(){this._prevPointerMoveTimeout=r(this._prevPointerMoveTimeout)}_resetPointerMoveTimeout(){this._clearPointerMoveTimeout(),this.manipulators.forEach((e=>{e.manipulator.state|=h})),this._prevPointerMoveTimeout=t.setTimeout((()=>{this.manipulators.forEach((e=>{e.manipulator.state&=~h}))}),this._pointerMoveTimerMs)}get testInfo(){return{...this._lengthDimensionSubTool.testInfo,setManipulatorAutoHideDelay:e=>{this._pointerMoveTimerMs=e}}}};e([p({constructOnly:!0})],M.prototype,"view",void 0),e([p({constructOnly:!0})],M.prototype,"analysis",void 0),e([p({readOnly:!0})],M.prototype,"state",null),e([p({readOnly:!0})],M.prototype,"updating",null),e([p({readOnly:!0})],M.prototype,"cursor",null),e([p({constructOnly:!0})],M.prototype,"analysisViewData",void 0),e([p()],M.prototype,"selectedDimension",null),e([p()],M.prototype,"automaticManipulatorSelection",void 0),e([p()],M.prototype,"_activeSubTool",void 0),e([p()],M.prototype,"_lengthDimensionSubTool",void 0),M=e([m("esri.views.3d.analysis.Dimension.DimensionTool")],M);export{M as DimensionTool};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../chunks/tslib.es6.js";import i from"../../../../Color.js";import"../../../../intl.js";import s from"../../../../core/Accessor.js";import{makeHandle as t}from"../../../../core/handleUtils.js";import{isSome as a,isNone as
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import i from"../../../../Color.js";import"../../../../intl.js";import s from"../../../../core/Accessor.js";import{makeHandle as t}from"../../../../core/handleUtils.js";import{isSome as a,isNone as r}from"../../../../core/maybe.js";import{watch as n,syncAndInitial as o,when as l,sync as m}from"../../../../core/reactiveUtils.js";import{pt2px as d}from"../../../../core/screenUtils.js";import{property as c}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as h}from"../../../../core/accessorSupport/decorators/subclass.js";import{Z as p}from"../../../../chunks/vec4f64.js";import{LengthDimensionVisualization as u}from"./LengthDimensionVisualization.js";import{settings as f}from"./settings.js";import{prepareMarkerResources as _}from"../../support/engineContent/marker.js";import{RenderOccludedFlag as g}from"../../webgl-engine/lib/Material.js";import{LineMarkerMaterial as M}from"../../webgl-engine/materials/LineMarkerMaterial.js";import{createStipplePatternSimple as y}from"../../webgl-engine/materials/lineStippleUtils.js";import{RibbonLineMaterial as w}from"../../webgl-engine/materials/RibbonLineMaterial.js";import{LineMarkerAnchor as v}from"../../webgl-engine/shaders/LineMarkerTechniqueConfiguration.js";import{onLocaleChange as L}from"../../../../intl/locale.js";import{fetchMessageBundle as b}from"../../../../intl/messages.js";let j=class extends s{constructor(e){super(e),this.loadingMessages=!1,this._messages=null,this._dimensionVisualizations=new Map,this._markerMaterial=new M({width:1,anchor:v.Tip,color:p,placement:"begin-end",worldSpace:!0,hideOnShortSegments:!0,hasTip:!0,renderOccluded:g.OccludeAndTransparent}),this._dimensionLineMaterial=new w({width:1,color:p,renderOccluded:g.OccludeAndTransparent,markerParameters:this._markerMaterial.parameters}),this._offsetLineMaterial=new w({width:1,color:p,renderOccluded:g.OccludeAndTransparent,stipplePattern:y(5),stippleScaleWithLineWidth:!0}),this._smallDimensionLineMaterial=new w({width:1,color:p,renderOccluded:g.OccludeAndTransparent}),this._smallOffsetLineMaterial=new w({width:1,color:p,renderOccluded:g.OccludeAndTransparent,stipplePattern:y(5),stippleScaleWithLineWidth:!0})}get analysis(){return this.analysisViewData.analysis}get visible(){return this.analysisViewData.visible}initialize(){if(a(this.view.sharedSymbolResources.textures)){const e=_(this.view.sharedSymbolResources.textures,"triangle");this.addHandles(t((()=>e.release()))),this._markerMaterial.setParameters({textureId:e.texture.id})}for(const i of this._lineMaterials())this.view._stage.add(i),this.addHandles(t((()=>{this.view._stage.remove(i),i.dispose()})));const{computations:e}=this.analysisViewData;for(const i of e)this._addComputation(i);this.addHandles([e.on("change",(({added:e,removed:i})=>{for(const s of i)this._removeComputation(s);for(const s of e)this._addComputation(s)})),n((()=>i.toUnitRGBA(this.analysis.style.color)),(e=>{for(const i of this._lineMaterials())i.setParameters({color:e})}),o),n((()=>this.analysis.style.lineSize),(e=>{const i=d(e);this._markerMaterial.setParameters({width:i*f.markers.lineSizeFraction}),this._dimensionLineMaterial.setParameters({width:i,markerParameters:this._markerMaterial.parameters});const s=Math.max(i*f.offsetLine.lineSizeFraction,1);this._offsetLineMaterial.setParameters({width:s})}),o),n((()=>({camera:this.view.state.camera,style:z(this.analysis)})),(({camera:e,style:i})=>{for(const[s,t]of this._dimensionVisualizations)t.updateCameraDependentElements(e,s.geometry,i),t.updateLabelStyle(i)})),n((()=>this.visible),(e=>{for(const i of this._dimensionVisualizations.values())i.visible=e}))]),this.addHandles([L((()=>this._updateMessageBundle())),l((()=>!this.loadingMessages),(()=>{for(const e of this._dimensionVisualizations.values())e.updateUnitsMessages(this._messages)}),m)]),this._updateMessageBundle()}destroy(){this._dimensionVisualizations.forEach((e=>{e.destroy()})),this._dimensionVisualizations.clear()}get testInfo(){return{visualizations:Array.from(this._dimensionVisualizations.values())}}_addComputation(e){this._dimensionVisualizations.has(e)||this._dimensionVisualizations.set(e,new u({analysis:this.analysis,computation:e,view:this.view,visible:this.visible,markerMaterial:this._markerMaterial,dimensionLineMaterial:this._dimensionLineMaterial,offsetLineMaterial:this._offsetLineMaterial,smallDimensionLineMaterial:this._smallDimensionLineMaterial,smallOffsetLineMaterial:this._smallOffsetLineMaterial,messages:this._messages}))}_removeComputation(e){const i=this._dimensionVisualizations.get(e);r(i)||(i.destroy(),this._dimensionVisualizations.delete(e))}_lineMaterials(){return[this._markerMaterial,this._dimensionLineMaterial,this._offsetLineMaterial,this._smallDimensionLineMaterial,this._smallOffsetLineMaterial]}async _updateMessageBundle(){this.loadingMessages=!0;try{this._messages=await b("esri/core/t9n/Units")}finally{this.loadingMessages=!1}}};function z(e){const{fontSize:i,lineSize:s,textColor:t,textBackgroundColor:a}=e.style;return{fontSize:i,lineSize:s,textBackgroundColor:a.clone(),textColor:t.clone()}}e([c({constructOnly:!0})],j.prototype,"analysisViewData",void 0),e([c({constructOnly:!0,nonNullable:!0})],j.prototype,"view",void 0),e([c()],j.prototype,"analysis",null),e([c()],j.prototype,"visible",null),e([c()],j.prototype,"loadingMessages",void 0),j=e([h("esri.views.3d.analysis.Dimension.DimensionVisualization")],j);export{j as DimensionVisualization};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../chunks/tslib.es6.js";import i from"../../../../Color.js";import"../../../../geometry.js";import{LengthDimensionMeasureType as e}from"../../../../analysis/dimensionUtils.js";import n from"../../../../analysis/LengthDimension.js";import{HandleOwner as a}from"../../../../core/HandleOwner.js";import o from"../../../../core/Handles.js";import{equals as s}from"../../../../core/lang.js";import{isNone as r,applySome as p,isSome as l,destroyMaybe as u,unwrapOr as d}from"../../../../core/maybe.js";import{ignoreAbortErrors as m}from"../../../../core/promiseUtils.js";import{watch as c,sync as h,syncAndInitial as g,initial as f}from"../../../../core/reactiveUtils.js";import{property as _}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as M}from"../../../../core/accessorSupport/decorators/subclass.js";import{c as y}from"../../../../chunks/vec3f64.js";import{clonePoint as v}from"../../../../layers/graphics/hydratedFeatures.js";import{LengthDimensionConstraint as S,computeConstraint as w,applyConstraint as C}from"./lengthDimensionConstraintUtils.js";import{LengthDimensionManipulators as b,createPointManipulator as P,pointManipulatorHandles as D,createOffsetManipulator as O,offsetManipulatorHandles as H,createOrientationManipulator as j,headingManipulatorHandles as T,rotationManipulatorHandles as z,createMeasureTypeManipulator as G,measureTypeManipulatorHandles as x,updateOffsetManipulatorTransform as U,updateHeadingManipulatorTransform as V,updateRotationManipulatorTransform as R,updateMeasureTypeManipulatorTransform as L,unfocusedOffsetWidth as k,focusedOffsetWidth as I}from"./lengthDimensionManipulatorUtils.js";import{isValidComputation as E,arePointsVerticallyAligned as F,computeGeometryFromDimension as A,computationToGeometryDependencies as B}from"./lengthDimensionUtils.js";import{settings as q}from"./settings.js";import{getRotateHeadingTexture as N}from"../Slice/images/Factory.js";import{SnappingVisualizer3D as J}from"../../interactive/SnappingVisualizer3D.js";import{LineVisualElement as K}from"../../interactive/visualElements/LineVisualElement.js";import{RenderOccludedFlag as Q}from"../../webgl-engine/lib/Material.js";import{createStipplePatternSimple as W}from"../../webgl-engine/materials/lineStippleUtils.js";import{RibbonLineMaterial as X}from"../../webgl-engine/materials/RibbonLineMaterial.js";import{createCoordinateHelper as Y}from"../../../interactive/coordinateHelper.js";import{EditGeometry as Z}from"../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as $}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{acquire as tt}from"../../../interactive/snapping/SceneSnappingManagerPool.js";import{SnappingContext as it}from"../../../interactive/snapping/SnappingContext.js";import{SnappingPipeline as et}from"../../../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as nt}from"../../../interactive/snapping/SnappingOperation.js";import at from"../../../../geometry/Point.js";let ot=class extends a{constructor(t){super(t),this._stagedDimension=null,this._computationManipulators=new Map,this._computationHandles=new o,this._snappingPipeline=new et,this._updateHeadingManipulatorLineSize=()=>{},this._updateRotationManipulatorLineSize=()=>{},this._snappingManagerResult=tt(t.view),this.addHandles(this._snappingManagerResult),this._unfocusedOffsetManipulatorMaterial=st(),this._focusedOffsetManipulatorMaterial=st(),this._thinOffsetManipulatorMaterial=st(),this._thinOffsetManipulatorMaterial.setParameters({stipplePattern:W(2)}),this._constraintSnappingIndicator=new K({view:t.view,attached:!0,width:1,color:i.toUnitRGBA(q.constraint.color),renderOccluded:Q.OccludeAndTransparent,stipplePattern:W(5)})}initialize(){this._snappingOperation=new nt({view:this.view}),this._orientationManipulatorTexture=N(this.view.toolViewManager.textures);const{computations:t}=this.analysisViewData;for(const i of t)this._addComputation(i);this.addHandles([t.on("after-add",(t=>this._addComputation(t.item))),t.on("after-remove",(t=>this._removeComputation(t.item)))]),this.addHandles([c((()=>({stagedPoint:this._snappingOperation.stagedPoint,stagedComputation:this._stagedComputation})),(({stagedPoint:t,stagedComputation:i})=>{if(r(i))return;const e=p(t,(t=>v(t,new at)));this._applyPointUpdate(i,{endPoint:e})}),h),c((()=>({stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator})),((t,i)=>{const{stagedDimension:e,selectedComputation:n,firstGrabbedManipulator:a}=t;if(e===i.stagedDimension&&a===i.firstGrabbedManipulator){for(const o of[n,i.selectedComputation])if(l(o)){const i=this._computationManipulators.get(o);this._updateManipulators(o,i,t)}}else for(const[o,s]of this._computationManipulators)this._updateManipulators(o,s,t)}),g),c((()=>this.analysis.style.lineSize),(t=>{this._updateManipulatorStyle(t)}),f),c((()=>this.view.state.camera),(()=>{l(this._stagedComputation)&&this._updateStagedDimensionOffset(this._stagedComputation)}))]),this.addHandles(this._constraintHandles),this.addHandles(this._snappingIndicatorHandles)}destroy(){this._snappingOperation=u(this._snappingOperation),this._computationHandles.destroy(),this._constraintSnappingIndicator.destroy()}get updating(){return this.updatingHandles.updating||this._snappingManager.updating}get firstGrabbedManipulator(){return this.parentTool.firstGrabbedManipulator}get hasGrabbedManipulators(){return this.parentTool.hasGrabbedManipulators}get _snappingManager(){return this._snappingManagerResult.snappingManager}get _activeComputation(){if(l(this._stagedComputation))return this._stagedComputation;const{selectedComputation:t}=this.analysisViewData;return this.hasGrabbedManipulators&&l(t)?t:null}get _stagedComputation(){const t=this._stagedDimension,i=this.analysisViewData.computations.at(-1);return r(t)||r(i)||i.dimension!==t?null:i}get _constraintHandles(){return[c((()=>{const t=this._activeComputation;if(r(t))return null;const{measureType:i,orientation:e}=t.dimension;return{measureType:i,orientation:e,computation:t}}),((t,i)=>{if(l(t)&&r(i)){const{measureType:i,orientation:n,computation:a}=t;switch(a.previousConstraint){case S.Horizontal:a.preConstraintProperties={measureType:e.Horizontal,orientation:0};break;case S.Vertical:a.preConstraintProperties={measureType:e.Vertical,orientation:0};break;case S.Direct:a.preConstraintProperties={measureType:e.Direct,orientation:n};break;default:a.preConstraintProperties={measureType:i,orientation:n}}}r(t)&&l(i)&&(i.computation.preConstraintProperties=null)}),h)]}get _snappingIndicatorHandles(){const t="snapping-indicator-event-handles";return[c((()=>({stagedComputation:this._stagedComputation,activeComputation:this._activeComputation})),(({stagedComputation:i,activeComputation:e})=>{const n=this._constraintSnappingIndicator;if(this.removeHandles(t),r(e))n.attached=!1;else if(e===i)n.attached=!0;else{const{start:i,end:a}=this._computationManipulators.get(e),o=()=>{n.attached=i.grabbing||a.grabbing};o(),this.addHandles([i.events.on("grab-changed",o),a.events.on("grab-changed",o)],t)}})),c((()=>{const t=this._activeComputation;return l(t)?{geometry:t.geometry,constraint:t.previousConstraint}:{}}),(({geometry:t,constraint:i})=>{const e=this._constraintSnappingIndicator;l(t)&&l(i)&&i!==S.Direct?(e.visible=!0,e.setGeometryFromSegment(t.directSegment)):e.visible=!1}))]}removeStaged(){return!!l(this._stagedDimension)&&(this.analysis.dimensions.remove(this._stagedDimension),this._stagedDimension=null,!0)}onDeactivate(){this.removeStaged(),this._snappingManager.doneSnapping()}onClick(t){const{_stagedDimension:i}=this;if(r(i)){const i=this._onUnstagedClick(t);return this.analysis.dimensions.add(i),null}return this._onStagedClick(t),i}onPointerMove({mapPoint:t,pointerType:i}){if("touch"===i&&r(this._stagedDimension))return;const e=this._snappingContext(i);this.updatingHandles.addPromise(m(this._snappingOperation.snap({point:t},this._snappingManager,e)))}onManipulatorSelectionChanged(){if(l(this.analysisViewData.selectedComputation)){this._computationManipulators.get(this.analysisViewData.selectedComputation).offset.selected||(this.analysisViewData.selectedDimension=null)}}_onUnstagedClick({mapPoint:t,pointerType:i}){const a="mouse"===i?d(this._snappingOperation.stagedPoint,t):t,o=new n({startPoint:v(a,new at),endPoint:null,measureType:e.Horizontal});return this._stagedDimension=o,this._snappingManager.doneSnapping(),o}_onStagedClick({mapPoint:t,pointerType:i}){const e=this._stagedComputation;if(r(e))return;const n="mouse"===i?d(this._snappingOperation.stagedPoint,t):t,a=v(n,new at);this._applyPointUpdate(e,{endPoint:a}),this._stagedDimension=null,this._snappingManager.doneSnapping()}_addComputation(t){if(this._computationManipulators.has(t))return;const i=this._setupPointManipulator(t,{isStart:!0}),n=this._setupPointManipulator(t,{isStart:!1}),a=this._setupOffsetManipulator(t),o=this._setupHeadingManipulator(t),s=this._setupRotationManipulator(t),r=this._setupMeasureTypeManipulator(t,e.Direct),p=this._setupMeasureTypeManipulator(t,e.Horizontal),l=this._setupMeasureTypeManipulator(t,e.Vertical),u=new b({start:i,end:n,offset:a,heading:o,rotation:s,direct:r,horizontal:p,vertical:l});this._setupComputationToManipulatorsSync(t,u),this._computationManipulators.set(t,u),this.manipulators.addMany(u.values())}_removeComputation(t){const i=this._computationManipulators.get(t);if(!r(i)){this._computationHandles.remove(t),this._computationManipulators.delete(t);for(const t of i.values())this.manipulators.remove(t)}}_setupComputationToManipulatorsSync(t,i){this._computationHandles.add([c((()=>t.geometry),(()=>this._updateManipulators(t,i)),{...g,equals:s})],t)}_setupPointManipulator(t,i){const{view:e}=this,{dimension:n}=t,a=P(e,{metadata:n}),o=D(a,{isStart:i.isStart,createSnappingPipelineStep:(t,i)=>this._snappingPipeline.createSnapDragEventPipelineStep({snappingContext:this._snappingContext(i),snappingManager:this._snappingManager,updatingHandles:this.updatingHandles,cancel:t}),dimension:n,onUpdate:i=>{this._applyPointUpdate(t,i)},snappingPipeline:this._snappingPipeline,view:e});return this._computationHandles.add(o,t),a}_setupOffsetManipulator(t){const{view:i}=this,e=O(i,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,metadata:t.dimension}),n=H(e,{computation:t,view:i});return this._computationHandles.add(n,t),e}_setupHeadingManipulator(t){const{view:i}=this,{manipulator:e,updateLineSize:n}=j(i,{lineSizePt:this.analysis.style.lineSize,metadata:t.dimension,texture:this._orientationManipulatorTexture.texture}),a=T(e,{computation:t,view:i});return this._computationHandles.add(a,t),this._updateHeadingManipulatorLineSize=n,e}_setupRotationManipulator(t){const{view:i}=this,{manipulator:e,updateLineSize:n}=j(i,{lineSizePt:this.analysis.style.lineSize,metadata:t.dimension,texture:this._orientationManipulatorTexture.texture}),a=z(e,{computation:t,view:i});return this._computationHandles.add(a,t),this._updateRotationManipulatorLineSize=n,e}_setupMeasureTypeManipulator(t,i){const{view:e}=this,n=G(e,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,thinOffsetManipulatorMaterial:this._thinOffsetManipulatorMaterial,metadata:t.dimension}),a=x(n,{computation:t,manipulatorMeasureType:i,view:e});return this._computationHandles.add(a,t),n}_updateManipulators(t,i,n={stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator}){const{stagedDimension:a,selectedComputation:o,firstGrabbedManipulator:s}=n,{start:p,end:u,offset:d,heading:m,rotation:c}=i,h=o===t,g=E(t),{dimension:f}=t;for(const e of i.values()){const t=g&&r(a)&&(r(s)||e===s);e===d?(e.available=t,e.selected=h):e.available=t&&h}if(!g)return;l(w(t,this.view))?i.forEachMeasureTypeManipulator((t=>t.available=!1)):i.manipulatorForMeasureType(f.measureType).available=!1;for(const r of[m,c])f.measureType===e.Direct&&0!==f.offset||(r.available=!1);F(t)?c.available=!1:m.available=!1;const{geometry:_}=t;p.renderLocation=_.directSegment.startRenderSpace,u.renderLocation=_.directSegment.endRenderSpace;const{renderCoordsHelper:M}=this.view;U(d,_),m.available&&V(m,t,M),c.available&&R(c,t,M),i.forEachMeasureTypeManipulator(((i,e)=>{i.available&&L(i,t,e,M)}))}_updateManipulatorStyle(t){const i=k(t),e=I(t);for(const{offset:n}of this._computationManipulators.values())n.radius=e/2;this._unfocusedOffsetManipulatorMaterial.setParameters({width:i}),this._focusedOffsetManipulatorMaterial.setParameters({width:e}),this._updateHeadingManipulatorLineSize(t),this._updateRotationManipulatorLineSize(t)}_snappingContext(t){return new it({elevationInfo:{mode:"absolute-height",offset:0},pointer:t,editGeometryOperations:new $(new Z("point",Y(!0,!1,this.view.spatialReference))),visualizer:new J})}_applyPointUpdate(t,i){const{view:e}=this,n=B(t);"startPoint"in i&&(n.elevationAlignedStartPoint=i.startPoint),"endPoint"in i&&(n.elevationAlignedEndPoint=i.endPoint);const a=A(n,e.renderCoordsHelper);if(r(a))return;const o=w({...n,geometry:a},e);C(t,i,{...n,constraint:o,unconstrainedGeometry:a,view:e}),t===this._stagedComputation&&this._updateStagedDimensionOffset(t)}_updateStagedDimensionOffset(t){if(r(t.geometry))return;t.geometry.directSegment.eval(.5,rt);const i=this.view.state.camera.computeRenderPixelSizeAt(rt);t.dimension.offset=q.initialOffsetPx*i}get testInfo(){const t=t=>this.analysisViewData.computations.find((i=>i.dimension===t));return{getManipulatorsForDimension:i=>this._computationManipulators.get(t(i)),getComputationForDimension:i=>t(i),getConstraintForDimension:i=>{const e=t(i);return l(e)?w(e,this.view):null},stagedDimension:this._stagedDimension,constraintSnappingIndicator:this._constraintSnappingIndicator}}};function st(){const{color:t,opacity:e}=q.offsetManipulator;return new X({color:[...i.toUnitRGB(t),e],width:1,renderOccluded:Q.OccludeAndTransparent,writeDepth:!1,hasPolygonOffset:!0})}t([_({constructOnly:!0})],ot.prototype,"analysis",void 0),t([_({constructOnly:!0})],ot.prototype,"analysisViewData",void 0),t([_({constructOnly:!0})],ot.prototype,"manipulators",void 0),t([_({constructOnly:!0})],ot.prototype,"parentTool",void 0),t([_({constructOnly:!0,nonNullable:!0})],ot.prototype,"view",void 0),t([_({readOnly:!0})],ot.prototype,"updating",null),t([_()],ot.prototype,"firstGrabbedManipulator",null),t([_()],ot.prototype,"hasGrabbedManipulators",null),t([_()],ot.prototype,"_stagedDimension",void 0),t([_()],ot.prototype,"_activeComputation",null),t([_()],ot.prototype,"_stagedComputation",null),ot=t([M("esri.views.3d.analysis.Dimension.LengthDimensionSubTool")],ot);const rt=y();export{ot as LengthDimensionSubTool};
|
|
5
|
+
import{_ as t}from"../../../../chunks/tslib.es6.js";import i from"../../../../Color.js";import"../../../../geometry.js";import{LengthDimensionMeasureType as e}from"../../../../analysis/dimensionUtils.js";import a from"../../../../analysis/LengthDimension.js";import{HandleOwner as n}from"../../../../core/HandleOwner.js";import o from"../../../../core/Handles.js";import{equals as s}from"../../../../core/lang.js";import{isNone as r,applySome as p,isSome as l,destroyMaybe as u,unwrapOr as d}from"../../../../core/maybe.js";import{ignoreAbortErrors as m}from"../../../../core/promiseUtils.js";import{watch as c,sync as h,syncAndInitial as g,initial as f}from"../../../../core/reactiveUtils.js";import{property as _}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as M}from"../../../../core/accessorSupport/decorators/subclass.js";import{c as y}from"../../../../chunks/vec3f64.js";import{clonePoint as v}from"../../../../layers/graphics/hydratedFeatures.js";import{LengthDimensionConstraint as w,computeConstraint as b,applyConstraint as C}from"./lengthDimensionConstraintUtils.js";import{LengthDimensionManipulators as S,createPointManipulator as P,pointManipulatorHandles as D,createOffsetManipulator as O,offsetManipulatorHandles as j,createOrientationManipulator as H,headingManipulatorHandles as T,rotationManipulatorHandles as G,createMeasureTypeManipulator as z,measureTypeManipulatorHandles as U,updateOffsetManipulatorTransform as V,updateHeadingManipulatorTransform as x,updateRotationManipulatorTransform as I,updateMeasureTypeManipulatorTransform as R,unfocusedOffsetWidth as k,focusedOffsetWidth as E,updateOrientationManipulator as F}from"./lengthDimensionManipulatorUtils.js";import{isValidComputation as A,arePointsVerticallyAligned as L,computeGeometryFromDimension as q,computationToGeometryDependencies as B}from"./lengthDimensionUtils.js";import{settings as N}from"./settings.js";import{getRotateHeadingTexture as J}from"../Slice/images/Factory.js";import{SnappingVisualizer3D as K}from"../../interactive/SnappingVisualizer3D.js";import{LineVisualElement as Q}from"../../interactive/visualElements/LineVisualElement.js";import{RenderOccludedFlag as W}from"../../webgl-engine/lib/Material.js";import{ImageMaterial as X}from"../../webgl-engine/materials/ImageMaterial.js";import{createStipplePatternSimple as Y}from"../../webgl-engine/materials/lineStippleUtils.js";import{RibbonLineMaterial as Z}from"../../webgl-engine/materials/RibbonLineMaterial.js";import{createCoordinateHelper as $}from"../../../interactive/coordinateHelper.js";import{EditGeometry as tt}from"../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as it}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{acquire as et}from"../../../interactive/snapping/SceneSnappingManagerPool.js";import{SnappingContext as at}from"../../../interactive/snapping/SnappingContext.js";import{SnappingPipeline as nt}from"../../../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as ot}from"../../../interactive/snapping/SnappingOperation.js";import st from"../../../../geometry/Point.js";let rt=class extends n{constructor(t){super(t),this._stagedDimension=null,this._computationManipulators=new Map,this._computationHandles=new o,this._snappingPipeline=new nt,this._snappingManagerResult=et(t.view),this.addHandles(this._snappingManagerResult),this._unfocusedOffsetManipulatorMaterial=pt(),this._focusedOffsetManipulatorMaterial=pt(),this._thinOffsetManipulatorMaterial=pt(),this._thinOffsetManipulatorMaterial.setParameters({stipplePattern:Y(2)}),this._constraintSnappingIndicator=new Q({view:t.view,attached:!0,width:1,color:i.toUnitRGBA(N.constraint.color),renderOccluded:W.OccludeAndTransparent,stipplePattern:Y(5)})}initialize(){this._snappingOperation=new ot({view:this.view}),this._orientationManipulatorTexture=J(this.view.toolViewManager.textures),this._orientationManipulatorMaterial=new X({transparent:!0,writeDepth:!1,textureId:this._orientationManipulatorTexture.texture.id,renderOccluded:W.Opaque});const{computations:t}=this.analysisViewData;for(const i of t)this._addComputation(i);this.addHandles([t.on("after-add",(t=>this._addComputation(t.item))),t.on("after-remove",(t=>this._removeComputation(t.item)))]),this.addHandles([c((()=>({stagedPoint:this._snappingOperation.stagedPoint,stagedComputation:this._stagedComputation})),(({stagedPoint:t,stagedComputation:i})=>{if(r(i))return;const e=p(t,(t=>v(t,new st)));this._applyPointUpdate(i,{endPoint:e})}),h),c((()=>({stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator})),((t,i)=>{const{stagedDimension:e,selectedComputation:a,firstGrabbedManipulator:n}=t;if(e===i.stagedDimension&&n===i.firstGrabbedManipulator){for(const o of[a,i.selectedComputation])if(l(o)){const i=this._computationManipulators.get(o);this._updateManipulators(o,i,t)}}else for(const[o,s]of this._computationManipulators)this._updateManipulators(o,s,t)}),g),c((()=>this.analysis.style.lineSize),(t=>{this._updateManipulatorStyle(t)}),f),c((()=>this.view.state.camera),(()=>{l(this._stagedComputation)&&this._updateStagedDimensionOffset(this._stagedComputation)}))]),this.addHandles(this._constraintHandles),this.addHandles(this._snappingIndicatorHandles)}destroy(){this._snappingOperation=u(this._snappingOperation),this._computationHandles.destroy(),this._constraintSnappingIndicator.destroy(),this._orientationManipulatorMaterial.dispose(),this._orientationManipulatorTexture.release()}get updating(){return this.updatingHandles.updating||this._snappingManager.updating}get firstGrabbedManipulator(){return this.parentTool.firstGrabbedManipulator}get hasGrabbedManipulators(){return this.parentTool.hasGrabbedManipulators}get _snappingManager(){return this._snappingManagerResult.snappingManager}get _activeComputation(){if(l(this._stagedComputation))return this._stagedComputation;const{selectedComputation:t}=this.analysisViewData;return this.hasGrabbedManipulators&&l(t)?t:null}get _stagedComputation(){const t=this._stagedDimension,i=this.analysisViewData.computations.at(-1);return r(t)||r(i)||i.dimension!==t?null:i}get _constraintHandles(){return[c((()=>{const t=this._activeComputation;if(r(t))return null;const{measureType:i,orientation:e}=t.dimension;return{measureType:i,orientation:e,computation:t}}),((t,i)=>{if(l(t)&&r(i)){const{measureType:i,orientation:a,computation:n}=t;switch(n.previousConstraint){case w.Horizontal:n.preConstraintProperties={measureType:e.Horizontal,orientation:0};break;case w.Vertical:n.preConstraintProperties={measureType:e.Vertical,orientation:0};break;case w.Direct:n.preConstraintProperties={measureType:e.Direct,orientation:a};break;default:n.preConstraintProperties={measureType:i,orientation:a}}}r(t)&&l(i)&&(i.computation.preConstraintProperties=null)}),h)]}get _snappingIndicatorHandles(){const t="snapping-indicator-event-handles";return[c((()=>({stagedComputation:this._stagedComputation,activeComputation:this._activeComputation})),(({stagedComputation:i,activeComputation:e})=>{const a=this._constraintSnappingIndicator;if(this.removeHandles(t),r(e))a.attached=!1;else if(e===i)a.attached=!0;else{const{start:i,end:n}=this._computationManipulators.get(e),o=()=>{a.attached=i.grabbing||n.grabbing};o(),this.addHandles([i.events.on("grab-changed",o),n.events.on("grab-changed",o)],t)}})),c((()=>{const t=this._activeComputation;return l(t)?{geometry:t.geometry,constraint:t.previousConstraint}:{}}),(({geometry:t,constraint:i})=>{const e=this._constraintSnappingIndicator;l(t)&&l(i)&&i!==w.Direct?(e.visible=!0,e.setGeometryFromSegment(t.directSegment)):e.visible=!1}))]}removeStaged(){return!!l(this._stagedDimension)&&(this.analysis.dimensions.remove(this._stagedDimension),this._stagedDimension=null,!0)}onDeactivate(){this.removeStaged(),this._snappingManager.doneSnapping()}onClick(t){const{_stagedDimension:i}=this;if(r(i)){const i=this._onUnstagedClick(t);return this.analysis.dimensions.add(i),null}return this._onStagedClick(t),i}onPointerMove({mapPoint:t,pointerType:i}){if("touch"===i&&r(this._stagedDimension))return;const e=this._snappingContext(i);this.updatingHandles.addPromise(m(this._snappingOperation.snap({point:t},this._snappingManager,e)))}onManipulatorSelectionChanged(){if(l(this.analysisViewData.selectedComputation)){this._computationManipulators.get(this.analysisViewData.selectedComputation).offset.selected||(this.analysisViewData.selectedDimension=null)}}_onUnstagedClick({mapPoint:t,pointerType:i}){const n="mouse"===i?d(this._snappingOperation.stagedPoint,t):t,o=new a({startPoint:v(n,new st),endPoint:null,measureType:e.Horizontal});return this._stagedDimension=o,this._snappingManager.doneSnapping(),o}_onStagedClick({mapPoint:t,pointerType:i}){const e=this._stagedComputation;if(r(e))return;const a="mouse"===i?d(this._snappingOperation.stagedPoint,t):t,n=v(a,new st);this._applyPointUpdate(e,{endPoint:n}),this._stagedDimension=null,this._snappingManager.doneSnapping()}_addComputation(t){if(this._computationManipulators.has(t))return;const i=this._setupPointManipulator(t,{isStart:!0}),a=this._setupPointManipulator(t,{isStart:!1}),n=this._setupOffsetManipulator(t),o=this._setupHeadingManipulator(t),s=this._setupRotationManipulator(t),r=this._setupMeasureTypeManipulator(t,e.Direct),p=this._setupMeasureTypeManipulator(t,e.Horizontal),l=this._setupMeasureTypeManipulator(t,e.Vertical),u=new S({start:i,end:a,offset:n,heading:o,rotation:s,direct:r,horizontal:p,vertical:l});this._setupComputationToManipulatorsSync(t,u),this._computationManipulators.set(t,u),this.manipulators.addMany(u.values())}_removeComputation(t){const i=this._computationManipulators.get(t);if(!r(i)){this._computationHandles.remove(t),this._computationManipulators.delete(t);for(const t of i.values())this.manipulators.remove(t)}}_setupComputationToManipulatorsSync(t,i){this._computationHandles.add([c((()=>t.geometry),(()=>this._updateManipulators(t,i)),{...g,equals:s})],t)}_setupPointManipulator(t,i){const{view:e}=this,{dimension:a}=t,n=P(e,{metadata:a}),o=D(n,{isStart:i.isStart,createSnappingPipelineStep:(t,i)=>this._snappingPipeline.createSnapDragEventPipelineStep({snappingContext:this._snappingContext(i),snappingManager:this._snappingManager,updatingHandles:this.updatingHandles,cancel:t}),dimension:a,onUpdate:i=>{this._applyPointUpdate(t,i)},snappingPipeline:this._snappingPipeline,view:e});return this._computationHandles.add(o,t),n}_setupOffsetManipulator(t){const{view:i}=this,e=O(i,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,metadata:t.dimension}),a=j(e,{computation:t,view:i});return this._computationHandles.add(a,t),e}_setupHeadingManipulator(t){const{view:i}=this,e=H(i,{lineSizePt:this.analysis.style.lineSize,material:this._orientationManipulatorMaterial,metadata:t.dimension}),a=T(e,{computation:t,view:i});return this._computationHandles.add(a,t),e}_setupRotationManipulator(t){const{view:i}=this,e=H(i,{lineSizePt:this.analysis.style.lineSize,material:this._orientationManipulatorMaterial,metadata:t.dimension}),a=G(e,{computation:t,view:i});return this._computationHandles.add(a,t),e}_setupMeasureTypeManipulator(t,i){const{view:e}=this,a=z(e,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,thinOffsetManipulatorMaterial:this._thinOffsetManipulatorMaterial,metadata:t.dimension}),n=U(a,{computation:t,manipulatorMeasureType:i,view:e});return this._computationHandles.add(n,t),a}_updateManipulators(t,i,a={stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator}){const{stagedDimension:n,selectedComputation:o,firstGrabbedManipulator:s}=a,{start:p,end:u,offset:d,heading:m,rotation:c}=i,h=o===t,g=A(t),{dimension:f}=t;for(const e of i.values()){const t=g&&r(n)&&(r(s)||e===s);e===d?(e.available=t,e.selected=h):e.available=t&&h}if(!g)return;l(b(t,this.view))?i.forEachMeasureTypeManipulator((t=>t.available=!1)):i.manipulatorForMeasureType(f.measureType).available=!1;for(const r of[m,c])f.measureType===e.Direct&&0!==f.offset||(r.available=!1);L(t)?c.available=!1:m.available=!1;const{geometry:_}=t;p.renderLocation=_.directSegment.startRenderSpace,u.renderLocation=_.directSegment.endRenderSpace;const{renderCoordsHelper:M}=this.view;V(d,_),m.available&&x(m,t,M),c.available&&I(c,t,M),i.forEachMeasureTypeManipulator(((i,e)=>{i.available&&R(i,t,e,M)}))}_updateManipulatorStyle(t){const i=k(t),e=E(t),a={lineSizePt:t,material:this._orientationManipulatorMaterial};for(const{offset:n,heading:o,rotation:s}of this._computationManipulators.values())n.radius=e/2,F(o,a),F(s,a);this._unfocusedOffsetManipulatorMaterial.setParameters({width:i}),this._focusedOffsetManipulatorMaterial.setParameters({width:e})}_snappingContext(t){return new at({elevationInfo:{mode:"absolute-height",offset:0},pointer:t,editGeometryOperations:new it(new tt("point",$(!0,!1,this.view.spatialReference))),visualizer:new K})}_applyPointUpdate(t,i){const{view:e}=this,a=B(t);"startPoint"in i&&(a.elevationAlignedStartPoint=i.startPoint),"endPoint"in i&&(a.elevationAlignedEndPoint=i.endPoint);const n=q(a,e.renderCoordsHelper);if(r(n))return;const o=b({...a,geometry:n},e);C(t,i,{...a,constraint:o,unconstrainedGeometry:n,view:e}),t===this._stagedComputation&&this._updateStagedDimensionOffset(t)}_updateStagedDimensionOffset(t){if(r(t.geometry))return;t.geometry.directSegment.eval(.5,lt);const i=this.view.state.camera.computeRenderPixelSizeAt(lt);t.dimension.offset=N.initialOffsetPx*i}get testInfo(){const t=t=>this.analysisViewData.computations.find((i=>i.dimension===t));return{getManipulatorsForDimension:i=>this._computationManipulators.get(t(i)),getComputationForDimension:i=>t(i),getConstraintForDimension:i=>{const e=t(i);return l(e)?b(e,this.view):null},stagedDimension:this._stagedDimension,constraintSnappingIndicator:this._constraintSnappingIndicator}}};function pt(){const{color:t,opacity:e}=N.offsetManipulator;return new Z({color:[...i.toUnitRGB(t),e],width:1,renderOccluded:W.OccludeAndTransparent,writeDepth:!1,hasPolygonOffset:!0})}t([_({constructOnly:!0})],rt.prototype,"analysis",void 0),t([_({constructOnly:!0})],rt.prototype,"analysisViewData",void 0),t([_({constructOnly:!0})],rt.prototype,"manipulators",void 0),t([_({constructOnly:!0})],rt.prototype,"parentTool",void 0),t([_({constructOnly:!0,nonNullable:!0})],rt.prototype,"view",void 0),t([_({readOnly:!0})],rt.prototype,"updating",null),t([_()],rt.prototype,"firstGrabbedManipulator",null),t([_()],rt.prototype,"hasGrabbedManipulators",null),t([_()],rt.prototype,"_stagedDimension",void 0),t([_()],rt.prototype,"_activeComputation",null),t([_()],rt.prototype,"_stagedComputation",null),rt=t([M("esri.views.3d.analysis.Dimension.LengthDimensionSubTool")],rt);const lt=y();export{rt as LengthDimensionSubTool};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.25/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{LengthDimensionMeasureType as t}from"../../../../analysis/dimensionUtils.js";import"../../../../core/has.js";import{isNone as e,isSome as n}from"../../../../core/maybe.js";import{
|
|
5
|
+
import{LengthDimensionMeasureType as t}from"../../../../analysis/dimensionUtils.js";import"../../../../core/has.js";import{isNone as e,isSome as n}from"../../../../core/maybe.js";import{k as i,g as o,e as r,b as s,p as a}from"../../../../chunks/vec3.js";import{sv3d as c}from"../../../../geometry/support/vectorStacks.js";import{automaticHeadingFromCamera as m}from"./lengthDimensionManipulatorUtils.js";import{isGeodesicDimension as l,directUp as d,directStartToEnd as p}from"./lengthDimensionUtils.js";import{settings as P}from"./settings.js";var u;function f(t,n){if(l(t))return u.Direct;const{geometry:m}=t;if(e(m)||i(m.directSegment.startRenderSpace,m.directSegment.endRenderSpace))return null;const{constraintThresholdPx:f}=P,{camera:g}=n.state,y=d(c.get(),m,n.renderCoordsHelper),S=p(c.get(),m),z=o(c.get(),y,r(S,y)),x=s(c.get(),S,z),h=a(x),j=a(z),{startRenderSpace:v,endRenderSpace:D}=m.directSegment,R=Math.max(g.computeRenderPixelSizeAt(v)*f,g.computeRenderPixelSizeAt(D)*f)**2;return h<R?u.Vertical:j<R?u.Horizontal:null}function g(i,o,r){const{constraint:s,elevationAlignedStartPoint:a,elevationAlignedEndPoint:c,unconstrainedGeometry:l,view:d}=r,{dimension:p,previousConstraint:P,preConstraintProperties:f}=i;if(e(a)||e(c))return;const g=()=>{"startPoint"in o?p.startPoint=o.startPoint:"endPoint"in o&&(p.endPoint=o.endPoint)};if(e(s))g(),n(P)&&n(f)&&(p.measureType=f.measureType,p.orientation=f.orientation);else switch(p.measureType=t.Direct,s){case u.Horizontal:if(s!==P&&(p.orientation=0),"startPoint"in o){const t=o.startPoint;n(t)&&(t.z=c.z),p.startPoint=t}else if("endPoint"in o){const t=o.endPoint;n(t)&&(t.z=a.z),p.endPoint=t}break;case u.Vertical:if(s!==P&&(p.orientation=m(l,d)),"startPoint"in o){const t=o.startPoint;n(t)&&(t.x=c.x,t.y=c.y),p.startPoint=t}else if("endPoint"in o){const t=o.endPoint;n(t)&&(t.x=a.x,t.y=a.y),p.endPoint=t}break;case u.Direct:s!==P&&n(f)&&(p.orientation=f.orientation),g()}i.previousConstraint=s}!function(t){t[t.Horizontal=0]="Horizontal",t[t.Vertical=1]="Vertical",t[t.Direct=2]="Direct"}(u||(u={}));export{u as LengthDimensionConstraint,g as applyConstraint,f as computeConstraint};
|