@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{isSome as e}from"../../../../core/maybe.js";import{c as t}from"../../../../chunks/mat4f64.js";import{
|
|
5
|
+
import{isSome as e}from"../../../../core/maybe.js";import{c as t}from"../../../../chunks/mat4f64.js";import{m as i,s as n}from"../../../../chunks/vec3.js";import{c as s}from"../../../../chunks/vec3f64.js";import{empty as a,expandWithVec3 as r,create as o,isPoint as h,center as l,offset as c}from"../../../../geometry/support/aaBoundingBox.js";import{setContextFeature as d}from"./featureExpressionInfoUtils.js";import{demResolutionForBoundingBox as g}from"./graphicUtils.js";import{Object3DState as m}from"../../webgl-engine/lib/basicInterfaces.js";import{Object3DStateID as u}from"../../webgl-engine/lib/Object3DStateID.js";class f{constructor(e,t,i,n){this.graphics3DSymbolLayer=e,this.instanceIndex=t,this.elevationAligner=i,this.elevationContext=n,this.type="lod-instance",this._highlights=new Set,this.alignedSampledElevation=0,this.isElevationSource=!1,this.needsElevationUpdates=!1}initialize(){}setVisibility(e){const t=this._lodRenderer.instanceData;e!==t.getVisible(this.instanceIndex)&&t.setVisible(this.instanceIndex,e)}destroy(){null!=this.instanceIndex&&(this._lodRenderer.instanceData.removeInstance(this.instanceIndex),this.graphics3DSymbolLayer.notifyDestroyGraphicLayer(this))}alignWithElevation(t,i,n){if(this.elevationAligner){d(this.elevationContext.featureExpressionInfoContext,n);const s=this.elevationAligner(this,this.elevationContext,t,i);e(s)&&(this.alignedSampledElevation=s)}}getCenterObjectSpace(e=s()){return this._lodRenderer.instanceData.getCombinedLocalTransform(this.instanceIndex,I),i(e,this._lodRenderer.baseBoundingSphere.center,I)}getBoundingBoxObjectSpace(e=o()){this._lodRenderer.instanceData.getCombinedLocalTransform(this.instanceIndex,I);const t=this._lodRenderer.baseBoundingBox;a(e);for(let s=0;s<8;++s)n(x,0==(1&s)?t[0]:t[3],0==(2&s)?t[1]:t[4],0==(4&s)?t[2]:t[5]),i(x,x,I),r(e,x);return e}computeAttachmentOrigin(e){this._lodRenderer.instanceData.getGlobalTransform(this.instanceIndex,I),e.render.origin[0]+=I[12],e.render.origin[1]+=I[13],e.render.origin[2]+=I[14],e.render.num++}async getProjectedBoundingBox(t,n,s,r,o){const d=this.getBoundingBoxObjectSpace(o),m=v,u=h(d)?1:m.length;this._lodRenderer.instanceData.getGlobalTransform(this.instanceIndex,I);for(let e=0;e<u;e++){const t=m[e];x[0]=d[t[0]],x[1]=d[t[1]],x[2]=d[t[2]],i(x,x,I),p[3*e+0]=x[0],p[3*e+1]=x[1],p[3*e+2]=x[2]}if(!t(p,0,u))return null;a(d);let f=null;this.calculateRelativeScreenBounds&&(f=this.calculateRelativeScreenBounds());for(let e=0;e<3*u;e+=3){for(let t=0;t<3;t++)d[t]=Math.min(d[t],p[e+t]),d[t+3]=Math.max(d[t+3],p[e+t]);f&&s.push({location:p.slice(e,e+3),screenSpaceBoundingRect:f})}if(n&&(l(d,b),"absolute-height"!==this.elevationContext.mode)){let t;const i=g(d,n.service.spatialReference,n);try{t=await n.service.queryElevation(b[0],b[1],r,i,"ground")}catch(_){}e(t)&&c(d,0,0,-this.alignedSampledElevation+t)}return d}addObjectState(e,t){if(e===m.Highlight){const i=new u(e);this._addHighlightId(i),t.addExternal((e=>{this._removeHighlightId(e)}),i)}}removeObjectState(e){this._highlights.forEach((t=>e.remove(t)))}_addHighlightId(e){this._highlights.add(e),this._lodRenderer.instanceData.setHighlight(this.instanceIndex,!0)}_removeHighlightId(e){this._highlights.delete(e),this._lodRenderer.instanceData.setHighlight(this.instanceIndex,this._highlights.size>0)}get _lodRenderer(){return this.graphics3DSymbolLayer.lodRenderer}}const p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],x=s(),b=s(),v=[[0,1,2],[3,1,2],[0,4,2],[3,4,2],[0,1,5],[3,1,5],[0,4,5],[3,4,5]],I=t();export{f 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{isSome as e,isNone as t,unwrapOr as s}from"../../../../core/maybe.js";import{c as i,
|
|
5
|
+
import{isSome as e,isNone as t,unwrapOr as s}from"../../../../core/maybe.js";import{c as i,m as a,a as r}from"../../../../chunks/vec3.js";import{c as n}from"../../../../chunks/vec3f64.js";import{setMin as o,setMax as c,create as h,isPoint as g,empty as d,center as l,offset as b}from"../../../../geometry/support/aaBoundingBox.js";import{g as u}from"../../../../chunks/sphere.js";import{setContextFeature as O}from"./featureExpressionInfoUtils.js";import{demResolutionForBoundingBox as j}from"./graphicUtils.js";import{Object3DState as m}from"../../webgl-engine/lib/basicInterfaces.js";import{Transparency as p}from"../../webgl-engine/lib/edgeRendering/interfaces.js";class _{constructor(e,t,s,i,a,r,n,o=null){this.graphics3DSymbolLayer=e,this.stageObject=t,this._uniqueGeometries=s,this._uniqueMaterials=i,this._sharedResource=a,this.elevationAligner=r,this.elevationContext=n,this._edgeState=o,this.type="object3d",this._stageLayer=null,this._stage=null,this._visible=!1,this._addedToStage=!1,this.alignedSampledElevation=0,this.needsElevationUpdates=!1,this.useObjectOriginAsAttachmentOrigin=!1,this.graphics3DSymbolLayer=e,this.stageObject=t}get isElevationSource(){return!(!this.stageObject.metadata||!this.stageObject.metadata.isElevationSource)}initialize(e,t){this._stageLayer=t,this._stage=e,e.addMany(this._uniqueMaterials),e.addMany(this._uniqueGeometries),e.add(this.stageObject)}destroy(){const t=this._stage;this._stageLayer&&(t.removeMany(this._uniqueMaterials),t.removeMany(this._uniqueGeometries)),t.remove(this.stageObject),this._addedToStage&&(this._stageLayer.remove(this.stageObject),this._addedToStage=!1);const s=this._stage.renderView.ensureEdgeView();s.hasObject(this.stageObject)&&s.removeObject(this.stageObject),this.stageObject.dispose(),e(this._sharedResource)&&this._sharedResource.release(),this._visible=!1,this._stageLayer=null,this._stage=null}layerOpacityChanged(e,s){if(t(this._edgeState))return;const i=v(this._edgeState.baseMaterial);let a=!1;for(const t of this._edgeState.edgeMaterials)t.objectTransparency!==i&&(t.objectTransparency=i,a=!0);a&&this._resetEdgeObject(s);this._stage.renderView.ensureEdgeView().updateAllComponentOpacities(this.stageObject,[e])}slicePlaneEnabledChanged(e,s){if(t(this._edgeState))return;this._stage.renderView.ensureEdgeView().updateAllComponentMaterials(this.stageObject,this._edgeState.edgeMaterials,{hasSlicePlane:e},!s),this._edgeState.properties.hasSlicePlane=e}setVisibility(t){if(null!=this._stage&&this._visible!==t&&(this._visible=t,this._visible?this._addedToStage?this.stageObject.setVisible(!0):(this._stageLayer.add(this.stageObject),this._addedToStage=!0):this.stageObject.setVisible(!1),e(this._edgeState))){const e=this._stage.renderView.ensureEdgeView();e.hasObject(this.stageObject)?e.updateObjectVisibility(this.stageObject,t):t&&this._addOrUpdateEdgeObject(e,!1)}}get visible(){return this._visible}alignWithElevation(t,s,i,a){null!=this.elevationAligner&&(e(i)&&O(this.elevationContext.featureExpressionInfoContext,i),this.alignedSampledElevation=this.elevationAligner(this,this.elevationContext,t,s),this._resetEdgeObject(a))}getCenterObjectSpace(e=n()){return i(e,u(this.stageObject.boundingVolumeObjectSpace.bounds))}getBoundingBoxObjectSpace(e=h()){const t=this.stageObject.boundingVolumeObjectSpace;return o(e,t.min),c(e,t.max),e}computeAttachmentOrigin(e){if(this.useObjectOriginAsAttachmentOrigin){const t=this.stageObject.transformation;e.render.origin[0]+=t[12],e.render.origin[1]+=t[13],e.render.origin[2]+=t[14],e.render.num++}else for(const t of this.stageObject.geometryRecords)t.computeAttachmentOrigin(y)&&(a(y,y,this.stageObject.transformation),r(e.render.origin,e.render.origin,y),e.render.num++)}async getProjectedBoundingBox(e,t,i,r,n){const o=this.getBoundingBoxObjectSpace(n),c=E,h=g(o)?1:c.length;for(let s=0;s<h;s++){const e=c[s];S[0]=o[e[0]],S[1]=o[e[1]],S[2]=o[e[2]],a(S,S,this.stageObject.transformation),f[3*s+0]=S[0],f[3*s+1]=S[1],f[3*s+2]=S[2]}if(!e(f,0,h))return null;d(o);let u=null;this.calculateRelativeScreenBounds&&(u=this.calculateRelativeScreenBounds());for(let s=0;s<3*h;s+=3){for(let e=0;e<3;e++)o[e]=Math.min(o[e],f[s+e]),o[e+3]=Math.max(o[e+3],f[s+e]);u&&i.push({location:f.slice(s,s+3),screenSpaceBoundingRect:u})}if(t&&t.service&&"absolute-height"!==this.elevationContext.mode){l(o,y);const e="relative-to-scene"===this.elevationContext.mode?"scene":"ground";let i=0;if(t.useViewElevation)i=s(t.service.getElevation(y[0],y[1],e),0);else try{const a=j(o,t.service.spatialReference,t);i=s(await t.service.queryElevation(y[0],y[1],r,a,e),0)}catch(O){}b(o,0,0,-this.alignedSampledElevation+i)}return o}addObjectState(e,t){e===m.Highlight&&t.addObject(this.stageObject,this.stageObject.highlight()),e===m.MaskOccludee&&t.addObject(this.stageObject,this.stageObject.maskOccludee())}removeObjectState(e){e.removeObject(this.stageObject)}_resetEdgeObject(e){if(t(this._edgeState))return;const s=this._stage.renderView.ensureEdgeView();this._visible?this._addOrUpdateEdgeObject(s,e):s.removeObject(this.stageObject)}_addOrUpdateEdgeObject(e,s){const i=this._edgeState;if(t(i))return;const a=v(i.baseMaterial);for(const t of i.edgeMaterials)t.objectTransparency=a;e.addOrUpdateObject3D(this.stageObject,i.edgeMaterials,i.properties,!s).then((()=>this._stageLayer?.sync()))}}function v(e){return e.isVisible?e.parameters.transparent?p.TRANSPARENT:p.OPAQUE:p.INVISIBLE}const f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],S=n(),y=n(),E=[[0,1,2],[3,1,2],[0,4,2],[3,4,2],[0,1,5],[3,1,5],[0,4,5],[3,4,5]];export{_ as Graphics3DObject3DGraphicLayer};
|
|
@@ -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 e from"../../../../Color.js";import has from"../../../../core/has.js";import{isSome as t,get as s,none as r,isNone as a,unwrapOr as i}from"../../../../core/maybe.js";import{pt2px as o}from"../../../../core/screenUtils.js";import{c as n,i as c,k as l,v as h}from"../../../../chunks/mat4.js";import{c as d}from"../../../../chunks/mat4f64.js";import{l as p,x as m,c as u,u as y,a as f,s as _}from"../../../../chunks/vec3.js";import{d as b,O as g,Z as P,f as R,c as v}from"../../../../chunks/vec3f64.js";import{O as x,c as L}from"../../../../chunks/vec4f64.js";import{projectPointToVector as S,computeTranslationToOriginAndRotation as C}from"../../../../geometry/projection.js";import{create as j,size as w,containsPoint as U,center as E}from"../../../../geometry/support/aaBoundingBox.js";import{defaultPrimitive as B}from"../../../../symbols/support/ObjectSymbol3DLayerResource.js";import{objectSymbolLayerPrimitiveBoundingBox as T,objectSymbolLayerSizeWithResourceSize as A}from"../../../../symbols/support/symbolLayerUtils3D.js";import{perLodInstanceElevationAligner as I}from"./ElevationAligners.js";import{needsElevationUpdates3D as O,evaluateElevationInfoAtPoint as G,SampleElevationInfo as D}from"./elevationAlignmentUtils.js";import{ElevationContext as z}from"./ElevationContext.js";import M from"./Graphics3DLodInstanceGraphicLayer.js";import{Graphics3DSymbolLayer as F}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as V,mixinColorAndOpacity as k,computeObjectScale as H,computeObjectRotation as W}from"./graphicUtils.js";import{ApplyRendererDiffResult as q}from"./interfaces.js";import{LoadStatus as N}from"./Loadable.js";import{makeLodResources as $,fillEstimatedMinScreenSpaceRadius as Z}from"./lodResourceUtils.js";import{fetch as J}from"./objectResourceUtils.js";import{placePointOnGeometry as K,extendPointGraphicElevationContext as Q}from"./pointUtils.js";import{isValidPrimitive as X,primitiveLodResources as Y}from"./primitiveObjectSymbolUtils.js";import{defaultSymbolLayerMemoryComplexity as ee}from"./symbolComplexity.js";import{initFastSymbolUpdatesState as te,updateFastSymbolUpdatesState as se,evaluateModelTransform as re,evaluateModelTransformScale as ae}from"../support/FastSymbolUpdates.js";import{CullFaceOptions as ie}from"../../webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as oe}from"../../webgl-engine/lib/VertexAttribute.js";import{LodRenderer as ne}from"../../webgl-engine/lib/lodRendering/LodRenderer.js";import{materialsFromLodResources as ce,texturesFromLodResources as le,geometriesFromLodResources as he,geometriesFromLodLevelResources as de}from"../../webgl-engine/lib/lodRendering/LodResources.js";import{DefaultMaterial as pe}from"../../webgl-engine/materials/DefaultMaterial.js";class me extends F{constructor(e,t,s,r){super(e,t,s,r),this._resources=null,this._optionalFields=new Array,this._instanceIndexToGraphicUid=new Map,this._hasLoadedPBRTextures=!1,this._disposeResourceHandles=new Array,this.ensureDrapedStatus(!1),this._hasLoadedPBRTextures=s.physicalBasedRenderingEnabled}getCachedSize(){const[e,s,r]=t(this._resources)?this._resources.symbolSize:[1,1,1];return{width:e,depth:s,height:r}}async doLoad(e){if(!this._drivenProperties.size){if(V(this.symbolLayer))throw new Error}const t=this.symbolLayer;if(this._isPrimitive){const s=t.resource?t.resource.primitive:B;this._resources=await this._createResourcesForPrimitive(s,e)}else this._resources=await this._createResourcesForUrl(t.resource.href,e);this.layerOpacityChanged(),this.slicePlaneEnabledChanged(),this.physicalBasedRenderingChanged(),this.complexity=this.computeComplexity()}get extentPadding(){return t(this._resources)?this._resources.extentPadding:0}get _isPrimitive(){return!(this.symbolLayer.resource&&this.symbolLayer.resource.href)}get lodRenderer(){return s(this._resources,"lodRenderer")}_setMaterialTransparencyParams(e,t=s(this.symbolLayer,"material","color")){const r=this._getCombinedOpacity(t),a=r<1||this.needsDrivenTransparentPass;return e.transparent=a,e.opacity=r,e.cullFace=a?ie.None:ie.Back,e}async _createResourcesForPrimitive(s,a){if(!X(s))throw new Error(`Unknown object symbol primitive: ${s}`);const i=this.symbolLayer,n=j(T(s)),c=b(w(n)),l=b(A(c,i)),h=p(l),d=!1,m=!1,u={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0,ambient:g,diffuse:g,hasSlicePlane:this._context.slicePlaneEnabled,hasSliceHighlight:!1,castShadows:this.symbolLayer.castShadows,offsetTransparentBackfaces:!this.symbolLayer.isPrimitive},y=u.usePBR;this._setMaterialTransparencyParams(u);const f=this.symbol;if("point-3d"===f.type&&f.verticalOffset){const{screenLength:e,minWorldLength:s,maxWorldLength:r}=f.verticalOffset;u.verticalOffset={screenLength:o(e),minWorldLength:s||0,maxWorldLength:t(r)?r:1/0},u.castShadows=!1}if(this._context.screenSizePerspectiveEnabled&&(u.screenSizePerspective=this._context.sharedResources.screenSizePerspectiveSettings),this._drivenProperties.color)u.externalColor=x;else{const s=t(i.material)&&i.material.color,r=t(s)?e.toUnitRGBA(s):x;u.externalColor=r}this._fastUpdates=te(this._context.renderer,this._fastVisualVariableConvertOptions(n,l,c,r)),u.instanced=["transformation"],this._fastUpdates.enabled?(Object.assign(u,this._fastUpdates.materialParameters),u.instanced.push("featureAttribute"),this._optionalFields.push("featureAttribute")):this._hasPerInstanceColor()&&(u.instanced.push("color"),this._optionalFields.push("color")),has("enable-feature:objectAndLayerId-rendering")&&(u.instanced.push("objectAndLayerIdColor"),this._optionalFields.push("objectAndLayerIdColor"));const _=new pe(u),P=Y(s,_);if(!P)throw new Error(`Unknown object symbol primitive: ${s}`);const R=ce(P).map((e=>({opacity:1,transparent:e.parameters.transparent}))),v=await this._createStageResources(P,y);return{lodResources:P,lodRenderer:await this._createLodRenderer(P,a),stageResources:v,symbolSize:l,extentPadding:h,isEsriSymbolResource:d,isWosr:m,originalMaterialParameters:R,physicalBasedRenderingEnabled:y,resourceBoundingBox:n,resourceSize:c,pivotOffset:r}}async _createResourcesForUrl(e,a){const i=["transformation"],n={materialParamsMixin:{instanced:i,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:this.symbolLayer.castShadows},streamDataRequester:this._context.streamDataRequester,cache:this._context.sharedResources.objectResourceCache};this._fastUpdates=te(this._context.renderer,this._fastVisualVariableConvertOptions(r,r,r,r)),this._fastUpdates.enabled?(Object.assign(n.materialParamsMixin,this._fastUpdates.materialParameters),i.push("featureAttribute"),this._optionalFields.push("featureAttribute")):this._hasPerInstanceColor()&&(i.push("color"),this._optionalFields.push("color")),has("enable-feature:objectAndLayerId-rendering")&&(i.push("objectAndLayerIdColor"),this._optionalFields.push("objectAndLayerIdColor"));const c=this.symbol;if("point-3d"===c.type&&c.verticalOffset){const{screenLength:e,minWorldLength:s,maxWorldLength:r}=c.verticalOffset;n.materialParamsMixin.verticalOffset={screenLength:o(e),minWorldLength:s||0,maxWorldLength:t(r)?r:1/0},n.materialParamsMixin.castShadows=!1}n.signal=a,n.usePBR=this._context.physicalBasedRenderingEnabled,n.skipHighLods=this._context.skipHighSymbolLods;const l=n.usePBR,h=await J(e,n),d=h.isEsriSymbolResource,m=h.isWosr,u=$(h.lods);Z(u),u.levels.sort(((e,t)=>e.minScreenSpaceRadius-t.minScreenSpaceRadius)),u.levels[0].minScreenSpaceRadius=Math.min(2,u.levels[0].minScreenSpaceRadius);const y=this._context,f=this.symbolLayer.material,_=this._getExternalColorParameters(f),g=s(this.symbolLayer,"material","color"),P=this._getCombinedOpacity(g,{hasIntrinsicColor:!0}),R=this.needsDrivenTransparentPass,v=ce(u),x=ce(u).map((e=>({opacity:e.parameters.opacity||1,transparent:e.parameters.transparent})));v.forEach((e=>{const t=e.parameters;e.setParameters(_);const s=t.opacity*P,r=s<1||R||t.transparent;e.setParameters({opacity:s,transparent:r}),y.screenSizePerspectiveEnabled&&e.setParameters({screenSizePerspective:y.sharedResources.screenSizePerspectiveSettings})}));const L=h.referenceBoundingBox,S=b(w(L)),C=b(u.levels[0].pivotOffset),j=b(A(S,this.symbolLayer)),U=p(j);se(this._fastUpdates,this._context.renderer,this._fastVisualVariableConvertOptions(L,j,S,C))&&v.forEach((e=>e.setParameters(this._fastUpdates.materialParameters)));const E=await this._createStageResources(u,l);return{lodResources:u,lodRenderer:await this._createLodRenderer(u,a),stageResources:E,symbolSize:j,extentPadding:U,isEsriSymbolResource:d,isWosr:m,originalMaterialParameters:x,physicalBasedRenderingEnabled:l,resourceBoundingBox:L,resourceSize:S,pivotOffset:C}}_addDisposeResource(e){this._disposeResourceHandles.push(e)}async _createStageResources(e,t){const s=this._context.stage,r=ce(e);t!==this._context.physicalBasedRenderingEnabled&&this.physicalBasedRenderingChanged(),s.addMany(r),this._addDisposeResource((()=>s.removeMany(r)));const a=le(e);s.addMany(a),this._addDisposeResource((()=>s.removeMany(a))),await s.load(a);const i=he(e);return s.addMany(i),this._addDisposeResource((()=>s.removeMany(i))),{materials:r,textures:a,geometries:i}}async _createLodRenderer(e,t){const s=this._context.stage,r={layerUid:this._context.layer.uid,graphicUid:e=>this._instanceIndexToGraphicUid.get(e),notifyGraphicGeometryChanged:e=>this._context.notifyGraphicGeometryChanged(this._instanceIndexToGraphicUid.get(e)),notifyGraphicVisibilityChanged:e=>this._context.notifyGraphicVisibilityChanged(this._instanceIndexToGraphicUid.get(e))},a=this._fastUpdates.enabled?{applyTransform:(e,t,s)=>{e.getFeatureAttribute(t,_e),n(s,re(this._fastUpdates.materialParameters,_e,s))},scaleFactor:(e,t,s)=>(t.getFeatureAttribute(s,_e),ae(e,this._fastUpdates.materialParameters,_e))}:null,i=new ne(e,this._optionalFields,r,a);return i.slicePlaneEnabled=this._context.slicePlaneEnabled,this._addDisposeResource((()=>{s.removeRenderPlugin(i)})),await s.addRenderPlugin(i.slots,i,t),i}_getExternalColorParameters(s){const r={};return this._drivenProperties.color?r.externalColor=x:t(s)&&t(s.color)?r.externalColor=e.toUnitRGBA(s.color):(r.externalColor=x,r.colorMixMode="ignore"),r}destroy(){super.destroy(),this._cleanupResources()}_cleanupResources(){this._disposeResourceHandles.forEach((e=>e())),this._disposeResourceHandles.length=0,this._resources=null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry))return null;const s=K(t.geometry);if(a(s))return this.logger.warn(`unsupported geometry type for icon symbol: ${t.geometry.type}`),null;const r=this.setGraphicElevationContext(t,new z),i=e.renderingInfo;return this._createAs3DShape(t,s,i,r,t.uid,e.layer.uid)}notifyDestroyGraphicLayer(e){this._instanceIndexToGraphicUid.delete(e.instanceIndex)}graphicLayerToGraphicId(){return 0}layerOpacityChanged(){if(a(this._resources))return!0;const e=this._drivenProperties.opacity,t=!this._isPrimitive,r=this._resources.stageResources.materials,i=this._resources.originalMaterialParameters;for(let a=0;a<r.length;a++){const o=r[a],n=s(this.symbolLayer,"material","color"),c=i[a],l=this._getCombinedOpacity(n,{hasIntrinsicColor:t})*c.opacity,h=l<1||e||c.transparent;o.setParameters({opacity:l,transparent:h}),this._isPrimitive&&o.setParameters({cullFace:h?ie.None:ie.Back})}return!0}layerElevationInfoChanged(e,t){return this.updateGraphics3DGraphicElevationInfo(e,t,O)}slicePlaneEnabledChanged(){if(a(this._resources))return!0;this._resources.lodRenderer.slicePlaneEnabled=this._context.slicePlaneEnabled;for(const e of this._resources.stageResources.materials)e.setParameters({hasSlicePlane:this._context.slicePlaneEnabled});return!0}physicalBasedRenderingChanged(){if(a(this._resources))return!0;const{stageResources:e,isWosr:t}=this._resources;for(const s of e.materials)this._isPrimitive?s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}):t||s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!1});return!1!==this._hasLoadedPBRTextures||!0!==this._context.physicalBasedRenderingEnabled||(this._hasLoadedPBRTextures=!0,!1)}pixelRatioChanged(){return!0}applyRendererDiff(e,t){if(a(this._resources))return q.Recreate_Symbol;const{stageResources:{materials:s},lodRenderer:r,resourceBoundingBox:i,symbolSize:o,resourceSize:n,pivotOffset:c}=this._resources;for(const a in e.diff){if("visualVariables"!==a)return q.Recreate_Symbol;if(!se(this._fastUpdates,t,this._fastVisualVariableConvertOptions(i,o,n,c)))return q.Recreate_Symbol;for(const e of s)e.setParameters(this._fastUpdates.materialParameters);r.notifyShaderTransformationChanged()}return q.Fast_Update}computeComplexity(){if(a(this._resources))return super.computeComplexity();const e=this._resources.lodResources,t=de(e.levels[0]).reduce(((e,t)=>e+t.indices.get(oe.POSITION).length),0)/3,s=e=>Array.from(e.vertexAttributes.values()).reduce(((e,t)=>e+(t.data.buffer?.byteLength??0)),0)+Array.from(e.indices.values()).reduce(((e,t)=>e+(Array.isArray(t)?12*t.length:t.buffer.byteLength)),0),r=le(e).reduce(((e,t)=>e+t.estimatedTexMemRequired),0)/4+he(e).reduce(((e,t)=>e+s(t)),0);return{primitivesPerFeature:t,primitivesPerCoordinate:0,drawCallsPerFeature:0,estimated:!1,memory:{...ee(this.symbol,this.symbolLayer),resourceBytes:r}}}_hasLodRenderer(){return t(this._resources)}_createAs3DShape(e,s,r,i,o,n){if(!this._hasLodRenderer()||a(this._resources))return null;const c=this.getFastUpdateAttrValues(e),l=!this._fastUpdates.enabled&&this._hasPerInstanceColor()?k(r.color,r.opacity):null,h=this._context.clippingExtent;if(S(s,ue,this._context.elevationProvider.spatialReference),t(h)&&!U(h,ue))return null;const d=this._requiresTerrainElevation(i),p=this._computeGlobalTransform(s,i,fe,be),m=this._computeLocalTransform(this._resources,this.symbolLayer,r,ye),u=this._resources.lodRenderer.instanceData,y=u.addInstance();this._instanceIndexToGraphicUid.set(y,o),u.setLocalTransform(y,m,!1),u.setGlobalTransform(y,p),c&&u.setFeatureAttribute(y,c),l&&u.setColor(y,l),has("enable-feature:objectAndLayerId-rendering")&&u.setObjectAndLayerIdColor(y,this._context.stage.renderView._objectAndLayerIdRenderHelper.getObjectAndLayerIdColor({graphicUid:o,layerUid:n}));const f=new M(this,y,I,i);return d&&(f.alignedSampledElevation=be.sampledElevation),f.needsElevationUpdates=O(i.mode),Q(f,s,this._context.elevationProvider),f}_computeGlobalTransform(e,t,s,r){return G(e,this._context.elevationProvider,t,this._context.renderCoordsHelper,r),ue[0]=e.x,ue[1]=e.y,ue[2]=r.z,C(e.spatialReference,ue,s,this._context.renderCoordsHelper.spatialReference),s}_computeLocalTransform(e,t,s,r){return c(r),this._applyObjectRotation(s,!1,r),this._applyObjectRotation(t,!0,r),this._applyObjectScale(e,s,r),this._applyAnchor(e,t,r),r}_applyObjectScale(e,t,s){if(this._fastUpdates.enabled&&this._fastUpdates.requiresShaderTransformation)return;const r=this._drivenProperties.size&&t.size?t.size:e.symbolSize,a=H(r,e.symbolSize,e.resourceSize,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||l(s,s,a)}prepareSymbolLayerPatch(e){if("partial"!==e.diff.type)return;const t=e.diff.diff;this._preparePatchTransform(e,t),this._preparePatchColor(e,t)}updateGeometry(e,t){if(a(this._resources))return!0;const s=t&&K(t);if(a(s))return!1;const r=this.getGeometryElevationMode(t);return e.elevationContext.mode===r&&(this._computeGlobalTransform(s,e.elevationContext,fe,be),this._requiresTerrainElevation(e.elevationContext)&&(e.alignedSampledElevation=be.sampledElevation),this._resources.lodRenderer.instanceData.setGlobalTransform(e.instanceIndex,fe,!0),Q(e,s,this._context.elevationProvider),!0)}_preparePatchTransform(e,t){if(!(t.heading||t.tilt||t.roll||t.width||t.height||t.depth||t.anchor||t.anchorPosition))return;if(a(this._resources))return;const s=(e,t,s)=>i(null!=e&&"complete"===e.type?e.newValue:t,s),r=s(t.heading,this.symbolLayer.heading,0),o=s(t.tilt,this.symbolLayer.tilt,0),n=s(t.roll,this.symbolLayer.roll,0),c=s(t.width,this.symbolLayer.width,void 0),l=s(t.height,this.symbolLayer.height,void 0),h=s(t.depth,this.symbolLayer.depth,void 0),d=s(t.anchor,this.symbolLayer.anchor,void 0),p=s(t.anchorPosition,this.symbolLayer.anchorPosition,void 0);delete t.heading,delete t.tilt,delete t.roll,delete t.width,delete t.height,delete t.depth,delete t.anchor,delete t.anchorPosition;const m={heading:r,tilt:o,roll:n,anchor:d,anchorPosition:p},u=this._resources;this.loadStatus===N.LOADED&&e.symbolLayerStatePatches.push((()=>{u.symbolSize=b(A(u.resourceSize,{width:c,height:l,depth:h,isPrimitive:this.symbolLayer.isPrimitive}))})),e.graphics3DGraphicPatches.push(((e,t)=>{const s=this._computeLocalTransform(u,m,t,ye),r=e.instanceIndex;u.lodRenderer.instanceData.setLocalTransform(r,s,!0)}))}_preparePatchColor(s,r){if(!r.material||"partial"!==r.material.type)return;const i=r.material.diff;if(!i.color||"complete"!==i.color.type||null==i.color.newValue||null==i.color.oldValue)return;const o=i.color.newValue,n=t(o)?e.toUnitRGBA(o):x;delete i.color;const c=this._resources;a(c)||s.graphics3DGraphicPatches.push((e=>{let t;this._hasPerInstanceColor()?(c.lodRenderer.instanceData.setColor(e.instanceIndex,n),t=this._setMaterialTransparencyParams({},o)):t=this._setMaterialTransparencyParams({externalColor:n},o);for(const s of c.stageResources.materials)s.setParameters(t)}))}_requiresTerrainElevation(e){return"absolute-height"!==e.mode}_applyObjectRotation(e,t,s){if(!(this._fastUpdates.enabled&&this._fastUpdates.requiresShaderTransformation&&t))return W(e.heading,e.tilt,e.roll,s)}_computeAnchor(e,s,r){const a=v();switch(r.anchor){case"center":u(a,E(e)),m(a,a);break;case"top":{const t=E(e);_(a,-t[0],-t[1],-e[5]);break}case"bottom":{const t=E(e);_(a,-t[0],-t[1],-e[2]);break}case"relative":{const t=E(e),s=w(e),i=r.anchorPosition,o=i?R(i.x,i.y,i.z):P;y(a,s,o),f(a,a,t),m(a,a);break}default:t(s)?m(a,s):u(a,P)}return a}_applyAnchor(e,t,s){if(this._fastUpdates.enabled&&this._fastUpdates.requiresShaderTransformation)return;const r=this._computeAnchor(e.resourceBoundingBox,e.pivotOffset,t);r&&h(s,s,r)}_hasPerInstanceColor(){return this._drivenProperties.color||this._drivenProperties.opacity}_fastVisualVariableConvertOptions(e,s,r,a){const i=t(e)?b(w(e)):g,o=t(e)?this._computeAnchor(e,a,this.symbolLayer):P,n=this._context.renderCoordsHelper.unitInMeters,c=H(t(s)?s:void 0,s,r,n),l=R(this.symbolLayer.tilt||0,this.symbolLayer.roll||0,this.symbolLayer.heading||0);return{modelSize:i,symbolSize:t(s)?s:g,unitInMeters:n,transformation:{anchor:o,scale:c,rotation:l}}}}const ue=v(),ye=d(),fe=d(),_e=L(),be=new D;export{me as Graphics3DObjectSymbolLayer};
|
|
5
|
+
import e from"../../../../Color.js";import has from"../../../../core/has.js";import{isSome as t,get as s,none as r,isNone as a,unwrapOr as i}from"../../../../core/maybe.js";import{pt2px as o}from"../../../../core/screenUtils.js";import{c as n,i as c,k as l,v as h}from"../../../../chunks/mat4.js";import{c as d}from"../../../../chunks/mat4f64.js";import{l as p,o as m,c as u,B as y,a as f,s as _}from"../../../../chunks/vec3.js";import{d as b,O as g,Z as P,f as R,c as v}from"../../../../chunks/vec3f64.js";import{O as x,c as L}from"../../../../chunks/vec4f64.js";import{projectPointToVector as S,computeTranslationToOriginAndRotation as C}from"../../../../geometry/projection.js";import{create as j,size as w,containsPoint as U,center as E}from"../../../../geometry/support/aaBoundingBox.js";import{defaultPrimitive as B}from"../../../../symbols/support/ObjectSymbol3DLayerResource.js";import{objectSymbolLayerPrimitiveBoundingBox as T,objectSymbolLayerSizeWithResourceSize as A}from"../../../../symbols/support/symbolLayerUtils3D.js";import{perLodInstanceElevationAligner as I}from"./ElevationAligners.js";import{needsElevationUpdates3D as O,evaluateElevationInfoAtPoint as G,SampleElevationInfo as D}from"./elevationAlignmentUtils.js";import{ElevationContext as z}from"./ElevationContext.js";import M from"./Graphics3DLodInstanceGraphicLayer.js";import{Graphics3DSymbolLayer as F}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as V,mixinColorAndOpacity as k,computeObjectScale as H,computeObjectRotation as W}from"./graphicUtils.js";import{ApplyRendererDiffResult as q}from"./interfaces.js";import{LoadStatus as N}from"./Loadable.js";import{makeLodResources as $,fillEstimatedMinScreenSpaceRadius as Z}from"./lodResourceUtils.js";import{fetch as J}from"./objectResourceUtils.js";import{placePointOnGeometry as K,extendPointGraphicElevationContext as Q}from"./pointUtils.js";import{isValidPrimitive as X,primitiveLodResources as Y}from"./primitiveObjectSymbolUtils.js";import{defaultSymbolLayerMemoryComplexity as ee}from"./symbolComplexity.js";import{initFastSymbolUpdatesState as te,updateFastSymbolUpdatesState as se,evaluateModelTransform as re,evaluateModelTransformScale as ae}from"../support/FastSymbolUpdates.js";import{CullFaceOptions as ie}from"../../webgl-engine/lib/basicInterfaces.js";import{VertexAttribute as oe}from"../../webgl-engine/lib/VertexAttribute.js";import{LodRenderer as ne}from"../../webgl-engine/lib/lodRendering/LodRenderer.js";import{materialsFromLodResources as ce,texturesFromLodResources as le,geometriesFromLodResources as he,geometriesFromLodLevelResources as de}from"../../webgl-engine/lib/lodRendering/LodResources.js";import{DefaultMaterial as pe}from"../../webgl-engine/materials/DefaultMaterial.js";class me extends F{constructor(e,t,s,r){super(e,t,s,r),this._resources=null,this._optionalFields=new Array,this._instanceIndexToGraphicUid=new Map,this._hasLoadedPBRTextures=!1,this._disposeResourceHandles=new Array,this.ensureDrapedStatus(!1),this._hasLoadedPBRTextures=s.physicalBasedRenderingEnabled}getCachedSize(){const[e,s,r]=t(this._resources)?this._resources.symbolSize:[1,1,1];return{width:e,depth:s,height:r}}async doLoad(e){if(!this._drivenProperties.size){if(V(this.symbolLayer))throw new Error}const t=this.symbolLayer;if(this._isPrimitive){const s=t.resource?t.resource.primitive:B;this._resources=await this._createResourcesForPrimitive(s,e)}else this._resources=await this._createResourcesForUrl(t.resource.href,e);this.layerOpacityChanged(),this.slicePlaneEnabledChanged(),this.physicalBasedRenderingChanged(),this.complexity=this.computeComplexity()}get extentPadding(){return t(this._resources)?this._resources.extentPadding:0}get _isPrimitive(){return!(this.symbolLayer.resource&&this.symbolLayer.resource.href)}get lodRenderer(){return s(this._resources,"lodRenderer")}_setMaterialTransparencyParams(e,t=s(this.symbolLayer,"material","color")){const r=this._getCombinedOpacity(t),a=r<1||this.needsDrivenTransparentPass;return e.transparent=a,e.opacity=r,e.cullFace=a?ie.None:ie.Back,e}async _createResourcesForPrimitive(s,a){if(!X(s))throw new Error(`Unknown object symbol primitive: ${s}`);const i=this.symbolLayer,n=j(T(s)),c=b(w(n)),l=b(A(c,i)),h=p(l),d=!1,m=!1,u={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0,ambient:g,diffuse:g,hasSlicePlane:this._context.slicePlaneEnabled,hasSliceHighlight:!1,castShadows:this.symbolLayer.castShadows,offsetTransparentBackfaces:!this.symbolLayer.isPrimitive},y=u.usePBR;this._setMaterialTransparencyParams(u);const f=this.symbol;if("point-3d"===f.type&&f.verticalOffset){const{screenLength:e,minWorldLength:s,maxWorldLength:r}=f.verticalOffset;u.verticalOffset={screenLength:o(e),minWorldLength:s||0,maxWorldLength:t(r)?r:1/0},u.castShadows=!1}if(this._context.screenSizePerspectiveEnabled&&(u.screenSizePerspective=this._context.sharedResources.screenSizePerspectiveSettings),this._drivenProperties.color)u.externalColor=x;else{const s=t(i.material)&&i.material.color,r=t(s)?e.toUnitRGBA(s):x;u.externalColor=r}this._fastUpdates=te(this._context.renderer,this._fastVisualVariableConvertOptions(n,l,c,r)),u.instanced=["transformation"],this._fastUpdates.enabled?(Object.assign(u,this._fastUpdates.materialParameters),u.instanced.push("featureAttribute"),this._optionalFields.push("featureAttribute")):this._hasPerInstanceColor()&&(u.instanced.push("color"),this._optionalFields.push("color")),has("enable-feature:objectAndLayerId-rendering")&&(u.instanced.push("objectAndLayerIdColor"),this._optionalFields.push("objectAndLayerIdColor"));const _=new pe(u),P=Y(s,_);if(!P)throw new Error(`Unknown object symbol primitive: ${s}`);const R=ce(P).map((e=>({opacity:1,transparent:e.parameters.transparent}))),v=await this._createStageResources(P,y);return{lodResources:P,lodRenderer:await this._createLodRenderer(P,a),stageResources:v,symbolSize:l,extentPadding:h,isEsriSymbolResource:d,isWosr:m,originalMaterialParameters:R,physicalBasedRenderingEnabled:y,resourceBoundingBox:n,resourceSize:c,pivotOffset:r}}async _createResourcesForUrl(e,a){const i=["transformation"],n={materialParamsMixin:{instanced:i,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:this.symbolLayer.castShadows},streamDataRequester:this._context.streamDataRequester,cache:this._context.sharedResources.objectResourceCache};this._fastUpdates=te(this._context.renderer,this._fastVisualVariableConvertOptions(r,r,r,r)),this._fastUpdates.enabled?(Object.assign(n.materialParamsMixin,this._fastUpdates.materialParameters),i.push("featureAttribute"),this._optionalFields.push("featureAttribute")):this._hasPerInstanceColor()&&(i.push("color"),this._optionalFields.push("color")),has("enable-feature:objectAndLayerId-rendering")&&(i.push("objectAndLayerIdColor"),this._optionalFields.push("objectAndLayerIdColor"));const c=this.symbol;if("point-3d"===c.type&&c.verticalOffset){const{screenLength:e,minWorldLength:s,maxWorldLength:r}=c.verticalOffset;n.materialParamsMixin.verticalOffset={screenLength:o(e),minWorldLength:s||0,maxWorldLength:t(r)?r:1/0},n.materialParamsMixin.castShadows=!1}n.signal=a,n.usePBR=this._context.physicalBasedRenderingEnabled,n.skipHighLods=this._context.skipHighSymbolLods;const l=n.usePBR,h=await J(e,n),d=h.isEsriSymbolResource,m=h.isWosr,u=$(h.lods);Z(u),u.levels.sort(((e,t)=>e.minScreenSpaceRadius-t.minScreenSpaceRadius)),u.levels[0].minScreenSpaceRadius=Math.min(2,u.levels[0].minScreenSpaceRadius);const y=this._context,f=this.symbolLayer.material,_=this._getExternalColorParameters(f),g=s(this.symbolLayer,"material","color"),P=this._getCombinedOpacity(g,{hasIntrinsicColor:!0}),R=this.needsDrivenTransparentPass,v=ce(u),x=ce(u).map((e=>({opacity:e.parameters.opacity||1,transparent:e.parameters.transparent})));v.forEach((e=>{const t=e.parameters;e.setParameters(_);const s=t.opacity*P,r=s<1||R||t.transparent;e.setParameters({opacity:s,transparent:r}),y.screenSizePerspectiveEnabled&&e.setParameters({screenSizePerspective:y.sharedResources.screenSizePerspectiveSettings})}));const L=h.referenceBoundingBox,S=b(w(L)),C=b(u.levels[0].pivotOffset),j=b(A(S,this.symbolLayer)),U=p(j);se(this._fastUpdates,this._context.renderer,this._fastVisualVariableConvertOptions(L,j,S,C))&&v.forEach((e=>e.setParameters(this._fastUpdates.materialParameters)));const E=await this._createStageResources(u,l);return{lodResources:u,lodRenderer:await this._createLodRenderer(u,a),stageResources:E,symbolSize:j,extentPadding:U,isEsriSymbolResource:d,isWosr:m,originalMaterialParameters:x,physicalBasedRenderingEnabled:l,resourceBoundingBox:L,resourceSize:S,pivotOffset:C}}_addDisposeResource(e){this._disposeResourceHandles.push(e)}async _createStageResources(e,t){const s=this._context.stage,r=ce(e);t!==this._context.physicalBasedRenderingEnabled&&this.physicalBasedRenderingChanged(),s.addMany(r),this._addDisposeResource((()=>s.removeMany(r)));const a=le(e);s.addMany(a),this._addDisposeResource((()=>s.removeMany(a))),await s.load(a);const i=he(e);return s.addMany(i),this._addDisposeResource((()=>s.removeMany(i))),{materials:r,textures:a,geometries:i}}async _createLodRenderer(e,t){const s=this._context.stage,r={layerUid:this._context.layer.uid,graphicUid:e=>this._instanceIndexToGraphicUid.get(e),notifyGraphicGeometryChanged:e=>this._context.notifyGraphicGeometryChanged(this._instanceIndexToGraphicUid.get(e)),notifyGraphicVisibilityChanged:e=>this._context.notifyGraphicVisibilityChanged(this._instanceIndexToGraphicUid.get(e))},a=this._fastUpdates.enabled?{applyTransform:(e,t,s)=>{e.getFeatureAttribute(t,_e),n(s,re(this._fastUpdates.materialParameters,_e,s))},scaleFactor:(e,t,s)=>(t.getFeatureAttribute(s,_e),ae(e,this._fastUpdates.materialParameters,_e))}:null,i=new ne(e,this._optionalFields,r,a);return i.slicePlaneEnabled=this._context.slicePlaneEnabled,this._addDisposeResource((()=>{s.removeRenderPlugin(i)})),await s.addRenderPlugin(i.slots,i,t),i}_getExternalColorParameters(s){const r={};return this._drivenProperties.color?r.externalColor=x:t(s)&&t(s.color)?r.externalColor=e.toUnitRGBA(s.color):(r.externalColor=x,r.colorMixMode="ignore"),r}destroy(){super.destroy(),this._cleanupResources()}_cleanupResources(){this._disposeResourceHandles.forEach((e=>e())),this._disposeResourceHandles.length=0,this._resources=null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry))return null;const s=K(t.geometry);if(a(s))return this.logger.warn(`unsupported geometry type for icon symbol: ${t.geometry.type}`),null;const r=this.setGraphicElevationContext(t,new z),i=e.renderingInfo;return this._createAs3DShape(t,s,i,r,t.uid,e.layer.uid)}notifyDestroyGraphicLayer(e){this._instanceIndexToGraphicUid.delete(e.instanceIndex)}graphicLayerToGraphicId(){return 0}layerOpacityChanged(){if(a(this._resources))return!0;const e=this._drivenProperties.opacity,t=!this._isPrimitive,r=this._resources.stageResources.materials,i=this._resources.originalMaterialParameters;for(let a=0;a<r.length;a++){const o=r[a],n=s(this.symbolLayer,"material","color"),c=i[a],l=this._getCombinedOpacity(n,{hasIntrinsicColor:t})*c.opacity,h=l<1||e||c.transparent;o.setParameters({opacity:l,transparent:h}),this._isPrimitive&&o.setParameters({cullFace:h?ie.None:ie.Back})}return!0}layerElevationInfoChanged(e,t){return this.updateGraphics3DGraphicElevationInfo(e,t,O)}slicePlaneEnabledChanged(){if(a(this._resources))return!0;this._resources.lodRenderer.slicePlaneEnabled=this._context.slicePlaneEnabled;for(const e of this._resources.stageResources.materials)e.setParameters({hasSlicePlane:this._context.slicePlaneEnabled});return!0}physicalBasedRenderingChanged(){if(a(this._resources))return!0;const{stageResources:e,isWosr:t}=this._resources;for(const s of e.materials)this._isPrimitive?s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}):t||s.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!1});return!1!==this._hasLoadedPBRTextures||!0!==this._context.physicalBasedRenderingEnabled||(this._hasLoadedPBRTextures=!0,!1)}pixelRatioChanged(){return!0}applyRendererDiff(e,t){if(a(this._resources))return q.Recreate_Symbol;const{stageResources:{materials:s},lodRenderer:r,resourceBoundingBox:i,symbolSize:o,resourceSize:n,pivotOffset:c}=this._resources;for(const a in e.diff){if("visualVariables"!==a)return q.Recreate_Symbol;if(!se(this._fastUpdates,t,this._fastVisualVariableConvertOptions(i,o,n,c)))return q.Recreate_Symbol;for(const e of s)e.setParameters(this._fastUpdates.materialParameters);r.notifyShaderTransformationChanged()}return q.Fast_Update}computeComplexity(){if(a(this._resources))return super.computeComplexity();const e=this._resources.lodResources,t=de(e.levels[0]).reduce(((e,t)=>e+t.indices.get(oe.POSITION).length),0)/3,s=e=>Array.from(e.vertexAttributes.values()).reduce(((e,t)=>e+(t.data.buffer?.byteLength??0)),0)+Array.from(e.indices.values()).reduce(((e,t)=>e+(Array.isArray(t)?12*t.length:t.buffer.byteLength)),0),r=le(e).reduce(((e,t)=>e+t.estimatedTexMemRequired),0)/4+he(e).reduce(((e,t)=>e+s(t)),0);return{primitivesPerFeature:t,primitivesPerCoordinate:0,drawCallsPerFeature:0,estimated:!1,memory:{...ee(this.symbol,this.symbolLayer),resourceBytes:r}}}_hasLodRenderer(){return t(this._resources)}_createAs3DShape(e,s,r,i,o,n){if(!this._hasLodRenderer()||a(this._resources))return null;const c=this.getFastUpdateAttrValues(e),l=!this._fastUpdates.enabled&&this._hasPerInstanceColor()?k(r.color,r.opacity):null,h=this._context.clippingExtent;if(S(s,ue,this._context.elevationProvider.spatialReference),t(h)&&!U(h,ue))return null;const d=this._requiresTerrainElevation(i),p=this._computeGlobalTransform(s,i,fe,be),m=this._computeLocalTransform(this._resources,this.symbolLayer,r,ye),u=this._resources.lodRenderer.instanceData,y=u.addInstance();this._instanceIndexToGraphicUid.set(y,o),u.setLocalTransform(y,m,!1),u.setGlobalTransform(y,p),c&&u.setFeatureAttribute(y,c),l&&u.setColor(y,l),has("enable-feature:objectAndLayerId-rendering")&&u.setObjectAndLayerIdColor(y,this._context.stage.renderView._objectAndLayerIdRenderHelper.getObjectAndLayerIdColor({graphicUid:o,layerUid:n}));const f=new M(this,y,I,i);return d&&(f.alignedSampledElevation=be.sampledElevation),f.needsElevationUpdates=O(i.mode),Q(f,s,this._context.elevationProvider),f}_computeGlobalTransform(e,t,s,r){return G(e,this._context.elevationProvider,t,this._context.renderCoordsHelper,r),ue[0]=e.x,ue[1]=e.y,ue[2]=r.z,C(e.spatialReference,ue,s,this._context.renderCoordsHelper.spatialReference),s}_computeLocalTransform(e,t,s,r){return c(r),this._applyObjectRotation(s,!1,r),this._applyObjectRotation(t,!0,r),this._applyObjectScale(e,s,r),this._applyAnchor(e,t,r),r}_applyObjectScale(e,t,s){if(this._fastUpdates.enabled&&this._fastUpdates.requiresShaderTransformation)return;const r=this._drivenProperties.size&&t.size?t.size:e.symbolSize,a=H(r,e.symbolSize,e.resourceSize,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||l(s,s,a)}prepareSymbolLayerPatch(e){if("partial"!==e.diff.type)return;const t=e.diff.diff;this._preparePatchTransform(e,t),this._preparePatchColor(e,t)}updateGeometry(e,t){if(a(this._resources))return!0;const s=t&&K(t);if(a(s))return!1;const r=this.getGeometryElevationMode(t);return e.elevationContext.mode===r&&(this._computeGlobalTransform(s,e.elevationContext,fe,be),this._requiresTerrainElevation(e.elevationContext)&&(e.alignedSampledElevation=be.sampledElevation),this._resources.lodRenderer.instanceData.setGlobalTransform(e.instanceIndex,fe,!0),Q(e,s,this._context.elevationProvider),!0)}_preparePatchTransform(e,t){if(!(t.heading||t.tilt||t.roll||t.width||t.height||t.depth||t.anchor||t.anchorPosition))return;if(a(this._resources))return;const s=(e,t,s)=>i(null!=e&&"complete"===e.type?e.newValue:t,s),r=s(t.heading,this.symbolLayer.heading,0),o=s(t.tilt,this.symbolLayer.tilt,0),n=s(t.roll,this.symbolLayer.roll,0),c=s(t.width,this.symbolLayer.width,void 0),l=s(t.height,this.symbolLayer.height,void 0),h=s(t.depth,this.symbolLayer.depth,void 0),d=s(t.anchor,this.symbolLayer.anchor,void 0),p=s(t.anchorPosition,this.symbolLayer.anchorPosition,void 0);delete t.heading,delete t.tilt,delete t.roll,delete t.width,delete t.height,delete t.depth,delete t.anchor,delete t.anchorPosition;const m={heading:r,tilt:o,roll:n,anchor:d,anchorPosition:p},u=this._resources;this.loadStatus===N.LOADED&&e.symbolLayerStatePatches.push((()=>{u.symbolSize=b(A(u.resourceSize,{width:c,height:l,depth:h,isPrimitive:this.symbolLayer.isPrimitive}))})),e.graphics3DGraphicPatches.push(((e,t)=>{const s=this._computeLocalTransform(u,m,t,ye),r=e.instanceIndex;u.lodRenderer.instanceData.setLocalTransform(r,s,!0)}))}_preparePatchColor(s,r){if(!r.material||"partial"!==r.material.type)return;const i=r.material.diff;if(!i.color||"complete"!==i.color.type||null==i.color.newValue||null==i.color.oldValue)return;const o=i.color.newValue,n=t(o)?e.toUnitRGBA(o):x;delete i.color;const c=this._resources;a(c)||s.graphics3DGraphicPatches.push((e=>{let t;this._hasPerInstanceColor()?(c.lodRenderer.instanceData.setColor(e.instanceIndex,n),t=this._setMaterialTransparencyParams({},o)):t=this._setMaterialTransparencyParams({externalColor:n},o);for(const s of c.stageResources.materials)s.setParameters(t)}))}_requiresTerrainElevation(e){return"absolute-height"!==e.mode}_applyObjectRotation(e,t,s){if(!(this._fastUpdates.enabled&&this._fastUpdates.requiresShaderTransformation&&t))return W(e.heading,e.tilt,e.roll,s)}_computeAnchor(e,s,r){const a=v();switch(r.anchor){case"center":u(a,E(e)),m(a,a);break;case"top":{const t=E(e);_(a,-t[0],-t[1],-e[5]);break}case"bottom":{const t=E(e);_(a,-t[0],-t[1],-e[2]);break}case"relative":{const t=E(e),s=w(e),i=r.anchorPosition,o=i?R(i.x,i.y,i.z):P;y(a,s,o),f(a,a,t),m(a,a);break}default:t(s)?m(a,s):u(a,P)}return a}_applyAnchor(e,t,s){if(this._fastUpdates.enabled&&this._fastUpdates.requiresShaderTransformation)return;const r=this._computeAnchor(e.resourceBoundingBox,e.pivotOffset,t);r&&h(s,s,r)}_hasPerInstanceColor(){return this._drivenProperties.color||this._drivenProperties.opacity}_fastVisualVariableConvertOptions(e,s,r,a){const i=t(e)?b(w(e)):g,o=t(e)?this._computeAnchor(e,a,this.symbolLayer):P,n=this._context.renderCoordsHelper.unitInMeters,c=H(t(s)?s:void 0,s,r,n),l=R(this.symbolLayer.tilt||0,this.symbolLayer.roll||0,this.symbolLayer.heading||0);return{modelSize:i,symbolSize:t(s)?s:g,unitInMeters:n,transformation:{anchor:o,scale:c,rotation:l}}}}const ue=v(),ye=d(),fe=d(),_e=L(),be=new D;export{me as Graphics3DObjectSymbolLayer};
|
|
@@ -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 e from"../../../../core/Error.js";import{acosClamped as t,reciprocalClamped as r}from"../../../../core/mathUtils.js";import{isSome as i,get as s}from"../../../../core/maybe.js";import{s as a}from"../../../../chunks/mat2.js";import{s as o,b as n}from"../../../../chunks/vec2.js";import{f as l,b as h}from"../../../../chunks/vec2f64.js";import{s as c,a as p,e as m,f as d,g as f,n as u,x as g,b as y}from"../../../../chunks/vec3.js";import{b as _}from"../../../../chunks/vec3f32.js";import{d as b,c as v}from"../../../../chunks/vec3f64.js";import{projectBuffer as x}from"../../../../geometry/projection.js";import{create as w,empty as S,expandWithBuffer as R,intersectsClippingArea as D}from"../../../../geometry/support/aaBoundingBox.js";import{makeDehydratedPoint as P}from"../../../../layers/graphics/dehydratedFeatures.js";import{needsElevationUpdates3D as j,evaluateElevationAlignmentAtPoint as C,SampleElevationInfo as A,evaluateElevationInfoAtPoint as V}from"./elevationAlignmentUtils.js";import{ElevationContext as L}from"./ElevationContext.js";import{Graphics3DObject3DGraphicLayer as z}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as U,getAttributeValue as E}from"./Graphics3DSymbolLayer.js";import{isValidSize as k}from"./graphicUtils.js";import{ApplyRendererDiffResult as F}from"./interfaces.js";import{initFastSymbolUpdatesState as G,updateFastSymbolUpdatesState as I}from"../support/FastSymbolUpdates.js";import{CullFaceOptions as M}from"../../webgl-engine/lib/basicInterfaces.js";import{Object3D as B}from"../../webgl-engine/lib/Object3D.js";import{PathGeometry as O,isPathGeometry as q}from"../../webgl-engine/lib/PathGeometry.js";import{Profile as H,SimpleExtruder as T,MiterExtruder as N,RoundCapBuilder as W,TriangulationCapBuilder as Z,NoCapBuilder as J,PathVertex as K,Path as Q,Builder as X,FastUpdatePathGeometry as Y,StaticPathGeometry as $,computeMinimumRotationTangentFrame as ee,vertexSpaceToProfileSpace as te}from"../../webgl-engine/lib/pathGeometryUtils.js";import{DefaultMaterial as re}from"../../webgl-engine/materials/DefaultMaterial.js";import{PathMaterial as ie}from"../../webgl-engine/materials/PathMaterial.js";const se=["polyline"];class ae extends U{constructor(e,t,r,i){super(e,t,r,i),this._intrinsicSize=l(1,1),this._upVectorAlignment="path",this._stencilWidth=.1,this.ensureDrapedStatus(!1)}async doLoad(){const t=i(this.symbolLayer.width)?this.symbolLayer.width:this.symbolLayer.height,r=i(this.symbolLayer.height)?this.symbolLayer.height:t;this._vvConvertOptions={modelSize:[1,1,1],symbolSize:[t,1,r],unitInMeters:this._context.renderCoordsHelper.unitInMeters,transformation:{anchor:[0,0,0],scale:[1,1,1],rotation:[0,0,0]},supportedTypes:{size:!0,color:!0,opacity:!0,rotation:!1}},this._context.renderer&&this._context.renderer.visualVariables&&this._context.renderer.visualVariables.length>0?this._fastUpdates=G(this._context.renderer,this._vvConvertOptions):this._fastUpdates={enabled:!1};const a=this.symbolLayer.anchor||"center";this._upVectorAlignment="path","heading"===this.symbolLayer.profileRotation&&(this._upVectorAlignment="world");const l=this.symbolLayer.profile||"circle";switch(l){case"circle":default:this._profile=H.circle(_e);break;case"quad":this._profile=H.rect()}let c=[0,0];"center"!==a&&(c={left:[.5,0],right:[-.5,0],top:[0,-.5],bottom:[0,.5]}[a],this._profile.translate(c[0],c[1]));switch(this.symbolLayer.join||"simple"){case"round":this._extruder=new N(0,ge);break;case"bevel":this._extruder=new N(0,1);break;case"miter":this._extruder=new N(.8*Math.PI,1);break;default:this._extruder=new T}const p=this.symbolLayer.cap||"butt";switch(p){case"none":this._startCap=new J,this._endCap=new J;break;case"butt":default:this._startCap=new Z(this._profile,0),this._endCap=new Z(this._profile,0,!0);break;case"square":this._startCap=new Z(this._profile,-.5),this._endCap=new Z(this._profile,.5,!0);break;case"round":{const e="quad"===l;this._startCap=new W({profile:this._profile,flip:!1,breakNormals:e,subdivisions:ye}),this._endCap=new W({profile:this._profile,flip:!0,breakNormals:e,subdivisions:ye});break}}const m=s(this.symbolLayer,"material","color"),d=this._getCombinedOpacityAndColor(m),f=b(d),u=d[3],g=u<1||this.needsDrivenTransparentPass,y={diffuse:f,ambient:f,opacity:u,transparent:g,hasVertexColors:!1,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:this.symbolLayer.castShadows,cullFace:g||"none"===p?M.None:M.Back,offsetTransparentBackfaces:!0};if(!this._drivenProperties.size&&(o(this._intrinsicSize,t,r),!k(this._intrinsicSize[0])||!k(this._intrinsicSize[1])))throw new e("graphics3dpathsymbollayer:invalid-size","Symbol sizes may not be negative values");if(this._fastUpdates.enabled&&this._fastUpdates.visualVariables.size||n(this._intrinsicSize,this._intrinsicSize,1/this._context.renderCoordsHelper.unitInMeters),this._fastUpdates.enabled){const e={...y,...this._fastUpdates.materialParameters,size:h(this._intrinsicSize)};this._material=new ie(e)}else y.hasVertexColors=this._drivenProperties.color||this._drivenProperties.opacity,this._material=new re(y);this._material.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}),this._context.stage.add(this._material)}destroy(){super.destroy(),this._context.stage.remove(this._material),this._material=null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,se,this.symbolLayer.type))return null;const r=this.setGraphicElevationContext(t,new L),i=e.renderingInfo;return this._createAs3DShape(t,i,r,t.uid)}layerOpacityChanged(){const e=s(this.symbolLayer,"material","color"),t=this._getCombinedOpacity(e),r=t<1||this.needsDrivenTransparentPass;return this._material.setParameters({opacity:t,transparent:r}),!0}layerElevationInfoChanged(e,t){return this.updateGraphics3DGraphicElevationInfo(e,t,j)}slicePlaneEnabledChanged(){return this._material.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),!0}physicalBasedRenderingChanged(){return this._material.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}),!0}pixelRatioChanged(){return!0}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return F.Recreate_Symbol;if(!I(this._fastUpdates,t,this._vvConvertOptions))return F.Recreate_Symbol;this._material.setParameters(this._fastUpdates.materialParameters)}return F.Fast_Update}getVertexData(e){let t=0;const r=e.paths,s=[],a=e.spatialReference,o=this._context.elevationProvider.spatialReference,n=this._context.renderCoordsHelper.spatialReference;for(const i of r)t+=i.length;const l=new Float64Array(3*t),h=new Float64Array(3*t),c=new Float64Array(3*t);let p=0;for(const i of r){s.push({index:p,numVertices:i.length});for(const t of i)l[p++]=t[0],l[p++]=t[1],l[p++]=e.hasZ?t[2]:0}let m=!0;return i(o)&&!a.equals(o)?m=x(l,a,0,h,o,0,t):this._copyVertices(l,0,h,0,t),i(o)&&!o.equals(n)?x(h,o,0,c,n,0,t):this._copyVertices(h,0,c,0,t),{pathVertexDataInfos:s,vertexDataGS:l,vertexDataES:h,vertexDataRS:c,projectionSuccess:m,terrainElevation:0}}_copyVertices(e,t,r,i,s){t*=3,i*=3;for(let a=0;a<s;++a)r[i++]=e[t++],r[i++]=e[t++],r[i++]=e[t++]}_createAs3DShape(e,t,r,s){const a=e.geometry,o=new Array,n=new Array,l=new Array,h=a.spatialReference,p=w(),m=this._context.renderCoordsHelper;pe.spatialReference=h;const d=this.getVertexData(a);if(!d.projectionSuccess)return this.logger.warn("PathSymbol3DLayer geometry failed to be created (failed to project geometry to view spatial reference)"),null;if(d.pathVertexDataInfos.length>0){for(let a=0;a<d.pathVertexDataInfos.length;++a){const f=d.pathVertexDataInfos[a],u=f.index,g=f.numVertices;if(g<2)continue;if(i(this._context.clippingExtent)&&(S(p),R(p,d.vertexDataES,3*u,g),!D(p,this._context.clippingExtent)))continue;const y=[];for(let e=u;e<u+3*g;){const t=e++,i=e++,s=e++,a=new K;c(a.posGS,d.vertexDataGS[t],d.vertexDataGS[i],d.vertexDataGS[s]),c(a.posES,d.vertexDataES[t],d.vertexDataES[i],d.vertexDataES[s]);const o=C(a.posES,this._context.elevationProvider,r,m);c(me,d.vertexDataRS[t],d.vertexDataRS[i],d.vertexDataRS[s]),m.setAltitude(me,o),c(a.pos,me[0],me[1],me[2]),y.push(a)}const _=new Q(y);oe(_,this._upVectorAlignment,this._context.renderCoordsHelper);const b=new X(_,this._profile,this._extruder,this._startCap,this._endCap);let v=null;if(this._fastUpdates.enabled){const t=this._fastUpdates.visualVariables,r=t.size?E(t.size.field,e):0,i=t.color?E(t.color.field,e):0,s=t.opacity?E(t.opacity.field,e):0;v=new Y(b,r,i,s)}else{const e=[this._intrinsicSize[0],this._intrinsicSize[1]];this._drivenProperties.size&&(e[0]*=ne(t.size[0],"symbol-value"===t.size[2]?this.symbolLayer.height||0:t.size[2],this.symbolLayer.width||0),e[1]*=ne(t.size[2],"symbol-value"===t.size[0]?this.symbolLayer.width||0:t.size[0],this.symbolLayer.height||0));let r=null;this._drivenProperties.color&&(r=t.color),this._drivenProperties.opacity&&null!=t.opacity&&(r=r?[r[0],r[1],r[2],t.opacity]:[1,1,1,t.opacity]);const i=new $(b);i.bake(e),r&&i.bakeVertexColors(r),v=i}const{vertexAttributes:x,indices:w}=v.createGeometryData(),P=this._context.stage.renderView._getObjectAndLayerIdColor({graphicUid:s,layerUid:this._context.layer.uid}),j=new O(x,w,v,h,this._upVectorAlignment,this._stencilWidth,P);o.push(j),n.push(this._material),l.push(v.xform)}if(o.length>0){const e={layerUid:this._context.layer.uid,graphicUid:s},t=new B({geometries:o,materials:n,transformations:l,metadata:e}),i=new z(this,t,o,null,null,he,r);return i.alignedSampledElevation=d.terrainElevation,i.needsElevationUpdates=j(r.mode),i}}else 0!==a.paths.length&&a.paths.some((e=>e.length>0))||this.logger.warn("PathSymbol3DLayer geometry failed to be created (no paths were defined)");return null}}function oe(e,i,s){switch(i){case"world":for(const t of e.vertices)p(de,t.pos,e.offset),s.worldUpAtPosition(de,me),t.setFrameFromUpVector(me),t.computeRotationAxisAndAngleFromUpVector();break;case"path":p(de,e.vertices[0].pos,e.offset),s.worldUpAtPosition(de,me),ee(e,me);for(const i of e.vertices){const e=Math.sign(m(i.frame.right,i.vRight));d(i.rotationFrame.up,i.vRight,i.vLeft),f(i.rotationFrame.up,i.rotationFrame.up,e),u(i.rotationFrame.up,i.rotationFrame.up);const s=m(i.rotationFrame.up,i.frame.up),o=m(i.rotationFrame.up,i.frame.right);if(f(de,i.frame.up,-o),f(fe,i.frame.right,s),p(de,de,fe),u(i.rotationFrame.right,de),te(i.rotationRight,i.frame,i.rotationFrame.right),g(de,i.vLeft),i.rotationAngle=-e*(Math.PI-t(m(de,i.vRight))),Math.abs(i.rotationAngle)>0){const e=r(Math.cos(.5*i.rotationAngle));a(i.miterStretch,1+(e-1)*i.rotationRight[0]*i.rotationRight[0],(e-1)*i.rotationRight[0]*i.rotationRight[1],(e-1)*i.rotationRight[0]*i.rotationRight[1],1+(e-1)*i.rotationRight[1]*i.rotationRight[1])}const n=Math.PI-i.rotationAngle;i.maxStretchDistance=Math.abs(Math.min(i.vLeftLength,i.vRightLength)*r(Math.cos(.5*n)))}}}function ne(e,t,r){switch(e){case"symbol-value":return r;case"proportional":return t;default:return e}}function le(e,t,r,i){let s=0;for(const a of e.vertices)V(a.posES,r,t,i,ue),s+=ue.sampledElevation,p(me,a.pos,e.offset),i.setAltitude(me,ue.z),y(a.pos,me,e.offset);return e.updatePathVertexInformation(),s/e.vertices.length}function he(e,t,r,i){const s=e.stageObject,a=s.geometryRecords;let o=0;ce.spatialReference=i.spatialReference;for(const n of a){const e=n.geometry;if(!q(e))continue;const a=e.path,l=a.builder.path,h=e.geometrySR;pe.spatialReference=h,o+=le(l,t,r,i),"world"!==e.upVectorAlignment&&oe(l,e.upVectorAlignment,i),a.onPathChanged(),e.invalidateBoundingInfo(),s.geometryVertexAttrsUpdated(n)}return o/a.length}const ce=P(0,0,0,null),pe=P(0,0,0,null),me=v(),de=_(),fe=_(),ue=new A,ge=3,ye=3,_e=10;export{ae as Graphics3DPathSymbolLayer,_e as NUM_CIRCLE_PROFILE_SUBDIVISIONS,ye as NUM_ROUND_CAP_EXTRUSION_SUBDIVISIONS,ge as NUM_ROUND_JOIN_SUBDIVISIONS};
|
|
5
|
+
import e from"../../../../core/Error.js";import{acosClamped as t,reciprocalClamped as r}from"../../../../core/mathUtils.js";import{isSome as i,get as s}from"../../../../core/maybe.js";import{s as a}from"../../../../chunks/mat2.js";import{s as o,b as n}from"../../../../chunks/vec2.js";import{f as l,b as h}from"../../../../chunks/vec2f64.js";import{s as c,a as p,e as m,f as d,g as f,n as u,o as g,b as y}from"../../../../chunks/vec3.js";import{c as _}from"../../../../chunks/vec3f32.js";import{d as b,c as v}from"../../../../chunks/vec3f64.js";import{projectBuffer as x}from"../../../../geometry/projection.js";import{create as w,empty as S,expandWithBuffer as R,intersectsClippingArea as D}from"../../../../geometry/support/aaBoundingBox.js";import{makeDehydratedPoint as P}from"../../../../layers/graphics/dehydratedFeatures.js";import{needsElevationUpdates3D as j,evaluateElevationAlignmentAtPoint as C,SampleElevationInfo as A,evaluateElevationInfoAtPoint as V}from"./elevationAlignmentUtils.js";import{ElevationContext as L}from"./ElevationContext.js";import{Graphics3DObject3DGraphicLayer as z}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as U,getAttributeValue as E}from"./Graphics3DSymbolLayer.js";import{isValidSize as k}from"./graphicUtils.js";import{ApplyRendererDiffResult as F}from"./interfaces.js";import{initFastSymbolUpdatesState as G,updateFastSymbolUpdatesState as I}from"../support/FastSymbolUpdates.js";import{CullFaceOptions as M}from"../../webgl-engine/lib/basicInterfaces.js";import{Object3D as B}from"../../webgl-engine/lib/Object3D.js";import{PathGeometry as O,isPathGeometry as q}from"../../webgl-engine/lib/PathGeometry.js";import{Profile as H,SimpleExtruder as T,MiterExtruder as N,RoundCapBuilder as W,TriangulationCapBuilder as Z,NoCapBuilder as J,PathVertex as K,Path as Q,Builder as X,FastUpdatePathGeometry as Y,StaticPathGeometry as $,computeMinimumRotationTangentFrame as ee,vertexSpaceToProfileSpace as te}from"../../webgl-engine/lib/pathGeometryUtils.js";import{DefaultMaterial as re}from"../../webgl-engine/materials/DefaultMaterial.js";import{PathMaterial as ie}from"../../webgl-engine/materials/PathMaterial.js";const se=["polyline"];class ae extends U{constructor(e,t,r,i){super(e,t,r,i),this._intrinsicSize=l(1,1),this._upVectorAlignment="path",this._stencilWidth=.1,this.ensureDrapedStatus(!1)}async doLoad(){const t=i(this.symbolLayer.width)?this.symbolLayer.width:this.symbolLayer.height,r=i(this.symbolLayer.height)?this.symbolLayer.height:t;this._vvConvertOptions={modelSize:[1,1,1],symbolSize:[t,1,r],unitInMeters:this._context.renderCoordsHelper.unitInMeters,transformation:{anchor:[0,0,0],scale:[1,1,1],rotation:[0,0,0]},supportedTypes:{size:!0,color:!0,opacity:!0,rotation:!1}},this._context.renderer&&this._context.renderer.visualVariables&&this._context.renderer.visualVariables.length>0?this._fastUpdates=G(this._context.renderer,this._vvConvertOptions):this._fastUpdates={enabled:!1};const a=this.symbolLayer.anchor||"center";this._upVectorAlignment="path","heading"===this.symbolLayer.profileRotation&&(this._upVectorAlignment="world");const l=this.symbolLayer.profile||"circle";switch(l){case"circle":default:this._profile=H.circle(_e);break;case"quad":this._profile=H.rect()}let c=[0,0];"center"!==a&&(c={left:[.5,0],right:[-.5,0],top:[0,-.5],bottom:[0,.5]}[a],this._profile.translate(c[0],c[1]));switch(this.symbolLayer.join||"simple"){case"round":this._extruder=new N(0,ge);break;case"bevel":this._extruder=new N(0,1);break;case"miter":this._extruder=new N(.8*Math.PI,1);break;default:this._extruder=new T}const p=this.symbolLayer.cap||"butt";switch(p){case"none":this._startCap=new J,this._endCap=new J;break;case"butt":default:this._startCap=new Z(this._profile,0),this._endCap=new Z(this._profile,0,!0);break;case"square":this._startCap=new Z(this._profile,-.5),this._endCap=new Z(this._profile,.5,!0);break;case"round":{const e="quad"===l;this._startCap=new W({profile:this._profile,flip:!1,breakNormals:e,subdivisions:ye}),this._endCap=new W({profile:this._profile,flip:!0,breakNormals:e,subdivisions:ye});break}}const m=s(this.symbolLayer,"material","color"),d=this._getCombinedOpacityAndColor(m),f=b(d),u=d[3],g=u<1||this.needsDrivenTransparentPass,y={diffuse:f,ambient:f,opacity:u,transparent:g,hasVertexColors:!1,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:this.symbolLayer.castShadows,cullFace:g||"none"===p?M.None:M.Back,offsetTransparentBackfaces:!0};if(!this._drivenProperties.size&&(o(this._intrinsicSize,t,r),!k(this._intrinsicSize[0])||!k(this._intrinsicSize[1])))throw new e("graphics3dpathsymbollayer:invalid-size","Symbol sizes may not be negative values");if(this._fastUpdates.enabled&&this._fastUpdates.visualVariables.size||n(this._intrinsicSize,this._intrinsicSize,1/this._context.renderCoordsHelper.unitInMeters),this._fastUpdates.enabled){const e={...y,...this._fastUpdates.materialParameters,size:h(this._intrinsicSize)};this._material=new ie(e)}else y.hasVertexColors=this._drivenProperties.color||this._drivenProperties.opacity,this._material=new re(y);this._material.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}),this._context.stage.add(this._material)}destroy(){super.destroy(),this._context.stage.remove(this._material),this._material=null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,se,this.symbolLayer.type))return null;const r=this.setGraphicElevationContext(t,new L),i=e.renderingInfo;return this._createAs3DShape(t,i,r,t.uid)}layerOpacityChanged(){const e=s(this.symbolLayer,"material","color"),t=this._getCombinedOpacity(e),r=t<1||this.needsDrivenTransparentPass;return this._material.setParameters({opacity:t,transparent:r}),!0}layerElevationInfoChanged(e,t){return this.updateGraphics3DGraphicElevationInfo(e,t,j)}slicePlaneEnabledChanged(){return this._material.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),!0}physicalBasedRenderingChanged(){return this._material.setParameters({usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0}),!0}pixelRatioChanged(){return!0}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return F.Recreate_Symbol;if(!I(this._fastUpdates,t,this._vvConvertOptions))return F.Recreate_Symbol;this._material.setParameters(this._fastUpdates.materialParameters)}return F.Fast_Update}getVertexData(e){let t=0;const r=e.paths,s=[],a=e.spatialReference,o=this._context.elevationProvider.spatialReference,n=this._context.renderCoordsHelper.spatialReference;for(const i of r)t+=i.length;const l=new Float64Array(3*t),h=new Float64Array(3*t),c=new Float64Array(3*t);let p=0;for(const i of r){s.push({index:p,numVertices:i.length});for(const t of i)l[p++]=t[0],l[p++]=t[1],l[p++]=e.hasZ?t[2]:0}let m=!0;return i(o)&&!a.equals(o)?m=x(l,a,0,h,o,0,t):this._copyVertices(l,0,h,0,t),i(o)&&!o.equals(n)?x(h,o,0,c,n,0,t):this._copyVertices(h,0,c,0,t),{pathVertexDataInfos:s,vertexDataGS:l,vertexDataES:h,vertexDataRS:c,projectionSuccess:m,terrainElevation:0}}_copyVertices(e,t,r,i,s){t*=3,i*=3;for(let a=0;a<s;++a)r[i++]=e[t++],r[i++]=e[t++],r[i++]=e[t++]}_createAs3DShape(e,t,r,s){const a=e.geometry,o=new Array,n=new Array,l=new Array,h=a.spatialReference,p=w(),m=this._context.renderCoordsHelper;pe.spatialReference=h;const d=this.getVertexData(a);if(!d.projectionSuccess)return this.logger.warn("PathSymbol3DLayer geometry failed to be created (failed to project geometry to view spatial reference)"),null;if(d.pathVertexDataInfos.length>0){for(let a=0;a<d.pathVertexDataInfos.length;++a){const f=d.pathVertexDataInfos[a],u=f.index,g=f.numVertices;if(g<2)continue;if(i(this._context.clippingExtent)&&(S(p),R(p,d.vertexDataES,3*u,g),!D(p,this._context.clippingExtent)))continue;const y=[];for(let e=u;e<u+3*g;){const t=e++,i=e++,s=e++,a=new K;c(a.posGS,d.vertexDataGS[t],d.vertexDataGS[i],d.vertexDataGS[s]),c(a.posES,d.vertexDataES[t],d.vertexDataES[i],d.vertexDataES[s]);const o=C(a.posES,this._context.elevationProvider,r,m);c(me,d.vertexDataRS[t],d.vertexDataRS[i],d.vertexDataRS[s]),m.setAltitude(me,o),c(a.pos,me[0],me[1],me[2]),y.push(a)}const _=new Q(y);oe(_,this._upVectorAlignment,this._context.renderCoordsHelper);const b=new X(_,this._profile,this._extruder,this._startCap,this._endCap);let v=null;if(this._fastUpdates.enabled){const t=this._fastUpdates.visualVariables,r=t.size?E(t.size.field,e):0,i=t.color?E(t.color.field,e):0,s=t.opacity?E(t.opacity.field,e):0;v=new Y(b,r,i,s)}else{const e=[this._intrinsicSize[0],this._intrinsicSize[1]];this._drivenProperties.size&&(e[0]*=ne(t.size[0],"symbol-value"===t.size[2]?this.symbolLayer.height||0:t.size[2],this.symbolLayer.width||0),e[1]*=ne(t.size[2],"symbol-value"===t.size[0]?this.symbolLayer.width||0:t.size[0],this.symbolLayer.height||0));let r=null;this._drivenProperties.color&&(r=t.color),this._drivenProperties.opacity&&null!=t.opacity&&(r=r?[r[0],r[1],r[2],t.opacity]:[1,1,1,t.opacity]);const i=new $(b);i.bake(e),r&&i.bakeVertexColors(r),v=i}const{vertexAttributes:x,indices:w}=v.createGeometryData(),P=this._context.stage.renderView._getObjectAndLayerIdColor({graphicUid:s,layerUid:this._context.layer.uid}),j=new O(x,w,v,h,this._upVectorAlignment,this._stencilWidth,P);o.push(j),n.push(this._material),l.push(v.xform)}if(o.length>0){const e={layerUid:this._context.layer.uid,graphicUid:s},t=new B({geometries:o,materials:n,transformations:l,metadata:e}),i=new z(this,t,o,null,null,he,r);return i.alignedSampledElevation=d.terrainElevation,i.needsElevationUpdates=j(r.mode),i}}else 0!==a.paths.length&&a.paths.some((e=>e.length>0))||this.logger.warn("PathSymbol3DLayer geometry failed to be created (no paths were defined)");return null}}function oe(e,i,s){switch(i){case"world":for(const t of e.vertices)p(de,t.pos,e.offset),s.worldUpAtPosition(de,me),t.setFrameFromUpVector(me),t.computeRotationAxisAndAngleFromUpVector();break;case"path":p(de,e.vertices[0].pos,e.offset),s.worldUpAtPosition(de,me),ee(e,me);for(const i of e.vertices){const e=Math.sign(m(i.frame.right,i.vRight));d(i.rotationFrame.up,i.vRight,i.vLeft),f(i.rotationFrame.up,i.rotationFrame.up,e),u(i.rotationFrame.up,i.rotationFrame.up);const s=m(i.rotationFrame.up,i.frame.up),o=m(i.rotationFrame.up,i.frame.right);if(f(de,i.frame.up,-o),f(fe,i.frame.right,s),p(de,de,fe),u(i.rotationFrame.right,de),te(i.rotationRight,i.frame,i.rotationFrame.right),g(de,i.vLeft),i.rotationAngle=-e*(Math.PI-t(m(de,i.vRight))),Math.abs(i.rotationAngle)>0){const e=r(Math.cos(.5*i.rotationAngle));a(i.miterStretch,1+(e-1)*i.rotationRight[0]*i.rotationRight[0],(e-1)*i.rotationRight[0]*i.rotationRight[1],(e-1)*i.rotationRight[0]*i.rotationRight[1],1+(e-1)*i.rotationRight[1]*i.rotationRight[1])}const n=Math.PI-i.rotationAngle;i.maxStretchDistance=Math.abs(Math.min(i.vLeftLength,i.vRightLength)*r(Math.cos(.5*n)))}}}function ne(e,t,r){switch(e){case"symbol-value":return r;case"proportional":return t;default:return e}}function le(e,t,r,i){let s=0;for(const a of e.vertices)V(a.posES,r,t,i,ue),s+=ue.sampledElevation,p(me,a.pos,e.offset),i.setAltitude(me,ue.z),y(a.pos,me,e.offset);return e.updatePathVertexInformation(),s/e.vertices.length}function he(e,t,r,i){const s=e.stageObject,a=s.geometryRecords;let o=0;ce.spatialReference=i.spatialReference;for(const n of a){const e=n.geometry;if(!q(e))continue;const a=e.path,l=a.builder.path,h=e.geometrySR;pe.spatialReference=h,o+=le(l,t,r,i),"world"!==e.upVectorAlignment&&oe(l,e.upVectorAlignment,i),a.onPathChanged(),e.invalidateBoundingInfo(),s.geometryVertexAttrsUpdated(n)}return o/a.length}const ce=P(0,0,0,null),pe=P(0,0,0,null),me=v(),de=_(),fe=_(),ue=new A,ge=3,ye=3,_e=10;export{ae as Graphics3DPathSymbolLayer,_e as NUM_CIRCLE_PROFILE_SUBDIVISIONS,ye as NUM_ROUND_CAP_EXTRUSION_SUBDIVISIONS,ge as NUM_ROUND_JOIN_SUBDIVISIONS};
|
|
@@ -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}from"../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../core/promiseUtils.js";import{makeDehydratedPoint as t}from"../../../../layers/graphics/dehydratedFeatures.js";import{
|
|
5
|
+
import"../../../../geometry.js";import{isNone as e}from"../../../../core/maybe.js";import{throwIfAborted as o}from"../../../../core/promiseUtils.js";import{makeDehydratedPoint as t}from"../../../../layers/graphics/dehydratedFeatures.js";import{evaluateElevationInfoAtPoint as r,SampleElevationInfo as s}from"./elevationAlignmentUtils.js";import{ElevationContext as n}from"./ElevationContext.js";import{extractExpressionInfo as i,createContext as a}from"./featureExpressionInfoUtils.js";import f from"../../../../geometry/SpatialReference.js";async function p(t,s,n,f,p){const{elevationProvider:d,renderCoordsHelper:j,spatialReference:u}=t,{elevationInfo:y}=s,v=i(y,!0),x=await a(v,u,p);o(p),y&&m.setFromElevationInfo(y);const I=[],b=new Set,g=new Set;for(const{objectId:o,points:i}of f){const a="number"==typeof o?n(o):null;if(e(a)){for(const e of i)I.push(e[2]);b.add(o)}else{a.isDraped&&g.add(o),m.updateFeatureExpressionInfoContext(x,a.graphic,s),c.spatialReference=t.spatialReference;for(const{x:e,y:o,z:t}of i)c.x=e,c.y=o,c.z=t??0,r(c,d,m,j,l),I.push(l.z)}}return{elevations:I,drapedObjectIds:g,failedObjectIds:b}}const m=new n,c=t(0,0,0,f.WGS84),l=new s;export{p as elevationAlignPointsInFeatures};
|
|
@@ -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{adjustStaticAGOUrl as e}from"../../../../core/devEnvironmentUtils.js";import{get as t,isSome as r,isNone as s}from"../../../../core/maybe.js";import{
|
|
5
|
+
import{adjustStaticAGOUrl as e}from"../../../../core/devEnvironmentUtils.js";import{get as t,isSome as r,isNone as s}from"../../../../core/maybe.js";import{b as o}from"../../../../chunks/mat3.js";import{c as i}from"../../../../chunks/mat3f64.js";import{a as n}from"../../../../chunks/mat4.js";import{c as a}from"../../../../chunks/mat4f64.js";import{m as u,b as l,C as c,l as m,n as f,h as d}from"../../../../chunks/vec3.js";import{c as p}from"../../../../chunks/vec3f64.js";import{empty as g,expandWithVec3 as x}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as h,BufferViewVec4f as b,BufferViewVec2f as T,BufferViewVec4u8 as R,BufferViewVec4u16 as v,BufferViewVec3u8 as M,BufferViewVec3u16 as y}from"../../../../geometry/support/buffer/BufferView.js";import{t as j,a as B,s as w}from"../../../../chunks/vec32.js";import{t as L,s as C}from"../../../../chunks/vec42.js";import{createBuffer as I}from"../../../../geometry/support/buffer/utils.js";import{DefaultLoadingContext as A}from"../../glTF/DefaultLoadingContext.js";import{loadGLTF as E}from"../../glTF/loader.js";import{triangleFanToTriangles as O,triangleStripToTriangles as S,trianglesToTriangles as k}from"../../glTF/internal/indexUtils.js";import{getTransformMatrix as N}from"../../glTF/internal/TextureTransformUtils.js";import{ProcessedObjectResource as F}from"./ProcessedObjectResource.js";import{load as P,processLoadResult as V}from"./wosrLoader.js";import{AlphaDiscardMode as _,DepthTestFunction as G,CullFaceOptions as D}from"../../webgl-engine/lib/basicInterfaces.js";import{Geometry as z}from"../../webgl-engine/lib/Geometry.js";import{Texture as U}from"../../webgl-engine/lib/Texture.js";import{VertexAttribute as H}from"../../webgl-engine/lib/VertexAttribute.js";import{DefaultMaterial as q}from"../../webgl-engine/materials/DefaultMaterial.js";import{COLOR_GAMMA as W}from"../../webgl-engine/materials/DefaultMaterial_COLOR_GAMMA.js";import{PrimitiveType as $}from"../../../webgl/enums.js";import{n as K}from"../../../../chunks/vec22.js";import{c as Q,f as J}from"../../../../chunks/vec43.js";import{c as X}from"../../../../chunks/vec33.js";async function Y(s,o){const i=Z(e(s));if("wosr"===i.fileType){const e=await(o.cache?o.cache.loadWOSR(i.url,o):P(i.url,o)),{engineResources:t,referenceBoundingBox:r}=V(e,o);return{lods:t,referenceBoundingBox:r,isEsriSymbolResource:!1,isWosr:!0}}const n=await(o.cache?o.cache.loadGLTF(i.url,o,o.usePBR):E(new A(o.streamDataRequester),i.url,o,o.usePBR)),a=t(n.model.meta,"ESRI_proxyEllipsoid"),u=n.meta.isEsriSymbolResource&&r(a)&&n.meta.uri.includes("/RealisticTrees/");u&&!n.customMeta.esriTreeRendering&&(n.customMeta.esriTreeRendering=!0,ie(n,a));const l=n.meta.isEsriSymbolResource?{usePBR:o.usePBR,isSchematic:!1,treeRendering:u,mrrFactors:[0,1,.2]}:{usePBR:o.usePBR,isSchematic:!1,treeRendering:!1,mrrFactors:[0,1,.5]},c={...o.materialParamsMixin,treeRendering:u},{engineResources:m,referenceBoundingBox:f}=ee(n,l,c,o.skipHighLods&&null==i.specifiedLodIndex?{skipHighLods:!0}:{skipHighLods:!1,singleLodIndex:i.specifiedLodIndex});return{lods:m,referenceBoundingBox:f,isEsriSymbolResource:n.meta.isEsriSymbolResource,isWosr:!1}}function Z(e){const t=e.match(/(.*\.(gltf|glb))(\?lod=([0-9]+))?$/);if(t)return{fileType:"gltf",url:t[1],specifiedLodIndex:null!=t[4]?Number(t[4]):null};return e.match(/(.*\.(json|json\.gz))$/)?{fileType:"wosr",url:e,specifiedLodIndex:null}:{fileType:"unknown",url:e,specifiedLodIndex:null}}function ee(e,t,o,i){const n=e.model,a=new Array,u=new Map,l=new Map,c=n.lods.length,m=g();return n.lods.forEach(((e,f)=>{const d=!0===i.skipHighLods&&(c>1&&0===f||c>3&&1===f)||!1===i.skipHighLods&&null!=i.singleLodIndex&&f!==i.singleLodIndex;if(d&&0!==f)return;const p=new Array;let g=0;if(e.parts.forEach((e=>{const{geometry:t,vertexCount:s}=te(e);p.push(t),g+=s;const o=t.boundingInfo;r(o)&&0===f&&(x(m,o.getBBMin()),x(m,o.getBBMax()))})),d)return;const h=new F(e.name,{textures:new Array,materials:new Array,geometries:p},e.lodThreshold,[0,0,0],g);a.push(h),e.parts.forEach((e=>{const i=e.material+(e.attributes.normal?"_normal":"")+(e.attributes.color?"_color":"")+(e.attributes.texCoord0?"_texCoord0":"")+(e.attributes.tangent?"_tangent":""),a=n.materials.get(e.material),c=r(e.attributes.texCoord0),m=r(e.attributes.normal);if(s(a))return;const f=se(a.alphaMode);if(!u.has(i)){if(c){const e=(e,t=!1)=>{if(r(e)&&!l.has(e)){const s=n.textures.get(e);r(s)&&l.set(e,new U(s.data,t?{...s.parameters,preMultiplyAlpha:t}:s.parameters))}};e(a.textureColor,f!==_.Opaque),e(a.textureNormal),e(a.textureOcclusion),e(a.textureEmissive),e(a.textureMetallicRoughness)}const s=a.color[0]**(1/W),d=a.color[1]**(1/W),p=a.color[2]**(1/W),g=a.emissiveFactor[0]**(1/W),x=a.emissiveFactor[1]**(1/W),h=a.emissiveFactor[2]**(1/W),b=r(a.textureColor)&&c?l.get(a.textureColor):null;u.set(i,new q({...t,transparent:f===_.Blend,customDepthTest:G.Lequal,textureAlphaMode:f,textureAlphaCutoff:a.alphaCutoff,diffuse:[s,d,p],ambient:[s,d,p],opacity:a.opacity,doubleSided:a.doubleSided,doubleSidedType:"winding-order",cullFace:a.doubleSided?D.None:D.Back,hasVertexColors:!!e.attributes.color,hasVertexTangents:!!e.attributes.tangent,normals:m?"default":"screenDerivative",castShadows:!0,receiveSSAO:!0,textureId:r(b)?b.id:void 0,colorMixMode:a.colorMixMode,normalTextureId:r(a.textureNormal)&&c?l.get(a.textureNormal).id:void 0,textureAlphaPremultiplied:r(b)&&!!b.params.preMultiplyAlpha,occlusionTextureId:r(a.textureOcclusion)&&c?l.get(a.textureOcclusion).id:void 0,emissiveTextureId:r(a.textureEmissive)&&c?l.get(a.textureEmissive).id:void 0,metallicRoughnessTextureId:r(a.textureMetallicRoughness)&&c?l.get(a.textureMetallicRoughness).id:void 0,emissiveFactor:[g,x,h],mrrFactors:[a.metallicFactor,a.roughnessFactor,t.mrrFactors[2]],isSchematic:!1,colorTextureTransformMatrix:N(a.colorTextureTransform),normalTextureTransformMatrix:N(a.normalTextureTransform),occlusionTextureTransformMatrix:N(a.occlusionTextureTransform),emissiveTextureTransformMatrix:N(a.emissiveTextureTransform),metallicRoughnessTextureTransformMatrix:N(a.metallicRoughnessTextureTransform),...o}))}if(h.stageResources.materials.push(u.get(i)),c){const e=e=>{r(e)&&h.stageResources.textures.push(l.get(e))};e(a.textureColor),e(a.textureNormal),e(a.textureOcclusion),e(a.textureEmissive),e(a.textureMetallicRoughness)}}))})),{engineResources:a,referenceBoundingBox:m}}function te(e){const t=oe(e.indices||e.attributes.position.count,e.primitiveType),s=e.attributes.position.count,i=I(h,s);j(i,e.attributes.position,e.transform);const n=[[H.POSITION,{data:i.typedBuffer,size:i.elementCount,exclusive:!0}]],a=[[H.POSITION,t]];if(r(e.attributes.normal)){const r=I(h,s);o(re,e.transform),B(r,e.attributes.normal,re),n.push([H.NORMAL,{data:r.typedBuffer,size:r.elementCount,exclusive:!0}]),a.push([H.NORMAL,t])}if(r(e.attributes.tangent)){const r=I(b,s);o(re,e.transform),L(r,e.attributes.tangent,re),n.push([H.TANGENT,{data:r.typedBuffer,size:r.elementCount,exclusive:!0}]),a.push([H.TANGENT,t])}if(r(e.attributes.texCoord0)){const r=I(T,s);K(r,e.attributes.texCoord0),n.push([H.UV0,{data:r.typedBuffer,size:r.elementCount,exclusive:!0}]),a.push([H.UV0,t])}if(r(e.attributes.color)){const r=I(R,s);if(4===e.attributes.color.elementCount)e.attributes.color instanceof b?C(r,e.attributes.color,255):e.attributes.color instanceof R?Q(r,e.attributes.color):e.attributes.color instanceof v&&C(r,e.attributes.color,1/256);else{J(r,255,255,255,255);const t=new M(r.buffer,0,4);e.attributes.color instanceof h?w(t,e.attributes.color,255):e.attributes.color instanceof M?X(t,e.attributes.color):e.attributes.color instanceof y&&w(t,e.attributes.color,1/256)}n.push([H.COLOR,{data:r.typedBuffer,size:r.elementCount,exclusive:!0}]),a.push([H.COLOR,t])}return{geometry:new z(n,a),vertexCount:s}}const re=i();function se(e){switch(e){case"BLEND":return _.Blend;case"MASK":return _.Mask;case"OPAQUE":case null:case void 0:return _.Opaque}}function oe(e,t){switch(t){case $.TRIANGLES:return k(e);case $.TRIANGLE_STRIP:return S(e);case $.TRIANGLE_FAN:return O(e)}}function ie(e,t){for(let r=0;r<e.model.lods.length;++r){const o=e.model.lods[r];for(const i of o.parts){const o=i.attributes.normal;if(s(o))return;const g=i.attributes.position,x=g.count,b=p(),T=p(),v=p(),M=I(R,x),y=I(h,x),j=n(a(),i.transform);for(let s=0;s<x;s++){g.getVec(s,T),o.getVec(s,b),u(T,T,i.transform),l(v,T,t.center),c(v,v,t.radius);const n=v[2],a=m(v),p=Math.min(.45+.55*a*a,1);c(v,v,t.radius),null!==j&&u(v,v,j),f(v,v),r+1!==e.model.lods.length&&e.model.lods.length>1&&d(v,v,b,n>-1?.2:Math.min(-4*n-3.8,1)),y.setVec(s,v),M.set(s,0,255*p),M.set(s,1,255*p),M.set(s,2,255*p),M.set(s,3,255)}i.attributes.normal=y,i.attributes.color=M}}}export{Y as fetch,ee as gltfToEngineResources,Z as parseUrl};
|
|
@@ -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"../../../../core/Accessor.js";import r from"../../../../core/Evented.js";import s from"../../../../core/Logger.js";import{isNone as i,isSome as o}from"../../../../core/maybe.js";import{property as n}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../../../core/accessorSupport/decorators/subclass.js";import{D as a}from"../../../../chunks/mat4.js";import{c as l}from"../../../../chunks/mat4f64.js";import{
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import r from"../../../../core/Evented.js";import s from"../../../../core/Logger.js";import{isNone as i,isSome as o}from"../../../../core/maybe.js";import{property as n}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../../../core/accessorSupport/decorators/subclass.js";import{D as a}from"../../../../chunks/mat4.js";import{c as l}from"../../../../chunks/mat4f64.js";import{m as p,c as h}from"../../../../chunks/vec3.js";import{c as d}from"../../../../chunks/vec3f64.js";import{empty as m,expand as f}from"../../../../geometry/support/aaBoundingRect.js";import{a as u,g as v}from"../../../../chunks/sphere.js";import{newIntersector as _}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as g}from"../../webgl-engine/lib/IntersectorInterfaces.js";const x=m(),y=l(),E=d(),j=d(),b=d();let R=class extends(r.EventedMixin(t)){constructor(e){super(e),this._tmpEvent={spatialReference:null,extent:x,context:"scene"}}get spatialReference(){return this.view?.elevationProvider?.spatialReference}initialize(){this.view=this.layerView.view,this._renderCoordsHelper=this.view.renderCoordsHelper,this._intersector=_(this.view.state.viewingMode),this._intersector.options.store=g.MIN;const e=this.layerView.i3slayer.fullExtent;i(e)?s.getLogger(this.declaredClass).error("I3SElevationProvider expected fullExtent on I3SLayer."):(this._zmin=e.zmin,this._zmax=e.zmax),this._tmpEvent.context=this.intersectionHandler.isGround?"ground":"scene"}getElevation(e,t,r,i){if(E[0]=e,E[1]=t,E[2]=r,!this._renderCoordsHelper.toRenderCoords(E,i,E))return s.getLogger(this.declaredClass).error("could not project point to compute elevation"),null;const o=this.layerView.elevationOffset,n=this._zmin+o,c=this._zmax+o;return this._renderCoordsHelper.setAltitude(j,c,E),this._renderCoordsHelper.setAltitude(b,n,E),this._intersector.reset(j,b,null),this.intersectionHandler.intersect(this._intersector,null,j,b),this._intersector.results.min.getIntersectionPoint(E)?this._renderCoordsHelper.getAltitude(E):null}layerChanged(){this.spatialReference&&(this._tmpEvent.extent=this._computeLayerExtent(),this._tmpEvent.spatialReference=this.spatialReference,this.emit("elevation-change",this._tmpEvent))}objectChanged(e){this.spatialReference&&(this._tmpEvent.extent=this._computeObjectExtent(e),this._tmpEvent.spatialReference=this.spatialReference,this.emit("elevation-change",this._tmpEvent))}_computeObjectExtent(e){return m(x),this._expandExtent(e,x),x}_computeLayerExtent(){m(x);for(const e of this.layerView.getVisibleNodes())this._expandExtent(e,x);return x}_expandExtent(e,t){const r=this.spatialReference;if(i(r))return;const s=e.visibilityObb||e.serviceObbInRenderSR;if(o(s)){a(y,s.quaternion),y[12]=s.center[0],y[13]=s.center[1],y[14]=s.center[2];for(let e=0;e<8;++e)E[0]=1&e?s.halfSize[0]:-s.halfSize[0],E[1]=2&e?s.halfSize[1]:-s.halfSize[1],E[2]=4&e?s.halfSize[2]:-s.halfSize[2],p(E,E,y),this._renderCoordsHelper.fromRenderCoords(E,E,r),f(t,E,t)}else{const s=u(e.renderMbs),i=h(j,v(e.renderMbs));i[0]-=s,i[1]-=s,i[2]-=s;const o=h(b,v(e.renderMbs));o[0]+=s,o[1]+=s,o[2]+=s;for(let e=0;e<8;++e)E[0]=1&e?i[0]:o[0],E[1]=2&e?i[1]:o[1],E[2]=4&e?i[2]:o[2],this._renderCoordsHelper.fromRenderCoords(E,E,r),f(t,E,t)}}};e([n({constructOnly:!0})],R.prototype,"layerView",void 0),e([n({constructOnly:!0})],R.prototype,"intersectionHandler",void 0),e([n()],R.prototype,"view",void 0),e([n()],R.prototype,"spatialReference",null),R=e([c("esri.views.3d.layers.i3s.I3SElevationProvider")],R);const w=R;export{w 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{isSome as e,isNone as t,unwrap as i}from"../../../../core/maybe.js";import s from"../../../../core/PooledArray.js";import{isAbortError as n}from"../../../../core/promiseUtils.js";import{l as r}from"../../../../chunks/vec3.js";import{a as o}from"../../../../chunks/vec4f64.js";import{LodMetric as a,NodeBase as d,Node as l,ElevationRange as h,NodeFilterImpact as u,NodeIMModificationImpact as c,NodeTraversalState as _}from"./I3SNode.js";import{invalidateMbs as g,invalidateObb as m,addWraparound as f}from"./I3SUtil.js";import{clone as v}from"../../support/orientedBoundingBox.js";class b{constructor(e,t,i,s,n){this.childOffset=e,this.childCount=t,this.visibilityCache=i,this.ref=s,this.node=n,this.useAsHole=0,this.filterImpact=u.NotChecked}}class p{constructor(e,t,i,n,r,o,d,l,h,u,c,_,g,m){this._streamDataController=i,this._viewportQueries=n,this._logger=r,this.holeFilling=o,this._isLoaded=d,this._isReloading=l,this._isSelected=h,this._enable=u,this._needsUpdate=c,this._canRequest=_,this._computeVisibilityObb=g,this._computeNodeFiltering=m,this._dirty=!0,this._nodePages=[],this._nodeCount=0,this._nodesPerPage=0,this._rootIndex=0,this._lodMetric=a.None,this._lodConversion=e=>e,this._urlPrefix="",this._loading=new Set,this._failedNodes=new Set,this._failedPages=new Set,this._indexMissing=1,this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.POSITIVE_INFINITY,this._nodeTraversalState=new Map,this._version=I(0),this._visibilityCacheVersion=I(0),this._maxLevel=1,this._featureEstimate={estimate:0,leavesReached:!1},this._unloadedMemoryEstimate=0,this._missing=new s({deallocator:null}),this._prefetch=new s({deallocator:null}),this._updates=new N(this._missing),this._imModificationUncategorized=new s({deallocator:null}),this.ignoreServiceObb=!1,this.progressiveLoadPenalty=0,this._pageQueue=[],this.needNodeElevationRange=!1,this.layerHasModifications=!1,this._layerHasFilter=!1,this._logLayer=e,e.serviceUpdateTimeStamp&&e.serviceUpdateTimeStamp.lastUpdate&&(this._lastUpdate=`${e.serviceUpdateTimeStamp.lastUpdate}`),this._maxLodLevel=this._viewportQueries?this._viewportQueries.maxLodLevel:1,this._init(t)}_init(e){if("page"===e.type){switch(this._urlPrefix=e.urlPrefix,this._nodesPerPage=e.pageSize,this._rootIndex=e.rootIndex,e.lodMetric){case"maxScreenThreshold":this._lodMetric=a.MaxScreenThreshold;break;case"maxScreenThresholdSQ":this._lodMetric=a.MaxScreenThreshold,this._lodConversion=V}this._addPage(S(this._rootIndex,this._nodesPerPage),e.rootPage),this._updateParentsAndLevel()}else if("node"===e.type){this._urlPrefix=e.urlPrefix,this._nodePages.push({nodes:[],children:[],parents:[]}),this._makeRefNode(new d(e.rootNode.id,null),-1);const t=this._validateNode(e.rootNode.id,e.rootNode);t&&this._addNode(t,0)}}_loadPage(e){this._loading.add(e);const t=this._urlPrefix+e;this._streamDataController.request(t,"json").then((t=>{this._pageQueue.push({pageIndex:e,page:t})})).catch((t=>{this._loading.delete(e),n(t)||(this._failedPages.add(e),this._logger.error("#loadPage()",this._logLayer,`Error when loading page ${e}`,t))}))}_addQueuedPages(e){for(;this._pageQueue.length>0&&!e.done;){const{pageIndex:t,page:i}=this._pageQueue.shift();this._addPage(t,i),this._loading.delete(t),e.madeProgress()}this._updateParentsAndLevel()}_addPage(e,t){for(let r=this._nodePages.length;r<e;r++)this._nodePages[r]=null;const i=[],s=[],n=t.nodes.map(((t,n)=>{const a=i.length,d=t.children?t.children.length:0;s.push(-1);for(let e=0;e<d;e++)i.push(t.children[e]);const h=`${t.index}`,u=v(t.obb),c=o([u.center[0],u.center[1],u.center[2],r(u.halfSize)]),_=t.mesh&&t.mesh.attribute,g=t.mesh&&t.mesh.geometry,m=t.mesh&&t.mesh.material,f={hasSharedResource:!1,hasFeatureData:!!g,attributes:_&&null!=_.resource?`${_.resource}`:null,geometry:g&&null!=g.resource?`${g.resource}`:null,texture:m&&null!=m.resource?`${m.resource}`:null,geometryDefinition:g?g.definition:-1,materialDefinition:m?m.definition:-1},p=new l(h,e*this._nodesPerPage+n,c,d,0,f,this._lastUpdate,this._lodMetric,this._lodConversion(t.lodThreshold),g?g.featureCount:null);return p.serviceObb=u,p.visibilityObb=this._computeVisibilityObb(p),p.vertexCount=g?g.vertexCount:0,new b(a,d,x(this._visibilityCacheVersion),null,p)}));this._nodePages[e]={nodes:n,children:i,parents:s},this._nodeCount+=n.length}_updateParentsAndLevel(){const t=new Array,i=(i,s,n)=>{const r=this._getPage(i);if(e(r)){const o=R(i,this._nodesPerPage);r.parents[o]=s;const a=r.nodes[o].node;e(a)&&(a.level=n,t.push(i))}};for(i(this._rootIndex,-1,0);t.length;){const s=t.pop(),n=this.getNode(s);if(e(n))for(let e=0;e<n.childCount;e++){i(this.getChildIndex(n.index,e),s,n.level+1),this._maxLevel=Math.max(this._maxLevel,n.level+1)}}}_getPage(e){return this._nodePages[S(e,this._nodesPerPage)]}_getNodeInternal(e){const i=this._getPage(e);return t(i)?null:i.nodes[R(e,this._nodesPerPage)]}_addNode(t,s){null!=t.children&&this.populateChildren(s,t.children);const n=this.getParent(s),r=e(n)?n.level+1:0;this._maxLevel=Math.max(this._maxLevel,t.children?r+1:r);const{lodMetric:a,maxError:d}=E(t.lodSelection),h=i(this._getNodeInternal(s));return h.node=new l(t.id,s,o(t.mbs),h.childCount,r,t.resources,t.version,a,d,t.numFeatures),t.obb&&(h.node.serviceObb=v(t.obb)),h.node.visibilityObb=this._computeVisibilityObb(h.node),e(h.ref)&&(null==h.ref.mbs&&(h.ref.mbs=t.mbs),h.node.renderMbs=h.ref.renderMbs,h.node.serviceObbInRenderSR=h.ref.serviceObbInRenderSR,h.ref.visibilityObb=h.node.visibilityObb),h.node}_makeRefNode(e,t){const i=this._nodePages[0],s=i.nodes.length;return i.nodes.push(new b(0,0,x(this._visibilityCacheVersion),e,null)),this._nodeCount++,i.parents.push(t),g(e.renderMbs),m(e.serviceObbInRenderSR),s}populateChildren(e,t){const s=i(this._getNodeInternal(e)),n=i(this._getPage(e));s.childOffset=n.children.length,s.childCount=t.length;for(let i=0;i<t.length;i++){const s=this._makeRefNode(t[i],e);n.children.push(s)}}getNode(t){const i=this._getNodeInternal(t);return e(i)?i.node:null}getIndexById(t){let i;return this._forAllNodes(((s,n)=>{(e(s.node)&&s.node.id===t||e(s.ref)&&s.ref.id===t)&&(i=n)})),i}getNodeById(e){const t=this.getIndexById(e);return t>=0?this.getNode(t):null}getChildIndex(e,i){const s=this._getPage(e);if(t(s))return-1;const n=s.nodes[R(e,this._nodesPerPage)];return s.children[n.childOffset+i]}getParentIndex(t){const i=this._getPage(t);return e(i)?i.parents[R(t,this._nodesPerPage)]:-1}getParent(e){return(e=this.getParentIndex(e))>=0?this.getNode(e):null}isLeaf(t){const i=this._getNodeInternal(t);return e(i)&&0===i.childCount}get rootNode(){return this.getNode(this._rootIndex)}get size(){return this._nodeCount}removeAllGeometryObbs(){this._forAllNodes((t=>{e(t.node)&&(t.node.geometryObb=null)}))}invalidateVisibilityCache(){this._visibilityCacheVersion=I(this._visibilityCacheVersion)}invalidateNodeVisibilityCache(t){const i=this._getNodeInternal(t);e(i)&&this.invalidateNodeVisibilityCacheInternal(i)}invalidateNodeVisibilityCacheInternal(e){e.visibilityCache=x(this._visibilityCacheVersion)}invalidateBoundingVolumeCache(t){const i=this._getNodeInternal(t);e(i)&&(P(i),this.invalidateNodeVisibilityCacheInternal(i))}updateElevationChanged(i){const s=this._getNodeInternal(i);if(t(s))return;if(!this.needNodeElevationRange)return void this.invalidateBoundingVolumeCache(i);const n=e(s.node)?s.node:s.ref;if(t(n))return;const r=n.elevationRange;t(r)||(r.valid=!1)}invalidateGeometryVisibility(t){const i=this._getNodeInternal(t);e(i)&&e(i.node)&&(i.node.geometryObb=null,g(i.node.renderMbs),m(i.node.serviceObbInRenderSR))}invalidateVisibilityObbs(){t(this.rootNode)||this.traverse(this.rootNode,(e=>(e.visibilityObb=this._computeVisibilityObb(e),e.geometryObb=null,!0)))}_updateElevationRange(i){const s=this._getNodeInternal(i);if(t(s))return null;const n=e(s.node)?s.node:s.ref;if(t(n))return null;const r=n.elevationRange;if(e(r)&&r.valid)return r;const o=new h;let a=!1;for(let e=0;e<s.childCount;e++){const s=this._updateElevationRange(this.getChildIndex(i,e));t(s)?a=!0:(o.min=Math.min(o.min,s.min),o.max=Math.max(o.max,s.max))}if(0===s.childCount||a&&e(s.node)&&s.node.resources.geometry){const t=this._viewportQueries.getElevationRange(n);e(t)&&(o.min=Math.min(o.min,t.min),o.max=Math.max(o.max,t.max))}return e(r)&&r.min===o.min&&r.max===o.max?(r.valid=!0,r):(o.valid=!0,n.elevationRange=o,this.invalidateBoundingVolumeCache(i),o)}isNodeVisible(i){const s=this._getNodeInternal(i);if(t(s)||e(s.ref)&&!s.ref.mbs)return!0;if(this.needNodeElevationRange&&this._updateElevationRange(i),!w(s.visibilityCache,this._visibilityCacheVersion)){const i=s.node,n=e(i)&&(t(s.ref)||e(i.visibilityObb))?i:e(s.ref)?s.ref:null;if(this._layerHasFilter&&this._computeNodeFiltering&&(e(i)||e(s.ref))&&s.filterImpact===u.NotChecked){const t=e(i)?i.mbs:e(s.ref)?s.ref.mbs:null;s.filterImpact=null!=t?this._computeNodeFiltering(t):u.Unmodified}const r=e(i)&&s.filterImpact===u.Culled,o=!(e(i)&&i.imModificationImpact===c.Culled)&&(!n||this._viewportQueries.isNodeVisible(n))&&!r;return s.visibilityCache=C(o,this._visibilityCacheVersion),o}return M(s.visibilityCache)}isGeometryVisible(t){if(!this.isNodeVisible(t))return!1;const i=this._getNodeInternal(t);return!(e(i)&&e(i.node)&&e(i.node.geometryObb)&&(!this.layerHasModifications||i.node.imModificationImpact!==c.NotChecked))||this._viewportQueries.isGeometryVisible(i.node)}_traverseCoverage(s,n,r,o,a){const d=this._getPage(s);if(t(d)||0===n.childCount)return;const l=n.childOffset+n.childCount,h=new Array;for(let t=n.childOffset;t<l;++t){const i=d.children[t],s=this._getNodeInternal(i);e(s)&&e(s.node)&&this.isGeometryVisible(i)&&h.push(s)}o/=h.length;for(const e of h){const t=i(e.node).index;this._isLoaded(t)||this._isReloading(t)?(a.delta=Math.max(a.delta,r),a.coverage+=o):this._traverseCoverage(t,e,r+1,o,a)}}useNodeAsHole(e){if("off"===this.holeFilling)return!1;const i=this._getNodeInternal(e);if(t(i))return!1;if("always"===this.holeFilling)return!0;if(w(i.useAsHole,this._version))return M(i.useAsHole);const s={delta:0,coverage:0};this._traverseCoverage(e,i,0,1,s);const n=s.delta*s.coverage<=.5;return i.useAsHole=C(n,this._version),n}get maxLevel(){return this._maxLevel}get dirty(){return this._dirty}destroy(){this._updates.add.prune(),this._updates.update.prune()}requestUpdate(){this._dirty=!0,this._indexMissing=1,this._version=I(this._version)}imModificationsChanged(t){this.layerHasModifications=t,this._forAllNodes((({node:t})=>{e(t)&&(t.imModificationImpact=c.NotChecked,t.visibilityObb=this._computeVisibilityObb(t),t.hasModifications&&this.invalidateGeometryVisibility(t.index))})),this.invalidateVisibilityCache()}layerFilterChanged(t){this._layerHasFilter=t,this._forAllNodes((t=>{if(e(t)){t.filterImpact=u.NotChecked;const i=t.node;e(i)&&this.invalidateNodeVisibilityCache(i.index)}})),this.invalidateVisibilityCache()}update(s,n,r){if(!this._dirty)return;this._pageQueue.length>0&&this._addQueuedPages(n),this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.NEGATIVE_INFINITY,this._missing.clear(),this._prefetch.clear(),this._updates.reset(s),y.clear();let o=!0;const a=new O,d=new O,l=this._imModificationUncategorized;l.clear();const h=new Set,u=(u,_,g)=>{if(t(_)){let e=this._entryPriority(u);e===1/0&&(e=this._entryPriority(g));const t=S(u,this._nodesPerPage);return y.set(t,Math.max(e,y.get(t)||0)),this._loading.has(t)||this._failedPages.has(t)||this._missing.push(t),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const m=_.node;if(this._updateNodeFeatureEstimate(m,d),t(m)){const e=this._entryPriority(u);return this._loading.has(u)||this._failedNodes.has(u)||(this._missing.push(u),y.set(u,e)),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const f=i(this._getPage(u));if(0===this._missing.length&&0===this._nodesPerPage)for(let t=0;t<_.childCount;t++){const i=f.children[_.childOffset+t],s=this._getNodeInternal(i);!e(s)||s.node||this._loading.has(i)||this._failedNodes.has(i)||(y.set(i,this._entryPriority(i)),this._prefetch.push(i))}if(m.failed||!m.resources.hasFeatureData)return void(o&&_.childCount>0&&this._isSelected(m)&&(o=!1));if(h.add(m.id),this._isLoaded(u)){if(a.known+=m.memory,++a.knownNodes,this._isSelected(m)?_.childCount>0&&(o=!1):(a.unremoved+=m.memory,o=!1),this._needsUpdate(m)){const e=this._entryPriority(u);y.set(u,e),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e),this._updates.update.push(u)}return}if(m.memory&&(a.known+=m.memory,++a.knownNodes),!this._isSelected(m))return void(this._isReloading(u)&&this._updates.remove.push(u));if(_.childCount>0&&(o=!1),m.memory?(a.missing+=m.memory,a.known+=m.memory,++a.knownNodes):++a.missingNodes,s.includes(m.index))return this._maxProcessingPrio=Math.max(this._maxProcessingPrio,this._entryPriority(u)),void(this._updates.cancel=this._updates.cancel.filter((e=>e!==m.index)));if(!n.done&&this._enable(m))return void n.madeProgress();const v=this._entryPriority(u);y.set(u,v),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,v),this._updates.add.push(u),this.layerHasModifications&&r&&e(m)&&m.imModificationImpact===c.NotChecked&&l.push(u)};this.traverseVisible(u);const _=this._updates.add;_.length>0&&this.layerHasModifications&&(l.length>0&&r(l),_.filterInPlace((e=>{const i=this._getNodeInternal(e),s=t(i)||t(i.node)||i.node.imModificationImpact!==c.Culled;return s||this.invalidateNodeVisibilityCache(e),s}))),this._unloadedMemoryEstimate=a.missing-a.unremoved,a.knownNodes>3&&a.missingNodes>0&&(this._unloadedMemoryEstimate+=a.known/a.knownNodes*a.missingNodes),this._unloadedMemoryEstimate=.8*Math.max(0,this._unloadedMemoryEstimate),this._featureEstimate.estimate=this._computeFeatureEstimate(d),this._featureEstimate.leavesReached=o,this._missing.sort(((e,t)=>e-t)),this._missing.filterInPlace(((e,t)=>t<1||this._missing.data[t-1]!==e)),this._missing.sort(((e,t)=>y.get(e)-y.get(t))),this._missing.length>0&&(this._maxUnloadedPrio=y.get(this._missing.back()),this._prefetch.clear()),this._updates.add.filterInPlace((e=>y.get(e)>=this._maxUnloadedPrio)).sort(((e,t)=>y.get(e)-y.get(t))),this._updates.update.sort(((e,t)=>y.get(e)-y.get(t))),this._indexMissing=this._loading.size+this._missing.length,this._dirty=this._indexMissing>0,y.clear()}checkFeatureTarget(e,t){const i=this._viewportQueries.updateScreenSpaceErrorBias(t);let s=t,n=t,r=i,o=10;for(;o--;){const i=new O;this._updateFeatureEstimate(s,i);if(this._computeFeatureEstimate(i)<=e){if(s>=t||i.missingNodes>0||0===o)break;r=s,s=.5*(s+n)}else n=s,s=.5*(s+r)}return this._version=I(this._version),this._viewportQueries.updateScreenSpaceErrorBias(i),Math.min(t,s)}_updateFeatureEstimate(t,i){this._version=I(this._version),this._viewportQueries.updateScreenSpaceErrorBias(t),this.traverseVisible(((t,s)=>this._updateNodeFeatureEstimate(e(s)&&s.node,i)))}_updateNodeFeatureEstimate(i,s){if(!(t(i)||i.failed||t(i.numFeatures)))return this._isLoaded(i.index)?(s.known+=i.numFeatures,++s.knownNodes,void(this._isSelected(i)||(s.unremoved+=i.numFeatures))):void(this._isSelected(i)&&(e(i.numFeatures)?(s.missing+=i.numFeatures,s.known+=i.numFeatures,++s.knownNodes):++s.missingNodes))}_computeFeatureEstimate(e){let t=e.known-e.unremoved;return e.knownNodes>3&&e.missingNodes>0&&(t+=e.known/e.knownNodes*e.missingNodes),Math.max(0,t)}load(){return this._load(this._missing)}prefetch(){return this._prefetch.sort(((e,t)=>y.get(e)-y.get(t))),this._load(this._prefetch)}_load(e){if(0===e.length||!this._canRequest())return!1;for(;e.length>0&&this._canRequest();)0===this._nodesPerPage?this._loadNode(e.pop()):this._loadPage(e.pop());return!0}get isLoading(){return this._indexMissing>0}get isPrefetching(){return this._prefetch.length>0}get indexLoading(){return this._loading.size}get indexMissing(){return this._indexMissing}get unloadedMemoryEstimate(){return this._unloadedMemoryEstimate}get updates(){return this._updates}get featureEstimate(){return this._featureEstimate}get maxPriority(){return Math.max(this._maxProcessingPrio,this._maxUnloadedPrio)}nodeTraversalState(e){if(t(e))return null;let i=this._nodeTraversalState.get(e.index);if(i&&w(i.version,this._version))return i;const s=this._viewportQueries.getLodLevel(e),n=this._viewportQueries.hasLOD(e);let r=!0;if(n){const t=this.getParentIndex(e.index);if(t>=0){const e=this._nodeTraversalState.get(t);r=e&&s>e.lodLevel}else r=s>0}else r=0===e.childCount;return i?(i.lodLevel=s,i.isChosen=r,i.version=C(!0,this._version),i):(i=new _(n,r,s,C(!0,this._version)),this._nodeTraversalState.set(e.index,i),i)}_loadNode(e){this._loading.add(e);const s=i(this._getNodeInternal(e)).ref;if(t(s))return void this._failedNodes.add(e);const r=s.id,o=this._urlPrefix+r,a=()=>{this._loading.delete(e),0===this._missing.length&&0===this._loading.size&&this.requestUpdate()};this._streamDataController.request(o,"json").then((t=>{a();const i=this._validateNode(r,t);if(null==i)return;i.obb&&this.invalidateNodeVisibilityCache(e);const s=this._addNode(i,e);this.nodeTraversalState(s)}),(t=>{a(),n(t)||(this._logger.error("#loadNode()",this._logLayer,"Error loading node: "+o),this._failedNodes.add(e))}))}_validateNode(e,t){if(null==t||"object"!=typeof t||t.id!==e)return this._logger.error("#validateNode()",this._logLayer,`Invalid node. Wrong type or wrong id "${e}"`),null;if(!Array.isArray(t.mbs))return this._logger.error("#validateNode()",this._logLayer,`Invalid bounding volume on node ${e}.`),null;t.sharedResource&&"./shared"!==t.sharedResource.href&&"./shared/"!==t.sharedResource.href&&this._logger.warn("#validateNode()",this._logLayer,`Invalid shared resource href on node "${e}"`),null==t.geometryData||Array.isArray(t.geometryData)&&1===t.geometryData.length&&"./geometries/0"===t.geometryData[0].href||this._logger.warn("#validateNode()",this._logLayer,`Invalid geometry data on node "${e}"`),null==t.attributeData||Array.isArray(t.attributeData)&&!t.attributeData.some(((e,t)=>e.href!==`./attributes/f_${t}/0`))||this._logger.warn("#validateNode()",this._logLayer,`Invalid attribute data on node "${e}"`),t.featureData&&t.featureData.length>1&&this._logger.warn("#validateNode()",this._logLayer,`Node ${e} has ${t.featureData.length} bundles. Only the first bundle will be loaded.`);const i=t.hasOwnProperty("obb")&&!this.ignoreServiceObb?t.obb:null,s=t.featureData&&1===t.featureData.length&&t.featureData[0].featureRange?t.featureData[0].featureRange[1]-t.featureData[0].featureRange[0]+1:null,n=t=>{if(null==t)return null;const i=t=>this._logger.error("#validateNode()",this._logLayer,`Invalid node reference on node ${e}: ${t}`);if("number"==typeof t.id)i(`id ${t.id} is a number instead of a string.`);else if("string"!=typeof t.id||!Array.isArray(t.mbs))return i("Missing or invalid id."),null;if(!Array.isArray(t.mbs))return i(`Invalid bounding volume on reference ${t.id}.`),null;t.href&&t.href!=="../"+t.id&&this._logger.error("#validateNode()",this._logLayer,`Invalid node href on node "${e}"`);const s=t.hasOwnProperty("obb")&&!this.ignoreServiceObb?t.obb:null,n=new d(`${t.id}`,t.mbs);return n.serviceObb=s,n.visibilityObb=this._computeVisibilityObb(n),n},r=Array.isArray(t.children)?t.children.map(n).filter((e=>null!=e)):null;return{id:e,mbs:t.mbs,obb:i,children:r,resources:{hasFeatureData:t.featureData&&t.featureData.length>0,hasSharedResource:null!=t.sharedResource,attributes:t.attributeData?e:null,texture:t.textureData&&t.textureData.length>0?e:null,geometry:null!=t.geometryData?e:null},version:"string"==typeof t.version?t.version:null,lodSelection:Array.isArray(t.lodSelection)?t.lodSelection:null,numFeatures:s}}resetFailedNodes(){this._failedNodes.clear(),this._failedPages.clear(),this._forAllNodes((t=>{e(t.node)&&(t.node.failed=!1)}))}_entryPriority(i){const s=this._getNodeInternal(i),n=this.getParentIndex(i);if(t(s)||n<0&&null==s.node)return n<0?1/0:this._entryPriority(n);let r=0;if(s.node&&n>=0){const e=this._nodeTraversalState.get(n);null!=e&&(r=e.lodLevel)}let o=this.progressiveLoadPenalty;for(let e=i;e>=0;e=this.getParentIndex(e))if(this._isLoaded(e)){o=0;break}const a=e(s.ref)?this._viewportQueries.distToPOI(s.ref):e(s.node)?this._viewportQueries.distToPOI(s.node):0;return-a-r*(a+this.progressiveLoadPenalty)+o}traverseVisible(e){const i=this._getNodeInternal(this._rootIndex);t(i)?e(this._rootIndex,null,null):this._traverseVisible(this._rootIndex,-1,i,e)}_traverseVisible(t,s,n,r){if(n.node&&0===n.childCount)return void(this.isGeometryVisible(t)&&r(t,n,s));if(!this.isNodeVisible(t))return;if(r(t,n,s),null==n.node)return;const o=this.nodeTraversalState(n.node);if(o.nodeHasLOD&&o.lodLevel===this._maxLodLevel)return;const a=i(this._getPage(t));for(let i=0;i<n.childCount;i++){const s=a.children[n.childOffset+i],o=this._getNodeInternal(s);e(o)?this._traverseVisible(s,t,o,r):r(s,null,t)}}traverse(e,t){t(e)&&this.traverseChildren(e,t)}traverseChildren(t,i){const s=t.index,n=this._getNodeInternal(s);e(n)&&this._traverseChildren(s,n,i)}_traverseChildren(i,s,n){const r=this._getPage(i);if(t(r))return;const o=s.childOffset+s.childCount;for(let t=s.childOffset;t<o;++t){const i=r.children[t],s=this._getNodeInternal(i);e(s)&&e(s.node)&&n(s.node)&&this._traverseChildren(i,s,n)}}updateChildrenLoaded(t,i){let s=this.getNode(t);for(;e(s);)s.childrenLoaded+=i,s=this.getParent(s.index)}checkChildrenLoadedInvariant(){if(t(this.rootNode))return!0;const e=[],i=t=>{let s=this._isLoaded(t.index)||this._isReloading(t.index)?1:0;return this.traverseChildren(t,(e=>(s+=i(e),!1))),t.childrenLoaded!==s&&e.push(t.index),s};return i(this.rootNode),e.length&&this._logger.error("childrenLoaded invariant broken at following nodes: "+e.join(",")),e.length>0}updateStats(e){if(this._updates.add.length>0&&(e.nodes+=" + "+this._updates.add.length),(this._indexMissing||this._prefetch.length>0)&&(e.index+=" + "+this._indexMissing||this._prefetch.length),e.prio=this._maxProcessingPrio,this._featureEstimate.estimate){const t=this._featureEstimate.estimate-e.features;t>0?e.features+=" + "+t:t<0&&(e.features+=" - "+-t)}}updateElevationInfo(e,t){this.needNodeElevationRange=t&&e&&("relative-to-ground"===e.mode||"on-the-ground"===e.mode),this._viewportQueries.updateElevationInfo(e),this.invalidateAllElevationRanges()}invalidateAllElevationRanges(){this._forAllNodes((t=>{P(t),e(t.node)&&(t.node.elevationRange=null),e(t.ref)&&(t.ref.elevationRange=null)}))}_forAllNodes(e){for(let t=0;t<this._nodePages.length;t++){const i=this._nodePages[t];if(i){const s=t*this._nodesPerPage;for(let t=0;t<i.nodes.length;t++)e(i.nodes[t],s+t)}}}get test(){return{addNode:(e,t)=>this._addNode(e,t)}}}const y=new Map;class N{constructor(e){this.missing=e,this.update=new s({deallocator:null}),this.add=new s({deallocator:null}),this.remove=new s({deallocator:null}),this.cancel=[]}reset(e){this.add.clear(),this.update.clear(),this.cancel=e}}function P(t){e(t.node)&&(g(t.node.renderMbs),m(t.node.serviceObbInRenderSR)),e(t.ref)&&(g(t.ref.renderMbs),m(t.ref.serviceObbInRenderSR))}function x(e){return f(e,-2)}function I(e){return f(e,2)}function C(e,t){return t+(e?1:0)}function w(e,t){return(-2&e)===t}function M(e){return 1==(1&e)}function S(e,t){return 0===t?0:e/t|0}function R(e,t){return 0===t?e:e%t}const L=[["maxScreenThreshold",a.MaxScreenThreshold],["screenSpaceRelative",a.ScreenSpaceRelative],["removedFeatureDiameter",a.RemovedFeatureDiameter],["distanceRangeFromDefaultCamera",a.DistanceRangeFromDefaultCamera]];function E(e){if(e)for(let t=0;t<e.length;t++)for(const i of L)if(i[0]===e[t].metricType)return{lodMetric:i[1],maxError:e[t].maxError};return{lodMetric:a.None,maxError:0}}class O{constructor(){this.known=0,this.knownNodes=0,this.missing=0,this.missingNodes=0,this.unremoved=0}}function V(e){return Math.sqrt(e*(4/Math.PI))}export{p as I3SIndex,E as selectErrorMetric};
|
|
5
|
+
import{isSome as e,isNone as t,unwrap as i}from"../../../../core/maybe.js";import s from"../../../../core/PooledArray.js";import{isAbortError as n}from"../../../../core/promiseUtils.js";import{l as r}from"../../../../chunks/vec3.js";import{b as o}from"../../../../chunks/vec4f64.js";import{LodMetric as a,NodeBase as d,Node as l,ElevationRange as h,NodeFilterImpact as u,NodeIMModificationImpact as c,NodeTraversalState as _}from"./I3SNode.js";import{invalidateMbs as g,invalidateObb as m,addWraparound as f}from"./I3SUtil.js";import{clone as v}from"../../support/orientedBoundingBox.js";class b{constructor(e,t,i,s,n){this.childOffset=e,this.childCount=t,this.visibilityCache=i,this.ref=s,this.node=n,this.useAsHole=0,this.filterImpact=u.NotChecked}}class p{constructor(e,t,i,n,r,o,d,l,h,u,c,_,g,m){this._streamDataController=i,this._viewportQueries=n,this._logger=r,this.holeFilling=o,this._isLoaded=d,this._isReloading=l,this._isSelected=h,this._enable=u,this._needsUpdate=c,this._canRequest=_,this._computeVisibilityObb=g,this._computeNodeFiltering=m,this._dirty=!0,this._nodePages=[],this._nodeCount=0,this._nodesPerPage=0,this._rootIndex=0,this._lodMetric=a.None,this._lodConversion=e=>e,this._urlPrefix="",this._loading=new Set,this._failedNodes=new Set,this._failedPages=new Set,this._indexMissing=1,this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.POSITIVE_INFINITY,this._nodeTraversalState=new Map,this._version=I(0),this._visibilityCacheVersion=I(0),this._maxLevel=1,this._featureEstimate={estimate:0,leavesReached:!1},this._unloadedMemoryEstimate=0,this._missing=new s({deallocator:null}),this._prefetch=new s({deallocator:null}),this._updates=new N(this._missing),this._imModificationUncategorized=new s({deallocator:null}),this.ignoreServiceObb=!1,this.progressiveLoadPenalty=0,this._pageQueue=[],this.needNodeElevationRange=!1,this.layerHasModifications=!1,this._layerHasFilter=!1,this._logLayer=e,e.serviceUpdateTimeStamp&&e.serviceUpdateTimeStamp.lastUpdate&&(this._lastUpdate=`${e.serviceUpdateTimeStamp.lastUpdate}`),this._maxLodLevel=this._viewportQueries?this._viewportQueries.maxLodLevel:1,this._init(t)}_init(e){if("page"===e.type){switch(this._urlPrefix=e.urlPrefix,this._nodesPerPage=e.pageSize,this._rootIndex=e.rootIndex,e.lodMetric){case"maxScreenThreshold":this._lodMetric=a.MaxScreenThreshold;break;case"maxScreenThresholdSQ":this._lodMetric=a.MaxScreenThreshold,this._lodConversion=V}this._addPage(S(this._rootIndex,this._nodesPerPage),e.rootPage),this._updateParentsAndLevel()}else if("node"===e.type){this._urlPrefix=e.urlPrefix,this._nodePages.push({nodes:[],children:[],parents:[]}),this._makeRefNode(new d(e.rootNode.id,null),-1);const t=this._validateNode(e.rootNode.id,e.rootNode);t&&this._addNode(t,0)}}_loadPage(e){this._loading.add(e);const t=this._urlPrefix+e;this._streamDataController.request(t,"json").then((t=>{this._pageQueue.push({pageIndex:e,page:t})})).catch((t=>{this._loading.delete(e),n(t)||(this._failedPages.add(e),this._logger.error("#loadPage()",this._logLayer,`Error when loading page ${e}`,t))}))}_addQueuedPages(e){for(;this._pageQueue.length>0&&!e.done;){const{pageIndex:t,page:i}=this._pageQueue.shift();this._addPage(t,i),this._loading.delete(t),e.madeProgress()}this._updateParentsAndLevel()}_addPage(e,t){for(let r=this._nodePages.length;r<e;r++)this._nodePages[r]=null;const i=[],s=[],n=t.nodes.map(((t,n)=>{const a=i.length,d=t.children?t.children.length:0;s.push(-1);for(let e=0;e<d;e++)i.push(t.children[e]);const h=`${t.index}`,u=v(t.obb),c=o([u.center[0],u.center[1],u.center[2],r(u.halfSize)]),_=t.mesh&&t.mesh.attribute,g=t.mesh&&t.mesh.geometry,m=t.mesh&&t.mesh.material,f={hasSharedResource:!1,hasFeatureData:!!g,attributes:_&&null!=_.resource?`${_.resource}`:null,geometry:g&&null!=g.resource?`${g.resource}`:null,texture:m&&null!=m.resource?`${m.resource}`:null,geometryDefinition:g?g.definition:-1,materialDefinition:m?m.definition:-1},p=new l(h,e*this._nodesPerPage+n,c,d,0,f,this._lastUpdate,this._lodMetric,this._lodConversion(t.lodThreshold),g?g.featureCount:null);return p.serviceObb=u,p.visibilityObb=this._computeVisibilityObb(p),p.vertexCount=g?g.vertexCount:0,new b(a,d,x(this._visibilityCacheVersion),null,p)}));this._nodePages[e]={nodes:n,children:i,parents:s},this._nodeCount+=n.length}_updateParentsAndLevel(){const t=new Array,i=(i,s,n)=>{const r=this._getPage(i);if(e(r)){const o=R(i,this._nodesPerPage);r.parents[o]=s;const a=r.nodes[o].node;e(a)&&(a.level=n,t.push(i))}};for(i(this._rootIndex,-1,0);t.length;){const s=t.pop(),n=this.getNode(s);if(e(n))for(let e=0;e<n.childCount;e++){i(this.getChildIndex(n.index,e),s,n.level+1),this._maxLevel=Math.max(this._maxLevel,n.level+1)}}}_getPage(e){return this._nodePages[S(e,this._nodesPerPage)]}_getNodeInternal(e){const i=this._getPage(e);return t(i)?null:i.nodes[R(e,this._nodesPerPage)]}_addNode(t,s){null!=t.children&&this.populateChildren(s,t.children);const n=this.getParent(s),r=e(n)?n.level+1:0;this._maxLevel=Math.max(this._maxLevel,t.children?r+1:r);const{lodMetric:a,maxError:d}=E(t.lodSelection),h=i(this._getNodeInternal(s));return h.node=new l(t.id,s,o(t.mbs),h.childCount,r,t.resources,t.version,a,d,t.numFeatures),t.obb&&(h.node.serviceObb=v(t.obb)),h.node.visibilityObb=this._computeVisibilityObb(h.node),e(h.ref)&&(null==h.ref.mbs&&(h.ref.mbs=t.mbs),h.node.renderMbs=h.ref.renderMbs,h.node.serviceObbInRenderSR=h.ref.serviceObbInRenderSR,h.ref.visibilityObb=h.node.visibilityObb),h.node}_makeRefNode(e,t){const i=this._nodePages[0],s=i.nodes.length;return i.nodes.push(new b(0,0,x(this._visibilityCacheVersion),e,null)),this._nodeCount++,i.parents.push(t),g(e.renderMbs),m(e.serviceObbInRenderSR),s}populateChildren(e,t){const s=i(this._getNodeInternal(e)),n=i(this._getPage(e));s.childOffset=n.children.length,s.childCount=t.length;for(let i=0;i<t.length;i++){const s=this._makeRefNode(t[i],e);n.children.push(s)}}getNode(t){const i=this._getNodeInternal(t);return e(i)?i.node:null}getIndexById(t){let i;return this._forAllNodes(((s,n)=>{(e(s.node)&&s.node.id===t||e(s.ref)&&s.ref.id===t)&&(i=n)})),i}getNodeById(e){const t=this.getIndexById(e);return t>=0?this.getNode(t):null}getChildIndex(e,i){const s=this._getPage(e);if(t(s))return-1;const n=s.nodes[R(e,this._nodesPerPage)];return s.children[n.childOffset+i]}getParentIndex(t){const i=this._getPage(t);return e(i)?i.parents[R(t,this._nodesPerPage)]:-1}getParent(e){return(e=this.getParentIndex(e))>=0?this.getNode(e):null}isLeaf(t){const i=this._getNodeInternal(t);return e(i)&&0===i.childCount}get rootNode(){return this.getNode(this._rootIndex)}get size(){return this._nodeCount}removeAllGeometryObbs(){this._forAllNodes((t=>{e(t.node)&&(t.node.geometryObb=null)}))}invalidateVisibilityCache(){this._visibilityCacheVersion=I(this._visibilityCacheVersion)}invalidateNodeVisibilityCache(t){const i=this._getNodeInternal(t);e(i)&&this.invalidateNodeVisibilityCacheInternal(i)}invalidateNodeVisibilityCacheInternal(e){e.visibilityCache=x(this._visibilityCacheVersion)}invalidateBoundingVolumeCache(t){const i=this._getNodeInternal(t);e(i)&&(P(i),this.invalidateNodeVisibilityCacheInternal(i))}updateElevationChanged(i){const s=this._getNodeInternal(i);if(t(s))return;if(!this.needNodeElevationRange)return void this.invalidateBoundingVolumeCache(i);const n=e(s.node)?s.node:s.ref;if(t(n))return;const r=n.elevationRange;t(r)||(r.valid=!1)}invalidateGeometryVisibility(t){const i=this._getNodeInternal(t);e(i)&&e(i.node)&&(i.node.geometryObb=null,g(i.node.renderMbs),m(i.node.serviceObbInRenderSR))}invalidateVisibilityObbs(){t(this.rootNode)||this.traverse(this.rootNode,(e=>(e.visibilityObb=this._computeVisibilityObb(e),e.geometryObb=null,!0)))}_updateElevationRange(i){const s=this._getNodeInternal(i);if(t(s))return null;const n=e(s.node)?s.node:s.ref;if(t(n))return null;const r=n.elevationRange;if(e(r)&&r.valid)return r;const o=new h;let a=!1;for(let e=0;e<s.childCount;e++){const s=this._updateElevationRange(this.getChildIndex(i,e));t(s)?a=!0:(o.min=Math.min(o.min,s.min),o.max=Math.max(o.max,s.max))}if(0===s.childCount||a&&e(s.node)&&s.node.resources.geometry){const t=this._viewportQueries.getElevationRange(n);e(t)&&(o.min=Math.min(o.min,t.min),o.max=Math.max(o.max,t.max))}return e(r)&&r.min===o.min&&r.max===o.max?(r.valid=!0,r):(o.valid=!0,n.elevationRange=o,this.invalidateBoundingVolumeCache(i),o)}isNodeVisible(i){const s=this._getNodeInternal(i);if(t(s)||e(s.ref)&&!s.ref.mbs)return!0;if(this.needNodeElevationRange&&this._updateElevationRange(i),!w(s.visibilityCache,this._visibilityCacheVersion)){const i=s.node,n=e(i)&&(t(s.ref)||e(i.visibilityObb))?i:e(s.ref)?s.ref:null;if(this._layerHasFilter&&this._computeNodeFiltering&&(e(i)||e(s.ref))&&s.filterImpact===u.NotChecked){const t=e(i)?i.mbs:e(s.ref)?s.ref.mbs:null;s.filterImpact=null!=t?this._computeNodeFiltering(t):u.Unmodified}const r=e(i)&&s.filterImpact===u.Culled,o=!(e(i)&&i.imModificationImpact===c.Culled)&&(!n||this._viewportQueries.isNodeVisible(n))&&!r;return s.visibilityCache=C(o,this._visibilityCacheVersion),o}return M(s.visibilityCache)}isGeometryVisible(t){if(!this.isNodeVisible(t))return!1;const i=this._getNodeInternal(t);return!(e(i)&&e(i.node)&&e(i.node.geometryObb)&&(!this.layerHasModifications||i.node.imModificationImpact!==c.NotChecked))||this._viewportQueries.isGeometryVisible(i.node)}_traverseCoverage(s,n,r,o,a){const d=this._getPage(s);if(t(d)||0===n.childCount)return;const l=n.childOffset+n.childCount,h=new Array;for(let t=n.childOffset;t<l;++t){const i=d.children[t],s=this._getNodeInternal(i);e(s)&&e(s.node)&&this.isGeometryVisible(i)&&h.push(s)}o/=h.length;for(const e of h){const t=i(e.node).index;this._isLoaded(t)||this._isReloading(t)?(a.delta=Math.max(a.delta,r),a.coverage+=o):this._traverseCoverage(t,e,r+1,o,a)}}useNodeAsHole(e){if("off"===this.holeFilling)return!1;const i=this._getNodeInternal(e);if(t(i))return!1;if("always"===this.holeFilling)return!0;if(w(i.useAsHole,this._version))return M(i.useAsHole);const s={delta:0,coverage:0};this._traverseCoverage(e,i,0,1,s);const n=s.delta*s.coverage<=.5;return i.useAsHole=C(n,this._version),n}get maxLevel(){return this._maxLevel}get dirty(){return this._dirty}destroy(){this._updates.add.prune(),this._updates.update.prune()}requestUpdate(){this._dirty=!0,this._indexMissing=1,this._version=I(this._version)}imModificationsChanged(t){this.layerHasModifications=t,this._forAllNodes((({node:t})=>{e(t)&&(t.imModificationImpact=c.NotChecked,t.visibilityObb=this._computeVisibilityObb(t),t.hasModifications&&this.invalidateGeometryVisibility(t.index))})),this.invalidateVisibilityCache()}layerFilterChanged(t){this._layerHasFilter=t,this._forAllNodes((t=>{if(e(t)){t.filterImpact=u.NotChecked;const i=t.node;e(i)&&this.invalidateNodeVisibilityCache(i.index)}})),this.invalidateVisibilityCache()}update(s,n,r){if(!this._dirty)return;this._pageQueue.length>0&&this._addQueuedPages(n),this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.NEGATIVE_INFINITY,this._missing.clear(),this._prefetch.clear(),this._updates.reset(s),y.clear();let o=!0;const a=new O,d=new O,l=this._imModificationUncategorized;l.clear();const h=new Set,u=(u,_,g)=>{if(t(_)){let e=this._entryPriority(u);e===1/0&&(e=this._entryPriority(g));const t=S(u,this._nodesPerPage);return y.set(t,Math.max(e,y.get(t)||0)),this._loading.has(t)||this._failedPages.has(t)||this._missing.push(t),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const m=_.node;if(this._updateNodeFeatureEstimate(m,d),t(m)){const e=this._entryPriority(u);return this._loading.has(u)||this._failedNodes.has(u)||(this._missing.push(u),y.set(u,e)),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const f=i(this._getPage(u));if(0===this._missing.length&&0===this._nodesPerPage)for(let t=0;t<_.childCount;t++){const i=f.children[_.childOffset+t],s=this._getNodeInternal(i);!e(s)||s.node||this._loading.has(i)||this._failedNodes.has(i)||(y.set(i,this._entryPriority(i)),this._prefetch.push(i))}if(m.failed||!m.resources.hasFeatureData)return void(o&&_.childCount>0&&this._isSelected(m)&&(o=!1));if(h.add(m.id),this._isLoaded(u)){if(a.known+=m.memory,++a.knownNodes,this._isSelected(m)?_.childCount>0&&(o=!1):(a.unremoved+=m.memory,o=!1),this._needsUpdate(m)){const e=this._entryPriority(u);y.set(u,e),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e),this._updates.update.push(u)}return}if(m.memory&&(a.known+=m.memory,++a.knownNodes),!this._isSelected(m))return void(this._isReloading(u)&&this._updates.remove.push(u));if(_.childCount>0&&(o=!1),m.memory?(a.missing+=m.memory,a.known+=m.memory,++a.knownNodes):++a.missingNodes,s.includes(m.index))return this._maxProcessingPrio=Math.max(this._maxProcessingPrio,this._entryPriority(u)),void(this._updates.cancel=this._updates.cancel.filter((e=>e!==m.index)));if(!n.done&&this._enable(m))return void n.madeProgress();const v=this._entryPriority(u);y.set(u,v),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,v),this._updates.add.push(u),this.layerHasModifications&&r&&e(m)&&m.imModificationImpact===c.NotChecked&&l.push(u)};this.traverseVisible(u);const _=this._updates.add;_.length>0&&this.layerHasModifications&&(l.length>0&&r(l),_.filterInPlace((e=>{const i=this._getNodeInternal(e),s=t(i)||t(i.node)||i.node.imModificationImpact!==c.Culled;return s||this.invalidateNodeVisibilityCache(e),s}))),this._unloadedMemoryEstimate=a.missing-a.unremoved,a.knownNodes>3&&a.missingNodes>0&&(this._unloadedMemoryEstimate+=a.known/a.knownNodes*a.missingNodes),this._unloadedMemoryEstimate=.8*Math.max(0,this._unloadedMemoryEstimate),this._featureEstimate.estimate=this._computeFeatureEstimate(d),this._featureEstimate.leavesReached=o,this._missing.sort(((e,t)=>e-t)),this._missing.filterInPlace(((e,t)=>t<1||this._missing.data[t-1]!==e)),this._missing.sort(((e,t)=>y.get(e)-y.get(t))),this._missing.length>0&&(this._maxUnloadedPrio=y.get(this._missing.back()),this._prefetch.clear()),this._updates.add.filterInPlace((e=>y.get(e)>=this._maxUnloadedPrio)).sort(((e,t)=>y.get(e)-y.get(t))),this._updates.update.sort(((e,t)=>y.get(e)-y.get(t))),this._indexMissing=this._loading.size+this._missing.length,this._dirty=this._indexMissing>0,y.clear()}checkFeatureTarget(e,t){const i=this._viewportQueries.updateScreenSpaceErrorBias(t);let s=t,n=t,r=i,o=10;for(;o--;){const i=new O;this._updateFeatureEstimate(s,i);if(this._computeFeatureEstimate(i)<=e){if(s>=t||i.missingNodes>0||0===o)break;r=s,s=.5*(s+n)}else n=s,s=.5*(s+r)}return this._version=I(this._version),this._viewportQueries.updateScreenSpaceErrorBias(i),Math.min(t,s)}_updateFeatureEstimate(t,i){this._version=I(this._version),this._viewportQueries.updateScreenSpaceErrorBias(t),this.traverseVisible(((t,s)=>this._updateNodeFeatureEstimate(e(s)&&s.node,i)))}_updateNodeFeatureEstimate(i,s){if(!(t(i)||i.failed||t(i.numFeatures)))return this._isLoaded(i.index)?(s.known+=i.numFeatures,++s.knownNodes,void(this._isSelected(i)||(s.unremoved+=i.numFeatures))):void(this._isSelected(i)&&(e(i.numFeatures)?(s.missing+=i.numFeatures,s.known+=i.numFeatures,++s.knownNodes):++s.missingNodes))}_computeFeatureEstimate(e){let t=e.known-e.unremoved;return e.knownNodes>3&&e.missingNodes>0&&(t+=e.known/e.knownNodes*e.missingNodes),Math.max(0,t)}load(){return this._load(this._missing)}prefetch(){return this._prefetch.sort(((e,t)=>y.get(e)-y.get(t))),this._load(this._prefetch)}_load(e){if(0===e.length||!this._canRequest())return!1;for(;e.length>0&&this._canRequest();)0===this._nodesPerPage?this._loadNode(e.pop()):this._loadPage(e.pop());return!0}get isLoading(){return this._indexMissing>0}get isPrefetching(){return this._prefetch.length>0}get indexLoading(){return this._loading.size}get indexMissing(){return this._indexMissing}get unloadedMemoryEstimate(){return this._unloadedMemoryEstimate}get updates(){return this._updates}get featureEstimate(){return this._featureEstimate}get maxPriority(){return Math.max(this._maxProcessingPrio,this._maxUnloadedPrio)}nodeTraversalState(e){if(t(e))return null;let i=this._nodeTraversalState.get(e.index);if(i&&w(i.version,this._version))return i;const s=this._viewportQueries.getLodLevel(e),n=this._viewportQueries.hasLOD(e);let r=!0;if(n){const t=this.getParentIndex(e.index);if(t>=0){const e=this._nodeTraversalState.get(t);r=e&&s>e.lodLevel}else r=s>0}else r=0===e.childCount;return i?(i.lodLevel=s,i.isChosen=r,i.version=C(!0,this._version),i):(i=new _(n,r,s,C(!0,this._version)),this._nodeTraversalState.set(e.index,i),i)}_loadNode(e){this._loading.add(e);const s=i(this._getNodeInternal(e)).ref;if(t(s))return void this._failedNodes.add(e);const r=s.id,o=this._urlPrefix+r,a=()=>{this._loading.delete(e),0===this._missing.length&&0===this._loading.size&&this.requestUpdate()};this._streamDataController.request(o,"json").then((t=>{a();const i=this._validateNode(r,t);if(null==i)return;i.obb&&this.invalidateNodeVisibilityCache(e);const s=this._addNode(i,e);this.nodeTraversalState(s)}),(t=>{a(),n(t)||(this._logger.error("#loadNode()",this._logLayer,"Error loading node: "+o),this._failedNodes.add(e))}))}_validateNode(e,t){if(null==t||"object"!=typeof t||t.id!==e)return this._logger.error("#validateNode()",this._logLayer,`Invalid node. Wrong type or wrong id "${e}"`),null;if(!Array.isArray(t.mbs))return this._logger.error("#validateNode()",this._logLayer,`Invalid bounding volume on node ${e}.`),null;t.sharedResource&&"./shared"!==t.sharedResource.href&&"./shared/"!==t.sharedResource.href&&this._logger.warn("#validateNode()",this._logLayer,`Invalid shared resource href on node "${e}"`),null==t.geometryData||Array.isArray(t.geometryData)&&1===t.geometryData.length&&"./geometries/0"===t.geometryData[0].href||this._logger.warn("#validateNode()",this._logLayer,`Invalid geometry data on node "${e}"`),null==t.attributeData||Array.isArray(t.attributeData)&&!t.attributeData.some(((e,t)=>e.href!==`./attributes/f_${t}/0`))||this._logger.warn("#validateNode()",this._logLayer,`Invalid attribute data on node "${e}"`),t.featureData&&t.featureData.length>1&&this._logger.warn("#validateNode()",this._logLayer,`Node ${e} has ${t.featureData.length} bundles. Only the first bundle will be loaded.`);const i=t.hasOwnProperty("obb")&&!this.ignoreServiceObb?t.obb:null,s=t.featureData&&1===t.featureData.length&&t.featureData[0].featureRange?t.featureData[0].featureRange[1]-t.featureData[0].featureRange[0]+1:null,n=t=>{if(null==t)return null;const i=t=>this._logger.error("#validateNode()",this._logLayer,`Invalid node reference on node ${e}: ${t}`);if("number"==typeof t.id)i(`id ${t.id} is a number instead of a string.`);else if("string"!=typeof t.id||!Array.isArray(t.mbs))return i("Missing or invalid id."),null;if(!Array.isArray(t.mbs))return i(`Invalid bounding volume on reference ${t.id}.`),null;t.href&&t.href!=="../"+t.id&&this._logger.error("#validateNode()",this._logLayer,`Invalid node href on node "${e}"`);const s=t.hasOwnProperty("obb")&&!this.ignoreServiceObb?t.obb:null,n=new d(`${t.id}`,t.mbs);return n.serviceObb=s,n.visibilityObb=this._computeVisibilityObb(n),n},r=Array.isArray(t.children)?t.children.map(n).filter((e=>null!=e)):null;return{id:e,mbs:t.mbs,obb:i,children:r,resources:{hasFeatureData:t.featureData&&t.featureData.length>0,hasSharedResource:null!=t.sharedResource,attributes:t.attributeData?e:null,texture:t.textureData&&t.textureData.length>0?e:null,geometry:null!=t.geometryData?e:null},version:"string"==typeof t.version?t.version:null,lodSelection:Array.isArray(t.lodSelection)?t.lodSelection:null,numFeatures:s}}resetFailedNodes(){this._failedNodes.clear(),this._failedPages.clear(),this._forAllNodes((t=>{e(t.node)&&(t.node.failed=!1)}))}_entryPriority(i){const s=this._getNodeInternal(i),n=this.getParentIndex(i);if(t(s)||n<0&&null==s.node)return n<0?1/0:this._entryPriority(n);let r=0;if(s.node&&n>=0){const e=this._nodeTraversalState.get(n);null!=e&&(r=e.lodLevel)}let o=this.progressiveLoadPenalty;for(let e=i;e>=0;e=this.getParentIndex(e))if(this._isLoaded(e)){o=0;break}const a=e(s.ref)?this._viewportQueries.distToPOI(s.ref):e(s.node)?this._viewportQueries.distToPOI(s.node):0;return-a-r*(a+this.progressiveLoadPenalty)+o}traverseVisible(e){const i=this._getNodeInternal(this._rootIndex);t(i)?e(this._rootIndex,null,null):this._traverseVisible(this._rootIndex,-1,i,e)}_traverseVisible(t,s,n,r){if(n.node&&0===n.childCount)return void(this.isGeometryVisible(t)&&r(t,n,s));if(!this.isNodeVisible(t))return;if(r(t,n,s),null==n.node)return;const o=this.nodeTraversalState(n.node);if(o.nodeHasLOD&&o.lodLevel===this._maxLodLevel)return;const a=i(this._getPage(t));for(let i=0;i<n.childCount;i++){const s=a.children[n.childOffset+i],o=this._getNodeInternal(s);e(o)?this._traverseVisible(s,t,o,r):r(s,null,t)}}traverse(e,t){t(e)&&this.traverseChildren(e,t)}traverseChildren(t,i){const s=t.index,n=this._getNodeInternal(s);e(n)&&this._traverseChildren(s,n,i)}_traverseChildren(i,s,n){const r=this._getPage(i);if(t(r))return;const o=s.childOffset+s.childCount;for(let t=s.childOffset;t<o;++t){const i=r.children[t],s=this._getNodeInternal(i);e(s)&&e(s.node)&&n(s.node)&&this._traverseChildren(i,s,n)}}updateChildrenLoaded(t,i){let s=this.getNode(t);for(;e(s);)s.childrenLoaded+=i,s=this.getParent(s.index)}checkChildrenLoadedInvariant(){if(t(this.rootNode))return!0;const e=[],i=t=>{let s=this._isLoaded(t.index)||this._isReloading(t.index)?1:0;return this.traverseChildren(t,(e=>(s+=i(e),!1))),t.childrenLoaded!==s&&e.push(t.index),s};return i(this.rootNode),e.length&&this._logger.error("childrenLoaded invariant broken at following nodes: "+e.join(",")),e.length>0}updateStats(e){if(this._updates.add.length>0&&(e.nodes+=" + "+this._updates.add.length),(this._indexMissing||this._prefetch.length>0)&&(e.index+=" + "+this._indexMissing||this._prefetch.length),e.prio=this._maxProcessingPrio,this._featureEstimate.estimate){const t=this._featureEstimate.estimate-e.features;t>0?e.features+=" + "+t:t<0&&(e.features+=" - "+-t)}}updateElevationInfo(e,t){this.needNodeElevationRange=t&&e&&("relative-to-ground"===e.mode||"on-the-ground"===e.mode),this._viewportQueries.updateElevationInfo(e),this.invalidateAllElevationRanges()}invalidateAllElevationRanges(){this._forAllNodes((t=>{P(t),e(t.node)&&(t.node.elevationRange=null),e(t.ref)&&(t.ref.elevationRange=null)}))}_forAllNodes(e){for(let t=0;t<this._nodePages.length;t++){const i=this._nodePages[t];if(i){const s=t*this._nodesPerPage;for(let t=0;t<i.nodes.length;t++)e(i.nodes[t],s+t)}}}get test(){return{addNode:(e,t)=>this._addNode(e,t)}}}const y=new Map;class N{constructor(e){this.missing=e,this.update=new s({deallocator:null}),this.add=new s({deallocator:null}),this.remove=new s({deallocator:null}),this.cancel=[]}reset(e){this.add.clear(),this.update.clear(),this.cancel=e}}function P(t){e(t.node)&&(g(t.node.renderMbs),m(t.node.serviceObbInRenderSR)),e(t.ref)&&(g(t.ref.renderMbs),m(t.ref.serviceObbInRenderSR))}function x(e){return f(e,-2)}function I(e){return f(e,2)}function C(e,t){return t+(e?1:0)}function w(e,t){return(-2&e)===t}function M(e){return 1==(1&e)}function S(e,t){return 0===t?0:e/t|0}function R(e,t){return 0===t?e:e%t}const L=[["maxScreenThreshold",a.MaxScreenThreshold],["screenSpaceRelative",a.ScreenSpaceRelative],["removedFeatureDiameter",a.RemovedFeatureDiameter],["distanceRangeFromDefaultCamera",a.DistanceRangeFromDefaultCamera]];function E(e){if(e)for(let t=0;t<e.length;t++)for(const i of L)if(i[0]===e[t].metricType)return{lodMetric:i[1],maxError:e[t].maxError};return{lodMetric:a.None,maxError:0}}class O{constructor(){this.known=0,this.knownNodes=0,this.missing=0,this.missingNodes=0,this.unremoved=0}}function V(e){return Math.sqrt(e*(4/Math.PI))}export{p as I3SIndex,E as selectErrorMetric};
|
|
@@ -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"../../../../geometry.js";import t from"../../../../core/Accessor.js";import{PositionHint as r,indexOf as i}from"../../../../core/arrayUtils.js";import s from"../../../../core/Logger.js";import{clamp as n}from"../../../../core/mathUtils.js";import{isNone as o,isSome as a,unwrap as c}from"../../../../core/maybe.js";import{unwrapUpdating as l,updating as p,isUpdating as u}from"../../../../core/maybeUpdating.js";import{whenOnce as g}from"../../../../core/reactiveUtils.js";import{getUnitString as
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import t from"../../../../core/Accessor.js";import{PositionHint as r,indexOf as i}from"../../../../core/arrayUtils.js";import s from"../../../../core/Logger.js";import{clamp as n}from"../../../../core/mathUtils.js";import{isNone as o,isSome as a,unwrap as c}from"../../../../core/maybe.js";import{unwrapUpdating as l,updating as p,isUpdating as u}from"../../../../core/maybeUpdating.js";import{whenOnce as g}from"../../../../core/reactiveUtils.js";import{getUnitString as m}from"../../../../core/unitUtils.js";import{property as f}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../../../core/accessorSupport/decorators/subclass.js";import{t as y,a as h,s as j}from"../../../../chunks/vec3.js";import{WhereClause as S}from"../../../../core/sql/WhereClause.js";import{projectBoundingSphere as w,load as R,project as E,projectVectorToVector as b}from"../../../../geometry/projection.js";import{create as v}from"../../../../geometry/support/aaBoundingBox.js";import{fromValues as F,expandWithNestedArray as _,expand as k}from"../../../../geometry/support/aaBoundingRect.js";import{earth as I}from"../../../../geometry/support/Ellipsoid.js";import{isWGS84 as M,isWebMercator as T}from"../../../../geometry/support/spatialReferenceUtils.js";import{project as D}from"../../../../geometry/support/webMercatorUtils.js";import G from"../../../../layers/support/FeatureFilter.js";import{objectIdFilter as C,filterInPlace as A}from"./I3SUtil.js";import x from"../../../../geometry/SpatialReference.js";const O="esri.views.3d.layers.i3s.I3SMeshViewFilter",B=s.getLogger(O);let L=class extends t{constructor(e){super(e),this._projectionEngineLoaded=!1}initialize(){g((()=>c(this.viewFilter)?.geometry||a(this.layerFilter))).then((()=>this.loadAsyncModule(import("../../../../geometry/geometryEngine.js").then((e=>{this.destroyed||(this._geometryEngine=e)})))))}get sortedObjectIds(){if(o(this.viewFilter)||o(this.viewFilter.objectIds))return null;const e=new Float64Array(this.viewFilter.objectIds);return e.sort(),e}get parsedWhereClause(){const e=a(this.viewFilter)?this.viewFilter.where:null;if(o(e)||!e)return null;try{return S.create(e,this.layerFieldsIndex)}catch(t){B.error(`Failed to parse filter where clause: ${t}`)}return null}addFilters(e,t,r,i){const s=this.sortedObjectIds;a(s)&&e.push((e=>C(s,!0,e))),this.addSqlFilter(e,this.parsedWhereClause);const n=l(this._layerMaskGeometries),o=this._geometryEngine;if(a(n)&&a(this.layerFilter)&&a(o)){const s=this.layerFilter.spatialRelationship;e.push(((e,a)=>q(o,e,a,i,t,r,n,s)))}const c=l(this._viewMaskGeometries);if(a(c)&&a(this.viewFilter)&&a(o)){const s=this.viewFilter.spatialRelationship;e.push(((e,n)=>q(o,e,n,i,t,r,c,s)))}}isMBSGeometryVisible(e,t,r){const i=l(this._layerMaskGeometries),s=this._geometryEngine;if(a(i)&&a(this.layerFilter)&&a(s)){const n=this.layerFilter.spatialRelationship,o=i[0].spatialReference||t;if(!w(e,r,N,o))return B.warnOnce("SceneLayer.mask geometry is using unsupported SpatialReference, skipping geometry filter for MBS"),!0;return V(s,N,i,o,n)}const n=l(this._viewMaskGeometries);if(a(n)&&a(this.viewFilter)&&a(s)){const i=this.viewFilter.spatialRelationship,o=n[0].spatialReference||t;if(!w(e,r,N,o))return B.warnOnce("SceneLayerView.filter.geometry is using unsupported SpatialReference, skipping geometry filter for MBS"),!0;return V(s,N,n,o,i)}return!0}get parsedGeometry(){const e=l(this._viewMaskGeometries),t=l(this._layerMaskGeometries);return o(e)||o(t)?e||t:t.concat(e)}get _layerMaskGeometries(){const e=this.layerFilter;return o(e)?null:o(this._geometryEngine)?p:"disjoint"===e.spatialRelationship?e.geometries.map((e=>({type:"polygon",rings:e.rings,spatialReference:e.spatialReference,cache:{}}))):[e.geometries.reduce(((e,t)=>(e.rings=e.rings.concat(t.rings),e)),{type:"polygon",rings:[],spatialReference:e.geometries[0].spatialReference,cache:{}})]}get _viewMaskGeometries(){if(o(this.viewFilter))return null;const{geometry:e}=this.viewFilter;if(o(e))return null;if(o(this.viewFilter)||o(this._geometryEngine))return p;const{distance:t,units:r}=this.viewFilter,i=this.viewFilter.spatialRelationship,s="mesh"===e.type?e.extent:e;if(o(t)||0===t)return W(this._geometryEngine,s,i);const n=r||m(s.spatialReference);if(s.spatialReference.isWGS84){const e=this._geometryEngine.geodesicBuffer(s,t,n);return W(this._geometryEngine,e,i)}const c=D(s,x.WGS84);if(a(c)){const e=D(this._geometryEngine.geodesicBuffer(c,t,n),s.spatialReference);return W(this._geometryEngine,e,i)}if(!this._projectionEngineLoaded&&(this.loadAsyncModule(R().then((()=>this._projectionEngineLoaded=!0))),!this._projectionEngineLoaded))return null;let l=null;try{l=E(s,x.WGS84)}catch(u){}if(l)try{l=E(this._geometryEngine.geodesicBuffer(l,t,n),s.spatialReference)}catch(u){l=null}return l||B.error(`Filter by geodesic buffer (distance) unsupported, failed to project input geometry (${s.spatialReference.wkid}) to WGS84.`),W(this._geometryEngine,l,i)}get updating(){return u(this._layerMaskGeometries)||u(this._viewMaskGeometries)}static checkSupport(e){return!o(e)&&(e.timeExtent?(B.warn("Filters with a timeExtent are not supported for mesh scene layers"),!1):!!K(e.spatialRelationship)||(B.warn(`Filters with spatialRelationship other than ${P.join(", ")} are not supported for mesh scene layers`),!1))}};e([f()],L.prototype,"layerFilter",void 0),e([f({type:G})],L.prototype,"viewFilter",void 0),e([f()],L.prototype,"layerFieldsIndex",void 0),e([f()],L.prototype,"loadAsyncModule",void 0),e([f()],L.prototype,"addSqlFilter",void 0),e([f({readOnly:!0})],L.prototype,"sortedObjectIds",null),e([f({readOnly:!0})],L.prototype,"parsedWhereClause",null),e([f({readOnly:!0})],L.prototype,"parsedGeometry",null),e([f({readOnly:!0})],L.prototype,"_layerMaskGeometries",null),e([f({readOnly:!0})],L.prototype,"_viewMaskGeometries",null),e([f()],L.prototype,"updating",null),e([f()],L.prototype,"_projectionEngineLoaded",void 0),e([f()],L.prototype,"_geometryEngine",void 0),L=e([d(O)],L);const P=(e=>e)(["contains","intersects","disjoint"]);function K(e){return null!=e&&P.includes(e)}var U;function W(e,t,s){if(o(t))return null;if("disjoint"===s&&"polygon"===t.type){const s=t.rings.length,n=t.spatialReference,o=new Array(s);for(let e=0;e<s;++e){const r=F(1/0,1/0,-1/0,-1/0);_(r,t.rings[e]),o[e]={type:"polygon",rings:[t.rings[e]],spatialReference:n,cache:{},aabr:r}}o.sort(((e,t)=>e.aabr[0]-t.aabr[0]));const a=new Set,c=new r;for(let t=0;t<o.length;++t){const r=o[t],s=r.aabr[0];a.forEach((t=>{if(s>=t.aabr[2])return void a.delete(t);if(r.aabr[1]>t.aabr[3]||r.aabr[3]<t.aabr[1]||!e.intersects(r,t))return;r.rings=r.rings.concat(t.rings),k(r.aabr,t.aabr,r.aabr),r.cache={},a.delete(t);const n=i(o,t,o.length,c);o.splice(n,1)})),a.add(r)}for(const e of o)delete e.aabr;return o}return[t]}function V(e,t,r,i,s){const n=z(e,t,i);return r.every((t=>H(e,t,n,s)!==U.DISCARD))}function q(e,t,r,i,s,n,o,a){const c=o[0].spatialReference||s.spatialReference;if(!w(r.node.mbs,n,N,c))return void B.warnOnce("SceneLayerView.filter.geometry is using unsupported SpatialReference, skipping geometry filter");const l=z(e,N,c),p=$(a,s,c,i,r.objectHandle);for(const u of o){if(0===t.length)return;switch(H(e,u,l,a)){case U.DISCARD:return void(t.length=0);case U.KEEP:continue}A(t,r.featureIds,(t=>Q(e,u,t,p)))}}!function(e){e[e.KEEP=0]="KEEP",e[e.DISCARD=1]="DISCARD",e[e.TEST=2]="TEST"}(U||(U={}));const N=[0,0,0,0];function $(e,t,r,i,s){const n=t.renderSpatialReference,o=new Map,a={type:"polygon",rings:[[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],spatialReference:r};a.rings[0][3]=a.rings[0][0];const c={indices:null,data:null,stride:0,startIndex:0,endIndex:0};let l,p;switch(e){case"intersects":l=(e,t,r)=>e.intersects(t,r)?U.KEEP:U.TEST,p=Z;break;case"contains":l=(e,t,r)=>e.contains(t,r)?U.TEST:U.DISCARD,p=Z;break;default:l=(e,t,r)=>e.disjoint(t,r)?U.TEST:U.DISCARD,p=J}return{collection:i,object:s,type:e,maskSR:r,renderSR:n,aabbCache:o,triangle:a,positions:c,triangleTest:l,geometryTest:p}}function z(e,t,r){const i={type:"point",x:t[0],y:t[1],hasZ:!1,hasM:!1,spatialReference:r},s=!M(r)&&!T(r),o=Number.isNaN(t[3])?0:n(t[3],0,2*I.radius),a=s?e.buffer(i,o,1):e.geodesicBuffer(i,o,1);return a.type="polygon",a}function H(e,t,r,i){switch(i){case"intersects":case"contains":return Z(e,t,r);case"disjoint":return J(e,t,r)}}function Z(e,t,r){return e.intersects(t,r)?e.contains(t,r)?U.KEEP:U.TEST:U.DISCARD}function J(e,t,r){return e.intersects(t,r)?e.contains(t,r)?U.DISCARD:U.TEST:U.KEEP}function Q(e,t,r,i){const{collection:s,object:n,renderSR:o,maskSR:a,geometryTest:c,aabbCache:l}=i;let p=l.get(r);if(!p){const e=s.getObjectTransform(n);s.getComponentAabb(n,r,X);const t=[[X[0],X[1],0],[X[0],X[4],0],[X[3],X[4],0],[X[3],X[1],0]];for(let r=0;r<4;++r)y(t[r],t[r],e.rotationScale),h(t[r],t[r],e.position),b(t[r],o,t[r],a);p={type:"polygon",rings:[t],spatialReference:a,cache:{}},p.rings[0][4]=p.rings[0][0],l.set(r,p)}switch(c(e,t,p)){case U.DISCARD:return!1;case U.KEEP:return!0}const{triangle:u,triangleTest:g,positions:m}=i,f=u.rings[0][0],d=u.rings[0][1],S=u.rings[0][2],w=s.getObjectTransform(n);s.getComponentPositions(n,r,m);const{indices:R,data:E,stride:v,startIndex:F,endIndex:_}=m;for(let k=F;k<_;k+=3){const r=v*R[k+0],i=v*R[k+1],s=v*R[k+2];switch(j(f,E[r+0],E[r+1],E[r+2]),j(d,E[i+0],E[i+1],E[i+2]),j(S,E[s+0],E[s+1],E[s+2]),y(f,f,w.rotationScale),y(d,d,w.rotationScale),y(S,S,w.rotationScale),h(f,f,w.position),h(d,d,w.position),h(S,S,w.position),b(f,o,f,a),b(d,o,d,a),b(S,o,S,a),g(e,t,u)){case U.DISCARD:return!1;case U.KEEP:return!0}}return"intersects"!==i.type}const X=v();export{L as I3SMeshViewFilter};
|
|
@@ -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 e from"../../../../request.js";import{binaryIndexOf as t,splitIntoChunks as r}from"../../../../core/arrayUtils.js";import n from"../../../../core/Error.js";import has from"../../../../core/has.js";import{isSome as o,isNone as a}from"../../../../core/maybe.js";import{eachAlways as i}from"../../../../core/promiseUtils.js";import{isInt16Array as s,isInt32Array as c}from"../../../../core/typedArrayUtil.js";import{a as l}from"../../../../chunks/mat3.js";import{c as f}from"../../../../chunks/mat3f64.js";import{a as u}from"../../../../chunks/mat4.js";import{c as p}from"../../../../chunks/mat4f64.js";import{c as h,a as m,m as d}from"../../../../chunks/quat.js";import{c as y}from"../../../../chunks/quatf32.js";import{c as S}from"../../../../chunks/quatf64.js";import{s as g,c as b,k as w,m as T,o as E,p as M,l as v,a as I,g as R,q as j,r as x,u as q,v as z}from"../../../../chunks/vec3.js";import{c as k}from"../../../../chunks/vec3f64.js";import{canProjectWithoutEngine as C,projectBuffer as N,computeTranslationToOriginAndRotation as U,projectVectorToVector as W}from"../../../../geometry/projection.js";import{getSphericalPCPF as D,getReferenceEllipsoid as F}from"../../../../geometry/projectionEllipsoid.js";import A from"../../../../geometry/SpatialReference.js";import{create as _,empty as O,expandPointInPlace as G,intersects as K}from"../../../../geometry/support/aaBoundingRect.js";import{isPlateCarree as L}from"../../../../geometry/support/spatialReferenceUtils.js";import B from"../../../../rest/support/Query.js";import{ViewingMode as P}from"../../../ViewingMode.js";import{readBinaryAttribute as $}from"./I3SBinaryReader.js";import{computeGlobalTransformation as Q}from"./I3SProjectionUtil.js";import{createSolidEdgeMaterial as V,createMaterialFromEdges as Z}from"../support/edgeUtils.js";import{parseColorMixMode as H,ColorMixModeEnum as J}from"../support/symbolColorUtils.js";import{create as X,compute as Y,corners as ee}from"../../support/orientedBoundingBox.js";function te(e){return e&&parseInt(e.substring(e.lastIndexOf("/")+1,e.length),10)}function re(e){if(has("disable-feature:i3s-draco")||!e)return!1;for(const t of e)for(const e of t.geometryBuffers)if("draco"===e.compressedAttributes?.encoding)return!0;return!1}function ne(e,t,r,n){r.traverse(t,(t=>{const r=t.mbs;return le(e,r)!==ce.OUTSIDE&&(n(t),!0)}))}function oe(e,t,r){let n=0,o=0;for(let a=0;a<t.length&&n<e.length;a++)e[n]===t[a]&&(r(a)&&(e[o]=e[n],o++),n++);e.length=o}function ae(e,r,n){let o=0,a=0;for(;o<n.length;){t(e,n[o])>=0===r&&(n[a]=n[o],a++),o++}n.length=a}const ie=_();function se(e,t){if(0===t.rotationScale[1]&&0===t.rotationScale[2]&&0===t.rotationScale[3]&&0===t.rotationScale[5]&&0===t.rotationScale[6]&&0===t.rotationScale[7])return ie[0]=(e[0]-t.position[0])/t.rotationScale[0],ie[1]=(e[1]-t.position[1])/t.rotationScale[4],ie[2]=(e[2]-t.position[0])/t.rotationScale[0],ie[3]=(e[3]-t.position[1])/t.rotationScale[4],ie}var ce;function le(e,t){const r=t[0],n=t[1],o=t[3],a=e[0]-r,i=r-e[2],s=e[1]-n,c=n-e[3],l=Math.max(a,i,0),f=Math.max(s,c,0),u=l*l+f*f;if(u>o*o)return ce.OUTSIDE;if(u>0)return ce.INTERSECTS_CENTER_OUTSIDE;return-Math.max(a,i,s,c)>o?ce.INSIDE:ce.INTERSECTS_CENTER_INSIDE}function fe(e,t,r){const n=[],o=r&&r.missingFields,a=r&&r.originalFields;for(const i of e){const e=i.toLowerCase();let r=!1;for(const o of t)if(e===o.name.toLowerCase()){n.push(o.name),r=!0,a&&a.push(i);break}!r&&o&&o.push(i)}return n}async function ue(e,t,r,i,s){if(0===t.length)return[];const c=e.attributeStorageInfo;if(o(e.associatedLayer))try{return await he(e.associatedLayer,t,r,i)}catch(l){if(e.associatedLayer.loaded)throw l}if(c){const o=pe(t,r,s);if(a(o))throw new n("scenelayer:features-not-loaded","Tried to query attributes for unloaded features");const l=e.parsedUrl.path;return(await Promise.all(o.map((e=>de(l,c,e.node,e.indices,i).then((t=>{for(let r=0;r<e.graphics.length;r++){const n=e.graphics[r],o=t[r];if(n.attributes)for(const e in n.attributes)e in o||(o[e]=n.attributes[e]);n.attributes=o}return e.graphics})))))).flat()}throw new n("scenelayer:no-attribute-source","This scene layer does not have a source for attributes available")}function pe(e,t,r){const n=new Map,o=[],a=r();for(const i of e){const e=i.attributes[t];for(let t=0;t<a.length;t++){const r=a[t],s=r.featureIds.indexOf(e);if(s>=0){let e=n.get(r.node);e||(e={node:r.node,indices:[],graphics:[]},o.push(e),n.set(r.node,e)),e.indices.push(s),e.graphics.push(i);for(let r=t;r>0;r--)a[r]=a[r-1];a[0]=r;break}}}return o}async function he(e,t,r,n){t.sort(((e,t)=>e.attributes[r]-t.attributes[r]));const o=t.map((e=>e.attributes[r])),a=[],i=fe(n,e.fields,{originalFields:a}),s=await me(e,o,i);for(let c=0;c<t.length;c++){const e=t[c],r=s[c],n={};if(e.attributes)for(const t in e.attributes)n[t]=e.attributes[t];for(let t=0;t<a.length;t++)n[a[t]]=r[i[t]];e.attributes=n}return t}function me(e,t,o){const a=e.capabilities.query.maxRecordCount;if(null!=a&&t.length>a){const n=r(t,a);return Promise.all(n.map((t=>me(e,t,o)))).then((e=>e.flat()))}const i=new B({objectIds:t,outFields:o,orderByFields:[e.objectIdField]});return e.queryFeatures(i).then((e=>{if(e&&e.features&&e.features.length===t.length)return e.features.map((e=>e.attributes));throw new n("scenelayer:feature-not-in-associated-layer","Feature not found in associated feature layer")}))}function de(e,t,r,n,o){return ye(e,t,r.resources.attributes,n,o)}function ye(t,r,n,o,a){const s=[];for(const e of r)if(e&&a.includes(e.name)){const r=`${t}/nodes/${n}/attributes/${e.key}/0`;s.push({url:r,storageInfo:e})}return i(s.map((t=>e(t.url,{responseType:"array-buffer"}).then((e=>$(t.storageInfo,e.data)))))).then((e=>{const t=[];for(const r of o){const n={};for(let t=0;t<e.length;t++)null!=e[t].value&&(n[s[t].storageInfo.name]=be(e[t].value,r));t.push(n)}return t}))}!function(e){e[e.OUTSIDE=0]="OUTSIDE",e[e.INTERSECTS_CENTER_OUTSIDE=1]="INTERSECTS_CENTER_OUTSIDE",e[e.INTERSECTS_CENTER_INSIDE=2]="INTERSECTS_CENTER_INSIDE",e[e.INSIDE=3]="INSIDE"}(ce||(ce={}));const Se=-32768,ge=-(2**31);function be(e,t){if(!e)return null;const r=e[t];if(s(e))return r===Se?null:r;if(c(e))return r===ge?null:r;return r!=r?null:r}function we(e){const t=e.store.indexCRS||e.store.geographicCRS,r=void 0===t?e.store.indexWKT:void 0;if(r){if(!e.spatialReference)throw new n("layerview:no-store-spatial-reference-wkt-index-and-no-layer-spatial-reference","Found indeWKT in the scene layer store but no layer spatial reference",{});if(r!==e.spatialReference.wkt)throw new n("layerview:store-spatial-reference-wkt-index-incompatible","The indeWKT of the scene layer store does not match the WKT of the layer spatial reference",{})}const o=t?new A(te(t)):e.spatialReference;return o.equals(e.spatialReference)?e.spatialReference:o}function Te(e){const t=e.store.vertexCRS||e.store.projectedCRS,r=void 0===t?e.store.vertexWKT:void 0;if(r){if(!e.spatialReference)throw new n("layerview:no-store-spatial-reference-wkt-vertex-and-no-layer-spatial-reference","Found vertexWKT in the scene layer store but no layer spatial reference",{});if(r!==e.spatialReference.wkt)throw new n("layerview:store-spatial-reference-wkt-vertex-incompatible","The vertexWKT of the scene layer store does not match the WKT of the layer spatial reference",{})}const o=t?new A(te(t)):e.spatialReference;return o.equals(e.spatialReference)?e.spatialReference:o}function Ee(e,t){return a(t)?"@null":t===D(t)?"@ECEF":e.equals(t)?"":null!=t.wkid?"@"+t.wkid:null}function Me(e,t,r){if(!C(e,t))throw new n("layerview:spatial-reference-incompatible","The spatial reference of this scene layer is incompatible with the spatial reference of the view",{});if("local"===r&&!ve(e,t))throw new n("layerview:spatial-reference-incompatible","The spatial reference of this scene layer is incompatible with the spatial reference of the view",{})}function ve(e,t){return e.equals(t)||e.isWGS84&&t.isWebMercator||e.isWebMercator&&t.isWGS84}function Ie(e,t,r){const n=we(e),o=Te(e);Me(n,t,r),Me(o,t,r)}function Re(e){return(null==e.geometryType||"triangles"===e.geometryType)&&((null==e.topology||"PerAttributeArray"===e.topology)&&(null!=e.vertexAttributes&&null!=e.vertexAttributes.position))}function je(e){if(null==e.store||null==e.store.defaultGeometrySchema||!Re(e.store.defaultGeometrySchema))throw new n("scenelayer:unsupported-geometry-schema","The geometry schema of this scene layer is not supported.",{url:e.parsedUrl.path})}function xe(e,t){Ie(e,t.spatialReference,t.viewingMode)}function qe(e){return null!=e.geometryType&&"points"===e.geometryType&&((null==e.topology||"PerAttributeArray"===e.topology)&&((null==e.encoding||""===e.encoding||"lepcc-xyz"===e.encoding)&&(null!=e.vertexAttributes&&null!=e.vertexAttributes.position)))}function ze(e){if(null==e.store||null==e.store.defaultGeometrySchema||!qe(e.store.defaultGeometrySchema))throw new n("pointcloud:unsupported-geometry-schema","The geometry schema of this point cloud scene layer is not supported.",{})}function ke(e,t){Me(e.spatialReference,t.spatialReference,t.viewingMode)}function Ce(e){return"simple"===e.type||"class-breaks"===e.type||"unique-value"===e.type}function Ne(e){return"mesh-3d"===e.type}function Ue(e){if(null==e||!Ce(e))return!0;if(("unique-value"===e.type||"class-breaks"===e.type)&&null==e.defaultSymbol)return!0;const t=e.getSymbols();if(0===t.length)return!0;for(const r of t){if(!Ne(r)||0===r.symbolLayers.length)return!0;for(const e of r.symbolLayers.items)if("fill"!==e.type||a(e.material)||a(e.material.color)||"replace"!==e.material.colorMixMode)return!0}return!1}const We=V({color:[0,0,0,0],opacity:0});class De{constructor(){this.edgeMaterial=null,this.material=null,this.castShadows=!0}}function Fe(e){const t=new De;let r=!1,n=!1;for(const a of e.symbolLayers.items)if("fill"===a.type&&a.enabled){const e=a.material,i=a.edges;if(o(e)&&!r){const n=e.color,i=H(e.colorMixMode);o(n)?t.material={color:[n.r/255,n.g/255,n.b/255],alpha:n.a,colorMixMode:i}:t.material={color:[1,1,1],alpha:1,colorMixMode:J.Multiply},t.castShadows=a.castShadows,r=!0}o(i)&&!n&&(t.edgeMaterial=Z(i,{}),n=!0)}return t.material||(t.material={color:[1,1,1],alpha:1,colorMixMode:J.Multiply}),t}function Ae(e,t){return(0|e)+(0|t)|0}function _e(e,t,r,n,o=0){n===D(n)?t.isGeographic?et(e,r,t,o):Ye(e,r,t,o):t.isWGS84&&(n.isWebMercator||L(n))?Pe(t,e,n,r,o):t.isWebMercator&&L(n)?Je(t,e,n,r,o):e===r?(r.center[2]+=o,N(r.center,t,0,r.center,n,0,1)):(g(r.center,e.center[0],e.center[1],e.center[2]+o),N(r.center,t,0,r.center,n,0,1),h(r.quaternion,e.quaternion),b(r.halfSize,e.halfSize))}function Oe(e,t,r,n,o){if(h(o.quaternion,e.quaternion),n===P.Global){m(Be,e.quaternion),w(Ge,e.center,Be),T(Ke,Ge),E(Le,Ke,e.halfSize),M(Le,Ke,Le);const n=v(Le);I(Le,Ke,e.halfSize);const a=v(Le);if(n<r)b(o.center,e.center),g(Ge,r,r,r),I(o.halfSize,e.halfSize,Ge);else{const i=a>0?1+t/a:1,s=n>0?1+r/n:1,c=(s+i)/2,l=(s-i)/2;R(o.halfSize,Ke,l),j(o.halfSize,o.halfSize,e.halfSize,c),R(o.center,Ke,c),j(o.center,o.center,e.halfSize,l),x(Ge,Ge),q(o.center,o.center,Ge),w(o.center,o.center,o.quaternion)}}else{const n=g(Ge,0,0,1);j(o.center,e.center,n,(r+t)/2),m(Be,e.quaternion),w(n,n,Be),T(n,n),j(o.halfSize,e.halfSize,n,(r-t)/2)}return o}const Ge=k(),Ke=k(),Le=k(),Be=S();function Pe(e,t,r,n,o){b(Ze,t.center),Ze[2]+=o;const a=D(r);N(Ze,e,0,Ze,a,0,1),Xe(a,t,Ze,r,n)}const $e=new Float64Array(24),Qe={data:$e,size:3},Ve=k(),Ze=k(),He=f();function Je(e,t,r,n,o){b(Ze,t.center),Ze[2]+=o,Xe(e,t,Ze,r,n)}function Xe(e,t,r,n,o){const a=l(He,t.quaternion);for(let i=0;i<8;++i){for(let e=0;e<3;++e)Ve[e]=t.halfSize[e]*(0!=(i&1<<e)?-1:1);for(let e=0;e<3;++e){let t=r[e];for(let r=0;r<3;++r)t+=Ve[r]*a[3*r+e];$e[3*i+e]=t}}N($e,e,0,$e,n,0,8),Y(Qe,o)}function Ye(e,t,r,n){ee(e,ct),g(t.center,e.center[0],e.center[1],e.center[2]+n),U(r,t.center,it,D(r)),g(t.center,it[12],it[13],it[14]);const o=2*Math.sqrt(1+it[0]+it[5]+it[10]);st[0]=(it[6]-it[9])/o,st[1]=(it[8]-it[2])/o,st[2]=(it[1]-it[4])/o,st[3]=.25*o,d(t.quaternion,st,e.quaternion),m(st,t.quaternion);let a=0,i=0,s=0;for(const c of ct)c[2]+=n,N(c,r,0,c,D(r),0,1),M(pt,c,t.center),w(pt,pt,st),a=Math.max(a,Math.abs(pt[0])),i=Math.max(i,Math.abs(pt[1])),s=Math.max(s,Math.abs(pt[2]));g(t.halfSize,a,i,s)}function et(e,t,r,n){const o=F(r),a=1+Math.max(0,n)/(o.radius+e.center[2]);g(t.center,e.center[0],e.center[1],e.center[2]+n),N(t.center,r,0,t.center,D(r),0,1),h(t.quaternion,e.quaternion),m(st,e.quaternion),g(pt,0,0,1),w(pt,pt,st),g(pt,e.halfSize[0]*Math.abs(pt[0]),e.halfSize[1]*Math.abs(pt[1]),e.halfSize[2]*Math.abs(pt[2])),R(pt,pt,o.inverseFlattening),I(t.halfSize,e.halfSize,pt),R(t.halfSize,t.halfSize,a)}function tt(e,t,r,n,i,s){if(!s||0===s.length||a(t))return null;const c=Q(e.mbs,i,r,t);let l;u(mt,c);const f=()=>{if(!l)if(l=ct,O(ft),o(e.serviceObb)){_e(e.serviceObb,r,ut,t,i),ee(ut,l);for(const e of l)z(e,e,mt),G(ft,e)}else{const n=e.mbs,o=n[3];W(n,r,pt,t),z(pt,pt,mt),pt[2]+=i;for(let e=0;e<8;++e){const t=1&e?o:-o,r=2&e?o:-o,n=4&e?o:-o,a=l[e];b(a,[pt[0]+t,pt[1]+r,pt[2]+n]),G(ft,a)}}};let p=1/0,h=-1/0;const m=e=>{if("replace"!==e.type)return;const r=e.geometry;if(!r.hasZ)return;O(lt);const o=r.spatialReference||n,a=r.rings.reduce(((e,r)=>r.reduce(((e,r)=>(W(r,o,pt,t),z(pt,pt,mt),G(lt,pt),Math.min(pt[2],e))),e)),1/0);f(),K(ft,lt)&&(p=Math.min(p,a),h=Math.max(h,a))};if(s.forEach((e=>m(e))),p===1/0)return null;const d=(e,t,r)=>{z(pt,r,c),e[t+0]=pt[0],e[t+1]=pt[1],e[t+2]=pt[2],t+=24,r[2]=p,z(pt,r,c),e[t+0]=pt[0],e[t+1]=pt[1],e[t+2]=pt[2],t+=24,r[2]=h,z(pt,r,c),e[t+0]=pt[0],e[t+1]=pt[1],e[t+2]=pt[2]};for(let o=0;o<8;++o)d(ht.data,3*o,l[o]);return Y(ht)}function rt(e){return o(e)&&e.halfSize[0]>=0}function nt(e){return e[3]>=0}function ot(e){o(e)&&(e.halfSize[0]=-1)}function at(e){o(e)&&(e[3]=-1)}const it=p(),st=y(),ct=[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]],lt=_(),ft=_(),ut=X(),pt=[0,0,0],ht={data:new Array(72),size:3},mt=p();export{ce as MbsIntersectResult,De as SymbolInfo,Ae as addWraparound,ke as checkPointCloudLayerCompatibleWithView,ze as checkPointCloudLayerValid,xe as checkSceneLayerCompatibleWithView,je as checkSceneLayerValid,Me as checkSpatialReference,Ie as checkSpatialReferences,Oe as computeOffsetObb,tt as computeVisibilityObb,re as containsDraco,te as extractWkid,oe as filterInPlace,fe as findFieldsCaseInsensitive,ne as findIntersectingNodes,Ee as getCacheKeySuffix,be as getCachedAttributeValue,se as getClipRect,we as getIndexCrs,Fe as getSymbolInfo,Te as getVertexCrs,le as intersectBoundingRectWithMbs,at as invalidateMbs,ot as invalidateObb,ve as isSupportedLocalModeProjection,nt as isValidMbs,rt as isValidObb,ae as objectIdFilter,ye as queryAttributesFromCachedAttributesId,Ue as rendererNeedsTextures,_e as transformObb,We as transparentEdgeMaterial,ue as whenGraphicAttributes};
|
|
5
|
+
import e from"../../../../request.js";import{binaryIndexOf as t,splitIntoChunks as r}from"../../../../core/arrayUtils.js";import n from"../../../../core/Error.js";import has from"../../../../core/has.js";import{isSome as o,isNone as a}from"../../../../core/maybe.js";import{eachAlways as i}from"../../../../core/promiseUtils.js";import{isInt16Array as s,isInt32Array as c}from"../../../../core/typedArrayUtil.js";import{c as l}from"../../../../chunks/mat3.js";import{c as f}from"../../../../chunks/mat3f64.js";import{a as u}from"../../../../chunks/mat4.js";import{c as p}from"../../../../chunks/mat4f64.js";import{a as h,c as m,m as d}from"../../../../chunks/quat.js";import{c as y}from"../../../../chunks/quatf32.js";import{a as S}from"../../../../chunks/quatf64.js";import{s as g,c as b,q as w,w as T,x as E,y as M,l as v,a as I,g as R,z as j,A as x,B as q,m as z}from"../../../../chunks/vec3.js";import{c as k}from"../../../../chunks/vec3f64.js";import{canProjectWithoutEngine as C,projectBuffer as N,computeTranslationToOriginAndRotation as U,projectVectorToVector as W}from"../../../../geometry/projection.js";import{getSphericalPCPF as A,getReferenceEllipsoid as D}from"../../../../geometry/projectionEllipsoid.js";import F from"../../../../geometry/SpatialReference.js";import{create as _,empty as O,expandPointInPlace as G,intersects as K}from"../../../../geometry/support/aaBoundingRect.js";import{isPlateCarree as L}from"../../../../geometry/support/spatialReferenceUtils.js";import B from"../../../../rest/support/Query.js";import{ViewingMode as P}from"../../../ViewingMode.js";import{readBinaryAttribute as $}from"./I3SBinaryReader.js";import{computeGlobalTransformation as Q}from"./I3SProjectionUtil.js";import{createSolidEdgeMaterial as V,createMaterialFromEdges as Z}from"../support/edgeUtils.js";import{parseColorMixMode as H,ColorMixModeEnum as J}from"../support/symbolColorUtils.js";import{create as X,compute as Y,corners as ee}from"../../support/orientedBoundingBox.js";function te(e){return e&&parseInt(e.substring(e.lastIndexOf("/")+1,e.length),10)}function re(e){if(has("disable-feature:i3s-draco")||!e)return!1;for(const t of e)for(const e of t.geometryBuffers)if("draco"===e.compressedAttributes?.encoding)return!0;return!1}function ne(e,t,r,n){r.traverse(t,(t=>{const r=t.mbs;return le(e,r)!==ce.OUTSIDE&&(n(t),!0)}))}function oe(e,t,r){let n=0,o=0;for(let a=0;a<t.length&&n<e.length;a++)e[n]===t[a]&&(r(a)&&(e[o]=e[n],o++),n++);e.length=o}function ae(e,r,n){let o=0,a=0;for(;o<n.length;){t(e,n[o])>=0===r&&(n[a]=n[o],a++),o++}n.length=a}const ie=_();function se(e,t){if(0===t.rotationScale[1]&&0===t.rotationScale[2]&&0===t.rotationScale[3]&&0===t.rotationScale[5]&&0===t.rotationScale[6]&&0===t.rotationScale[7])return ie[0]=(e[0]-t.position[0])/t.rotationScale[0],ie[1]=(e[1]-t.position[1])/t.rotationScale[4],ie[2]=(e[2]-t.position[0])/t.rotationScale[0],ie[3]=(e[3]-t.position[1])/t.rotationScale[4],ie}var ce;function le(e,t){const r=t[0],n=t[1],o=t[3],a=e[0]-r,i=r-e[2],s=e[1]-n,c=n-e[3],l=Math.max(a,i,0),f=Math.max(s,c,0),u=l*l+f*f;if(u>o*o)return ce.OUTSIDE;if(u>0)return ce.INTERSECTS_CENTER_OUTSIDE;return-Math.max(a,i,s,c)>o?ce.INSIDE:ce.INTERSECTS_CENTER_INSIDE}function fe(e,t,r){const n=[],o=r&&r.missingFields,a=r&&r.originalFields;for(const i of e){const e=i.toLowerCase();let r=!1;for(const o of t)if(e===o.name.toLowerCase()){n.push(o.name),r=!0,a&&a.push(i);break}!r&&o&&o.push(i)}return n}async function ue(e,t,r,i,s){if(0===t.length)return[];const c=e.attributeStorageInfo;if(o(e.associatedLayer))try{return await he(e.associatedLayer,t,r,i)}catch(l){if(e.associatedLayer.loaded)throw l}if(c){const o=pe(t,r,s);if(a(o))throw new n("scenelayer:features-not-loaded","Tried to query attributes for unloaded features");const l=e.parsedUrl.path;return(await Promise.all(o.map((e=>de(l,c,e.node,e.indices,i).then((t=>{for(let r=0;r<e.graphics.length;r++){const n=e.graphics[r],o=t[r];if(n.attributes)for(const e in n.attributes)e in o||(o[e]=n.attributes[e]);n.attributes=o}return e.graphics})))))).flat()}throw new n("scenelayer:no-attribute-source","This scene layer does not have a source for attributes available")}function pe(e,t,r){const n=new Map,o=[],a=r();for(const i of e){const e=i.attributes[t];for(let t=0;t<a.length;t++){const r=a[t],s=r.featureIds.indexOf(e);if(s>=0){let e=n.get(r.node);e||(e={node:r.node,indices:[],graphics:[]},o.push(e),n.set(r.node,e)),e.indices.push(s),e.graphics.push(i);for(let r=t;r>0;r--)a[r]=a[r-1];a[0]=r;break}}}return o}async function he(e,t,r,n){t.sort(((e,t)=>e.attributes[r]-t.attributes[r]));const o=t.map((e=>e.attributes[r])),a=[],i=fe(n,e.fields,{originalFields:a}),s=await me(e,o,i);for(let c=0;c<t.length;c++){const e=t[c],r=s[c],n={};if(e.attributes)for(const t in e.attributes)n[t]=e.attributes[t];for(let t=0;t<a.length;t++)n[a[t]]=r[i[t]];e.attributes=n}return t}function me(e,t,o){const a=e.capabilities.query.maxRecordCount;if(null!=a&&t.length>a){const n=r(t,a);return Promise.all(n.map((t=>me(e,t,o)))).then((e=>e.flat()))}const i=new B({objectIds:t,outFields:o,orderByFields:[e.objectIdField]});return e.queryFeatures(i).then((e=>{if(e&&e.features&&e.features.length===t.length)return e.features.map((e=>e.attributes));throw new n("scenelayer:feature-not-in-associated-layer","Feature not found in associated feature layer")}))}function de(e,t,r,n,o){return ye(e,t,r.resources.attributes,n,o)}function ye(t,r,n,o,a){const s=[];for(const e of r)if(e&&a.includes(e.name)){const r=`${t}/nodes/${n}/attributes/${e.key}/0`;s.push({url:r,storageInfo:e})}return i(s.map((t=>e(t.url,{responseType:"array-buffer"}).then((e=>$(t.storageInfo,e.data)))))).then((e=>{const t=[];for(const r of o){const n={};for(let t=0;t<e.length;t++)null!=e[t].value&&(n[s[t].storageInfo.name]=be(e[t].value,r));t.push(n)}return t}))}!function(e){e[e.OUTSIDE=0]="OUTSIDE",e[e.INTERSECTS_CENTER_OUTSIDE=1]="INTERSECTS_CENTER_OUTSIDE",e[e.INTERSECTS_CENTER_INSIDE=2]="INTERSECTS_CENTER_INSIDE",e[e.INSIDE=3]="INSIDE"}(ce||(ce={}));const Se=-32768,ge=-(2**31);function be(e,t){if(!e)return null;const r=e[t];if(s(e))return r===Se?null:r;if(c(e))return r===ge?null:r;return r!=r?null:r}function we(e){const t=e.store.indexCRS||e.store.geographicCRS,r=void 0===t?e.store.indexWKT:void 0;if(r){if(!e.spatialReference)throw new n("layerview:no-store-spatial-reference-wkt-index-and-no-layer-spatial-reference","Found indeWKT in the scene layer store but no layer spatial reference",{});if(r!==e.spatialReference.wkt)throw new n("layerview:store-spatial-reference-wkt-index-incompatible","The indeWKT of the scene layer store does not match the WKT of the layer spatial reference",{})}const o=t?new F(te(t)):e.spatialReference;return o.equals(e.spatialReference)?e.spatialReference:o}function Te(e){const t=e.store.vertexCRS||e.store.projectedCRS,r=void 0===t?e.store.vertexWKT:void 0;if(r){if(!e.spatialReference)throw new n("layerview:no-store-spatial-reference-wkt-vertex-and-no-layer-spatial-reference","Found vertexWKT in the scene layer store but no layer spatial reference",{});if(r!==e.spatialReference.wkt)throw new n("layerview:store-spatial-reference-wkt-vertex-incompatible","The vertexWKT of the scene layer store does not match the WKT of the layer spatial reference",{})}const o=t?new F(te(t)):e.spatialReference;return o.equals(e.spatialReference)?e.spatialReference:o}function Ee(e,t){return a(t)?"@null":t===A(t)?"@ECEF":e.equals(t)?"":null!=t.wkid?"@"+t.wkid:null}function Me(e,t,r){if(!C(e,t))throw new n("layerview:spatial-reference-incompatible","The spatial reference of this scene layer is incompatible with the spatial reference of the view",{});if("local"===r&&!ve(e,t))throw new n("layerview:spatial-reference-incompatible","The spatial reference of this scene layer is incompatible with the spatial reference of the view",{})}function ve(e,t){return e.equals(t)||e.isWGS84&&t.isWebMercator||e.isWebMercator&&t.isWGS84}function Ie(e,t,r){const n=we(e),o=Te(e);Me(n,t,r),Me(o,t,r)}function Re(e){return(null==e.geometryType||"triangles"===e.geometryType)&&((null==e.topology||"PerAttributeArray"===e.topology)&&(null!=e.vertexAttributes&&null!=e.vertexAttributes.position))}function je(e){if(null==e.store||null==e.store.defaultGeometrySchema||!Re(e.store.defaultGeometrySchema))throw new n("scenelayer:unsupported-geometry-schema","The geometry schema of this scene layer is not supported.",{url:e.parsedUrl.path})}function xe(e,t){Ie(e,t.spatialReference,t.viewingMode)}function qe(e){return null!=e.geometryType&&"points"===e.geometryType&&((null==e.topology||"PerAttributeArray"===e.topology)&&((null==e.encoding||""===e.encoding||"lepcc-xyz"===e.encoding)&&(null!=e.vertexAttributes&&null!=e.vertexAttributes.position)))}function ze(e){if(null==e.store||null==e.store.defaultGeometrySchema||!qe(e.store.defaultGeometrySchema))throw new n("pointcloud:unsupported-geometry-schema","The geometry schema of this point cloud scene layer is not supported.",{})}function ke(e,t){Me(e.spatialReference,t.spatialReference,t.viewingMode)}function Ce(e){return"simple"===e.type||"class-breaks"===e.type||"unique-value"===e.type}function Ne(e){return"mesh-3d"===e.type}function Ue(e){if(null==e||!Ce(e))return!0;if(("unique-value"===e.type||"class-breaks"===e.type)&&null==e.defaultSymbol)return!0;const t=e.getSymbols();if(0===t.length)return!0;for(const r of t){if(!Ne(r)||0===r.symbolLayers.length)return!0;for(const e of r.symbolLayers.items)if("fill"!==e.type||a(e.material)||a(e.material.color)||"replace"!==e.material.colorMixMode)return!0}return!1}const We=V({color:[0,0,0,0],opacity:0});class Ae{constructor(){this.edgeMaterial=null,this.material=null,this.castShadows=!0}}function De(e){const t=new Ae;let r=!1,n=!1;for(const a of e.symbolLayers.items)if("fill"===a.type&&a.enabled){const e=a.material,i=a.edges;if(o(e)&&!r){const n=e.color,i=H(e.colorMixMode);o(n)?t.material={color:[n.r/255,n.g/255,n.b/255],alpha:n.a,colorMixMode:i}:t.material={color:[1,1,1],alpha:1,colorMixMode:J.Multiply},t.castShadows=a.castShadows,r=!0}o(i)&&!n&&(t.edgeMaterial=Z(i,{}),n=!0)}return t.material||(t.material={color:[1,1,1],alpha:1,colorMixMode:J.Multiply}),t}function Fe(e,t){return(0|e)+(0|t)|0}function _e(e,t,r,n,o=0){n===A(n)?t.isGeographic?et(e,r,t,o):Ye(e,r,t,o):t.isWGS84&&(n.isWebMercator||L(n))?Pe(t,e,n,r,o):t.isWebMercator&&L(n)?Je(t,e,n,r,o):e===r?(r.center[2]+=o,N(r.center,t,0,r.center,n,0,1)):(g(r.center,e.center[0],e.center[1],e.center[2]+o),N(r.center,t,0,r.center,n,0,1),h(r.quaternion,e.quaternion),b(r.halfSize,e.halfSize))}function Oe(e,t,r,n,o){if(h(o.quaternion,e.quaternion),n===P.Global){m(Be,e.quaternion),w(Ge,e.center,Be),T(Ke,Ge),E(Le,Ke,e.halfSize),M(Le,Ke,Le);const n=v(Le);I(Le,Ke,e.halfSize);const a=v(Le);if(n<r)b(o.center,e.center),g(Ge,r,r,r),I(o.halfSize,e.halfSize,Ge);else{const i=a>0?1+t/a:1,s=n>0?1+r/n:1,c=(s+i)/2,l=(s-i)/2;R(o.halfSize,Ke,l),j(o.halfSize,o.halfSize,e.halfSize,c),R(o.center,Ke,c),j(o.center,o.center,e.halfSize,l),x(Ge,Ge),q(o.center,o.center,Ge),w(o.center,o.center,o.quaternion)}}else{const n=g(Ge,0,0,1);j(o.center,e.center,n,(r+t)/2),m(Be,e.quaternion),w(n,n,Be),T(n,n),j(o.halfSize,e.halfSize,n,(r-t)/2)}return o}const Ge=k(),Ke=k(),Le=k(),Be=S();function Pe(e,t,r,n,o){b(Ze,t.center),Ze[2]+=o;const a=A(r);N(Ze,e,0,Ze,a,0,1),Xe(a,t,Ze,r,n)}const $e=new Float64Array(24),Qe={data:$e,size:3},Ve=k(),Ze=k(),He=f();function Je(e,t,r,n,o){b(Ze,t.center),Ze[2]+=o,Xe(e,t,Ze,r,n)}function Xe(e,t,r,n,o){const a=l(He,t.quaternion);for(let i=0;i<8;++i){for(let e=0;e<3;++e)Ve[e]=t.halfSize[e]*(0!=(i&1<<e)?-1:1);for(let e=0;e<3;++e){let t=r[e];for(let r=0;r<3;++r)t+=Ve[r]*a[3*r+e];$e[3*i+e]=t}}N($e,e,0,$e,n,0,8),Y(Qe,o)}function Ye(e,t,r,n){ee(e,ct),g(t.center,e.center[0],e.center[1],e.center[2]+n),U(r,t.center,it,A(r)),g(t.center,it[12],it[13],it[14]);const o=2*Math.sqrt(1+it[0]+it[5]+it[10]);st[0]=(it[6]-it[9])/o,st[1]=(it[8]-it[2])/o,st[2]=(it[1]-it[4])/o,st[3]=.25*o,d(t.quaternion,st,e.quaternion),m(st,t.quaternion);let a=0,i=0,s=0;for(const c of ct)c[2]+=n,N(c,r,0,c,A(r),0,1),M(pt,c,t.center),w(pt,pt,st),a=Math.max(a,Math.abs(pt[0])),i=Math.max(i,Math.abs(pt[1])),s=Math.max(s,Math.abs(pt[2]));g(t.halfSize,a,i,s)}function et(e,t,r,n){const o=D(r),a=1+Math.max(0,n)/(o.radius+e.center[2]);g(t.center,e.center[0],e.center[1],e.center[2]+n),N(t.center,r,0,t.center,A(r),0,1),h(t.quaternion,e.quaternion),m(st,e.quaternion),g(pt,0,0,1),w(pt,pt,st),g(pt,e.halfSize[0]*Math.abs(pt[0]),e.halfSize[1]*Math.abs(pt[1]),e.halfSize[2]*Math.abs(pt[2])),R(pt,pt,o.inverseFlattening),I(t.halfSize,e.halfSize,pt),R(t.halfSize,t.halfSize,a)}function tt(e,t,r,n,i,s){if(!s||0===s.length||a(t))return null;const c=Q(e.mbs,i,r,t);let l;u(mt,c);const f=()=>{if(!l)if(l=ct,O(ft),o(e.serviceObb)){_e(e.serviceObb,r,ut,t,i),ee(ut,l);for(const e of l)z(e,e,mt),G(ft,e)}else{const n=e.mbs,o=n[3];W(n,r,pt,t),z(pt,pt,mt),pt[2]+=i;for(let e=0;e<8;++e){const t=1&e?o:-o,r=2&e?o:-o,n=4&e?o:-o,a=l[e];b(a,[pt[0]+t,pt[1]+r,pt[2]+n]),G(ft,a)}}};let p=1/0,h=-1/0;const m=e=>{if("replace"!==e.type)return;const r=e.geometry;if(!r.hasZ)return;O(lt);const o=r.spatialReference||n,a=r.rings.reduce(((e,r)=>r.reduce(((e,r)=>(W(r,o,pt,t),z(pt,pt,mt),G(lt,pt),Math.min(pt[2],e))),e)),1/0);f(),K(ft,lt)&&(p=Math.min(p,a),h=Math.max(h,a))};if(s.forEach((e=>m(e))),p===1/0)return null;const d=(e,t,r)=>{z(pt,r,c),e[t+0]=pt[0],e[t+1]=pt[1],e[t+2]=pt[2],t+=24,r[2]=p,z(pt,r,c),e[t+0]=pt[0],e[t+1]=pt[1],e[t+2]=pt[2],t+=24,r[2]=h,z(pt,r,c),e[t+0]=pt[0],e[t+1]=pt[1],e[t+2]=pt[2]};for(let o=0;o<8;++o)d(ht.data,3*o,l[o]);return Y(ht)}function rt(e){return o(e)&&e.halfSize[0]>=0}function nt(e){return e[3]>=0}function ot(e){o(e)&&(e.halfSize[0]=-1)}function at(e){o(e)&&(e[3]=-1)}const it=p(),st=y(),ct=[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]],lt=_(),ft=_(),ut=X(),pt=[0,0,0],ht={data:new Array(72),size:3},mt=p();export{ce as MbsIntersectResult,Ae as SymbolInfo,Fe as addWraparound,ke as checkPointCloudLayerCompatibleWithView,ze as checkPointCloudLayerValid,xe as checkSceneLayerCompatibleWithView,je as checkSceneLayerValid,Me as checkSpatialReference,Ie as checkSpatialReferences,Oe as computeOffsetObb,tt as computeVisibilityObb,re as containsDraco,te as extractWkid,oe as filterInPlace,fe as findFieldsCaseInsensitive,ne as findIntersectingNodes,Ee as getCacheKeySuffix,be as getCachedAttributeValue,se as getClipRect,we as getIndexCrs,De as getSymbolInfo,Te as getVertexCrs,le as intersectBoundingRectWithMbs,at as invalidateMbs,ot as invalidateObb,ve as isSupportedLocalModeProjection,nt as isValidMbs,rt as isValidObb,ae as objectIdFilter,ye as queryAttributesFromCachedAttributesId,Ue as rendererNeedsTextures,_e as transformObb,We as transparentEdgeMaterial,ue as whenGraphicAttributes};
|