@arcgis/core 4.28.0-next.20230821 → 4.28.0-next.20230823

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.
Files changed (668) hide show
  1. package/Basemap.js +1 -1
  2. package/WebScene.js +1 -1
  3. package/arcade/functions/geomasync.js +1 -1
  4. package/arcade/portalUtils.js +1 -1
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/0746319459dbcd3ab6f7.js +1 -0
  7. package/assets/esri/core/workers/chunks/{587437526ea77f764986.js → 0759d4ab9695096d2bbd.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{d0c4367a197b193e95d4.js → 10c014a6d8767ae8a666.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{5ffabd1a90c5b08109aa.js → 196937631ac20795e0ae.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{e05b54a0b834b4e4268e.js → 1c2b69dfcd0db58150e2.js} +1 -1
  11. package/assets/esri/core/workers/chunks/1c2f7c95825fdac790be.js +1 -0
  12. package/assets/esri/core/workers/chunks/1f9c80815f90fd0886d7.js +1 -0
  13. package/assets/esri/core/workers/chunks/217910f88fe2c03e6bdd.js +1 -0
  14. package/assets/esri/core/workers/chunks/238966b2fc6cc3dfcc05.js +1 -0
  15. package/assets/esri/core/workers/chunks/2c9f709d64954b3c1650.js +1 -0
  16. package/assets/esri/core/workers/chunks/35faede04d4539aab6e8.js +1 -0
  17. package/assets/esri/core/workers/chunks/3e3edcbacf8eaf275b97.js +1 -0
  18. package/assets/esri/core/workers/chunks/{b78dc6cbe14e5817b4d9.js → 4968018bc693c053fdd2.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{c35b850fbfcb28133235.js → 49a1ba3e7ea204adeddb.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{12b8fe0374fa9ab4ca09.js → 49cf3ae224f56f45f65b.js} +1 -1
  21. package/assets/esri/core/workers/chunks/5330040eeacc9c03fbdb.js +1 -0
  22. package/assets/esri/core/workers/chunks/54aaa21144431b29b6ed.js +1 -0
  23. package/assets/esri/core/workers/chunks/{6c40f16e6d10321295d8.js → 5b13d28cf5efc312a21c.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{d6c96a20e9640b433719.js → 67c6618339d323460d45.js} +57 -57
  25. package/assets/esri/core/workers/chunks/{dd86f43505b636eb41c0.js → 7714c16f9c8860efd461.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{752d389c7bdcbe7004dc.js → 83e0af5522a672c2c73b.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{873111ddf4813cdd4903.js → 872d0d4bf364be43a92e.js} +1 -1
  28. package/assets/esri/core/workers/chunks/8a784ddd5607f1ddbb5b.js +1 -0
  29. package/assets/esri/core/workers/chunks/{0cad2b991d0d0fd07846.js → 8c9c4162617f31e3f5f2.js} +1 -1
  30. package/assets/esri/core/workers/chunks/8db3ee2931be5cca3f5e.js +1 -0
  31. package/assets/esri/core/workers/chunks/{fd3920159ab9748402a2.js → 92350664e2719a9e860e.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{ff755962fd1c771f5be5.js → a3b461174984a1cb92b3.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{dd4c6d000222798a0317.js → a47aff9c97c5ce52d0dc.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{028534e3d4e13c9ea687.js → a645f08a7678f2ca037c.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{d9fe6cfbc9ad2920ca9c.js → aca45e54ec925002df9a.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{40ff0e7c948615b8bfc0.js → b07d32a60307d04391fc.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{fdc703330bf194a48e0e.js → b086e798f43dacb0175f.js} +1 -1
  38. package/assets/esri/core/workers/chunks/bd0b9647880cbbec95e2.js +1 -0
  39. package/assets/esri/core/workers/chunks/{ab420bacdd63ee8fbd8b.js → bf9b5e2803a5444bd944.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{c58ca2685eb7e559f428.js → c0a2a737a3085690afc5.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{e04e8af4224fff8c3ec3.js → c34615c0b7ad83d1ad24.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{05ab09713d599687afa3.js → d105ee2e394e2c48303c.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{ef03b78659c72de93076.js → d183144fa504064d23d3.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{4f5207abb034375927c7.js → d8495c6dcd4d9bec8dd6.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{1a485d63330f5e7fe4e3.js → dba61fa8cbb57dde54b2.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{8a306e3aa210861b8c17.js → deb0bd575c63d9dbcde5.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{d0a2f9ca338b60f2ba2a.js → e302fe771d92ccf945a3.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{cb0a5bc6deaa98026bb5.js → ed0dea88b2865fc6e06b.js} +1 -1
  49. package/assets/esri/core/workers/chunks/ed733eea5d065131b159.js +1 -0
  50. package/assets/esri/core/workers/chunks/{1c51c52fb2233153d7ae.js → f3ec53ee9567bb7e4d2f.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{4922a0fed7cbc6895882.js → f701a5afa1b730c51a49.js} +1 -1
  52. package/assets/esri/t9n/common.json +1 -1
  53. package/assets/esri/t9n/common_ar.json +1 -1
  54. package/assets/esri/t9n/common_bg.json +1 -1
  55. package/assets/esri/t9n/common_ca.json +1 -1
  56. package/assets/esri/t9n/common_cs.json +1 -1
  57. package/assets/esri/t9n/common_da.json +1 -1
  58. package/assets/esri/t9n/common_de.json +1 -1
  59. package/assets/esri/t9n/common_el.json +1 -1
  60. package/assets/esri/t9n/common_en.json +1 -1
  61. package/assets/esri/t9n/common_es.json +1 -1
  62. package/assets/esri/t9n/common_et.json +1 -1
  63. package/assets/esri/t9n/common_fi.json +1 -1
  64. package/assets/esri/t9n/common_fr.json +1 -1
  65. package/assets/esri/t9n/common_he.json +1 -1
  66. package/assets/esri/t9n/common_hr.json +1 -1
  67. package/assets/esri/t9n/common_hu.json +1 -1
  68. package/assets/esri/t9n/common_id.json +1 -1
  69. package/assets/esri/t9n/common_it.json +1 -1
  70. package/assets/esri/t9n/common_ja.json +1 -1
  71. package/assets/esri/t9n/common_ko.json +1 -1
  72. package/assets/esri/t9n/common_lt.json +1 -1
  73. package/assets/esri/t9n/common_lv.json +1 -1
  74. package/assets/esri/t9n/common_nb.json +1 -1
  75. package/assets/esri/t9n/common_nl.json +1 -1
  76. package/assets/esri/t9n/common_pl.json +1 -1
  77. package/assets/esri/t9n/common_pt-BR.json +1 -1
  78. package/assets/esri/t9n/common_pt-PT.json +1 -1
  79. package/assets/esri/t9n/common_ro.json +1 -1
  80. package/assets/esri/t9n/common_ru.json +1 -1
  81. package/assets/esri/t9n/common_sk.json +1 -1
  82. package/assets/esri/t9n/common_sl.json +1 -1
  83. package/assets/esri/t9n/common_sr.json +1 -1
  84. package/assets/esri/t9n/common_sv.json +1 -1
  85. package/assets/esri/t9n/common_th.json +1 -1
  86. package/assets/esri/t9n/common_tr.json +1 -1
  87. package/assets/esri/t9n/common_uk.json +1 -1
  88. package/assets/esri/t9n/common_vi.json +1 -1
  89. package/assets/esri/t9n/common_zh-CN.json +1 -1
  90. package/assets/esri/t9n/common_zh-TW.json +1 -1
  91. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +10 -17
  92. package/assets/esri/themes/dark/main.css +1 -1
  93. package/assets/esri/themes/light/main.css +1 -1
  94. package/assets/esri/themes/light/view.css +1 -1
  95. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_ar.json +1 -0
  96. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_bg.json +1 -0
  97. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_bs.json +1 -0
  98. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_ca.json +1 -0
  99. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_cs.json +1 -0
  100. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_da.json +1 -0
  101. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_de.json +1 -0
  102. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_el.json +1 -0
  103. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_es.json +1 -0
  104. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_et.json +1 -0
  105. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_fi.json +1 -0
  106. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_fr.json +1 -0
  107. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_he.json +1 -0
  108. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_hr.json +1 -0
  109. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_hu.json +1 -0
  110. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_id.json +1 -0
  111. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_it.json +1 -0
  112. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_ja.json +1 -0
  113. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_ko.json +1 -0
  114. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_lt.json +1 -0
  115. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_lv.json +1 -0
  116. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_nb.json +1 -0
  117. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_nl.json +1 -0
  118. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_pl.json +1 -0
  119. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_pt-BR.json +1 -0
  120. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_pt-PT.json +1 -0
  121. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_ro.json +1 -0
  122. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_ru.json +1 -0
  123. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_sk.json +1 -0
  124. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_sl.json +1 -0
  125. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_sr.json +1 -0
  126. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_sv.json +1 -0
  127. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_th.json +1 -0
  128. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_tr.json +1 -0
  129. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_uk.json +1 -0
  130. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_vi.json +1 -0
  131. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_zh-CN.json +1 -0
  132. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_zh-HK.json +1 -0
  133. package/assets/esri/widgets/DirectionalPad/t9n/DirectionalPad_zh-TW.json +1 -0
  134. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  135. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  136. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  137. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  138. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  139. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  140. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  141. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  142. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  143. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  144. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  145. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  146. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  147. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  148. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  149. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  150. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  151. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  152. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  153. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  154. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  155. package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
  156. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  173. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ar.json +1 -1
  174. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_bg.json +1 -1
  175. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_bs.json +1 -1
  176. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ca.json +1 -1
  177. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_cs.json +1 -1
  178. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_da.json +1 -1
  179. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_de.json +1 -1
  180. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_el.json +1 -1
  181. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_es.json +1 -1
  182. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_et.json +1 -1
  183. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_fi.json +1 -1
  184. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_fr.json +1 -1
  185. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_he.json +1 -1
  186. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_hr.json +1 -1
  187. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_hu.json +1 -1
  188. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_id.json +1 -1
  189. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_it.json +1 -1
  190. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ja.json +1 -1
  191. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ko.json +1 -1
  192. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_lt.json +1 -1
  193. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_lv.json +1 -1
  194. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_nb.json +1 -1
  195. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_nl.json +1 -1
  196. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pl.json +1 -1
  197. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pt-BR.json +1 -1
  198. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_pt-PT.json +1 -1
  199. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ro.json +1 -1
  200. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_ru.json +1 -1
  201. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sk.json +1 -1
  202. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sl.json +1 -1
  203. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sr.json +1 -1
  204. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_sv.json +1 -1
  205. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_th.json +1 -1
  206. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_tr.json +1 -1
  207. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_uk.json +1 -1
  208. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_vi.json +1 -1
  209. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-CN.json +1 -1
  210. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-HK.json +1 -1
  211. package/assets/esri/widgets/UtilityNetworkAssociations/t9n/UtilityNetworkAssociations_zh-TW.json +1 -1
  212. package/chunks/ChapmanAtmosphere.glsl.js +1 -1
  213. package/chunks/Clouds.glsl.js +1 -1
  214. package/chunks/CloudsComposition.glsl.js +2 -2
  215. package/chunks/ComponentShader.glsl.js +36 -36
  216. package/chunks/Fog.glsl.js +1 -1
  217. package/chunks/LaserlinePath.glsl.js +1 -1
  218. package/chunks/Laserlines.glsl.js +1 -1
  219. package/chunks/LineSeries.js +1 -1
  220. package/chunks/NativeLine.glsl.js +8 -20
  221. package/chunks/PointRenderer.glsl.js +1 -1
  222. package/chunks/Precipitation.glsl.js +2 -2
  223. package/chunks/SSAOBlur.glsl.js +1 -1
  224. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  225. package/chunks/ShadowCastVisualize.glsl.js +2 -2
  226. package/chunks/ShadowHighlight.glsl.js +1 -1
  227. package/chunks/Stars.glsl.js +1 -1
  228. package/chunks/Terrain.glsl.js +35 -35
  229. package/chunks/TextureOnly.glsl.js +1 -1
  230. package/chunks/Theme.js +1 -1
  231. package/chunks/boundedPlane.js +1 -1
  232. package/chunks/cameraUtilsPlanar.js +1 -1
  233. package/chunks/cameraUtilsSpherical.js +1 -1
  234. package/chunks/chartUtilsAm5.js +1 -1
  235. package/chunks/mat3.js +1 -1
  236. package/chunks/mat3f64.js +1 -1
  237. package/chunks/mat4.js +1 -1
  238. package/chunks/mat4f64.js +1 -1
  239. package/chunks/quat.js +1 -1
  240. package/chunks/quat2.js +1 -1
  241. package/chunks/quatf64.js +1 -1
  242. package/chunks/sphere.js +1 -1
  243. package/chunks/terrainUtilsPlanar.js +1 -1
  244. package/chunks/vec3.js +1 -1
  245. package/chunks/vec3f64.js +1 -1
  246. package/chunks/vec4.js +1 -1
  247. package/chunks/vec4f64.js +1 -1
  248. package/core/VectorStack.js +1 -1
  249. package/core/accessorSupport/decorators/persistable.js +1 -1
  250. package/core/accessorSupport/testSupport.js +1 -1
  251. package/core/colorUtils.js +1 -1
  252. package/core/libs/gl-matrix-2/factories/mat3f64.js +1 -1
  253. package/core/libs/gl-matrix-2/factories/mat4f64.js +1 -1
  254. package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
  255. package/core/libs/gl-matrix-2/factories/vec3f64.js +1 -1
  256. package/core/libs/gl-matrix-2/factories/vec4f64.js +1 -1
  257. package/core/libs/gl-matrix-2/math/mat3.js +1 -1
  258. package/core/libs/gl-matrix-2/math/mat4.js +1 -1
  259. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  260. package/core/libs/gl-matrix-2/math/vec4.js +1 -1
  261. package/core/mathUtils.js +1 -1
  262. package/core/perspectiveUtils.js +1 -1
  263. package/form/elements/inputs/DatePickerInput.d.ts +4 -0
  264. package/form/elements/inputs/DatePickerInput.js +5 -0
  265. package/form/elements/inputs/DateTimeOffsetPickerInput.d.ts +4 -0
  266. package/form/elements/inputs/DateTimeOffsetPickerInput.js +5 -0
  267. package/form/elements/inputs/TimePickerInput.d.ts +4 -0
  268. package/form/elements/inputs/TimePickerInput.js +5 -0
  269. package/form/elements/support/inputs.js +1 -1
  270. package/geometry/projection/computeTranslationToOriginAndRotation.js +1 -1
  271. package/geometry/projection/projectDirection.js +1 -1
  272. package/geometry/support/MeshTransform.js +1 -1
  273. package/geometry/support/axisAngle.js +1 -1
  274. package/geometry/support/axisAngleDegrees.js +1 -1
  275. package/geometry/support/clipRay.js +1 -1
  276. package/geometry/support/coordinateSystem.js +1 -1
  277. package/geometry/support/frustum.js +1 -1
  278. package/geometry/support/lineSegment.js +1 -1
  279. package/geometry/support/meshUtils/centerAt.js +1 -1
  280. package/geometry/support/meshUtils/exporters/gltf/geometry.js +1 -1
  281. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  282. package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
  283. package/geometry/support/meshUtils/georeference.js +1 -1
  284. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  285. package/geometry/support/meshUtils/merge.js +1 -1
  286. package/geometry/support/meshUtils/offset.js +1 -1
  287. package/geometry/support/meshUtils/primitives.js +1 -1
  288. package/geometry/support/meshUtils/projection.js +1 -1
  289. package/geometry/support/meshUtils/rotate.js +1 -1
  290. package/geometry/support/meshUtils/scale.js +1 -1
  291. package/geometry/support/meshVertexSpaceUtils.js +1 -1
  292. package/geometry/support/plane.js +1 -1
  293. package/geometry/support/ray.js +1 -1
  294. package/geometry/support/triangle.js +1 -1
  295. package/geometry/support/vector.js +1 -1
  296. package/interfaces.d.ts +405 -7
  297. package/layers/VoxelWasmPerSceneView.js +1 -1
  298. package/layers/mixins/SceneService.js +1 -1
  299. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  300. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  301. package/layers/orientedImagery/transformations/imageToGroundUtils.js +1 -1
  302. package/layers/orientedImagery/transformations/utils.js +1 -1
  303. package/layers/support/ControlPointsGeoreference.js +1 -1
  304. package/layers/support/ImageElement.js +1 -1
  305. package/layers/support/SceneFilter.js +1 -1
  306. package/layers/support/layerUtils.js +1 -1
  307. package/layers/video/VideoCameraSensorModel.js +1 -1
  308. package/layers/voxel/VoxelVolume.js +1 -1
  309. package/layers/voxel/voxelPlaneUtils.js +1 -1
  310. package/package.json +1 -1
  311. package/portal/support/resourceExtension.js +1 -1
  312. package/portal/support/resourceUtils.js +1 -1
  313. package/portal/support/utils.js +5 -0
  314. package/smartMapping/popup/support/utils.js +1 -1
  315. package/smartMapping/raster/renderers/classBreaks.js +1 -1
  316. package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
  317. package/smartMapping/raster/support/adapters/ImageryTileLayerAdapter.js +1 -1
  318. package/smartMapping/raster/support/adapters/RasterLayerAdapter.js +1 -1
  319. package/support/revision.js +1 -1
  320. package/symbols/cim/CIMImageColorSubstitutionHelper.js +1 -1
  321. package/symbols/support/previewSymbol3D.js +1 -1
  322. package/views/2d/ViewState.js +1 -1
  323. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  324. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  325. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  326. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  327. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  328. package/views/2d/engine/webgl/Overlay.js +1 -1
  329. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  330. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  331. package/views/2d/engine/webgl/WGLTile.js +1 -1
  332. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  333. package/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js +1 -1
  334. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  335. package/views/2d/interactive/editingTools/manipulations/RotateManipulation.js +1 -1
  336. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  337. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  338. package/views/2d/layers/support/DebugOverlay.js +1 -1
  339. package/views/2d/navigation/actions/Pan.js +1 -1
  340. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  341. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  342. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  343. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  344. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  345. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  346. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  347. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  348. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  349. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  350. package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
  351. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  352. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  353. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  354. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  355. package/views/3d/analysis/images/Factory.js +5 -0
  356. package/views/3d/analysis/support/measurementUtils.js +1 -1
  357. package/views/3d/analysis/support/viewUtils.js +1 -1
  358. package/views/3d/animation/pointToPoint/Animation.js +1 -1
  359. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  360. package/views/3d/camera/constraintUtils/altitude.js +1 -1
  361. package/views/3d/camera/constraintUtils/common.js +1 -1
  362. package/views/3d/camera/constraintUtils/distance.js +1 -1
  363. package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
  364. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  365. package/views/3d/camera/intersectionUtils.js +1 -1
  366. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  367. package/views/3d/environment/CloudsGenerator.js +1 -1
  368. package/views/3d/environment/CloudsParameters.js +1 -1
  369. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  370. package/views/3d/environment/Fog.js +1 -1
  371. package/views/3d/environment/LocalAtmosphere.js +1 -1
  372. package/views/3d/environment/MarsAtmosphere.js +1 -1
  373. package/views/3d/environment/SceneViewEnvironment.js +1 -1
  374. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  375. package/views/3d/environment/Stars.js +1 -1
  376. package/views/3d/environment/StarsTechnique.js +1 -1
  377. package/views/3d/externalRenderers.js +1 -1
  378. package/views/3d/glTF/internal/Resource.js +1 -1
  379. package/views/3d/interactive/Manipulator3D.js +1 -1
  380. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  381. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  382. package/views/3d/interactive/editingTools/lineGraphicVisualElementUtils.js +1 -1
  383. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  384. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  385. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  386. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  387. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  388. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  389. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  390. package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
  391. package/views/3d/interactive/editingTools/transformGraphic/undoRecords.js +1 -1
  392. package/views/3d/interactive/manipulatorUtils.js +1 -1
  393. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  394. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  395. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  396. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  397. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  398. package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
  399. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  400. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  401. package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
  402. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  403. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  404. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  405. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  406. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  407. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  408. package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
  409. package/views/3d/interactive/visualElements/support/Segment.js +1 -1
  410. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  411. package/views/3d/layers/I3SMeshView3D.js +1 -1
  412. package/views/3d/layers/MediaLayerView3D.js +1 -1
  413. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  414. package/views/3d/layers/PointCloudWorker.js +1 -1
  415. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  416. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  417. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  418. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  419. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  420. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  421. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  422. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  423. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  424. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  425. package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
  426. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  427. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  428. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  429. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  430. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  431. package/views/3d/layers/graphics/LabelParameters.js +1 -1
  432. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  433. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  434. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  435. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  436. package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
  437. package/views/3d/layers/i3s/I3SElevationProvider.js +1 -1
  438. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  439. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  440. package/views/3d/layers/i3s/I3SProjectionUtil.js +1 -1
  441. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  442. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  443. package/views/3d/layers/i3s/LoDUtil.js +1 -1
  444. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  445. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  446. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  447. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  448. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  449. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  450. package/views/3d/layers/support/edgeUtils.js +1 -1
  451. package/views/3d/layers/support/patternUtils.js +1 -1
  452. package/views/3d/layers/support/uvUtils.js +1 -1
  453. package/views/3d/state/Frustum.js +1 -1
  454. package/views/3d/state/NearFarHeuristic.js +1 -1
  455. package/views/3d/state/ViewStateManager.js +1 -1
  456. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  457. package/views/3d/state/controllers/RotateController.js +1 -1
  458. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  459. package/views/3d/state/controllers/global/ZoomController.js +1 -1
  460. package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
  461. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  462. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  463. package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
  464. package/views/3d/state/controllers/momentum/PanPlanarMomentumController.js +1 -1
  465. package/views/3d/state/controllers/momentum/PanSphericalMomentumController.js +1 -1
  466. package/views/3d/state/controllers/momentum/RotationMomentumController.js +1 -1
  467. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  468. package/views/3d/state/controllers/momentum/ZoomSphericalMomentumController.js +1 -1
  469. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  470. package/views/3d/state/utils/navigationUtils.js +1 -1
  471. package/views/3d/state/utils/viewUtils.js +1 -1
  472. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  473. package/views/3d/support/LaserLineRenderer.js +1 -1
  474. package/views/3d/support/LaserlinePathData.js +1 -1
  475. package/views/3d/support/RenderCoordsHelper.js +1 -1
  476. package/views/3d/support/StreamTextureCollection.js +1 -1
  477. package/views/3d/support/TextureCollection.js +1 -1
  478. package/views/3d/support/cameraUtils.js +1 -1
  479. package/views/3d/support/cameraUtilsInternal.js +1 -1
  480. package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
  481. package/views/3d/support/geometryUtils/ray.js +1 -1
  482. package/views/3d/support/intersectionUtils.js +1 -1
  483. package/views/3d/support/mathUtils.js +1 -1
  484. package/views/3d/support/orientedBoundingBox.js +1 -1
  485. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  486. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  487. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  488. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  489. package/views/3d/support/sunUtils.js +1 -1
  490. package/views/3d/support/viewpointUtils.js +1 -1
  491. package/views/3d/terrain/Overlay.js +1 -1
  492. package/views/3d/terrain/OverlayContent.js +5 -0
  493. package/views/3d/terrain/OverlayManager.js +1 -1
  494. package/views/3d/terrain/OverlayRenderTarget.js +1 -1
  495. package/views/3d/terrain/OverlayRenderer.js +1 -1
  496. package/views/3d/terrain/PatchGeometry.js +1 -1
  497. package/views/3d/terrain/PatchRenderData.js +1 -1
  498. package/views/3d/terrain/SphericalPatch.js +1 -1
  499. package/views/3d/terrain/TerrainRenderer.js +1 -1
  500. package/views/3d/terrain/TerrainSurface.js +1 -1
  501. package/views/3d/terrain/TextureReference.js +1 -1
  502. package/views/3d/terrain/Tile.js +1 -1
  503. package/views/3d/terrain/TileCompositor.js +1 -1
  504. package/views/3d/terrain/TileOverlayData.js +1 -1
  505. package/views/3d/terrain/TileRenderInfo.js +1 -1
  506. package/views/3d/terrain/interfaces.js +1 -1
  507. package/views/3d/terrain/support/MultiSizeFramebuffer.js +1 -1
  508. package/views/3d/webgl-engine/Stage.js +1 -1
  509. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  510. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  511. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  512. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  513. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  514. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  515. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
  516. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +1 -1
  517. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +1 -1
  518. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +1 -1
  519. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +32 -53
  520. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +6 -6
  521. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Terrain.glsl.js +1 -1
  522. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +9 -9
  523. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  524. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  525. package/views/3d/webgl-engine/effects/highlight/HighlightPassParameters.js +1 -1
  526. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  527. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  528. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  529. package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
  530. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  531. package/views/3d/webgl-engine/lib/CascadeCamera.js +1 -1
  532. package/views/3d/webgl-engine/lib/ContentObject.js +1 -1
  533. package/views/3d/webgl-engine/lib/GLMaterialRepository.js +1 -1
  534. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  535. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  536. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  537. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  538. package/views/3d/webgl-engine/lib/ITexture.js +5 -0
  539. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  540. package/views/3d/webgl-engine/lib/IntersectorTarget.js +1 -1
  541. package/views/3d/webgl-engine/lib/LocalOriginManager.js +1 -1
  542. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  543. package/views/3d/webgl-engine/lib/ObjectAndLayerIdRenderHelper.js +1 -1
  544. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  545. package/views/3d/webgl-engine/lib/Path.js +1 -1
  546. package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
  547. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  548. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  549. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  550. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  551. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  552. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  553. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  554. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  555. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  556. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  557. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  558. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  559. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderParameters.js +1 -1
  560. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  561. package/views/3d/webgl-engine/lib/edgeRendering/edgeBufferWriters.js +1 -1
  562. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  563. package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
  564. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  565. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  566. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  567. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  568. package/views/3d/webgl-engine/lib/octreeUtils.js +1 -1
  569. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  570. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  571. package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
  572. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  573. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  574. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  575. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  576. package/views/3d/webgl-engine/materials/LineDrawParameters.js +1 -1
  577. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  578. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  579. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  580. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  581. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  582. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  583. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  584. package/views/3d/webgl-engine/materials/internal/MaterialUtil.js +1 -1
  585. package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
  586. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  587. package/views/3d/webgl-engine/parts/Model.js +1 -1
  588. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  589. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  590. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  591. package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
  592. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  593. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  594. package/views/GroundView.js +1 -1
  595. package/views/SceneView.js +1 -1
  596. package/views/draw/DrawManipulator.js +1 -1
  597. package/views/draw/support/createUtils.js +1 -1
  598. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  599. package/views/interactive/GraphicManipulator.js +1 -1
  600. package/views/interactive/ManipulatorCollection.js +1 -1
  601. package/views/interactive/ToolViewManagerManipulatorState.js +1 -1
  602. package/views/interactive/coordinateHelper.js +1 -1
  603. package/views/interactive/dragEventPipeline.js +1 -1
  604. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  605. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  606. package/views/interactive/sketch/constraints.js +1 -1
  607. package/views/interactive/sketch/normalizedPoint.js +1 -1
  608. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  609. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  610. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  611. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  612. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  613. package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
  614. package/views/interactive/snapping/hints/IntersectionSnappingHint.js +1 -1
  615. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  616. package/views/interactive/snapping/hints/ParallelSnappingHint.js +1 -1
  617. package/views/interactive/snapping/hints/PointSnappingHint.js +1 -1
  618. package/views/interactive/snapping/hints/RightAngleSnappingHint.js +1 -1
  619. package/views/interactive/support/viewUtils.js +1 -1
  620. package/views/interactive/tooltip/constraintUtils.js +1 -1
  621. package/views/navigation/PanPlanarMomentumEstimator.js +1 -1
  622. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  623. package/views/navigation/gamepadAndKeyboardUtils.js +1 -1
  624. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  625. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  626. package/views/support/geometry3dUtils.js +1 -1
  627. package/views/support/layerViewUtils.js +1 -1
  628. package/webdoc/support/saveUtils.js +1 -1
  629. package/webscene/Slide.js +1 -1
  630. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  631. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  632. package/widgets/Editor/EditorViewModel.js +1 -1
  633. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  634. package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
  635. package/widgets/Editor/UpdateWorkflow.js +1 -1
  636. package/widgets/Editor/workflowUtils.js +1 -1
  637. package/widgets/Editor.js +1 -1
  638. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  639. package/widgets/ElevationProfile/support/constants.js +1 -1
  640. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  641. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  642. package/widgets/OrientedImageryViewer.js +1 -1
  643. package/widgets/Sketch.js +1 -1
  644. package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.d.ts +4 -0
  645. package/widgets/smartMapping/BinaryColorSizeSlider.d.ts +4 -0
  646. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  647. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  648. package/widgets/support/templateUtils.js +5 -0
  649. package/assets/esri/core/workers/chunks/19857e5420cdf23c5f2e.js +0 -1
  650. package/assets/esri/core/workers/chunks/26289742b9280f0b5247.js +0 -1
  651. package/assets/esri/core/workers/chunks/46f6b77e586d78aeb75c.js +0 -1
  652. package/assets/esri/core/workers/chunks/4e39252f40bc57be9d12.js +0 -1
  653. package/assets/esri/core/workers/chunks/54513578f735d274a20e.js +0 -1
  654. package/assets/esri/core/workers/chunks/8dab0acdbbd5c282645a.js +0 -1
  655. package/assets/esri/core/workers/chunks/8e4b01a0cb8c8926f2b6.js +0 -1
  656. package/assets/esri/core/workers/chunks/a3a1d4f32e518e97d071.js +0 -1
  657. package/assets/esri/core/workers/chunks/b2d4a56197dcabdbae35.js +0 -1
  658. package/assets/esri/core/workers/chunks/be0565d923afba7ca300.js +0 -1
  659. package/assets/esri/core/workers/chunks/c99fa4189a114370b004.js +0 -1
  660. package/assets/esri/core/workers/chunks/daa79c14150c12d8bc3d.js +0 -1
  661. package/assets/esri/core/workers/chunks/ebd006fcd568a7731115.js +0 -1
  662. package/assets/esri/core/workers/chunks/f67388c4b7103fda6633.js +0 -1
  663. package/views/3d/analysis/Slice/images/Factory.js +0 -5
  664. /package/assets/esri/views/3d/analysis/{Slice/images → images}/heading-rotate.ts.svg +0 -0
  665. /package/assets/esri/views/3d/analysis/{Slice/images → images}/tilt-rotate.ts.svg +0 -0
  666. /package/views/3d/analysis/{Slice/images → images}/generateTextures.js +0 -0
  667. /package/views/3d/analysis/{Slice/images → images}/heading-rotate-svg.js +0 -0
  668. /package/views/3d/analysis/{Slice/images → images}/tilt-rotate-svg.js +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Error.js";import o from"../../core/Logger.js";import{debounce as i}from"../../core/promiseUtils.js";import{urlToObject as s}from"../../core/urlUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as n}from"../../core/accessorSupport/decorators/reader.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../../core/accessorSupport/decorators/writer.js";import{updateOrigins as c}from"../../core/accessorSupport/originUtils.js";import d from"../../geometry/Extent.js";import u from"../../geometry/HeightModelInfo.js";import m from"../../geometry/SpatialReference.js";import{titleFromUrlAndName as h,parse as y,cleanTitle as f,sanitizeUrlWithLayerId as v,writeUrlWithLayerId as S}from"../support/arcgisLayerUrl.js";import{id as g,url as w}from"../support/commonProperties.js";import{fetchIndexInfo as I}from"../support/I3SIndexInfo.js";import{getLoader as x}from"../support/schemaValidatorLoader.js";import b from"../../portal/Portal.js";import _ from"../../portal/PortalItem.js";import{saveResources as j}from"../../webdoc/support/saveUtils.js";const R="esri.layers.mixins.SceneService",A=o.getLogger(R),N=o=>{let N=class extends o{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=i((async(e,t,r)=>{switch(e){case K.SAVE:return this._save(t);case K.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return this._readSpatialReference(t)}_readSpatialReference(e){if(null!=e.spatialReference)return m.fromJSON(e.spatialReference);{const t=e.store,r=t.indexCRS||t.geographicCRS,o=r&&parseInt(r.substring(r.lastIndexOf("/")+1,r.length),10);return null!=o?new m(o):null}}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const o=null==e.spatialReference?{...e,spatialReference:this._readSpatialReference(t)}:e;return d.fromJSON(o,r)}const o=t.store,i=this._readSpatialReference(t);return null==i||null==o||null==o.extent||!Array.isArray(o.extent)||o.extent.some((e=>e<E))?null:new d({xmin:o.extent[0],ymin:o.extent[1],xmax:o.extent[2],ymax:o.extent[3],spatialReference:i})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,o=null!=r.version?r.version.toString():"";return this.parseVersionString(o)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem&&this.portalItem.title;if("item-title"===this.sublayerTitleMode)return h(this.url,t.name);let o=t.name;if(!o&&this.url){const e=y(this.url);null!=e&&(o=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(o=r+" - "+o),f(o)}set url(e){const t=v({layer:this,url:e,nonStandardUrlAllowed:!1,logger:A});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,o){S(this,e,"layers",t,o)}get parsedUrl(){const e=this._get("url"),t=s(e);return null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=I(this.parsedUrl.path,this.rootNode,e,this.apiKey,A,t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===e?.type){const t=e.rootIndex%e.pageSize,o=e.rootPage?.nodes?.[t];if(null==o||null==o.obb||null==o.obb.center||null==o.obb.halfSize)throw new r("sceneservice:invalid-node-page","Invalid node page.");if(o.obb.center[0]<E||null==this.fullExtent||this.fullExtent.hasZ)return;const i=o.obb.halfSize,s=o.obb.center[2],a=Math.sqrt(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]);this.fullExtent.zmin=s-a,this.fullExtent.zmax=s+a}else if("node"===e?.type){const t=e.rootNode?.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<E)return;const r=t[2],o=t[3],{fullExtent:i}=this;i&&(i.zmin=r-o,i.zmax=r+o)}}async _fetchService(e){if(null==this.url)throw new r("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const r=await t(this.url,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});if(r.data&&Array.isArray(r.data.layers)&&r.data.layers.length>0)return r.data.layers[0].id}async _fetchServiceLayer(e){const r=await t(this.parsedUrl?.path??"",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});r.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let o=!1;if(r.data.layerType&&"Voxel"===r.data.layerType&&(o=!0),o)return this._fetchVoxelServiceLayer();const i=r.data;this.read(i,this._getServiceContext()),this.validateLayer(i)}async _fetchVoxelServiceLayer(e){const r=(await t(this.parsedUrl?.path+"/layer",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e})).data;this.read(r,this._getServiceContext()),this.validateLayer(r)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}_updateTypeKeywords(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const o=t.getTypeKeywords();for(const i of o)e.typeKeywords.push(i);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===U.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}async _saveAs(e,t){const o={...O,...t};let i=_.from(e);i||(A.error("_saveAs(): requires a portal item parameter"),await Promise.reject(new r("sceneservice:portal-item-required","_saveAs() requires a portal item to save to"))),i.id&&(i=i.clone(),i.id=null);const s=i.portal||b.getDefault();await this._ensureLoadBeforeSave(),i.type=T,i.portal=s;const a={origin:"portal-item",url:null,messages:[],portal:s,portalItem:i,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},n={layers:[this.write({},a)]};return await Promise.all(a.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(n,a,o),i.url=this.url,i.title||(i.title=this.title),this._updateTypeKeywords(i,o,U.newItem),await s.signIn(),await(s.user?.addItem({item:i,folder:o&&o.folder,data:n})),await j(this.resourceReferences,a,null),this.portalItem=i,c(a),a.portalItem=i,i}async _save(e){const t={...O,...e};if(!this.portalItem)throw A.error("_save(): requires the .portalItem property to be set"),new r("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==T)throw A.error("_save(): Non-matching portal item type. Got "+this.portalItem.type+", expected "+T),new r("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${T}"`);await this._ensureLoadBeforeSave();const o={origin:"portal-item",url:this.portalItem.itemUrl&&s(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||b.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},i={layers:[this.write({},o)]};return await Promise.all(o.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(i,o,t),this.portalItem.url=this.url,this.portalItem.title||(this.portalItem.title=this.title),this._updateTypeKeywords(this.portalItem,t,U.existingItem),await this.portalItem.update({data:i}),await j(this.resourceReferences,o,null),c(o),this.portalItem}async _validateAgainstJSONSchema(e,t,o){let i=t.messages?.filter((e=>"error"===e.type)).map((e=>new r(e.name,e.message,e.details)))??[];o?.validationOptions?.ignoreUnsupported&&(i=i.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name)));const s=o?.validationOptions,a=s?.enabled,n=x();if(a&&n){const t=(await n()).validate(e,o.portalItemLayerType);if(t.length>0){const e=`Layer item did not validate:\n${t.join("\n")}`;if(A.error(`_validateAgainstJSONSchema(): ${e}`),"throw"===s.failPolicy){const e=t.map((e=>new r("sceneservice:schema-validation",e))).concat(i);throw new r("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{combined:e})}}}if(i.length>0)throw new r("sceneservice:save","Failed to save SceneService due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:i})}};return e([a(g)],N.prototype,"id",void 0),e([a({type:m})],N.prototype,"spatialReference",void 0),e([n("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],N.prototype,"readSpatialReference",null),e([a({type:d})],N.prototype,"fullExtent",void 0),e([n("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],N.prototype,"readFullExtent",null),e([a({readOnly:!0,type:u})],N.prototype,"heightModelInfo",void 0),e([a({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],N.prototype,"minScale",void 0),e([a({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],N.prototype,"maxScale",void 0),e([a({readOnly:!0})],N.prototype,"version",void 0),e([n("version",["store.version"])],N.prototype,"readVersion",null),e([a({type:String,json:{read:{source:"copyrightText"}}})],N.prototype,"copyright",void 0),e([a({type:String,json:{read:!1}})],N.prototype,"sublayerTitleMode",void 0),e([a({type:String})],N.prototype,"title",void 0),e([n("portal-item","title")],N.prototype,"readTitlePortalItem",null),e([n("service","title",["name"])],N.prototype,"readTitleService",null),e([a({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],N.prototype,"layerId",void 0),e([a(w)],N.prototype,"url",null),e([p("url")],N.prototype,"writeUrl",null),e([a()],N.prototype,"parsedUrl",null),e([a({readOnly:!0})],N.prototype,"store",void 0),e([a({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],N.prototype,"rootNode",void 0),N=e([l(R)],N),N},E=-1e38;var U;!function(e){e[e.existingItem=0]="existingItem",e[e.newItem=1]="newItem"}(U||(U={}));const T="Scene Service",O={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var K;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(K||(K={}));export{T as SCENE_SERVICE_ITEM_TYPE,K as SaveOperationType,N as SceneService};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Error.js";import o from"../../core/Logger.js";import{debounce as i}from"../../core/promiseUtils.js";import{urlToObject as s}from"../../core/urlUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as n}from"../../core/accessorSupport/decorators/reader.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../../core/accessorSupport/decorators/writer.js";import{updateOrigins as c}from"../../core/accessorSupport/originUtils.js";import d from"../../geometry/Extent.js";import u from"../../geometry/HeightModelInfo.js";import m from"../../geometry/SpatialReference.js";import{titleFromUrlAndName as h,parse as y,cleanTitle as f,sanitizeUrlWithLayerId as v,writeUrlWithLayerId as S}from"../support/arcgisLayerUrl.js";import{id as g,url as w}from"../support/commonProperties.js";import{fetchIndexInfo as I}from"../support/I3SIndexInfo.js";import{getLoader as x}from"../support/schemaValidatorLoader.js";import b from"../../portal/Portal.js";import _ from"../../portal/PortalItem.js";import{saveResources as j,updateItemWithResources as R}from"../../webdoc/support/saveUtils.js";const A="esri.layers.mixins.SceneService",N=o.getLogger(A),E=o=>{let E=class extends o{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.indexInfo=null,this._debouncedSaveOperations=i((async(e,t,r)=>{switch(e){case L.SAVE:return this._save(t);case L.SAVE_AS:return this._saveAs(r,t)}}))}readSpatialReference(e,t){return this._readSpatialReference(t)}_readSpatialReference(e){if(null!=e.spatialReference)return m.fromJSON(e.spatialReference);{const t=e.store,r=t.indexCRS||t.geographicCRS,o=r&&parseInt(r.substring(r.lastIndexOf("/")+1,r.length),10);return null!=o?new m(o):null}}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const o=null==e.spatialReference?{...e,spatialReference:this._readSpatialReference(t)}:e;return d.fromJSON(o,r)}const o=t.store,i=this._readSpatialReference(t);return null==i||null==o||null==o.extent||!Array.isArray(o.extent)||o.extent.some((e=>e<U))?null:new d({xmin:o.extent[0],ymin:o.extent[1],xmax:o.extent[2],ymax:o.extent[3],spatialReference:i})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,o=null!=r.version?r.version.toString():"";return this.parseVersionString(o)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){const r=this.portalItem&&this.portalItem.title;if("item-title"===this.sublayerTitleMode)return h(this.url,t.name);let o=t.name;if(!o&&this.url){const e=y(this.url);null!=e&&(o=e.title)}return"item-title-and-service-name"===this.sublayerTitleMode&&r&&(o=r+" - "+o),f(o)}set url(e){const t=v({layer:this,url:e,nonStandardUrlAllowed:!1,logger:N});this._set("url",t.url),null!=t.layerId&&this._set("layerId",t.layerId)}writeUrl(e,t,r,o){S(this,e,"layers",t,o)}get parsedUrl(){const e=this._get("url"),t=s(e);return null!=this.layerId&&(t.path=`${t.path}/layers/${this.layerId}`),t}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=I(this.parsedUrl.path,this.rootNode,e,this.apiKey,N,t),null==this.fullExtent||this.fullExtent.hasZ||this._updateExtent(await this.indexInfo)}_updateExtent(e){if("page"===e?.type){const t=e.rootIndex%e.pageSize,o=e.rootPage?.nodes?.[t];if(null==o||null==o.obb||null==o.obb.center||null==o.obb.halfSize)throw new r("sceneservice:invalid-node-page","Invalid node page.");if(o.obb.center[0]<U||null==this.fullExtent||this.fullExtent.hasZ)return;const i=o.obb.halfSize,s=o.obb.center[2],a=Math.sqrt(i[0]*i[0]+i[1]*i[1]+i[2]*i[2]);this.fullExtent.zmin=s-a,this.fullExtent.zmax=s+a}else if("node"===e?.type){const t=e.rootNode?.mbs;if(!Array.isArray(t)||4!==t.length||t[0]<U)return;const r=t[2],o=t[3],{fullExtent:i}=this;i&&(i.zmin=r-o,i.zmax=r+o)}}async _fetchService(e){if(null==this.url)throw new r("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const r=await t(this.url,{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});if(r.data&&Array.isArray(r.data.layers)&&r.data.layers.length>0)return r.data.layers[0].id}async _fetchServiceLayer(e){const r=await t(this.parsedUrl?.path??"",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e});r.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));let o=!1;if(r.data.layerType&&"Voxel"===r.data.layerType&&(o=!0),o)return this._fetchVoxelServiceLayer();const i=r.data;this.read(i,this._getServiceContext()),this.validateLayer(i)}async _fetchVoxelServiceLayer(e){const r=(await t(this.parsedUrl?.path+"/layer",{query:{f:"json",token:this.apiKey},responseType:"json",signal:e})).data;this.read(r,this._getServiceContext()),this.validateLayer(r)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}_updateTypeKeywords(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const o=t.getTypeKeywords();for(const i of o)e.typeKeywords.push(i);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter(((e,t,r)=>r.indexOf(e)===t)),r===T.newItem&&(e.typeKeywords=e.typeKeywords.filter((e=>"Hosted Service"!==e))))}async _saveAs(e,t){const o={...K,...t};let i=_.from(e);i||(N.error("_saveAs(): requires a portal item parameter"),await Promise.reject(new r("sceneservice:portal-item-required","_saveAs() requires a portal item to save to"))),i.id&&(i=i.clone(),i.id=null);const s=i.portal||b.getDefault();await this._ensureLoadBeforeSave(),i.type=O,i.portal=s;const a={origin:"portal-item",url:null,messages:[],portal:s,portalItem:i,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},n={layers:[this.write({},a)]};return await Promise.all(a.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(n,a,o),i.url=this.url,i.title||(i.title=this.title),this._updateTypeKeywords(i,o,T.newItem),await s.signIn(),await(s.user?.addItem({item:i,folder:o&&o.folder,data:n})),await j(this.resourceReferences,a,null),this.portalItem=i,c(a),a.portalItem=i,i}async _save(e){const t={...K,...e};if(!this.portalItem)throw N.error("_save(): requires the .portalItem property to be set"),new r("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==O)throw N.error("_save(): Non-matching portal item type. Got "+this.portalItem.type+", expected "+O),new r("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${O}"`);await this._ensureLoadBeforeSave();const o={origin:"portal-item",url:this.portalItem.itemUrl&&s(this.portalItem.itemUrl),messages:[],portal:this.portalItem.portal||b.getDefault(),portalItem:this.portalItem,writtenProperties:[],blockedRelativeUrls:[],resources:{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}},i={layers:[this.write({},o)]};return await Promise.all(o.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(i,o,t),this.portalItem.url=this.url,this.portalItem.title||(this.portalItem.title=this.title),this._updateTypeKeywords(this.portalItem,t,T.existingItem),await R(this.portalItem,i,this.resourceReferences,o,null),c(o),this.portalItem}async _validateAgainstJSONSchema(e,t,o){let i=t.messages?.filter((e=>"error"===e.type)).map((e=>new r(e.name,e.message,e.details)))??[];o?.validationOptions?.ignoreUnsupported&&(i=i.filter((e=>"layer:unsupported"!==e.name&&"symbol:unsupported"!==e.name&&"symbol-layer:unsupported"!==e.name&&"property:unsupported"!==e.name&&"url:unsupported"!==e.name&&"scenemodification:unsupported"!==e.name)));const s=o?.validationOptions,a=s?.enabled,n=x();if(a&&n){const t=(await n()).validate(e,o.portalItemLayerType);if(t.length>0){const e=`Layer item did not validate:\n${t.join("\n")}`;if(N.error(`_validateAgainstJSONSchema(): ${e}`),"throw"===s.failPolicy){const e=t.map((e=>new r("sceneservice:schema-validation",e))).concat(i);throw new r("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{combined:e})}}}if(i.length>0)throw new r("sceneservice:save","Failed to save SceneService due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:i})}};return e([a(g)],E.prototype,"id",void 0),e([a({type:m})],E.prototype,"spatialReference",void 0),e([n("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],E.prototype,"readSpatialReference",null),e([a({type:d})],E.prototype,"fullExtent",void 0),e([n("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],E.prototype,"readFullExtent",null),e([a({readOnly:!0,type:u})],E.prototype,"heightModelInfo",void 0),e([a({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],E.prototype,"minScale",void 0),e([a({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],E.prototype,"maxScale",void 0),e([a({readOnly:!0})],E.prototype,"version",void 0),e([n("version",["store.version"])],E.prototype,"readVersion",null),e([a({type:String,json:{read:{source:"copyrightText"}}})],E.prototype,"copyright",void 0),e([a({type:String,json:{read:!1}})],E.prototype,"sublayerTitleMode",void 0),e([a({type:String})],E.prototype,"title",void 0),e([n("portal-item","title")],E.prototype,"readTitlePortalItem",null),e([n("service","title",["name"])],E.prototype,"readTitleService",null),e([a({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],E.prototype,"layerId",void 0),e([a(w)],E.prototype,"url",null),e([p("url")],E.prototype,"writeUrl",null),e([a()],E.prototype,"parsedUrl",null),e([a({readOnly:!0})],E.prototype,"store",void 0),e([a({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],E.prototype,"rootNode",void 0),E=e([l(A)],E),E},U=-1e38;var T;!function(e){e[e.existingItem=0]="existingItem",e[e.newItem=1]="newItem"}(T||(T={}));const O="Scene Service",K={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}};var L;!function(e){e[e.SAVE=0]="SAVE",e[e.SAVE_AS=1]="SAVE_AS"}(L||(L={}));export{O as SCENE_SERVICE_ITEM_TYPE,L as SaveOperationType,E as SceneService};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import{ClonableMixin as e}from"../../../core/Clonable.js";import r from"../../../core/Error.js";import{JSONSupport as a}from"../../../core/JSONSupport.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import{cast as i}from"../../../core/accessorSupport/decorators/cast.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{reader as n}from"../../../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import p from"./cameraOrientationFactory.js";import{CameraOrientationType as u}from"../enums/CameraOrientationType.js";import c from"../../../geometry/Point.js";function m(t,e){switch(t){case"O":return e&&e<10?"nadir":"oblique";case"B":case"S":case"D":return"360";default:return"horizontal"}}function l(t){throw new r("exposure-point:missing-default-value",`a value for ${t} is missing in default properties`)}function d(t,e){throw new r("exposure-point:missing-attribute-value",`a value for ${t} is missing in attribute table`,{exposurePoint:e})}let y=class extends(e(a)){constructor(t){super(t),this.cameraOrientation=null,this.elevation=null,this.elevationSource=null,this.name=null}read(t,e){const r={},{attributes:a}=t;for(const o in a)r[o.toLowerCase()]=a[o];super.read({...t,attributes:r},e)}readCameraHeading(t,e){const{attributes:r,layer:a}=e;return r.cameraheading??r.camheading??a.cameraHeading}readCameraHeight(t,e){const{attributes:r,layer:a}=e;return r.cameraheight??r.avghtag??a.cameraHeight}readCamOffset(t,e){const{attributes:r}=e;return r.cameraoffset?.split(";").map(Number)??r.camoffset?.split(";").map(Number)??null}readCameraOrientation(t,e){const{attributes:r}=e;return r.cameraorientation??r.camori}readCameraPitch(t,e){const{attributes:r,layer:a}=e;return r.camerapitch??r.campitch??a.cameraPitch}readCameraRoll(t,e){const{attributes:r,layer:a}=e;return r.cameraroll??r.camroll??a.cameraRoll}readDepthImage(t,e){const{attributes:r,layer:a}=e;let o=r.depthimage??r.depthimg??null;if(!o)return null;const{depthImagePathPrefix:i,depthImagePathSuffix:n}=a,s=i?.trim();s&&(o=`${s}/${o}`);const p=n?.trim();return p&&(o=`${o}/${p}`),o}readElevationSource(t,e){const{attributes:r,layer:a}=e;if(r.elevationSource){const t=r.elevationSource;let{url:e}=t;if(e){const{demPathSuffix:r,demPathPrefix:o}=a;return o?.trim()&&(e=o?.trim()+"/"+e),r?.trim()&&(e=e+"/"+r?.trim()),{...t,url:e}}return t}if(r.dem){let t=r.dem.trim();if(t){const{demPathSuffix:r,demPathPrefix:a}=e.layer;return a?.trim()&&(t=a?.trim()+"/"+t),r?.trim()&&(t=t+"/"+r?.trim()),{url:t}}}return a.effectiveElevationSource}readFarDistance(t,e){const{attributes:r,layer:a}=e;return r.fardistance??r.fardist??a.farDistance}readHFOV(t,e){const{attributes:r,layer:a}=e;return r.horizontalfieldofview??r.hfov??a.horizontalFieldOfView}readImageURL(t,e){const{attributes:r,layer:a}=e,{image:o}=r;o||d("image",this);const{imagePathPrefix:i,imagePathSuffix:n}=a;let s=o;const p=i?.trim();p&&(s=`${p.trim()}/${s}`);const u=n?.trim();return u&&(s=`${s}/${u.trim()}`),s}readImageRotation(t,e){const{attributes:r,layer:a}=e;return r.imagerotation??r.imgrot??a.imageRotation}get isHorizontal(){return"horizontal"===this.orientedImageryType}get isInspection(){return"inspection"===this.orientedImageryType}get isNadir(){return"nadir"===this.orientedImageryType}get isOblique(){return"oblique"===this.orientedImageryType}get isSpherical(){return"360"===this.orientedImageryType}get location(){const{cameraOrientation:t,geometry:e,cameraHeight:r,elevation:a}=this;if(t){const{type:e,x:r,y:a,z:o,horizontalWKID:i}=t;return new c({x:r,y:a,z:o,spatialReference:{wkid:e===u.LTP?4326:i}})}if(!r)throw l("cameraHeight");return e.z=(a??0)+r,e}readName(t,e){const{attributes:r}=e;return r.name}readNearDistance(t,e){const{attributes:r,layer:a}=e;return r.neardistance??r.neardist??a.nearDistance}readOrientationAccuracy(t,e){return e.attributes.orientationaccuracy?.split(";").map(Number)??e.attributes.accuracy?.split(";").map(Number)??null}readOIType(t,e){const{attributes:r,layer:a}=e,o=r.orientedimagerytype??r.oitype??a.orientedImageryType,i=r.camerapitch??r.campitch??a.cameraPitch;return m(o.toUpperCase(),i)}readSortOrder(t,e){return e.attributes.sortorder}readVFOV(t,e){const{attributes:r,layer:a}=e;return r.verticalfieldofview??r.vfov??a.verticalFieldOfView}};t([o({type:Date,json:{write:!0,name:"attributes.acquisitiondate"}})],y.prototype,"acquisitionDate",void 0),t([o({type:Number,json:{write:!0}})],y.prototype,"cameraHeading",void 0),t([n("cameraHeading",["attributes"])],y.prototype,"readCameraHeading",null),t([o({type:Number,json:{write:!0}})],y.prototype,"cameraHeight",void 0),t([n("cameraHeight",["attributes"])],y.prototype,"readCameraHeight",null),t([o({json:{write:!0}})],y.prototype,"cameraOffset",void 0),t([n("cameraOffset",["attributes"])],y.prototype,"readCamOffset",null),t([o({json:{write:!0}}),i((t=>t?p.getCameraOrientation(t):null))],y.prototype,"cameraOrientation",void 0),t([n("cameraOrientation",["attributes"])],y.prototype,"readCameraOrientation",null),t([o({type:Number,json:{write:!0}})],y.prototype,"cameraPitch",void 0),t([n("cameraPitch",["attributes"])],y.prototype,"readCameraPitch",null),t([o({type:Number,json:{write:!0}})],y.prototype,"cameraRoll",void 0),t([n("cameraRoll",["attributes"])],y.prototype,"readCameraRoll",null),t([o({json:{write:!0}})],y.prototype,"depthImage",void 0),t([n("depthImage",["attributes"])],y.prototype,"readDepthImage",null),t([o({type:Number,json:{write:!0}})],y.prototype,"elevation",void 0),t([o({json:{write:!0}})],y.prototype,"elevationSource",void 0),t([n("elevationSource",["attributes"])],y.prototype,"readElevationSource",null),t([o({json:{write:!0,name:"attributes.exposurestationid"}})],y.prototype,"exposureStationId",void 0),t([o({type:Number,json:{write:!0}})],y.prototype,"farDistance",void 0),t([n("farDistance",["attributes"])],y.prototype,"readFarDistance",null),t([o({type:c})],y.prototype,"geometry",void 0),t([o({type:Number,json:{write:!0}})],y.prototype,"horizontalFieldOfView",void 0),t([n("horizontalFieldOfView",["attributes"])],y.prototype,"readHFOV",null),t([o({json:{write:!0}})],y.prototype,"image",void 0),t([n("image",["attributes"])],y.prototype,"readImageURL",null),t([o({type:Number,json:{write:!0}})],y.prototype,"imageRotation",void 0),t([n("imageRotation",["attributes"])],y.prototype,"readImageRotation",null),t([o()],y.prototype,"isHorizontal",null),t([o()],y.prototype,"isInspection",null),t([o()],y.prototype,"isNadir",null),t([o()],y.prototype,"isOblique",null),t([o()],y.prototype,"isSpherical",null),t([o({json:{write:!0}})],y.prototype,"location",null),t([o({json:{write:!0}})],y.prototype,"name",void 0),t([n("name",["attributes"])],y.prototype,"readName",null),t([o({type:Number,json:{write:!0}})],y.prototype,"nearDistance",void 0),t([n("nearDistance",["attributes"])],y.prototype,"readNearDistance",null),t([o({json:{write:!0,name:"attributes.objectid"}})],y.prototype,"objectId",void 0),t([o({json:{write:!0}})],y.prototype,"orientationAccuracy",void 0),t([n("orientationAccuracy",["attributes"])],y.prototype,"readOrientationAccuracy",null),t([o({json:{write:!0}})],y.prototype,"orientedImageryType",void 0),t([n("orientedImageryType",["attributes"])],y.prototype,"readOIType",null),t([o({type:Number,json:{write:!0}})],y.prototype,"sortOrder",void 0),t([n("sortOrder",["attributes"])],y.prototype,"readSortOrder",null),t([o({type:Number,json:{write:!0}})],y.prototype,"verticalFieldOfView",void 0),t([n("verticalFieldOfView",["attributes"])],y.prototype,"readVFOV",null),y=t([s("esri.layers.orientedImagery.core.ExposurePoint")],y);const f=y;export{f as default};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import{ClonableMixin as e}from"../../../core/Clonable.js";import r from"../../../core/Error.js";import{JSONSupport as a}from"../../../core/JSONSupport.js";import o from"../../../core/Logger.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import{cast as n}from"../../../core/accessorSupport/decorators/cast.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{reader as s}from"../../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import u from"./cameraOrientationFactory.js";import{CameraOrientationType as l}from"../enums/CameraOrientationType.js";import m from"../../../geometry/Point.js";function c(t){throw new r("exposure-point:missing-default-value",`a value for ${t} is missing in default properties`)}function d(t,e){throw new r("exposure-point:missing-attribute-value",`a value for ${t} is missing in attribute table`,{exposurePoint:e})}let y=class extends(e(a)){constructor(t){super(t),this.cameraOrientation=null,this.elevation=null,this.elevationSource=null,this.name=null}read(t,e){const r={},{attributes:a}=t;for(const o in a)r[o.toLowerCase()]=a[o];super.read({...t,attributes:r},e)}readCameraHeading(t,e){const{attributes:r,layer:a}=e;return r.cameraheading??r.camheading??a.cameraHeading}readCameraHeight(t,e){const{attributes:r,layer:a}=e;return r.cameraheight??r.avghtag??a.cameraHeight}readCamOffset(t,e){const{attributes:r}=e;return r.cameraoffset?.split(";").map(Number)??r.camoffset?.split(";").map(Number)??null}readCameraOrientation(t,e){const{attributes:r}=e;return r.cameraorientation??r.camori}readCameraPitch(t,e){const{attributes:r,layer:a}=e;return r.camerapitch??r.campitch??a.cameraPitch}readCameraRoll(t,e){const{attributes:r,layer:a}=e;return r.cameraroll??r.camroll??a.cameraRoll}readDepthImage(t,e){const{attributes:r,layer:a}=e;let o=r.depthimage??r.depthimg??null;if(!o)return null;const{depthImagePathPrefix:i,depthImagePathSuffix:n}=a,s=i?.trim();s&&(o=`${s}/${o}`);const p=n?.trim();return p&&(o=`${o}/${p}`),o}readElevationSource(t,e){const{attributes:r,layer:a}=e;if(r.elevationsource){const t=this._parseIfJSON(r.elevationsource);if(!t)return null;let{url:e}=t;if(e){const{demPathSuffix:r,demPathPrefix:o}=a;return o?.trim()&&(e=o?.trim()+"/"+e),r?.trim()&&(e=e+"/"+r?.trim()),{...t,url:e}}return t}if(r.dem){let t=r.dem.trim();if(t){const{demPathSuffix:r,demPathPrefix:a}=e.layer;return a?.trim()&&(t=a?.trim()+"/"+t),r?.trim()&&(t=t+"/"+r?.trim()),{url:t}}}return a.effectiveElevationSource}readFarDistance(t,e){const{attributes:r,layer:a}=e;return r.fardistance??r.fardist??a.farDistance}readHFOV(t,e){const{attributes:r,layer:a}=e;return r.horizontalfieldofview??r.hfov??a.horizontalFieldOfView}readImageURL(t,e){const{attributes:r,layer:a}=e,{image:o}=r;o||d("image",this);const{imagePathPrefix:i,imagePathSuffix:n}=a;let s=o;const p=i?.trim();p&&(s=`${p.trim()}/${s}`);const u=n?.trim();return u&&(s=`${s}/${u.trim()}`),s}readImageRotation(t,e){const{attributes:r,layer:a}=e;return r.imagerotation??r.imgrot??a.imageRotation}get isHorizontal(){return"horizontal"===this.orientedImageryType}get isInspection(){return"inspection"===this.orientedImageryType}get isNadir(){return"nadir"===this.orientedImageryType}get isOblique(){return"oblique"===this.orientedImageryType}get isSpherical(){return"360"===this.orientedImageryType}get location(){const{cameraOrientation:t,geometry:e,cameraHeight:r,elevation:a}=this;if(t){const{type:e,x:r,y:a,z:o,horizontalWKID:i}=t;return new m({x:r,y:a,z:o,spatialReference:{wkid:e===l.LTP?4326:i}})}if(!r)throw c("cameraHeight");return e.z=(a??0)+r,e}readName(t,e){const{attributes:r}=e;return r.name}readNearDistance(t,e){const{attributes:r,layer:a}=e;return r.neardistance??r.neardist??a.nearDistance}readOrientationAccuracy(t,e){return e.attributes.orientationaccuracy?.split(";").map(Number)??e.attributes.accuracy?.split(";").map(Number)??null}readOIType(t,e){const{attributes:r,layer:a}=e,o=r.orientedimagerytype??r.oitype??a.orientedImageryType,i=r.camerapitch??r.campitch??a.cameraPitch,n=o.toLowerCase();return"oblique"===n?i<10?"nadir":"oblique":n}readSortOrder(t,e){return e.attributes.sortorder}readVFOV(t,e){const{attributes:r,layer:a}=e;return r.verticalfieldofview??r.vfov??a.verticalFieldOfView}_parseIfJSON(t){let e=null;try{e=JSON.parse(t)}catch(r){o.getLogger(this).error("couldn't parse the given elevation source JSON",t,r)}return e}};t([i({type:Date,json:{write:!0,name:"attributes.acquisitiondate"}})],y.prototype,"acquisitionDate",void 0),t([i({type:Number,json:{write:!0}})],y.prototype,"cameraHeading",void 0),t([s("cameraHeading",["attributes"])],y.prototype,"readCameraHeading",null),t([i({type:Number,json:{write:!0}})],y.prototype,"cameraHeight",void 0),t([s("cameraHeight",["attributes"])],y.prototype,"readCameraHeight",null),t([i({json:{write:!0}})],y.prototype,"cameraOffset",void 0),t([s("cameraOffset",["attributes"])],y.prototype,"readCamOffset",null),t([i({json:{write:!0}}),n((t=>t?u.getCameraOrientation(t):null))],y.prototype,"cameraOrientation",void 0),t([s("cameraOrientation",["attributes"])],y.prototype,"readCameraOrientation",null),t([i({type:Number,json:{write:!0}})],y.prototype,"cameraPitch",void 0),t([s("cameraPitch",["attributes"])],y.prototype,"readCameraPitch",null),t([i({type:Number,json:{write:!0}})],y.prototype,"cameraRoll",void 0),t([s("cameraRoll",["attributes"])],y.prototype,"readCameraRoll",null),t([i({json:{write:!0}})],y.prototype,"depthImage",void 0),t([s("depthImage",["attributes"])],y.prototype,"readDepthImage",null),t([i({type:Number,json:{write:!0}})],y.prototype,"elevation",void 0),t([i({json:{write:!0}})],y.prototype,"elevationSource",void 0),t([s("elevationSource",["attributes"])],y.prototype,"readElevationSource",null),t([i({json:{write:!0,name:"attributes.exposurestationid"}})],y.prototype,"exposureStationId",void 0),t([i({type:Number,json:{write:!0}})],y.prototype,"farDistance",void 0),t([s("farDistance",["attributes"])],y.prototype,"readFarDistance",null),t([i({type:m})],y.prototype,"geometry",void 0),t([i({type:Number,json:{write:!0}})],y.prototype,"horizontalFieldOfView",void 0),t([s("horizontalFieldOfView",["attributes"])],y.prototype,"readHFOV",null),t([i({json:{write:!0}})],y.prototype,"image",void 0),t([s("image",["attributes"])],y.prototype,"readImageURL",null),t([i({type:Number,json:{write:!0}})],y.prototype,"imageRotation",void 0),t([s("imageRotation",["attributes"])],y.prototype,"readImageRotation",null),t([i()],y.prototype,"isHorizontal",null),t([i()],y.prototype,"isInspection",null),t([i()],y.prototype,"isNadir",null),t([i()],y.prototype,"isOblique",null),t([i()],y.prototype,"isSpherical",null),t([i({json:{write:!0}})],y.prototype,"location",null),t([i({json:{write:!0}})],y.prototype,"name",void 0),t([s("name",["attributes"])],y.prototype,"readName",null),t([i({type:Number,json:{write:!0}})],y.prototype,"nearDistance",void 0),t([s("nearDistance",["attributes"])],y.prototype,"readNearDistance",null),t([i({json:{write:!0,name:"attributes.objectid"}})],y.prototype,"objectId",void 0),t([i({json:{write:!0}})],y.prototype,"orientationAccuracy",void 0),t([s("orientationAccuracy",["attributes"])],y.prototype,"readOrientationAccuracy",null),t([i({json:{write:!0}})],y.prototype,"orientedImageryType",void 0),t([s("orientedImageryType",["attributes"])],y.prototype,"readOIType",null),t([i({type:Number,json:{write:!0}})],y.prototype,"sortOrder",void 0),t([s("sortOrder",["attributes"])],y.prototype,"readSortOrder",null),t([i({type:Number,json:{write:!0}})],y.prototype,"verticalFieldOfView",void 0),t([s("verticalFieldOfView",["attributes"])],y.prototype,"readVFOV",null),y=t([p("esri.layers.orientedImagery.core.ExposurePoint")],y);const f=y;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.28/esri/copyright.txt for details.
4
4
  */
5
- import"../../../geometry.js";import{z as e}from"../../../chunks/vec3f64.js";import{A as t,e as a}from"../../../chunks/vec3.js";import r from"../../../geometry/Circle.js";import n from"../../../geometry/Mesh.js";import{earth as i}from"../../../geometry/support/Ellipsoid.js";import{MeshVertexAttributes as s}from"../../../geometry/support/MeshVertexAttributes.js";import{isWebMercator as c}from"../../../geometry/support/spatialReferenceUtils.js";import{calculateRotationMatrix as o,transformMat3 as f,scaleAndAddWithFactor as l,scaleWithFactor as h}from"../transformations/utils.js";import m from"../../../geometry/Polygon.js";import y from"../../../geometry/SpatialReference.js";const g=Math.PI/180;function p(s){const{attributes:y}=s,{horizontalFieldOfView:p,geometry:u,verticalFieldOfView:x}=y;let R,H=1,w=null;if(u&&c(u?.spatialReference)&&(H=1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*u.y/i.radius)))),y.isSpherical){if(R=new r({center:u,radius:y.farDistance*H}),y.nearDistance){const e=new r({center:u,radius:y.nearDistance*H});R.addRing(e.rings[0])}const e=R.center;e&&(e.z=y.cameraHeight,w=n.createSphere(e,{size:2*y.farDistance}),w.centerAt(e))}else{let r=y.cameraPitch,n=y.cameraRoll,i=150;const c=[];p>150&&(r=90,n=0,i=5);const D=Math.ceil(p/i);if(D%2==0)for(let e=0;e<D/2;e++)c.push(y.cameraHeading-p/D*(e+.5),y.cameraHeading+p/D*(e+.5));else{c.push(y.cameraHeading);for(let e=1;e<D/2;e++)c.push(y.cameraHeading-p/D*e,y.cameraHeading+p/D*e)}c.sort();let j=y.farDistance?y.farDistance*H:y.cameraHeight*H/Math.cos(r*g);y.cameraPitch+x/2>=90&&(j=(y.farDistance||20)*H),R=new m({spatialReference:u?.spatialReference});for(const m of c){const i=o("HPR",[m,r,n]);w=M(s,i);const c=f([0,0,-1],i),{x:P,y:z}=u,F=l([P,z,y.cameraHeight],c,j,H),O=2*Math.tan(x*g/2)*j,V=2*Math.tan(p/D*g/2)*j,v=f([0,1,0],i),b=f([1,0,0],i),q=h(v,O/2,H),A=h(b,V/2,H),C=t(e(),q,A),S=a(e(),q,A),I=[a(e(),F,C),a(e(),F,S),t(e(),F,C),t(e(),F,S)].map((e=>d(e,y.cameraHeight,u,H)));I.push(I[0]),R.addRing(I)}}return{polygon:R,frustum:w}}function u(e,t){return e.contains(t)}function x(e,t){return Math.sign(e)!==Math.sign(t)}function M(r,i,c){const o=r.attributes,m=o.geometry,p=m.spatialReference??r.spatialReference;m.spatialReference=p instanceof y?p:y.fromJSON(p);const u=H(m),x=o.nearDistance<0?0:o.nearDistance*u;let M=o.cameraHeight*u/Math.cos(o.cameraPitch*g),d=!0;o.cameraPitch+o.verticalFieldOfView/2>=90&&(M=(o.farDistance??20)*u,d=!1);const R=2*Math.tan(o.verticalFieldOfView*g/2)*x,w=2*Math.tan(o.horizontalFieldOfView*g/2)*x,D=2*Math.tan(o.verticalFieldOfView*g/2)*M,j=2*Math.tan(o.horizontalFieldOfView*g/2)*M;let P,z;c?(P=c,z=h(t(e(),P,[m.x,m.y,o.cameraHeight]),1/M,1/u)):(z=[0,0,-1],z=f(z,i),P=l([m.x,m.y,o.cameraHeight],z,M,u),d&&(P[2]=0));const F=l([m.x,m.y,o.cameraHeight],z,x,u);let O=[0,1,0];O=f(O,i);let V=[1,0,0];V=f(V,i);let v=[],b=[];x?(b=[{faces:[4,0,3,4,7,3]},{faces:[5,1,2,5,6,2]},{faces:[4,0,1,4,5,1]},{faces:[6,2,3,6,7,3]}],v=v.concat(a(e(),F,t(e(),h(O,R/2,u),h(V,w/2,u)))),v=v.concat(a(e(),F,a(e(),h(O,R/2,u),h(V,w/2,u)))),v=v.concat(t(e(),F,t(e(),h(O,R/2,u),h(V,w/2,u)))),v=v.concat(t(e(),F,a(e(),h(O,R/2,u),h(V,w/2,u))))):(v=[m.x,m.y,o.cameraHeight],b=[{faces:[0,1,2,0,2,3,0,3,4,0,4,1]}]),v=v.concat(a(e(),P,t(e(),h(O,D/2,u),h(V,j/2,u)))),v=v.concat(a(e(),P,a(e(),h(O,D/2,u),h(V,j/2,u)))),v=v.concat(t(e(),P,t(e(),h(O,D/2,u),h(V,j/2,u)))),v=v.concat(t(e(),P,a(e(),h(O,D/2,u),h(V,j/2,u))));const q=new s({position:Float64Array.from(v)});return new n({vertexAttributes:q,components:b,spatialReference:m.spatialReference})}function d(a,r,n,i){{const s=Math.sqrt((a[2]-r)**2+(Math.sqrt((a[0]-n.x)**2+(a[1]-n.y)**2)/i)**2)*i,c=h(t(e(),[a[0],a[1],a[2]],[n.x,n.y,r]),1/s,1/i),o=r/(r-a[2]),f={x:(1-o)*n.x+o*a[0],y:(1-o)*n.y+o*a[1],z:(1-o)*r+o*a[2]},l=Math.sqrt((f.z-r)**2+(Math.sqrt((f.x-n.x)**2+(f.y-n.y)**2)/i)**2)*i,m=h(t(e(),[f.x,f.y,f.z],[n.x,n.y,r]),1/l,1/i);return x(c[0],m[0])&&x(c[1],m[1])&&x(c[2],m[2])||a[2]>=0?[a[0],a[1],0]:[f.x,f.y,f.z]}}function R(e){const{spatialReference:t,x:a,y:r}=e.geometry,{cameraHeading:n,cameraPitch:i,farDistance:s,nearDistance:c}=e,o=H(e.geometry),f=new m({spatialReference:t}),l=Math.abs(1.44*s*o);let h=Math.abs(1.44*c*o);(i<20||null==n)&&(h=l);const y=[];return y[0]={x:a+l*Math.sin((n-45)*g),y:r+l*Math.cos((n-45)*g)},y[1]={x:a+l*Math.sin((n+45)*g),y:r+l*Math.cos((n+45)*g)},y[2]={x:a+h*Math.sin((n+135)*g),y:r+h*Math.cos((n+135)*g)},y[3]={x:a+h*Math.sin((n+225)*g),y:r+h*Math.cos((n+225)*g)},f.addRing([[y[0].x,y[0].y,0],[y[1].x,y[1].y,0],[y[2].x,y[2].y,0],[y[3].x,y[3].y,0],[y[0].x,y[0].y,0]]),f}function H(e){return e&&c(e?.spatialReference)?1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e.y/i.radius))):1}function w(a,n){const i=1+n/100;if("esri.geometry.Circle"===a.declaredClass){const{radius:e,center:t}=a,n=new r({radius:e*i,center:t});return a.rings.length>1&&n.addRing(a.rings[1]),n}if("esri.geometry.Polygon"===a.declaredClass){const r=new m({spatialReference:a.spatialReference}),n=a.centroid;if(n){const s=[];for(let r=0;r<a.rings[0].length;r++){const c=Math.sqrt((n.x-a.rings[0][r][0])**2+(n.y-a.rings[0][r][1])**2),o=h(t(e(),[a.rings[0][r][0],a.rings[0][r][1],0],[n.x,n.y,0]),1/c,1),f=l([n.x,n.y,0],o,c*i,1);s.push({x:f[0],y:f[1]})}r.addRing([[s[0].x,s[0].y,0],[s[1].x,s[1].y,0],[s[2].x,s[2].y,0],[s[3].x,s[3].y,0],[s[0].x,s[0].y,0]])}return r}return a}export{u as checkIfPolygonContainsSelectedPoint,R as computePolygonForInspection,p as createCoveragePolygon,w as resizePolygon};
5
+ import"../../../geometry.js";import{z as e}from"../../../chunks/vec3f64.js";import{r as t,g as a}from"../../../chunks/vec3.js";import r from"../../../geometry/Circle.js";import n from"../../../geometry/Mesh.js";import{earth as i}from"../../../geometry/support/Ellipsoid.js";import{MeshVertexAttributes as s}from"../../../geometry/support/MeshVertexAttributes.js";import{isWebMercator as c}from"../../../geometry/support/spatialReferenceUtils.js";import{calculateRotationMatrix as o,transformMat3 as f,scaleAndAddWithFactor as l,scaleWithFactor as h}from"../transformations/utils.js";import m from"../../../geometry/Polygon.js";import y from"../../../geometry/SpatialReference.js";const g=Math.PI/180;function p(s){const{attributes:y}=s,{horizontalFieldOfView:p,geometry:u,verticalFieldOfView:x}=y;let R,H=1,w=null;if(u&&c(u?.spatialReference)&&(H=1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*u.y/i.radius)))),y.isSpherical){if(R=new r({center:u,radius:y.farDistance*H}),y.nearDistance){const e=new r({center:u,radius:y.nearDistance*H});R.addRing(e.rings[0])}const e=R.center;e&&(e.z=y.cameraHeight,w=n.createSphere(e,{size:2*y.farDistance}),w.centerAt(e))}else{let r=y.cameraPitch,n=y.cameraRoll,i=150;const c=[];p>150&&(r=90,n=0,i=5);const D=Math.ceil(p/i);if(D%2==0)for(let e=0;e<D/2;e++)c.push(y.cameraHeading-p/D*(e+.5),y.cameraHeading+p/D*(e+.5));else{c.push(y.cameraHeading);for(let e=1;e<D/2;e++)c.push(y.cameraHeading-p/D*e,y.cameraHeading+p/D*e)}c.sort();let j=y.farDistance?y.farDistance*H:y.cameraHeight*H/Math.cos(r*g);y.cameraPitch+x/2>=90&&(j=(y.farDistance||20)*H),R=new m({spatialReference:u?.spatialReference});for(const m of c){const i=o("HPR",[m,r,n]);w=M(s,i);const c=f([0,0,-1],i),{x:P,y:z}=u,F=l([P,z,y.cameraHeight],c,j,H),O=2*Math.tan(x*g/2)*j,V=2*Math.tan(p/D*g/2)*j,v=f([0,1,0],i),b=f([1,0,0],i),q=h(v,O/2,H),A=h(b,V/2,H),C=t(e(),q,A),S=a(e(),q,A),I=[a(e(),F,C),a(e(),F,S),t(e(),F,C),t(e(),F,S)].map((e=>d(e,y.cameraHeight,u,H)));I.push(I[0]),R.addRing(I)}}return{polygon:R,frustum:w}}function u(e,t){return e.contains(t)}function x(e,t){return Math.sign(e)!==Math.sign(t)}function M(r,i,c){const o=r.attributes,m=o.geometry,p=m.spatialReference??r.spatialReference;m.spatialReference=p instanceof y?p:y.fromJSON(p);const u=H(m),x=o.nearDistance<0?0:o.nearDistance*u;let M=o.cameraHeight*u/Math.cos(o.cameraPitch*g),d=!0;o.cameraPitch+o.verticalFieldOfView/2>=90&&(M=(o.farDistance??20)*u,d=!1);const R=2*Math.tan(o.verticalFieldOfView*g/2)*x,w=2*Math.tan(o.horizontalFieldOfView*g/2)*x,D=2*Math.tan(o.verticalFieldOfView*g/2)*M,j=2*Math.tan(o.horizontalFieldOfView*g/2)*M;let P,z;c?(P=c,z=h(t(e(),P,[m.x,m.y,o.cameraHeight]),1/M,1/u)):(z=[0,0,-1],z=f(z,i),P=l([m.x,m.y,o.cameraHeight],z,M,u),d&&(P[2]=0));const F=l([m.x,m.y,o.cameraHeight],z,x,u);let O=[0,1,0];O=f(O,i);let V=[1,0,0];V=f(V,i);let v=[],b=[];x?(b=[{faces:[4,0,3,4,7,3]},{faces:[5,1,2,5,6,2]},{faces:[4,0,1,4,5,1]},{faces:[6,2,3,6,7,3]}],v=v.concat(a(e(),F,t(e(),h(O,R/2,u),h(V,w/2,u)))),v=v.concat(a(e(),F,a(e(),h(O,R/2,u),h(V,w/2,u)))),v=v.concat(t(e(),F,t(e(),h(O,R/2,u),h(V,w/2,u)))),v=v.concat(t(e(),F,a(e(),h(O,R/2,u),h(V,w/2,u))))):(v=[m.x,m.y,o.cameraHeight],b=[{faces:[0,1,2,0,2,3,0,3,4,0,4,1]}]),v=v.concat(a(e(),P,t(e(),h(O,D/2,u),h(V,j/2,u)))),v=v.concat(a(e(),P,a(e(),h(O,D/2,u),h(V,j/2,u)))),v=v.concat(t(e(),P,t(e(),h(O,D/2,u),h(V,j/2,u)))),v=v.concat(t(e(),P,a(e(),h(O,D/2,u),h(V,j/2,u))));const q=new s({position:Float64Array.from(v)});return new n({vertexAttributes:q,components:b,spatialReference:m.spatialReference})}function d(a,r,n,i){{const s=Math.sqrt((a[2]-r)**2+(Math.sqrt((a[0]-n.x)**2+(a[1]-n.y)**2)/i)**2)*i,c=h(t(e(),[a[0],a[1],a[2]],[n.x,n.y,r]),1/s,1/i),o=r/(r-a[2]),f={x:(1-o)*n.x+o*a[0],y:(1-o)*n.y+o*a[1],z:(1-o)*r+o*a[2]},l=Math.sqrt((f.z-r)**2+(Math.sqrt((f.x-n.x)**2+(f.y-n.y)**2)/i)**2)*i,m=h(t(e(),[f.x,f.y,f.z],[n.x,n.y,r]),1/l,1/i);return x(c[0],m[0])&&x(c[1],m[1])&&x(c[2],m[2])||a[2]>=0?[a[0],a[1],0]:[f.x,f.y,f.z]}}function R(e){const{spatialReference:t,x:a,y:r}=e.geometry,{cameraHeading:n,cameraPitch:i,farDistance:s,nearDistance:c}=e,o=H(e.geometry),f=new m({spatialReference:t}),l=Math.abs(1.44*s*o);let h=Math.abs(1.44*c*o);(i<20||null==n)&&(h=l);const y=[];return y[0]={x:a+l*Math.sin((n-45)*g),y:r+l*Math.cos((n-45)*g)},y[1]={x:a+l*Math.sin((n+45)*g),y:r+l*Math.cos((n+45)*g)},y[2]={x:a+h*Math.sin((n+135)*g),y:r+h*Math.cos((n+135)*g)},y[3]={x:a+h*Math.sin((n+225)*g),y:r+h*Math.cos((n+225)*g)},f.addRing([[y[0].x,y[0].y,0],[y[1].x,y[1].y,0],[y[2].x,y[2].y,0],[y[3].x,y[3].y,0],[y[0].x,y[0].y,0]]),f}function H(e){return e&&c(e?.spatialReference)?1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e.y/i.radius))):1}function w(a,n){const i=1+n/100;if("esri.geometry.Circle"===a.declaredClass){const{radius:e,center:t}=a,n=new r({radius:e*i,center:t});return a.rings.length>1&&n.addRing(a.rings[1]),n}if("esri.geometry.Polygon"===a.declaredClass){const r=new m({spatialReference:a.spatialReference}),n=a.centroid;if(n){const s=[];for(let r=0;r<a.rings[0].length;r++){const c=Math.sqrt((n.x-a.rings[0][r][0])**2+(n.y-a.rings[0][r][1])**2),o=h(t(e(),[a.rings[0][r][0],a.rings[0][r][1],0],[n.x,n.y,0]),1/c,1),f=l([n.x,n.y,0],o,c*i,1);s.push({x:f[0],y:f[1]})}r.addRing([[s[0].x,s[0].y,0],[s[1].x,s[1].y,0],[s[2].x,s[2].y,0],[s[3].x,s[3].y,0],[s[0].x,s[0].y,0]])}return r}return a}export{u as checkIfPolygonContainsSelectedPoint,R as computePolygonForInspection,p as createCoveragePolygon,w as resizePolygon};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import"../../../geometry.js";import{z as e}from"../../../chunks/vec3f64.js";import{A as t,e as a}from"../../../chunks/vec3.js";import r from"../../../geometry/Point.js";import{project as n}from"../../../geometry/projection.js";import{geographicToWebMercator as i,webMercatorToGeographic as s}from"../../../geometry/support/webMercatorUtils.js";import x from"../core/ExposurePoint.js";import{transformPoints as c,updateElevation as y}from"./groundToImageUtils.js";import{ltpToGeographic as o,computeHFOVAndVFOV as l,projectiveTransform2 as f,scaleWithFactor as z,scaleAndAddWithFactor as p,calculateRotationMatrix as m,transformMat3 as u,projectiveTransform as w,getPlaneLineIntersectionPoint as R}from"./utils.js";import h from"../../../geometry/SpatialReference.js";import g from"../../../geometry/Polygon.js";const P=Math.PI/180;function b(e,t){if(!e)return Promise.resolve([]);const a=t.feature;let r=a.attributes;return r instanceof x||(r=x.fromJSON(a),r&&(a.attributes=r)),M(e,t)}function M(e,t){const{attributes:a}=t.feature;return a.isSpherical||360===a.horizontalFieldOfView?[]:S(e,t)}async function S(e,t){const{feature:a,imageProperties:x}=t,{attributes:z}=a;let p=new r(z.location);if(4===z.cameraOrientation?.type){const e=z.cameraOrientation;p=new r(o(p,[e.latitude,e.longitude,e.ellipsoidRadius,e.squaredEccentricity]))}let m=!1;p.spatialReference.isWGS84&&(m=!0,p=i(p));const u=p.spatialReference.isWebMercator?1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*p.y/6378137))):1,w=d(t,p,u),R=4===z.cameraOrientation?.type?w.map((e=>s(new r(e)))):w,h=await c(R,t,!0),P=await Promise.all(h);P.forEach((e=>{e.z=1,e.x=e.x*x.pixelSize.x+x.extent.xmin,e.y=x.extent.ymax-e.y*x.pixelSize.y}));const b=l(z.horizontalFieldOfView,z.verticalFieldOfView,z.cameraRoll??0).vfov;return Promise.all(e.map((async e=>{e.z=1;let i,o=f(e,P,R);if(i=4===z.cameraOrientation?.type?await(await c([s(new r({...o,spatialReference:p.spatialReference}))],t,!0))[0]:await(await c([new r({...o,spatialReference:p.spatialReference})],t,!0))[0],!i)return null;i.x=i.x*x.pixelSize.x+x.extent.xmin,i.y=x.extent.ymax-i.y*x.pixelSize.y;let l,w=Math.abs(e.x-i.x)+Math.abs(e.y-i.y);if(w>1){const a=await H(e,i,P,R,p,o,t);o=a.point,w=a.error}if(a.layer.elevationSource){let a=await v(t);if(a&&a.extent){let i=F(a,p,o);if(!i)return null;const f={x:i.x,y:i.y,z:i.z,hasZ:!0,spatialReference:p.spatialReference},w=new r(f);if(i){const f=n(w,t.currentCoveragePolygon.geometry?.spatialReference),R=y([f],t,!1);let h;h=R instanceof Promise?await R:R,w.z=i.z=h[0].z;const P=await c([4===z.cameraOrientation?.type?s(w):w],t);if(!P[0])return null;P[0].x=P[0].x*x.pixelSize.x+x.extent.xmin,P[0].y=x.extent.ymax-P[0].y*x.pixelSize.y;let M=Math.abs(e.x-P[0].x)+Math.abs(e.y-P[0].y);if(l=i.z,M>1){let f=0;const w=async R=>{if(M>1){const h=R.width/10,P=R.height/10;if(!R||h<1||P<1)return o=O(o,p,u,l,z.cameraPitch,b,m),o;const S=[{x:i.x-h,y:i.y-P,spatialReference:p.spatialReference},{x:i.x+h,y:i.y-P,spatialReference:p.spatialReference},{x:i.x+h,y:i.y+P,spatialReference:p.spatialReference},{x:i.x-h,y:i.y+P,spatialReference:p.spatialReference}].map((e=>new r(e))),d=await y(S,t,!1);if(a=new g({rings:[[[d[0].x,d[0].y,d[0].z],[d[1].x,d[1].y,d[1].z],[d[2].x,d[2].y,d[2].z],[d[3].x,d[3].y,d[3].z],[d[0].x,d[0].y,d[0].z]]],spatialReference:p.spatialReference}),i=F(a,p,o),i){const y=n(new r({x:i.x,y:i.y,z:i.z,spatialReference:p.spatialReference}),t.currentCoveragePolygon.geometry?.spatialReference),R=await c([4===z.cameraOrientation?.type?s(y):y],t);if(R[0])return R[0].x=R[0].x*x.pixelSize.x+x.extent.xmin,R[0].y=x.extent.ymax-R[0].y*x.pixelSize.y,M=Math.abs(e.x-R[0].x)+Math.abs(e.y-R[0].y),l=i.z,M<=1||8===f?O(o,p,u,l,z.cameraPitch,b,m):(f+=1,w(a.extent))}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)};return w(a.extent)}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)}}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)})))}function O(a,n,i,x,c,y,o){const l=Math.sqrt((a.z-n.z)**2+(Math.sqrt((a.x-n.x)**2+(a.y-n.y)**2)/i)**2)*i,f=z(t(e(),[a.x,a.y,a.z],[n.x,n.y,n.z]),1/l,1/i);if(a.z<x||c+y/2<90){const e=Math.abs((n.z-x)/-f[2])*i,t=p([n.x,n.y,n.z],f,e,i);a={x:t[0],y:t[1],z:t[2]}}else a.z=x;return a.spatialReference=n.spatialReference,a=new r(a),o&&(a=s(a)),a}function d(n,i,s){const{feature:x}=n,{attributes:c}=x,y=2*Math.tan(c.verticalFieldOfView*P/2)*c.farDistance*s,o=2*Math.tan(c.horizontalFieldOfView*P/2)*c.farDistance*s,l=m("HPR",[c.cameraHeading,c.cameraPitch,c.cameraRoll??0]),f=u([0,0,-1],l),w=p([i.x,i.y,i.z],f,c.farDistance*s,s),R=u([0,1,0],l),h=u([1,0,0],l),g=z(R,y/2,s),b=z(h,o/2,s),M=t(e(),g,b),S=a(e(),g,b);return[a(e(),w,M),a(e(),w,S),t(e(),w,M),t(e(),w,S)].map((e=>{const[t,a,n]=e;return new r({x:t,y:a,z:n,spatialReference:i.spatialReference})}))}function v(e){const{feature:t}=e,a=j(e);if(!a)return Promise.resolve(null);const r=t.attributes.location.spatialReference.isWGS84?new h({wkid:102100}):t.attributes.location.spatialReference;return y(a,e,!1).then((e=>{const t=e.map((e=>n(e,r)));return new g({hasZ:!0,rings:[t.map((e=>[e.x,e.y,e.z]))],spatialReference:r})}))}function j(e){if(!e.currentCoveragePolygon.geometry)return null;const{xmin:t,xmax:a,ymin:n,ymax:i,spatialReference:s}=e.currentCoveragePolygon.geometry.extent.toJSON();return[new r({x:t,y:i,spatialReference:s}),new r({x:a,y:i,spatialReference:s}),new r({x:a,y:n,spatialReference:s}),new r({x:t,y:n,spatialReference:s})]}async function H(e,t,a,n,i,x,y){const{feature:{attributes:o},imageProperties:l}=y;let f=Math.abs(e.x-t.x)+Math.abs(e.y-t.y);if(f>1)for(let z=0;z<9;z++)if(f>1){let t,p={x:e.x-f,y:e.y-f,z:1},m={x:e.x+f,y:e.y-f,z:1},u={x:e.x+f,y:e.y+f,z:1},R={x:e.x-f,y:e.y+f,z:1};p=w(p,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),m=w(m,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),u=w(u,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),R=w(R,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),p.spatialReference=i.spatialReference,m.spatialReference=i.spatialReference,u.spatialReference=i.spatialReference,R.spatialReference=i.spatialReference,t=4===o.cameraOrientation?.type?await c([s(new r(p)),s(new r(m)),s(new r(u)),s(new r(R))],y,!0):await c([new r(p),new r(m),new r(u),new r(R)],y,!0);const h=await Promise.all(t);h.forEach((e=>{e.z=0,e.x=e.x*l.pixelSize.x+l.extent.xmin,e.y=l.extent.ymax-e.y*l.pixelSize.y}));const g=w(e,h[0],h[1],h[2],h[3],p,m,u,R);let P;if(P=4===o.cameraOrientation?.type?await(await c([s(new r({x:g.x,y:g.y,z:g.z,spatialReference:i.spatialReference}))],y,!0))[0]:await(await c([new r({x:g.x,y:g.y,z:g.z,spatialReference:i.spatialReference})],y,!0))[0],f=Math.abs(e.x-P.x)+Math.abs(e.y-P.y),f<=1||8===z){x=g;break}}return{error:f,point:x}}function F(e,t,a){const r={x:e.rings[0][0][0],y:e.rings[0][0][1],z:e.rings[0][0][2]},n={x:e.rings[0][1][0],y:e.rings[0][1][1],z:e.rings[0][1][2]},i={x:e.rings[0][1][0],y:e.rings[0][1][1],z:e.rings[0][1][2]},s={x:e.rings[0][2][0],y:e.rings[0][2][1],z:e.rings[0][2][2]},x=(s.z-i.z)*(n.y-r.y)-(s.y-i.y)*(n.z-r.z),c=-((s.z-i.z)*(n.x-r.x)-(n.z-r.z)*(s.x-i.x)),y=(s.y-i.y)*(n.x-r.x)-(n.y-r.y)*(s.x-i.x),o=-(x*r.x+c*r.y+y*r.z);return R(t.toJSON(),a,x,c,y,o)}export{b as transformPoints};
5
+ import"../../../geometry.js";import{z as e}from"../../../chunks/vec3f64.js";import{r as t,g as a}from"../../../chunks/vec3.js";import r from"../../../geometry/Point.js";import{project as n}from"../../../geometry/projection.js";import{geographicToWebMercator as i,webMercatorToGeographic as s}from"../../../geometry/support/webMercatorUtils.js";import x from"../core/ExposurePoint.js";import{transformPoints as c,updateElevation as y}from"./groundToImageUtils.js";import{ltpToGeographic as o,computeHFOVAndVFOV as l,projectiveTransform2 as f,scaleWithFactor as z,scaleAndAddWithFactor as p,calculateRotationMatrix as m,transformMat3 as u,projectiveTransform as w,getPlaneLineIntersectionPoint as R}from"./utils.js";import h from"../../../geometry/SpatialReference.js";import g from"../../../geometry/Polygon.js";const P=Math.PI/180;function b(e,t){if(!e)return Promise.resolve([]);const a=t.feature;let r=a.attributes;return r instanceof x||(r=x.fromJSON(a),r&&(a.attributes=r)),M(e,t)}function M(e,t){const{attributes:a}=t.feature;return a.isSpherical||360===a.horizontalFieldOfView?[]:S(e,t)}async function S(e,t){const{feature:a,imageProperties:x}=t,{attributes:z}=a;let p=new r(z.location);if(4===z.cameraOrientation?.type){const e=z.cameraOrientation;p=new r(o(p,[e.latitude,e.longitude,e.ellipsoidRadius,e.squaredEccentricity]))}let m=!1;p.spatialReference.isWGS84&&(m=!0,p=i(p));const u=p.spatialReference.isWebMercator?1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*p.y/6378137))):1,w=d(t,p,u),R=4===z.cameraOrientation?.type?w.map((e=>s(new r(e)))):w,h=await c(R,t,!0),P=await Promise.all(h);P.forEach((e=>{e.z=1,e.x=e.x*x.pixelSize.x+x.extent.xmin,e.y=x.extent.ymax-e.y*x.pixelSize.y}));const b=l(z.horizontalFieldOfView,z.verticalFieldOfView,z.cameraRoll??0).vfov;return Promise.all(e.map((async e=>{e.z=1;let i,o=f(e,P,R);if(i=4===z.cameraOrientation?.type?await(await c([s(new r({...o,spatialReference:p.spatialReference}))],t,!0))[0]:await(await c([new r({...o,spatialReference:p.spatialReference})],t,!0))[0],!i)return null;i.x=i.x*x.pixelSize.x+x.extent.xmin,i.y=x.extent.ymax-i.y*x.pixelSize.y;let l,w=Math.abs(e.x-i.x)+Math.abs(e.y-i.y);if(w>1){const a=await H(e,i,P,R,p,o,t);o=a.point,w=a.error}if(a.layer.elevationSource){let a=await v(t);if(a&&a.extent){let i=F(a,p,o);if(!i)return null;const f={x:i.x,y:i.y,z:i.z,hasZ:!0,spatialReference:p.spatialReference},w=new r(f);if(i){const f=n(w,t.currentCoveragePolygon.geometry?.spatialReference),R=y([f],t,!1);let h;h=R instanceof Promise?await R:R,w.z=i.z=h[0].z;const P=await c([4===z.cameraOrientation?.type?s(w):w],t);if(!P[0])return null;P[0].x=P[0].x*x.pixelSize.x+x.extent.xmin,P[0].y=x.extent.ymax-P[0].y*x.pixelSize.y;let M=Math.abs(e.x-P[0].x)+Math.abs(e.y-P[0].y);if(l=i.z,M>1){let f=0;const w=async R=>{if(M>1){const h=R.width/10,P=R.height/10;if(!R||h<1||P<1)return o=O(o,p,u,l,z.cameraPitch,b,m),o;const S=[{x:i.x-h,y:i.y-P,spatialReference:p.spatialReference},{x:i.x+h,y:i.y-P,spatialReference:p.spatialReference},{x:i.x+h,y:i.y+P,spatialReference:p.spatialReference},{x:i.x-h,y:i.y+P,spatialReference:p.spatialReference}].map((e=>new r(e))),d=await y(S,t,!1);if(a=new g({rings:[[[d[0].x,d[0].y,d[0].z],[d[1].x,d[1].y,d[1].z],[d[2].x,d[2].y,d[2].z],[d[3].x,d[3].y,d[3].z],[d[0].x,d[0].y,d[0].z]]],spatialReference:p.spatialReference}),i=F(a,p,o),i){const y=n(new r({x:i.x,y:i.y,z:i.z,spatialReference:p.spatialReference}),t.currentCoveragePolygon.geometry?.spatialReference),R=await c([4===z.cameraOrientation?.type?s(y):y],t);if(R[0])return R[0].x=R[0].x*x.pixelSize.x+x.extent.xmin,R[0].y=x.extent.ymax-R[0].y*x.pixelSize.y,M=Math.abs(e.x-R[0].x)+Math.abs(e.y-R[0].y),l=i.z,M<=1||8===f?O(o,p,u,l,z.cameraPitch,b,m):(f+=1,w(a.extent))}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)};return w(a.extent)}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)}}return O(o,p,u,p.z-z.cameraHeight,z.cameraPitch,b,m)})))}function O(a,n,i,x,c,y,o){const l=Math.sqrt((a.z-n.z)**2+(Math.sqrt((a.x-n.x)**2+(a.y-n.y)**2)/i)**2)*i,f=z(t(e(),[a.x,a.y,a.z],[n.x,n.y,n.z]),1/l,1/i);if(a.z<x||c+y/2<90){const e=Math.abs((n.z-x)/-f[2])*i,t=p([n.x,n.y,n.z],f,e,i);a={x:t[0],y:t[1],z:t[2]}}else a.z=x;return a.spatialReference=n.spatialReference,a=new r(a),o&&(a=s(a)),a}function d(n,i,s){const{feature:x}=n,{attributes:c}=x,y=2*Math.tan(c.verticalFieldOfView*P/2)*c.farDistance*s,o=2*Math.tan(c.horizontalFieldOfView*P/2)*c.farDistance*s,l=m("HPR",[c.cameraHeading,c.cameraPitch,c.cameraRoll??0]),f=u([0,0,-1],l),w=p([i.x,i.y,i.z],f,c.farDistance*s,s),R=u([0,1,0],l),h=u([1,0,0],l),g=z(R,y/2,s),b=z(h,o/2,s),M=t(e(),g,b),S=a(e(),g,b);return[a(e(),w,M),a(e(),w,S),t(e(),w,M),t(e(),w,S)].map((e=>{const[t,a,n]=e;return new r({x:t,y:a,z:n,spatialReference:i.spatialReference})}))}function v(e){const{feature:t}=e,a=j(e);if(!a)return Promise.resolve(null);const r=t.attributes.location.spatialReference.isWGS84?new h({wkid:102100}):t.attributes.location.spatialReference;return y(a,e,!1).then((e=>{const t=e.map((e=>n(e,r)));return new g({hasZ:!0,rings:[t.map((e=>[e.x,e.y,e.z]))],spatialReference:r})}))}function j(e){if(!e.currentCoveragePolygon.geometry)return null;const{xmin:t,xmax:a,ymin:n,ymax:i,spatialReference:s}=e.currentCoveragePolygon.geometry.extent.toJSON();return[new r({x:t,y:i,spatialReference:s}),new r({x:a,y:i,spatialReference:s}),new r({x:a,y:n,spatialReference:s}),new r({x:t,y:n,spatialReference:s})]}async function H(e,t,a,n,i,x,y){const{feature:{attributes:o},imageProperties:l}=y;let f=Math.abs(e.x-t.x)+Math.abs(e.y-t.y);if(f>1)for(let z=0;z<9;z++)if(f>1){let t,p={x:e.x-f,y:e.y-f,z:1},m={x:e.x+f,y:e.y-f,z:1},u={x:e.x+f,y:e.y+f,z:1},R={x:e.x-f,y:e.y+f,z:1};p=w(p,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),m=w(m,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),u=w(u,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),R=w(R,a[0],a[1],a[2],a[3],{x:n[0].x,y:n[0].y,z:n[0].z},{x:n[1].x,y:n[1].y,z:n[1].z},{x:n[2].x,y:n[2].y,z:n[2].z},{x:n[3].x,y:n[3].y,z:n[3].z}),p.spatialReference=i.spatialReference,m.spatialReference=i.spatialReference,u.spatialReference=i.spatialReference,R.spatialReference=i.spatialReference,t=4===o.cameraOrientation?.type?await c([s(new r(p)),s(new r(m)),s(new r(u)),s(new r(R))],y,!0):await c([new r(p),new r(m),new r(u),new r(R)],y,!0);const h=await Promise.all(t);h.forEach((e=>{e.z=0,e.x=e.x*l.pixelSize.x+l.extent.xmin,e.y=l.extent.ymax-e.y*l.pixelSize.y}));const g=w(e,h[0],h[1],h[2],h[3],p,m,u,R);let P;if(P=4===o.cameraOrientation?.type?await(await c([s(new r({x:g.x,y:g.y,z:g.z,spatialReference:i.spatialReference}))],y,!0))[0]:await(await c([new r({x:g.x,y:g.y,z:g.z,spatialReference:i.spatialReference})],y,!0))[0],f=Math.abs(e.x-P.x)+Math.abs(e.y-P.y),f<=1||8===z){x=g;break}}return{error:f,point:x}}function F(e,t,a){const r={x:e.rings[0][0][0],y:e.rings[0][0][1],z:e.rings[0][0][2]},n={x:e.rings[0][1][0],y:e.rings[0][1][1],z:e.rings[0][1][2]},i={x:e.rings[0][1][0],y:e.rings[0][1][1],z:e.rings[0][1][2]},s={x:e.rings[0][2][0],y:e.rings[0][2][1],z:e.rings[0][2][2]},x=(s.z-i.z)*(n.y-r.y)-(s.y-i.y)*(n.z-r.z),c=-((s.z-i.z)*(n.x-r.x)-(n.z-r.z)*(s.x-i.x)),y=(s.y-i.y)*(n.x-r.x)-(n.y-r.y)*(s.x-i.x),o=-(x*r.x+c*r.y+y*r.z);return R(t.toJSON(),a,x,c,y,o)}export{b as transformPoints};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{c as t}from"../../../chunks/mat3f64.js";import{c as a}from"../../../chunks/mat4f64.js";import{z as s}from"../../../chunks/vec3f64.js";import{p as n}from"../../../chunks/mat4.js";function h(t,a,s){const[n,h,o,i]=a,[c,r,z,u]=s;return M(t,n,h,o,i,c,r,z,u)}function M(t,s,h,M,i,c,r,z,u){let e=!1;0===s.z&&0===h.z&&0===M.z&&0===i.z&&(s.z=h.z=M.z=i.z=1,t.z=1),s.z=s.z??1,h.z=h.z??1,M.z=M.z??1,i.z=i.z??1,0===c.z&&0===r.z&&0===z.z&&0===u.z&&(e=!0,c.z=r.z=z.z=u.z=1),c.z=c.z??1,r.z=r.z??1,z.z=z.z??1,u.z=u.z??1;const x=o(s,h,M,i),m=o(c,r,z,u),y=n(a(),x),f=a();f[0]=m[0]*y[0]+m[1]*y[4]+m[2]*y[8]+m[3]*y[12],f[1]=m[0]*y[1]+m[1]*y[5]+m[2]*y[9]+m[3]*y[13],f[2]=m[0]*y[2]+m[1]*y[6]+m[2]*y[10]+m[3]*y[14],f[3]=m[0]*y[3]+m[1]*y[7]+m[2]*y[11]+m[3]*y[15],f[4]=m[4]*y[0]+m[5]*y[4]+m[6]*y[8]+m[7]*y[12],f[5]=m[4]*y[1]+m[5]*y[5]+m[6]*y[9]+m[7]*y[13],f[6]=m[4]*y[2]+m[5]*y[6]+m[6]*y[10]+m[7]*y[14],f[7]=m[4]*y[3]+m[5]*y[7]+m[6]*y[11]+m[7]*y[15],f[8]=m[8]*y[0]+m[9]*y[4]+m[10]*y[8]+m[11]*y[12],f[9]=m[8]*y[1]+m[9]*y[5]+m[10]*y[9]+m[11]*y[13],f[10]=m[8]*y[2]+m[9]*y[6]+m[10]*y[10]+m[11]*y[14],f[11]=m[8]*y[3]+m[9]*y[7]+m[10]*y[11]+m[11]*y[15],f[12]=m[12]*y[0]+m[13]*y[4]+m[14]*y[8]+m[15]*y[12],f[13]=m[12]*y[1]+m[13]*y[5]+m[14]*y[9]+m[15]*y[13],f[14]=m[12]*y[2]+m[13]*y[6]+m[14]*y[10]+m[15]*y[14],f[15]=m[12]*y[3]+m[13]*y[7]+m[14]*y[11]+m[15]*y[15];const b=f[0]*t.x+f[1]*t.y+f[2]*t.z+f[3],q=f[4]*t.x+f[5]*t.y+f[6]*t.z+f[7],N=f[8]*t.x+f[9]*t.y+f[10]*t.z+f[11];let p=f[12]*t.x+f[13]*t.y+f[14]*t.z+f[15];return 0===p&&(p=1),{x:b/p,y:q/p,z:e?0:N/p}}function o(t,a,s,h){const M=z([h.x,h.y,h.z,1],n(new Array(16),[t.x,a.x,s.x,0,t.y,a.y,s.y,0,t.z,a.z,s.z,0,1,1,1,1])),o=M[0],i=M[1],c=M[2],r=new Array(16);return r[0]=o*t.x,r[1]=i*a.x,r[2]=c*s.x,r[3]=0,r[4]=o*t.y,r[5]=i*a.y,r[6]=c*s.y,r[7]=0,r[8]=o*t.z,r[9]=i*a.z,r[10]=c*s.z,r[11]=0,r[12]=o,r[13]=i,r[14]=c,r[15]=1,r}function i(t,a,n,h){const M=s();return M[0]=t[0]+a[0]*n,M[1]=t[1]+a[1]*n,M[2]=t[2]+a[2]*(n/h),M}function c(t,a,n){const h=s();return h[0]=t[0]*a,h[1]=t[1]*a,h[2]=t[2]*(a/n),h}function r(t,a){const[n,h,M]=t,o=s();return o[0]=n*a[0]+h*a[3]+M*a[6],o[1]=n*a[1]+h*a[4]+M*a[7],o[2]=n*a[2]+h*a[5]+M*a[8],o}function z(t,a){const[s,n,h,M]=t,o=new Array(4);return o[0]=s*a[0]+n*a[1]+h*a[2]+M*a[3],o[1]=s*a[4]+n*a[5]+h*a[6]+M*a[7],o[2]=s*a[8]+n*a[9]+h*a[10]+M*a[11],o[3]=s*a[12]+n*a[13]+h*a[14]+M*a[15],o}function u(a,s){const n=Math.PI/180,h=t();if("OPK"===a){const t=Number(s[0])*n,a=Number(s[1])*n,M=Number(s[2])*n;h[0]=Math.cos(a)*Math.cos(M),h[1]=Math.cos(t)*Math.sin(M)+Math.sin(t)*Math.sin(a)*Math.cos(M),h[2]=Math.sin(t)*Math.sin(M)-Math.cos(t)*Math.sin(a)*Math.cos(M),h[3]=-Math.cos(a)*Math.sin(M),h[4]=Math.cos(t)*Math.cos(M)-Math.sin(t)*Math.sin(a)*Math.sin(M),h[5]=Math.sin(t)*Math.cos(M)+Math.cos(t)*Math.sin(a)*Math.sin(M),h[6]=Math.sin(a),h[7]=-Math.sin(t)*Math.cos(a),h[8]=Math.cos(t)*Math.cos(a)}else{const t=Number(s[0])*n,a=Number(s[1])*n,M=Number(s[2])*n;h[0]=Math.cos(t)*Math.cos(M)-Math.sin(t)*Math.cos(a)*Math.sin(M),h[1]=Math.sin(t)*Math.cos(M)*-1-Math.cos(t)*Math.cos(a)*Math.sin(M),h[2]=Math.sin(M)*Math.sin(a)*-1,h[3]=Math.cos(t)*Math.sin(M)+Math.sin(t)*Math.cos(a)*Math.cos(M),h[4]=Math.sin(t)*Math.sin(M)*-1+Math.cos(t)*Math.cos(a)*Math.cos(M),h[5]=Math.cos(M)*Math.sin(a),h[6]=Math.sin(t)*Math.sin(a)*-1,h[7]=Math.cos(t)*Math.sin(a)*-1,h[8]=Math.cos(a)}return h}function e(t,a,s){const n=Math.sin(s*Math.PI/180),h=Math.cos(s*Math.PI/180),M=[[t,0],[t,a],[0,a]];M.forEach(((t,a)=>{M[a]=[h*t[0]-n*t[1],n*t[0]+h*t[1]]}));const o={xmin:Math.min(0,M[0][0],M[1][0],M[2][0]),xmax:Math.max(0,M[0][0],M[1][0],M[2][0]),ymin:Math.min(0,M[0][1],M[1][1],M[2][1]),ymax:Math.max(0,M[0][1],M[1][1],M[2][1])};return{hfov:Math.abs(o.xmax-o.xmin),vfov:Math.abs(o.ymax-o.ymin)}}function x(t,a,s,n,h,M){const o=s*(a.x-t.x)+n*(a.y-t.y)+h*(a.z-t.z);if(0===o)return null;const i=-(s*t.x+n*t.y+h*t.z+M)/o;return{x:t.x+i*(a.x-t.x),y:t.y+i*(a.y-t.y),z:t.z+i*(a.z-t.z)}}function m(t,a){const s=Math.PI/180,n=t.y*s,h=t.x*s,M=t.z||0,o=a[0]*s,i=a[1]*s,c=a[2]/Math.sqrt(1-a[3]*Math.sin(o)**2),r=h-i,z=a[2]/Math.sqrt(1-a[3]*Math.sin(n)**2),u=a[3]*(c*Math.sin(o)-z*Math.sin(n));return{x:(z+M)*Math.cos(n)*Math.sin(r),y:(z+M)*(Math.sin(n)*Math.cos(o)-Math.sin(o)*Math.cos(n)*Math.cos(r))+u*Math.cos(o),z:(z+M)*(Math.sin(n)*Math.sin(o)+Math.cos(o)*Math.cos(n)*Math.cos(r))-c+u*Math.sin(o)}}function y(t,a){const s=Math.PI/180,n=Number(t.x),h=Number(t.y),M=Number(t.z),o=a[0]*s,i=a[1]*s,c=a[2]/Math.sqrt(1-a[3]*Math.sin(o)**2),r=n/c,z=h/c,u=M/c,e=Math.cos(o)-Math.sin(o)*z+Math.cos(o)*u,x=Math.sin(o)+Math.cos(o)*z+Math.sin(o)*u,m=Math.sqrt(e**2+r**2),y=a[3]*c*Math.sin(o),f=o,b=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(f)**2))*Math.sin(f))/(c*m)),q=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(b)**2))*Math.sin(b))/(c*m)),N=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(q)**2))*Math.sin(q))/(c*m)),p=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(N)**2))*Math.sin(N))/(c*m)),l=Math.atan(n/(c*e))+i;return{x:l/s,y:p/s,z:n/(Math.cos(p)*Math.sin(l-i))-a[2]/Math.sqrt(1-a[3]*Math.sin(p)**2),spatialReference:{wkid:4326}}}export{u as calculateRotationMatrix,e as computeHFOVAndVFOV,m as geographicToLTP,x as getPlaneLineIntersectionPoint,o as linearEquationSolve,y as ltpToGeographic,M as projectiveTransform,h as projectiveTransform2,i as scaleAndAddWithFactor,c as scaleWithFactor,r as transformMat3,z as transformMat4};
5
+ import{a as t}from"../../../chunks/mat3f64.js";import{a}from"../../../chunks/mat4f64.js";import{z as s}from"../../../chunks/vec3f64.js";import{p as n}from"../../../chunks/mat4.js";function h(t,a,s){const[n,h,o,i]=a,[c,r,z,u]=s;return M(t,n,h,o,i,c,r,z,u)}function M(t,s,h,M,i,c,r,z,u){let e=!1;0===s.z&&0===h.z&&0===M.z&&0===i.z&&(s.z=h.z=M.z=i.z=1,t.z=1),s.z=s.z??1,h.z=h.z??1,M.z=M.z??1,i.z=i.z??1,0===c.z&&0===r.z&&0===z.z&&0===u.z&&(e=!0,c.z=r.z=z.z=u.z=1),c.z=c.z??1,r.z=r.z??1,z.z=z.z??1,u.z=u.z??1;const x=o(s,h,M,i),m=o(c,r,z,u),y=n(a(),x),f=a();f[0]=m[0]*y[0]+m[1]*y[4]+m[2]*y[8]+m[3]*y[12],f[1]=m[0]*y[1]+m[1]*y[5]+m[2]*y[9]+m[3]*y[13],f[2]=m[0]*y[2]+m[1]*y[6]+m[2]*y[10]+m[3]*y[14],f[3]=m[0]*y[3]+m[1]*y[7]+m[2]*y[11]+m[3]*y[15],f[4]=m[4]*y[0]+m[5]*y[4]+m[6]*y[8]+m[7]*y[12],f[5]=m[4]*y[1]+m[5]*y[5]+m[6]*y[9]+m[7]*y[13],f[6]=m[4]*y[2]+m[5]*y[6]+m[6]*y[10]+m[7]*y[14],f[7]=m[4]*y[3]+m[5]*y[7]+m[6]*y[11]+m[7]*y[15],f[8]=m[8]*y[0]+m[9]*y[4]+m[10]*y[8]+m[11]*y[12],f[9]=m[8]*y[1]+m[9]*y[5]+m[10]*y[9]+m[11]*y[13],f[10]=m[8]*y[2]+m[9]*y[6]+m[10]*y[10]+m[11]*y[14],f[11]=m[8]*y[3]+m[9]*y[7]+m[10]*y[11]+m[11]*y[15],f[12]=m[12]*y[0]+m[13]*y[4]+m[14]*y[8]+m[15]*y[12],f[13]=m[12]*y[1]+m[13]*y[5]+m[14]*y[9]+m[15]*y[13],f[14]=m[12]*y[2]+m[13]*y[6]+m[14]*y[10]+m[15]*y[14],f[15]=m[12]*y[3]+m[13]*y[7]+m[14]*y[11]+m[15]*y[15];const b=f[0]*t.x+f[1]*t.y+f[2]*t.z+f[3],q=f[4]*t.x+f[5]*t.y+f[6]*t.z+f[7],N=f[8]*t.x+f[9]*t.y+f[10]*t.z+f[11];let p=f[12]*t.x+f[13]*t.y+f[14]*t.z+f[15];return 0===p&&(p=1),{x:b/p,y:q/p,z:e?0:N/p}}function o(t,a,s,h){const M=z([h.x,h.y,h.z,1],n(new Array(16),[t.x,a.x,s.x,0,t.y,a.y,s.y,0,t.z,a.z,s.z,0,1,1,1,1])),o=M[0],i=M[1],c=M[2],r=new Array(16);return r[0]=o*t.x,r[1]=i*a.x,r[2]=c*s.x,r[3]=0,r[4]=o*t.y,r[5]=i*a.y,r[6]=c*s.y,r[7]=0,r[8]=o*t.z,r[9]=i*a.z,r[10]=c*s.z,r[11]=0,r[12]=o,r[13]=i,r[14]=c,r[15]=1,r}function i(t,a,n,h){const M=s();return M[0]=t[0]+a[0]*n,M[1]=t[1]+a[1]*n,M[2]=t[2]+a[2]*(n/h),M}function c(t,a,n){const h=s();return h[0]=t[0]*a,h[1]=t[1]*a,h[2]=t[2]*(a/n),h}function r(t,a){const[n,h,M]=t,o=s();return o[0]=n*a[0]+h*a[3]+M*a[6],o[1]=n*a[1]+h*a[4]+M*a[7],o[2]=n*a[2]+h*a[5]+M*a[8],o}function z(t,a){const[s,n,h,M]=t,o=new Array(4);return o[0]=s*a[0]+n*a[1]+h*a[2]+M*a[3],o[1]=s*a[4]+n*a[5]+h*a[6]+M*a[7],o[2]=s*a[8]+n*a[9]+h*a[10]+M*a[11],o[3]=s*a[12]+n*a[13]+h*a[14]+M*a[15],o}function u(a,s){const n=Math.PI/180,h=t();if("OPK"===a){const t=Number(s[0])*n,a=Number(s[1])*n,M=Number(s[2])*n;h[0]=Math.cos(a)*Math.cos(M),h[1]=Math.cos(t)*Math.sin(M)+Math.sin(t)*Math.sin(a)*Math.cos(M),h[2]=Math.sin(t)*Math.sin(M)-Math.cos(t)*Math.sin(a)*Math.cos(M),h[3]=-Math.cos(a)*Math.sin(M),h[4]=Math.cos(t)*Math.cos(M)-Math.sin(t)*Math.sin(a)*Math.sin(M),h[5]=Math.sin(t)*Math.cos(M)+Math.cos(t)*Math.sin(a)*Math.sin(M),h[6]=Math.sin(a),h[7]=-Math.sin(t)*Math.cos(a),h[8]=Math.cos(t)*Math.cos(a)}else{const t=Number(s[0])*n,a=Number(s[1])*n,M=Number(s[2])*n;h[0]=Math.cos(t)*Math.cos(M)-Math.sin(t)*Math.cos(a)*Math.sin(M),h[1]=Math.sin(t)*Math.cos(M)*-1-Math.cos(t)*Math.cos(a)*Math.sin(M),h[2]=Math.sin(M)*Math.sin(a)*-1,h[3]=Math.cos(t)*Math.sin(M)+Math.sin(t)*Math.cos(a)*Math.cos(M),h[4]=Math.sin(t)*Math.sin(M)*-1+Math.cos(t)*Math.cos(a)*Math.cos(M),h[5]=Math.cos(M)*Math.sin(a),h[6]=Math.sin(t)*Math.sin(a)*-1,h[7]=Math.cos(t)*Math.sin(a)*-1,h[8]=Math.cos(a)}return h}function e(t,a,s){const n=Math.sin(s*Math.PI/180),h=Math.cos(s*Math.PI/180),M=[[t,0],[t,a],[0,a]];M.forEach(((t,a)=>{M[a]=[h*t[0]-n*t[1],n*t[0]+h*t[1]]}));const o={xmin:Math.min(0,M[0][0],M[1][0],M[2][0]),xmax:Math.max(0,M[0][0],M[1][0],M[2][0]),ymin:Math.min(0,M[0][1],M[1][1],M[2][1]),ymax:Math.max(0,M[0][1],M[1][1],M[2][1])};return{hfov:Math.abs(o.xmax-o.xmin),vfov:Math.abs(o.ymax-o.ymin)}}function x(t,a,s,n,h,M){const o=s*(a.x-t.x)+n*(a.y-t.y)+h*(a.z-t.z);if(0===o)return null;const i=-(s*t.x+n*t.y+h*t.z+M)/o;return{x:t.x+i*(a.x-t.x),y:t.y+i*(a.y-t.y),z:t.z+i*(a.z-t.z)}}function m(t,a){const s=Math.PI/180,n=t.y*s,h=t.x*s,M=t.z||0,o=a[0]*s,i=a[1]*s,c=a[2]/Math.sqrt(1-a[3]*Math.sin(o)**2),r=h-i,z=a[2]/Math.sqrt(1-a[3]*Math.sin(n)**2),u=a[3]*(c*Math.sin(o)-z*Math.sin(n));return{x:(z+M)*Math.cos(n)*Math.sin(r),y:(z+M)*(Math.sin(n)*Math.cos(o)-Math.sin(o)*Math.cos(n)*Math.cos(r))+u*Math.cos(o),z:(z+M)*(Math.sin(n)*Math.sin(o)+Math.cos(o)*Math.cos(n)*Math.cos(r))-c+u*Math.sin(o)}}function y(t,a){const s=Math.PI/180,n=Number(t.x),h=Number(t.y),M=Number(t.z),o=a[0]*s,i=a[1]*s,c=a[2]/Math.sqrt(1-a[3]*Math.sin(o)**2),r=n/c,z=h/c,u=M/c,e=Math.cos(o)-Math.sin(o)*z+Math.cos(o)*u,x=Math.sin(o)+Math.cos(o)*z+Math.sin(o)*u,m=Math.sqrt(e**2+r**2),y=a[3]*c*Math.sin(o),f=o,b=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(f)**2))*Math.sin(f))/(c*m)),q=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(b)**2))*Math.sin(b))/(c*m)),N=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(q)**2))*Math.sin(q))/(c*m)),p=Math.atan(x/m-(y-a[3]*(a[2]/Math.sqrt(1-a[3]*Math.sin(N)**2))*Math.sin(N))/(c*m)),l=Math.atan(n/(c*e))+i;return{x:l/s,y:p/s,z:n/(Math.cos(p)*Math.sin(l-i))-a[2]/Math.sqrt(1-a[3]*Math.sin(p)**2),spatialReference:{wkid:4326}}}export{u as calculateRotationMatrix,e as computeHFOVAndVFOV,m as geographicToLTP,x as getPlaneLineIntersectionPoint,o as linearEquationSolve,y as ltpToGeographic,M as projectiveTransform,h as projectiveTransform2,i as scaleAndAddWithFactor,c as scaleWithFactor,r as transformMat3,z as transformMat4};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import r from"../../core/Error.js";import{JSONSupportMixin as n}from"../../core/JSONSupport.js";import e from"../../core/Logger.js";import{transformProjective as i,getProjectiveTransform as s}from"../../core/perspectiveUtils.js";import{createScreenPoint as l}from"../../core/screenUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as u}from"../../core/accessorSupport/decorators/writer.js";import{e as m}from"../../chunks/mat3.js";import{f,c as P}from"../../chunks/mat3f64.js";import{s as h,r as y,l as d}from"../../chunks/vec2.js";import{a as g,f as j}from"../../chunks/vec2f64.js";import w from"../../geometry/Point.js";import v from"../../geometry/Polygon.js";import{projectOrLoad as R}from"../../geometry/projection.js";import x from"../../geometry/SpatialReference.js";import S from"./GeoreferenceBase.js";const C=P(),T=g();let _=class extends t{constructor(){super(...arguments),this.sourcePoint=null,this.mapPoint=null}};o([c()],_.prototype,"sourcePoint",void 0),o([c({type:w})],_.prototype,"mapPoint",void 0),_=o([p("esri.layers.support.ControlPoint")],_);let O=class extends(n(S)){constructor(o){super(o),this.controlPoints=null,this.height=0,this.type="control-points",this.width=0}readControlPoints(o,t){const r=x.fromJSON(t.spatialReference),n=f(...t.coefficients,1);return o.map((o=>(h(T,o.x,o.y),i(T,T,n),{sourcePoint:o,mapPoint:new w({x:T[0],y:T[1],spatialReference:r})})))}writeControlPoints(o,t,n,i){if(null!=this.transform)null!=o&&k(o[0])&&(t.controlPoints=o.map((o=>{const t=o.sourcePoint;return{x:t.x,y:t.y}})),t.spatialReference=o[0].mapPoint.spatialReference.toJSON(),t.coefficients=this.transform.slice(0,8));else{const o=new r("web-document-write:invalid-georeference","Invalid 'controlPoints', 'width', 'height' configuration.",{layer:i?.layer,georeference:this});i?.messages?i.messages.push(o):e.getLogger(this).error(o.name,o.message)}}get coords(){if(null==this.controlPoints)return null;const o=this._updateTransform(C);if(null==o||!k(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return K(o,this.width,this.height,t)}set coords(o){if(null==this.controlPoints||!k(this.controlPoints[0]))return;const t=this.controlPoints[0].mapPoint.spatialReference;if(null==(o=this.projectOrWarn(o,t)))return;const{width:r,height:n}=this,{rings:[[e,s,c,a]]}=o,p={sourcePoint:l(0,n),mapPoint:new w({x:e[0],y:e[1],spatialReference:t})},u={sourcePoint:l(0,0),mapPoint:new w({x:s[0],y:s[1],spatialReference:t})},m={sourcePoint:l(r,0),mapPoint:new w({x:c[0],y:c[1],spatialReference:t})},f={sourcePoint:l(r,n),mapPoint:new w({x:a[0],y:a[1],spatialReference:t})};k(p)&&k(u)&&k(m)&&k(f)&&(E(C,p,u,m,f),this.controlPoints=this.controlPoints.map((({sourcePoint:o})=>(h(T,o.x,o.y),i(T,T,C),{sourcePoint:o,mapPoint:new w({x:T[0],y:T[1],spatialReference:t})}))))}get inverseTransform(){return null==this.transform?null:m(P(),this.transform)}get transform(){return this._updateTransform()}toMap(o){if(null==o||null==this.transform||null==this.controlPoints||!k(this.controlPoints[0]))return null;h(T,o.x,o.y);const t=this.controlPoints[0].mapPoint.spatialReference;return i(T,T,this.transform),new w({x:T[0],y:T[1],spatialReference:t})}toSource(o){if(null==o||null==this.inverseTransform||null==this.controlPoints||!k(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return o=o.normalize(),null==(o=R(o,t).geometry)?null:(h(T,o.x,o.y),i(T,T,this.inverseTransform),l(T[0],T[1]))}_updateTransform(o){const{controlPoints:t,width:r,height:n}=this;if(!(null!=t&&r>0&&n>0))return null;const[e,i,s,l]=t;if(!k(e))return null;const c=e.mapPoint.spatialReference,a=this._projectControlPoint(i,c),p=this._projectControlPoint(s,c),u=this._projectControlPoint(l,c);if(!a.valid||!p.valid||!u.valid)return null;if(!k(a.controlPoint))return null;null==o&&(o=P());let m=null;return m=k(p.controlPoint)&&k(u.controlPoint)?E(o,e,a.controlPoint,p.controlPoint,u.controlPoint):k(p.controlPoint)?B(o,e,a.controlPoint,p.controlPoint):z(o,e,a.controlPoint),m.every((o=>0===o))?null:m}_projectControlPoint(o,t){if(!k(o))return{valid:!0,controlPoint:o};const{sourcePoint:r,mapPoint:n}=o,{geometry:i,pending:s}=R(n,t);return s?{valid:!1,controlPoint:null}:s||i?{valid:!0,controlPoint:{sourcePoint:r,mapPoint:i}}:(e.getLogger(this).warn("map point could not be projected to the spatial reference",{georeference:this,controlPoint:o,sourceSpatialReference:n.spatialReference,targetSpatialReference:t}),{valid:!1,controlPoint:null})}};function k(o){return null!=o&&null!=o.sourcePoint&&null!=o.mapPoint}o([c({type:[_],json:{write:{allowNull:!1,isRequired:!0}}})],O.prototype,"controlPoints",void 0),o([a("controlPoints")],O.prototype,"readControlPoints",null),o([u("controlPoints")],O.prototype,"writeControlPoints",null),o([c()],O.prototype,"coords",null),o([c({json:{write:!0}})],O.prototype,"height",void 0),o([c({readOnly:!0})],O.prototype,"inverseTransform",null),o([c({readOnly:!0})],O.prototype,"transform",null),o([c({json:{write:!0}})],O.prototype,"width",void 0),O=o([p("esri.layers.support.ControlPointsGeoreference")],O);const b=g(),I=g(),M=g(),N=g(),A=g(),J=g(),L=g(),U=g(),G=Math.PI/2;function q(o,t,r){h(o,r.sourcePoint.x,r.sourcePoint.y),h(t,r.mapPoint.x,r.mapPoint.y)}function z(o,t,r){return q(b,A,t),q(I,J,r),y(M,I,b,G),y(N,b,I,G),y(L,J,A,-G),y(U,A,J,-G),H(o,b,I,M,N,A,J,L,U)}function B(o,t,r,n){return q(b,A,t),q(I,J,r),q(M,L,n),d(N,b,I,.5),y(N,M,N,Math.PI),d(U,A,J,.5),y(U,L,U,Math.PI),H(o,b,I,M,N,A,J,L,U)}function E(o,t,r,n,e){return q(b,A,t),q(I,J,r),q(M,L,n),q(N,U,e),H(o,b,I,M,N,A,J,L,U)}const W=new Array(8).fill(0),D=new Array(8).fill(0);function F(o,t,r,n,e){return o[0]=t[0],o[1]=t[1],o[2]=r[0],o[3]=r[1],o[4]=n[0],o[5]=n[1],o[6]=e[0],o[7]=e[1],o}function H(o,t,r,n,e,i,l,c,a){return s(o,F(W,t,r,n,e),F(D,i,l,c,a))}function K(o,t,r,n){const e=j(0,r),s=j(0,0),l=j(t,0),c=j(t,r);return i(e,e,o),i(s,s,o),i(l,l,o),i(c,c,o),new v({rings:[[e,s,l,c,e]],spatialReference:n})}const Q=O;export{Q as default};
5
+ import{_ as o}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import r from"../../core/Error.js";import{JSONSupportMixin as n}from"../../core/JSONSupport.js";import e from"../../core/Logger.js";import{transformProjective as i,getProjectiveTransform as s}from"../../core/perspectiveUtils.js";import{createScreenPoint as l}from"../../core/screenUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{writer as u}from"../../core/accessorSupport/decorators/writer.js";import{d as m}from"../../chunks/mat3.js";import{f,a as P}from"../../chunks/mat3f64.js";import{s as h,r as y,l as d}from"../../chunks/vec2.js";import{a as g,f as j}from"../../chunks/vec2f64.js";import w from"../../geometry/Point.js";import v from"../../geometry/Polygon.js";import{projectOrLoad as R}from"../../geometry/projection.js";import x from"../../geometry/SpatialReference.js";import S from"./GeoreferenceBase.js";const C=P(),T=g();let _=class extends t{constructor(){super(...arguments),this.sourcePoint=null,this.mapPoint=null}};o([c()],_.prototype,"sourcePoint",void 0),o([c({type:w})],_.prototype,"mapPoint",void 0),_=o([p("esri.layers.support.ControlPoint")],_);let O=class extends(n(S)){constructor(o){super(o),this.controlPoints=null,this.height=0,this.type="control-points",this.width=0}readControlPoints(o,t){const r=x.fromJSON(t.spatialReference),n=f(...t.coefficients,1);return o.map((o=>(h(T,o.x,o.y),i(T,T,n),{sourcePoint:o,mapPoint:new w({x:T[0],y:T[1],spatialReference:r})})))}writeControlPoints(o,t,n,i){if(null!=this.transform)null!=o&&k(o[0])&&(t.controlPoints=o.map((o=>{const t=o.sourcePoint;return{x:t.x,y:t.y}})),t.spatialReference=o[0].mapPoint.spatialReference.toJSON(),t.coefficients=this.transform.slice(0,8));else{const o=new r("web-document-write:invalid-georeference","Invalid 'controlPoints', 'width', 'height' configuration.",{layer:i?.layer,georeference:this});i?.messages?i.messages.push(o):e.getLogger(this).error(o.name,o.message)}}get coords(){if(null==this.controlPoints)return null;const o=this._updateTransform(C);if(null==o||!k(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return K(o,this.width,this.height,t)}set coords(o){if(null==this.controlPoints||!k(this.controlPoints[0]))return;const t=this.controlPoints[0].mapPoint.spatialReference;if(null==(o=this.projectOrWarn(o,t)))return;const{width:r,height:n}=this,{rings:[[e,s,c,a]]}=o,p={sourcePoint:l(0,n),mapPoint:new w({x:e[0],y:e[1],spatialReference:t})},u={sourcePoint:l(0,0),mapPoint:new w({x:s[0],y:s[1],spatialReference:t})},m={sourcePoint:l(r,0),mapPoint:new w({x:c[0],y:c[1],spatialReference:t})},f={sourcePoint:l(r,n),mapPoint:new w({x:a[0],y:a[1],spatialReference:t})};k(p)&&k(u)&&k(m)&&k(f)&&(E(C,p,u,m,f),this.controlPoints=this.controlPoints.map((({sourcePoint:o})=>(h(T,o.x,o.y),i(T,T,C),{sourcePoint:o,mapPoint:new w({x:T[0],y:T[1],spatialReference:t})}))))}get inverseTransform(){return null==this.transform?null:m(P(),this.transform)}get transform(){return this._updateTransform()}toMap(o){if(null==o||null==this.transform||null==this.controlPoints||!k(this.controlPoints[0]))return null;h(T,o.x,o.y);const t=this.controlPoints[0].mapPoint.spatialReference;return i(T,T,this.transform),new w({x:T[0],y:T[1],spatialReference:t})}toSource(o){if(null==o||null==this.inverseTransform||null==this.controlPoints||!k(this.controlPoints[0]))return null;const t=this.controlPoints[0].mapPoint.spatialReference;return o=o.normalize(),null==(o=R(o,t).geometry)?null:(h(T,o.x,o.y),i(T,T,this.inverseTransform),l(T[0],T[1]))}_updateTransform(o){const{controlPoints:t,width:r,height:n}=this;if(!(null!=t&&r>0&&n>0))return null;const[e,i,s,l]=t;if(!k(e))return null;const c=e.mapPoint.spatialReference,a=this._projectControlPoint(i,c),p=this._projectControlPoint(s,c),u=this._projectControlPoint(l,c);if(!a.valid||!p.valid||!u.valid)return null;if(!k(a.controlPoint))return null;null==o&&(o=P());let m=null;return m=k(p.controlPoint)&&k(u.controlPoint)?E(o,e,a.controlPoint,p.controlPoint,u.controlPoint):k(p.controlPoint)?B(o,e,a.controlPoint,p.controlPoint):z(o,e,a.controlPoint),m.every((o=>0===o))?null:m}_projectControlPoint(o,t){if(!k(o))return{valid:!0,controlPoint:o};const{sourcePoint:r,mapPoint:n}=o,{geometry:i,pending:s}=R(n,t);return s?{valid:!1,controlPoint:null}:s||i?{valid:!0,controlPoint:{sourcePoint:r,mapPoint:i}}:(e.getLogger(this).warn("map point could not be projected to the spatial reference",{georeference:this,controlPoint:o,sourceSpatialReference:n.spatialReference,targetSpatialReference:t}),{valid:!1,controlPoint:null})}};function k(o){return null!=o&&null!=o.sourcePoint&&null!=o.mapPoint}o([c({type:[_],json:{write:{allowNull:!1,isRequired:!0}}})],O.prototype,"controlPoints",void 0),o([a("controlPoints")],O.prototype,"readControlPoints",null),o([u("controlPoints")],O.prototype,"writeControlPoints",null),o([c()],O.prototype,"coords",null),o([c({json:{write:!0}})],O.prototype,"height",void 0),o([c({readOnly:!0})],O.prototype,"inverseTransform",null),o([c({readOnly:!0})],O.prototype,"transform",null),o([c({json:{write:!0}})],O.prototype,"width",void 0),O=o([p("esri.layers.support.ControlPointsGeoreference")],O);const b=g(),I=g(),M=g(),N=g(),A=g(),J=g(),L=g(),U=g(),G=Math.PI/2;function q(o,t,r){h(o,r.sourcePoint.x,r.sourcePoint.y),h(t,r.mapPoint.x,r.mapPoint.y)}function z(o,t,r){return q(b,A,t),q(I,J,r),y(M,I,b,G),y(N,b,I,G),y(L,J,A,-G),y(U,A,J,-G),H(o,b,I,M,N,A,J,L,U)}function B(o,t,r,n){return q(b,A,t),q(I,J,r),q(M,L,n),d(N,b,I,.5),y(N,M,N,Math.PI),d(U,A,J,.5),y(U,L,U,Math.PI),H(o,b,I,M,N,A,J,L,U)}function E(o,t,r,n,e){return q(b,A,t),q(I,J,r),q(M,L,n),q(N,U,e),H(o,b,I,M,N,A,J,L,U)}const W=new Array(8).fill(0),D=new Array(8).fill(0);function F(o,t,r,n,e){return o[0]=t[0],o[1]=t[1],o[2]=r[0],o[3]=r[1],o[4]=n[0],o[5]=n[1],o[6]=e[0],o[7]=e[1],o}function H(o,t,r,n,e,i,l,c,a){return s(o,F(W,t,r,n,e),F(D,i,l,c,a))}function K(o,t,r,n){const e=j(0,r),s=j(0,0),l=j(t,0),c=j(t,r);return i(e,e,o),i(s,s,o),i(l,l,o),i(c,c,o),new v({rings:[[e,s,l,c,e]],spatialReference:n})}const Q=O;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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Error.js";import{getImageData as o}from"../../core/imageUtils.js";import{isDataProtocol as s,isBlobProtocol as i,isAbsolute as n,dataToBlob as a,join as m}from"../../core/urlUtils.js";import{generateUUID as p}from"../../core/uuid.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as l}from"../../core/accessorSupport/decorators/reader.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../../core/accessorSupport/decorators/writer.js";import f from"./MediaElementBase.js";import{getResourceContentExtension as g}from"../../portal/support/resourceExtension.js";import{f as h,t as y,i as v,M as j}from"../../chunks/persistableUrlUtils.js";let I=class extends f{constructor(e){super(e),this.animationOptions=null,this.content=null,this.image=null,this.type="image",this.image=null}load(){const e=this.image;if("string"==typeof e){const t=o(e).then((e=>{this._set("content",e)}));this.addResolvingPromise(t)}else if(e instanceof HTMLImageElement){const t=e.decode().then((()=>{this._set("content",e)}));this.addResolvingPromise(t)}else e?this._set("content",e):this.addResolvingPromise(Promise.reject(new r("image-element:invalid-image-type","Invalid image type",{image:e})));return Promise.resolve(this)}readImage(e,t,r){return h(t.url,r)}writeImage(e,t,r,o){if(null==e)return;const a=o?.portalItem,m=o?.resources;if(!a||!m)return void("string"==typeof e&&(t[r]=y(e,o)));const p="string"!=typeof e||s(e)||i(e)?null:e;if(p){if(null==v(p))return void(t[r]=p);const e=y(p,{...o,verifyItemRelativeUrls:o&&o.verifyItemRelativeUrls?{writtenUrls:o.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},j.NO);if(a&&e&&!n(e))return m.toKeep.push({resource:a.resourceFromPath(e),compress:!1}),void(t[r]=e)}t[r]="<pending>",m.pendingOperations.push(U(e).then((e=>{const o=P(e,a);t[r]=o.itemRelativeUrl,m.toAdd.push({resource:o,content:e,compress:!1,finish:e=>{this.image=e.url}})})))}};e([c()],I.prototype,"animationOptions",void 0),e([c({readOnly:!0})],I.prototype,"content",void 0),e([c({json:{name:"url",type:String}})],I.prototype,"image",void 0),e([l("image",["url"])],I.prototype,"readImage",null),e([d("image")],I.prototype,"writeImage",null),e([c({readOnly:!0,json:{name:"mediaType"}})],I.prototype,"type",void 0),I=e([u("esri.layers.support.ImageElement")],I);const w=I;async function U(e){if("string"==typeof e){if(i(e)){const{data:r}=await t(e,{responseType:"blob"});return r}if(s(e))return a(e);return U((await t(e,{responseType:"image"})).data)}return new Promise((t=>E(e).toBlob(t)))}function E(e){if(e instanceof HTMLCanvasElement)return e;const t=e instanceof HTMLImageElement?e.naturalWidth:e.width,r=e instanceof HTMLImageElement?e.naturalHeight:e.height,o=document.createElement("canvas"),s=o.getContext("2d");return o.width=t,o.height=r,e instanceof HTMLImageElement?s.drawImage(e,0,0,e.width,e.height):e instanceof ImageData&&s.putImageData(e,0,0),o}function P(e,t){const r=p(),o=`${m("media",r)}.${g(e)}`;return t.resourceFromPath(o)}export{w as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../request.js";import r from"../../core/Error.js";import{getImageData as o}from"../../core/imageUtils.js";import{isDataProtocol as s,isBlobProtocol as i,isAbsolute as n,dataToBlob as a,join as m}from"../../core/urlUtils.js";import{generateUUID as p}from"../../core/uuid.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{reader as c}from"../../core/accessorSupport/decorators/reader.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../../core/accessorSupport/decorators/writer.js";import f from"./MediaElementBase.js";import{getResourceContentExtension as g}from"../../portal/support/resourceExtension.js";import{f as h,t as y,i as v,M as j}from"../../chunks/persistableUrlUtils.js";let I=class extends f{constructor(e){super(e),this.animationOptions=null,this.content=null,this.image=null,this.type="image",this.image=null}load(){const e=this.image;if("string"==typeof e){const t=o(e).then((e=>{this._set("content",e)}));this.addResolvingPromise(t)}else if(e instanceof HTMLImageElement){const t=e.decode().then((()=>{this._set("content",e)}));this.addResolvingPromise(t)}else e?this._set("content",e):this.addResolvingPromise(Promise.reject(new r("image-element:invalid-image-type","Invalid image type",{image:e})));return Promise.resolve(this)}readImage(e,t,r){return h(t.url,r)}writeImage(e,t,r,o){if(null==e)return;const a=o?.portalItem,m=o?.resources;if(!a||!m)return void("string"==typeof e&&(t[r]=y(e,o)));const p="string"!=typeof e||s(e)||i(e)?null:e;if(p){if(null==v(p))return void(t[r]=p);const e=y(p,{...o,verifyItemRelativeUrls:o&&o.verifyItemRelativeUrls?{writtenUrls:o.verifyItemRelativeUrls.writtenUrls,rootPath:void 0}:void 0},j.NO);if(a&&e&&!n(e))return m.toKeep.push({resource:a.resourceFromPath(e),compress:!1}),void(t[r]=e)}t[r]="<pending>",m.pendingOperations.push(w(e).then((e=>{const o=E(e,a);t[r]=o.itemRelativeUrl,m.toAdd.push({resource:o,content:{type:"blob",blob:e},compress:!1,finish:e=>{this.image=e.url}})})))}};e([l()],I.prototype,"animationOptions",void 0),e([l({readOnly:!0})],I.prototype,"content",void 0),e([l({json:{name:"url",type:String}})],I.prototype,"image",void 0),e([c("image",["url"])],I.prototype,"readImage",null),e([d("image")],I.prototype,"writeImage",null),e([l({readOnly:!0,json:{name:"mediaType"}})],I.prototype,"type",void 0),I=e([u("esri.layers.support.ImageElement")],I);const b=I;async function w(e){if("string"==typeof e){if(i(e)){const{data:r}=await t(e,{responseType:"blob"});return r}if(s(e))return a(e);return w((await t(e,{responseType:"image"})).data)}return new Promise((t=>U(e).toBlob(t)))}function U(e){if(e instanceof HTMLCanvasElement)return e;const t=e instanceof HTMLImageElement?e.naturalWidth:e.width,r=e instanceof HTMLImageElement?e.naturalHeight:e.height,o=document.createElement("canvas"),s=o.getContext("2d");return o.width=t,o.height=r,e instanceof HTMLImageElement?s.drawImage(e,0,0,e.width,e.height):e instanceof ImageData&&s.putImageData(e,0,0),o}function E(e,t){const r=p(),o=`${m("media",r)}.${g({type:"blob",blob:e})}`;return t.resourceFromPath(o)}export{b 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../request.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{clone as s}from"../../core/lang.js";import{on as t,sync as i}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import{persistable as l}from"../../core/accessorSupport/decorators/persistable.js";import m from"./PolygonCollection.js";import{f as n}from"../../chunks/persistableUrlUtils.js";var u;let g=u=class extends o{constructor(e){super(e),this.spatialRelationship="disjoint",this.geometries=new m,this._geometriesSource=null}initialize(){this.addHandles(t((()=>this.geometries),"after-changes",(()=>this.geometries=this.geometries),i))}readGeometries(e,r,o){Array.isArray(e)?this.geometries=m.fromJSON(e,o):this._geometriesSource={url:n(e,o),context:o}}async loadGeometries(e,o){if(null==this._geometriesSource)return;const{url:s,context:t}=this._geometriesSource,i=await r(s,{responseType:"json",signal:o?.signal}),a=e.toJSON(),p=i.data.map((e=>({...e,spatialReference:a})));this.geometries=m.fromJSON(p,t),this._geometriesSource=null}clone(){const e=new u({geometries:s(this.geometries),spatialRelationship:this.spatialRelationship});return e._geometriesSource=this._geometriesSource,e}};e([a({type:["disjoint","contains"],nonNullable:!0,json:{write:!0}})],g.prototype,"spatialRelationship",void 0),e([a({type:m,nonNullable:!0,json:{write:!0}}),l({origins:["web-scene","portal-item"],type:"resource",prefix:"geometries"})],g.prototype,"geometries",void 0),e([p(["web-scene","portal-item"],"geometries")],g.prototype,"readGeometries",null),g=u=e([c("esri.layers.support.SceneFilter")],g);const h=g;export{h as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../request.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{clone as s}from"../../core/lang.js";import{on as t,sync as i}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import{persistable as n}from"../../core/accessorSupport/decorators/persistable.js";import l from"./PolygonCollection.js";import{f as m}from"../../chunks/persistableUrlUtils.js";var u;let g=u=class extends o{constructor(e){super(e),this.spatialRelationship="disjoint",this.geometries=new l,this._geometriesSource=null}initialize(){this.addHandles(t((()=>this.geometries),"after-changes",(()=>this.geometries=this.geometries),i))}readGeometries(e,r,o){Array.isArray(e)?this.geometries=l.fromJSON(e,o):this._geometriesSource={url:m(e,o),context:o}}async loadGeometries(e,o){if(null==this._geometriesSource)return;const{url:s,context:t}=this._geometriesSource,i=await r(s,{responseType:"json",signal:o?.signal}),a=e.toJSON(),p=i.data.map((e=>({...e,spatialReference:a})));this.geometries=l.fromJSON(p,t),this._geometriesSource=null}clone(){const e=new u({geometries:s(this.geometries),spatialRelationship:this.spatialRelationship});return e._geometriesSource=this._geometriesSource,e}};e([a({type:["disjoint","contains"],nonNullable:!0,json:{write:!0}})],g.prototype,"spatialRelationship",void 0),e([a({type:l,nonNullable:!0,json:{write:!0}}),n({origins:["web-scene","portal-item"],type:"resource",prefix:"geometries",contentAddressed:!0})],g.prototype,"geometries",void 0),e([p(["web-scene","portal-item"],"geometries")],g.prototype,"readGeometries",null),g=u=e([c("esri.layers.support.SceneFilter")],g);const h=g;export{h 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{id as e}from"../../kernel.js";import t from"../../request.js";function n(e){return a(e)||s(e)}function r(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}function i(e){return null!=e&&"object"==typeof e&&"type"in e&&"graphics"===e.type}function u(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-notes"===e.type&&"sublayers"in e}function s(e){return"scene"===e?.type}function a(e){const t=e?.type;return"imagery-tile"===t||"tile"===t||"open-street-map"===t||"vector-tile"===t||"web-tile"===t||"wmts"===t}function c(e){const t=e?.type;return"base-tile"===t||"tile"===t||"elevation"===t||"imagery-tile"===t||"base-elevation"===t||"open-street-map"===t||"wcs"===t||"web-tile"===t||"wmts"===t||"vector-tile"===t}function o(e){return null!=e&&"type"in e&&"group"===e.type}const l={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function f(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function p(e){return"voxel"===e?.type}function y(e){return"imagery-tile"===e?.type}function g(e){return null!=e&&null!=e.parent&&"declaredClass"in e.parent&&"esri.Basemap"===e.parent.declaredClass&&e.parent.baseLayers.includes(e)}function b(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function d(e){return("feature"===e?.type||"subtype-group"===e?.type)&&"feature-layer"===e.source?.type}function m(e){return"feature"===e?.type&&"feature-layer"===e.source?.type}function v(e){const t=/[:;]/,n=[];let r=!1;if(e&&(e.forEach(((e,i)=>{n.push([i,e]),!r&&t.test(e)&&(r=!0)})),n.length>0)){let e;if(r){const t={};n.forEach((e=>{t[e[0]]=e[1]})),e=JSON.stringify(t)}else{const t=[];n.forEach((e=>{t.push(e[0]+":"+e[1])})),e=t.join(";")}return e}return null}function h(e){if(!e)return;const t=[];return e.forEach(((e,n)=>{t.push('"'+n+'":'+JSON.stringify(e))})),t.length?"{"+t.join(",")+"}":void 0}function j(e){if(e.activeLayer){const t=e.activeLayer.tileMatrixSet;if(t)return t;const n=e.activeLayer.tileMatrixSets;if(n)return n}return null}async function w(n,r){const i=e?.findServerInfo(n);if(null!=i?.currentVersion)return i.owningSystemUrl||null;const u=n.toLowerCase().indexOf("/rest/services");if(-1===u)return null;const s=`${n.substring(0,u)}/rest/info`,a=null!=r?r.signal:null,{data:c}=await t(s,{query:{f:"json"},responseType:"json",signal:a});return c?.owningSystemUrl||null}function E(e){if(!("capabilities"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}function L(e){return null!=e&&"object"==typeof e&&"isTable"in e&&!!e.isTable}function S(e){return E(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function C(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}function x(e){return!!C(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}export{x as getEffectiveEditingEnabled,S as getEffectiveLayerCapabilities,w as getOwningPortalUrl,j as getTileMaxtrixSetFromActiveLayer,g as isBaseLayer,n as isBasemap3DSupportedLayer,a as isBasemapSupportedTiledLayer,b as isFeatureCollectionLayer,r as isFeatureLayer,m as isFeatureServiceLayer,i as isGraphicsLayer,o as isGroupLayer,y as isImageryTileLayer,d as isLayerWithFeatureLayerSource,u as isMapNotesLayer,s as isSceneLayer,f as isSceneServiceLayer,L as isTable,c as isTiledLayer,p as isVoxelLayer,l as sceneServiceLayerTypeToClassName,v as serializeLayerDefinitions,h as serializeTimeOptions};
5
+ import{id as e}from"../../kernel.js";import t from"../../request.js";function n(e){return c(e)||a(e)}function r(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}function i(e){return null!=e&&"object"==typeof e&&"type"in e&&"graphics"===e.type}function u(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-notes"===e.type&&"sublayers"in e}function s(e){return null!=e&&"object"==typeof e&&"type"in e&&"knowledge-graph"===e.type&&"layers"in e}function a(e){return"scene"===e?.type}function o(e){return null!=e&&"object"==typeof e&&"type"in e&&"subtype-group"===e.type&&"sublayers"in e}function c(e){const t=e?.type;return"imagery-tile"===t||"tile"===t||"open-street-map"===t||"vector-tile"===t||"web-tile"===t||"wmts"===t}function l(e){const t=e?.type;return"base-tile"===t||"tile"===t||"elevation"===t||"imagery-tile"===t||"base-elevation"===t||"open-street-map"===t||"wcs"===t||"web-tile"===t||"wmts"===t||"vector-tile"===t}function f(e){return null!=e&&"type"in e&&"group"===e.type}const p={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function y(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function g(e){return"voxel"===e?.type}function b(e){return"imagery-tile"===e?.type}function d(e){return null!=e&&null!=e.parent&&"declaredClass"in e.parent&&"esri.Basemap"===e.parent.declaredClass&&e.parent.baseLayers.includes(e)}function m(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function h(e){return("feature"===e?.type||"subtype-group"===e?.type)&&"feature-layer"===e.source?.type}function v(e){return"feature"===e?.type&&"feature-layer"===e.source?.type}function j(e){const t=/[:;]/,n=[];let r=!1;if(e&&(e.forEach(((e,i)=>{n.push([i,e]),!r&&t.test(e)&&(r=!0)})),n.length>0)){let e;if(r){const t={};n.forEach((e=>{t[e[0]]=e[1]})),e=JSON.stringify(t)}else{const t=[];n.forEach((e=>{t.push(e[0]+":"+e[1])})),e=t.join(";")}return e}return null}function w(e){if(!e)return;const t=[];return e.forEach(((e,n)=>{t.push('"'+n+'":'+JSON.stringify(e))})),t.length?"{"+t.join(",")+"}":void 0}function E(e){if(e.activeLayer){const t=e.activeLayer.tileMatrixSet;if(t)return t;const n=e.activeLayer.tileMatrixSets;if(n)return n}return null}async function L(n,r){const i=e?.findServerInfo(n);if(null!=i?.currentVersion)return i.owningSystemUrl||null;const u=n.toLowerCase().indexOf("/rest/services");if(-1===u)return null;const s=`${n.substring(0,u)}/rest/info`,a=null!=r?r.signal:null,{data:o}=await t(s,{query:{f:"json"},responseType:"json",signal:a});return o?.owningSystemUrl||null}function S(e){if(!("capabilities"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}function C(e){return null!=e&&"object"==typeof e&&"isTable"in e&&!!e.isTable}function x(e){return S(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function M(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}function O(e){return!!M(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}export{O as getEffectiveEditingEnabled,x as getEffectiveLayerCapabilities,L as getOwningPortalUrl,E as getTileMaxtrixSetFromActiveLayer,d as isBaseLayer,n as isBasemap3DSupportedLayer,c as isBasemapSupportedTiledLayer,m as isFeatureCollectionLayer,r as isFeatureLayer,v as isFeatureServiceLayer,i as isGraphicsLayer,f as isGroupLayer,b as isImageryTileLayer,s as isKnowledgeGraphLayer,h as isLayerWithFeatureLayerSource,u as isMapNotesLayer,a as isSceneLayer,y as isSceneServiceLayer,o as isSubtypeGroupLayer,C as isTable,l as isTiledLayer,g as isVoxelLayer,p as sceneServiceLayerTypeToClassName,j as serializeLayerDefinitions,w as serializeTimeOptions};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{f as i,c as a}from"../../chunks/mat3f64.js";import{f as r,c as l}from"../../chunks/vec3f64.js";import{m as n,t as h}from"../../chunks/mat3.js";import{d as m,q as u,g,t as c}from"../../chunks/vec3.js";import p from"../../geometry/Point.js";import d from"../../geometry/SpatialReference.js";import{WGS84ECEFSpatialReference as f}from"../../geometry/spatialReferenceEllipsoidUtils.js";import{projectBuffer as V}from"../../geometry/projection/projectBuffer.js";import{earth as _}from"../../geometry/support/Ellipsoid.js";import{VideoMetadataEntryId as v}from"./videoUtils.js";const A=Math.PI/180;let M=class extends e{constructor(t){super(),this.averageElevation=0,this.imageHeight=0,this.imageWidth=0,this.metadataSupportsTransforms=!1,this.platformHeadingAngle=0,this.platformPitchAngle=0,this.platformRollAngle=0,this.sensorHeadingAngle=0,this.sensorAltitude=0,this.sensorHorizontalFieldOfView=0,this.sensorLatitude=0,this.sensorLongitude=0,this.sensorPitchAngle=0,this.sensorRollAngle=0,this.sensorVerticalFieldOfView=0,this.vttMetadata=new Map,this._createMat3FromValues=t=>{const e=t[0],s=t[1],o=t[2];return i(e[0],s[0],o[0],e[1],s[1],o[1],e[2],s[2],o[2])},this._multiplyMat3=(t,e)=>{const s=a();return n(s,t,e),s},this._transposeMat3=t=>{const e=a();return h(e,t),e},this._calculateCameraFovForward=()=>this._createMat3FromValues([[0,0,1],[Math.tan(.5*this.sensorHorizontalFieldOfView*A),0,0],[0,Math.tan(.5*this.sensorVerticalFieldOfView*A),0]]),this._calculateCameraFovReverse=()=>this._createMat3FromValues([[0,1/Math.tan(.5*this.sensorHorizontalFieldOfView*A),0],[0,0,1/Math.tan(.5*this.sensorVerticalFieldOfView*A)],[1,0,0]]),this._calculateCameraLook=()=>this._getRotationMatrixZYX(this.sensorHeadingAngle*A,this.sensorPitchAngle*A,this.sensorRollAngle*A),this._calculateImageDimensionsForward=()=>this._createMat3FromValues([[2/this.imageWidth,0,-1],[0,-2/this.imageHeight,-1],[0,0,1]]),this._calculateImageDimensionsReverse=()=>this._createMat3FromValues([[this.imageWidth/2,0,this.imageWidth/2],[0,-this.imageHeight/2,-this.imageHeight/2],[0,0,1]]),this._calculatePlatformPositionMatrix=()=>{const t=Math.sin(this.sensorLatitude*A),e=Math.cos(this.sensorLatitude*A),s=Math.sin(this.sensorLongitude*A),o=Math.cos(this.sensorLongitude*A);return this._createMat3FromValues([[-t*o,-s,-e*o],[-t*s,o,-e*s],[e,0,-t]])},this._calculatePlatformOrientation=()=>this._getRotationMatrixZYX(this.platformHeadingAngle*A,this.platformPitchAngle*A,this.platformRollAngle*A),this._extractValues=t=>{this.imageWidth=t.get(v.EsriVideoWidth)?.Value,this.imageHeight=t.get(v.EsriVideoHeight)?.Value;const e=t.get(v.SensorEllipsoidHeight)?.Value;this.sensorAltitude=e??t.get(v.SensorTrueAltitude)?.Value,this.sensorLatitude=t.get(v.SensorLatitude)?.Value,this.sensorLongitude=t.get(v.SensorLongitude)?.Value,this.sensorHeadingAngle=t.get(v.SensorAzimuthAngle)?.Value,this.sensorPitchAngle=t.get(v.SensorElevationAngle)?.Value,this.sensorRollAngle=t.get(v.SensorRollAngle)?.Value,this.sensorHorizontalFieldOfView=t.get(v.SensorHorizontalFOV)?.Value,this.sensorVerticalFieldOfView=t.get(v.SensorVerticalFOV)?.Value,this.platformHeadingAngle=t.get(v.PlatformHeadingAngle)?.Value,this.platformPitchAngle=t.get(v.PlatformPitchAngle)?.Value,this.platformRollAngle=t.get(v.PlatformRollAngle)?.Value,this.averageElevation=t.get(v.FrameCenterElevation)?.Value||0},this._getRotationMatrixZYX=(t,e,s)=>{const o=Math.cos(t),i=Math.sin(t),a=Math.cos(e),r=Math.sin(e),l=Math.cos(s),n=Math.sin(s);return this._createMat3FromValues([[o*a,o*r*n-l*i,i*n+o*l*r],[a*i,o*l+i*r*n,l*i*r-o*n],[-r,a*n,a*l]])},this._initCameraSensor=()=>{const t=this._calculateCameraFovForward(),e=this._calculateCameraFovReverse(),s=this._calculateCameraLook(),o=this._calculateImageDimensionsForward(),i=this._calculateImageDimensionsReverse(),a=this._calculatePlatformPositionMatrix(),r=this._calculatePlatformOrientation(),l=this._multiplyMat3(this._multiplyMat3(a,r),s);this._imageToEarthTransform=this._multiplyMat3(this._multiplyMat3(l,t),o);const n=this._multiplyMat3(i,e);this._earthToImageTransform=this._multiplyMat3(n,this._transposeMat3(l)),this._platformPositionEcef=this._projectPointToECEF(this.sensorLongitude,this.sensorLatitude,this.sensorAltitude||this.averageElevation)},this._metadataSupportsTransforms=t=>{if(!t?.size)return!1;const e=t.get(v.EsriVideoWidth)?.Value??0,s=t.get(v.EsriVideoHeight)?.Value??0;if(e<=0||s<=0)return!1;const o=t.get(v.SensorEllipsoidHeight)?.Value,i=t.get(v.SensorTrueAltitude)?.Value,a=t.get(v.SensorLatitude)?.Value,r=t.get(v.SensorLongitude)?.Value;if(null==o&&null==i||null==a||null==r)return!1;const l=t.get(v.PlatformHeadingAngle)?.Value,n=t.get(v.PlatformPitchAngle)?.Value,h=t.get(v.PlatformRollAngle)?.Value;if(null==l||null==n||null==h)return!1;const m=t.get(v.SensorHorizontalFOV)?.Value,u=t.get(v.SensorVerticalFOV)?.Value;if(null==m||null==u)return!1;const g=t.get(v.SensorAzimuthAngle)?.Value,c=t.get(v.SensorElevationAngle)?.Value,p=t.get(v.SensorRollAngle)?.Value;return null!=g&&null!=c&&null!=p},this._projectPointToECEF=(t,e,s)=>{const o=[];return V([t,e,s],d.WGS84,0,o,f,0,1),new p({x:o[0],y:o[1],z:o[2],spatialReference:f})},this._projectImageVectorToEllipsoid=(t,e)=>{const s=_.semiMajorAxis+e,o=_.semiMinorAxis+e,i=o/s,a=s/o,{x:n,y:h,z:g}=this._platformPositionEcef,c=g??this.averageElevation,p=r(n,h,a*c),d=m(t,t),f=m(t,p),V=m(p,p)-s*s,v=(-f-Math.sqrt(f*f-d*V))/d;if(v<0)return[NaN,NaN,NaN];const A=l();return u(A,p,t,v),A[2]=A[2]*i,A};const e=t?.videoMetadata;this._set("metadataSupportsTransforms",this._metadataSupportsTransforms(e)),this.metadataSupportsTransforms&&(this._extractValues(e),this._initCameraSensor())}transformGeoToImage(t,e,s){const o=this._platformPositionEcef;if(!o)return[0,0];const{x:i,y:a,z:n}=o,h=r(i,a,n),m=this._projectPointToECEF(t,e,s||this.averageElevation),u=l(),p=r(m.x,m.y,m.z);g(u,p,h),c(u,u,this._earthToImageTransform);const d=u[0],f=u[1],V=u[2];let _=r(NaN,NaN,NaN);return isNaN(V)||(_=r(d/V,f/V,V/V)),[_[0],_[1]]}transformImageToGeo(t,e){const s=r(t,e,1),o=l();c(o,s,this._imageToEarthTransform);const i=this._projectImageVectorToEllipsoid(o,this.averageElevation);let a;if(!isNaN(i[0])){const t=[];V([i[0],i[1],i[2]],f,0,t,d.WGS84,0,1),a=new p({x:t[0],y:t[1],z:t[2],spatialReference:d.WGS84})}return a}};t([s()],M.prototype,"averageElevation",void 0),t([s()],M.prototype,"imageHeight",void 0),t([s()],M.prototype,"imageWidth",void 0),t([s({readOnly:!0})],M.prototype,"metadataSupportsTransforms",void 0),t([s()],M.prototype,"platformHeadingAngle",void 0),t([s()],M.prototype,"platformPitchAngle",void 0),t([s()],M.prototype,"platformRollAngle",void 0),t([s()],M.prototype,"sensorHeadingAngle",void 0),t([s()],M.prototype,"sensorAltitude",void 0),t([s()],M.prototype,"sensorHorizontalFieldOfView",void 0),t([s()],M.prototype,"sensorLatitude",void 0),t([s()],M.prototype,"sensorLongitude",void 0),t([s()],M.prototype,"sensorPitchAngle",void 0),t([s()],M.prototype,"sensorRollAngle",void 0),t([s()],M.prototype,"sensorVerticalFieldOfView",void 0),t([s()],M.prototype,"vttMetadata",void 0),M=t([o("esri.layers.video.VideoCameraSensorModel")],M);const y=M;export{y as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{f as i,a}from"../../chunks/mat3f64.js";import{f as r,c as l}from"../../chunks/vec3f64.js";import{m as n,t as h}from"../../chunks/mat3.js";import{j as m,y as u,f as g,t as c}from"../../chunks/vec3.js";import p from"../../geometry/Point.js";import d from"../../geometry/SpatialReference.js";import{WGS84ECEFSpatialReference as f}from"../../geometry/spatialReferenceEllipsoidUtils.js";import{projectBuffer as V}from"../../geometry/projection/projectBuffer.js";import{earth as _}from"../../geometry/support/Ellipsoid.js";import{VideoMetadataEntryId as v}from"./videoUtils.js";const A=Math.PI/180;let M=class extends e{constructor(t){super(),this.averageElevation=0,this.imageHeight=0,this.imageWidth=0,this.metadataSupportsTransforms=!1,this.platformHeadingAngle=0,this.platformPitchAngle=0,this.platformRollAngle=0,this.sensorHeadingAngle=0,this.sensorAltitude=0,this.sensorHorizontalFieldOfView=0,this.sensorLatitude=0,this.sensorLongitude=0,this.sensorPitchAngle=0,this.sensorRollAngle=0,this.sensorVerticalFieldOfView=0,this.vttMetadata=new Map,this._createMat3FromValues=t=>{const e=t[0],s=t[1],o=t[2];return i(e[0],s[0],o[0],e[1],s[1],o[1],e[2],s[2],o[2])},this._multiplyMat3=(t,e)=>{const s=a();return n(s,t,e),s},this._transposeMat3=t=>{const e=a();return h(e,t),e},this._calculateCameraFovForward=()=>this._createMat3FromValues([[0,0,1],[Math.tan(.5*this.sensorHorizontalFieldOfView*A),0,0],[0,Math.tan(.5*this.sensorVerticalFieldOfView*A),0]]),this._calculateCameraFovReverse=()=>this._createMat3FromValues([[0,1/Math.tan(.5*this.sensorHorizontalFieldOfView*A),0],[0,0,1/Math.tan(.5*this.sensorVerticalFieldOfView*A)],[1,0,0]]),this._calculateCameraLook=()=>this._getRotationMatrixZYX(this.sensorHeadingAngle*A,this.sensorPitchAngle*A,this.sensorRollAngle*A),this._calculateImageDimensionsForward=()=>this._createMat3FromValues([[2/this.imageWidth,0,-1],[0,-2/this.imageHeight,-1],[0,0,1]]),this._calculateImageDimensionsReverse=()=>this._createMat3FromValues([[this.imageWidth/2,0,this.imageWidth/2],[0,-this.imageHeight/2,-this.imageHeight/2],[0,0,1]]),this._calculatePlatformPositionMatrix=()=>{const t=Math.sin(this.sensorLatitude*A),e=Math.cos(this.sensorLatitude*A),s=Math.sin(this.sensorLongitude*A),o=Math.cos(this.sensorLongitude*A);return this._createMat3FromValues([[-t*o,-s,-e*o],[-t*s,o,-e*s],[e,0,-t]])},this._calculatePlatformOrientation=()=>this._getRotationMatrixZYX(this.platformHeadingAngle*A,this.platformPitchAngle*A,this.platformRollAngle*A),this._extractValues=t=>{this.imageWidth=t.get(v.EsriVideoWidth)?.Value,this.imageHeight=t.get(v.EsriVideoHeight)?.Value;const e=t.get(v.SensorEllipsoidHeight)?.Value;this.sensorAltitude=e??t.get(v.SensorTrueAltitude)?.Value,this.sensorLatitude=t.get(v.SensorLatitude)?.Value,this.sensorLongitude=t.get(v.SensorLongitude)?.Value,this.sensorHeadingAngle=t.get(v.SensorAzimuthAngle)?.Value,this.sensorPitchAngle=t.get(v.SensorElevationAngle)?.Value,this.sensorRollAngle=t.get(v.SensorRollAngle)?.Value,this.sensorHorizontalFieldOfView=t.get(v.SensorHorizontalFOV)?.Value,this.sensorVerticalFieldOfView=t.get(v.SensorVerticalFOV)?.Value,this.platformHeadingAngle=t.get(v.PlatformHeadingAngle)?.Value,this.platformPitchAngle=t.get(v.PlatformPitchAngle)?.Value,this.platformRollAngle=t.get(v.PlatformRollAngle)?.Value,this.averageElevation=t.get(v.FrameCenterElevation)?.Value||0},this._getRotationMatrixZYX=(t,e,s)=>{const o=Math.cos(t),i=Math.sin(t),a=Math.cos(e),r=Math.sin(e),l=Math.cos(s),n=Math.sin(s);return this._createMat3FromValues([[o*a,o*r*n-l*i,i*n+o*l*r],[a*i,o*l+i*r*n,l*i*r-o*n],[-r,a*n,a*l]])},this._initCameraSensor=()=>{const t=this._calculateCameraFovForward(),e=this._calculateCameraFovReverse(),s=this._calculateCameraLook(),o=this._calculateImageDimensionsForward(),i=this._calculateImageDimensionsReverse(),a=this._calculatePlatformPositionMatrix(),r=this._calculatePlatformOrientation(),l=this._multiplyMat3(this._multiplyMat3(a,r),s);this._imageToEarthTransform=this._multiplyMat3(this._multiplyMat3(l,t),o);const n=this._multiplyMat3(i,e);this._earthToImageTransform=this._multiplyMat3(n,this._transposeMat3(l)),this._platformPositionEcef=this._projectPointToECEF(this.sensorLongitude,this.sensorLatitude,this.sensorAltitude||this.averageElevation)},this._metadataSupportsTransforms=t=>{if(!t?.size)return!1;const e=t.get(v.EsriVideoWidth)?.Value??0,s=t.get(v.EsriVideoHeight)?.Value??0;if(e<=0||s<=0)return!1;const o=t.get(v.SensorEllipsoidHeight)?.Value,i=t.get(v.SensorTrueAltitude)?.Value,a=t.get(v.SensorLatitude)?.Value,r=t.get(v.SensorLongitude)?.Value;if(null==o&&null==i||null==a||null==r)return!1;const l=t.get(v.PlatformHeadingAngle)?.Value,n=t.get(v.PlatformPitchAngle)?.Value,h=t.get(v.PlatformRollAngle)?.Value;if(null==l||null==n||null==h)return!1;const m=t.get(v.SensorHorizontalFOV)?.Value,u=t.get(v.SensorVerticalFOV)?.Value;if(null==m||null==u)return!1;const g=t.get(v.SensorAzimuthAngle)?.Value,c=t.get(v.SensorElevationAngle)?.Value,p=t.get(v.SensorRollAngle)?.Value;return null!=g&&null!=c&&null!=p},this._projectPointToECEF=(t,e,s)=>{const o=[];return V([t,e,s],d.WGS84,0,o,f,0,1),new p({x:o[0],y:o[1],z:o[2],spatialReference:f})},this._projectImageVectorToEllipsoid=(t,e)=>{const s=_.semiMajorAxis+e,o=_.semiMinorAxis+e,i=o/s,a=s/o,{x:n,y:h,z:g}=this._platformPositionEcef,c=g??this.averageElevation,p=r(n,h,a*c),d=m(t,t),f=m(t,p),V=m(p,p)-s*s,v=(-f-Math.sqrt(f*f-d*V))/d;if(v<0)return[NaN,NaN,NaN];const A=l();return u(A,p,t,v),A[2]=A[2]*i,A};const e=t?.videoMetadata;this._set("metadataSupportsTransforms",this._metadataSupportsTransforms(e)),this.metadataSupportsTransforms&&(this._extractValues(e),this._initCameraSensor())}transformGeoToImage(t,e,s){const o=this._platformPositionEcef;if(!o)return[0,0];const{x:i,y:a,z:n}=o,h=r(i,a,n),m=this._projectPointToECEF(t,e,s||this.averageElevation),u=l(),p=r(m.x,m.y,m.z);g(u,p,h),c(u,u,this._earthToImageTransform);const d=u[0],f=u[1],V=u[2];let _=r(NaN,NaN,NaN);return isNaN(V)||(_=r(d/V,f/V,V/V)),[_[0],_[1]]}transformImageToGeo(t,e){const s=r(t,e,1),o=l();c(o,s,this._imageToEarthTransform);const i=this._projectImageVectorToEllipsoid(o,this.averageElevation);let a;if(!isNaN(i[0])){const t=[];V([i[0],i[1],i[2]],f,0,t,d.WGS84,0,1),a=new p({x:t[0],y:t[1],z:t[2],spatialReference:d.WGS84})}return a}};t([s()],M.prototype,"averageElevation",void 0),t([s()],M.prototype,"imageHeight",void 0),t([s()],M.prototype,"imageWidth",void 0),t([s({readOnly:!0})],M.prototype,"metadataSupportsTransforms",void 0),t([s()],M.prototype,"platformHeadingAngle",void 0),t([s()],M.prototype,"platformPitchAngle",void 0),t([s()],M.prototype,"platformRollAngle",void 0),t([s()],M.prototype,"sensorHeadingAngle",void 0),t([s()],M.prototype,"sensorAltitude",void 0),t([s()],M.prototype,"sensorHorizontalFieldOfView",void 0),t([s()],M.prototype,"sensorLatitude",void 0),t([s()],M.prototype,"sensorLongitude",void 0),t([s()],M.prototype,"sensorPitchAngle",void 0),t([s()],M.prototype,"sensorRollAngle",void 0),t([s()],M.prototype,"sensorVerticalFieldOfView",void 0),t([s()],M.prototype,"vttMetadata",void 0),M=t([o("esri.layers.video.VideoCameraSensorModel")],M);const y=M;export{y 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as i}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{g as n,E as o,C as a,e as l}from"../../chunks/vec3.js";import{f as p,g as u}from"../../chunks/vec3f64.js";import m from"../../geometry/Point.js";import c from"../../geometry/SpatialReference.js";import{equals as h}from"../../geometry/support/spatialReferenceUtils.js";import g from"./VoxelDimension.js";const y="esri.layers.voxel.VoxelVolume",d=s.getLogger(y);let f=class extends i{constructor(e){super(e),this.id=0,this.dimensions=null,this.spatialReference=c.WGS84}get zDimension(){if(!this.dimensions)return-1;if(!Array.isArray(this.dimensions))return-1;if(4!==this.dimensions.length)return-1;for(let e=2;e<4;++e)if(this.dimensions[e].size>0)return e;return-1}get isValid(){return!!this.dimensions&&(!!Array.isArray(this.dimensions)&&(4===this.dimensions.length&&(!(this.dimensions[0].size<1||this.dimensions[1].size<1)&&!(-1===this.zDimension||this.dimensions[this.zDimension].size<1))))}get originInLayerSpace3D(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size];return[e[0],i[0],r[0]]}get voxelSizeInLayerSpaceSigned(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size],t=[this.sizeInVoxels[0],this.sizeInVoxels[1],this.sizeInVoxels[2]];for(let n=0;n<3;++n)t[n]<2?t[n]=1:t[n]-=1;return s.isRegular&&!s.isPositiveUp&&(t[2]*=-1),[(e[1]-e[0])/t[0],(i[1]-i[0])/t[1],(r[1]-r[0])/t[2]]}get volumeType(){if(this.isValid){const e=this.dimensions[2].size>0,i=this.dimensions[3].size>0;if(!e&&i)return"xyt";if(e&&i)return"xyzt"}return"xyz"}get sizeInVoxels(){if(!this.isValid)return[0,0,0];const e=this.zDimension;return[this.dimensions[0].size,this.dimensions[1].size,this.dimensions[e].size]}computeVoxelSpaceLocation(e){if(!this.isValid)return[0,0,0];if("xyt"===this.volumeType)return d.error("computeVoxelSpacePosition cannot be used with XYT volumes."),[0,0,0];if(!h(this.spatialReference,e.spatialReference))return d.error("pos argument should have the same spatial reference as the VoxelLayer."),[0,0,0];const i=p(e.x,e.y,e.z??0);n(i,i,this.originInLayerSpace3D),o(i,i,this.voxelSizeInLayerSpaceSigned);const s=this.dimensions[this.zDimension];if(!s.isRegular&&Array.isArray(s.irregularSpacing?.values)&&s.irregularSpacing.values.length>1){const r=e.z??0,t=s.irregularSpacing.values,n=s.isPositiveUp?1:-1,o=t.reduce(((e,i)=>Math.abs(n*i-r)<Math.abs(n*e-r)?i:e));for(let e=0;e<t.length;++e)if(t[e]===o){i[2]=e;break}}return[i[0],i[1],i[2]]}computeLayerSpaceLocation(e){if(!this.isValid)return new m({x:0,y:0,spatialReference:this.spatialReference});const i=u(e);if(a(i,i,this.voxelSizeInLayerSpaceSigned),l(i,i,this.originInLayerSpace3D),"xyt"===this.volumeType)return new m({x:i[0],y:i[1],spatialReference:this.spatialReference});const s=this.dimensions[this.zDimension];return s.isRegular||Array.isArray(s.irregularSpacing?.values)&&(e[2]<0?i[2]=s.irregularSpacing.values[0]:e[2]<s.irregularSpacing.values.length?i[2]=s.irregularSpacing.values[e[2]]:i[2]=s.irregularSpacing.values[s.irregularSpacing.values.length-1],s.isPositiveUp||(i[2]*=-1)),new m({x:i[0],y:i[1],z:i[2],spatialReference:this.spatialReference})}};e([r({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"id",void 0),e([r({type:[g],json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"dimensions",void 0),e([r({type:c,json:{read:{enabled:!1}}})],f.prototype,"spatialReference",void 0),e([r({type:Number,json:{read:!1}})],f.prototype,"zDimension",null),e([r({type:[Boolean],json:{read:!1}})],f.prototype,"isValid",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"originInLayerSpace3D",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"voxelSizeInLayerSpaceSigned",null),e([r({type:["xyz","xyzt","xyt"],json:{read:{enabled:!1}}})],f.prototype,"volumeType",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"sizeInVoxels",null),f=e([t(y)],f);const S=f;export{S as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{JSONSupport as i}from"../../core/JSONSupport.js";import s from"../../core/Logger.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{f as n,B as o,A as a,g as l}from"../../chunks/vec3.js";import{f as p,e as u}from"../../chunks/vec3f64.js";import m from"../../geometry/Point.js";import c from"../../geometry/SpatialReference.js";import{equals as h}from"../../geometry/support/spatialReferenceUtils.js";import g from"./VoxelDimension.js";const y="esri.layers.voxel.VoxelVolume",d=s.getLogger(y);let f=class extends i{constructor(e){super(e),this.id=0,this.dimensions=null,this.spatialReference=c.WGS84}get zDimension(){if(!this.dimensions)return-1;if(!Array.isArray(this.dimensions))return-1;if(4!==this.dimensions.length)return-1;for(let e=2;e<4;++e)if(this.dimensions[e].size>0)return e;return-1}get isValid(){return!!this.dimensions&&(!!Array.isArray(this.dimensions)&&(4===this.dimensions.length&&(!(this.dimensions[0].size<1||this.dimensions[1].size<1)&&!(-1===this.zDimension||this.dimensions[this.zDimension].size<1))))}get originInLayerSpace3D(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size];return[e[0],i[0],r[0]]}get voxelSizeInLayerSpaceSigned(){if(!this.isValid||"xyt"===this.volumeType)return[0,0,0];const e=this.dimensions[0].getRange(),i=this.dimensions[1].getRange(),s=this.dimensions[2],r=s.isRegular?s.getRange():[0,s.size],t=[this.sizeInVoxels[0],this.sizeInVoxels[1],this.sizeInVoxels[2]];for(let n=0;n<3;++n)t[n]<2?t[n]=1:t[n]-=1;return s.isRegular&&!s.isPositiveUp&&(t[2]*=-1),[(e[1]-e[0])/t[0],(i[1]-i[0])/t[1],(r[1]-r[0])/t[2]]}get volumeType(){if(this.isValid){const e=this.dimensions[2].size>0,i=this.dimensions[3].size>0;if(!e&&i)return"xyt";if(e&&i)return"xyzt"}return"xyz"}get sizeInVoxels(){if(!this.isValid)return[0,0,0];const e=this.zDimension;return[this.dimensions[0].size,this.dimensions[1].size,this.dimensions[e].size]}computeVoxelSpaceLocation(e){if(!this.isValid)return[0,0,0];if("xyt"===this.volumeType)return d.error("computeVoxelSpacePosition cannot be used with XYT volumes."),[0,0,0];if(!h(this.spatialReference,e.spatialReference))return d.error("pos argument should have the same spatial reference as the VoxelLayer."),[0,0,0];const i=p(e.x,e.y,e.z??0);n(i,i,this.originInLayerSpace3D),o(i,i,this.voxelSizeInLayerSpaceSigned);const s=this.dimensions[this.zDimension];if(!s.isRegular&&Array.isArray(s.irregularSpacing?.values)&&s.irregularSpacing.values.length>1){const r=e.z??0,t=s.irregularSpacing.values,n=s.isPositiveUp?1:-1,o=t.reduce(((e,i)=>Math.abs(n*i-r)<Math.abs(n*e-r)?i:e));for(let e=0;e<t.length;++e)if(t[e]===o){i[2]=e;break}}return[i[0],i[1],i[2]]}computeLayerSpaceLocation(e){if(!this.isValid)return new m({x:0,y:0,spatialReference:this.spatialReference});const i=u(e);if(a(i,i,this.voxelSizeInLayerSpaceSigned),l(i,i,this.originInLayerSpace3D),"xyt"===this.volumeType)return new m({x:i[0],y:i[1],spatialReference:this.spatialReference});const s=this.dimensions[this.zDimension];return s.isRegular||Array.isArray(s.irregularSpacing?.values)&&(e[2]<0?i[2]=s.irregularSpacing.values[0]:e[2]<s.irregularSpacing.values.length?i[2]=s.irregularSpacing.values[e[2]]:i[2]=s.irregularSpacing.values[s.irregularSpacing.values.length-1],s.isPositiveUp||(i[2]*=-1)),new m({x:i[0],y:i[1],z:i[2],spatialReference:this.spatialReference})}};e([r({type:Number,json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"id",void 0),e([r({type:[g],json:{write:{enabled:!0,isRequired:!0}}})],f.prototype,"dimensions",void 0),e([r({type:c,json:{read:{enabled:!1}}})],f.prototype,"spatialReference",void 0),e([r({type:Number,json:{read:!1}})],f.prototype,"zDimension",null),e([r({type:[Boolean],json:{read:!1}})],f.prototype,"isValid",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"originInLayerSpace3D",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"voxelSizeInLayerSpaceSigned",null),e([r({type:["xyz","xyzt","xyt"],json:{read:{enabled:!1}}})],f.prototype,"volumeType",null),e([r({type:[Number],json:{read:!1}})],f.prototype,"sizeInVoxels",null),f=e([t(y)],f);const S=f;export{S 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{s,m as t}from"../../chunks/quat.js";import{b as a}from"../../chunks/quatf64.js";import{c as n,f as o}from"../../chunks/vec3f64.js";import{a as r,t as c}from"../../chunks/common.js";import{i as m,n as u,y as f}from"../../chunks/vec3.js";const i=n(),h=a(),p=a(),e=a(),j=o(0,0,1),k=o(0,1,0),q=o(1,0,0);function v(t){m(i,t),u(i,i);const n=Math.atan2(i[1],i[0]),o=s(a(),j,-n);f(i,i,o);const c=-1*Math.atan2(i[2],i[0]);return[r(n)+270,r(c)+90]}function M(a,n){return s(p,j,c(a-270)),s(e,k,c(n-90)),t(h,p,e),m(i,q),f(i,i,h),u(i,i),[i[0],i[1],i[2]]}export{M as computeNormalFromOrientationTilt,v as computeOrientationTiltFromNormal};
5
+ import{s,m as a}from"../../chunks/quat.js";import{a as t}from"../../chunks/quatf64.js";import{c as n,f as o}from"../../chunks/vec3f64.js";import{a as c,t as r}from"../../chunks/common.js";import{c as m,n as u,u as f}from"../../chunks/vec3.js";const h=n(),i=t(),p=t(),e=t(),j=o(0,0,1),k=o(0,1,0),q=o(1,0,0);function v(a){m(h,a),u(h,h);const n=Math.atan2(h[1],h[0]),o=s(t(),j,-n);f(h,h,o);const r=-1*Math.atan2(h[2],h[0]);return[c(n)+270,c(r)+90]}function M(t,n){return s(p,j,r(t-270)),s(e,k,r(n-90)),a(i,p,e),m(h,q),f(h,h,i),u(h,h),[h[0],h[1],h[2]]}export{M as computeNormalFromOrientationTilt,v as computeOrientationTiltFromNormal};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "4.28.0-next.20230821",
3
+ "version": "4.28.0-next.20230823",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{getPathExtension as i}from"../../core/urlUtils.js";function t(i){return o[p(i)]||e}function p(i){return i instanceof Blob?i.type:n(i.url)}function n(t){const p=i(t);return g[p]||a}const o={},a="text/plain",e=o[a],g={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpg",bmp:"image/bmp",gif:"image/gif",json:"application/json",txt:"text/plain",xml:"application/xml",svg:"image/svg+xml",zip:"application/zip",pbf:"application/vnd.mapbox-vector-tile",gz:"application/gzip","bin.gz":"application/octet-stream"};for(const c in g)o[g[c]]=c;export{t as getResourceContentExtension};
5
+ import{getPathExtension as i}from"../../core/urlUtils.js";function p(i){return o[t(i)]||e}function t(i){return"json"===i.type?"application/json":"blob"===i.type?i.blob.type:n(i.url)}function n(p){const t=i(p);return g[t]||a}const o={},a="text/plain",e=o[a],g={png:"image/png",jpeg:"image/jpeg",jpg:"image/jpg",bmp:"image/bmp",gif:"image/gif",json:"application/json",txt:"text/plain",xml:"application/xml",svg:"image/svg+xml",zip:"application/zip",pbf:"application/vnd.mapbox-vector-tile",gz:"application/gzip","bin.gz":"application/octet-stream"};for(const l in g)o[g[l]]=l;export{p as getResourceContentExtension};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../request.js";import t from"../../core/Error.js";import{join as r,getPathExtension as a}from"../../core/urlUtils.js";async function s(e,t={},a){await e.load(a);const s=r(e.itemUrl,"resources"),{start:o=1,num:n=10,sortOrder:u="asc",sortField:l="created"}=t,c={query:{start:o,num:n,sortOrder:u,sortField:l,token:e.apiKey},signal:a?.signal},i=await e.portal.request(s,c);return{total:i.total,nextStart:i.nextStart,resources:i.resources.map((({created:t,size:r,resource:a})=>({created:new Date(t),size:r,resource:e.resourceFromPath(a)})))}}async function o(e,a,s,o){if(!e.hasPath())throw new t(`portal-item-resource-${a}:invalid-path`,"Resource does not have a valid path");const n=e.portalItem;await n.load(o);const u=r(n.userItemUrl,"add"===a?"addResources":"updateResources"),[c,i]=l(e.path),d=await p(s),m=new FormData;return c&&"."!==c&&m.append("resourcesPrefix",c),null!=o&&o.compress&&m.append("compress","true"),m.append("fileName",i),m.append("file",d,i),m.append("f","json"),null!=o&&o.access&&m.append("access",o.access),await n.portal.request(u,{method:"post",body:m,signal:o?.signal}),e}async function n(e,a,s){if(!a.hasPath())throw new t("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(s);const o=r(e.userItemUrl,"removeResources");await e.portal.request(o,{method:"post",query:{resource:a.path},signal:s?.signal}),a.portalItem=null}async function u(e,t){await e.load(t);const a=r(e.userItemUrl,"removeResources");return e.portal.request(a,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function l(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}function c(e){const[t,r]=i(e),[a,s]=l(t);return[a,s,r]}function i(e){const t=a(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}async function p(t){if(t instanceof Blob)return t;return(await e(t.url,{responseType:"blob"})).data}function d(e,t){if(!e.hasPath())return null;const[a,,s]=c(e.path);return e.portalItem.resourceFromPath(r(a,t+s))}function m(e,t){if(!e.hasPath())return null;const[a,,s]=c(e.path);return e.portalItem.resourceFromPath(r(a,t+s))}export{o as addOrUpdateResource,p as contentToBlob,s as fetchResources,d as getSiblingOfSameType,m as getSiblingOfSameTypeI,u as removeAllResources,n as removeResource,c as splitPrefixFileNameAndExtension};
5
+ import e from"../../request.js";import t from"../../core/Error.js";import{join as r,getPathExtension as a}from"../../core/urlUtils.js";async function o(e,t={},a){await e.load(a);const o=r(e.itemUrl,"resources"),{start:s=1,num:n=10,sortOrder:l="asc",sortField:u="created"}=t,c={query:{start:s,num:n,sortOrder:l,sortField:u,token:e.apiKey},signal:a?.signal},i=await e.portal.request(o,c);return{total:i.total,nextStart:i.nextStart,resources:i.resources.map((({created:t,size:r,resource:a})=>({created:new Date(t),size:r,resource:e.resourceFromPath(a)})))}}async function s(e,a,o,s){if(!e.hasPath())throw new t(`portal-item-resource-${a}:invalid-path`,"Resource does not have a valid path");const n=e.portalItem;await n.load(s);const l=r(n.userItemUrl,"add"===a?"addResources":"updateResources"),[c,i]=u(e.path),p=new FormData;return c&&"."!==c&&p.append("resourcesPrefix",c),null!=s&&s.compress&&p.append("compress","true"),p.append("fileName",i),p.append("file",o,i),p.append("f","json"),null!=s&&s.access&&p.append("access",s.access),await n.portal.request(l,{method:"post",body:p,signal:s?.signal}),e}async function n(e,a,o){if(!a.hasPath())throw new t("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(o);const s=r(e.userItemUrl,"removeResources");await e.portal.request(s,{method:"post",query:{resource:a.path},signal:o?.signal}),a.portalItem=null}async function l(e,t){await e.load(t);const a=r(e.userItemUrl,"removeResources");return e.portal.request(a,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function u(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}function c(e){const[t,r]=i(e),[a,o]=u(t);return[a,o,r]}function i(e){const t=a(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}async function p(t){if("blob"===t.type)return t.blob;if("json"===t.type)return new Blob([t.jsonString],{type:"application/json"});return(await e(t.url,{responseType:"blob"})).data}function d(e,t){if(!e.hasPath())return null;const[a,,o]=c(e.path);return e.portalItem.resourceFromPath(r(a,t+o))}function m(e,t){if(!e.hasPath())return null;const[a,,o]=c(e.path);return e.portalItem.resourceFromPath(r(a,t+o))}export{s as addOrUpdateResource,p as contentToBlob,o as fetchResources,d as getSiblingOfSameType,m as getSiblingOfSameTypeI,l as removeAllResources,n as removeResource,c as splitPrefixFileNameAndExtension};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
+ */
5
+ import{id as e}from"../../kernel.js";import r from"../../request.js";async function n(n,s,t){const u=e?.findCredential(n.restUrl);if(!u)return null;if("loaded"===n.loadStatus&&""===s&&n.user&&n.user.sourceJSON&&!1===t)return n.user.sourceJSON;const o={responseType:"json",query:{f:"json"}};if(t&&(o.query.returnUserLicenseTypeExtensions=!0),""===s){const e=await r(n.restUrl+"/community/self",o);if(e.data){const r=e.data;if(r&&r.username)return r}return null}const i=await r(n.restUrl+"/community/users/"+s,o);if(i.data){const e=i.data;return e.error?null:e}return null}async function s(e,r,s){const t=await n(e,r,!0);return!!t.userLicenseTypeExtensions?.includes(s)}export{s as hasUserTypeExtension,n as lookupUser};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{unique as e}from"../../../core/arrayUtils.js";import{fetchMessageBundle as t}from"../../../intl/messages.js";import{substitute as n}from"../../../intl/substitute.js";import{numericTypes as i}from"../../../layers/support/fieldUtils.js";import"../../../popup/content/AttachmentsContent.js";import"../../../popup/content/Content.js";import"../../../popup/content/CustomContent.js";import"../../../popup/content/ExpressionContent.js";import o from"../../../popup/content/FieldsContent.js";import"../../../popup/content/MediaContent.js";import"../../../popup/content/RelationshipContent.js";import s from"../../../popup/content/TextContent.js";import r from"../../../popup/ExpressionInfo.js";import a from"../../../popup/FieldInfo.js";import{getAttributes as p}from"../../../renderers/support/utils.js";import{viewScaleRE as l}from"../../../renderers/visualVariables/support/visualVariableUtils.js";import{getFeatureReductionFields as u}from"../../support/adapters/support/utils.js";let m=0;const f="expression/";function d(e){return"hasVisualVariables"in e&&e.hasVisualVariables()?e.visualVariables.filter((e=>!l.test(e.valueExpression)&&(!("target"in e)||"outline"!==e.target))):[]}function c(e,t){if(!t)return null;const n=u(e);return n?.find((e=>e.name.toLowerCase()===t.toLowerCase()))}function b(e,t,n){let o=null;if(n){const t=e.featureReduction;t&&"popupTemplate"in t&&t.popupTemplate&&(o=t.popupTemplate.fieldInfos)}else"popupTemplate"in e&&e.popupTemplate&&(o=e.popupTemplate.fieldInfos);const s=n?c(e,t):e.getField(t);let r=null;if(o&&o.some((e=>!(!e||e.fieldName.toLowerCase()!==s?.name.toLowerCase())&&(r=e.clone(),!0))),!r){const e=i.includes(s.type),t="integer"===s.type||"small-integer"===s.type;r=new a({fieldName:s.name,isEditable:s.editable,visible:!0,format:e?{places:t?0:2,digitSeparator:!0}:null})}return r.label||(r.label=s.alias),r}function x(e){const{expression:t,title:n,returnType:i}=e;return new r({name:"expr"+m++,expression:t,title:n,returnType:i})}function g(e){const t="number"===e.returnType?{places:2,digitSeparator:!0}:null;return new a({fieldName:`${f}${e.name}`,visible:!0,format:t})}async function j(i){const o=await t("esri/smartMapping/t9n/smartMapping"),{renderer:s,layer:r,normFieldExpressionTemplate:a,isFeatureReduction:l}=i,u=[],m=[],f=p(s,d);for(const e of f)if("field"===e.type)u.push(b(r,e.field,l));else if("normalized-field"===e.type){const t=l?c(r,e.field):r.getField(e.field),i=l?c(r,e.normalizationField):r.getField(e.normalizationField),s=x({type:"expression",expression:`\n $feature["${t.name}"];\n $feature["${i.name}"];\n ${"percentage"===a?`($feature["${t.name}"] / $feature["${i.name}"]) * 100;`:`$feature["${t.name}"] / $feature["${i.name}"];`}\n `,title:n("percentage"===a?o.normFieldLabelAsPercent:o.normFieldLabel,{expression1:t.alias,expression2:i.alias}),returnType:"number"});u.push(g(s),b(r,e.field,l),b(r,e.normalizationField,l)),m.push(s)}else if("expression"===e.type){const t=x(e);u.push(g(t)),m.push(t)}return{fieldInfos:e(u,((e,t)=>e.fieldName===t.fieldName)),expressionInfos:e(m,((e,t)=>e.expression===t.expression))}}async function F(e,i,r){const{fieldInfos:a,expressionInfos:p}=i,l=await t("esri/smartMapping/t9n/smartMapping");if(a.length>2)return[new o({fieldInfos:a})];const u=[];for(const t of a){const i=t.fieldName;let o=t.label;if(!o){const t=r?c(e,i):e.getField(i);if(t)o=t.alias||i;else if(p){const e=i.split(f)[1],t=p[p.findIndex((t=>t.name===e))];t&&(o=t.title||t.name)}}u.push(new s({text:n(l.fieldInfo,{fieldLabel:o,fieldValue:`{${i}}`})}))}return u}function y(e){return!(!("normalizationField"in e)||!e.normalizationField)||"hasVisualVariables"in e&&e.hasVisualVariables()&&e.visualVariables.some((e=>!(!("normalizationField"in e)||!e.normalizationField)))}export{f as expressionFieldPrefix,F as getContentFromFieldInfos,x as getExpressionInfo,j as getFieldAndExpressionInfos,b as getFieldInfo,g as getFieldInfoFromExpressionInfo,d as getPrimaryVisualVariables,y as hasNormalizedField};
5
+ import{unique as e}from"../../../core/arrayUtils.js";import"../../../core/has.js";import{fetchMessageBundle as t}from"../../../intl/messages.js";import{substitute as n}from"../../../intl/substitute.js";import{numericTypes as i}from"../../../layers/support/fieldUtils.js";import"../../../popup/content/AttachmentsContent.js";import"../../../popup/content/Content.js";import"../../../popup/content/CustomContent.js";import"../../../popup/content/ExpressionContent.js";import o from"../../../popup/content/FieldsContent.js";import"../../../popup/content/MediaContent.js";import"../../../popup/content/RelationshipContent.js";import s from"../../../popup/content/TextContent.js";import r from"../../../popup/ExpressionInfo.js";import a from"../../../popup/FieldInfo.js";import{getAttributes as p}from"../../../renderers/support/utils.js";import{viewScaleRE as l}from"../../../renderers/visualVariables/support/visualVariableUtils.js";import{getFeatureReductionFields as u}from"../../support/adapters/support/utils.js";let m=0;function f(e=0){}const d="expression/";function c(e){return"hasVisualVariables"in e&&e.hasVisualVariables()?e.visualVariables.filter((e=>!l.test(e.valueExpression)&&(!("target"in e)||"outline"!==e.target))):[]}function b(e,t){if(!t)return null;const n=u(e);return n?.find((e=>e.name.toLowerCase()===t.toLowerCase()))}function x(e,t,n){let o=null;if(n){const t=e.featureReduction;t&&"popupTemplate"in t&&t.popupTemplate&&(o=t.popupTemplate.fieldInfos)}else"popupTemplate"in e&&e.popupTemplate&&(o=e.popupTemplate.fieldInfos);const s=n?b(e,t):e.getField(t);let r=null;if(o&&o.some((e=>!(!e||e.fieldName.toLowerCase()!==s?.name.toLowerCase())&&(r=e.clone(),!0))),!r){const e=i.includes(s.type),t="integer"===s.type||"small-integer"===s.type;r=new a({fieldName:s.name,isEditable:s.editable,visible:!0,format:e?{places:t?0:2,digitSeparator:!0}:null})}return r.label||(r.label=s.alias),r}function g(e){const{expression:t,title:n,returnType:i}=e;return new r({name:"expr"+m++,expression:t,title:n,returnType:i})}function j(e){const t="number"===e.returnType?{places:2,digitSeparator:!0}:null;return new a({fieldName:`${d}${e.name}`,visible:!0,format:t})}async function F(i){const o=await t("esri/smartMapping/t9n/smartMapping"),{renderer:s,layer:r,normFieldExpressionTemplate:a,isFeatureReduction:l}=i,u=[],m=[],f=p(s,c);for(const e of f)if("field"===e.type)u.push(x(r,e.field,l));else if("normalized-field"===e.type){const t=l?b(r,e.field):r.getField(e.field),i=l?b(r,e.normalizationField):r.getField(e.normalizationField),s=g({type:"expression",expression:`\n $feature["${t.name}"];\n $feature["${i.name}"];\n ${"percentage"===a?`($feature["${t.name}"] / $feature["${i.name}"]) * 100;`:`$feature["${t.name}"] / $feature["${i.name}"];`}\n `,title:n("percentage"===a?o.normFieldLabelAsPercent:o.normFieldLabel,{expression1:t.alias,expression2:i.alias}),returnType:"number"});u.push(j(s),x(r,e.field,l),x(r,e.normalizationField,l)),m.push(s)}else if("expression"===e.type){const t=g(e);u.push(j(t)),m.push(t)}return{fieldInfos:e(u,((e,t)=>e.fieldName===t.fieldName)),expressionInfos:e(m,((e,t)=>e.expression===t.expression))}}async function y(e,i,r){const{fieldInfos:a,expressionInfos:p}=i,l=await t("esri/smartMapping/t9n/smartMapping");if(a.length>2)return[new o({fieldInfos:a})];const u=[];for(const t of a){const i=t.fieldName;let o=t.label;if(!o){const t=r?b(e,i):e.getField(i);if(t)o=t.alias||i;else if(p){const e=i.split(d)[1],t=p[p.findIndex((t=>t.name===e))];t&&(o=t.title||t.name)}}u.push(new s({text:n(l.fieldInfo,{fieldLabel:o,fieldValue:`{${i}}`})}))}return u}function $(e){return!(!("normalizationField"in e)||!e.normalizationField)||"hasVisualVariables"in e&&e.hasVisualVariables()&&e.visualVariables.some((e=>!(!("normalizationField"in e)||!e.normalizationField)))}export{d as expressionFieldPrefix,y as getContentFromFieldInfos,g as getExpressionInfo,F as getFieldAndExpressionInfos,x as getFieldInfo,j as getFieldInfoFromExpressionInfo,c as getPrimaryVisualVariables,$ as hasNormalizedField,f as resetSuffixForTests};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../core/Error.js";import{formatNumber as r}from"../../../intl/number.js";import{createClassBreaksRenderer as a,getField as s}from"../../../renderers/support/rasterRendererHelper.js";import{processRasterRendererParameters as t}from"../support/utils.js";async function n(r){const a=(r=await t(r)).layer,{rasterInfo:n}=a;if(n.bandCount>1)throw new e("raster-class-breaks-renderer:not-supported","Multiband raster is not supported");const{attributeTable:o}=n;r.field||(r.field=s(o,"value")?.name??"value");if(!(null!=o&&o.fields.find((e=>e.name.toLowerCase()===r.field?.toLowerCase())))&&null==n.histograms&&(await a.updateRasterInfoWithEstimatedStats({rasterFunction:r.rasterFunction,signal:r.signal}),null==n.histograms))throw new e("raster-class-breaks-renderer:not-supported","Histograms or raster attribute table is required on the source raster. Unable to estimate histograms");const{colors:l,numClasses:i}=r;if(l&&i&&l.length!==i)throw new e("raster-class-breaks-renderer:not-supported","The size of the `colors` parameter does not match 'numClasses'");return r.classificationMethod||(r.classificationMethod="natural-breaks"),r}async function o(r){r=await n(r);const s=a(r.layer.rasterInfo,r);if(null==s)throw new e("raster-class-breaks-renderer:not-supported","Class breaks renderer is not supported on this data");const t={minValue:s.minValue,maxValue:s.classBreakInfos[s.classBreakInfos.length-1].maxValue,normalizationTotal:null,classBreakInfos:s.classBreakInfos.map((e=>{const r=l(e.minValue,e.maxValue);return e.label=r,{minValue:e.minValue,maxValue:e.maxValue,label:r}}))};return{renderer:s,classBreaksResult:t}}function l(e,a){return r(e,{maximumFractionDigits:3})+" - "+r(a,{maximumFractionDigits:3})}export{o as createRenderer};
5
+ import e from"../../../core/Error.js";import{formatNumber as r}from"../../../intl/number.js";import{createClassBreaksRenderer as a,getVariableRasterInfo as t,getField as s}from"../../../renderers/support/rasterRendererHelper.js";import{processRasterRendererParameters as n}from"../support/utils.js";function o(e){const{rasterInfo:r,layer:a}=e,s=r.multidimensionalInfo?"imagery"===a.type?a.mosaicRule?.multidimensionalDefinition?.[0]?.variableName:a.multidimensionalDefinition?.[0]?.variableName:"";return t(r,s)}async function i(r){const a=(r=await n(r)).layer,t=o(a);if(t.bandCount>1)throw new e("raster-class-breaks-renderer:not-supported","Multiband raster is not supported");const{attributeTable:i}=t;r.field||(r.field=s(i,"value")?.name??"value");if(!(null!=i&&i.fields.find((e=>e.name.toLowerCase()===r.field?.toLowerCase())))&&null==t.histograms&&(await a.updateRasterInfoWithEstimatedStats({rasterFunction:r.rasterFunction,signal:r.signal}),null==t.histograms))throw new e("raster-class-breaks-renderer:not-supported","Histograms or raster attribute table is required on the source raster. Unable to estimate histograms");const{colors:l,numClasses:u}=r;if(l&&u&&l.length!==u)throw new e("raster-class-breaks-renderer:not-supported","The size of the `colors` parameter does not match 'numClasses'");return r.classificationMethod||(r.classificationMethod="natural-breaks"),r}async function l(r){const t=o((r=await i(r)).layer),s=a(t,r);if(null==s)throw new e("raster-class-breaks-renderer:not-supported","Class breaks renderer is not supported on this data");const n={minValue:s.minValue,maxValue:s.classBreakInfos[s.classBreakInfos.length-1].maxValue,normalizationTotal:null,classBreakInfos:s.classBreakInfos.map((e=>{const r=u(e.minValue,e.maxValue);return e.label=r,{minValue:e.minValue,maxValue:e.maxValue,label:r}}))};return{renderer:s,classBreaksResult:n}}function u(e,a){return r(e,{maximumFractionDigits:3})+" - "+r(a,{maximumFractionDigits:3})}export{l as createRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{estimateStatisticsFromHistograms as r}from"../../../../layers/support/rasterFunctions/stretchUtils.js";import a from"../../../../rest/support/ImageHistogramParameters.js";import i from"./RasterLayerAdapter.js";import o from"../../../../geometry/Point.js";let n=class extends i{constructor(){super(...arguments),this._cacheSize=20,this._statsCache=new Map}generateRasterInfo(t){const s=t?.rasterFunction;try{return this.layer.generateRasterInfo(s,{signal:t?.signal})}catch{return Promise.resolve(this.layer.serviceRasterInfo)}}async estimateStatisticsHistograms(t){const s=t?.rasterFunction?.functionName??"default";if(this._statsCache.has(s))return this._statsCache.get(s);let{width:e,height:i,pixelSize:n}=this.layer.rasterInfo,c=1;for(;e>2e3||i>2e3;)e/=2,i/=2,c*=2;const p=t?.rasterFunction??this.layer.rasterFunction,{fullExtent:l,mosaicRule:h}=this.layer;n=new o(n.x*c,n.y*c,l.spatialReference);const m=new a({geometry:l,pixelSize:n,renderingRule:p,mosaicRule:h});let u;if(this.layer.capabilities.operations.supportsComputeStatisticsHistograms)u=await this.layer.computeStatisticsHistograms(m,t);else{const{histograms:s}=await this.layer.computeHistograms(m,t);u={statistics:r(s),histograms:s}}if(this._statsCache.set(s,u),this._statsCache.size>this._cacheSize){const t=this._statsCache.keys().next().value;this._statsCache.delete(t)}return u}supportsMultidirectionalHillshade(){return this.layer.version>=10.81}load(t){return this.addResolvingPromise(this.layer.load(t).then((()=>{this.generateRasterInfo({rasterFunction:this.rasterFunction,signal:t?.signal}).then((t=>this.rasterInfo=t))}))),Promise.resolve(this)}};t([s()],n.prototype,"layer",void 0),n=t([e("esri.smartMapping.support.adapters.ImageryLayerAdapter")],n);const c=n;export{c as default};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import"../../../../geometry.js";import{property as e}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import{estimateStatisticsFromHistograms as r}from"../../../../layers/support/rasterFunctions/stretchUtils.js";import o from"../../../../rest/support/ImageHistogramParameters.js";import a from"./RasterLayerAdapter.js";import i from"../../../../geometry/Point.js";let n=class extends a{generateRasterInfo(t){const e=t?.rasterFunction;try{return this.layer.generateRasterInfo(e,{signal:t?.signal})}catch{return Promise.resolve(this.layer.serviceRasterInfo)}}async estimateStatisticsHistograms(t){const{layer:e}=this,s=e.mosaicRule?.multidimensionalDefinition?.[0]?.variableName??"",a=`${t?.rasterFunction?.functionName??"default"}${s}`,n=this._statsCache.get(a);if(n)return n;let{width:c,height:p,pixelSize:m}=e.rasterInfo,l=1;for(;c>2e3||p>2e3;)c/=2,p/=2,l*=2;const u=t?.rasterFunction??e.rasterFunction,{fullExtent:h,mosaicRule:g}=e;m=new i(m.x*l,m.y*l,h.spatialReference);const f=new o({geometry:h,pixelSize:m,renderingRule:u,mosaicRule:g});let y;if(e.capabilities.operations.supportsComputeStatisticsHistograms)y=await e.computeStatisticsHistograms(f,t);else{const{histograms:s}=await e.computeHistograms(f,t);y={statistics:r(s),histograms:s}}return y&&this._statsCache.put(a,y),y}supportsMultidirectionalHillshade(){return this.layer.version>=10.81}load(t){return this.addResolvingPromise(this.layer.load(t).then((()=>{this.generateRasterInfo({rasterFunction:this.rasterFunction,signal:t?.signal}).then((t=>this.rasterInfo=t))}))),Promise.resolve(this)}};t([e()],n.prototype,"layer",void 0),n=t([s("esri.smartMapping.support.adapters.ImageryLayerAdapter")],n);const c=n;export{c 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.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../chunks/tslib.es6.js";import r from"../../../../core/Error.js";import{property as e}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import a from"../../../../geometry/Extent.js";import{estimateStatisticsHistograms as o}from"../../../../layers/support/rasterFunctions/stretchUtils.js";import i from"./RasterLayerAdapter.js";let n=class extends i{async generateRasterInfo(t){const{layer:r}=this,e=t?.rasterFunction;if("imagery-tile"===r.type&&e)try{return r.generateRasterInfo(e,{signal:t?.signal})}catch{return r.rasterInfo}return this.rasterInfo}async estimateStatisticsHistograms(t){if(null!==this._statsCache)return this._statsCache;const{raster:e}=this.layer,{extent:s,width:a,height:i}=this._getSamplePixelBlockDescriptor(e.rasterInfo),{pixelBlock:n}=await e.fetchPixels(s,a,i,t);if(null==n)throw new r("raster-layer-adapter","Unable to estimate histograms");return this._statsCache=o(n),this._statsCache}supportsMultidirectionalHillshade(){return!0}load(t){return this.addResolvingPromise(this.layer.load(t).then((()=>this.rasterInfo=this.layer.raster.rasterInfo))),Promise.resolve(this)}_getSamplePixelBlockDescriptor(t,r=1e3){const{pyramidScalingFactor:e,maximumPyramidLevel:s}=t.storageInfo;let{extent:o,width:i,height:n,pixelSize:l}=t,m=Math.ceil(Math.log(Math.max(i,n)/r)/Math.log(e))-1,h=0,c=0;if(m<=s){const t=e**m;i=Math.floor(i/t),n=Math.floor(n/t)}else m=0,i=Math.min(i,r),n=Math.min(n,r),h=Math.max(Math.floor(i/2-500),0),c=Math.max(Math.floor(n/2-500),0),o=new a({xmin:o.xmin+h*l.x,xmax:Math.min(o.xmax,o.xmin+h*l.x*r),ymin:o.ymin+c*l.y,ymax:Math.min(o.ymax,o.ymin+c*l.y*r)});return{extent:o,width:i,height:n,origin:{x:h,y:c}}}};t([e()],n.prototype,"layer",void 0),n=t([s("esri.smartMapping.support.adapters.ImageryTileLayerAdapter")],n);const l=n;export{l as default};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import r from"../../../../core/Error.js";import{property as e}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import s from"../../../../geometry/Extent.js";import{estimateStatisticsHistograms as o}from"../../../../layers/support/rasterFunctions/stretchUtils.js";import i from"./RasterLayerAdapter.js";let n=class extends i{async generateRasterInfo(t){const{layer:r}=this,e=t?.rasterFunction;if("imagery-tile"===r.type&&e)try{return r.generateRasterInfo(e,{signal:t?.signal})}catch{return r.rasterInfo}return this.rasterInfo}async estimateStatisticsHistograms(t){const{layer:e}=this,a=e.multidimensionalDefinition?.[0]?.variableName??"",s=`${e.rasterFunction?.functionName??"default"}${a}`,i=this._statsCache.get(s);if(i)return i;const{raster:n}=e,{extent:m,width:l,height:c}=this._getSamplePixelBlockDescriptor(n.rasterInfo),{pixelBlock:h}=await e.fetchPixels(m,l,c,t);if(null==h)throw new r("raster-layer-adapter","Unable to estimate histograms");const p=o(h);return p&&this._statsCache.put(s,p),p}supportsMultidirectionalHillshade(){return!0}load(t){return this.addResolvingPromise(this.layer.load(t).then((()=>this.rasterInfo=this.layer.raster.rasterInfo))),Promise.resolve(this)}_getSamplePixelBlockDescriptor(t,r=1e3){const{pyramidScalingFactor:e,maximumPyramidLevel:a}=t.storageInfo;let{extent:o,width:i,height:n,pixelSize:m}=t,l=Math.ceil(Math.log(Math.max(i,n)/r)/Math.log(e))-1,c=0,h=0;if(l<=a){const t=e**l;i=Math.floor(i/t),n=Math.floor(n/t)}else l=0,i=Math.min(i,r),n=Math.min(n,r),c=Math.max(Math.floor(i/2-500),0),h=Math.max(Math.floor(n/2-500),0),o=new s({xmin:o.xmin+c*m.x,xmax:Math.min(o.xmax,o.xmin+c*m.x*r),ymin:o.ymin+h*m.y,ymax:Math.min(o.ymax,o.ymin+h*m.y*r)});return{extent:o,width:i,height:n,origin:{x:c,y:h}}}};t([e()],n.prototype,"layer",void 0),n=t([a("esri.smartMapping.support.adapters.ImageryTileLayerAdapter")],n);const m=n;export{m as default};