@arcgis/core 4.23.0-next.20220104 → 4.23.0-next.20220119
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/components/assets/calcite-date-picker/nls/bg.json +31 -0
- package/assets/components/assets/calcite-icon/centerAlign16.json +1 -0
- package/assets/components/assets/calcite-icon/centerAlign24.json +1 -0
- package/assets/components/assets/calcite-icon/centerAlign32.json +1 -0
- package/assets/components/assets/calcite-icon/checkSquareF16.json +1 -0
- package/assets/components/assets/calcite-icon/checkSquareF24.json +1 -0
- package/assets/components/assets/calcite-icon/checkSquareF32.json +1 -0
- package/assets/components/assets/calcite-icon/convert16.json +1 -0
- package/assets/components/assets/calcite-icon/convert24.json +1 -0
- package/assets/components/assets/calcite-icon/convert32.json +1 -0
- package/assets/components/assets/calcite-icon/explore16.json +1 -0
- package/assets/components/assets/calcite-icon/explore24.json +1 -0
- package/assets/components/assets/calcite-icon/explore32.json +1 -0
- package/assets/components/assets/calcite-icon/formDropdown16.json +1 -0
- package/assets/components/assets/calcite-icon/formDropdown24.json +1 -0
- package/assets/components/assets/calcite-icon/formDropdown32.json +1 -0
- package/assets/components/assets/calcite-icon/language16.json +1 -0
- package/assets/components/assets/calcite-icon/language24.json +1 -0
- package/assets/components/assets/calcite-icon/language32.json +1 -0
- package/assets/components/assets/calcite-icon/languageTranslate16.json +1 -0
- package/assets/components/assets/calcite-icon/languageTranslate24.json +1 -0
- package/assets/components/assets/calcite-icon/languageTranslate32.json +1 -0
- package/assets/components/assets/calcite-icon/leftAlign16.json +1 -0
- package/assets/components/assets/calcite-icon/leftAlign24.json +1 -0
- package/assets/components/assets/calcite-icon/leftAlign32.json +1 -0
- package/assets/components/assets/calcite-icon/lineSolid4.json +1 -0
- package/assets/components/assets/calcite-icon/partlyCloudy16.json +1 -0
- package/assets/components/assets/calcite-icon/partlyCloudy24.json +1 -0
- package/assets/components/assets/calcite-icon/partlyCloudy32.json +1 -0
- package/assets/components/assets/calcite-icon/rightAlign16.json +1 -0
- package/assets/components/assets/calcite-icon/rightAlign24.json +1 -0
- package/assets/components/assets/calcite-icon/rightAlign32.json +1 -0
- package/assets/components/assets/calcite-icon/screenshotMode16.json +1 -0
- package/assets/components/assets/calcite-icon/screenshotMode24.json +1 -0
- package/assets/components/assets/calcite-icon/screenshotMode32.json +1 -0
- package/assets/components/assets/calcite-icon/squareF16.json +1 -0
- package/assets/components/assets/calcite-icon/squareF24.json +1 -0
- package/assets/components/assets/calcite-icon/squareF32.json +1 -0
- package/assets/components/assets/calcite-icon/terminal16.json +1 -0
- package/assets/components/assets/calcite-icon/terminal24.json +1 -0
- package/assets/components/assets/calcite-icon/terminal32.json +1 -0
- package/assets/components/assets/calcite-icon/touch16.json +1 -0
- package/assets/components/assets/calcite-icon/touch24.json +1 -0
- package/assets/components/assets/calcite-icon/touch32.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagon16.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagon24.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagon32.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagonF16.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagonF24.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagonF32.json +1 -0
- package/assets/components/assets/calcite-icon/xOctagonF16.json +1 -0
- package/assets/components/assets/calcite-icon/xOctagonF24.json +1 -0
- package/assets/components/assets/calcite-icon/xOctagonF32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/01ef8de7f76a8c61b464.js +1 -0
- package/assets/esri/core/workers/chunks/05db312a0ca6bd3f014a.js +1 -0
- package/assets/esri/core/workers/chunks/09da224052976e290828.js +1 -0
- package/assets/esri/core/workers/chunks/{2c9af2ebd72d9b55329b.js → 0f254c3e91e8fee55f28.js} +1 -1
- package/assets/esri/core/workers/chunks/{ce5ca5e95b2378ec55b9.js → 1305ef8717da6e902a55.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a2e5b267a0cbf8553b7.js → 1b28042fdf3f4dbc8ea5.js} +1 -1
- package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +1 -0
- package/assets/esri/core/workers/chunks/21a77eed1a4ef5b0ff08.js +1 -0
- package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +1 -0
- package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +1 -0
- package/assets/esri/core/workers/chunks/{9c417740bf3707a0d465.js → 2c607d30ff8ca1b61286.js} +1 -1
- package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +1 -0
- package/assets/esri/core/workers/chunks/3564e14010953def6df9.js +1 -0
- package/assets/esri/core/workers/chunks/37a7bd30352b1309b8f8.js +1 -0
- package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +1 -0
- package/assets/esri/core/workers/chunks/{3d5169ea9810d10caf0d.js → 3a9740dccda6a733313c.js} +1 -1
- package/assets/esri/core/workers/chunks/403c7d64f12f00330d88.js +1 -0
- package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +1 -0
- package/assets/esri/core/workers/chunks/4409d77c9734de4e82a7.js +1 -0
- package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 47395d225229d237f0ac.js} +1 -1
- package/assets/esri/core/workers/chunks/4b69129c0557852d9b3d.js +1 -0
- package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.js +1 -0
- package/assets/esri/core/workers/chunks/5ac4c1d54b94c7d87835.js +1 -0
- package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +1 -0
- package/assets/esri/core/workers/chunks/618076e6de605873e433.js +1 -0
- package/assets/esri/core/workers/chunks/{ba6fdaed6c315dc13981.js → 625d2663daa8e0cf64b0.js} +1 -1
- package/assets/esri/core/workers/chunks/631c5b514bb73782c570.js +1 -0
- package/assets/esri/core/workers/chunks/{3a2b2dc3e938d53faa30.js → 64276aacaafa4c8a15bd.js} +1 -1
- package/assets/esri/core/workers/chunks/{75466e0c8c8da499b150.js → 662d13f68cf3ec92439b.js} +1 -1
- package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +1 -0
- package/assets/esri/core/workers/chunks/6c1e92ff4c732dfda756.js +1 -0
- package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
- package/assets/esri/core/workers/chunks/75d53b28afe732c459b2.js +1 -0
- package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +1 -0
- package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js → 7a8764ae8a0041e1151d.js} +2 -2
- package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js.LICENSE.txt → 7a8764ae8a0041e1151d.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/7e596478507466953e65.js +1 -0
- package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +1 -0
- package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +1 -0
- package/assets/esri/core/workers/chunks/8cbb04a9065aa3756638.js +1 -0
- package/assets/esri/core/workers/chunks/{9846098704ee38bf6350.js → 8fdd5bca3716816d359b.js} +1 -1
- package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +1 -0
- package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +1 -0
- package/assets/esri/core/workers/chunks/9d77467aa71d345fc1b6.js +1 -0
- package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 9d9dffc8884d66a258e4.js} +1 -1
- package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
- package/assets/esri/core/workers/chunks/{a721342a32541717324d.js → a28b53c61bddefb6616e.js} +1 -1
- package/assets/esri/core/workers/chunks/{9b7c51ff3d2b42aa62f5.js → a7b1b75643ed31489495.js} +1 -1
- package/assets/esri/core/workers/chunks/a8b13fb804bb775e4967.js +1 -0
- package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +1 -0
- package/assets/esri/core/workers/chunks/a960074644c3722be71e.js +1 -0
- package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +1 -0
- package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +1 -0
- package/assets/esri/core/workers/chunks/b10fcbe1393c812fc219.js +1 -0
- package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
- package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
- package/assets/esri/core/workers/chunks/b9de831ac379cf1d2969.js +1 -0
- package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +1 -0
- package/assets/esri/core/workers/chunks/{7c1b9ae141112a63b446.js → ba6654a885be4b7a43f0.js} +1 -1
- package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +1 -0
- package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +1 -0
- package/assets/esri/core/workers/chunks/c36f84daa7736878418d.js +1 -0
- package/assets/esri/core/workers/chunks/{b58eba403bd517a7bb15.js → c3eca92d02958732e141.js} +1 -1
- package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
- package/assets/esri/core/workers/chunks/{b51261a9a9ab62388839.js → c8f976e53e232e8da9cc.js} +39 -29
- package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +1 -0
- package/assets/esri/core/workers/chunks/d1454155ee1b8a421cbb.js +1 -0
- package/assets/esri/core/workers/chunks/{0cd583c3233573cb8468.js → d24c4fbc567486b1188f.js} +1 -1
- package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +1 -0
- package/assets/esri/core/workers/chunks/dd433c160f7a0c120b82.js +1 -0
- package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
- package/assets/esri/core/workers/chunks/e2d68bcd2f99a65387bf.js +1 -0
- package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +1 -0
- package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +1 -0
- package/assets/esri/core/workers/chunks/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
- package/assets/esri/core/workers/chunks/{6deac533bb455be4004b.js → ef8b75b92cf549e0507e.js} +1 -1
- package/assets/esri/core/workers/chunks/f7fc4c993536e62f7f3e.js +1 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.svg +1 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.ttf +0 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.woff +0 -0
- package/assets/esri/themes/base/icons/selection.json +1 -1
- package/assets/esri/themes/base/icons/style.css +4 -0
- package/assets/esri/themes/base/icons/style.scss +6 -0
- package/assets/esri/themes/base/icons/variables.scss +1 -0
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
- package/chunks/Clouds.glsl.js +14 -14
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/HUDMaterial.glsl.js +22 -21
- package/chunks/RibbonLine.glsl.js +10 -14
- package/chunks/persistableUrlUtils.js +1 -1
- package/chunks/vec32.js +1 -1
- package/chunks/vec42.js +1 -1
- package/core/urlUtils.js +1 -1
- package/form/elements/FieldElement.js +1 -1
- package/geometry/support/buffer/math/common.js +1 -1
- package/interfaces.d.ts +100 -57
- package/layers/FeatureLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/ogc/crsUtils.js +5 -0
- package/layers/support/RasterFunction.js +1 -1
- package/layers/support/capabilities.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/wmsUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/package.json +5 -5
- package/rasterRenderers.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/request.js +1 -1
- package/rest/print.js +1 -1
- package/rest/support/ImageIdentifyParameters.js +1 -1
- package/rest/support/StatisticDefinition.js +1 -1
- package/smartMapping/raster/renderers/classBreaks.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/support/featureFlags.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/ExtrudeSymbol3DLayer.js +1 -1
- package/symbols/Font.js +1 -1
- package/symbols/IconSymbol3DLayer.js +1 -1
- package/symbols/ObjectSymbol3DLayer.js +1 -1
- package/symbols/PathSymbol3DLayer.js +1 -1
- package/symbols/TextSymbol.js +1 -1
- package/symbols/TextSymbol3DLayer.js +1 -1
- package/symbols/support/Symbol3DHalo.js +1 -1
- package/symbols/support/Symbol3DMaterial.js +1 -1
- package/symbols/support/constants.js +5 -0
- package/symbols/support/utils.js +1 -1
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +5 -0
- package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
- package/views/2d/engine/webgl/MaterialManager.js +1 -1
- package/views/2d/engine/webgl/alignmentUtils.js +1 -1
- package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
- package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
- package/views/2d/engine/webgl/shaders/BlendPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
- package/views/2d/layers/BaseLayerView2D.js +1 -1
- package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/WMSLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/support/engineHelpers.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/environment/CloudyWeather.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/FoggyWeather.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/3d/environment/RainyWeather.js +1 -1
- package/views/3d/environment/Stars.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MapImageLayerView3D.js +1 -1
- package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/WMSLayerView3D.js +1 -1
- package/views/3d/layers/WMTSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3DDebugger.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/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/Overlay.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +7 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +28 -24
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/InstanceParameters.js +5 -0
- package/views/3d/webgl-engine/lib/{localOrigin.js → LocalOriginFactory.js} +0 -0
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/RenderTargetHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/LayerViewManager.js +1 -1
- package/views/MapView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.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/FeatureServiceTiledFetcher.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/OGCFeatureLayerView.js +1 -1
- package/views/layers/RefreshableLayerView.js +1 -1
- package/views/overlay/ViewOverlay.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/WatchUpdatingTracking.js +1 -1
- package/views/support/imageReprojection.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/ContextState.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/views/webgl/ProgramCache.js +1 -1
- package/views/webgl/ProgramTemplate.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/ShaderTranspiler.js +1 -1
- package/views/webgl/UniformBufferLayout.js +5 -0
- package/views/webgl/UniformBufferObject.js +5 -0
- package/views/webgl/enums.js +1 -1
- package/views/webgl/rasterUtils.js +1 -1
- package/views/webgl/storageLayouts.js +5 -0
- package/views/webgl/testDoublePrecisionArithmetic.js +1 -1
- package/views/webgl/testFloatBufferBlend.js +1 -1
- package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
- package/views/webgl/testSamplerPrecision.js +1 -1
- package/views/webgl/tests/SimpleDraw.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
- package/widgets/Editor/BatchCreateWorkflow.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm/InputFieldGroup.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList/support/layerListUtils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Weather/CoverageSlider.js +5 -0
- package/widgets/Weather/WeatherViewModel.js +1 -1
- package/widgets/Weather/css.js +1 -1
- package/widgets/Weather.js +1 -1
- package/assets/esri/core/workers/chunks/0881ce46b10362861f87.js +0 -1
- package/assets/esri/core/workers/chunks/0c0a02770eeeb3e28ea1.js +0 -1
- package/assets/esri/core/workers/chunks/0d2effbd84a9482eb639.js +0 -1
- package/assets/esri/core/workers/chunks/0f04246c1b591a3ac74d.js +0 -1
- package/assets/esri/core/workers/chunks/1ac6be0dc25e16c75d06.js +0 -1
- package/assets/esri/core/workers/chunks/1f8110ea12d65ca94b55.js +0 -1
- package/assets/esri/core/workers/chunks/2025d0fd61a64876c81b.js +0 -1
- package/assets/esri/core/workers/chunks/241859d74c0daac62e11.js +0 -1
- package/assets/esri/core/workers/chunks/331be347c1b1ca0be2d2.js +0 -1
- package/assets/esri/core/workers/chunks/39af317388ecebb4387d.js +0 -1
- package/assets/esri/core/workers/chunks/39be2893a7dbdecfd65a.js +0 -1
- package/assets/esri/core/workers/chunks/3a20f66b0b7d08064e34.js +0 -1
- package/assets/esri/core/workers/chunks/445099d037affd139ed0.js +0 -1
- package/assets/esri/core/workers/chunks/45848fecec88ed2da33d.js +0 -1
- package/assets/esri/core/workers/chunks/48d3a3abc53abe6a4017.js +0 -1
- package/assets/esri/core/workers/chunks/5005b8c1fdd5cb9a4c19.js +0 -1
- package/assets/esri/core/workers/chunks/52e4c367c72ea7cc3457.js +0 -1
- package/assets/esri/core/workers/chunks/5d8170f6207dbeb4de1b.js +0 -1
- package/assets/esri/core/workers/chunks/642c38ac00a962f35d44.js +0 -1
- package/assets/esri/core/workers/chunks/64459604505647e9c714.js +0 -1
- package/assets/esri/core/workers/chunks/653d1550dd1a4867a9fc.js +0 -1
- package/assets/esri/core/workers/chunks/65f73fbbc3c7c60c6d3d.js +0 -1
- package/assets/esri/core/workers/chunks/6db7081d344bea26ef64.js +0 -1
- package/assets/esri/core/workers/chunks/6e13dab8ec43f7494297.js +0 -1
- package/assets/esri/core/workers/chunks/7bd4c3ee43fb038b88d8.js +0 -1
- package/assets/esri/core/workers/chunks/803de5097a8a2c4b58a8.js +0 -1
- package/assets/esri/core/workers/chunks/8298231a0fd0129b0d5c.js +0 -1
- package/assets/esri/core/workers/chunks/8500c6c011400af1b7bd.js +0 -1
- package/assets/esri/core/workers/chunks/8b322a2a47dfdbb59b45.js +0 -1
- package/assets/esri/core/workers/chunks/8f83bebef9174c3f15da.js +0 -1
- package/assets/esri/core/workers/chunks/904332faa22bc0e876cb.js +0 -1
- package/assets/esri/core/workers/chunks/950565d1e682fc4072e1.js +0 -1
- package/assets/esri/core/workers/chunks/a247ddd84245c81112c8.js +0 -1
- package/assets/esri/core/workers/chunks/a9ffa806df20130ecfb6.js +0 -1
- package/assets/esri/core/workers/chunks/af13e534e4160636bd3d.js +0 -1
- package/assets/esri/core/workers/chunks/b2f62234ebb8b6158baa.js +0 -1
- package/assets/esri/core/workers/chunks/b5bb7cfa26b1f0cec67a.js +0 -1
- package/assets/esri/core/workers/chunks/b8666d1a4e4fff7a4703.js +0 -1
- package/assets/esri/core/workers/chunks/bea1da9e3f878e0e2c83.js +0 -1
- package/assets/esri/core/workers/chunks/c1b6c31fa3ec1542f996.js +0 -1
- package/assets/esri/core/workers/chunks/c32a4fbdc87225f84019.js +0 -1
- package/assets/esri/core/workers/chunks/c67fea81f69a60c0eaef.js +0 -1
- package/assets/esri/core/workers/chunks/d336afd5890dcdbf5341.js +0 -1
- package/assets/esri/core/workers/chunks/da69e3e5949fe1716e34.js +0 -1
- package/assets/esri/core/workers/chunks/daa9c450b2e2a5371249.js +0 -1
- package/assets/esri/core/workers/chunks/dd63ba77b7e4c3c9c594.js +0 -1
- package/assets/esri/core/workers/chunks/dfa57982d28c9aeb97b9.js +0 -1
- package/assets/esri/core/workers/chunks/e01812116b27874948f0.js +0 -1
- package/assets/esri/core/workers/chunks/e5c9d8482b913cf3580a.js +0 -1
- package/assets/esri/core/workers/chunks/eeadd92f0bede9fc8745.js +0 -1
- package/assets/esri/core/workers/chunks/fbb67cb6224aed2cce16.js +0 -1
- package/assets/esri/core/workers/chunks/feeaf61424336e9eac88.js +0 -1
- package/assets/esri/core/workers/chunks/ff02295329a8986d0568.js +0 -1
- package/views/2d/engine/webgl/mesh/templates/meshUtils.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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../chunks/tslib.es6.js";import e from"../../../../core/Accessor.js";import{bidiText as s}from"../../../../core/BidiText.js";import{HandleOwnerMixin as i}from"../../../../core/HandleOwner.js";import r from"../../../../core/has.js";import{isSome as o,isNone as a}from"../../../../core/maybe.js";import{throwIfAborted as h,isAbortError as n,throwIfAbortError as l}from"../../../../core/promiseUtils.js";import{property as d}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../../core/accessorSupport/decorators/subclass.js";import c from"../../../../geometry/SpatialReference.js";import{width as g,height as u,create as m}from"../../../../geometry/support/aaBoundingRect.js";import{closeRingsAndFixWinding as _}from"../../../../geometry/support/coordsUtils.js";import{getJsonType as f,isPolygon as y,isPolyline as b,isExtent as S,isPoint as w,isMultipoint as T}from"../../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridianSync as I}from"../../../../geometry/support/normalizeUtilsSync.js";import{getInfo as v}from"../../../../geometry/support/spatialReferenceUtils.js";import{checkProjectionSupport as G,project as M}from"../../../../layers/graphics/data/projectionSupport.js";import{symbolToCIM as U}from"../../../../symbols/cim/CIMSymbolHelper.js";import{errorPolylineSymbol2D as C,errorPolygonSymbol2D as j,errorPointSymbol2D as P}from"../../../../symbols/support/defaults.js";import{FILTER_FLAG_0 as x}from"../../engine/webgl/definitions.js";import{GraphicTile as A}from"../../engine/webgl/GraphicTile.js";import{TileData as R}from"../../engine/webgl/TileData.js";import q from"../../engine/webgl/WGLDisplayObject.js";import{MeshData as z}from"../../engine/webgl/mesh/MeshData.js";import{WGLMeshFactory as D}from"../../engine/webgl/mesh/factories/WGLMeshFactory.js";import{WGLTemplateStore as H}from"../../engine/webgl/mesh/templates/WGLTemplateStore.js";import{createMatcher as O}from"../../engine/webgl/util/Matcher.js";import{createMatcherSchema as F,createSymbolSchema as k}from"../features/schemaUtils.js";import E from"../features/support/AttributeStore.js";import{ComputedAttributeStorage as N}from"../features/support/ComputedAttributeStorage.js";import{GraphicsReader as V}from"../features/support/GraphicsReader.js";import B from"./GraphicStore.js";import{intersectingInternationalDateline as L,isMarkerSymbol as W,isTextSymbol as J,polygonFromExtent as Z,TILE_SIZE as K,PIXEL_BUFFER as Q}from"./graphicsUtils.js";import{expandSymbol as X}from"../support/cimSymbolUtils.js";import{GraphicsView as Y}from"../../../layers/GraphicsView.js";import{getWebGL1Capabilities as $}from"../../../webgl/capabilities.js";const tt=r("esri-2d-graphic-debug");function et(t,e,s){if(s.has(t))return s.get(t);const i={tile:e,addedOrModified:[],removed:[]};return s.set(t,i),i}let st=class extends(Y(i(e))){constructor(t){super(t),this._storage=new N,this._displayIds=new Map,this._controller=new AbortController,this._tiles=new Map,this._graphicStoreUpdate=!1,this._graphicsSet=new Set,this._matcher=Promise.resolve(null),this._tileUpdateSet=new Set,this._tilesToUpdate=new Map,this._graphicIdToAbortController=new Map,this._attached=!1,this._highlightIds=new Map,this._updatingGraphicsTimer=null,this._hashToExpandedSymbol=new Map,this._hashToExpandedSymbolPromise=new Map,this._hashToCIMSymbolPromise=new Map,this._hashToCIM=new Map,this._processing=!1,this._needsProcessing=!1,this._pendingUpdate={added:new Set,updated:new Set,removed:new Set},this.lastUpdateId=-1,this.updateRequested=!1,this.graphicUpdateHandler=this.graphicUpdateHandler.bind(this)}_createMatcher(t,e,s){if(t){const i=F({indexCount:0,fields:{}},"feature",t);this._matcher=O(i,e,null,s)}}_createDisplayId(t){return this._displayIds.has(t)||this._displayIds.set(t,this._storage.createDisplayId()),this._displayIds.get(t)}initialize(){this._attributeStore=new E({type:"local",initialize:t=>Promise.resolve(this.container.attributeView.initialize(t)),update:t=>this.container.attributeView.requestUpdate(t),render:()=>this.container.requestRender()},$()),this.container.hasHighlight=()=>!!this._highlightIds.size;const t=t=>{this._createDisplayId(t.uid),this._setFilterState(t.uid,t.visible)},e=t=>{const e=this._displayIds.get(t.uid);this._displayIds.delete(t.uid),this._storage.releaseDisplayId(e)},s=new H(this.container.getMaterialItems.bind(this.container),this.view.featuresTilingScheme.tileInfo);this._graphicStore=new B(this.view.featuresTilingScheme,this.view.state.scale,this.uid,this.graphics,t,e,this._hashToCIM),this._meshFactory=new D(null,this.uid,s),this._templateStore=s,this.handles.add([this.watch("renderer",(t=>{this._createMatcher(t,s,this.container.stage.resourceManager);for(const e of this.graphics)this._pendingUpdate.updated.add(e);this.requestUpdate()})),this.view.graphicsTileStore.on("update",(t=>this._onTileUpdate(t))),this.container.on("attach",(()=>{tt&&this.container.enableRenderingBounds((()=>this._graphicStore.getAllBounds())),this.graphics.items.length>0&&this._graphicsChangeHandler({target:this.graphics,added:this.graphics.items,removed:[],moved:[]}),this.handles.add(this.graphics.on("change",(t=>this._graphicsChangeHandler(t))),"graphics");const t=this.container.stage.resourceManager;this._createMatcher(this.renderer,s,t),this._graphicStore.setResourceManager(t),this._attached=!0,this.notifyChange("updating")}))]);const i=this.view.graphicsTileStore.tiles;this._onTileUpdate({added:i,removed:[]})}destroy(){this._updatingGraphicsTimer&&(clearTimeout(this._updatingGraphicsTimer),this._updatingGraphicsTimer=null,this.notifyChange("updating")),this._controller.abort(),this.container.destroy(),this._set("graphics",null),this._graphicStore.clear(),this._attributeStore=null,this._hashToExpandedSymbol.clear(),this.view=null,this.renderer=null,this._hashToCIM.clear(),this._hashToCIMSymbolPromise.clear(),this._hashToExpandedSymbolPromise.clear()}get updating(){return!this._attached||null!==this._updatingGraphicsTimer||this._tileUpdateSet.size>0||this._tilesToUpdate.size>0}hitTest(t){if(!this.view||!this.view.position)return null;const{resolution:e,rotation:s}=this.view.state;return this._graphicStore.hitTest(t.x,t.y,2,e,s)}update(t){h(this._controller.signal);const e=t.state,{resolution:s}=e;if(this._graphicStore.updateLevel(s),this._graphicStoreUpdate=!0,this.updateRequested=!1,this._pendingUpdate.updated.size>0){if(!this._processing)return void this._updateGraphics();this._needsProcessing=!0}}viewChange(){this.requestUpdate()}requestUpdate(){this.updateRequested||(this.updateRequested=!0,this.requestUpdateCallback())}processUpdate(t){this.updateRequested&&(this.updateRequested=!1,this.update(t))}graphicUpdateHandler(t){const{graphic:e,property:s,newValue:i}=t;switch(s){case"attributes":break;case"geometry":case"symbol":this._pendingUpdate.updated.add(e),this.requestUpdate();break;case"visible":this._setFilterState(e.uid,i),this._attributeStore.sendUpdates()}}addHighlight(t){for(const e of t)if(this._highlightIds.has(e)){const t=this._highlightIds.get(e);this._highlightIds.set(e,t+1)}else this._highlightIds.set(e,1);this._updateHighlight()}removeHighlight(t){for(const e of t)if(this._highlightIds.has(e)){const t=this._highlightIds.get(e)-1;0===t?this._highlightIds.delete(e):this._highlightIds.set(e,t)}this._updateHighlight()}_updateHighlight(){const t=Array.from(this._highlightIds.keys()),e=t.map((t=>this._displayIds.get(t)));this._attributeStore.setHighlight(t,e)}_getIntersectingTiles(t){const e=this._graphicStore.getBounds(t);if(!e||0===g(e)||0===u(e))return[];const s=L(e,this.view.spatialReference);return o(s)?[...new Set([...this.view.graphicsTileStore.boundsIntersections(s[0]),...this.view.graphicsTileStore.boundsIntersections(s[1])])]:this.view.graphicsTileStore.boundsIntersections(e)}async _updateTile(t){h(this._controller.signal);const e=t.tile,s=this._getGraphicsData(this._templateStore,e,t.addedOrModified),i=await this._processGraphics(e,s);return h(this._controller.signal),this._patchTile(e.key,{type:"update",addOrUpdate:i,remove:t.removed,end:!0,clear:!1,sort:!1}),i}_patchTile(t,e){if(!this._tiles.has(t))return;const s=this._tiles.get(t);this.container.onTileData(s,e),this.container.requestRender()}_graphicsChangeHandler(t){const e=this._pendingUpdate;for(const s of t.added)e.added.add(s);for(const s of t.moved)e.updated.add(s);for(const s of t.removed)this._pendingUpdate.added.has(s)?e.added.delete(s):e.removed.add(s);this._processing?this._needsProcessing=!0:this._updateGraphics()}_getGraphicsToUpdate(){const t={added:[],removed:[],updated:[]};if(!this.graphics)return t;const e=this._pendingUpdate;for(const s of this.graphics.items)e.added.has(s)?t.added.push(s):e.updated.has(s)&&t.updated.push(s);for(const s of e.removed)this._graphicStore.has(s)&&t.removed.push(s);return e.added.clear(),e.removed.clear(),e.updated.clear(),t}async _updateGraphics(){this._processing=!0;const{added:t,removed:e,updated:s}=this._getGraphicsToUpdate(),i=this._tilesToUpdate;let r;try{if(!this._graphicStoreUpdate){const t=this.view.state,{resolution:e}=t;this._graphicStore.updateLevel(e)}const o=[],a=new Array(t.length+e.length);for(let t=0;t<s.length;t++){const e=s[t],h=this._getIntersectingTiles(e);for(const t of h){r=t.id;et(r,t,i).removed.push(this._displayIds.get(e.uid))}o.push(this._updateGraphic(e,null)),a[t]=e}const h=s.length;for(let e=0;e<t.length;e++){const s=t[e];a[h+e]=s,this._graphicsSet.add(s),o.push(this._addGraphic(s))}for(const t of e){this._abortProcessingGraphic(t.uid);const e=this._getIntersectingTiles(t);for(const s of e){r=s.id;et(r,s,i).removed.push(this._displayIds.get(t.uid))}this._graphicsSet.delete(t),this._graphicStore.remove(t)}let n;this._flipUpdatingGraphics(),await Promise.all(o);for(let t=0;t<a.length;t++){n=a[t];const e=this._getIntersectingTiles(n);for(const t of e){r=t.id;et(r,t,i).addedOrModified.push(n)}}this._graphicStore.updateZ();const l=[];for(const[t,e]of i)l.push(this._updateTile(e));await Promise.all(l)}catch(o){n(o),0}for(const a of e)try{const t=await this._getSymbolForGraphic(a,{});if(t){const e=t.hash();this._hashToExpandedSymbol.delete(e)}}catch(o){n(o),0}i.clear(),this.notifyChange("updating"),this._processing=!1,this._needsProcessing&&(this._needsProcessing=!1,this._updateGraphics())}_getArcadeInfo(t){const e=(t.attributes?Object.keys(t.attributes):[]).map((e=>({name:e,alias:e,type:"string"==typeof t.attributes[e]?"esriFieldTypeString":"esriFieldTypeDouble"})));return a(t.geometry)?null:{geometryType:f(t.geometry),spatialReference:c.fromJSON(t.geometry.spatialReference),fields:e}}_getSymbolForGraphic(t,e){return h(this._controller.signal),o(t.symbol)?Promise.resolve(t.symbol):o(this.renderer)?this.renderer.getSymbolAsync(t,{scale:this.view.scale,abortOptions:e}):Promise.resolve(this._getNullSymbol(t))}_getCIMSymbol(t,e,s){let i=this._hashToCIM.get(e);if(i)return Promise.resolve(i);const r=U(t);if(o(r)){if("CIMSymbolReference"===r.type)return i=r,this._hashToCIM.set(e,i),Promise.resolve(i);let t=this._hashToCIMSymbolPromise.get(e);return t||(t=r.fetchCIMSymbol(s).then((t=>(this._hashToCIM.set(e,t.data),this._hashToCIMSymbolPromise.delete(e),t))).catch((t=>(this._hashToCIMSymbolPromise.delete(e),l(t),null))),this._hashToCIMSymbolPromise.set(e,t),t)}return Promise.resolve(null)}_expandCIMSymbol(t,e,s,i){const r=this._hashToExpandedSymbol.get(s);if(r)return Promise.resolve(r);let o=this._hashToExpandedSymbolPromise.get(s);if(o)return o;const a=this.container.stage,h=this._getArcadeInfo(e),n=k(t);return o=X(n,h,a.resourceManager,i),this._hashToExpandedSymbolPromise.set(s,o),o.then((t=>(this._hashToExpandedSymbol.set(s,t),this._hashToExpandedSymbolPromise.delete(s),t))),o}async _getSymbolResources(t,e){h(this._controller.signal);return this.container.stage?this._getSymbolForGraphic(t,e).then((i=>{const r=i.hash();return this._getCIMSymbol(i,r,e).then((i=>a(i)?null:this._expandCIMSymbol(i,t,r,e).then((t=>{const e=t.layers.filter((t=>"text"===t.type&&"string"==typeof t.text));if(e&&e.length>0){const i=new Array(e.length);for(let t=0;t<e.length;t++){const r=e[t],o=[],[a]=s(r.text);for(let t=0;t<a.length;t++)o.push(a.charCodeAt(t));i[t]={symbol:r,id:t,glyphIds:o}}const o=new Map;return this.container.getMaterialItems(i).then((s=>{for(let t=0;t<e.length;t++){const i=e[t];o.set(i.cim,{text:i.text,mosaicItem:s[t].mosaicItem})}return{symbol:t,textInfo:o,hash:r}}))}return{symbol:t,hash:r}}))))})).catch((t=>(l(t),null))):null}async _projectAndNormalizeGeometry(t,e){if(h(this._controller.signal),a(t.geometry)||"mesh"===t.geometry.type)return null;let s=t.geometry;if(y(s)){const t=s.rings;s.rings=t}else if(b(s)){const t=s.paths;s.paths=t}else if(S(s)){const i=await this._getSymbolForGraphic(t,e);if(h(this._controller.signal),W(i.type)||J(i.type)){s=s.center}else s=Z(s)}await G(s.spatialReference,this.view.spatialReference);const i=I(s),r=M(i,s.spatialReference,this.view.spatialReference);return _(r),r}_onTileUpdate(t){const e=v(this.view.spatialReference);if(t.added&&t.added.length>0)for(const s of t.added)this._addNewTile(s,e);if(t.removed&&t.removed.length>0)for(const s of t.removed)this._removeTile(s.key)}async _addGraphic(t){this._abortProcessingGraphic(t.uid),h(this._controller.signal);const e=new AbortController;this._graphicIdToAbortController.set(t.uid,e);const s={signal:e.signal};try{await this._addOrUpdateGraphic(t,s),h(this._controller.signal),this._graphicIdToAbortController.delete(t.uid)}catch(i){if(this._graphicIdToAbortController.delete(t.uid),!n(i))throw i}}_updateGraphic(t,e){h(this._controller.signal);const s=this._projectAndNormalizeGeometry(t,e),i=this._getSymbolResources(t,e);return Promise.all([s,i]).then((([e,s])=>{h(this._controller.signal),this._graphicStore.addOrModify(t,s,e)}))}_addOrUpdateGraphic(t,e){h(this._controller.signal);const s=this._projectAndNormalizeGeometry(t,e),i=this._getSymbolResources(t,e);return Promise.all([s,i]).then((([e,s])=>{h(this._controller.signal),this._graphicsSet.has(t)&&this._graphicStore.addOrModify(t,s,e)}))}_addTile(t){const e=this.view.featuresTilingScheme.getTileBounds(m(),t),s=new A(t,e[0],e[3]);return this._tiles.set(t,s),this.container.addChild(s),s}async _addNewTile(t,e){const s=this._addTile(t.key),i=this._graphicStore.queryTileData(this._templateStore,t);if(0===i.length)return;if(e){const s=Math.round((e.valid[1]-e.valid[0])/t.resolution);for(const t of i)t.geometry&&(w(t.geometry)||T(t.geometry))&&this._wrapPoints(t,s)}const r=t.key;this._tileUpdateSet.add(t.key),this.notifyChange("updating");try{const e={type:"update",clear:!1,addOrUpdate:await this._processGraphics(t,i),remove:[],end:!0,sort:!1};s.patch(e),this._tileUpdateSet.delete(r),this.notifyChange("updating")}catch(o){if(this._tileUpdateSet.delete(r),this.notifyChange("updating"),!n(o))throw o}}_removeTile(t){if(!this._tiles.has(t))return;const e=this._tiles.get(t);this.container.removeChild(e),e.destroy(),this._tiles.delete(t)}_setFilterState(t,e){const s=this._displayIds.get(t),i=this._attributeStore.getHighlightFlag(t);this._attributeStore.setData(s,0,0,i|(e?x:0))}_getGraphicsData(t,e,s){const i=this.view,r=v(i.spatialReference),o=this._graphicStore.getGraphicsData(t,e,s);if(r){const t=Math.round((r.valid[1]-r.valid[0])/e.resolution);for(const e of o)e.geometry&&(w(e.geometry)||T(e.geometry))&&this._wrapPoints(e,t)}return o}_wrapPoints(t,e){const s=t.geometry;T(s)?this._wrapMultipoint(s,e):this._wrapPoint(t,e)}_wrapMultipoint(t,e){const s=t.points,i=[];let r=0,o=0;for(const[a,h]of s){if(i.push([a+r,h]),r=0,e===K){const t=5*Q;a+o<t?(i.push([e,0]),r=-e):a+o>K-t&&(i.push([-e,0]),r=e)}else a+o<-Q?(i.push([e,0]),r=-e):a+o>K+Q&&(i.push([-e,0]),r=e);o+=a}t.points=i}_wrapPoint(t,e){const s=t.geometry;if(e===K){const i=5*Q;s.x<i?t.geometry={points:[[s.x,s.y],[e,0]]}:s.x>K-i&&(t.geometry={points:[[s.x,s.y],[-e,0]]})}else s.x<-Q?t.geometry={points:[[s.x,s.y],[e,0]]}:s.x>K+Q&&(t.geometry={points:[[s.x,s.y],[-e,0]]})}_processGraphics(t,e,s){if(!(e&&e.length)||!this._meshFactory)return null;const i=V.from(e),r=this._meshFactory;return this._matcher.then((e=>r.analyzeGraphics(i,this.container.stage.resourceManager,e,null,null,s).then((()=>(this._attributeStore.sendUpdates(),this._processAnalyzedGraphics(t,i))))))}_processAnalyzedGraphics(t,e){const s=this._meshFactory,i=e.getSize(),r=e.getCursor(),o={features:i,records:i,metrics:0},a=new z(t.key.id,o,{fill:"default"},!1,!1),h=[];for(;r.next();){const e=r.readGraphic();e.insertAfter=-1===e.insertAfter?-1:this._displayIds.get(e.insertAfter),e.displayId=this._displayIds.get(e.attributes[this.uid]);const i=new q(e.displayId);i.insertAfter=e.insertAfter,h.push(i),s.writeGraphic(a,r,t.level,this.container.stage.resourceManager)}const n=t.tileInfoView.tileInfo.isWrappable,l=a.serialize(n);if(1!==l.length)return new R;const d=l[0].message;return R.fromVertexData(d,h)}_abortProcessingGraphic(t){if(this._graphicIdToAbortController.has(t)){this._graphicIdToAbortController.get(t).abort()}}_getNullSymbol(t){const e=t.geometry;return b(e)?C:y(e)||S(e)?j:P}_flipUpdatingGraphics(){this._updatingGraphicsTimer&&clearTimeout(this._updatingGraphicsTimer),this._updatingGraphicsTimer=setTimeout((()=>{this._updatingGraphicsTimer=null,this.notifyChange("updating")}),160),this.notifyChange("updating")}};t([d({constructOnly:!0})],st.prototype,"requestUpdateCallback",void 0),t([d()],st.prototype,"container",void 0),t([d({constructOnly:!0})],st.prototype,"graphics",void 0),t([d()],st.prototype,"updating",null),t([d()],st.prototype,"view",void 0),t([d()],st.prototype,"updateRequested",void 0),st=t([p("esri.views.2d.layers.support.GraphicsView2D")],st);const it=st;export{it as default};
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import{bidiText as s}from"../../../../core/BidiText.js";import{HandleOwnerMixin as i}from"../../../../core/HandleOwner.js";import r from"../../../../core/has.js";import{isSome as o,isNone as a}from"../../../../core/maybe.js";import{throwIfAborted as h,isAbortError as n,throwIfAbortError as l}from"../../../../core/promiseUtils.js";import{property as d}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../../core/accessorSupport/decorators/subclass.js";import c from"../../../../geometry/SpatialReference.js";import{width as g,height as u,create as m}from"../../../../geometry/support/aaBoundingRect.js";import{closeRingsAndFixWinding as _}from"../../../../geometry/support/coordsUtils.js";import{getJsonType as f,isPolygon as y,isPolyline as b,isExtent as S,isPoint as w,isMultipoint as T}from"../../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridianSync as v}from"../../../../geometry/support/normalizeUtilsSync.js";import{getInfo as I}from"../../../../geometry/support/spatialReferenceUtils.js";import{checkProjectionSupport as G,project as U}from"../../../../layers/graphics/data/projectionSupport.js";import{symbolToCIM as M}from"../../../../symbols/cim/CIMSymbolHelper.js";import{errorPolylineSymbol2D as C,errorPolygonSymbol2D as j,errorPointSymbol2D as P}from"../../../../symbols/support/defaults.js";import{FILTER_FLAG_0 as x}from"../../engine/webgl/definitions.js";import{GraphicTile as A}from"../../engine/webgl/GraphicTile.js";import{TileData as R}from"../../engine/webgl/TileData.js";import q from"../../engine/webgl/WGLDisplayObject.js";import{MeshData as D}from"../../engine/webgl/mesh/MeshData.js";import{WGLMeshFactory as O}from"../../engine/webgl/mesh/factories/WGLMeshFactory.js";import{WGLTemplateStore as z}from"../../engine/webgl/mesh/templates/WGLTemplateStore.js";import{createMatcher as F}from"../../engine/webgl/util/Matcher.js";import{createMatcherSchema as H,createSymbolSchema as k}from"../features/schemaUtils.js";import E from"../features/support/AttributeStore.js";import{ComputedAttributeStorage as N}from"../features/support/ComputedAttributeStorage.js";import{GraphicsReader as V}from"../features/support/GraphicsReader.js";import B from"./GraphicStore.js";import{intersectingInternationalDateline as L,isMarkerSymbol as W,isTextSymbol as J,polygonFromExtent as Z,TILE_SIZE as K,PIXEL_BUFFER as Q}from"./graphicsUtils.js";import{expandSymbol as X}from"../support/cimSymbolUtils.js";import{GraphicsView as Y}from"../../../layers/GraphicsView.js";import{getWebGL1Capabilities as $}from"../../../webgl/capabilities.js";const ee=r("esri-2d-graphic-debug");function te(e,t,s){if(s.has(e))return s.get(e);const i={tile:t,addedOrModified:[],removed:[]};return s.set(e,i),i}let se=class extends(Y(i(t))){constructor(e){super(e),this._storage=new N,this._displayIds=new Map,this._controller=new AbortController,this._tiles=new Map,this._graphicStoreUpdate=!1,this._graphicsSet=new Set,this._matcher=Promise.resolve(null),this._tileUpdateSet=new Set,this._tilesToUpdate=new Map,this._graphicIdToAbortController=new Map,this._attached=!1,this._updatingGraphicsTimer=null,this._hashToExpandedSymbol=new Map,this._hashToExpandedSymbolPromise=new Map,this._hashToCIMSymbolPromise=new Map,this._hashToCIM=new Map,this._processing=!1,this._needsProcessing=!1,this._pendingUpdate={added:new Set,updated:new Set,removed:new Set},this.lastUpdateId=-1,this.updateRequested=!1,this.graphicUpdateHandler=this.graphicUpdateHandler.bind(this)}destroy(){this._updatingGraphicsTimer&&(clearTimeout(this._updatingGraphicsTimer),this._updatingGraphicsTimer=null,this.notifyChange("updating")),this._controller.abort(),this.container.destroy(),this._set("graphics",null),this._graphicStore.clear(),this._attributeStore=null,this._hashToExpandedSymbol.clear(),this.view=null,this.renderer=null,this._hashToCIM.clear(),this._hashToCIMSymbolPromise.clear(),this._hashToExpandedSymbolPromise.clear()}_createMatcher(e,t,s){if(e){const i=H({indexCount:0,fields:{}},"feature",e);this._matcher=F(i,t,null,s)}}_createDisplayId(e){return this._displayIds.has(e)||this._displayIds.set(e,this._storage.createDisplayId()),this._displayIds.get(e)}initialize(){this._attributeStore=new E({type:"local",initialize:e=>Promise.resolve(this.container.attributeView.initialize(e)),update:e=>this.container.attributeView.requestUpdate(e),render:()=>this.container.requestRender()},$()),this.container.hasHighlight=()=>this._attributeStore.hasHighlight;const e=e=>{this._createDisplayId(e.uid),this._setFilterState(e.uid,e.visible)},t=e=>{const t=this._displayIds.get(e.uid);this._displayIds.delete(e.uid),this._storage.releaseDisplayId(t)},s=new z(this.container.getMaterialItems.bind(this.container),this.view.featuresTilingScheme.tileInfo);this._graphicStore=new B(this.view.featuresTilingScheme,this.view.state.scale,this.uid,this.graphics,e,t,this._hashToCIM),this._meshFactory=new O(null,this.uid,s),this._templateStore=s,this.handles.add([this.watch("renderer",(e=>{this._createMatcher(e,s,this.container.stage.resourceManager);for(const t of this.graphics)this._pendingUpdate.updated.add(t);this.requestUpdate()})),this.view.graphicsTileStore.on("update",(e=>this._onTileUpdate(e))),this.container.on("attach",(()=>{ee&&this.container.enableRenderingBounds((()=>this._graphicStore.getAllBounds())),this.graphics.items.length>0&&this._graphicsChangeHandler({target:this.graphics,added:this.graphics.items,removed:[],moved:[]}),this.handles.add(this.graphics.on("change",(e=>this._graphicsChangeHandler(e))),"graphics");const e=this.container.stage.resourceManager;this._createMatcher(this.renderer,s,e),this._graphicStore.setResourceManager(e),this._attached=!0,this.notifyChange("updating")}))]);const i=this.view.graphicsTileStore.tiles;this._onTileUpdate({added:i,removed:[]})}get updating(){return!this._attached||null!==this._updatingGraphicsTimer||this._tileUpdateSet.size>0||this._tilesToUpdate.size>0}hitTest(e){if(!this.view||!this.view.position)return null;const{resolution:t,rotation:s}=this.view.state;return this._graphicStore.hitTest(e.x,e.y,2,t,s)}update(e){h(this._controller.signal);const t=e.state,{resolution:s}=t;if(this._graphicStore.updateLevel(s),this._graphicStoreUpdate=!0,this.updateRequested=!1,this._pendingUpdate.updated.size>0){if(!this._processing)return void this._updateGraphics();this._needsProcessing=!0}}viewChange(){this.requestUpdate()}requestUpdate(){this.updateRequested||(this.updateRequested=!0,this.requestUpdateCallback())}processUpdate(e){this.updateRequested&&(this.updateRequested=!1,this.update(e))}graphicUpdateHandler(e){const{graphic:t,property:s,newValue:i}=e;switch(s){case"attributes":break;case"geometry":case"symbol":this._pendingUpdate.updated.add(t),this.requestUpdate();break;case"visible":this._setFilterState(t.uid,i),this._attributeStore.sendUpdates()}}setHighlight(e){const t=e.map((e=>this._displayIds.get(e)));this._attributeStore.setHighlight(e,t)}_getIntersectingTiles(e){const t=this._graphicStore.getBounds(e);if(!t||0===g(t)||0===u(t))return[];const s=L(t,this.view.spatialReference);return o(s)?[...new Set([...this.view.graphicsTileStore.boundsIntersections(s[0]),...this.view.graphicsTileStore.boundsIntersections(s[1])])]:this.view.graphicsTileStore.boundsIntersections(t)}async _updateTile(e){h(this._controller.signal);const t=e.tile,s=this._getGraphicsData(this._templateStore,t,e.addedOrModified),i=await this._processGraphics(t,s);return h(this._controller.signal),this._patchTile(t.key,{type:"update",addOrUpdate:i,remove:e.removed,end:!0,clear:!1,sort:!1}),i}_patchTile(e,t){if(!this._tiles.has(e))return;const s=this._tiles.get(e);this.container.onTileData(s,t),this.container.requestRender()}_graphicsChangeHandler(e){const t=this._pendingUpdate;for(const s of e.added)t.added.add(s);for(const s of e.moved)t.updated.add(s);for(const s of e.removed)this._pendingUpdate.added.has(s)?t.added.delete(s):t.removed.add(s);this._processing?this._needsProcessing=!0:this._updateGraphics()}_getGraphicsToUpdate(){const e={added:[],removed:[],updated:[]};if(!this.graphics)return e;const t=this._pendingUpdate;for(const s of this.graphics.items)t.added.has(s)?e.added.push(s):t.updated.has(s)&&e.updated.push(s);for(const s of t.removed)this._graphicStore.has(s)&&e.removed.push(s);return t.added.clear(),t.removed.clear(),t.updated.clear(),e}async _updateGraphics(){this._processing=!0;const{added:e,removed:t,updated:s}=this._getGraphicsToUpdate(),i=this._tilesToUpdate;let r;try{if(!this._graphicStoreUpdate){const e=this.view.state,{resolution:t}=e;this._graphicStore.updateLevel(t)}const o=[],a=new Array(e.length+t.length);for(let e=0;e<s.length;e++){const t=s[e],h=this._getIntersectingTiles(t);for(const e of h){r=e.id;te(r,e,i).removed.push(this._displayIds.get(t.uid))}o.push(this._updateGraphic(t,null)),a[e]=t}const h=s.length;for(let t=0;t<e.length;t++){const s=e[t];a[h+t]=s,this._graphicsSet.add(s),o.push(this._addGraphic(s))}for(const e of t){this._abortProcessingGraphic(e.uid);const t=this._getIntersectingTiles(e);for(const s of t){r=s.id;te(r,s,i).removed.push(this._displayIds.get(e.uid))}this._graphicsSet.delete(e),this._graphicStore.remove(e)}let n;this._flipUpdatingGraphics(),await Promise.all(o);for(let e=0;e<a.length;e++){n=a[e];const t=this._getIntersectingTiles(n);for(const e of t){r=e.id;te(r,e,i).addedOrModified.push(n)}}this._graphicStore.updateZ();const l=[];for(const[e,t]of i)l.push(this._updateTile(t));await Promise.all(l)}catch(o){n(o),0}for(const a of t)try{const e=await this._getSymbolForGraphic(a,{});if(e){const t=e.hash();this._hashToExpandedSymbol.delete(t)}}catch(o){n(o),0}i.clear(),this.notifyChange("updating"),this._processing=!1,this._needsProcessing&&(this._needsProcessing=!1,this._updateGraphics())}_getArcadeInfo(e){const t=(e.attributes?Object.keys(e.attributes):[]).map((t=>({name:t,alias:t,type:"string"==typeof e.attributes[t]?"esriFieldTypeString":"esriFieldTypeDouble"})));return a(e.geometry)?null:{geometryType:f(e.geometry),spatialReference:c.fromJSON(e.geometry.spatialReference),fields:t}}_getSymbolForGraphic(e,t){return h(this._controller.signal),o(e.symbol)?Promise.resolve(e.symbol):o(this.renderer)?this.renderer.getSymbolAsync(e,{scale:this.view.scale,abortOptions:t}):Promise.resolve(this._getNullSymbol(e))}_getCIMSymbol(e,t,s){let i=this._hashToCIM.get(t);if(i)return Promise.resolve(i);const r=M(e);if(o(r)){if("CIMSymbolReference"===r.type)return i=r,this._hashToCIM.set(t,i),Promise.resolve(i);let e=this._hashToCIMSymbolPromise.get(t);return e||(e=r.fetchCIMSymbol(s).then((e=>(this._hashToCIM.set(t,e.data),this._hashToCIMSymbolPromise.delete(t),e))).catch((e=>(this._hashToCIMSymbolPromise.delete(t),l(e),null))),this._hashToCIMSymbolPromise.set(t,e),e)}return Promise.resolve(null)}_expandCIMSymbol(e,t,s,i){const r=this._hashToExpandedSymbol.get(s);if(r)return Promise.resolve(r);let o=this._hashToExpandedSymbolPromise.get(s);if(o)return o;const a=this.container.stage,h=this._getArcadeInfo(t),n=k(e);return o=X(n,h,a.resourceManager,i),this._hashToExpandedSymbolPromise.set(s,o),o.then((e=>(this._hashToExpandedSymbol.set(s,e),this._hashToExpandedSymbolPromise.delete(s),e))),o}async _getSymbolResources(e,t){h(this._controller.signal);return this.container.stage?this._getSymbolForGraphic(e,t).then((i=>{const r=i.hash();return this._getCIMSymbol(i,r,t).then((i=>a(i)?null:this._expandCIMSymbol(i,e,r,t).then((e=>{const t=e.layers.filter((e=>"text"===e.type&&"string"==typeof e.text));if(t&&t.length>0){const i=new Array(t.length);for(let e=0;e<t.length;e++){const r=t[e],o=[],[a]=s(r.text);for(let e=0;e<a.length;e++)o.push(a.charCodeAt(e));i[e]={symbol:r,id:e,glyphIds:o}}const o=new Map;return this.container.getMaterialItems(i).then((s=>{for(let e=0;e<t.length;e++){const i=t[e];o.set(i.cim,{text:i.text,mosaicItem:s[e].mosaicItem})}return{symbol:e,textInfo:o,hash:r}}))}return{symbol:e,hash:r}}))))})).catch((e=>(l(e),null))):null}async _projectAndNormalizeGeometry(e,t){if(h(this._controller.signal),a(e.geometry)||"mesh"===e.geometry.type)return null;let s=e.geometry;if(y(s)){const e=s.rings;s.rings=e}else if(b(s)){const e=s.paths;s.paths=e}else if(S(s)){const i=await this._getSymbolForGraphic(e,t);if(h(this._controller.signal),W(i.type)||J(i.type)){s=s.center}else s=Z(s)}await G(s.spatialReference,this.view.spatialReference);const i=v(s),r=U(i,s.spatialReference,this.view.spatialReference);return _(r),r}_onTileUpdate(e){const t=I(this.view.spatialReference);if(e.added&&e.added.length>0)for(const s of e.added)this._addNewTile(s,t);if(e.removed&&e.removed.length>0)for(const s of e.removed)this._removeTile(s.key)}async _addGraphic(e){this._abortProcessingGraphic(e.uid),h(this._controller.signal);const t=new AbortController;this._graphicIdToAbortController.set(e.uid,t);const s={signal:t.signal};try{await this._addOrUpdateGraphic(e,s),h(this._controller.signal),this._graphicIdToAbortController.delete(e.uid)}catch(i){if(this._graphicIdToAbortController.delete(e.uid),!n(i))throw i}}_updateGraphic(e,t){h(this._controller.signal);const s=this._projectAndNormalizeGeometry(e,t),i=this._getSymbolResources(e,t);return Promise.all([s,i]).then((([t,s])=>{h(this._controller.signal),this._graphicStore.addOrModify(e,s,t)}))}_addOrUpdateGraphic(e,t){h(this._controller.signal);const s=this._projectAndNormalizeGeometry(e,t),i=this._getSymbolResources(e,t);return Promise.all([s,i]).then((([t,s])=>{h(this._controller.signal),this._graphicsSet.has(e)&&this._graphicStore.addOrModify(e,s,t)}))}_addTile(e){const t=this.view.featuresTilingScheme.getTileBounds(m(),e),s=new A(e,t[0],t[3]);return this._tiles.set(e,s),this.container.addChild(s),s}async _addNewTile(e,t){const s=this._addTile(e.key),i=this._graphicStore.queryTileData(this._templateStore,e);if(0===i.length)return;if(t){const s=Math.round((t.valid[1]-t.valid[0])/e.resolution);for(const e of i)e.geometry&&(w(e.geometry)||T(e.geometry))&&this._wrapPoints(e,s)}const r=e.key;this._tileUpdateSet.add(e.key),this.notifyChange("updating");try{const t={type:"update",clear:!1,addOrUpdate:await this._processGraphics(e,i),remove:[],end:!0,sort:!1};s.patch(t),this._tileUpdateSet.delete(r),this.notifyChange("updating")}catch(o){if(this._tileUpdateSet.delete(r),this.notifyChange("updating"),!n(o))throw o}}_removeTile(e){if(!this._tiles.has(e))return;const t=this._tiles.get(e);this.container.removeChild(t),t.destroy(),this._tiles.delete(e)}_setFilterState(e,t){const s=this._displayIds.get(e),i=this._attributeStore.getHighlightFlag(e);this._attributeStore.setData(s,0,0,i|(t?x:0))}_getGraphicsData(e,t,s){const i=this.view,r=I(i.spatialReference),o=this._graphicStore.getGraphicsData(e,t,s);if(r){const e=Math.round((r.valid[1]-r.valid[0])/t.resolution);for(const t of o)t.geometry&&(w(t.geometry)||T(t.geometry))&&this._wrapPoints(t,e)}return o}_wrapPoints(e,t){const s=e.geometry;T(s)?this._wrapMultipoint(s,t):this._wrapPoint(e,t)}_wrapMultipoint(e,t){const s=e.points,i=[];let r=0,o=0;for(const[a,h]of s){if(i.push([a+r,h]),r=0,t===K){const e=5*Q;a+o<e?(i.push([t,0]),r=-t):a+o>K-e&&(i.push([-t,0]),r=t)}else a+o<-Q?(i.push([t,0]),r=-t):a+o>K+Q&&(i.push([-t,0]),r=t);o+=a}e.points=i}_wrapPoint(e,t){const s=e.geometry;if(t===K){const i=5*Q;s.x<i?e.geometry={points:[[s.x,s.y],[t,0]]}:s.x>K-i&&(e.geometry={points:[[s.x,s.y],[-t,0]]})}else s.x<-Q?e.geometry={points:[[s.x,s.y],[t,0]]}:s.x>K+Q&&(e.geometry={points:[[s.x,s.y],[-t,0]]})}_processGraphics(e,t,s){if(!(t&&t.length)||!this._meshFactory)return null;const i=V.from(t),r=this._meshFactory;return this._matcher.then((t=>r.analyzeGraphics(i,this.container.stage.resourceManager,t,null,null,s).then((()=>(this._attributeStore.sendUpdates(),this._processAnalyzedGraphics(e,i))))))}_processAnalyzedGraphics(e,t){const s=this._meshFactory,i=t.getSize(),r=t.getCursor(),o={features:i,records:i,metrics:0},a=new D(e.key.id,o,{fill:"default"},!1,!1),h=[];for(;r.next();){const t=r.readGraphic();t.insertAfter=-1===t.insertAfter?-1:this._displayIds.get(t.insertAfter),t.displayId=this._displayIds.get(t.attributes[this.uid]);const i=new q(t.displayId);i.insertAfter=t.insertAfter,h.push(i),s.writeGraphic(a,r,e.level,this.container.stage.resourceManager)}const n=e.tileInfoView.tileInfo.isWrappable,l=a.serialize(n);if(1!==l.length)return new R;const d=l[0].message;return R.fromVertexData(d,h)}_abortProcessingGraphic(e){if(this._graphicIdToAbortController.has(e)){this._graphicIdToAbortController.get(e).abort()}}_getNullSymbol(e){const t=e.geometry;return b(t)?C:y(t)||S(t)?j:P}_flipUpdatingGraphics(){this._updatingGraphicsTimer&&clearTimeout(this._updatingGraphicsTimer),this._updatingGraphicsTimer=setTimeout((()=>{this._updatingGraphicsTimer=null,this.notifyChange("updating")}),160),this.notifyChange("updating")}};e([d({constructOnly:!0})],se.prototype,"requestUpdateCallback",void 0),e([d()],se.prototype,"container",void 0),e([d({constructOnly:!0})],se.prototype,"graphics",void 0),e([d()],se.prototype,"updating",null),e([d()],se.prototype,"view",void 0),e([d()],se.prototype,"updateRequested",void 0),se=e([p("esri.views.2d.layers.support.GraphicsView2D")],se);const ie=se;export{ie 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{bidiText as e}from"../../../core/BidiText.js";import{pt2px as t}from"../../../core/screenUtils.js";import{getXAnchorDirection as
|
|
5
|
+
import{bidiText as e}from"../../../core/BidiText.js";import{pt2px as t}from"../../../core/screenUtils.js";import{getXAnchorDirection as n,getYAnchorDirection as i}from"../engine/webgl/alignmentUtils.js";import{MAGIC_LABEL_LINE_HEIGHT as o,GLYPH_SIZE as s}from"../engine/webgl/definitions.js";import{shapeGlyphs as r}from"../engine/webgl/mesh/templates/shapingUtils.js";async function l(l,a,m){var f,g,c;const d=n("center"),h=i("middle"),u=a.textureManager.rasterizeItem(l.toJSON(),window.devicePixelRatio||1,null,m),[,x]=e(l.text),p=(await u).glyphMosaicItems;return r(p,x,{angle:null!=(f=l.angle)?f:0,xOffset:t(null!=(g=l.xoffset)?g:0),yOffset:t(null!=(c=l.yoffset)?c:0),lineHeight:o*Math.max(.25,Math.min(l.lineHeight,4)),maxLineWidth:Math.max(32,Math.min(t(l.lineWidth),512)),decoration:l.font.decoration,scale:Math.min(Math.round(t(l.font.size)),127)/s,hAlign:d,vAlign:h,isCIM:!1}).boundsT}let a=l;async function m(e,t,n){return a(e,t,n)}const f={stubGetTextBounds:e=>a=e,restoreGetTextBounds:()=>a=l};export{m as getTextBounds,f as test};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/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 s from"../../../../core/Evented.js";import n from"../../../../core/Handles.js";import{handlesGroup as i,makeHandle as r}from"../../../../core/handleUtils.js";import o from"../../../../core/Logger.js";import{isSome as a,isNone as l,abortMaybe as c,removeMaybe as h,none as p}from"../../../../core/maybe.js";import{createTask as g,ignoreAbortErrors as d}from"../../../../core/promiseUtils.js";import{watch as u,initial as y,syncAndInitial as m,sync as _}from"../../../../core/reactiveUtils.js";import{property as v}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../../core/accessorSupport/decorators/subclass.js";import{g as A,f as T,n as C,a as b,b as O,j,v as w}from"../../../../chunks/vec3.js";import{a as E,c as I}from"../../../../chunks/vec3f64.js";import{projectBoundingRect as L}from"../../../../geometry/projection.js";import{containsPointObject as P,empty as S}from"../../../../geometry/support/aaBoundingRect.js";import{fromPoints as R,create as V}from"../../../../geometry/support/ray.js";import{LineOfSightAnalysis as H}from"./LineOfSightAnalysis.js";import{LineOfSightRayIntersector as D}from"./LineOfSightRayIntersector.js";import{LineOfSightResult as x}from"./LineOfSightResult.js";import{logFailedGeometryProjectionError as N,applyProjectionAndElevationAlignment as k}from"../support/projectionUtils.js";import{IntersectorType as F}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{toGraphic as z}from"../../webgl-engine/lib/intersectorUtilsConversions.js";import{ImmediateTask as U,TaskPriority as G}from"../../../support/Scheduler.js";import{WatchUpdatingTracking as M}from"../../../support/WatchUpdatingTracking.js";import B from"../../../../geometry/Point.js";const q=o.getLogger("esri.views.3d.analysis.LineOfSight.LineOfSightController");let J=class extends(s.EventedMixin(t)){constructor(e){super(e),this.updateOnCameraChange=!0,this._updatingHandles=new M,this._frameTask=U,this._handles=new n,this._analysisHandles=new n}initialize(){var e;const t=null==(e=this.view.resourceController)?void 0:e.scheduler;this._frameTask=t?t.registerTask(G.LINE_OF_SIGHT_TOOL):U,this._intersector=new D({view:this.view}),this._handles.add([this._connectObserver(),this._connectAnalyses(),this._connectTargets()])}destroy(){this._handles.destroy(),this._analysisHandles.destroy(),this._analyses.removeAll(),this._updatingHandles.destroy()}get updating(){return this._frameTask.updating||this._updatingHandles.updating}get priority(){return this._frameTask.priority}set priority(e){this._frameTask.priority=e}get _analyses(){return this.analysisViewData.analyses}get _observerEngineLocation(){return this.analysisViewData.observerEngineLocation}set _observerEngineLocation(e){this.analysisViewData.observerEngineLocation=e}get _screenPixelSize(){return this.view.state.camera.computeScreenPixelSizeAt(this._observerEngineLocation)}getLineOfSightComputationDependencies(e){const{inputPoints:t}=e;return{inputPoints:t}}computeAnalysis(e){const t=e.analysis,{inputPoints:s,computationResult:n}=t,{observerAdjusted:i,targetAdjusted:r}=s,{start:o,end:a}=n;A(o,i),A(a,r);this._canComputeAnalysis(t)?this._computeAnalysisIntersection(e):this._interpolateAnalysisIntersection(e),t.updateComputationResults(),this.emit("result-changed",{target:e.analysis.target,result:t.result})}_adjustStartEndPositions(e){const t=this._screenPixelSize,s=this.view,{inputPoints:n}=e,{observer:i,observerSurfaceNormal:r,target:o,targetSurfaceNormal:l,observerAdjusted:c,targetAdjusted:h}=n,p=X;a(r)?A(p,r):T(p,o,i);const g=t;C(p,p),b(p,p,Math.min(g,1)),O(c,i,p),a(l)?A(p,l):T(p,i,o);const d=s.state.camera.computeScreenPixelSizeAt(o);C(p,p),b(p,p,Math.min(d,1)),O(h,o,p)}_computeAnalysisIntersection({analysis:e,interpolationInfo:t}){const{view:s}=this,{sceneIntersectionHelper:n,renderCoordsHelper:i}=s;if(l(n))return;const r=this._intersector.intersector,{computationResult:o,inputPoints:c}=e,{observer:h,target:p}=c,{start:g,end:d}=o,u=R(g,d,Y);n.intersectToolIntersectorRay(u,r);const y=o.intersection,m=X,_=r.results.min.getIntersectionPoint(y);let v=!0;if(_){A(t.originalIntersection,y),A(t.originalObserver,g),A(t.originalTarget,d),i.fromRenderCoords(y,m,s.spatialReference);const e=1-j(d,p)/j(g,p);v=j(h,y)>=e*j(h,p)}const f=new B(m,s.spatialReference);{const{result:t,target:n}=e;a(t)?(t.target=n,t.intersectedGraphic=v?null:z(r.results.min,s),t.intersectedLocation=v?null:f,t.visible=!!_&&v):e.result=new x({target:n,elevationAlignedTargetLocation:e.elevationAlignedTargetLocation,intersectedGraphic:v?null:z(r.results.min,s),intersectedLocation:v?null:f,visible:!!_&&v})}o.isValid=c.isValid=!0,o.isTargetVisible=v}_interpolateAnalysisIntersection({analysis:e,interpolationInfo:t}){const{computationResult:s,inputPoints:n}=e,{start:i,end:r,intersection:o}=s,{originalIntersection:a,originalObserver:l,originalTarget:c}=t;if(A(o,a),n.isValid){const e=X,t=j(l,a)/j(l,c);w(e,i,l),b(e,e,1-t),O(o,o,e),w(e,r,c),b(e,e,t),O(o,o,e),s.isValid=!0}else e.result=null,s.isValid=!1,s.isTargetVisible=!1}_canComputeAnalysis(e){const t=this.analysisViewData.elevationAlignedObserver,s=this.view.frustum;if(l(t)||l(e.elevationAlignedTargetLocation)||l(s))return!1;const{observerAdjusted:n,targetAdjusted:i}=e.inputPoints,r=s.intersectsPoint(n),o=s.intersectsPoint(i);return r&&o}_onObserverChange(e){if(l(e))return void(this.analysisViewData.elevationAlignedObserver=null);const t=this._applyProjectionAndElevationAlignment(e,this.analysis.intersection);if(l(t))return N(this.analysis,e.spatialReference,q),void(this.analysisViewData.elevationAlignedObserver=null);const s=I();this.analysisViewData.elevationAlignedObserver=t,this.view.renderCoordsHelper.toRenderCoords(this.analysisViewData.elevationAlignedObserver,s),this._observerEngineLocation=s,this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_applyProjectionAndElevationAlignment(e,t){const s=a(t)&&t.type!==F.OBJECT;return k(e,this.view.spatialReference,this.view.elevationProvider,s)}_onObserverChangeForAnalysis(e){e.inputPoints.isValid=!1,e.updateInputPoints()}_onObserverEngineForAnalysis(e,t,s){const{inputPoints:n}=e;if(A(n.observer,t),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.observer),n.observerSurfaceNormal=E(s.normal)}else n.observerSurfaceNormal=null;this._adjustStartEndPositions(e),e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_onTargetLocationChange(e,t,s){const n=e.inputPoints;if(n.isValid=!1,e.elevationAlignedTargetLocation=this._applyProjectionAndElevationAlignment(t,s),l(e.elevationAlignedTargetLocation))N(this.analysis,t.spatialReference,q);else{if(this.view.renderCoordsHelper.toRenderCoords(e.elevationAlignedTargetLocation,n.target),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.target),n.targetSurfaceNormal=E(s.normal)}else n.targetSurfaceNormal=null;this._adjustStartEndPositions(e)}e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_connectAnalysisToTarget(e){return i([u((()=>e.target.location),(t=>{K(t,e.target.intersection)||(e.target.intersection=null)}),y),u((()=>({analysis:e,targetLocation:e.target.location,targetIntersection:e.target.intersection})),(({analysis:e,targetLocation:t,targetIntersection:s})=>{a(t)&&this._onTargetLocationChange(e,t,s)}),m)])}_connectAnalysisToObserver(e){return u((()=>({analysis:e,observer:this.analysisViewData.elevationAlignedObserver})),(({analysis:e})=>{this._onObserverChangeForAnalysis(e)}),m)}_connectAnalysisToObserverEngine(e){return u((()=>({analysis:e,observer:this._observerEngineLocation,observerIntersection:this.analysis.intersection})),(({analysis:e,observer:t,observerIntersection:s})=>{this._onObserverEngineForAnalysis(e,t,s)}),m)}_connectAnalysisToCamera(e){return u((()=>({camera:this.view.state.camera,isDirty:this._isCameraDirty})),(({isDirty:t})=>{!this.updateOnCameraChange||e.inputPoints.isValid&&!t||e.updateInputPoints()}),_)}_connectAnalysisToElevation(e){return this.view.elevationProvider.on("elevation-change",(t=>{if(!this._canComputeAnalysis(e))return;const s=this.analysis.observer;W(t.extent,t.spatialReference,s)&&this._onObserverChange(s);const n=e.target;a(n)&&W(t.extent,t.spatialReference,n.location)&&e.onElevationChange()}))}_connectAnalysisForCompute(e){let t=p;const s={analysis:e,interpolationInfo:{originalIntersection:I(),originalObserver:I(),originalTarget:I()}};return i([u((()=>this.getLineOfSightComputationDependencies(e)),(()=>{t=c(t),t=g((async e=>{await d(this._frameTask.schedule((()=>this.computeAnalysis(s)),e))}))}),m),r((()=>t=c(t)))])}_connectAnalysis(e){const t=this._analysisHandles;t.has(e)||t.add([this._connectAnalysisToTarget(e),this._connectAnalysisToObserver(e),this._connectAnalysisToObserverEngine(e),this._connectAnalysisToCamera(e),this._connectAnalysisToElevation(e),this._connectAnalysisForCompute(e)],e)}_disconnectAnalysis(e){this._analysisHandles.remove(e)}_onAnalysesCollectionChange(e){e.added.forEach((e=>this._connectAnalysis(e))),e.removed.forEach((e=>this._disconnectAnalysis(e)))}_onTargetsChange(){return this._analyses.removeAll(),this.analysis.targets.forEach((e=>this._addTarget(e))),this._updatingHandles.addOnCollectionPropertyChange(this.analysis,"targets",(e=>this._onTargetCollectionChange(e)))}_onTargetCollectionChange(e){e.added.forEach((e=>this._addTarget(e))),e.removed.forEach((e=>this._removeTarget(e)))}_onCursorTargetChange(e,t){a(t)&&this._removeTarget(t),a(e)&&this._addTarget(e)}_addTarget(e){this._analyses.some((t=>t.target===e))||this._analyses.add(new H({target:e}))}_removeTarget(e){const t=this._analyses.find((t=>t.target===e));this._analyses.remove(t)}_connectObserver(){return i([u((()=>this.analysis.observer),(e=>{K(e,this.analysis.intersection)||(this.analysis.intersection=null)}),y),u((()=>({observer:this.analysis.observer,intersection:this.analysis.intersection})),(({observer:e})=>this._onObserverChange(e)),m)])}_connectAnalyses(){let e=null;return i([u((()=>this._analyses),(()=>{h(e),e=this._updatingHandles.addOnCollectionPropertyChange(this,"_analyses",(e=>this._onAnalysesCollectionChange(e))),this._analyses.forEach((e=>this._connectAnalysis(e)))}),m),r((()=>e=h(e)))])}_connectTargets(){let e=null;return i([u((()=>this.analysis.targets),(()=>{e=h(e),e=this._onTargetsChange()}),m),u((()=>this.analysisViewData.cursorTarget),((e,t)=>{this._onCursorTargetChange(e,t)})),r((()=>{e=h(e)}))])}get _isCameraDirty(){const e=this.analysisViewData.elevationAlignedObserver,{view:t}=this,{renderCoordsHelper:s}=t;if(l(e)||l(s))return!1;const n=X;s.toRenderCoords(e,n);const i=t.state.camera.computeScreenPixelSizeAt(n);return Math.abs((i-this._screenPixelSize)/this._screenPixelSize)>Q}};function W(e,t,s){return!l(s)&&(L(e,t,Z,s.spatialReference),P(Z,s))}function K(e,t){return l(t)||a(e)&&e.equals(t.point)}e([v({constructOnly:!0})],J.prototype,"analysis",void 0),e([v({constructOnly:!0})],J.prototype,"analysisViewData",void 0),e([v({constructOnly:!0})],J.prototype,"view",void 0),e([v()],J.prototype,"updating",null),e([v()],J.prototype,"priority",null),e([v()],J.prototype,"updateOnCameraChange",void 0),e([v()],J.prototype,"_analyses",null),e([v()],J.prototype,"_observerEngineLocation",null),e([v()],J.prototype,"_screenPixelSize",null),e([v({readOnly:!0})],J.prototype,"_updatingHandles",void 0),e([v()],J.prototype,"_frameTask",void 0),e([v()],J.prototype,"_isCameraDirty",null),J=e([f("esri.views.3d.analysis.LineOfSight.LineOfSightController")],J);const Q=.1,X=I(),Y=V(),Z=S();export{J as LineOfSightController};
|
|
5
|
+
import{_ as e}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import t from"../../../../core/Accessor.js";import s from"../../../../core/Evented.js";import n from"../../../../core/Handles.js";import{handlesGroup as i,makeHandle as r}from"../../../../core/handleUtils.js";import o from"../../../../core/Logger.js";import{isSome as a,isNone as l,abortMaybe as c,removeMaybe as h,none as p}from"../../../../core/maybe.js";import{createTask as g,ignoreAbortErrors as d}from"../../../../core/promiseUtils.js";import{watch as u,initial as y,syncAndInitial as m,sync as _}from"../../../../core/reactiveUtils.js";import{property as v}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../../core/accessorSupport/decorators/subclass.js";import{g as A,f as T,n as C,a as b,b as O,j,v as w}from"../../../../chunks/vec3.js";import{a as E,c as I}from"../../../../chunks/vec3f64.js";import{projectBoundingRect as L}from"../../../../geometry/projection.js";import{containsPointObject as S,empty as P}from"../../../../geometry/support/aaBoundingRect.js";import{fromPoints as R,create as V}from"../../../../geometry/support/ray.js";import{LineOfSightAnalysis as H}from"./LineOfSightAnalysis.js";import{LineOfSightRayIntersector as D}from"./LineOfSightRayIntersector.js";import{LineOfSightResult as x}from"./LineOfSightResult.js";import{logFailedGeometryProjectionError as N,applyProjectionAndElevationAlignment as k}from"../support/projectionUtils.js";import{IntersectorType as F}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{toGraphic as z}from"../../webgl-engine/lib/intersectorUtilsConversions.js";import{ImmediateTask as U,TaskPriority as G}from"../../../support/Scheduler.js";import{WatchUpdatingTracking as M}from"../../../support/WatchUpdatingTracking.js";import B from"../../../../geometry/Point.js";const q=o.getLogger("esri.views.3d.analysis.LineOfSight.LineOfSightController");let J=class extends(s.EventedMixin(t)){constructor(e){super(e),this.updateOnCameraChange=!0,this._updatingHandles=new M,this._frameTask=U,this._handles=new n,this._analysisHandles=new n}initialize(){var e;const t=null==(e=this.view.resourceController)?void 0:e.scheduler;this._frameTask=t?t.registerTask(G.LINE_OF_SIGHT_TOOL):U,this._intersector=new D({view:this.view}),this._handles.add([this._connectObserver(),this._connectAnalyses(),this._connectTargets()])}destroy(){this._handles.destroy(),this._analysisHandles.destroy(),this._analyses.removeAll(),this._updatingHandles.destroy()}get updating(){return this._frameTask.updating||this._updatingHandles.updating}get priority(){return this._frameTask.priority}set priority(e){this._frameTask.priority=e}get _analyses(){return this.analysisViewData.analyses}get _observerEngineLocation(){return this.analysisViewData.observerEngineLocation}set _observerEngineLocation(e){this.analysisViewData.observerEngineLocation=e}get _screenPixelSize(){return this.view.state.camera.computeScreenPixelSizeAt(this._observerEngineLocation)}getLineOfSightComputationDependencies(e){const{inputPoints:t}=e;return{inputPoints:t}}computeAnalysis(e){const t=e.analysis,{inputPoints:s,computationResult:n}=t,{observerAdjusted:i,targetAdjusted:r}=s,{start:o,end:a}=n;A(o,i),A(a,r);this._canComputeAnalysis(t)?this._computeAnalysisIntersection(e):this._interpolateAnalysisIntersection(e),t.updateComputationResults(),this.emit("result-changed",{target:e.analysis.target,result:t.result})}_adjustStartEndPositions(e){const t=this._screenPixelSize,s=this.view,{inputPoints:n}=e,{observer:i,observerSurfaceNormal:r,target:o,targetSurfaceNormal:l,observerAdjusted:c,targetAdjusted:h}=n,p=X;a(r)?A(p,r):T(p,o,i);const g=t;C(p,p),b(p,p,Math.min(g,1)),O(c,i,p),a(l)?A(p,l):T(p,i,o);const d=s.state.camera.computeScreenPixelSizeAt(o);C(p,p),b(p,p,Math.min(d,1)),O(h,o,p)}_computeAnalysisIntersection({analysis:e,interpolationInfo:t}){const{view:s}=this,{sceneIntersectionHelper:n,renderCoordsHelper:i}=s;if(l(n))return;const r=this._intersector.intersector,{computationResult:o,inputPoints:c}=e,{observer:h,target:p}=c,{start:g,end:d}=o,u=R(g,d,Y);n.intersectToolIntersectorRay(u,r);const y=o.intersection,m=X,_=r.results.min.getIntersectionPoint(y);let v=!0;if(_){A(t.originalIntersection,y),A(t.originalObserver,g),A(t.originalTarget,d),i.fromRenderCoords(y,m,s.spatialReference);const e=1-j(d,p)/j(g,p);v=j(h,y)>=e*j(h,p)}const f=new B(m,s.spatialReference);{const{result:t,target:n}=e;a(t)?(t.target=n,t.intersectedGraphic=v?null:z(r.results.min,s),t.intersectedLocation=v?null:f,t.visible=!!_&&v):e.result=new x({target:n,elevationAlignedTargetLocation:e.elevationAlignedTargetLocation,intersectedGraphic:v?null:z(r.results.min,s),intersectedLocation:v?null:f,visible:!!_&&v})}o.isValid=c.isValid=!0,o.isTargetVisible=v}_interpolateAnalysisIntersection({analysis:e,interpolationInfo:t}){const{computationResult:s,inputPoints:n}=e,{start:i,end:r,intersection:o}=s,{originalIntersection:a,originalObserver:l,originalTarget:c}=t;if(A(o,a),n.isValid){const e=X,t=j(l,a)/j(l,c);w(e,i,l),b(e,e,1-t),O(o,o,e),w(e,r,c),b(e,e,t),O(o,o,e),s.isValid=!0}else e.result=null,s.isValid=!1,s.isTargetVisible=!1}_canComputeAnalysis(e){const t=this.analysisViewData.elevationAlignedObserver,s=this.view.frustum;if(l(t)||l(e.elevationAlignedTargetLocation)||l(s))return!1;const{observerAdjusted:n,targetAdjusted:i}=e.inputPoints,r=s.intersectsPoint(n),o=s.intersectsPoint(i);return r&&o}_onObserverChange(e){if(l(e))return void(this.analysisViewData.elevationAlignedObserver=null);const t=this._applyProjectionAndElevationAlignment(e,this.analysis.intersection);if(l(t))return N(this.analysis,e.spatialReference,q),void(this.analysisViewData.elevationAlignedObserver=null);const s=I();this.analysisViewData.elevationAlignedObserver=t,this.view.renderCoordsHelper.toRenderCoords(this.analysisViewData.elevationAlignedObserver,s),this._observerEngineLocation=s,this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_applyProjectionAndElevationAlignment(e,t){const s=a(t)&&t.type!==F.OBJECT;return k(e,this.view.spatialReference,this.view.elevationProvider,s)}_onObserverChangeForAnalysis(e){e.inputPoints.isValid=!1,e.updateInputPoints()}_onObserverEngineForAnalysis(e,t,s){const{inputPoints:n}=e;if(A(n.observer,t),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.observer),n.observerSurfaceNormal=E(s.normal)}else n.observerSurfaceNormal=null;this._adjustStartEndPositions(e),e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_onTargetLocationChange(e,t,s){const n=e.inputPoints;if(n.isValid=!1,e.elevationAlignedTargetLocation=this._applyProjectionAndElevationAlignment(t,s),l(e.elevationAlignedTargetLocation))N(this.analysis,t.spatialReference,q);else{if(this.view.renderCoordsHelper.toRenderCoords(e.elevationAlignedTargetLocation,n.target),a(s)){const e=this._intersector.updateFromIntersectionResult(s);a(e)&&this.view.renderCoordsHelper.toRenderCoords(e,n.target),n.targetSurfaceNormal=E(s.normal)}else n.targetSurfaceNormal=null;this._adjustStartEndPositions(e)}e.updateInputPoints(),this.priority=G.LINE_OF_SIGHT_TOOL_INTERACTIVE}_connectAnalysisToTarget(e){return i([u((()=>e.target.location),(t=>{K(t,e.target.intersection)||(e.target.intersection=null)}),y),u((()=>({analysis:e,targetLocation:e.target.location,targetIntersection:e.target.intersection})),(({analysis:e,targetLocation:t,targetIntersection:s})=>{a(t)&&this._onTargetLocationChange(e,t,s)}),m)])}_connectAnalysisToObserver(e){return u((()=>({analysis:e,observer:this.analysisViewData.elevationAlignedObserver})),(({analysis:e})=>{this._onObserverChangeForAnalysis(e)}),m)}_connectAnalysisToObserverEngine(e){return u((()=>({analysis:e,observer:this._observerEngineLocation,observerIntersection:this.analysis.intersection})),(({analysis:e,observer:t,observerIntersection:s})=>{this._onObserverEngineForAnalysis(e,t,s)}),m)}_connectAnalysisToCamera(e){return u((()=>({camera:this.view.state.camera,isDirty:this._isCameraDirty})),(({isDirty:t})=>{!this.updateOnCameraChange||e.inputPoints.isValid&&!t||e.updateInputPoints()}),_)}_connectAnalysisToElevation(e){return this.view.elevationProvider.on("elevation-change",(t=>{if(!this._canComputeAnalysis(e))return;const s=this.analysis.observer;W(t.extent,t.spatialReference,s)&&this._onObserverChange(s);const n=e.target;a(n)&&W(t.extent,t.spatialReference,n.location)&&e.onElevationChange()}))}_connectAnalysisForCompute(e){let t=p;const s={analysis:e,interpolationInfo:{originalIntersection:I(),originalObserver:I(),originalTarget:I()}};return i([u((()=>this.getLineOfSightComputationDependencies(e)),(()=>{t=c(t),t=g((async e=>{await d(this._frameTask.schedule((()=>this.computeAnalysis(s)),e))}))}),m),r((()=>t=c(t)))])}_connectAnalysis(e){const t=this._analysisHandles;t.has(e)||t.add([this._connectAnalysisToTarget(e),this._connectAnalysisToObserver(e),this._connectAnalysisToObserverEngine(e),this._connectAnalysisToCamera(e),this._connectAnalysisToElevation(e),this._connectAnalysisForCompute(e)],e)}_disconnectAnalysis(e){this._analysisHandles.remove(e)}_onAnalysesCollectionChange(e){e.added.forEach((e=>this._connectAnalysis(e))),e.removed.forEach((e=>this._disconnectAnalysis(e)))}_onTargetsChange(){return this._analyses.removeAll(),this.analysis.targets.forEach((e=>this._addTarget(e))),this._updatingHandles.addOnCollectionChange((()=>this.analysis.targets),(e=>this._onTargetCollectionChange(e)))}_onTargetCollectionChange(e){e.added.forEach((e=>this._addTarget(e))),e.removed.forEach((e=>this._removeTarget(e)))}_onCursorTargetChange(e,t){a(t)&&this._removeTarget(t),a(e)&&this._addTarget(e)}_addTarget(e){this._analyses.some((t=>t.target===e))||this._analyses.add(new H({target:e}))}_removeTarget(e){const t=this._analyses.find((t=>t.target===e));this._analyses.remove(t)}_connectObserver(){return i([u((()=>this.analysis.observer),(e=>{K(e,this.analysis.intersection)||(this.analysis.intersection=null)}),y),u((()=>({observer:this.analysis.observer,intersection:this.analysis.intersection})),(({observer:e})=>this._onObserverChange(e)),m)])}_connectAnalyses(){let e=null;return i([u((()=>this._analyses),(()=>{h(e),e=this._updatingHandles.addOnCollectionChange((()=>this._analyses),(e=>this._onAnalysesCollectionChange(e))),this._analyses.forEach((e=>this._connectAnalysis(e)))}),m),r((()=>e=h(e)))])}_connectTargets(){let e=null;return i([u((()=>this.analysis.targets),(()=>{e=h(e),e=this._onTargetsChange()}),m),u((()=>this.analysisViewData.cursorTarget),((e,t)=>{this._onCursorTargetChange(e,t)})),r((()=>{e=h(e)}))])}get _isCameraDirty(){const e=this.analysisViewData.elevationAlignedObserver,{view:t}=this,{renderCoordsHelper:s}=t;if(l(e)||l(s))return!1;const n=X;s.toRenderCoords(e,n);const i=t.state.camera.computeScreenPixelSizeAt(n);return Math.abs((i-this._screenPixelSize)/this._screenPixelSize)>Q}};function W(e,t,s){return!l(s)&&(L(e,t,Z,s.spatialReference),S(Z,s))}function K(e,t){return l(t)||a(e)&&e.equals(t.point)}e([v({constructOnly:!0})],J.prototype,"analysis",void 0),e([v({constructOnly:!0})],J.prototype,"analysisViewData",void 0),e([v({constructOnly:!0})],J.prototype,"view",void 0),e([v()],J.prototype,"updating",null),e([v()],J.prototype,"priority",null),e([v()],J.prototype,"updateOnCameraChange",void 0),e([v()],J.prototype,"_analyses",null),e([v()],J.prototype,"_observerEngineLocation",null),e([v()],J.prototype,"_screenPixelSize",null),e([v({readOnly:!0})],J.prototype,"_updatingHandles",void 0),e([v()],J.prototype,"_frameTask",void 0),e([v()],J.prototype,"_isCameraDirty",null),J=e([f("esri.views.3d.analysis.LineOfSight.LineOfSightController")],J);const Q=.1,X=I(),Y=V(),Z=P();export{J as LineOfSightController};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as o}from"../../../chunks/tslib.es6.js";import r
|
|
5
|
+
import{_ as o}from"../../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../../core/JSONSupport.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as s}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";var c;let p=c=class extends r{constructor(o){super(o),this.type="cloudy",this.cloudCover=.5}clone(){return new c({cloudCover:this.cloudCover})}};o([s({cloudy:"cloudy"})],p.prototype,"type",void 0),o([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],p.prototype,"cloudCover",void 0),p=c=o([t("esri.views.3d.environment.CloudyWeather")],p);const u=p;export{u as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{smoothstep as e,lerp as t}from"../../../core/mathUtils.js";import{isNone as i,releaseMaybe as r,disposeMaybe as s}from"../../../core/maybe.js";import{a as
|
|
5
|
+
import{smoothstep as e,lerp as t}from"../../../core/mathUtils.js";import{isNone as i,releaseMaybe as r,disposeMaybe as s}from"../../../core/maybe.js";import{a as n}from"../../../chunks/mat4.js";import{c as h}from"../../../chunks/mat4f64.js";import{s as o}from"../../../chunks/vec2.js";import{a}from"../../../chunks/vec2f64.js";import{l as c}from"../../../chunks/vec3.js";import{getReferenceEllipsoid as u}from"../../../geometry/projectionEllipsoid.js";import{atmosphereHeight as m}from"./atmosphereUtils.js";import{FogTechniqueConfiguration as p,FogTechnique as _}from"./FogTechnique.js";import{Pos2Tex as f}from"../webgl-engine/lib/DefaultVertexBufferLayouts.js";import{createQuadVAO as g}from"../webgl-engine/lib/glUtil3D.js";import{PrimitiveType as d}from"../../webgl/enums.js";class l{constructor(e,t){this._projectionInverse=h(),this._viewInverse=h(),this._nearFar=a(),this._darkenHaze=!1,this._hazeMultiplier=1,this._strength=4e-6,this._view=t;const i=e.renderContext.rctx;this._vao=g(i,f),this._shaderTechniqueRepository=e.shaderTechniqueRep;const r=u(t.spatialReference);this._planetRadius=r.radius,this._atmosphereRadius=r.radius+m}set strength(e){this._strength=e}get strength(){return this._strength}get foggyWeatherTechnique(){if(i(this._foggyWeatherTechnique)){const e=new p;e.haze=!1,this._foggyWeatherTechnique=this._shaderTechniqueRepository.acquire(_,e)}return this._foggyWeatherTechnique}get distanceFogTechnique(){if(i(this._distanceFogTechnique)){const e=new p;e.haze=!0,this._distanceFogTechnique=this._shaderTechniqueRepository.acquire(_,e)}return this._distanceFogTechnique}destroy(){this._distanceFogTechnique=r(this._distanceFogTechnique),this._foggyWeatherTechnique=r(this._foggyWeatherTechnique),this._vao=s(this._vao)}when(){return Promise.resolve()}render(e,t,i){if(0===this._view.basemapTerrain.baseOpacity&&!t)return;if(this._darkenHaze=i,this._update(e.camera,t),this._fogAmount<=0)return;const r=e.rctx,s=e.offscreenRenderingHelper,n=t?this.foggyWeatherTechnique:this.distanceFogTechnique;r.useProgram(n.program),n.bindPipelineState(r),s.renderDepthDetached((()=>{n.program.bindTexture(s.depthTexture,"depthTex"),this._renderFog(n.program,e)}))}_renderFog(e,t){if(i(this._vao))return!1;const r=t.rctx;return t.scenelightingData.setLightDirectionUniform(e),e.setUniform3fv("cameraPosition",t.camera.eye),e.setUniformMatrix4fv("projectionInverse",this._projectionInverse),e.setUniformMatrix4fv("viewInverse",this._viewInverse),e.setUniform2fv("nearFar",this._nearFar),e.setUniform1f("atmosphereC",this._atmosphereC),e.setUniform1f("strength",this._strength),e.setUniform1f("fogAmount",this._hazeMultiplier*this._fogAmount),r.bindVAO(this._vao),e.assertCompatibleVertexAttributeLocations(this._vao),r.drawArrays(d.TRIANGLE_STRIP,0,4),!0}_update(r,s){if(i(r))return;n(this._projectionInverse,r.projectionMatrix),n(this._viewInverse,r.viewMatrix),o(this._nearFar,r.near,r.far);const h=c(r.eye),a=h*h;this._atmosphereC=a-this._atmosphereRadius*this._atmosphereRadius,this._fogAmount=s?1-e(3e3,6e3,Math.abs(h-this._planetRadius)):1-e(7e3,1e4,Math.abs(h-this._planetRadius)),this._hazeMultiplier=this._darkenHaze?t(.4,1,e(9500,10500,h-this._planetRadius)):1}static isSupported(e){return e.capabilities.depthTexture}}export{l as Fog};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as r}from"../../../chunks/tslib.es6.js";import o
|
|
5
|
+
import{_ as r}from"../../../chunks/tslib.es6.js";import{JSONSupport as o}from"../../../core/JSONSupport.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as t}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";var p;let c=p=class extends o{constructor(r){super(r),this.type="foggy",this.fogStrength=.5}clone(){return new p({fogStrength:this.fogStrength})}};r([t({foggy:"foggy"})],c.prototype,"type",void 0),r([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],c.prototype,"fogStrength",void 0),c=p=r([s("esri.views.3d.environment.FoggyWeather")],c);const a=c;export{a 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../core/has.js";import{releaseMaybe as t,disposeMaybe as i,isNone as r}from"../../../core/maybe.js";import{NoiseTextureAtlasTechnique as s}from"./NoiseTextureAtlasTechnique.js";import{createQuadVAO as o}from"../webgl-engine/lib/glUtil3D.js";import{TargetType as a,TextureType as h,PixelFormat as f,PixelType as m,TextureWrapMode as n,TextureSamplingMode as l}from"../../webgl/enums.js";import{FramebufferObject as u}from"../../webgl/FramebufferObject.js";const _=e("esri-mobile")?64:128,c=Math.ceil(Math.sqrt(_)),
|
|
5
|
+
import e from"../../../core/has.js";import{releaseMaybe as t,disposeMaybe as i,isNone as r}from"../../../core/maybe.js";import{NoiseTextureAtlasTechnique as s}from"./NoiseTextureAtlasTechnique.js";import{createQuadVAO as o}from"../webgl-engine/lib/glUtil3D.js";import{TargetType as a,TextureType as h,PixelFormat as f,PixelType as m,TextureWrapMode as n,TextureSamplingMode as l}from"../../webgl/enums.js";import{FramebufferObject as u}from"../../webgl/FramebufferObject.js";const _=e("esri-mobile")?64:128,c=_/128,g=Math.ceil(Math.sqrt(_)),p=(_+2)*g;class w{constructor(e,t){this._frameBuffer=new u(e,{colorTarget:a.TEXTURE,width:p,height:p},{target:h.TEXTURE_2D,pixelFormat:f.RGBA,dataType:m.UNSIGNED_BYTE,wrapMode:n.CLAMP_TO_EDGE,samplingMode:l.LINEAR,hasMipmap:!1,width:p,height:p}),this._vao=o(e),this._technique=new s({rctx:e,viewingMode:t.state.viewingMode},null)}get textureAtlas(){return this._frameBuffer.colorTexture}destroy(){this._technique=t(this._technique),this._frameBuffer=i(this._frameBuffer),this._vao=i(this._vao)}render(e){if(r(this._vao)||r(this.textureAtlas))return;const t=e.getViewport();e.setViewport(0,0,p,p),e.bindFramebuffer(this._frameBuffer);const i=this._technique.program;e.useProgram(i),this._technique.bindPipelineState(e),i.setUniform1f("tileSize",_),i.setUniform1f("tileRows",g),e.bindVAO(this._vao),i.assertCompatibleVertexAttributeLocations(this._vao),e.gl.drawArrays(e.gl.TRIANGLE_STRIP,0,4),e.setViewport(t.x,t.y,t.width,t.height)}}export{p as ATLAS_SIZE,w as NoiseTextureAtlas,c as TEXTURE_SCALE,g as TILE_ROWS,_ as TILE_SIZE};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as r}from"../../../chunks/tslib.es6.js";import o
|
|
5
|
+
import{_ as r}from"../../../chunks/tslib.es6.js";import{JSONSupport as o}from"../../../core/JSONSupport.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{enumeration as s}from"../../../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";var p;let c=p=class extends o{constructor(r){super(r),this.type="rainy",this.cloudCover=.5}clone(){return new p({cloudCover:this.cloudCover})}};r([s({rainy:"rainy"})],c.prototype,"type",void 0),r([e({type:Number,nonNullable:!0,range:{min:0,max:1}})],c.prototype,"cloudCover",void 0),c=p=r([t("esri.views.3d.environment.RainyWeather")],c);const a=c;export{a 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../chunks/tslib.es6.js";import{fetchAsset as e}from"../../../assets.js";import r from"../../../core/Accessor.js";import s from"../../../core/Error.js";import a from"../../../core/Logger.js";import{isSome as i,abortMaybe as o,disposeMaybe as n,isNone as c}from"../../../core/maybe.js";import{createTask as f,isAbortError as u}from"../../../core/promiseUtils.js";import{
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import{fetchAsset as e}from"../../../assets.js";import r from"../../../core/Accessor.js";import s from"../../../core/Error.js";import a from"../../../core/Logger.js";import{isSome as i,abortMaybe as o,disposeMaybe as n,isNone as c}from"../../../core/maybe.js";import{createTask as f,isAbortError as u}from"../../../core/promiseUtils.js";import{initial as h}from"../../../core/reactiveUtils.js";import{property as d}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as m}from"../../../core/accessorSupport/decorators/subclass.js";import{c as p,g as l,m as g}from"../../../chunks/mat4.js";import{c as _,f as b}from"../../../chunks/mat4f64.js";import{StarsTechnique as v}from"./StarsTechnique.js";import{glLayout as y}from"../support/buffer/glUtil.js";import{newLayout as j}from"../support/buffer/InterleavedLayout.js";import{VertexAttribute as w}from"../webgl-engine/lib/basicInterfaces.js";import{Default3D as T}from"../webgl-engine/lib/DefaultVertexAttributeLocations.js";import{WatchUpdatingTracking as k}from"../../support/WatchUpdatingTracking.js";import{BufferObject as D}from"../../webgl/BufferObject.js";import{PrimitiveType as P,Usage as x}from"../../webgl/enums.js";import{VertexArrayObject as A}from"../../webgl/VertexArrayObject.js";const S=a.getLogger("esri.views.3d.environment.Stars");let O=class extends r{constructor(t){super(t),this._loadDataTask=null,this._numPoints=0,this._renderParameter={camera:null,modelMatrix:_()},this._updatingTracking=new k}get updating(){return this._updatingTracking.updating||this.loading}get loading(){return i(this._loadDataTask)&&!this._loadDataTask.finished}initialize(){this._loadDataTask=this._createLoadDataTask()}destroy(){this._loadDataTask=o(this._loadDataTask),this._updatingTracking.destroy(),this._numPoints=0,this._technique=n(this._technique),this._vao=n(this._vao)}render(t){const{rctx:e,camera:r}=t;if(this._ensureResources(e),c(this._technique)||c(this._vao))return;const s=this._technique.program;e.useProgram(s),this._renderParameter.camera=r,this._technique.bindPass(this._renderParameter),this._technique.bindPipelineState(e),e.bindVAO(this._vao),s.assertCompatibleVertexAttributeLocations(this._vao),e.drawArrays(P.POINTS,0,this._numPoints)}_ensureResources(t){if(i(this._technique)||c(U))return;this._technique=new v({rctx:t,viewingMode:this.view.state.viewingMode},null),this._numPoints=U.byteLength/L;const e=new Float32Array(U,0,2*this._numPoints),r=new Uint8Array(U,2*this._numPoints*4,this._numPoints);this._vao=this._createVertexArrayObject(t,e,r,this._numPoints),this._updatingTracking.add((()=>{var t,e,r;return null==(t=this.view)||null==(e=t.environment)||null==(r=e.lighting)?void 0:r.date}),(t=>this._update(t)),h)}_computeDayDuration(t){const e=t,r=new Date(t.getFullYear(),0,1,11,58,56);return(+e-+r)/(+new Date(t.getFullYear()+1,0,1,11,58,55)-+r)}_update(t){if(!t)return;const e=(t.getHours()/12+t.getMinutes()/60*(2/24)+t.getSeconds()/60*(2/1440)-.9972222)%2,r=2*this._computeDayDuration(t),s=this._renderParameter.modelMatrix;p(s,M),l(s,s,-r*Math.PI),g(s,I,s),l(s,s,-e*Math.PI),this.requestRender()}_hexToRGB(t){return[parseInt(t.substring(0,2),16),parseInt(t.substring(2,4),16),parseInt(t.substring(4,6),16)]}_unpackUint8Attributes(t){return t>=192?[2.9,t-192]:t>=160?[2.5,t-160]:t>=128?[2,t-128]:t>=96?[1.5,t-96]:t>=64?[1,t-64]:t>=32?[.7,t-32]:[.4,t]}_createVertexArrayObject(t,e,r,s){const a=R.createBuffer(s),i=a.position,o=a.color,n=a.size;for(let c=0;c<s;c++){const t=e[2*c+0],s=e[2*c+1];i.set(c,0,-Math.cos(t)*Math.sin(s)),i.set(c,1,-Math.sin(t)*Math.sin(s)),i.set(c,2,-Math.cos(s));const a=this._unpackUint8Attributes(r[c]),f=this._hexToRGB(q[a[1]]);o.set(c,0,255*f[0]),o.set(c,1,255*f[1]),o.set(c,2,255*f[2]),o.set(c,3,255),n.set(c,a[0])}return new A(t,T,{geometry:y(R)},{geometry:D.createVertex(t,x.STATIC_DRAW,a.buffer)})}_createLoadDataTask(){if(i(U))return null;const t=f((async t=>{const{data:r}=await e("esri/views/3d/environment/resources/stars.wsv",{responseType:"array-buffer",signal:t});this._verifyStarData(r),U=r}));return t.promise.catch((t=>{u(t)||S.error(t)})).then((()=>{this.destroyed||(this.requestRender(),this.notifyChange("updating"))})),t}_verifyStarData(t){if(!t)throw new s("stars:no-data-received","Failed to create stars because star catalogue is missing");const e=t.byteLength/L;if(e%1!=0||e>5e4||e<5e3)throw new s("stars:invalid-data","Failed to create stars because star catalogue data is invalid")}};t([d({constructOnly:!0})],O.prototype,"view",void 0),t([d({constructOnly:!0})],O.prototype,"requestRender",void 0),t([d({readOnly:!0})],O.prototype,"updating",null),t([d()],O.prototype,"_loadDataTask",void 0),t([d()],O.prototype,"_updatingTracking",void 0),O=t([m("esri.views.3d.environment.Stars")],O);const q=["9bb2ff","9eb5ff","aabfff","bbccff","ccd8ff ","dae2ff","e4e9ff","eeefff","f8f6ff","fff9fb","fff5ef","fff1e5","ffeddb","ffe9d2","ffe6ca","ffe3c3","ffe0bb","ffddb4","ffdaad","ffd6a5","ffd29c","ffcc8f","ffc178","ffa94b","ff7b00"],I=b(1,0,0,0,0,.9174771405229186,.39778850739794974,0,0,-.39778850739794974,.9174771405229186,0,0,0,0,1),M=b(1,0,0,0,0,.9174771405229186,-.39778850739794974,0,0,.39778850739794974,.9174771405229186,0,0,0,0,1),L=9,R=j().vec3f(w.POSITION).vec4u8(w.COLOR).f32(w.SIZE);let U=null;export{O as Stars};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../Graphic.js";import t from"../../../core/Error.js";import i from"../../../core/Logger.js";import{
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../Graphic.js";import t from"../../../core/Error.js";import i from"../../../core/Logger.js";import{applySome as s,isSome as l,isNone as o}from"../../../core/maybe.js";import{initial as n}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as u}from"../../../core/accessorSupport/decorators/subclass.js";import{WhereClause as d}from"../../../core/sql/WhereClause.js";import"../../../layers/buildingSublayers/BuildingComponentSublayer.js";import p from"../../../layers/support/FeatureFilter.js";import{fixFields as y,unpackFieldNames as h,populateMissingFields as c}from"../../../layers/support/fieldUtils.js";import f from"../../../rest/support/Query.js";import{BuildingSublayerView3DMixin as m}from"./BuildingSublayerView3D.js";import{I3SMeshView3D as F}from"./I3SMeshView3D.js";import{ForAllFeaturesVisibilityMode as g}from"./II3SMeshView3D.js";import{applyFilterMode as b}from"./i3s/BuildingFilterUtil.js";import{createGetFeatureExtent as w}from"./i3s/I3SGeometryUtil.js";import{I3SMeshViewFilter as v}from"./i3s/I3SMeshViewFilter.js";import E from"./i3s/I3SQueryEngine.js";import{I3SQueryFeatureAdapter as _}from"./i3s/I3SQueryFeatureAdapter.js";import x from"./i3s/I3SQueryFeatureStore.js";import{findFieldsCaseInsensitive as S,getIndexCrs as j}from"./i3s/I3SUtil.js";import{DefinitionExpressionSceneLayerView as I}from"./support/DefinitionExpressionSceneLayerView.js";import Q from"../../layers/BuildingComponentSublayerView.js";import{getRequiredFields as q,getFetchPopupTemplate as R}from"../../layers/support/popupUtils.js";import{TaskPriority as L}from"../../support/Scheduler.js";const O=i.getLogger("esri.views.3d.layers.BuildingComponentSublayerView3D");let V=class extends(I(F(m(Q)))){constructor(){super(...arguments),this.type="building-component-sublayer-3d",this.layerView=null,this._elevationContext="scene",this._isIntegratedMesh=!1,this._supportsLabeling=!1,this.lodFactor=1,this.progressiveLoadFactor=1,this._queryEngine=null}get layerUid(){return this.sublayer.layer.uid}get sublayerUid(){return this.sublayer.uid}initialize(){this.updatingHandles.add((()=>[this.sublayer.renderer,this.definitionExpressionFields,this.filterExpressionFields]),(()=>this._updateRequiredFields())),this.updatingHandles.add((()=>this.sublayer.renderer),(e=>this._rendererChange(e)),n),this.updatingHandles.add((()=>[this.parsedDefinitionExpression,this.filter,s(this.viewFilter,(({parsedWhereClause:e,parsedGeometry:r,sortedObjectIds:t})=>[e,r,t]))]),(()=>this._filterChange())),this.updatingHandles.add((()=>this.parsedFilterExpressions),(()=>this._updateSymbologyOverride()),n),this.addResolvingPromise(this._updateRequiredFields())}get parsedFilterExpressions(){return"Overview"===this.sublayer.modelName?[]:this.layerView.filterExpressions.map((([e,r])=>{let t;try{t=d.create(e,this.sublayer.fieldsIndex)}catch(l){return O.error("Failed to parse filterExpression: "+l),null}if(!t.isStandardized)return O.error("filterExpression is using non standard function"),null;const i=[],s=t.fieldNames;return S(s,this.sublayer.fields,{missingFields:i}),i.length>0?(O.error(`filterExpression references unknown fields: ${i.join(", ")}`),null):[t,r]})).filter((e=>null!=e))}get filter(){return l(this.viewFilter)?this.viewFilter.filter:null}set filter(e){!o(e)&&v.checkSupport(e)?l(this.viewFilter)?this.viewFilter.filter=e:this.viewFilter=new v({filter:e,layerFieldsIndex:this.sublayer.fieldsIndex,loadAsyncModule:e=>this._loadAsyncModule(e),applyFilters:()=>this._applyFilters(!0),addSqlFilter:(e,r)=>this.addSqlFilter(e,r,this.logError)}):this.viewFilter=null}_updateSymbologyOverride(){const e=this.parsedFilterExpressions;e.length>0?this._setSymbologyOverride(((r,t)=>{for(const[s,l]of e)try{if(s.testFeature(r))return b(t,l)}catch(i){this.logError(i)}return b(t,null)}),this.filterExpressionFields):this._setSymbologyOverride(null,null)}get filterExpressionFields(){return y(this.sublayer.fieldsIndex,this.parsedFilterExpressions.reduce(((e,[r])=>e.concat(r.fieldNames)),[]))}get availableFields(){const e=this.sublayer,r=e.fieldsIndex;let t=this.requiredFields;if(e.outFields||e.layer.outFields){const i=[...e.outFields||[],...e.layer.outFields||[]];t=[...h(r,i),...t]}return y(r,t)}_createLayerGraphic(e){const t=new r(null,null,e);return t.layer=this.sublayer.layer,t.sourceLayer=this.sublayer,t}canResume(){return super.canResume()&&(!this._controller||this._controller.rootNodeVisible)}async fetchPopupFeatures(e,r){const t=this._validateFetchPopupFeatures(r);if(t)return Promise.reject(t);if(!l(r)||!r.clientGraphics||0===r.clientGraphics.length)return[];const i=[],s=[],o=l(this.sublayer.associatedLayer)?await this.sublayer.associatedLayer.load():this.sublayer,n=h(this.sublayer.fieldsIndex,await q(o,R(this.sublayer,r))),a=new Set;for(const l of r.clientGraphics)c(n,l,a)?s.push(l):i.push(l);return 0===s.length?Promise.resolve(i):(l(this.sublayer.associatedLayer)&&await this.sublayer.associatedLayer.load().catch((()=>O.warn("Failed to load associated feature layer. Displaying popup attributes from cached attributes."))),this.whenGraphicAttributes(s,Array.from(a)).catch((()=>s)).then((e=>i.concat(e))))}async _updateRequiredFields(){const e=y(this.sublayer.fieldsIndex,[...this.sublayer.renderer?await this.sublayer.renderer.getRequiredFields(this.sublayer.fieldsIndex):[],...this.definitionExpressionFields||[],...this.filterExpressionFields||[]]);this._set("requiredFields",e)}_validateFetchPopupFeatures(e){const{sublayer:r}=this,{popupEnabled:i}=r;return i?R(r,e)?void 0:new t("buildingscenelayerview3d:fetchPopupFeatures","Layer does not define a popup template",{sublayer:r}):new t("buildingscenelayerview3d:fetchPopupFeatures","Popups are disabled",{sublayer:r})}getFilters(){const e=super.getFilters();return this.addSqlFilter(e,this.parsedDefinitionExpression,this.logError),l(this.viewFilter)&&this.viewFilter.addFilters(e,this.view,this._controller.crsIndex,this._collection),e}createQuery(){const e={outFields:["*"],returnGeometry:!1,outSpatialReference:this.view.spatialReference};return l(this.filter)?this.filter.createQuery(e):new f(e)}queryExtent(e,r){return this._ensureQueryEngine().executeQueryForExtent(this._ensureQuery(e),null==r?void 0:r.signal)}queryFeatureCount(e,r){return this._ensureQueryEngine().executeQueryForCount(this._ensureQuery(e),null==r?void 0:r.signal)}queryFeatures(e,r){return this._ensureQueryEngine().executeQuery(this._ensureQuery(e),null==r?void 0:r.signal).then((e=>{if(null==e||!e.features)return e;const r=this.sublayer,t=r.layer;for(const i of e.features)i.layer=t,i.sourceLayer=r;return e}))}queryObjectIds(e,r){return this._ensureQueryEngine().executeQueryForIds(this._ensureQuery(e),null==r?void 0:r.signal)}_ensureQueryEngine(){return o(this._queryEngine)&&(this._queryEngine=this._createQueryEngine()),this._queryEngine}_createQueryEngine(){const e=w(this.view.spatialReference,this.view.renderSpatialReference,this._collection);return new E({layerView:this,priority:L.FEATURE_QUERY_ENGINE,spatialIndex:new x({featureAdapter:new _({objectIdField:this.sublayer.objectIdField,attributeStorageInfo:this.sublayer.attributeStorageInfo,getFeatureExtent:e}),forAllFeatures:(e,r)=>this._forAllFeatures(((r,t,i)=>e({id:r,index:t,meta:i})),r,g.ALL_IN_CLIPPING_AREA),getFeatureExtent:e,sourceSpatialReference:j(this.sublayer),viewSpatialReference:this.view.spatialReference})})}_ensureQuery(e){return this._addDefinitionExpressionToQuery(o(e)?this.createQuery():f.from(e))}};e([a({aliasOf:"sublayer"})],V.prototype,"i3slayer",void 0),e([a()],V.prototype,"layerView",void 0),e([a()],V.prototype,"suspended",void 0),e([a({readOnly:!0,aliasOf:"view.qualitySettings.sceneService.3dObject.lodFactor"})],V.prototype,"lodFactor",void 0),e([a({readOnly:!0})],V.prototype,"parsedFilterExpressions",null),e([a({type:p})],V.prototype,"filter",null),e([a()],V.prototype,"viewFilter",void 0),e([a({type:[String],readOnly:!0})],V.prototype,"filterExpressionFields",null),e([a({type:[String],readOnly:!0})],V.prototype,"requiredFields",void 0),e([a({type:[String],readOnly:!0})],V.prototype,"availableFields",null),V=e([u("esri.views.3d.layers.BuildingComponentSublayerView3D")],V);const A=V;export{A 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{forEach as t,result as i}from"../../../core/asyncUtils.js";import r from"../../../core/Logger.js";import{isNone as s,isSome as a}from"../../../core/maybe.js";import{debounce as n,isAbortError as o,eachAlways as l,onAbort as h,isAborted as m,createAbortError as c,always as d,throwIfAborted as g}from"../../../core/promiseUtils.js";import{whenOnce as u}from"../../../core/watchUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../core/accessorSupport/decorators/subclass.js";import y from"../../../geometry/Extent.js";import{equals as w,create as x,width as _,height as v,copy as R,intersection as b}from"../../../geometry/support/aaBoundingRect.js";import{DrapeSourceType as S}from"./interfaces.js";import{LayerView3D as E}from"./LayerView3D.js";import{computeImageExportSize as j,createGeometryForExtent as I,createOuterImageGeometry as A}from"./support/overlayImageUtils.js";import{toViewIfLocal as C}from"./support/projectExtentUtils.js";import D from"../support/debugFlags.js";import{OverlayIndex as L}from"../terrain/interfaces.js";import{UpdatePolicy as G}from"../webgl-engine/lib/basicInterfaces.js";import{ModelDirty as M}from"../webgl-engine/lib/ModelDirtyTypes.js";import{RenderGeometry as T}from"../webgl-engine/lib/RenderGeometry.js";import{Texture as P}from"../webgl-engine/lib/Texture.js";import{ImageMaterial as O}from"../webgl-engine/materials/ImageMaterial.js";import U from"../../layers/LayerView.js";import{RefreshableLayerView as V}from"../../layers/RefreshableLayerView.js";import{isScaleRangeActive as H}from"../../support/layerViewUtils.js";import{TextureWrapMode as N}from"../../webgl/enums.js";const z=r.getLogger("esri.views.3d.layers.DynamicLayerView3D");let F=class extends(V(E(U))){constructor(){super(...arguments),this.drapeSourceType=S.RasterImage,this.updatePolicy=G.SYNC,this.fullExtentInLocalViewSpatialReference=null,this.maximumDataResolution=null,this._images=new Array,this._extents=new Array,this._overlays=new Array,this.updateWhenStationary=!0,this.refreshDebounced=n((async e=>{this.destroyed||await this._doRefresh(e).catch((e=>{o(e)||r.getLogger(this.declaredClass).error(e)}))}),2e3)}initialize(){this.addResolvingPromise(C(this).then((e=>this._set("fullExtentInLocalViewSpatialReference",e)))),this.updatingHandles.add(this
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{forEach as t,result as i}from"../../../core/asyncUtils.js";import r from"../../../core/Logger.js";import{isNone as s,isSome as a}from"../../../core/maybe.js";import{debounce as n,isAbortError as o,eachAlways as l,onAbort as h,isAborted as m,createAbortError as c,always as d,throwIfAborted as g}from"../../../core/promiseUtils.js";import{whenOnce as u}from"../../../core/watchUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as f}from"../../../core/accessorSupport/decorators/subclass.js";import y from"../../../geometry/Extent.js";import{equals as w,create as x,width as _,height as v,copy as R,intersection as b}from"../../../geometry/support/aaBoundingRect.js";import{DrapeSourceType as S}from"./interfaces.js";import{LayerView3D as E}from"./LayerView3D.js";import{computeImageExportSize as j,createGeometryForExtent as I,createOuterImageGeometry as A}from"./support/overlayImageUtils.js";import{toViewIfLocal as C}from"./support/projectExtentUtils.js";import D from"../support/debugFlags.js";import{OverlayIndex as L}from"../terrain/interfaces.js";import{UpdatePolicy as G}from"../webgl-engine/lib/basicInterfaces.js";import{ModelDirty as M}from"../webgl-engine/lib/ModelDirtyTypes.js";import{RenderGeometry as T}from"../webgl-engine/lib/RenderGeometry.js";import{Texture as P}from"../webgl-engine/lib/Texture.js";import{ImageMaterial as O}from"../webgl-engine/materials/ImageMaterial.js";import U from"../../layers/LayerView.js";import{RefreshableLayerView as V}from"../../layers/RefreshableLayerView.js";import{isScaleRangeActive as H}from"../../support/layerViewUtils.js";import{TextureWrapMode as N}from"../../webgl/enums.js";const z=r.getLogger("esri.views.3d.layers.DynamicLayerView3D");let F=class extends(V(E(U))){constructor(){super(...arguments),this.drapeSourceType=S.RasterImage,this.updatePolicy=G.SYNC,this.fullExtentInLocalViewSpatialReference=null,this.maximumDataResolution=null,this._images=new Array,this._extents=new Array,this._overlays=new Array,this.updateWhenStationary=!0,this.refreshDebounced=n((async e=>{this.destroyed||await this._doRefresh(e).catch((e=>{o(e)||r.getLogger(this.declaredClass).error(e)}))}),2e3)}initialize(){this.addResolvingPromise(C(this).then((e=>this._set("fullExtentInLocalViewSpatialReference",e)))),this.updatingHandles.add((()=>this.suspended),(()=>this._suspendedChangeHandler())),this.handles.add(this.view.resourceController.scheduler.registerIdleStateCallbacks((()=>{this._isScaleRangeActive()&&this.notifyChange("suspended")}),(()=>{}))),this._isScaleRangeLayer()&&this.updatingHandles.add((()=>this.layer.effectiveScaleRange),(()=>this.notifyChange("suspended")))}destroy(){this.clear()}setDrapingExtent(e,t){this._spatialReference=t,e.forEach((e=>{this._overlays[e.index]=e,this._updateImageExtent(e)}))}_updateImageExtent(e){const t=this._clippedExtent(e.extent,W);if(s(t))return;const i=j(e.extent,t,e.resolution);let r=e.pixelRatio*this.view.pixelRatio;if("imageMaxWidth"in this.layer||"imageMaxHeight"in this.layer){const e=this.layer.imageMaxWidth,t=this.layer.imageMaxHeight;if(i.width>e){const t=e/i.width;i.height=Math.floor(i.height*t),i.width=e,r*=t}if(i.height>t){const e=t/i.height;i.width=Math.floor(i.width*e),i.height=t,r*=e}}const a=this._extents[e.index];a&&w(a.extent,t)&&this._imageSizeEquals(t,a.imageSize,i)||(this._extents[e.index]={extent:x(t),imageSize:i,pixelRatio:r},this.suspended||this._fetch(e.index).catch((e=>{o(e)||z.error(e)})))}clear(){for(let e=0;e<this._images.length;e++)this._clearImage(e)}async doRefresh(){return this._doRefresh()}async _doRefresh(e){if(this.suspended)return;const t=[];for(let i=0;i<this._extents.length;i++)this._extents[i]&&t.push(this._fetch(i,e));await l(t)}canResume(){if(!super.canResume())return!1;const e=this.layer;if(this._isScaleRangeActive()){const{minScale:t,maxScale:i}=e.effectiveScaleRange,r=this.view.scale;if(r<i||t>0&&r>t)return!1}return!0}isUpdating(){return this._images.some((e=>!!e.loadingPromise))}async processResult(e,t,i){(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement)&&(e.image=t)}findExtentInfoAt(e){for(const t of this._extents){const i=t.extent;if(new y(i[0],i[1],i[2],i[3],this._spatialReference).contains(e))return t}return null}getFetchOptions(){}async redraw(e,i){await t(this._images,(async(t,r)=>{t&&(await e(t,i),await this._createStageObjects(r,t.image,i))}))}_imageSizeEquals(e,t,i){if(!this.maximumDataResolution)return!1;const r=_(e)/this.maximumDataResolution.x,s=v(e)/this.maximumDataResolution.y,a=r/t.width,n=s/t.height,o=r/i.width,l=s/i.height,h=Math.abs(a-o),m=Math.abs(n-l),c=D.TESTS_DISABLE_OPTIMIZATIONS?0:1.5;return h<=c&&m<=c}async _fetch(e,t){if(this.suspended)return;const i=this._extents[e],r=i.extent;this._images[e]||(this._images[e]={texture:null,material:null,renderGeometry:null,loadingPromise:null,loadingAbortController:null,image:null,pixelData:null,renderExtent:x(r)});const s=this._images[e];s.loadingAbortController&&(s.loadingAbortController.abort(),s.loadingAbortController=null);const a=new y(r[0],r[1],r[2],r[3],this._spatialReference);if(0===a.width||0===a.height)return void this._clearImage(e);const n=new AbortController;s.loadingAbortController=n,h(t,(()=>n.abort()));const l=n.signal,g=this._waitFetchReady(l).then((()=>{const t={requestAsImageElement:!0,pixelRatio:this._overlays[e].pixelRatio,...this.getFetchOptions(),signal:l},{height:r,width:s}=i.imageSize;return this.layer.fetchImage(a,s,r,t)})).then((e=>{if(m(l))throw z.warnOnce("A call to fetchImage resolved even though the request was aborted. fetchImage should not resolve if options.signal.aborted is true."),c();return this.processResult(s,e)})).then((()=>R(s.renderExtent,r)));s.loadingPromise=g,d(g,(()=>{g===s.loadingPromise&&(s.loadingPromise=null,s.loadingAbortController=null)})),this.notifyChange("updating"),await g.then((async()=>{if(l.aborted)throw c();await this._createStageObjects(e,s.image,l),this.notifyChange("updating")})).catch((e=>{throw e&&!o(e)&&z.error(e),this.notifyChange("updating"),e}))}_clearImage(e){const t=this._images[e];if(t){a(t.renderGeometry)&&(this.view.basemapTerrain.overlayManager.renderer.removeGeometries([t.renderGeometry],this,M.Geometry.UPDATE),t.renderGeometry=null);const e=this.view._stage;e.remove(t.texture),t.texture=null,e.remove(t.material),t.material=null,t.loadingAbortController&&(t.loadingAbortController.abort(),t.loadingAbortController=null),t.loadingPromise=null,t.image=null,t.pixelData=null}}async _createStageObjects(e,t,r){const n=this.view._stage,o=this._images[e],l=this.view.basemapTerrain.overlayManager.renderer,h=()=>{n.remove(o.texture),o.texture=null,a(o.renderGeometry)&&(l.removeGeometries([o.renderGeometry],this,M.Geometry.UPDATE),o.renderGeometry=null)};if(t){const a=new P(t,{width:t.width,height:t.height,preMultiplyAlpha:!0,wrap:{s:N.CLAMP_TO_EDGE,t:N.CLAMP_TO_EDGE}});let m;if(await i(this._images[e===L.INNER?L.OUTER:L.INNER].loadingPromise),g(r),e===L.INNER)m=I(o.renderExtent);else{const e=this._images[0].renderExtent;if(!e)return void h();m=A(e,o.renderExtent)}h(),n.add(a),await n.loadImmediate(a),o.texture=a,s(o.material)?(o.material=new O({transparent:!0,textureId:a.id}),n.add(o.material)):o.material.setParameters({textureId:a.id}),o.renderGeometry=new T(m,o.material),o.renderGeometry.origin=this._overlays[e].renderLocalOrigin,l.addGeometries([o.renderGeometry],this,M.Geometry.UPDATE)}else h(),n.remove(o.material),o.material=null}_isScaleRangeLayer(){return"effectiveScaleRange"in this.layer}_isScaleRangeActive(){const e=this.layer;if(!this._isScaleRangeLayer())return!1;const{minScale:t,maxScale:i}=e.effectiveScaleRange;return H(t,i)}_clippedExtent(e,t){if("local"!==this.view.viewingMode)return R(t,e);const i=this.view.basemapTerrain;return i.ready?b(e,i.extent,t):R(t,e)}_suspendedChangeHandler(){this.suspended?this.clear():this.refreshDebounced()}async _waitFetchReady(e){await u(this.view,"stationary",e),g(e)}};e([p()],F.prototype,"layer",void 0),e([p()],F.prototype,"suspended",void 0),e([p({readOnly:!0})],F.prototype,"fullExtentInLocalViewSpatialReference",void 0),e([p()],F.prototype,"updating",void 0),F=e([f("esri.views.3d.layers.DynamicLayerView3D")],F);const q=F,W=x();export{q 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Error.js";import{isSome as r}from"../../../core/maybe.js";import{
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Error.js";import{isSome as r}from"../../../core/maybe.js";import{initial as s,watch as i,when as o,syncAndInitial as a}from"../../../core/reactiveUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import{hydrateGeometry as u}from"../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as c}from"../../../layers/graphics/controllers/FeatureTileController3D.js";import{FeatureLikeLayerView3D as p}from"./FeatureLikeLayerView3D.js";import{LayerView3D as h}from"./LayerView3D.js";import{FeatureTileFetcher3DLayerViewContext as m}from"./support/FeatureTileFetcher3DLayerViewContext.js";import{EventedSet as d}from"../support/EventedSet.js";import{updatingProgress as y}from"../support/updatingProperties.js";import{UpdatePolicy as g}from"../webgl-engine/lib/basicInterfaces.js";import{FeatureLayerView as f}from"../../layers/FeatureLayerView.js";import F from"../../layers/LayerView.js";import{RefreshableLayerView as b}from"../../layers/RefreshableLayerView.js";let x=class extends(b(p(f(h(F))))){constructor(e){super(e),this._controllerTotal=0,this._graphicsCoreTotal=0,this.suspendResumeExtentMode="data"}initialize(){this.updatingHandles.add((()=>this.view.floors),(()=>this.graphics3d.filterVisibility.filterChanged()))}destroy(){this.fetcherContext&&(this.fetcherContext.destroy(),this.fetcherContext=null)}get maximumNumberOfFeatures(){var e,t;return null!=(e=null==(t=this.controller)?void 0:t.maximumNumberOfFeatures)?e:this._get("maximumNumberOfFeatures")}set maximumNumberOfFeatures(e){this._set("maximumNumberOfFeatures",e),this.controller&&(this.controller.maximumNumberOfFeatures=e)}get maximumNumberOfFeaturesExceeded(){return!!this.controller&&!(this.suspended||!this.controller.maximumNumberOfFeaturesExceeded)}get updatingProgressValue(){var e,t,r;let s=0;if(null!=(e=this.controller)&&e.updating){const e=this.controller.updatingRemaining,t=Math.max(this.controller.updatingTotal,this._controllerTotal);t>0&&(s=(t-e)/t,this._controllerTotal=t)}let i=0;if(null!=(t=this.graphics3d)&&null!=(r=t.graphicsCore)&&r.updating){const e=this.graphics3d.graphicsCore.updatingRemaining,t=Math.max(e,this._graphicsCoreTotal);t>0&&(i=(t-e)/t,this._graphicsCoreTotal=t)}return.5*(s+i)}get updatePolicy(){if(!this.controller)return g.ASYNC;switch(this.controller.mode){case"snapshot":{const e=C[this.layer.geometryType];return null==e||this.controller.serviceDataCount>e?g.ASYNC:g.SYNC}case"tiles":return g.ASYNC}}get hasZ(){const e=this.layer,t=e.capabilities&&e.capabilities.data;return!(!t||!t.supportsZ)&&("returnZ"in e&&null!=e.returnZ?e.returnZ:t.supportsZ)}get hasM(){const e=this.layer,t=e.capabilities&&e.capabilities.data;return!(!t||!t.supportsM)&&("returnM"in e&&null!=e.returnM&&e.returnM)}setVisibility(e,t){this.graphics3d&&this.graphics3d.graphicsCore.setObjectIdVisibility(e,t)}createQuery(){return super.createQuery()}queryFeatures(e,t){const r=()=>super.queryFeatures(e,t);return"mesh"===this.layer.geometryType?this._queryFeaturesMesh(this._ensureQuery(e),r):r()}beforeSetController(e){e.maximumNumberOfFeatures=this.maximumNumberOfFeatures}createController(){this.fetcherContext=new m({layerView:this,returnZ:this.hasZ,returnM:this.hasM});const e=new c({layerView:this,context:this.fetcherContext,graphics:new d,extent:this.clippingExtent});return this.updatingHandles.add((()=>e.serviceDataExtent),(e=>{this.graphics3d&&(this.graphics3d.dataExtent=e)}),s),this.handles.add(i((()=>this.suspended),(t=>{t?e.suspend():e.resume()}),a)),this.updatingHandles.add((()=>{var e,t;return null==(e=this.graphics3d)||null==(t=e.graphicsCore)?void 0:t.displayFeatureLimit}),(()=>this._updateDisplayFeatureLimit(e)),s),this.handles.add([this.view.resourceController.memoryController.events.on("quality-changed",(()=>this._updateDisplayFeatureLimit())),o((()=>!this.updating),(()=>{this._controllerTotal=0,this._graphicsCoreTotal=0,this.notifyChange("updatingProgressValue")}))]),e}async doRefresh(e){e&&!this.suspended&&this.controller&&this.controller.refetch(),this.graphics3d.filterVisibility.dirty=!0}getUsedMemory(){const e=this.graphics3d&&this.graphics3d.graphicsCore;return(e?e.usedMemory:0)+(this.controller?this.controller.memoryForUnusedFeatures:0)}getUnloadedMemory(){const e=this.graphics3d&&this.graphics3d.graphicsCore;return(e?e.unprocessedMemoryEstimate:0)+(this.controller?this.controller.expectedFeatureDiff*e.usedMemoryPerGraphic:0)}ignoresMemoryFactor(){return this.controller&&this.controller.hasMaximumNumberOfFeaturesOverride}_updateDisplayFeatureLimit(e=this.controller){if(!e||!this.graphics3d||!this.graphics3d.graphicsCore)return;const t=this.graphics3d.graphicsCore.displayFeatureLimit,r=this.view.resourceController.memoryController.memoryFactor;if(1===r)e.displayFeatureLimit=t;else{const s=Math.ceil(t.maximumNumberOfFeatures*r),i=Math.ceil(t.maximumTotalNumberOfFeatures*r),o=Math.ceil(t.minimumTotalNumberOfFeatures*r);e.displayFeatureLimit={...t,maximumNumberOfFeatures:s,maximumTotalNumberOfFeatures:i,minimumTotalNumberOfFeatures:o}}}async _queryFeaturesMesh(e,t){await this._validateQueryFeaturesMesh(e);const r=await t();if(e&&e.outStatistics)return r;const s=this.layer.objectIdField,i=this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID,o=[];for(const a of r.features)if(a.geometry){const e=i.get(a.attributes[s]);e&&(a.geometry=u(e.graphic.geometry),o.push(a))}else o.push(a);return r.features=o,r}async _validateQueryFeaturesMesh(e){if(!e)return;const s=e=>{throw new t("feature-layer-view:unsupported-query",`Queries on Mesh feature collection layers do not support '${e}'`)},i=["quantizationParameters","geometryPrecision","maxAllowableOffset"];for(const t of i)null!=e[t]&&s(t);"returnM"in e&&e.returnM&&s("returnM"),"returnCentroid"in e&&e.returnCentroid&&s("returnCentroid"),r(e.outSpatialReference)&&!e.outSpatialReference.equals(this.view.spatialReference)&&s("outSpatialReference")}get performanceInfo(){const e=this.controller&&this.controller.displayFeatureLimit,t=r(e)&&e.averageSymbolComplexity,s=r(t)?`f:${t.primitivesPerFeature},v:${t.primitivesPerCoordinate}`:"n/a",i={...this._getResourceInfo(),storedFeatures:0,totalVertices:0,partial:this.maximumNumberOfFeaturesExceeded,mode:this.controller?this.controller.mode:"n/a",symbolComplexity:s,nodes:this.controller?this.controller.tileDescriptors.length:0};if(this.controller&&i.displayedNumberOfFeatures){const e=this.controller.debug;i.storedFeatures=e.storedFeatures,i.totalVertices=e.totalVertices}return i}get test(){return{updatePolicy:this.updatePolicy,controller:this.controller}}};e([l()],x.prototype,"layer",void 0),e([l()],x.prototype,"controller",void 0),e([l()],x.prototype,"maximumNumberOfFeatures",null),e([l()],x.prototype,"maximumNumberOfFeaturesExceeded",null),e([l(y)],x.prototype,"updatingProgress",void 0),e([l({readOnly:!0,dependsOn:["controller.updatingRemaining","controller.updatingTotal","graphics3d.graphicsCore.updatingRemaining"]})],x.prototype,"updatingProgressValue",null),e([l({readOnly:!0})],x.prototype,"updatePolicy",null),e([l({readOnly:!0})],x.prototype,"hasZ",null),e([l({readOnly:!0})],x.prototype,"hasM",null),e([l()],x.prototype,"suspendResumeExtentMode",void 0),x=e([n("esri.views.3d.layers.FeatureLayerViewBase3D")],x);const C={point:5e3,polygon:500,polyline:1e3},M=x;export{M as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Error.js";import{
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Error.js";import{applySome as r,destroyMaybe as i,isSome as s,get as n,isNone as o}from"../../../core/maybe.js";import{initial as a,whenOnce as l}from"../../../core/reactiveUtils.js";import{property as p}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{hydrateGraphic as d}from"../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as u}from"../../../layers/graphics/controllers/FeatureTileController3D.js";import{getRenderingInfo as c,getRenderingInfoAsync as g}from"../../../renderers/support/renderingInfoUtils.js";import y from"../../../rest/support/Query.js";import{DrapeSourceType as m}from"./interfaces.js";import f from"./graphics/Graphics3DFeatureLikeLayerView.js";import b from"./graphics/QueryEngine.js";import{toViewIfLocal as E}from"./support/projectExtentUtils.js";import{UpdatePolicy as C}from"../webgl-engine/lib/basicInterfaces.js";import{TaskPriority as v}from"../../support/Scheduler.js";const x=x=>{let w=class extends x{constructor(){super(...arguments),this.controller=null,this.updatePolicy=C.SYNC,this.suspendResumeExtentMode="computed",this.slicePlaneEnabled=!1,this.drapeSourceType=m.Features,this.fullExtentInLocalViewSpatialReference=null,this.suspendResumeExtent=null,this._controllerCreated=!1,this.clippingExtent=null,this.supportsHeightUnitConversion=!0,this.pendingController=null,this.queryEngine=null}initialize(){const e=this.layer;if("isTable"in e&&e.isTable)return void this.addResolvingPromise(Promise.reject(new t("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e})));this.addResolvingPromise(this._validateGeometryType());const i=new f({owner:this,layer:e,frustumVisibilityEnabled:!0,scaleVisibilityEnabled:!0,filterVisibilityEnabled:!0,timeExtentVisibilityEnabled:!0,elevationAlignmentEnabled:!0,elevationFeatureExpressionEnabled:!0,preferredUpdatePolicy:this.updatePolicy,suspendResumeExtentMode:this.suspendResumeExtentMode,updateClippingExtent:e=>this._updateClippingExtent(e)});this._set("graphics3d",i),this.updatingHandles.add((()=>({updatePolicy:this.updatePolicy,graphics3d:this.graphics3d})),(({updatePolicy:e,graphics3d:t})=>r(t,(t=>t.graphicsCore.preferredUpdatePolicy=e))),a),this.updatingHandles.add((()=>({suspendResumeExtentMode:this.suspendResumeExtentMode,graphics3d:this.graphics3d})),(({suspendResumeExtentMode:e,graphics3d:t})=>r(t,(t=>t.suspendResumeExtentMode=e))),a),this.addResolvingPromise((async()=>{await i.setup(),this.queryEngine=new b({layerView:this,priority:v.FEATURE_QUERY_ENGINE})})()),this.addResolvingPromise((async()=>{const e=await E(this);this.fullExtentInLocalViewSpatialReference=e,await this._initializeController()})()),this.notifyChange("updating")}destroy(){this._destroyPendingController(),this.controller=i(this.controller),this._set("graphics3d",i(this.graphics3d)),this.queryEngine=i(this.queryEngine),this.loadedGraphics=null}_destroyPendingController(){this.pendingController&&(this.pendingController.destroy(),this.pendingController=null)}get legendEnabled(){var e,t;return this.canResume()&&!(null!=(e=this.graphics3d)&&null!=(t=e.frustumVisibility)&&t.suspended)}notifyGraphicGeometryChanged(e){this.graphics3d.graphicsCore.notifyGraphicGeometryChanged(e)}notifyGraphicVisibilityChanged(e){this.graphics3d.graphicsCore.notifyGraphicVisibilityChanged(e)}getRenderingInfo(e,t,r){const i=c(e,{renderer:t,arcade:r});if(s(i)&&i.color){const e=i.color;e[0]=e[0]/255,e[1]=e[1]/255,e[2]=e[2]/255}return i}async getRenderingInfoAsync(e,t,r,i){return g(e,{renderer:t,arcade:r,...i})}getGraphicFromGraphicUid(e){var t;let r=null;return null==(t=this.loadedGraphics)||t.forEach((t=>{t.uid===e&&(r=d(t,this.layer))})),r}get graphics3DGraphics(){return this.graphics3d?this.graphics3d.graphicsCore.graphics3DGraphics:null}get graphics3DGraphicsByObjectID(){return this.graphics3d?this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID:null}get symbolUpdateType(){return this.graphics3d?this.graphics3d.graphicsCore.symbolUpdateType:null}whenGraphicBounds(e,t){return this.graphics3d?this.graphics3d.graphicsCore.whenGraphicBounds(e,t):null}computeAttachmentOrigin(e,t){return this.graphics3d?this.graphics3d.graphicsCore.computeAttachmentOrigin(e,t):null}getSymbolLayerSize(e,t){return this.graphics3d?this.graphics3d.graphicsCore.getSymbolLayerSize(e,t):null}queryFeatures(e,t){return this.queryEngine.executeQuery(this._ensureQuery(e),n(t,"signal"))}queryObjectIds(e,t){return this.queryEngine.executeQueryForIds(this._ensureQuery(e),n(t,"signal"))}queryFeatureCount(e,t){return this.queryEngine.executeQueryForCount(this._ensureQuery(e),n(t,"signal"))}queryExtent(e,t){return this.queryEngine.executeQueryForExtent(this._ensureQuery(e),n(t,"signal"))}_ensureQuery(e){return o(e)?this.createQuery():y.from(e)}highlight(e){return this.graphics3d.highlight(e,this.layer.objectIdField)}maskOccludee(e){return this.graphics3d.maskOccludee(e)}canResume(){return super.canResume()&&(!this.graphics3d||!this.graphics3d.suspended)}getSuspendInfo(){const e=super.getSuspendInfo();return this.graphics3d?{...e,...this.graphics3d.suspendInfo}:e}isUpdating(){var e,t,r;return!(!this.graphics3d||this.graphics3d.destroyed)&&!(this._controllerCreated&&(null==(e=this.controller)||!e.updating)&&null!=(t=this.view)&&null!=(r=t.basemapTerrain)&&r.ready&&!this.graphics3d.updating)}async _initializeController(){const e=this.createController();this.pendingController=e,await e.when(),this._setControllerWhenInitialized(e)}async _setControllerWhenInitialized(e){try{await this.when()}catch(t){}this._controllerCreated=!0,this.notifyChange("updating"),this.isResolved()&&!this.destroyed?(await l((()=>{var e,t;return null==(e=this.view)||null==(t=e.basemapTerrain)?void 0:t.ready})),this.beforeSetController(e),this.pendingController=null,this.controller=e,this.loadedGraphics=e.graphics,this.notifyChange("updating")):this._destroyPendingController()}_updateClippingExtent(e){if(this.clippingExtent=e,!this.controller)return!1;switch(this.controller.type){case"stream":return!1;case"feature-tile-3d":return this.controller.extent=e,!0}}async _validateGeometryType(){switch(this.layer.geometryType){case"multipatch":case"multipoint":return Promise.reject(new t("featurelayerview3d:unsupported-geometry-type","Unsupported geometry type ${geometryType}",{geometryType:this.layer.geometryType}))}}_getResourceInfo(){const e=this.controller&&this.controller instanceof u?this.controller:null;return{displayedNumberOfFeatures:this.loadedGraphics.length,maximumNumberOfFeatures:e?e.maximumNumberOfFeatures:-1,totalNumberOfFeatures:e?e.serviceDataCount:-1,nodes:0,core:this.graphics3d.graphicsCore.performanceInfo,elevationUpdating:this.graphics3d.elevationAlignment.updating,visibilityFrustum:!this.graphics3d.frustumVisibility.suspended,visibilityScale:!this.graphics3d.scaleVisibility.suspended}}get performanceInfo(){return this._getResourceInfo()}};return e([p()],w.prototype,"loadedGraphics",void 0),e([p()],w.prototype,"suspended",void 0),e([p({readOnly:!0})],w.prototype,"legendEnabled",null),e([p()],w.prototype,"updating",void 0),e([p()],w.prototype,"controller",void 0),e([p()],w.prototype,"graphics3d",void 0),e([p({readOnly:!0})],w.prototype,"updatePolicy",void 0),e([p({readOnly:!0})],w.prototype,"suspendResumeExtentMode",void 0),e([p({type:Boolean})],w.prototype,"slicePlaneEnabled",void 0),e([p({readOnly:!0})],w.prototype,"suspendInfo",void 0),w=e([h("esri.views.3d.layers.FeatureLikeLayerView3D")],w),w};export{x as FeatureLikeLayerView3D};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as i}from"../../../chunks/tslib.es6.js";import{isSome as e}from"../../../core/maybe.js";import{whenTrueOnce as s,init as t,watch as r}from"../../../core/watchUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{DrapeSourceType as h}from"./interfaces.js";import{LayerView3D as n}from"./LayerView3D.js";import c from"./graphics/Graphics3DFrustumVisibility.js";import o from"./graphics/Graphics3DGraphicLikeLayerView.js";import{enlargeExtent as d}from"./graphics/graphicUtils.js";import{toViewIfLocal as u}from"./support/projectExtentUtils.js";import{UpdatePolicy as l}from"../webgl-engine/lib/basicInterfaces.js";import g from"../../layers/LayerView.js";const y=1.2;let m=class extends(n(g)){constructor(){super(...arguments),this.type="graphics-3d",this.frustumVisibility=new c,this.slicePlaneEnabled=!1,this.drapeSourceType=h.Features,this.suspendResumeExtent=null,this.fullExtentInLocalViewSpatialReference=null}initialize(){this._set("graphics3d",new o({owner:this,layer:this.layer,scaleVisibilityEnabled:!0})),this.graphics3d.setup(),this.frustumVisibility.setup(this),this._setupSuspendResumeExtent(),this.updatingHandles.add(this
|
|
5
|
+
import{_ as i}from"../../../chunks/tslib.es6.js";import{isSome as e}from"../../../core/maybe.js";import{whenTrueOnce as s,init as t,watch as r}from"../../../core/watchUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{DrapeSourceType as h}from"./interfaces.js";import{LayerView3D as n}from"./LayerView3D.js";import c from"./graphics/Graphics3DFrustumVisibility.js";import o from"./graphics/Graphics3DGraphicLikeLayerView.js";import{enlargeExtent as d}from"./graphics/graphicUtils.js";import{toViewIfLocal as u}from"./support/projectExtentUtils.js";import{UpdatePolicy as l}from"../webgl-engine/lib/basicInterfaces.js";import g from"../../layers/LayerView.js";const y=1.2;let m=class extends(n(g)){constructor(){super(...arguments),this.type="graphics-3d",this.frustumVisibility=new c,this.slicePlaneEnabled=!1,this.drapeSourceType=h.Features,this.suspendResumeExtent=null,this.fullExtentInLocalViewSpatialReference=null}initialize(){this._set("graphics3d",new o({owner:this,layer:this.layer,scaleVisibilityEnabled:!0})),this.graphics3d.setup(),this.frustumVisibility.setup(this),this._setupSuspendResumeExtent(),this.updatingHandles.add((()=>this.fullOpacity),(()=>this.graphics3d.graphicsCore.opacityChange())),this.handles.add(this.layer.on("graphic-update",(i=>this.graphics3d.graphicsCore.graphicUpdateHandler(i)))),this.addResolvingPromise(u(this).then((i=>this.fullExtentInLocalViewSpatialReference=i))),this.layer.internal?this.notifyChange("updating"):this.handles.add(s(this.view,"basemapTerrain.ready",(()=>this.notifyChange("updating"))))}destroy(){this.frustumVisibility&&(this.frustumVisibility.destroy(),this._set("frustumVisibility",null)),this.graphics3d&&(this.graphics3d.destroy(),this._set("graphics3d",null))}get legendEnabled(){return this.canResume()&&!this.frustumVisibility.suspended}getSuspendInfo(){var i;const s=super.getSuspendInfo();return e(this.graphics3d.scaleVisibility)&&this.graphics3d.scaleVisibility.suspended&&(s.outsideScaleRange=!0),s.outsideOfView=!(null==(i=this.frustumVisibility)||!i.suspended),s}async fetchPopupFeatures(i,s){return e(s)?s.clientGraphics:null}notifyGraphicGeometryChanged(i){this.graphics3d.graphicsCore.notifyGraphicGeometryChanged(i)}notifyGraphicVisibilityChanged(i){this.graphics3d.graphicsCore.notifyGraphicVisibilityChanged(i)}get graphics3DGraphics(){return this.graphics3d.graphicsCore.graphics3DGraphics}get graphics3DGraphicsByObjectID(){return this.graphics3d?this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID:null}get symbolUpdateType(){return this.graphics3d.graphicsCore.symbolUpdateType}getGraphicFromGraphicUid(i){return this.graphics3d.getGraphicFromGraphicUid(i)}whenGraphicBounds(i,e){return this.graphics3d.whenGraphicBounds(i,e)}computeAttachmentOrigin(i,e){return this.graphics3d?this.graphics3d.graphicsCore.computeAttachmentOrigin(i,e):null}getSymbolLayerSize(i,e){return this.graphics3d.getSymbolLayerSize(i,e)}queryGraphics(){return Promise.resolve(this.loadedGraphics)}maskOccludee(i){return this.graphics3d.maskOccludee(i)}highlight(i){return this.graphics3d.highlight(i)}get updatePolicy(){var i;return(null==(i=this.graphics3d)?void 0:i.graphicsCore.effectiveUpdatePolicy)||l.SYNC}canResume(){var i;return super.canResume()&&!(null!=(i=this.graphics3d)&&i.suspended)}isUpdating(){var i,e;return!(!(this.graphics3d&&this.graphics3d.updating||this.frustumVisibility&&this.frustumVisibility.updating)&&(this.layer.internal||null!=(i=this.view)&&null!=(e=i.basemapTerrain)&&e.ready))}_setupSuspendResumeExtent(){const i=()=>{this.suspendResumeExtent=d(this.graphics3d.graphicsCore.computedExtent,this.suspendResumeExtent,y,this.graphics3d.graphicsCore.extentPadding),this.frustumVisibility.setExtent(this.suspendResumeExtent)};t(this.graphics3d.graphicsCore,"computedExtent",(()=>i()),!0),r(this.graphics3d.graphicsCore,"extentPadding",(()=>i()),!0)}get performanceInfo(){return{displayedNumberOfFeatures:this.loadedGraphics.length,maximumNumberOfFeatures:-1,totalNumberOfFeatures:-1,nodes:0,core:null,updating:this.updating,elevationUpdating:this.graphics3d.elevationAlignment.updating,visibilityFrustum:!this.frustumVisibility.suspended}}};i([a({aliasOf:"layer.graphics"})],m.prototype,"loadedGraphics",void 0),i([a({readOnly:!0})],m.prototype,"suspended",void 0),i([a({readOnly:!0})],m.prototype,"legendEnabled",null),i([a({readOnly:!0})],m.prototype,"updating",void 0),i([a()],m.prototype,"layer",void 0),i([a({readOnly:!0})],m.prototype,"frustumVisibility",void 0),i([a({readOnly:!0})],m.prototype,"graphics3d",void 0),i([a({type:Boolean})],m.prototype,"slicePlaneEnabled",void 0),m=i([p("esri.views.3d.layers.GraphicsLayerView3D")],m);const f=m;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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as r}from"../../../chunks/tslib.es6.js";import i from"../../../core/Accessor.js";import{isSome as
|
|
5
|
+
import{_ as r}from"../../../chunks/tslib.es6.js";import i from"../../../core/Accessor.js";import{isSome as e}from"../../../core/maybe.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";import{DrapeSourceType as a}from"./interfaces.js";import p from"./graphics/Graphics3DGraphicLikeLayerView.js";import{GraphicsView as c}from"../../layers/GraphicsView.js";let h=class extends(c(i)){constructor(r){super(r),this.graphics3d=null,this.slicePlaneEnabled=!1,this.drapeSourceType=a.Features}initialize(){const r="__sceneView.graphics-"+Date.now().toString(16),i={id:r,uid:r,type:"graphics-view-3d-proxy"};this._set("graphics3d",new p({owner:this,layer:i})),this.graphics3d.setup()}destroy(){this.graphics3d&&(this.graphics3d.destroy(),this._set("graphics3d",null))}get updating(){var r;return!(null==(r=this.graphics3d)||!r.updating)}notifyGraphicGeometryChanged(r){this.graphics3d.graphicsCore.notifyGraphicGeometryChanged(r)}notifyGraphicVisibilityChanged(r){this.graphics3d.graphicsCore.notifyGraphicVisibilityChanged(r)}get graphics3DGraphics(){return this.graphics3d.graphicsCore.graphics3DGraphics}get graphics3DGraphicsByObjectID(){return this.graphics3d.graphicsCore.graphics3DGraphicsByObjectID}get symbolUpdateType(){return this.graphics3d.graphicsCore.symbolUpdateType}getGraphicFromGraphicUid(r){return this.graphics3d.getGraphicFromGraphicUid(r)}whenGraphicBounds(r,i){return this.graphics3d.whenGraphicBounds(r,i)}graphicChanged(r){this.graphics3d.graphicsCore.graphicUpdateHandler(r)}get updatePolicy(){return this.graphics3d.graphicsCore.effectiveUpdatePolicy}queryGraphics(){return Promise.resolve(this.loadedGraphics)}async fetchPopupFeatures(r,i){return e(i)?i.clientGraphics:null}highlight(r){return this.graphics3d.highlight(r)}maskOccludee(r){return this.graphics3d.maskOccludee(r)}};r([s({readOnly:!0,aliasOf:"view.graphics"})],h.prototype,"graphics",void 0),r([s({aliasOf:"graphics"})],h.prototype,"loadedGraphics",void 0),r([s({readOnly:!0})],h.prototype,"updating",null),r([s({constructOnly:!0})],h.prototype,"view",void 0),r([s()],h.prototype,"graphics3d",void 0),r([s({type:Boolean})],h.prototype,"slicePlaneEnabled",void 0),h=r([t("esri.views.3d.layers.GraphicsView3D")],h);const o=h;export{o as default};
|