@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 t}from"../../../../../chunks/tslib.es6.js";import{asinClamped as i}from"../../../../../core/mathUtils.js";import{createScreenPointArray as e,screenPointObjectToArray as n}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{d as s}from"../../../../../chunks/vec2.js";import{o as r,i as a,d as m,g as h,l as c,n as l,b as p,e as _}from"../../../../../chunks/vec3.js";import{c as u,f as d}from"../../../../../chunks/vec3f64.js";import{wrapAxisAngle as C}from"../../../../../geometry/support/axisAngle.js";import{create as g,fromNormalAndOffset as M,setOffsetFromPoint as v,negate as b,normal as f}from"../../../../../geometry/support/plane.js";import{pixelDistanceToInteractionFactor as w,applyAll as j}from"../../../camera/constraintUtils.js";import{ConstraintTypes as E}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as P}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as S}from"../../../camera/constraintUtils/TiltMode.js";import{ExponentialFalloff as V}from"../../../input/util.js";import{InteractiveController as z}from"../InteractiveController.js";import{PanPlanarMomentumController as H}from"../momentum/PanPlanarMomentumController.js";import{RotationMomentumController as O}from"../momentum/RotationMomentumController.js";import{ZoomPlanarMomentumController as y}from"../momentum/ZoomPlanarMomentumController.js";import{NavigationMode as T,contentIntersectorOptions as A,PAN_DISTANCE_MODIFIER as F,MIN_HEIGHT_LIMIT as L,SCREEN_PIXEL_AREA as U,centroid as x,applyZoomToPoint as R,applyPanPlanar as D,normalizeRotationDelta as N,applyRotation as k,intersectPlaneFromScreenPointAtEye as I}from"../../utils/navigationUtils.js";import{Camera as G}from"../../../webgl-engine/lib/Camera.js";import{PanPlanarMomentumEstimator as Z}from"../../../../navigation/PanPlanarMomentumEstimator.js";import{RotationMomentumEstimator as B}from"../../../../navigation/RotationMomentumEstimator.js";import{ZoomMomentumEstimator as W}from"../../../../navigation/ZoomMomentumEstimator.js";const q=d(0,0,1),J={ELEVATION_THRESHOLD:3e4,ANGLE_THRESHOLD:16/180*Math.PI};let K=class extends z{constructor(){super(...arguments),this._rotationValueSmooth=new V(.05),this._scalingValueSmooth=new V(.05),this._planeHorizontal=g(),this._planeVertical=g(),this._rotationMomentumEstimator=new B,this._panMomentumEstimator=new Z(300,12,.9),this._zoomMomentumEstimator=new W,this._beginRadius=0,this._beginCenter=u(),this._beginAngle=0,this._tmpPoints=[],this._panMode=T.Horizontal,this._beginCenterScreen=e(),this._tmpCentroid3d=u(),this._tmpCentroid2d=e(),this._tmp2d=e(),this._pointerCount=0,this._constraintOptions={selection:E.ALL,interactionType:P.NONE,interactionFactor:0,interactionStartCamera:new G,interactionDirection:null,tiltMode:S.TUMBLE}}begin(t){if(!this.active)return;const e=this.view.navigation.momentumEnabled;this._zoomMomentumEstimator.enabled=e,this._rotationMomentumEstimator.enabled=e,this._panMomentumEstimator.enabled=e,this._beginRadius=t.radius,this._pointerCount=t.pointers.size,this._beginAngle=t.angle,this._rotationValueSmooth.reset(),this._scalingValueSmooth.reset(),n(t.center,this._beginCenterScreen),M(q,0,this._planeHorizontal);const o=u(),s=this._intersectionHelper.intersectScreenFreePointFallback(this._beginCenterScreen,o,0===this.view.map.ground.opacity?A:{}),d=u();r(d,this.startCamera.viewForward);const C=u();a(C,q);const g=m(d,C),w=i(g<0?-g:g);this._panMode=w>=J.ANGLE_THRESHOLD?T.Horizontal:T.Vertical;const j=Math.min(F,1/Math.abs(m(C,this.startCamera.viewForward)))*Math.max(Math.abs(this.view.camera.position.z),L);v(this._planeHorizontal,this._planeHorizontal,o),this.startCamera.aboveGround||b(this._planeHorizontal,this._planeHorizontal);const E=u(),P=u(),S=u();h(E,o,this.currentCamera.eye);const V=c(E);if(l(E,E),this._panMode===T.Vertical){p(C,C,g),h(this._planeVertical,d,C),l(this._planeVertical,this._planeVertical),v(this._planeVertical,this._planeVertical,o);const i=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,this._beginCenterScreen[0],this._beginCenterScreen[1],this.view.state.camera,U);let e=null!=i?i:j;e=s?Math.min(e,V):e,a(S,_(P,this.currentCamera.eye,p(P,E,e))),this._planeVertical[3]=-m(this._planeVertical,S),this._computePlanePoints(t.pointers,this._planeVertical,this.startCamera,this._tmpPoints),x(this._tmpPoints,this._beginCenter)}else{const i=s?V:j;a(S,_(P,this.currentCamera.eye,p(P,E,i))),this._planeHorizontal[3]=-m(f(this._planeHorizontal),S),this._computePlanePoints(t.pointers,this._planeHorizontal,this.startCamera,this._tmpPoints),x(this._tmpPoints,this._beginCenter)}this._constraintOptions.interactionStartCamera?.copyFrom(this.startCamera)}update(t){if(!this.active)return;this.currentCamera.copyFrom(this.startCamera);const i=t.pointers.size>1,e=this._panMode===T.Horizontal?this._planeHorizontal:this._planeVertical,o=this._beginCenter;if(i){const i=this._beginRadius/t.radius,e=.001875*Math.min(Math.max(t.radius,40),120);this._scalingValueSmooth.gain=e,this._scalingValueSmooth.update(i),R(this.currentCamera,o,this._scalingValueSmooth.value,this.view.state.constraints.minimumPoiDistance),this._zoomMomentumEstimator.add(this._scalingValueSmooth.value,.001*t.timestamp),this._constraintOptions.interactionType=P.ZOOM,this._constraintOptions.interactionFactor=w(Math.abs(t.radius-this._beginRadius)),j(this.view,this.currentCamera,this._constraintOptions)}if(this._computePlanePoints(t.pointers,e,this.currentCamera,this._tmpPoints),x(this._tmpPoints,this._tmpCentroid3d),n(t.center,this._tmpCentroid2d),D(this.currentCamera,o,this._tmpCentroid3d),this._panMomentumEstimator.add(this._tmpCentroid2d,this._tmpCentroid3d,.001*t.timestamp),this._constraintOptions.interactionType=P.PAN,this._constraintOptions.interactionFactor=w(s(this._beginCenterScreen,this._tmpCentroid2d)),j(this.view,this.currentCamera,this._constraintOptions),i){const i=this._planeHorizontal,e=o,n=this._rotationValueSmooth.value,s=n+N(t.angle-n),r=.00125*Math.min(Math.max(t.radius,40),120);this._rotationValueSmooth.gain=r,this._rotationValueSmooth.update(s);const a=this._rotationValueSmooth.value-this._beginAngle;this._rotationMomentumEstimator.add(a,.001*t.timestamp),k(this.currentCamera,e,C(i,a)),this._constraintOptions.interactionType=P.TUMBLE,this._constraintOptions.interactionFactor=w(Math.abs(t.radius*a)),j(this.view,this.currentCamera,this._constraintOptions)}this.commitCamera()}end(t){t.pointers.size===this._pointerCount&&this.update(t),this.finishController();const i=this._zoomMomentumEstimator.evaluateMomentum();if(i)return new y({view:this.view,momentum:i,zoomCenter:this._beginCenter});const e=this._rotationMomentumEstimator.evaluateMomentum();if(e)return new O({view:this.view,momentum:e,center:this._beginCenter,axis:f(this._planeHorizontal)});const n=this._panMomentumEstimator.evaluateMomentum();return n?new H({view:this.view,momentum:n}):null}_computePlanePoints(t,i,e,n){n.length=t.size;const o=this._tmp2d;let s=0;return t.forEach((t=>{o[0]=t.x,o[1]=t.y,void 0===n[s]&&(n[s]=u()),I(i,e,o,n[s]),s+=1})),n}get _intersectionHelper(){return this.view.sceneIntersectionHelper}};K=t([o("esri.views.3d.state.controllers.local.PinchAndPanController")],K);export{K as PinchAndPanController};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import{asinClamped as i}from"../../../../../core/mathUtils.js";import{createScreenPointArray as e,screenPointObjectToArray as n}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{d as s}from"../../../../../chunks/vec2.js";import{E as r,c as a,j as m,f as h,l as c,n as l,i as p,g as _}from"../../../../../chunks/vec3.js";import{c as u,f as d}from"../../../../../chunks/vec3f64.js";import{wrapAxisAngle as C}from"../../../../../geometry/support/axisAngle.js";import{create as g,fromNormalAndOffset as M,setOffsetFromPoint as v,negate as f,normal as b}from"../../../../../geometry/support/plane.js";import{pixelDistanceToInteractionFactor as w,applyAll as j}from"../../../camera/constraintUtils.js";import{ConstraintTypes as E}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as P}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as S}from"../../../camera/constraintUtils/TiltMode.js";import{ExponentialFalloff as V}from"../../../input/util.js";import{InteractiveController as z}from"../InteractiveController.js";import{PanPlanarMomentumController as H}from"../momentum/PanPlanarMomentumController.js";import{RotationMomentumController as O}from"../momentum/RotationMomentumController.js";import{ZoomPlanarMomentumController as y}from"../momentum/ZoomPlanarMomentumController.js";import{NavigationMode as T,contentIntersectorOptions as A,PAN_DISTANCE_MODIFIER as F,MIN_HEIGHT_LIMIT as L,SCREEN_PIXEL_AREA as U,centroid as x,applyZoomToPoint as R,applyPanPlanar as D,normalizeRotationDelta as N,applyRotation as k,intersectPlaneFromScreenPointAtEye as I}from"../../utils/navigationUtils.js";import{Camera as G}from"../../../webgl-engine/lib/Camera.js";import{PanPlanarMomentumEstimator as Z}from"../../../../navigation/PanPlanarMomentumEstimator.js";import{RotationMomentumEstimator as B}from"../../../../navigation/RotationMomentumEstimator.js";import{ZoomMomentumEstimator as W}from"../../../../navigation/ZoomMomentumEstimator.js";const q=d(0,0,1),J={ELEVATION_THRESHOLD:3e4,ANGLE_THRESHOLD:16/180*Math.PI};let K=class extends z{constructor(){super(...arguments),this._rotationValueSmooth=new V(.05),this._scalingValueSmooth=new V(.05),this._planeHorizontal=g(),this._planeVertical=g(),this._rotationMomentumEstimator=new B,this._panMomentumEstimator=new Z(300,12,.9),this._zoomMomentumEstimator=new W,this._beginRadius=0,this._beginCenter=u(),this._beginAngle=0,this._tmpPoints=[],this._panMode=T.Horizontal,this._beginCenterScreen=e(),this._tmpCentroid3d=u(),this._tmpCentroid2d=e(),this._tmp2d=e(),this._pointerCount=0,this._constraintOptions={selection:E.ALL,interactionType:P.NONE,interactionFactor:0,interactionStartCamera:new G,interactionDirection:null,tiltMode:S.TUMBLE}}begin(t){if(!this.active)return;const e=this.view.navigation.momentumEnabled;this._zoomMomentumEstimator.enabled=e,this._rotationMomentumEstimator.enabled=e,this._panMomentumEstimator.enabled=e,this._beginRadius=t.radius,this._pointerCount=t.pointers.size,this._beginAngle=t.angle,this._rotationValueSmooth.reset(),this._scalingValueSmooth.reset(),n(t.center,this._beginCenterScreen),M(q,0,this._planeHorizontal);const o=u(),s=this._intersectionHelper.intersectScreenFreePointFallback(this._beginCenterScreen,o,0===this.view.map.ground.opacity?A:{}),d=u();r(d,this.startCamera.viewForward);const C=u();a(C,q);const g=m(d,C),w=i(g<0?-g:g);this._panMode=w>=J.ANGLE_THRESHOLD?T.Horizontal:T.Vertical;const j=Math.min(F,1/Math.abs(m(C,this.startCamera.viewForward)))*Math.max(Math.abs(this.view.camera.position.z),L);v(this._planeHorizontal,this._planeHorizontal,o),this.startCamera.aboveGround||f(this._planeHorizontal,this._planeHorizontal);const E=u(),P=u(),S=u();h(E,o,this.currentCamera.eye);const V=c(E);if(l(E,E),this._panMode===T.Vertical){p(C,C,g),h(this._planeVertical,d,C),l(this._planeVertical,this._planeVertical),v(this._planeVertical,this._planeVertical,o);const i=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,this._beginCenterScreen[0],this._beginCenterScreen[1],this.view.state.camera,U);let e=null!=i?i:j;e=s?Math.min(e,V):e,a(S,_(P,this.currentCamera.eye,p(P,E,e))),this._planeVertical[3]=-m(this._planeVertical,S),this._computePlanePoints(t.pointers,this._planeVertical,this.startCamera,this._tmpPoints),x(this._tmpPoints,this._beginCenter)}else{const i=s?V:j;a(S,_(P,this.currentCamera.eye,p(P,E,i))),this._planeHorizontal[3]=-m(b(this._planeHorizontal),S),this._computePlanePoints(t.pointers,this._planeHorizontal,this.startCamera,this._tmpPoints),x(this._tmpPoints,this._beginCenter)}this._constraintOptions.interactionStartCamera?.copyFrom(this.startCamera)}update(t){if(!this.active)return;this.currentCamera.copyFrom(this.startCamera);const i=t.pointers.size>1,e=this._panMode===T.Horizontal?this._planeHorizontal:this._planeVertical,o=this._beginCenter;if(i){const i=this._beginRadius/t.radius,e=.001875*Math.min(Math.max(t.radius,40),120);this._scalingValueSmooth.gain=e,this._scalingValueSmooth.update(i),R(this.currentCamera,o,this._scalingValueSmooth.value,this.view.state.constraints.minimumPoiDistance),this._zoomMomentumEstimator.add(this._scalingValueSmooth.value,.001*t.timestamp),this._constraintOptions.interactionType=P.ZOOM,this._constraintOptions.interactionFactor=w(Math.abs(t.radius-this._beginRadius)),j(this.view,this.currentCamera,this._constraintOptions)}if(this._computePlanePoints(t.pointers,e,this.currentCamera,this._tmpPoints),x(this._tmpPoints,this._tmpCentroid3d),n(t.center,this._tmpCentroid2d),D(this.currentCamera,o,this._tmpCentroid3d),this._panMomentumEstimator.add(this._tmpCentroid2d,this._tmpCentroid3d,.001*t.timestamp),this._constraintOptions.interactionType=P.PAN,this._constraintOptions.interactionFactor=w(s(this._beginCenterScreen,this._tmpCentroid2d)),j(this.view,this.currentCamera,this._constraintOptions),i){const i=this._planeHorizontal,e=o,n=this._rotationValueSmooth.value,s=n+N(t.angle-n),r=.00125*Math.min(Math.max(t.radius,40),120);this._rotationValueSmooth.gain=r,this._rotationValueSmooth.update(s);const a=this._rotationValueSmooth.value-this._beginAngle;this._rotationMomentumEstimator.add(a,.001*t.timestamp),k(this.currentCamera,e,C(i,a)),this._constraintOptions.interactionType=P.TUMBLE,this._constraintOptions.interactionFactor=w(Math.abs(t.radius*a)),j(this.view,this.currentCamera,this._constraintOptions)}this.commitCamera()}end(t){t.pointers.size===this._pointerCount&&this.update(t),this.finishController();const i=this._zoomMomentumEstimator.evaluateMomentum();if(i)return new y({view:this.view,momentum:i,zoomCenter:this._beginCenter});const e=this._rotationMomentumEstimator.evaluateMomentum();if(e)return new O({view:this.view,momentum:e,center:this._beginCenter,axis:b(this._planeHorizontal)});const n=this._panMomentumEstimator.evaluateMomentum();return n?new H({view:this.view,momentum:n}):null}_computePlanePoints(t,i,e,n){n.length=t.size;const o=this._tmp2d;let s=0;return t.forEach((t=>{o[0]=t.x,o[1]=t.y,void 0===n[s]&&(n[s]=u()),I(i,e,o,n[s]),s+=1})),n}get _intersectionHelper(){return this.view.sceneIntersectionHelper}};K=t([o("esri.views.3d.state.controllers.local.PinchAndPanController")],K);export{K as PinchAndPanController};
@@ -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{clamp as i}from"../../../../../core/mathUtils.js";import{createScreenPointArray as s}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{j as e,d as a}from"../../../../../chunks/vec2.js";import{a as n}from"../../../../../chunks/vec2f64.js";import{g as o,l as m,n as h,d as c,b as p,e as _,o as l,i as u,f as C}from"../../../../../chunks/vec3.js";import{c as P,f as D}from"../../../../../chunks/vec3f64.js";import{create as f,fromPositionAndNormal as j}from"../../../../../geometry/support/plane.js";import{pixelDistanceToInteractionFactor as y,applyAll as d}from"../../../camera/constraintUtils.js";import{ConstraintTypes as g}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as v}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as M}from"../../../camera/constraintUtils/TiltMode.js";import{InteractiveController as w}from"../InteractiveController.js";import{normalizeCoordinate as O,contentIntersectorOptions as U,DISTANCE_CLAMP_VALUES as b,PIVOT_DISTANCE_MODIFIER as N,SCREEN_PIXEL_AREA as R,intersectPlaneFromScreenPoint as k}from"../../utils/navigationUtils.js";let A=class extends w{constructor(){super(...arguments),this._tmpP=P(),this._tmpDir=P(),this._tmpN=P(),this._tmpP0=n(),this._tmpPoi=P(),this._tmpRayDir=P(),this.dragBeginPoint=s(),this._normalizedAnchorPoint=n(),this._constraintOptions={selection:g.ALL,interactionType:v.ZOOM,interactionFactor:0,interactionStartCamera:null,interactionDirection:P(),tiltMode:M.TUMBLE},this._plane=f()}get _intersectionHelper(){return this.view.sceneIntersectionHelper}begin(t){if(!this.active)return;e(this.dragBeginPoint,t),O(this.startCamera,t,this._normalizedAnchorPoint);const s=this._intersectionHelper.intersectScreenFreePointFallback(t,this._tmpP,0===this.view.map.ground.opacity?U:{});o(this._tmpDir,this._tmpP,this.startCamera.eye);const r=m(this._tmpDir);h(this._tmpDir,this._tmpDir);const a=Math.abs(this.view.camera.position.z);let n=i(Math.min(N,1/Math.abs(c(z,this._tmpDir)))*a,b[0],b[1]);const u=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,t[0],t[1],this.view.state.camera,R);n=null!=u?u:n,n=s?Math.min(n,r):n,p(this._tmpDir,this._tmpDir,n),_(this._tmpP,this.startCamera.eye,this._tmpDir),o(this._tmpN,this.startCamera.eye,this.startCamera.center),h(this._tmpN,this._tmpN),this._tmpN[1]<0&&l(this._tmpN,this._tmpN),j(this._tmpP,this._tmpN,this._plane),this._constraintOptions.interactionStartCamera=this.startCamera}update(t){if(!this.active)return;k(this._plane,this.currentCamera,this.dragBeginPoint,this._tmpPoi)||u(this._tmpPoi,this.currentCamera.center),O(this.currentCamera,t,this._tmpP0);let i=4*(this._tmpP0[1]-this._normalizedAnchorPoint[1]);e(this._normalizedAnchorPoint,this._tmpP0),o(this._tmpRayDir,this._tmpPoi,this.currentCamera.eye);const s=m(this._tmpRayDir);let r=s*(1-i);this._constraintOptions.interactionDirection&&(u(this._constraintOptions.interactionDirection,this._tmpRayDir),p(this._constraintOptions.interactionDirection,this._constraintOptions.interactionDirection,Math.sign(i)/s));const n=this.view.state.constraints.minimumPoiDistance;i>=0&&r<n&&(r=n,i=-(r-s)/s),Math.abs(s-r)<1e-6||(p(this._tmpRayDir,this._tmpRayDir,i),this.currentCamera.eye=_(T,this.currentCamera.eye,this._tmpRayDir),C(T,this.currentCamera.center,this._tmpPoi,i),this._tmpPoi[2]>this.startCamera.center[2]?T[2]=Math.max(this.startCamera.center[2],T[2]):T[2]=Math.min(this.startCamera.center[2],T[2]),this.currentCamera.center=T,this._constraintOptions.interactionFactor=y(a(this.dragBeginPoint,t)),d(this.view,this.currentCamera,this._constraintOptions),this.commitCamera())}end(){this.active&&this.finishController()}};A=t([r("esri.views.3d.state.controllers.local.ZoomController")],A);const T=P(),z=D(0,0,1);export{A as ZoomController};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import{clamp as i}from"../../../../../core/mathUtils.js";import{createScreenPointArray as s}from"../../../../../core/screenUtils.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{j as e,d as a}from"../../../../../chunks/vec2.js";import{a as n}from"../../../../../chunks/vec2f64.js";import{f as o,l as m,n as c,j as h,i as p,g as _,E as l,c as u,p as C}from"../../../../../chunks/vec3.js";import{c as P,f as D}from"../../../../../chunks/vec3f64.js";import{create as f,fromPositionAndNormal as j}from"../../../../../geometry/support/plane.js";import{pixelDistanceToInteractionFactor as y,applyAll as g}from"../../../camera/constraintUtils.js";import{ConstraintTypes as v}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as d}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as M}from"../../../camera/constraintUtils/TiltMode.js";import{InteractiveController as w}from"../InteractiveController.js";import{normalizeCoordinate as O,contentIntersectorOptions as U,DISTANCE_CLAMP_VALUES as N,PIVOT_DISTANCE_MODIFIER as b,SCREEN_PIXEL_AREA as R,intersectPlaneFromScreenPoint as k}from"../../utils/navigationUtils.js";let A=class extends w{constructor(){super(...arguments),this._tmpP=P(),this._tmpDir=P(),this._tmpN=P(),this._tmpP0=n(),this._tmpPoi=P(),this._tmpRayDir=P(),this.dragBeginPoint=s(),this._normalizedAnchorPoint=n(),this._constraintOptions={selection:v.ALL,interactionType:d.ZOOM,interactionFactor:0,interactionStartCamera:null,interactionDirection:P(),tiltMode:M.TUMBLE},this._plane=f()}get _intersectionHelper(){return this.view.sceneIntersectionHelper}begin(t){if(!this.active)return;e(this.dragBeginPoint,t),O(this.startCamera,t,this._normalizedAnchorPoint);const s=this._intersectionHelper.intersectScreenFreePointFallback(t,this._tmpP,0===this.view.map.ground.opacity?U:{});o(this._tmpDir,this._tmpP,this.startCamera.eye);const r=m(this._tmpDir);c(this._tmpDir,this._tmpDir);const a=Math.abs(this.view.camera.position.z);let n=i(Math.min(b,1/Math.abs(h(z,this._tmpDir)))*a,N[0],N[1]);const u=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,t[0],t[1],this.view.state.camera,R);n=null!=u?u:n,n=s?Math.min(n,r):n,p(this._tmpDir,this._tmpDir,n),_(this._tmpP,this.startCamera.eye,this._tmpDir),o(this._tmpN,this.startCamera.eye,this.startCamera.center),c(this._tmpN,this._tmpN),this._tmpN[1]<0&&l(this._tmpN,this._tmpN),j(this._tmpP,this._tmpN,this._plane),this._constraintOptions.interactionStartCamera=this.startCamera}update(t){if(!this.active)return;k(this._plane,this.currentCamera,this.dragBeginPoint,this._tmpPoi)||u(this._tmpPoi,this.currentCamera.center),O(this.currentCamera,t,this._tmpP0);let i=4*(this._tmpP0[1]-this._normalizedAnchorPoint[1]);e(this._normalizedAnchorPoint,this._tmpP0),o(this._tmpRayDir,this._tmpPoi,this.currentCamera.eye);const s=m(this._tmpRayDir);let r=s*(1-i);this._constraintOptions.interactionDirection&&(u(this._constraintOptions.interactionDirection,this._tmpRayDir),p(this._constraintOptions.interactionDirection,this._constraintOptions.interactionDirection,Math.sign(i)/s));const n=this.view.state.constraints.minimumPoiDistance;i>=0&&r<n&&(r=n,i=-(r-s)/s),Math.abs(s-r)<1e-6||(p(this._tmpRayDir,this._tmpRayDir,i),this.currentCamera.eye=_(T,this.currentCamera.eye,this._tmpRayDir),C(T,this.currentCamera.center,this._tmpPoi,i),this._tmpPoi[2]>this.startCamera.center[2]?T[2]=Math.max(this.startCamera.center[2],T[2]):T[2]=Math.min(this.startCamera.center[2],T[2]),this.currentCamera.center=T,this._constraintOptions.interactionFactor=y(a(this.dragBeginPoint,t)),g(this.view,this.currentCamera,this._constraintOptions),this.commitCamera())}end(){this.active&&this.finishController()}};A=t([r("esri.views.3d.state.controllers.local.ZoomController")],A);const T=P(),z=D(0,0,1);export{A as ZoomController};
@@ -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{clamp as i}from"../../../../../core/mathUtils.js";import{Milliseconds as e}from"../../../../../core/time.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{i as r,g as s,n as a,d as n,l as m,e as c,b as p,f as h}from"../../../../../chunks/vec3.js";import{c as l,f as _}from"../../../../../chunks/vec3f64.js";import{applyAll as y}from"../../../camera/constraintUtils.js";import{ConstraintTypes as C}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as f}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as j}from"../../../camera/constraintUtils/TiltMode.js";import{PointToPointAnimationController as u}from"../PointToPointAnimationController.js";import{contentIntersectorOptions as g,ZOOM_MAX_DISTANCE_MODIFIER as v,ZOOM_MIN_DISTANCE_MODIFIER as w,ZOOM_DISTANCE_MODIFIER as d}from"../../utils/navigationUtils.js";import{Camera as L}from"../../../webgl-engine/lib/Camera.js";import{newIntersector as b}from"../../../webgl-engine/lib/Intersector.js";import{outExpo as z}from"../../../../animation/easing.js";const M=.6,D=4,R=60;let S=class extends u{constructor(){super(...arguments),this._zoomLocation=l(),this._tmpCamera=new L,this._tmpRayDir=l(),this._tmpCenter=l(),this._constraintOptions={selection:C.ALL,interactionType:f.ZOOM,interactionFactor:null,interactionStartCamera:new L,interactionDirection:null,tiltMode:j.TUMBLE}}zoomStep(t,e){if(!this.active)return;const o=this.view.state,{interactionStartCamera:h}=this._constraintOptions;h&&(this.animation.finished?h.copyFrom(o.camera):this.animation.cameraAt(1,h)),this._tmpCamera.copyFrom(o.camera);const _=b(this.view.state.viewingMode);let y=!1;t>0?(y=this.intersectionHelper.intersectScreenFreePointFallback(e,this._zoomLocation,0===this.view.map.ground.opacity?g:{}),this.intersectionHelper.intersectRay(this._tmpCamera.ray,_,this._tmpCenter)&&(this._tmpCamera.center=this._tmpCenter)):this.intersectionHelper.intersectRay(this._tmpCamera.ray,_,this._zoomLocation)?this._tmpCamera.center=this._zoomLocation:r(this._zoomLocation,this._tmpCamera.center);const C=M**t;let f=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,e[0],e[1],this.view.state.camera,R);s(T,this._tmpCamera.eye,this._zoomLocation),a(T,T);const j=i(Math.min(d,1/Math.abs(n(F,T)))*Math.abs(this.view.camera.position.z),w,v);if(f=null!=f?f:j,f){const t=l();s(t,this._zoomLocation,this._tmpCamera.eye),(f<m(t)||!y)&&(a(t,t),c(this._zoomLocation,this._tmpCamera.eye,p(t,t,f)))}this._updateCamera(this._tmpCamera,C,this._zoomLocation),this.begin(this._tmpCamera)}animationSettings(){return{duration:e(600),easing:z}}_updateCamera(t,i,e){s(this._tmpRayDir,e,t.eye);const o=m(this._tmpRayDir);let r=o*i;const a=i<=1,n=Math.max(D,1.01*t.nearFar[0]);0!==r&&(a&&r<n&&(r=n,i=r/o),Math.abs(o-r)<1e-6||(p(this._tmpRayDir,this._tmpRayDir,i),t.eye=s(U,e,this._tmpRayDir),t.center=h(U,t.center,e,1-i),y(this.view,t,this._constraintOptions)))}};S=t([o("esri.views.3d.state.controllers.local.ZoomStepController")],S);const U=l(),F=_(0,0,1),T=l();export{S as ZoomStepController};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import{clamp as i}from"../../../../../core/mathUtils.js";import{Milliseconds as e}from"../../../../../core/time.js";import"../../../../../core/Logger.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import"../../../../../core/Error.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as r,f as s,n as a,j as n,l as m,g as c,i as p,p as h}from"../../../../../chunks/vec3.js";import{c as l,f as _}from"../../../../../chunks/vec3f64.js";import{applyAll as y}from"../../../camera/constraintUtils.js";import{ConstraintTypes as C}from"../../../camera/constraintUtils/ConstraintTypes.js";import{InteractionType as f}from"../../../camera/constraintUtils/InteractionType.js";import{TiltMode as j}from"../../../camera/constraintUtils/TiltMode.js";import{PointToPointAnimationController as u}from"../PointToPointAnimationController.js";import{contentIntersectorOptions as g,ZOOM_MAX_DISTANCE_MODIFIER as v,ZOOM_MIN_DISTANCE_MODIFIER as w,ZOOM_DISTANCE_MODIFIER as L}from"../../utils/navigationUtils.js";import{Camera as d}from"../../../webgl-engine/lib/Camera.js";import{newIntersector as b}from"../../../webgl-engine/lib/Intersector.js";import{outExpo as z}from"../../../../animation/easing.js";const M=.6,D=4,R=60;let S=class extends u{constructor(){super(...arguments),this._zoomLocation=l(),this._tmpCamera=new d,this._tmpRayDir=l(),this._tmpCenter=l(),this._constraintOptions={selection:C.ALL,interactionType:f.ZOOM,interactionFactor:null,interactionStartCamera:new d,interactionDirection:null,tiltMode:j.TUMBLE}}zoomStep(t,e){if(!this.active)return;const o=this.view.state,{interactionStartCamera:h}=this._constraintOptions;h&&(this.animation.finished?h.copyFrom(o.camera):this.animation.cameraAt(1,h)),this._tmpCamera.copyFrom(o.camera);const _=b(this.view.state.viewingMode);let y=!1;t>0?(y=this.intersectionHelper.intersectScreenFreePointFallback(e,this._zoomLocation,0===this.view.map.ground.opacity?g:{}),this.intersectionHelper.intersectRay(this._tmpCamera.ray,_,this._tmpCenter)&&(this._tmpCamera.center=this._tmpCenter)):this.intersectionHelper.intersectRay(this._tmpCamera.ray,_,this._zoomLocation)?this._tmpCamera.center=this._zoomLocation:r(this._zoomLocation,this._tmpCamera.center);const C=M**t;let f=this.view._stage.renderView.getMinimalDepthForArea(this.view.voxelWasm,e[0],e[1],this.view.state.camera,R);s(T,this._tmpCamera.eye,this._zoomLocation),a(T,T);const j=i(Math.min(L,1/Math.abs(n(F,T)))*Math.abs(this.view.camera.position.z),w,v);if(f=null!=f?f:j,f){const t=l();s(t,this._zoomLocation,this._tmpCamera.eye),(f<m(t)||!y)&&(a(t,t),c(this._zoomLocation,this._tmpCamera.eye,p(t,t,f)))}this._updateCamera(this._tmpCamera,C,this._zoomLocation),this.begin(this._tmpCamera)}animationSettings(){return{duration:e(600),easing:z}}_updateCamera(t,i,e){s(this._tmpRayDir,e,t.eye);const o=m(this._tmpRayDir);let r=o*i;const a=i<=1,n=Math.max(D,1.01*t.nearFar[0]);0!==r&&(a&&r<n&&(r=n,i=r/o),Math.abs(o-r)<1e-6||(p(this._tmpRayDir,this._tmpRayDir,i),t.eye=s(U,e,this._tmpRayDir),t.center=h(U,t.center,e,1-i),y(this.view,t,this._constraintOptions)))}};S=t([o("esri.views.3d.state.controllers.local.ZoomStepController")],S);const U=l(),F=_(0,0,1),T=l();export{S as ZoomStepController};
@@ -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{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{b as s,g as e}from"../../../../../chunks/vec3.js";import{c as m}from"../../../../../chunks/vec3f64.js";import{InteractionType as n}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as c}from"./MomentumController.js";let i=class extends c{constructor(t){super(t),this.interactionType=n.PAN,this._tmpPan=m()}momentumStep(t,o){const r=this.momentum.value(t);s(this._tmpPan,this.momentum.direction,r),o.eye=e(p,o.eye,this._tmpPan),o.center=e(p,o.center,this._tmpPan),this.constraintOptions.interactionDirection=this._tmpPan}};t([o({constructOnly:!0})],i.prototype,"momentum",void 0),i=t([r("esri.views.3d.state.controllers.momentum.PanPlanarMomentumController")],i);const p=m();export{i as PanPlanarMomentumController};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{i as s,f as e}from"../../../../../chunks/vec3.js";import{c as m}from"../../../../../chunks/vec3f64.js";import{InteractionType as n}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as c}from"./MomentumController.js";let i=class extends c{constructor(t){super(t),this.interactionType=n.PAN,this._tmpPan=m()}momentumStep(t,o){const r=this.momentum.value(t);s(this._tmpPan,this.momentum.direction,r),o.eye=e(p,o.eye,this._tmpPan),o.center=e(p,o.center,this._tmpPan),this.constraintOptions.interactionDirection=this._tmpPan}};t([o({constructOnly:!0})],i.prototype,"momentum",void 0),i=t([r("esri.views.3d.state.controllers.momentum.PanPlanarMomentumController")],i);const p=m();export{i as PanPlanarMomentumController};
@@ -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{property as t}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{i as r,n as e,c as m}from"../../../../../chunks/vec3.js";import{c as i}from"../../../../../chunks/vec3f64.js";import{InteractionType as c}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as n}from"./MomentumController.js";import{applyRotationWithTwoAxes as a}from"../../utils/navigationUtils.js";const p=i(),u=i();let l=class extends n{constructor(o){super(o),this.interactionType=c.PAN}momentumStep(o,t){const s=this.momentum.value1(o),i=this.momentum.value2(o);r(u,t.eye),e(u,u),m(this.momentum.axis2,u,this.momentum.axis1),a(t,p,this.momentum.axis1,s,this.momentum.axis2,i)}};o([t({constructOnly:!0})],l.prototype,"momentum",void 0),l=o([s("esri.views.3d.state.controllers.momentum.PanSphericalMomentumController")],l);export{l as PanSphericalMomentumController};
5
+ import{_ as o}from"../../../../../chunks/tslib.es6.js";import{property as t}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{c as r,n as e,b as m}from"../../../../../chunks/vec3.js";import{c as i}from"../../../../../chunks/vec3f64.js";import{InteractionType as c}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as n}from"./MomentumController.js";import{applyRotationWithTwoAxes as a}from"../../utils/navigationUtils.js";const p=i(),u=i();let l=class extends n{constructor(o){super(o),this.interactionType=c.PAN}momentumStep(o,t){const s=this.momentum.value1(o),i=this.momentum.value2(o);r(u,t.eye),e(u,u),m(this.momentum.axis2,u,this.momentum.axis1),a(t,p,this.momentum.axis1,s,this.momentum.axis2,i)}};o([t({constructOnly:!0})],l.prototype,"momentum",void 0),l=o([s("esri.views.3d.state.controllers.momentum.PanSphericalMomentumController")],l);export{l as PanSphericalMomentumController};
@@ -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{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{a as s}from"../../../../../chunks/vec3f64.js";import{wrapAxisAngle as e}from"../../../../../geometry/support/axisAngle.js";import{InteractionType as m}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as c}from"./MomentumController.js";import{applyRotation as i}from"../../utils/navigationUtils.js";let n=class extends c{set center(t){this._set("center",s(t))}set axis(t){this._set("axis",s(t))}constructor(t){super(t),this.interactionType=m.TUMBLE}momentumStep(t,o){const r=this.momentum.value(t);i(o,this.center,e(this.axis,r))}};t([o({constructOnly:!0})],n.prototype,"momentum",void 0),t([o({constructOnly:!0})],n.prototype,"center",null),t([o({constructOnly:!0})],n.prototype,"axis",null),n=t([r("esri.views.3d.state.controllers.momentum.MomentumController")],n);export{n as RotationMomentumController};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{g as s}from"../../../../../chunks/vec3f64.js";import{wrapAxisAngle as e}from"../../../../../geometry/support/axisAngle.js";import{InteractionType as m}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as c}from"./MomentumController.js";import{applyRotation as i}from"../../utils/navigationUtils.js";let n=class extends c{set center(t){this._set("center",s(t))}set axis(t){this._set("axis",s(t))}constructor(t){super(t),this.interactionType=m.TUMBLE}momentumStep(t,o){const r=this.momentum.value(t);i(o,this.center,e(this.axis,r))}};t([o({constructOnly:!0})],n.prototype,"momentum",void 0),t([o({constructOnly:!0})],n.prototype,"center",null),t([o({constructOnly:!0})],n.prototype,"axis",null),n=t([r("esri.views.3d.state.controllers.momentum.MomentumController")],n);export{n as RotationMomentumController};
@@ -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{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{i as s,x as e}from"../../../../../chunks/vec3.js";import{a as i,c as n}from"../../../../../chunks/vec3f64.js";import{InteractionType as m}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as c}from"./MomentumController.js";import{applyZoomToPoint as a}from"../../utils/navigationUtils.js";let p=class extends c{set zoomCenter(t){this._set("zoomCenter",i(t))}constructor(t){super(t),this.interactionType=m.ZOOM,this.constraintOptions.interactionDirection=n()}momentumStep(t,o){const{interactionDirection:r}=this.constraintOptions;if(!r)return;s(r,o.eye);const i=this.momentum.valueDelta(0,t);a(o,this.zoomCenter,i,this.view.state.constraints.minimumPoiDistance),e(r,o.eye,r)}};t([o({constructOnly:!0})],p.prototype,"momentum",void 0),t([o({constructOnly:!0})],p.prototype,"zoomCenter",null),p=t([r("esri.views.3d.state.controllers.momentum.ZoomPlanarMomentumController")],p);export{p as ZoomPlanarMomentumController};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import{property as o}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import{subclass as r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{c as s,C as e}from"../../../../../chunks/vec3.js";import{g as n,c as i}from"../../../../../chunks/vec3f64.js";import{InteractionType as m}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as c}from"./MomentumController.js";import{applyZoomToPoint as a}from"../../utils/navigationUtils.js";let p=class extends c{set zoomCenter(t){this._set("zoomCenter",n(t))}constructor(t){super(t),this.interactionType=m.ZOOM,this.constraintOptions.interactionDirection=i()}momentumStep(t,o){const{interactionDirection:r}=this.constraintOptions;if(!r)return;s(r,o.eye);const n=this.momentum.valueDelta(0,t);a(o,this.zoomCenter,n,this.view.state.constraints.minimumPoiDistance),e(r,o.eye,r)}};t([o({constructOnly:!0})],p.prototype,"momentum",void 0),t([o({constructOnly:!0})],p.prototype,"zoomCenter",null),p=t([r("esri.views.3d.state.controllers.momentum.ZoomPlanarMomentumController")],p);export{p as ZoomPlanarMomentumController};
@@ -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{createScreenPointArray as e}from"../../../../../core/screenUtils.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 r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{a as o,c as i}from"../../../../../chunks/vec3f64.js";import{create as n,fromPoints as c}from"../../../../../geometry/support/axisAngle.js";import{c as p}from"../../../../../chunks/sphere.js";import{applyAll as m}from"../../../camera/constraintUtils.js";import{InteractionType as a}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as h}from"./MomentumController.js";import{applyZoomOnSphere as l,sphereOrPlanePointFromScreenPoint as u,applyRotation as y}from"../../utils/navigationUtils.js";let j=class extends h{set screenCenter(t){this._set("screenCenter",e(t[0],t[1]))}set sceneCenter(t){this._set("sceneCenter",o(t))}constructor(t){super(t),this.interactionType=a.ZOOM,this.radius=0,this._tmpSceneCenter=i(),this._tmpZoomAxisAngle=n(),this._sphere=p()}initialize(){this._sphere[3]=this.radius}momentumStep(t,e){const s=this.momentum.valueDelta(0,t);l(this._sphere,e,s),this.constraintOptions.interactionType=a.ZOOM,m(this.view,e,this.constraintOptions),u(this._sphere,e,this.screenCenter,this._tmpSceneCenter),c(this.sceneCenter,this._tmpSceneCenter,this._tmpZoomAxisAngle),y(e,this._sphere,this._tmpZoomAxisAngle),this.constraintOptions.interactionType=a.PAN}};t([s({constructOnly:!0})],j.prototype,"momentum",void 0),t([s({constructOnly:!0})],j.prototype,"screenCenter",null),t([s({constructOnly:!0})],j.prototype,"sceneCenter",null),t([s({constructOnly:!0})],j.prototype,"radius",void 0),j=t([r("esri.views.3d.state.controllers.momentum.ZoomSphericalMomentumController")],j);export{j as ZoomSphericalMomentumController};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import{createScreenPointArray as e}from"../../../../../core/screenUtils.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 r}from"../../../../../core/accessorSupport/decorators/subclass.js";import{g as o,c as i}from"../../../../../chunks/vec3f64.js";import{create as n,fromPoints as c}from"../../../../../geometry/support/axisAngle.js";import{c as p}from"../../../../../chunks/sphere.js";import{applyAll as m}from"../../../camera/constraintUtils.js";import{InteractionType as a}from"../../../camera/constraintUtils/InteractionType.js";import{MomentumController as h}from"./MomentumController.js";import{applyZoomOnSphere as l,sphereOrPlanePointFromScreenPoint as u,applyRotation as y}from"../../utils/navigationUtils.js";let j=class extends h{set screenCenter(t){this._set("screenCenter",e(t[0],t[1]))}set sceneCenter(t){this._set("sceneCenter",o(t))}constructor(t){super(t),this.interactionType=a.ZOOM,this.radius=0,this._tmpSceneCenter=i(),this._tmpZoomAxisAngle=n(),this._sphere=p()}initialize(){this._sphere[3]=this.radius}momentumStep(t,e){const s=this.momentum.valueDelta(0,t);l(this._sphere,e,s),this.constraintOptions.interactionType=a.ZOOM,m(this.view,e,this.constraintOptions),u(this._sphere,e,this.screenCenter,this._tmpSceneCenter),c(this.sceneCenter,this._tmpSceneCenter,this._tmpZoomAxisAngle),y(e,this._sphere,this._tmpZoomAxisAngle),this.constraintOptions.interactionType=a.PAN}};t([s({constructOnly:!0})],j.prototype,"momentum",void 0),t([s({constructOnly:!0})],j.prototype,"screenCenter",null),t([s({constructOnly:!0})],j.prototype,"sceneCenter",null),t([s({constructOnly:!0})],j.prototype,"radius",void 0),j=t([r("esri.views.3d.state.controllers.momentum.ZoomSphericalMomentumController")],j);export{j as ZoomSphericalMomentumController};
@@ -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/PooledArray.js";import{castRenderScreenPointArray3 as t,createRenderScreenPointArray3 as r}from"../../../../core/screenUtils.js";import{e as n,n as i}from"../../../../chunks/vec3.js";import{c as s}from"../../../../chunks/vec3f64.js";import{create as o,copy as l,NEGATIVE_INFINITY as c,width as a,height as u,expandPointInPlace as h}from"../../../../geometry/support/aaBoundingRect.js";import{create as d}from"../../../../geometry/support/ray.js";import{sv3d as p}from"../../../../geometry/support/vectorStacks.js";import{ViewingMode as m}from"../../../ViewingMode.js";import{fromRenderAtEye as y,fromScreen as g}from"../../support/geometryUtils/ray.js";import{DEFAULT_TOLERANCE as f,newIntersector as _}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as R,IntersectorType as v}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{isValidIntersectorResult as I,sliceFilterPredicate as w}from"../../webgl-engine/lib/intersectorUtils.js";class b{constructor(t,r,n){this.viewingMode=t,this._forEachLayer=r,this._view=n,this._externalIntersectionHandlers=new e,this._tolerance=f,this._tmpRay=d(),this._tmpRegion=o(),this._validateHUDIntersector=_(this.viewingMode),this._validateHUDIntersector.options.hud=!1}intersectScreen(e,t,r){return this.intersectRay(this._getPickRay(e,this._tmpRay),U(this.viewingMode),t,r)}intersectScreenFreePointFallback(e,t,r){return this.intersectRayFreePointFallback(this._getPickRay(e,this._tmpRay),t,r)}intersectRayFreePointFallback(e,t,r){return this.intersectRay(e,U(this.viewingMode),t,r)||this._intersectRayFreePointLocal(e,t)}intersectRay(e,t,r,n){return t.options.selectionMode=!1,t.options.store=R.MIN,this.computeIntersection(e,t,n),!!t.results.min&&t.results.min.getIntersectionPoint(r)}getCenterRayWithSubpixelOffset(e,t,r=.5,n=.5){return e.getRenderCenter(T,r,n),T[0]+=.0466,T[1]-=.0123,y(e,T,t)}intersectIntersectorScreen(e,t,r){this.computeIntersection(this._getPickRay(e,this._tmpRay),t,r)}intersectToolIntersectorScreen(e,t,r){const n=this._getPickRay(e,this._tmpRay);this.intersectToolIntersectorRay(n,t,r)}intersectToolIntersectorRay(e,t,r){t.options.selectionMode=!0,this.computeIntersection(e,t,r);const n=t.results.min;!!this._view.basemapTerrain&&this._view.basemapTerrain.opaque||I(n)&&n.intersector!==v.TERRAIN||(t.options.selectionMode=!1,this.computeIntersection(e,t,r))}setTolerance(e=f){this._tolerance=e}addIntersectionHandler(e){this._externalIntersectionHandlers.push(e),this._externalIntersectionHandlers.sort(((e,t)=>e.type===v.TERRAIN?1:t.type===v.TERRAIN?-1:0))}removeIntersectionHandler(e){null!=this._externalIntersectionHandlers.removeUnordered(e)&&this._externalIntersectionHandlers.sort(((e,t)=>e.type===v.TERRAIN?1:t.type===v.TERRAIN?-1:0))}_getPickRay(e,t){const r=this._view.state.camera;return g(r,e,t)}_intersectRayFreePointLocal(e,t){return this.viewingMode!==m.Local||null==e||n(t,e.origin,i(p.get(),e.direction)),!1}intersectElevationFromScreen(e,t,r=0,n=null){return this._intersectElevation(this._getPickRay(e,this._tmpRay),t,r,n)}_intersectElevation(e,r,i=0,s=null){if(null==e)return null;const o=null!=r?r.mode:"absolute-height",l=r?.offset??0,c="on-the-ground"!==o?l+i:0,a=c/this._view.renderCoordsHelper.unitInMeters;if("absolute-height"===o){if(this._view.renderCoordsHelper.intersectInfiniteManifold(e,c,L)){const e=this._view.computeMapPointFromVec3d(L);return e.z??=0,e.z-=l,e}return null}const u=this._view.state.camera,h=t(p.get());u.projectToRenderScreen(e.origin,h);const d=new H(null,this._forEachLayer),m=this._view.slicePlane,y=null!=m?w(m):null,g=_(this.viewingMode);g.options.store=R.MIN,g.options.verticalOffset=a;const f=e.origin,I=n(p.get(),f,e.direction);g.reset(f,I,u),g.point=h;const b=s?"type"in s&&"graphics"===s.type?e=>e.layerUid!==s.uid:e=>e.graphicUid!==s.uid:null;switch(o){case"relative-to-scene":{const e=e=>(!b||b(e))&&!!e.lastValidElevationBB;g.intersect(d.layers,h,this._tolerance,null,e),this._externalIntersectionHandlers.forAll((e=>{if(e.type===v.I3S||e.type===v.TERRAIN){const t=e.slicePlaneEnabled?y:null;e.intersect(g,t,g.rayBegin,g.rayEnd,h)}}));break}case"on-the-ground":case"relative-to-ground":this._externalIntersectionHandlers.forAll((e=>{if(e.isGround){const t=e.slicePlaneEnabled?y:null;e.intersect(g,t,g.rayBegin,g.rayEnd,h)}}))}if(g.results.min.getIntersectionPoint(L)){const e=this._view.computeMapPointFromVec3d(L);return e.z=i,e}return null}computeIntersection(e,r,i){if(null==e)return;const s=this._view.state.camera,o=t(p.get());s.projectToRenderScreen(e.origin,o);const l=new H(i,this._forEachLayer);r.options.selectOpaqueTerrainOnly=!i||!("include"in i||"exclude"in i);const c=e.origin,a=n(p.get(),e.origin,e.direction);r.reset(c,a,s),r.intersect(l.layers,o,this._tolerance);const u=this._view.slicePlane,h=null!=u?w(u):null;r.intersect(l.sliceableLayers,o,this._tolerance,h);const d=i&&(i.requiresGroundFeedback||i.enableDraped);this._externalIntersectionHandlers.forAll((e=>{const t=e.layerUid,n=Array.isArray(t),i=n?t:[t];n&&(r.options.filteredLayerUids=[]);let s=!1;for(const o of i){!l.filterLayerUid(o)?n&&r.options.filteredLayerUids.push(o):s=!0}if(r.options.isFiltered=!s,e.isGround&&d||!r.options.isFiltered){const t=e.slicePlaneEnabled?h:null;e.intersect(r,t,c,a,o)}}));const m=p.get(),y=this._view.basemapTerrain;if(i&&i.enableDraped&&null!=y.spatialReference&&r.results.ground.getIntersectionPoint(m)){const e=y.overlayManager.renderer,t=this._view.renderCoordsHelper.spatialReference,n=p.get();this._view.renderCoordsHelper.fromRenderCoords(m,n,y.spatialReference),n[2]=this._view.elevationProvider?.getElevation(m[0],m[1],m[2],t,"ground")??0,e.intersect(r,n,r.results.ground,(e=>l.filterRenderGeometry(e)))}r.sortResults(),this._processHUDResults(r)}_processHUDResults(e){const t=e.results.hud;l(this._tmpRegion,c);const r=this._view.state.camera,n=[],i=this._tmpRegion,s=e=>{const t=new j(e);r.projectToRenderScreen(e.target.center,t.screenPoint),t.screenPoint[0]=Math.floor(t.screenPoint[0]),t.screenPoint[1]=Math.floor(t.screenPoint[1]),n.push(t),h(i,t.screenPoint)};e.sortResults(t.all),null!=t.min.dist&&s(t.min);for(const l of t.all)t.min.target.object!==l.target.object&&t.max.target.object!==l.target.object&&s(l);if(null!=t.max.dist&&t.max.target.object!==t.min.target.object&&s(t.max),!n.length)return;i[0]===i[2]&&(i[2]+=1),i[1]===i[3]&&(i[3]+=1);const o=r.fullWidth,d=r.fullHeight,p=Math.max(0,i[0]-P),m=Math.max(0,i[1]-P),y=Math.min(a(i)+2*P,o-p),g=Math.min(u(i)+2*P,d-m),f=new Uint8Array(y*g*4);this._view._stage.renderer.readHUDVisibility(p,m,y,g,f);let _=!0;const v=null==e.results.max.dist;let I=0;for(const l of n)for(const t of M){if(f[4*(Math.min(l.screenPoint[0]+t[0],o)-i[0]+(Math.min(l.screenPoint[1]+t[1],d)-i[1])*y)]){_&&(e.results.min.copy(l.result),_=!1),v&&e.results.max.copy(l.result),e.options.store===R.ALL&&e.results.all.splice(I++,0,l.result);break}}}}const P=1,M=(()=>{const e=[],t=P;for(let r=-t;r<=t;r++)for(let n=-t;n<=t;n++)e.push([n+t,r+t]);return e})();class j{constructor(e){this.result=e,this.screenPoint=r()}}let x;function U(e){return x&&x.viewingMode===e||(x=_(e)),x}class H{constructor(e,t){this.layers=new Array,this.sliceableLayers=new Array,this.include=e?.include,this.exclude=e?.exclude,t((e=>{e.pickable&&this.filterLayerUid(e.apiLayerUid)&&(e.sliceable?this.sliceableLayers:this.layers).push(e)}))}filterLayerUid(e){const{include:t,exclude:r}=this;return null==e?null==t&&null==r:(null==t||t.has(e))&&(null==r||!r.has(e))}filterRenderGeometry(e){return this.filterLayerUid(e.layerUid)}}function E(e){return"object"==typeof e&&"intersect"in e}const L=s(),T=r();export{b as SceneIntersectionHelper,E as isIntersectionHandler};
5
+ import e from"../../../../core/PooledArray.js";import{castRenderScreenPointArray3 as t,createRenderScreenPointArray3 as r}from"../../../../core/screenUtils.js";import{g as n,n as i}from"../../../../chunks/vec3.js";import{c as s}from"../../../../chunks/vec3f64.js";import{create as o,copy as l,NEGATIVE_INFINITY as c,width as a,height as u,expandPointInPlace as h}from"../../../../geometry/support/aaBoundingRect.js";import{create as d}from"../../../../geometry/support/ray.js";import{sv3d as p}from"../../../../geometry/support/vectorStacks.js";import{ViewingMode as m}from"../../../ViewingMode.js";import{fromRenderAtEye as y,fromScreen as g}from"../../support/geometryUtils/ray.js";import{DEFAULT_TOLERANCE as f,newIntersector as _}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as R,IntersectorType as v}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{isValidIntersectorResult as I,sliceFilterPredicate as w}from"../../webgl-engine/lib/intersectorUtils.js";class b{constructor(t,r,n){this.viewingMode=t,this._forEachLayer=r,this._view=n,this._externalIntersectionHandlers=new e,this._tolerance=f,this._tmpRay=d(),this._tmpRegion=o(),this._validateHUDIntersector=_(this.viewingMode),this._validateHUDIntersector.options.hud=!1}intersectScreen(e,t,r){return this.intersectRay(this._getPickRay(e,this._tmpRay),U(this.viewingMode),t,r)}intersectScreenFreePointFallback(e,t,r){return this.intersectRayFreePointFallback(this._getPickRay(e,this._tmpRay),t,r)}intersectRayFreePointFallback(e,t,r){return this.intersectRay(e,U(this.viewingMode),t,r)||this._intersectRayFreePointLocal(e,t)}intersectRay(e,t,r,n){return t.options.selectionMode=!1,t.options.store=R.MIN,this.computeIntersection(e,t,n),!!t.results.min&&t.results.min.getIntersectionPoint(r)}getCenterRayWithSubpixelOffset(e,t,r=.5,n=.5){return e.getRenderCenter(T,r,n),T[0]+=.0466,T[1]-=.0123,y(e,T,t)}intersectIntersectorScreen(e,t,r){this.computeIntersection(this._getPickRay(e,this._tmpRay),t,r)}intersectToolIntersectorScreen(e,t,r){const n=this._getPickRay(e,this._tmpRay);this.intersectToolIntersectorRay(n,t,r)}intersectToolIntersectorRay(e,t,r){t.options.selectionMode=!0,this.computeIntersection(e,t,r);const n=t.results.min;!!this._view.basemapTerrain&&this._view.basemapTerrain.opaque||I(n)&&n.intersector!==v.TERRAIN||(t.options.selectionMode=!1,this.computeIntersection(e,t,r))}setTolerance(e=f){this._tolerance=e}addIntersectionHandler(e){this._externalIntersectionHandlers.push(e),this._externalIntersectionHandlers.sort(((e,t)=>e.type===v.TERRAIN?1:t.type===v.TERRAIN?-1:0))}removeIntersectionHandler(e){null!=this._externalIntersectionHandlers.removeUnordered(e)&&this._externalIntersectionHandlers.sort(((e,t)=>e.type===v.TERRAIN?1:t.type===v.TERRAIN?-1:0))}_getPickRay(e,t){const r=this._view.state.camera;return g(r,e,t)}_intersectRayFreePointLocal(e,t){return this.viewingMode!==m.Local||null==e||n(t,e.origin,i(p.get(),e.direction)),!1}intersectElevationFromScreen(e,t,r=0,n=null){return this._intersectElevation(this._getPickRay(e,this._tmpRay),t,r,n)}_intersectElevation(e,r,i=0,s=null){if(null==e)return null;const o=null!=r?r.mode:"absolute-height",l=r?.offset??0,c="on-the-ground"!==o?l+i:0,a=c/this._view.renderCoordsHelper.unitInMeters;if("absolute-height"===o){if(this._view.renderCoordsHelper.intersectInfiniteManifold(e,c,L)){const e=this._view.computeMapPointFromVec3d(L);return e.z??=0,e.z-=l,e}return null}const u=this._view.state.camera,h=t(p.get());u.projectToRenderScreen(e.origin,h);const d=new H(null,this._forEachLayer),m=this._view.slicePlane,y=null!=m?w(m):null,g=_(this.viewingMode);g.options.store=R.MIN,g.options.verticalOffset=a;const f=e.origin,I=n(p.get(),f,e.direction);g.reset(f,I,u),g.point=h;const b=s?"type"in s&&"graphics"===s.type?e=>e.layerUid!==s.uid:e=>e.graphicUid!==s.uid:null;switch(o){case"relative-to-scene":{const e=e=>(!b||b(e))&&!!e.lastValidElevationBB;g.intersect(d.layers,h,this._tolerance,null,e),this._externalIntersectionHandlers.forAll((e=>{if(e.type===v.I3S||e.type===v.TERRAIN){const t=e.slicePlaneEnabled?y:null;e.intersect(g,t,g.rayBegin,g.rayEnd,h)}}));break}case"on-the-ground":case"relative-to-ground":this._externalIntersectionHandlers.forAll((e=>{if(e.isGround){const t=e.slicePlaneEnabled?y:null;e.intersect(g,t,g.rayBegin,g.rayEnd,h)}}))}if(g.results.min.getIntersectionPoint(L)){const e=this._view.computeMapPointFromVec3d(L);return e.z=i,e}return null}computeIntersection(e,r,i){if(null==e)return;const s=this._view.state.camera,o=t(p.get());s.projectToRenderScreen(e.origin,o);const l=new H(i,this._forEachLayer);r.options.selectOpaqueTerrainOnly=!i||!("include"in i||"exclude"in i);const c=e.origin,a=n(p.get(),e.origin,e.direction);r.reset(c,a,s),r.intersect(l.layers,o,this._tolerance);const u=this._view.slicePlane,h=null!=u?w(u):null;r.intersect(l.sliceableLayers,o,this._tolerance,h);const d=i&&(i.requiresGroundFeedback||i.enableDraped);this._externalIntersectionHandlers.forAll((e=>{const t=e.layerUid,n=Array.isArray(t),i=n?t:[t];n&&(r.options.filteredLayerUids=[]);let s=!1;for(const o of i){!l.filterLayerUid(o)?n&&r.options.filteredLayerUids.push(o):s=!0}if(r.options.isFiltered=!s,e.isGround&&d||!r.options.isFiltered){const t=e.slicePlaneEnabled?h:null;e.intersect(r,t,c,a,o)}}));const m=p.get(),y=this._view.basemapTerrain;if(i&&i.enableDraped&&null!=y.spatialReference&&r.results.ground.getIntersectionPoint(m)){const e=y.overlayManager.renderer,t=this._view.renderCoordsHelper.spatialReference,n=p.get();this._view.renderCoordsHelper.fromRenderCoords(m,n,y.spatialReference),n[2]=this._view.elevationProvider?.getElevation(m[0],m[1],m[2],t,"ground")??0,e.intersect(r,n,r.results.ground,(e=>l.filterRenderGeometry(e)))}r.sortResults(),this._processHUDResults(r)}_processHUDResults(e){const t=e.results.hud;l(this._tmpRegion,c);const r=this._view.state.camera,n=[],i=this._tmpRegion,s=e=>{const t=new j(e);r.projectToRenderScreen(e.target.center,t.screenPoint),t.screenPoint[0]=Math.floor(t.screenPoint[0]),t.screenPoint[1]=Math.floor(t.screenPoint[1]),n.push(t),h(i,t.screenPoint)};e.sortResults(t.all),null!=t.min.dist&&s(t.min);for(const l of t.all)t.min.target.object!==l.target.object&&t.max.target.object!==l.target.object&&s(l);if(null!=t.max.dist&&t.max.target.object!==t.min.target.object&&s(t.max),!n.length)return;i[0]===i[2]&&(i[2]+=1),i[1]===i[3]&&(i[3]+=1);const o=r.fullWidth,d=r.fullHeight,p=Math.max(0,i[0]-P),m=Math.max(0,i[1]-P),y=Math.min(a(i)+2*P,o-p),g=Math.min(u(i)+2*P,d-m),f=new Uint8Array(y*g*4);this._view._stage.renderer.readHUDVisibility(p,m,y,g,f);let _=!0;const v=null==e.results.max.dist;let I=0;for(const l of n)for(const t of M){if(f[4*(Math.min(l.screenPoint[0]+t[0],o)-i[0]+(Math.min(l.screenPoint[1]+t[1],d)-i[1])*y)]){_&&(e.results.min.copy(l.result),_=!1),v&&e.results.max.copy(l.result),e.options.store===R.ALL&&e.results.all.splice(I++,0,l.result);break}}}}const P=1,M=(()=>{const e=[],t=P;for(let r=-t;r<=t;r++)for(let n=-t;n<=t;n++)e.push([n+t,r+t]);return e})();class j{constructor(e){this.result=e,this.screenPoint=r()}}let x;function U(e){return x&&x.viewingMode===e||(x=_(e)),x}class H{constructor(e,t){this.layers=new Array,this.sliceableLayers=new Array,this.include=e?.include,this.exclude=e?.exclude,t((e=>{e.pickable&&this.filterLayerUid(e.apiLayerUid)&&(e.sliceable?this.sliceableLayers:this.layers).push(e)}))}filterLayerUid(e){const{include:t,exclude:r}=this;return null==e?null==t&&null==r:(null==t||t.has(e))&&(null==r||!r.has(e))}filterRenderGeometry(e){return this.filterLayerUid(e.layerUid)}}function E(e){return"object"==typeof e&&"intersect"in e}const L=s(),T=r();export{b as SceneIntersectionHelper,E as isIntersectionHandler};
@@ -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{cyclicalPI as t}from"../../../../core/Cyclical.js";import{deg2rad as e,clamp as n,acosClamped as o,asinClamped as r}from"../../../../core/mathUtils.js";import{createScreenPointArray as a}from"../../../../core/screenUtils.js";import{d as i,h as s,m as c,e as l}from"../../../../chunks/mat4.js";import{I as m,c as u}from"../../../../chunks/mat4f64.js";import{s as p}from"../../../../chunks/vec2.js";import{a as f}from"../../../../chunks/vec2f64.js";import{g as h,m as M,e as y,l as g,b as d,f as b,s as v,n as j,d as z,a as x,i as P,c as I}from"../../../../chunks/vec3.js";import{c as k}from"../../../../chunks/vec3f64.js";import{create as w,axis as S,fromPoints as E,wrapAxisAngle as A}from"../../../../geometry/support/axisAngle.js";import{coordinateSystemFromOneAxisAndNormalVector as H,vectorCoordinates as U}from"../../../../geometry/support/coordinateSystem.js";import{create as G,intersectRay as q,fromNormalAndOffset as C}from"../../../../geometry/support/plane.js";import{b as F,i as R,c as V}from"../../../../chunks/sphere.js";import{angle as T}from"../../../../geometry/support/vector.js";import{sm4d as O,sv3d as W}from"../../../../geometry/support/vectorStacks.js";import{fromScreen as B,fromScreenAtEye as D}from"../../support/geometryUtils/ray.js";import{intersectScreen as J}from"../../support/geometryUtils/sphere.js";import{Camera as K}from"../../webgl-engine/lib/Camera.js";import{TERRAIN_ID as L}from"../../webgl-engine/lib/verticalOffsetUtils.js";var N;!function(t){t[t.Ellipsoid=0]="Ellipsoid",t[t.Silhouette=1]="Silhouette"}(N||(N={}));const Q=30,X=[1,3e8],Y=80,Z=8,$=200,_=1508e5,tt=5,et=50,nt=5,ot=10,rt=90,at={exclude:new Set([L])};function it(t,e,n){return n[0]=e[0]/(t.fullWidth/t.pixelRatio),n[1]=e[1]/(t.fullHeight/t.pixelRatio),n}function st(t){for(;t>Math.PI;)t-=2*Math.PI;for(;t<-Math.PI;)t+=2*Math.PI;return t}function ct(t,e,n){const o=i(O.get(),n[3],S(n));null==o||s(o,m)||(h(oe,t.eye,e),M(oe,oe,o),t.eye=y(oe,oe,e),h(oe,t.center,e),M(oe,oe,o),t.center=y(oe,oe,e),t.up=M(oe,t.up,o))}function lt(t,e,n,o){return q(t,B(e,n,ce),o)}function mt(t,e,n,o){return q(t,D(e,n,ce),o)}function ut(t,e,n,o){const r=W.get();let a=1-n;h(r,e,t.eye);const i=g(r);let s=i*(1-a);a>=0&&s<o&&(s=o,a=-(s-i)/i),Math.abs(i-s)<1e-6||(d(r,r,a),t.eye=y(oe,t.eye,r),t.center=b(oe,t.center,e,a))}function pt(t,e,n){e.getScreenCenter(ft),J(t,e,ft,oe)&&(e.center=oe);const o=e.distance,r=o*n;if(Math.abs(o-r)<1e-6)return;const a=d(W.get(),e.viewForward,r);e.eye=h(oe,e.center,a)}const ft=a();function ht(t,e){v(e,0,0,0);for(const n of t)y(e,e,n);d(e,e,1/t.length)}function Mt(t,e,n,o){return Math.sin(t/g(e))*(n+o.radius)}function yt(t,e,n,o){return Mt(Math.PI/2,e,n,o)+(t-Math.PI/2)}var gt;!function(t){t[t.Vertical=0]="Vertical",t[t.Horizontal=1]="Horizontal"}(gt||(gt={}));const dt={Elevation:3e4,Angle:e(16)},bt={Pole:.95,Angle:e(18),Tilt:45},vt=e(80);function jt(t,e,n,o,r,a){const i=k(),s=V();let c=!0,l=!0;return t.intersectScreen(n,i,a)?s[3]=g(i):(l=!1,e.aboveGround&&r!==N.Ellipsoid?s[3]=Math.max(g(e.center),.9*o.radius):s[3]=g(e.eye)-e.relativeElevation,r===N.Silhouette?It(s,e,n,i):c=J(s,e,n,i)),{sphere:s,scenePickPoint:c?i:null,hasGeometryIntersection:l}}function zt(t,e,n){if(g(t.eye)-n.radius>dt.Elevation)return gt.Horizontal;D(t,e,le);return-Math.sign(t.relativeElevation)*(.5*Math.PI+T(t.eye,le.direction))<dt.Angle?gt.Vertical:gt.Horizontal}function xt(t,e,n){h(Pt,n,e),t.eye=h(oe,t.eye,Pt),t.center=h(oe,t.center,Pt)}const Pt=k();function It(t,e,n,o){const r=D(e,n,ce);return null!=r&&(F(t,r,kt),R(t,r,o)?!(x(kt,r.origin)<x(o,r.origin))||(P(o,kt),!1):(h(wt,e.eye,e.center),j(wt,wt),C(wt,-z(j(wt,wt),kt),St),q(St,r,o),!1))}const kt=k(),wt=k(),St=G();function Et(a,i,s,c,l,m){let u=0;if(I(ie,a,i),h(re,a,i),g(a)<=l||!c.aboveGround){I(s,re,c.eye);const p=z(a,i)/(g(a)*g(i));if(p<.9999)u=o(p);else{const t=g(I(k(),a,i))/(g(a)*g(i));u=r(t)}const f=Math.cos(n(t.normalize(e(m)),0,vt));u=-u-Math.max(0,g(i)-l)/(f*l)}else h(At,c.eye,c.center),I(s,re,At),u=-g(re)/l;return j(s,s),d(s,s,g(ie)),u}const At=k();function Ht(r,a,i,s){let c,l;const m=Math.cos(n(t.normalize(e(s)),0,vt));return c=a>i?-(a-i)/(m*i):a<-i?Math.PI-(a+i)/(m*i):o(a/i),l=r>i?-(r-i)/(m*i):r<-i?Math.PI-(r+i)/(m*i):o(r/i),(l-c)*i}function Ut(t,e,n,o,r,a,i,s,c,l){const m=Ht(t[2],e[2],a[3],s),u=c?Ht(t[0],e[0],a[3],180):e[0]-t[0],f=Math.sin(i)*u-Math.cos(i)*m,h=Math.cos(i)*u+Math.sin(i)*m;j(oe,r);const M=c?f/Math.sqrt(Math.abs(a[3]**2-z(n,oe)**2)):f/a[3],y=h/Math.sqrt(Math.abs(a[3]**2-z(n,o)**2));p(l,M,y)}function Gt(t,e,n,o,r,a,i,s,c,l){I(ie,t,e),H(a.up,a.eye,Lt,Nt,Qt),H([0,0,1],a.eye,Dt,Jt,Kt),P(n,Jt),P(o,Dt),j(n,n),d(n,n,g(ie)),U(t,j(Nt,Nt),j(Qt,Qt),j(Lt,Lt),Xt),U(e,Nt,Qt,Lt,Yt),Ut(Xt,Yt,t,Dt,Jt,i,s,c,l,r)}function qt(t,e,n,o,r,a,s){i(_t,r,o),i(te,s,a),c(ee,_t,te),h(e,t,n),M(e,e,ee),y(e,e,n)}function Ct(t,e,n,o,r,a){i(_t,o,n),i(te,a,r),c(ee,_t,te),h(oe,t.eye,e),M(oe,oe,ee),t.eye=y(oe,oe,e),h(oe,t.center,e),M(oe,oe,ee),t.center=y(oe,oe,e),h(oe,t.up,e),M(oe,oe,ee),t.up=y(oe,oe,e)}function Ft(t,e,n,o,r,a){return(Math.abs(o)>Math.PI-bt.Angle||Math.abs(o)<bt.Angle)&&(Math.abs(t[2])<n*bt.Pole||Math.abs(e)>n)&&a.aboveGround&&r<bt.Tilt}function Rt(t,e,n,o,r,a){if(a)E(n,o,$t),ct(e,t,$t);else{const a=Et(n,o,se,e,t[3],r);ct(e,t,A(se,a))}}function Vt(t,e,n,o,r,a,i){const s=i?20:1,c=1e-12;let l,m;P(ne,o),ae.copyFrom(e);for(let u=0;u<s&&x(n,ne)>c&&(l=x(n,ne),Gt(n,ne,Jt,Dt,Zt,ae,t,r,a,i),Ct(ae,t,Dt,Zt[1],Jt,Zt[0]),qt(ne,ne,t,Dt,Zt[1],Jt,Zt[0]),m=x(n,ne),m<l||0===u);u++)e.copyFrom(ae)}function Tt(n,o,r,a,i,s,c){Ft(r,z(o.up,r),n[3],-t.normalize(e(i)),s,o)?Vt(n,o,r,a,-t.normalize(e(i)),s,c):Rt(n,o,r,a,s,c)}function Ot(t,e,n,o,r,a){const{eye:i}=t;H([0,0,1],i,Dt,Jt,Kt);const s=e.translation[0]*n.pan,c="zoom"===r.mode?0:e.translation[1]*n.pan,m=Math.max(Math.sqrt(Math.abs(1-z(t.center,Dt)**2/g(t.center)**2)),.5),u=(Math.sin(a)*c+Math.cos(a)*s)/m,p=-Math.cos(a)*c+Math.sin(a)*s;switch(l(o.pan.matrix,o.pan.matrix,u,Dt),o.pan.enabled=!0,r.mode){case"pan":l(o.pan.matrix,o.pan.matrix,p,Jt),o.pan.enabled=!0;break;case"zoom":o.zoom=-e.translation[1]*n.zoom}}function Wt(t,e,n,o,r){const{eye:a,viewRight:i}=t,s=I(W.get(),i,a),c=e.translation[0]*n.pan;switch(0!==c&&(l(o.pan.matrix,o.pan.matrix,-c,s),o.pan.enabled=!0),r.mode){case"pan":{const t=e.translation[1]*n.pan;0!==t&&(l(o.pan.matrix,o.pan.matrix,t,i),o.pan.enabled=!0);break}case"zoom":o.zoom=-e.translation[1]*n.zoom}}function Bt(n,o,r,a,i,s,c,l,m){Ft(n.center,z(n.up,n.center),g(n.center),-t.normalize(e(s)),c,o)?Ot(o,r,a,l,m,-t.normalize(e(i))):Wt(o,r,a,l,m)}const Dt=k(),Jt=k(),Kt=k(),Lt=k(),Nt=k(),Qt=k(),Xt=k(),Yt=k(),Zt=f(),$t=w(),_t=u(),te=u(),ee=u(),ne=k(),oe=k(),re=k(),ae=new K,ie=k(),se=k(),ce={origin:k(),direction:k()},le={origin:k(),direction:k()};export{X as DISTANCE_CLAMP_VALUES,et as MIN_HEIGHT_LIMIT,gt as NavigationMode,tt as PAN_DISTANCE_MODIFIER,Q as PIVOT_DISTANCE_MODIFIER,bt as PreservingHeadingThreshold,nt as ROTATE_PIVOT_DISTANCE_MODIFIER,ot as ROTATE_PIVOT_MIN_DISTANCE_MODIFIER,rt as ROTATE_SCREEN_PIXEL_AREA,Y as SCREEN_PIXEL_AREA,N as SpherePickPointFallback,vt as TiltThresholdPanningSpeed,dt as VerticalPanTresholds,Z as ZOOM_DISTANCE_MODIFIER,_ as ZOOM_MAX_DISTANCE_MODIFIER,$ as ZOOM_MIN_DISTANCE_MODIFIER,xt as applyPanPlanar,Rt as applyPanSphericalDirectRotation,Vt as applyPanSphericalPreserveHeading,ct as applyRotation,Ct as applyRotationWithTwoAxes,pt as applyZoomOnSphere,ut as applyZoomToPoint,ht as centroid,at as contentIntersectorOptions,zt as decideNavigationMode,lt as intersectPlaneFromScreenPoint,mt as intersectPlaneFromScreenPointAtEye,Ht as lengthFromPoints,it as normalizeCoordinate,st as normalizeRotationDelta,yt as offSurfaceTiltToEyeTiltGlobal,Mt as onSurfaceTiltToEyeTiltGlobal,Bt as panMotionToRotationMatrix,Tt as panToPosition,jt as pickPointAndInitSphere,Ft as preserveHeadingThreshold,qt as rotatePointAroundTwoAxes,Et as rotationAngleAndAxisDirectRotation,Gt as rotationAnglesAndAxesHeadingPreserving,Ut as rotationAnglesHeadingPreserving,It as sphereOrPlanePointFromScreenPoint};
5
+ import{cyclicalPI as t}from"../../../../core/Cyclical.js";import{deg2rad as e,clamp as n,acosClamped as o,asinClamped as r}from"../../../../core/mathUtils.js";import{createScreenPointArray as a}from"../../../../core/screenUtils.js";import{c as i,e as s,m as c,k as l}from"../../../../chunks/mat4.js";import{I as m,a as u}from"../../../../chunks/mat4f64.js";import{s as p}from"../../../../chunks/vec2.js";import{a as f}from"../../../../chunks/vec2f64.js";import{f as h,e as M,g as y,l as g,i as b,p as d,s as j,n as v,j as z,a as x,c as P,b as k}from"../../../../chunks/vec3.js";import{c as I}from"../../../../chunks/vec3f64.js";import{create as w,axis as S,fromPoints as E,wrapAxisAngle as A}from"../../../../geometry/support/axisAngle.js";import{coordinateSystemFromOneAxisAndNormalVector as H,vectorCoordinates as U}from"../../../../geometry/support/coordinateSystem.js";import{create as G,intersectRay as q,fromNormalAndOffset as C}from"../../../../geometry/support/plane.js";import{b as F,i as R,c as V}from"../../../../chunks/sphere.js";import{angle as T}from"../../../../geometry/support/vector.js";import{sm4d as O,sv3d as W}from"../../../../geometry/support/vectorStacks.js";import{fromScreen as B,fromScreenAtEye as D}from"../../support/geometryUtils/ray.js";import{intersectScreen as J}from"../../support/geometryUtils/sphere.js";import{Camera as K}from"../../webgl-engine/lib/Camera.js";import{TERRAIN_ID as L}from"../../webgl-engine/lib/verticalOffsetUtils.js";var N;!function(t){t[t.Ellipsoid=0]="Ellipsoid",t[t.Silhouette=1]="Silhouette"}(N||(N={}));const Q=30,X=[1,3e8],Y=80,Z=8,$=200,_=1508e5,tt=5,et=50,nt=5,ot=10,rt=90,at={exclude:new Set([L])};function it(t,e,n){return n[0]=e[0]/(t.fullWidth/t.pixelRatio),n[1]=e[1]/(t.fullHeight/t.pixelRatio),n}function st(t){for(;t>Math.PI;)t-=2*Math.PI;for(;t<-Math.PI;)t+=2*Math.PI;return t}function ct(t,e,n){const o=i(O.get(),n[3],S(n));null==o||s(o,m)||(h(oe,t.eye,e),M(oe,oe,o),t.eye=y(oe,oe,e),h(oe,t.center,e),M(oe,oe,o),t.center=y(oe,oe,e),t.up=M(oe,t.up,o))}function lt(t,e,n,o){return q(t,B(e,n,ce),o)}function mt(t,e,n,o){return q(t,D(e,n,ce),o)}function ut(t,e,n,o){const r=W.get();let a=1-n;h(r,e,t.eye);const i=g(r);let s=i*(1-a);a>=0&&s<o&&(s=o,a=-(s-i)/i),Math.abs(i-s)<1e-6||(b(r,r,a),t.eye=y(oe,t.eye,r),t.center=d(oe,t.center,e,a))}function pt(t,e,n){e.getScreenCenter(ft),J(t,e,ft,oe)&&(e.center=oe);const o=e.distance,r=o*n;if(Math.abs(o-r)<1e-6)return;const a=b(W.get(),e.viewForward,r);e.eye=h(oe,e.center,a)}const ft=a();function ht(t,e){j(e,0,0,0);for(const n of t)y(e,e,n);b(e,e,1/t.length)}function Mt(t,e,n,o){return Math.sin(t/g(e))*(n+o.radius)}function yt(t,e,n,o){return Mt(Math.PI/2,e,n,o)+(t-Math.PI/2)}var gt;!function(t){t[t.Vertical=0]="Vertical",t[t.Horizontal=1]="Horizontal"}(gt||(gt={}));const bt={Elevation:3e4,Angle:e(16)},dt={Pole:.95,Angle:e(18),Tilt:45},jt=e(80);function vt(t,e,n,o,r,a){const i=I(),s=V();let c=!0,l=!0;return t.intersectScreen(n,i,a)?s[3]=g(i):(l=!1,e.aboveGround&&r!==N.Ellipsoid?s[3]=Math.max(g(e.center),.9*o.radius):s[3]=g(e.eye)-e.relativeElevation,r===N.Silhouette?kt(s,e,n,i):c=J(s,e,n,i)),{sphere:s,scenePickPoint:c?i:null,hasGeometryIntersection:l}}function zt(t,e,n){if(g(t.eye)-n.radius>bt.Elevation)return gt.Horizontal;D(t,e,le);return-Math.sign(t.relativeElevation)*(.5*Math.PI+T(t.eye,le.direction))<bt.Angle?gt.Vertical:gt.Horizontal}function xt(t,e,n){h(Pt,n,e),t.eye=h(oe,t.eye,Pt),t.center=h(oe,t.center,Pt)}const Pt=I();function kt(t,e,n,o){const r=D(e,n,ce);return null!=r&&(F(t,r,It),R(t,r,o)?!(x(It,r.origin)<x(o,r.origin))||(P(o,It),!1):(h(wt,e.eye,e.center),v(wt,wt),C(wt,-z(v(wt,wt),It),St),q(St,r,o),!1))}const It=I(),wt=I(),St=G();function Et(a,i,s,c,l,m){let u=0;if(k(ie,a,i),h(re,a,i),g(a)<=l||!c.aboveGround){k(s,re,c.eye);const p=z(a,i)/(g(a)*g(i));if(p<.9999)u=o(p);else{const t=g(k(I(),a,i))/(g(a)*g(i));u=r(t)}const f=Math.cos(n(t.normalize(e(m)),0,jt));u=-u-Math.max(0,g(i)-l)/(f*l)}else h(At,c.eye,c.center),k(s,re,At),u=-g(re)/l;return v(s,s),b(s,s,g(ie)),u}const At=I();function Ht(r,a,i,s){let c,l;const m=Math.cos(n(t.normalize(e(s)),0,jt));return c=a>i?-(a-i)/(m*i):a<-i?Math.PI-(a+i)/(m*i):o(a/i),l=r>i?-(r-i)/(m*i):r<-i?Math.PI-(r+i)/(m*i):o(r/i),(l-c)*i}function Ut(t,e,n,o,r,a,i,s,c,l){const m=Ht(t[2],e[2],a[3],s),u=c?Ht(t[0],e[0],a[3],180):e[0]-t[0],f=Math.sin(i)*u-Math.cos(i)*m,h=Math.cos(i)*u+Math.sin(i)*m;v(oe,r);const M=c?f/Math.sqrt(Math.abs(a[3]**2-z(n,oe)**2)):f/a[3],y=h/Math.sqrt(Math.abs(a[3]**2-z(n,o)**2));p(l,M,y)}function Gt(t,e,n,o,r,a,i,s,c,l){k(ie,t,e),H(a.up,a.eye,Lt,Nt,Qt),H([0,0,1],a.eye,Dt,Jt,Kt),P(n,Jt),P(o,Dt),v(n,n),b(n,n,g(ie)),U(t,v(Nt,Nt),v(Qt,Qt),v(Lt,Lt),Xt),U(e,Nt,Qt,Lt,Yt),Ut(Xt,Yt,t,Dt,Jt,i,s,c,l,r)}function qt(t,e,n,o,r,a,s){i(_t,r,o),i(te,s,a),c(ee,_t,te),h(e,t,n),M(e,e,ee),y(e,e,n)}function Ct(t,e,n,o,r,a){i(_t,o,n),i(te,a,r),c(ee,_t,te),h(oe,t.eye,e),M(oe,oe,ee),t.eye=y(oe,oe,e),h(oe,t.center,e),M(oe,oe,ee),t.center=y(oe,oe,e),h(oe,t.up,e),M(oe,oe,ee),t.up=y(oe,oe,e)}function Ft(t,e,n,o,r,a){return(Math.abs(o)>Math.PI-dt.Angle||Math.abs(o)<dt.Angle)&&(Math.abs(t[2])<n*dt.Pole||Math.abs(e)>n)&&a.aboveGround&&r<dt.Tilt}function Rt(t,e,n,o,r,a){if(a)E(n,o,$t),ct(e,t,$t);else{const a=Et(n,o,se,e,t[3],r);ct(e,t,A(se,a))}}function Vt(t,e,n,o,r,a,i){const s=i?20:1,c=1e-12;let l,m;P(ne,o),ae.copyFrom(e);for(let u=0;u<s&&x(n,ne)>c&&(l=x(n,ne),Gt(n,ne,Jt,Dt,Zt,ae,t,r,a,i),Ct(ae,t,Dt,Zt[1],Jt,Zt[0]),qt(ne,ne,t,Dt,Zt[1],Jt,Zt[0]),m=x(n,ne),m<l||0===u);u++)e.copyFrom(ae)}function Tt(n,o,r,a,i,s,c){Ft(r,z(o.up,r),n[3],-t.normalize(e(i)),s,o)?Vt(n,o,r,a,-t.normalize(e(i)),s,c):Rt(n,o,r,a,s,c)}function Ot(t,e,n,o,r,a){const{eye:i}=t;H([0,0,1],i,Dt,Jt,Kt);const s=e.translation[0]*n.pan,c="zoom"===r.mode?0:e.translation[1]*n.pan,m=Math.max(Math.sqrt(Math.abs(1-z(t.center,Dt)**2/g(t.center)**2)),.5),u=(Math.sin(a)*c+Math.cos(a)*s)/m,p=-Math.cos(a)*c+Math.sin(a)*s;switch(l(o.pan.matrix,o.pan.matrix,u,Dt),o.pan.enabled=!0,r.mode){case"pan":l(o.pan.matrix,o.pan.matrix,p,Jt),o.pan.enabled=!0;break;case"zoom":o.zoom=-e.translation[1]*n.zoom}}function Wt(t,e,n,o,r){const{eye:a,viewRight:i}=t,s=k(W.get(),i,a),c=e.translation[0]*n.pan;switch(0!==c&&(l(o.pan.matrix,o.pan.matrix,-c,s),o.pan.enabled=!0),r.mode){case"pan":{const t=e.translation[1]*n.pan;0!==t&&(l(o.pan.matrix,o.pan.matrix,t,i),o.pan.enabled=!0);break}case"zoom":o.zoom=-e.translation[1]*n.zoom}}function Bt(n,o,r,a,i,s,c,l,m){Ft(n.center,z(n.up,n.center),g(n.center),-t.normalize(e(s)),c,o)?Ot(o,r,a,l,m,-t.normalize(e(i))):Wt(o,r,a,l,m)}const Dt=I(),Jt=I(),Kt=I(),Lt=I(),Nt=I(),Qt=I(),Xt=I(),Yt=I(),Zt=f(),$t=w(),_t=u(),te=u(),ee=u(),ne=I(),oe=I(),re=I(),ae=new K,ie=I(),se=I(),ce={origin:I(),direction:I()},le={origin:I(),direction:I()};export{X as DISTANCE_CLAMP_VALUES,et as MIN_HEIGHT_LIMIT,gt as NavigationMode,tt as PAN_DISTANCE_MODIFIER,Q as PIVOT_DISTANCE_MODIFIER,dt as PreservingHeadingThreshold,nt as ROTATE_PIVOT_DISTANCE_MODIFIER,ot as ROTATE_PIVOT_MIN_DISTANCE_MODIFIER,rt as ROTATE_SCREEN_PIXEL_AREA,Y as SCREEN_PIXEL_AREA,N as SpherePickPointFallback,jt as TiltThresholdPanningSpeed,bt as VerticalPanTresholds,Z as ZOOM_DISTANCE_MODIFIER,_ as ZOOM_MAX_DISTANCE_MODIFIER,$ as ZOOM_MIN_DISTANCE_MODIFIER,xt as applyPanPlanar,Rt as applyPanSphericalDirectRotation,Vt as applyPanSphericalPreserveHeading,ct as applyRotation,Ct as applyRotationWithTwoAxes,pt as applyZoomOnSphere,ut as applyZoomToPoint,ht as centroid,at as contentIntersectorOptions,zt as decideNavigationMode,lt as intersectPlaneFromScreenPoint,mt as intersectPlaneFromScreenPointAtEye,Ht as lengthFromPoints,it as normalizeCoordinate,st as normalizeRotationDelta,yt as offSurfaceTiltToEyeTiltGlobal,Mt as onSurfaceTiltToEyeTiltGlobal,Bt as panMotionToRotationMatrix,Tt as panToPosition,vt as pickPointAndInitSphere,Ft as preserveHeadingThreshold,qt as rotatePointAroundTwoAxes,Et as rotationAngleAndAxisDirectRotation,Gt as rotationAnglesAndAxesHeadingPreserving,Ut as rotationAnglesHeadingPreserving,kt as sphereOrPlanePointFromScreenPoint};
@@ -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{acosClamped as o}from"../../../../core/mathUtils.js";import{g as s,l as t,d as r}from"../../../../chunks/vec3.js";import{c}from"../../../../chunks/vec3f64.js";function n(c,n,a){c.worldUpAtPosition(n,i),s(m,a,n);const e=t(m);return 0===e?0:o(r(m,i)/e)}const i=c(),m=c();export{n as viewAngle};
5
+ import{acosClamped as o}from"../../../../core/mathUtils.js";import{f as s,l as t,j as r}from"../../../../chunks/vec3.js";import{c}from"../../../../chunks/vec3f64.js";function n(c,n,f){c.worldUpAtPosition(n,i),s(m,f,n);const a=t(m);return 0===a?0:o(r(m,i)/a)}const i=c(),m=c();export{n as viewAngle};
@@ -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{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{a as i}from"../../../chunks/mat4.js";import{c as r}from"../../../chunks/mat4f64.js";import{e as n,b as o,x as s,m as a,s as c,d as p}from"../../../chunks/vec3.js";import{c as l}from"../../../chunks/vec3f64.js";import{getReferenceEllipsoid as h}from"../../../geometry/ellipsoidUtils.js";import{computeTranslationToOriginAndRotation as d}from"../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBoundingRect as _}from"../../../geometry/projection/projectBoundingRect.js";import{projectVectorToVector as m}from"../../../geometry/projection/projectVectorToVector.js";import{create as g,empty as u,expandWithVec3 as f}from"../../../geometry/support/aaBoundingBox.js";import{create as x,center as R}from"../../../geometry/support/aaBoundingRect.js";import{PlaneIndex as y}from"../../../geometry/support/frustum.js";import{create as j,fromPoints as A}from"../../../geometry/support/lineSegment.js";import{create as b,fromVectorsAndPoint as E,copy as S,negate as B,signedDistance as C}from"../../../geometry/support/plane.js";import{wrap as H}from"../../../geometry/support/ray.js";import{ViewingMode as w}from"../../ViewingMode.js";import{frustumLineSegment as G}from"./intersectionUtils.js";const M=.5*Math.PI,F=M/Math.PI*180;class N{constructor(t){this._renderCoordsHelper=t.renderCoordsHelper,this._extent=new Array(4),this._planes=new Array(6),this._maxSpan=0,this._center={origin:l(),direction:l()};for(let e=0;e<4;e++)this._extent[e]={origin:l(),direction:l(),cap:{next:null,direction:l()}},this._planes[e]=b();this._planes[y.NEAR]=b(),this._planes[y.FAR]=b(),this._planesWithoutFar=this._planes.slice(0,5)}update(t,e,i,r=!0){const a=this._extent;this._toRenderBoundingExtent(t,e,i),n(this._center.origin,a[0].origin,a[2].origin),o(this._center.origin,this._center.origin,.5),this._renderCoordsHelper.worldUpAtPosition(this._center.origin,this._center.direction),r||o(this._center.direction,this._center.direction,-1);for(let n=0;n<4;n++){const t=a[n];this._renderCoordsHelper.worldUpAtPosition(t.origin,t.direction);const e=a[3===n?0:n+1];t.cap.next=e.origin,s(t.cap.direction,t.origin,e.origin),E(t.direction,t.cap.direction,t.origin,this._planes[n]),r||o(t.direction,t.direction,-1)}E(a[0].cap.direction,a[1].cap.direction,a[0].origin,this._planes[y.NEAR]),r?B(this._planes[y.NEAR],this._planes[y.FAR]):(S(this._planes[y.FAR],this._planes[y.NEAR]),B(this._planes[y.NEAR],this._planes[y.NEAR])),this._maxSpan=Math.max(Math.abs(t[0]-t[2]),Math.abs(t[1]-t[3])),this._maxSpanSpatialReference=e,this._minGlobalAltitude=.9*h(this._maxSpanSpatialReference).radius}isVisibleInFrustum(t,e,i=!1){if(null==t)return!1;if(this._renderCoordsHelper.viewingMode===w.Global){const i=this._maxSpanSpatialReference.isGeographic?F:M*e;if(this._maxSpan>i)return!0;if(null!=t.altitude&&t.altitude>=this._minGlobalAltitude)return this._isVisibleInFrustumGlobal(t)}if(0===this._maxSpan){const e=this._extent[0];return!(i||!t.intersectsRay(H(e.origin,e.direction)))}for(let n=0;n<this._extent.length;n++){const e=this._extent[n];if(!i&&t.intersectsRay(H(e.origin,e.direction)))return!0;if(t.intersectsLineSegment(A(e.origin,e.cap.next,P),e.cap.direction))return!0}const r=i?this._planes:this._planesWithoutFar;for(let n=0;n<t.lines.length;n++){const e=t.lines[n];if(G(r,e.origin,e.endpoint,e.direction))return!0}return!1}_toRenderBoundingExtentGlobal(t,r,n){const o=5;R(t,U),U[2]=n,d(r,U,V,this._renderCoordsHelper.spatialReference),i(v,V),u(I);for(const{x0:i,x1:s,y0:c,y1:p}of k)for(let l=0;l<o;l++){const h=l/(o-1);U[0]=e(t[i],t[s],h),U[1]=e(t[c],t[p],h),U[2]=n,m(U,r,U,this._renderCoordsHelper.spatialReference),a(U,U,v),f(I,U)}c(this._extent[0].origin,I[0],I[1],I[2]),c(this._extent[1].origin,I[3],I[1],I[2]),c(this._extent[2].origin,I[3],I[4],I[2]),c(this._extent[3].origin,I[0],I[4],I[2]);for(let e=0;e<4;++e)a(this._extent[e].origin,this._extent[e].origin,V)}_toRenderBoundingExtentLocal(t,e,i){_(t,e,L,this._renderCoordsHelper.spatialReference),c(this._extent[0].origin,L[0],L[1],i),c(this._extent[1].origin,L[2],L[1],i),c(this._extent[2].origin,L[2],L[3],i),c(this._extent[3].origin,L[0],L[3],i)}_toRenderBoundingExtent(e,i,r){switch(this._renderCoordsHelper.viewingMode){case w.Global:this._toRenderBoundingExtentGlobal(e,i,r);break;case w.Local:this._toRenderBoundingExtentLocal(e,i,r);break;default:t(this._renderCoordsHelper.viewingMode)}}_isVisibleInFrustumGlobal(t){if(C(t.planes[y.NEAR],this._center.origin)<0&&p(this._center.direction,t.direction)<0)return!0;for(let e=0;e<4;e++){const i=this._extent[e];if(C(t.planes[y.NEAR],i.origin)<0&&p(i.direction,t.direction)<0)return!0}return!1}}const k=[{x0:0,y0:1,x1:2,y1:1},{x0:0,y0:3,x1:2,y1:3},{x0:0,y0:1,x1:0,y1:3},{x0:2,y0:1,x1:2,y1:3}],U=l(),V=r(),v=r(),I=g(),L=x(),P=j();export{N as FrustumExtentIntersection};
5
+ import{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{i}from"../../../chunks/mat4.js";import{a as r}from"../../../chunks/mat4f64.js";import{g as n,i as o,C as s,e as a,s as c,j as p}from"../../../chunks/vec3.js";import{c as l}from"../../../chunks/vec3f64.js";import{getReferenceEllipsoid as h}from"../../../geometry/ellipsoidUtils.js";import{computeTranslationToOriginAndRotation as d}from"../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBoundingRect as _}from"../../../geometry/projection/projectBoundingRect.js";import{projectVectorToVector as m}from"../../../geometry/projection/projectVectorToVector.js";import{create as g,empty as u,expandWithVec3 as f}from"../../../geometry/support/aaBoundingBox.js";import{create as x,center as R}from"../../../geometry/support/aaBoundingRect.js";import{PlaneIndex as y}from"../../../geometry/support/frustum.js";import{create as j,fromPoints as A}from"../../../geometry/support/lineSegment.js";import{create as b,fromVectorsAndPoint as E,copy as S,negate as C,signedDistance as B}from"../../../geometry/support/plane.js";import{wrap as H}from"../../../geometry/support/ray.js";import{ViewingMode as w}from"../../ViewingMode.js";import{frustumLineSegment as G}from"./intersectionUtils.js";const M=.5*Math.PI,F=M/Math.PI*180;class N{constructor(t){this._renderCoordsHelper=t.renderCoordsHelper,this._extent=new Array(4),this._planes=new Array(6),this._maxSpan=0,this._center={origin:l(),direction:l()};for(let e=0;e<4;e++)this._extent[e]={origin:l(),direction:l(),cap:{next:null,direction:l()}},this._planes[e]=b();this._planes[y.NEAR]=b(),this._planes[y.FAR]=b(),this._planesWithoutFar=this._planes.slice(0,5)}update(t,e,i,r=!0){const a=this._extent;this._toRenderBoundingExtent(t,e,i),n(this._center.origin,a[0].origin,a[2].origin),o(this._center.origin,this._center.origin,.5),this._renderCoordsHelper.worldUpAtPosition(this._center.origin,this._center.direction),r||o(this._center.direction,this._center.direction,-1);for(let n=0;n<4;n++){const t=a[n];this._renderCoordsHelper.worldUpAtPosition(t.origin,t.direction);const e=a[3===n?0:n+1];t.cap.next=e.origin,s(t.cap.direction,t.origin,e.origin),E(t.direction,t.cap.direction,t.origin,this._planes[n]),r||o(t.direction,t.direction,-1)}E(a[0].cap.direction,a[1].cap.direction,a[0].origin,this._planes[y.NEAR]),r?C(this._planes[y.NEAR],this._planes[y.FAR]):(S(this._planes[y.FAR],this._planes[y.NEAR]),C(this._planes[y.NEAR],this._planes[y.NEAR])),this._maxSpan=Math.max(Math.abs(t[0]-t[2]),Math.abs(t[1]-t[3])),this._maxSpanSpatialReference=e,this._minGlobalAltitude=.9*h(this._maxSpanSpatialReference).radius}isVisibleInFrustum(t,e,i=!1){if(null==t)return!1;if(this._renderCoordsHelper.viewingMode===w.Global){const i=this._maxSpanSpatialReference.isGeographic?F:M*e;if(this._maxSpan>i)return!0;if(null!=t.altitude&&t.altitude>=this._minGlobalAltitude)return this._isVisibleInFrustumGlobal(t)}if(0===this._maxSpan){const e=this._extent[0];return!(i||!t.intersectsRay(H(e.origin,e.direction)))}for(let n=0;n<this._extent.length;n++){const e=this._extent[n];if(!i&&t.intersectsRay(H(e.origin,e.direction)))return!0;if(t.intersectsLineSegment(A(e.origin,e.cap.next,P),e.cap.direction))return!0}const r=i?this._planes:this._planesWithoutFar;for(let n=0;n<t.lines.length;n++){const e=t.lines[n];if(G(r,e.origin,e.endpoint,e.direction))return!0}return!1}_toRenderBoundingExtentGlobal(t,r,n){const o=5;R(t,U),U[2]=n,d(r,U,V,this._renderCoordsHelper.spatialReference),i(v,V),u(I);for(const{x0:i,x1:s,y0:c,y1:p}of k)for(let l=0;l<o;l++){const h=l/(o-1);U[0]=e(t[i],t[s],h),U[1]=e(t[c],t[p],h),U[2]=n,m(U,r,U,this._renderCoordsHelper.spatialReference),a(U,U,v),f(I,U)}c(this._extent[0].origin,I[0],I[1],I[2]),c(this._extent[1].origin,I[3],I[1],I[2]),c(this._extent[2].origin,I[3],I[4],I[2]),c(this._extent[3].origin,I[0],I[4],I[2]);for(let e=0;e<4;++e)a(this._extent[e].origin,this._extent[e].origin,V)}_toRenderBoundingExtentLocal(t,e,i){_(t,e,L,this._renderCoordsHelper.spatialReference),c(this._extent[0].origin,L[0],L[1],i),c(this._extent[1].origin,L[2],L[1],i),c(this._extent[2].origin,L[2],L[3],i),c(this._extent[3].origin,L[0],L[3],i)}_toRenderBoundingExtent(e,i,r){switch(this._renderCoordsHelper.viewingMode){case w.Global:this._toRenderBoundingExtentGlobal(e,i,r);break;case w.Local:this._toRenderBoundingExtentLocal(e,i,r);break;default:t(this._renderCoordsHelper.viewingMode)}}_isVisibleInFrustumGlobal(t){if(B(t.planes[y.NEAR],this._center.origin)<0&&p(this._center.direction,t.direction)<0)return!0;for(let e=0;e<4;e++){const i=this._extent[e];if(B(t.planes[y.NEAR],i.origin)<0&&p(i.direction,t.direction)<0)return!0}return!1}}const k=[{x0:0,y0:1,x1:2,y1:1},{x0:0,y0:3,x1:2,y1:3},{x0:0,y0:1,x1:0,y1:3},{x0:2,y0:1,x1:2,y1:3}],U=l(),V=r(),v=r(),I=g(),L=x(),P=j();export{N as FrustumExtentIntersection};
@@ -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{releaseMaybe as t,disposeMaybe as i}from"../../../core/maybe.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 n}from"../../../core/accessorSupport/decorators/subclass.js";import{i as r,e as a}from"../../../chunks/vec3.js";import{create as h,fromRay as l,getStart as o,getEnd as c}from"../../../geometry/support/clipRay.js";import{intersectClipRay as d}from"../../../geometry/support/frustum.js";import{copy as p}from"../../../geometry/support/lineSegment.js";import{wrap as _}from"../../../geometry/support/ray.js";import{ViewingMode as u}from"../../ViewingMode.js";import{LaserlinePathData as m}from"./LaserlinePathData.js";import{ShaderOutput as g}from"../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncPrepareRenderPlugin as P}from"../webgl-engine/effects/RenderPlugin.js";import{RenderSlot as b}from"../webgl-engine/lib/RenderSlot.js";import{updateParameters as E}from"../webgl-engine/materials/internal/MaterialUtil.js";import{LaserlinePathTechnique as f}from"../webgl-engine/shaders/LaserlinePathTechnique.js";import{LaserlinePathTechniqueConfiguration as q}from"../webgl-engine/shaders/LaserlinePathTechniqueConfiguration.js";import{LaserlinePassParameters as L,LaserlineTechnique as R}from"../webgl-engine/shaders/LaserlineTechnique.js";import{LaserlineTechniqueConfiguration as V}from"../webgl-engine/shaders/LaserlineTechniqueConfiguration.js";let D=class extends P{constructor(e){super(e),this._technique=null,this._heightManifoldEnabled=!1,this._pointDistanceEnabled=!1,this._lineVerticalPlaneEnabled=!1,this._intersectsLineEnabled=!1,this._intersectsLineInfinite=!1,this._viewingMode=u.Local,this._pathVerticalPlaneEnabled=!1,this._pathVerticalPlaneData=null,this._pathTechnique=null,this._passParameters=new L}initialize(){this._passParameters.renderCoordsHelper=this.renderCoordsHelper}get renderSlots(){return[this.contrastControlEnabled?b.LASERLINES_CONTRAST_CONTROL:b.LASERLINES]}produces(e){return e===b.LASERLINES||this.contrastControlEnabled&&e===b.LASERLINES_CONTRAST_CONTROL}consumes(e){return e===g.Depth}get isDecoration(){return this._isDecoration}get heightManifoldEnabled(){return this._heightManifoldEnabled}set heightManifoldEnabled(e){this._heightManifoldEnabled!==e&&(this._heightManifoldEnabled=e,this._requestRender())}get heightManifoldTarget(){return this._passParameters.heightManifoldTarget}set heightManifoldTarget(e){r(this._passParameters.heightManifoldTarget,e),this._requestRender()}get pointDistanceEnabled(){return this._pointDistanceEnabled}set pointDistanceEnabled(e){e!==this._pointDistanceEnabled&&(this._pointDistanceEnabled=e,this._requestRender())}get pointDistanceTarget(){return this._passParameters.pointDistanceTarget}set pointDistanceTarget(e){r(this._passParameters.pointDistanceTarget,e),this._requestRender()}get pointDistanceOrigin(){return this._passParameters.pointDistanceOrigin}set pointDistanceOrigin(e){r(this._passParameters.pointDistanceOrigin,e),this._requestRender()}get lineVerticalPlaneEnabled(){return this._lineVerticalPlaneEnabled}set lineVerticalPlaneEnabled(e){e!==this._lineVerticalPlaneEnabled&&(this._lineVerticalPlaneEnabled=e,this._requestRender())}get lineVerticalPlaneSegment(){return this._passParameters.lineVerticalPlaneSegment}set lineVerticalPlaneSegment(e){p(e,this._passParameters.lineVerticalPlaneSegment),this._requestRender()}get intersectsLineEnabled(){return this._intersectsLineEnabled}set intersectsLineEnabled(e){e!==this._intersectsLineEnabled&&(this._intersectsLineEnabled=e,this._requestRender())}get intersectsLineSegment(){return this._passParameters.intersectsLineSegment}set intersectsLineSegment(e){p(e,this._passParameters.intersectsLineSegment),this._requestRender()}get intersectsLineRadius(){return this._passParameters.intersectsLineRadius}set intersectsLineRadius(e){e!==this._passParameters.intersectsLineRadius&&(this._passParameters.intersectsLineRadius=e,this._requestRender())}get intersectsLineInfinite(){return this._intersectsLineInfinite}set intersectsLineInfinite(e){e!==this._intersectsLineInfinite&&(this._intersectsLineInfinite=e,this._requestRender())}get viewingMode(){return this._viewingMode}set viewingMode(e){e!==this._viewingMode&&(this._viewingMode=e,this._requestRender())}get pathVerticalPlaneEnabled(){return this._pathVerticalPlaneEnabled}set pathVerticalPlaneEnabled(e){e!==this._pathVerticalPlaneEnabled&&(this._pathVerticalPlaneEnabled=e,null!=this._pathVerticalPlaneData&&this._requestRender())}set pathVerticalPlaneVertices(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new m(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.vertices=e,this.pathVerticalPlaneEnabled&&this._requestRender()}set pathVerticalPlaneBuffers(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new m(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.buffers=e,this.pathVerticalPlaneEnabled&&this._requestRender()}setParameters(e){E(this._passParameters,e)&&this._requestRender()}initializeRenderContext(e){this._context=e,this._techniqueRepository=e.techniqueRepository,this._techniqueConfig=new V;const t=new q;t.contrastControlEnabled=this.contrastControlEnabled,this._pathTechnique=this._techniqueRepository.acquire(f,t)}uninitializeRenderContext(){this._technique=t(this._technique),this._pathVerticalPlaneData=i(this._pathVerticalPlaneData),this._pathTechnique=t(this._pathTechnique)}prepareTechnique(){return this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled?(this._techniqueConfig.heightManifoldEnabled=this.heightManifoldEnabled,this._techniqueConfig.lineVerticalPlaneEnabled=this.lineVerticalPlaneEnabled,this._techniqueConfig.pointDistanceEnabled=this.pointDistanceEnabled,this._techniqueConfig.intersectsLineEnabled=this.intersectsLineEnabled,this._techniqueConfig.contrastControlEnabled=this.contrastControlEnabled,this._techniqueConfig.spherical=this._viewingMode===u.Global,this._technique=this._techniqueRepository.releaseAndAcquire(R,this._techniqueConfig,this._technique),this._technique):this._pathTechnique}render(e,t){(this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled)&&this._renderUnified(e,t),this.pathVerticalPlaneEnabled&&this._renderPath(e)}_renderUnified(e,t){const i=e.rctx;this._updatePassParameters(e),i.bindTechnique(t,this._passParameters,e.bindParameters),i.screen.draw()}_renderPath(e){if(null==this._pathVerticalPlaneData||null==this._pathTechnique)return;const t=e.rctx,i=this._pathTechnique;t.bindTechnique(i,{...this._passParameters,origin:this._pathVerticalPlaneData.origin},e.bindParameters),this._pathVerticalPlaneData.draw(e.rctx)}_updatePassParameters(e){if(!this._intersectsLineEnabled)return;const t=e.bindParameters.camera;if(this._intersectsLineInfinite){if(l(_(this._passParameters.intersectsLineSegment.origin,this._passParameters.intersectsLineSegment.vector),S),S.c0=-Number.MAX_VALUE,!d(t.frustum,S))return;o(S,this._passParameters.lineStartWorld),c(S,this._passParameters.lineEndWorld)}else r(this._passParameters.lineStartWorld,this._passParameters.intersectsLineSegment.origin),a(this._passParameters.lineEndWorld,this._passParameters.intersectsLineSegment.origin,this._passParameters.intersectsLineSegment.vector)}_requestRender(){this._context&&this._context.requestRender()}get test(){return{passParameters:this._passParameters}}};e([s({constructOnly:!0})],D.prototype,"contrastControlEnabled",void 0),e([s({constructOnly:!0})],D.prototype,"_isDecoration",void 0),e([s({constructOnly:!0})],D.prototype,"renderCoordsHelper",void 0),D=e([n("esri.views.3d.support.LaserLineRenderer")],D);const S=h();export{D as LaserLineRenderer};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{releaseMaybe as t,disposeMaybe as i}from"../../../core/maybe.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 n}from"../../../core/accessorSupport/decorators/subclass.js";import{c as r,g as a}from"../../../chunks/vec3.js";import{create as h,fromRay as l,getStart as o,getEnd as c}from"../../../geometry/support/clipRay.js";import{intersectClipRay as d}from"../../../geometry/support/frustum.js";import{copy as p}from"../../../geometry/support/lineSegment.js";import{wrap as _}from"../../../geometry/support/ray.js";import{ViewingMode as u}from"../../ViewingMode.js";import{LaserlinePathData as m}from"./LaserlinePathData.js";import{ShaderOutput as g}from"../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncPrepareRenderPlugin as P}from"../webgl-engine/effects/RenderPlugin.js";import{RenderSlot as b}from"../webgl-engine/lib/RenderSlot.js";import{updateParameters as E}from"../webgl-engine/materials/internal/MaterialUtil.js";import{LaserlinePathTechnique as f}from"../webgl-engine/shaders/LaserlinePathTechnique.js";import{LaserlinePathTechniqueConfiguration as q}from"../webgl-engine/shaders/LaserlinePathTechniqueConfiguration.js";import{LaserlinePassParameters as L,LaserlineTechnique as R}from"../webgl-engine/shaders/LaserlineTechnique.js";import{LaserlineTechniqueConfiguration as V}from"../webgl-engine/shaders/LaserlineTechniqueConfiguration.js";let D=class extends P{constructor(e){super(e),this._technique=null,this._heightManifoldEnabled=!1,this._pointDistanceEnabled=!1,this._lineVerticalPlaneEnabled=!1,this._intersectsLineEnabled=!1,this._intersectsLineInfinite=!1,this._viewingMode=u.Local,this._pathVerticalPlaneEnabled=!1,this._pathVerticalPlaneData=null,this._pathTechnique=null,this._passParameters=new L}initialize(){this._passParameters.renderCoordsHelper=this.renderCoordsHelper}get renderSlots(){return[this.contrastControlEnabled?b.LASERLINES_CONTRAST_CONTROL:b.LASERLINES]}produces(e){return e===b.LASERLINES||this.contrastControlEnabled&&e===b.LASERLINES_CONTRAST_CONTROL}consumes(e){return e===g.Depth}get isDecoration(){return this._isDecoration}get heightManifoldEnabled(){return this._heightManifoldEnabled}set heightManifoldEnabled(e){this._heightManifoldEnabled!==e&&(this._heightManifoldEnabled=e,this._requestRender())}get heightManifoldTarget(){return this._passParameters.heightManifoldTarget}set heightManifoldTarget(e){r(this._passParameters.heightManifoldTarget,e),this._requestRender()}get pointDistanceEnabled(){return this._pointDistanceEnabled}set pointDistanceEnabled(e){e!==this._pointDistanceEnabled&&(this._pointDistanceEnabled=e,this._requestRender())}get pointDistanceTarget(){return this._passParameters.pointDistanceTarget}set pointDistanceTarget(e){r(this._passParameters.pointDistanceTarget,e),this._requestRender()}get pointDistanceOrigin(){return this._passParameters.pointDistanceOrigin}set pointDistanceOrigin(e){r(this._passParameters.pointDistanceOrigin,e),this._requestRender()}get lineVerticalPlaneEnabled(){return this._lineVerticalPlaneEnabled}set lineVerticalPlaneEnabled(e){e!==this._lineVerticalPlaneEnabled&&(this._lineVerticalPlaneEnabled=e,this._requestRender())}get lineVerticalPlaneSegment(){return this._passParameters.lineVerticalPlaneSegment}set lineVerticalPlaneSegment(e){p(e,this._passParameters.lineVerticalPlaneSegment),this._requestRender()}get intersectsLineEnabled(){return this._intersectsLineEnabled}set intersectsLineEnabled(e){e!==this._intersectsLineEnabled&&(this._intersectsLineEnabled=e,this._requestRender())}get intersectsLineSegment(){return this._passParameters.intersectsLineSegment}set intersectsLineSegment(e){p(e,this._passParameters.intersectsLineSegment),this._requestRender()}get intersectsLineRadius(){return this._passParameters.intersectsLineRadius}set intersectsLineRadius(e){e!==this._passParameters.intersectsLineRadius&&(this._passParameters.intersectsLineRadius=e,this._requestRender())}get intersectsLineInfinite(){return this._intersectsLineInfinite}set intersectsLineInfinite(e){e!==this._intersectsLineInfinite&&(this._intersectsLineInfinite=e,this._requestRender())}get viewingMode(){return this._viewingMode}set viewingMode(e){e!==this._viewingMode&&(this._viewingMode=e,this._requestRender())}get pathVerticalPlaneEnabled(){return this._pathVerticalPlaneEnabled}set pathVerticalPlaneEnabled(e){e!==this._pathVerticalPlaneEnabled&&(this._pathVerticalPlaneEnabled=e,null!=this._pathVerticalPlaneData&&this._requestRender())}set pathVerticalPlaneVertices(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new m(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.vertices=e,this.pathVerticalPlaneEnabled&&this._requestRender()}set pathVerticalPlaneBuffers(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new m(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.buffers=e,this.pathVerticalPlaneEnabled&&this._requestRender()}setParameters(e){E(this._passParameters,e)&&this._requestRender()}initializeRenderContext(e){this._context=e,this._techniqueRepository=e.techniqueRepository,this._techniqueConfig=new V;const t=new q;t.contrastControlEnabled=this.contrastControlEnabled,this._pathTechnique=this._techniqueRepository.acquire(f,t)}uninitializeRenderContext(){this._technique=t(this._technique),this._pathVerticalPlaneData=i(this._pathVerticalPlaneData),this._pathTechnique=t(this._pathTechnique)}prepareTechnique(){return this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled?(this._techniqueConfig.heightManifoldEnabled=this.heightManifoldEnabled,this._techniqueConfig.lineVerticalPlaneEnabled=this.lineVerticalPlaneEnabled,this._techniqueConfig.pointDistanceEnabled=this.pointDistanceEnabled,this._techniqueConfig.intersectsLineEnabled=this.intersectsLineEnabled,this._techniqueConfig.contrastControlEnabled=this.contrastControlEnabled,this._techniqueConfig.spherical=this._viewingMode===u.Global,this._technique=this._techniqueRepository.releaseAndAcquire(R,this._techniqueConfig,this._technique),this._technique):this._pathTechnique}render(e,t){(this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled)&&this._renderUnified(e,t),this.pathVerticalPlaneEnabled&&this._renderPath(e)}_renderUnified(e,t){const i=e.rctx;this._updatePassParameters(e),i.bindTechnique(t,this._passParameters,e.bindParameters),i.screen.draw()}_renderPath(e){if(null==this._pathVerticalPlaneData||null==this._pathTechnique)return;const t=e.rctx,i=this._pathTechnique;t.bindTechnique(i,{...this._passParameters,origin:this._pathVerticalPlaneData.origin},e.bindParameters),this._pathVerticalPlaneData.draw(e.rctx)}_updatePassParameters(e){if(!this._intersectsLineEnabled)return;const t=e.bindParameters.camera;if(this._intersectsLineInfinite){if(l(_(this._passParameters.intersectsLineSegment.origin,this._passParameters.intersectsLineSegment.vector),S),S.c0=-Number.MAX_VALUE,!d(t.frustum,S))return;o(S,this._passParameters.lineStartWorld),c(S,this._passParameters.lineEndWorld)}else r(this._passParameters.lineStartWorld,this._passParameters.intersectsLineSegment.origin),a(this._passParameters.lineEndWorld,this._passParameters.intersectsLineSegment.origin,this._passParameters.intersectsLineSegment.vector)}_requestRender(){this._context&&this._context.requestRender()}get test(){return{passParameters:this._passParameters}}};e([s({constructOnly:!0})],D.prototype,"contrastControlEnabled",void 0),e([s({constructOnly:!0})],D.prototype,"_isDecoration",void 0),e([s({constructOnly:!0})],D.prototype,"renderCoordsHelper",void 0),D=e([n("esri.views.3d.support.LaserLineRenderer")],D);const S=h();export{D as LaserLineRenderer};
@@ -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 as e,g as t}from"../../../chunks/vec3.js";import{c as r}from"../../../chunks/vec3f64.js";import{newDoubleArray as s}from"../../../geometry/support/DoubleArray.js";import{glLayout as i}from"./buffer/glUtil.js";import{newLayout as o}from"./buffer/InterleavedLayout.js";import{VertexArrayObject as n}from"../webgl-engine/lib/VertexArrayObject.js";import{VertexAttribute as u}from"../webgl-engine/lib/VertexAttribute.js";import{attributeLocations as f}from"../webgl-engine/shaders/LaserlinePathTechnique.js";import{BufferObject as a}from"../../webgl/BufferObject.js";import{PrimitiveType as l,Usage as h}from"../../webgl/enums.js";class c{constructor(e){this._renderCoordsHelper=e,this._buffers=null,this._origin=r(),this._dirty=!1,this._count=0,this._vao=null}set vertices(e){const t=s(3*e.length);let r=0;for(const s of e)t[r++]=s[0],t[r++]=s[1],t[r++]=s[2];this.buffers=[t]}set buffers(t){if(this._buffers=t,this._buffers.length>0){const t=this._buffers[0],r=3*Math.floor(t.length/3/2);e(this._origin,t[r],t[r+1],t[r+2])}else e(this._origin,0,0,0);this._dirty=!0}get origin(){return this._origin}draw(e){const t=this._ensureVAO(e);null!=t&&(e.bindVAO(t),e.drawArrays(l.TRIANGLES,0,this._count))}dispose(){null!=this._vao&&this._vao.dispose()}_ensureVAO(e){return null==this._buffers?null:(null==this._vao&&(this._vao=this._createVAO(e,this._buffers)),this._ensureVertexData(this._vao,this._buffers),this._vao)}_createVAO(e,t){const r=this._createDataBuffer(t);return this._dirty=!1,new n(e,f,{data:i(b)},{data:a.createVertex(e,h.STATIC_DRAW,r)})}_ensureVertexData(e,t){if(!this._dirty)return;const r=this._createDataBuffer(t);e.vertexBuffers.data?.setData(r),this._dirty=!1}_numberOfRenderVertices(e){return 3*(2*(e.length/3-1))}_createDataBuffer(r){const s=r.reduce(((e,t)=>e+this._numberOfRenderVertices(t)),0);this._count=s;const i=b.createBuffer(s),o=this._origin;let n=0,u=0;for(const f of r){for(let r=0;r<f.length;r+=3){const s=e(d,f[r],f[r+1],f[r+2]);0===r?u=this._renderCoordsHelper.getAltitude(s):this._renderCoordsHelper.setAltitude(s,u);const a=this._renderCoordsHelper.worldUpAtPosition(s,_),l=n+2*r,h=t(d,s,o);if(r<f.length-3){i.up.setVec(l,a),i.up.setVec(l+3,a),i.up.setVec(l+5,a);for(let e=0;e<6;e++)i.start.setVec(l+e,h);i.extrude.setValues(l,0,-1),i.extrude.setValues(l+1,1,-1),i.extrude.setValues(l+2,1,1),i.extrude.setValues(l+3,0,-1),i.extrude.setValues(l+4,1,1),i.extrude.setValues(l+5,0,1)}if(r>0){i.up.setVec(l-2,a),i.up.setVec(l-4,a),i.up.setVec(l-5,a);for(let e=-6;e<0;e++)i.end.setVec(l+e,h)}}n+=this._numberOfRenderVertices(f)}return i.buffer}}const _=r(),d=r(),b=o().vec3f(u.START).vec3f(u.END).vec3f(u.UP).vec2f(u.EXTRUDE);export{c as LaserlinePathData};
5
+ import{s as e,f as t}from"../../../chunks/vec3.js";import{c as r}from"../../../chunks/vec3f64.js";import{newDoubleArray as s}from"../../../geometry/support/DoubleArray.js";import{glLayout as i}from"./buffer/glUtil.js";import{newLayout as o}from"./buffer/InterleavedLayout.js";import{VertexArrayObject as n}from"../webgl-engine/lib/VertexArrayObject.js";import{VertexAttribute as u}from"../webgl-engine/lib/VertexAttribute.js";import{attributeLocations as f}from"../webgl-engine/shaders/LaserlinePathTechnique.js";import{BufferObject as a}from"../../webgl/BufferObject.js";import{PrimitiveType as l,Usage as h}from"../../webgl/enums.js";class c{constructor(e){this._renderCoordsHelper=e,this._buffers=null,this._origin=r(),this._dirty=!1,this._count=0,this._vao=null}set vertices(e){const t=s(3*e.length);let r=0;for(const s of e)t[r++]=s[0],t[r++]=s[1],t[r++]=s[2];this.buffers=[t]}set buffers(t){if(this._buffers=t,this._buffers.length>0){const t=this._buffers[0],r=3*Math.floor(t.length/3/2);e(this._origin,t[r],t[r+1],t[r+2])}else e(this._origin,0,0,0);this._dirty=!0}get origin(){return this._origin}draw(e){const t=this._ensureVAO(e);null!=t&&(e.bindVAO(t),e.drawArrays(l.TRIANGLES,0,this._count))}dispose(){null!=this._vao&&this._vao.dispose()}_ensureVAO(e){return null==this._buffers?null:(null==this._vao&&(this._vao=this._createVAO(e,this._buffers)),this._ensureVertexData(this._vao,this._buffers),this._vao)}_createVAO(e,t){const r=this._createDataBuffer(t);return this._dirty=!1,new n(e,f,{data:i(b)},{data:a.createVertex(e,h.STATIC_DRAW,r)})}_ensureVertexData(e,t){if(!this._dirty)return;const r=this._createDataBuffer(t);e.vertexBuffers.data?.setData(r),this._dirty=!1}_numberOfRenderVertices(e){return 3*(2*(e.length/3-1))}_createDataBuffer(r){const s=r.reduce(((e,t)=>e+this._numberOfRenderVertices(t)),0);this._count=s;const i=b.createBuffer(s),o=this._origin;let n=0,u=0;for(const f of r){for(let r=0;r<f.length;r+=3){const s=e(d,f[r],f[r+1],f[r+2]);0===r?u=this._renderCoordsHelper.getAltitude(s):this._renderCoordsHelper.setAltitude(s,u);const a=this._renderCoordsHelper.worldUpAtPosition(s,_),l=n+2*r,h=t(d,s,o);if(r<f.length-3){i.up.setVec(l,a),i.up.setVec(l+3,a),i.up.setVec(l+5,a);for(let e=0;e<6;e++)i.start.setVec(l+e,h);i.extrude.setValues(l,0,-1),i.extrude.setValues(l+1,1,-1),i.extrude.setValues(l+2,1,1),i.extrude.setValues(l+3,0,-1),i.extrude.setValues(l+4,1,1),i.extrude.setValues(l+5,0,1)}if(r>0){i.up.setVec(l-2,a),i.up.setVec(l-4,a),i.up.setVec(l-5,a);for(let e=-6;e<0;e++)i.end.setVec(l+e,h)}}n+=this._numberOfRenderVertices(f)}return i.buffer}}const _=r(),d=r(),b=o().vec3f(u.START).vec3f(u.END).vec3f(u.UP).vec2f(u.EXTRUDE);export{c as LaserlinePathData};
@@ -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{rad2deg as t}from"../../../core/mathUtils.js";import{getMetersPerUnitForSR as e,getMetersPerCartesianUnitForSR as o}from"../../../core/unitUtils.js";import{s as r}from"../../../chunks/mat4.js";import{i}from"../../../chunks/vec3.js";import{isVec3 as s}from"../../../core/libs/gl-matrix-2/types/vec3.js";import{projectPointToVector as n}from"../../../geometry/projection/projectPointToVector.js";import{projectVectorToDehydratedPoint as a}from"../../../geometry/projection/projectVectorToDehydratedPoint.js";import{projectVectorToPoint as m}from"../../../geometry/projection/projectVectorToPoint.js";import{projectVectorToVector as c}from"../../../geometry/projection/projectVectorToVector.js";import{Axis as p}from"../../../geometry/support/Axis.js";import{create as l,setExtent as d,altitudeAt as h,setAltitudeAt as u,setAltitudeOfTransformation as y,normalAt as f,axisAt as j,elevate as g,intersectRayClosestSilhouette as S,intersectRay as _,createGlobal as w,createLocal as A}from"../../../geometry/support/coordinateSystem.js";import{intersectRay as P}from"../../../geometry/support/plane.js";import{angleAroundAxis as C}from"../../../geometry/support/vector.js";import{sv3d as R}from"../../../geometry/support/vectorStacks.js";import{isDehydratedPoint as M}from"../../../layers/graphics/dehydratedFeatureUtils.js";import{ViewingMode as v}from"../../ViewingMode.js";class U{constructor(t,e,o,r){this.viewingMode=t,this.spatialReference=e,this.unitInMeters=o,this._coordinateSystem=r,this._tmpCoordinateSystem=l(r)}set extent(t){t&&d(this._coordinateSystem,t,this._coordinateSystem)}getAltitude(t){return h(this._coordinateSystem,t)}setAltitude(t,e,o=t){return u(this._coordinateSystem,o,e,t)}setAltitudeOfTransformation(t,e){y(this._coordinateSystem,e,t,e)}worldUpAtPosition(t,e){return f(this._coordinateSystem,t,e)}worldBasisAtPosition(t,e,o){return j(this._coordinateSystem,t,e,o)}basisMatrixAtPosition(t,e){const o=this.worldBasisAtPosition(t,p.X,R.get()),i=this.worldBasisAtPosition(t,p.Y,R.get()),s=this.worldBasisAtPosition(t,p.Z,R.get());return r(e,o[0],o[1],o[2],0,i[0],i[1],i[2],0,s[0],s[1],s[2],0,0,0,0,1),e}headingAtPosition(e,o){const r=this.worldUpAtPosition(e,R.get()),i=this.worldBasisAtPosition(e,p.Y,R.get()),s=C(o,i,r);return t(s)}intersectManifoldClosestSilhouette(t,e,o){return g(this._coordinateSystem,e,this._tmpCoordinateSystem),S(this._tmpCoordinateSystem,t,o),o}intersectManifold(t,e,o){g(this._coordinateSystem,e,this._tmpCoordinateSystem);const r=R.get();return _(this._tmpCoordinateSystem,t,r)?i(o,r):null}intersectInfiniteManifold(t,e,o){if(this.viewingMode===v.Global)return this.intersectManifold(t,e,o);g(this._coordinateSystem,e,this._tmpCoordinateSystem);const r=this._tmpCoordinateSystem.value,s=R.get();return P(r.plane,t,s)?i(o,s):null}toRenderCoords(t,e,o){return M(t)?n(t,e,this.spatialReference):c(t,e,o,this.spatialReference)}fromRenderCoords(t,e,o=null){return M(e)?(null!=o&&(e.spatialReference=o),a(t,this.spatialReference,e)):s(e)?c(t,this.spatialReference,e,o)?e:null:m(t,this.spatialReference,e)}static create(t,o){switch(t){case v.Local:return new U(v.Local,o,e(o),A());case v.Global:return new U(v.Global,o,1,w(o))}}static renderUnitScaleFactor(t,e){return o(t)/o(e)}}export{U as RenderCoordsHelper};
5
+ import{rad2deg as t}from"../../../core/mathUtils.js";import{getMetersPerUnitForSR as e,getMetersPerCartesianUnitForSR as o}from"../../../core/unitUtils.js";import{s as r}from"../../../chunks/mat4.js";import{c as i}from"../../../chunks/vec3.js";import{isVec3 as s}from"../../../core/libs/gl-matrix-2/types/vec3.js";import{projectPointToVector as n}from"../../../geometry/projection/projectPointToVector.js";import{projectVectorToDehydratedPoint as a}from"../../../geometry/projection/projectVectorToDehydratedPoint.js";import{projectVectorToPoint as m}from"../../../geometry/projection/projectVectorToPoint.js";import{projectVectorToVector as c}from"../../../geometry/projection/projectVectorToVector.js";import{Axis as p}from"../../../geometry/support/Axis.js";import{create as l,setExtent as d,altitudeAt as h,setAltitudeAt as u,setAltitudeOfTransformation as y,normalAt as f,axisAt as j,elevate as g,intersectRayClosestSilhouette as S,intersectRay as _,createGlobal as w,createLocal as A}from"../../../geometry/support/coordinateSystem.js";import{intersectRay as P}from"../../../geometry/support/plane.js";import{angleAroundAxis as C}from"../../../geometry/support/vector.js";import{sv3d as R}from"../../../geometry/support/vectorStacks.js";import{isDehydratedPoint as M}from"../../../layers/graphics/dehydratedFeatureUtils.js";import{ViewingMode as v}from"../../ViewingMode.js";class U{constructor(t,e,o,r){this.viewingMode=t,this.spatialReference=e,this.unitInMeters=o,this._coordinateSystem=r,this._tmpCoordinateSystem=l(r)}set extent(t){t&&d(this._coordinateSystem,t,this._coordinateSystem)}getAltitude(t){return h(this._coordinateSystem,t)}setAltitude(t,e,o=t){return u(this._coordinateSystem,o,e,t)}setAltitudeOfTransformation(t,e){y(this._coordinateSystem,e,t,e)}worldUpAtPosition(t,e){return f(this._coordinateSystem,t,e)}worldBasisAtPosition(t,e,o){return j(this._coordinateSystem,t,e,o)}basisMatrixAtPosition(t,e){const o=this.worldBasisAtPosition(t,p.X,R.get()),i=this.worldBasisAtPosition(t,p.Y,R.get()),s=this.worldBasisAtPosition(t,p.Z,R.get());return r(e,o[0],o[1],o[2],0,i[0],i[1],i[2],0,s[0],s[1],s[2],0,0,0,0,1),e}headingAtPosition(e,o){const r=this.worldUpAtPosition(e,R.get()),i=this.worldBasisAtPosition(e,p.Y,R.get()),s=C(o,i,r);return t(s)}intersectManifoldClosestSilhouette(t,e,o){return g(this._coordinateSystem,e,this._tmpCoordinateSystem),S(this._tmpCoordinateSystem,t,o),o}intersectManifold(t,e,o){g(this._coordinateSystem,e,this._tmpCoordinateSystem);const r=R.get();return _(this._tmpCoordinateSystem,t,r)?i(o,r):null}intersectInfiniteManifold(t,e,o){if(this.viewingMode===v.Global)return this.intersectManifold(t,e,o);g(this._coordinateSystem,e,this._tmpCoordinateSystem);const r=this._tmpCoordinateSystem.value,s=R.get();return P(r.plane,t,s)?i(o,s):null}toRenderCoords(t,e,o){return M(t)?n(t,e,this.spatialReference):c(t,e,o,this.spatialReference)}fromRenderCoords(t,e,o=null){return M(e)?(null!=o&&(e.spatialReference=o),a(t,this.spatialReference,e)):s(e)?c(t,this.spatialReference,e,o)?e:null:m(t,this.spatialReference,e)}static create(t,o){switch(t){case v.Local:return new U(v.Local,o,e(o),A());case v.Global:return new U(v.Global,o,1,w(o))}}static renderUnitScaleFactor(t,e){return o(t)/o(e)}}export{U as RenderCoordsHelper};
@@ -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{throwIfAborted as t,whenOrAbort as e}from"../../../core/promiseUtils.js";import{isSVG as r}from"../../../core/urlUtils.js";import{TextureCollection as s,TextureRequest as i}from"./TextureCollection.js";import{Texture as l}from"../webgl-engine/lib/Texture.js";import{TextureWrapMode as o}from"../../webgl/enums.js";class n extends s{constructor(t,e,r){super(e,r),this._streamDataRequester=t}async fromUrl(r,s,l){t(l);const o=null!=l?l.signal:null,n=this.makeUid(r,s);let h=this._textureRequests.get(n);if(!h){const t=new AbortController,e=this._streamDataRequester.request(r,"image",{uid:n,signal:t.signal});h=new i,h.abortController=t;const l=h;this._textureRequests.set(n,h),h.textureAsync=e.then((async t=>{const e=this._createTexture(r,t,s);return l.texture=e,l.abortController=null,this._stage.add(e),await this._stage.load(e),{uid:n,texture:e,release:()=>this._release(n)}}),(t=>{throw l.abortController=null,t}))}h.referenceCount++;try{return await e(h.textureAsync,o)}catch(a){throw this._release(n),a}}_createTexture(t,e,s){const i={width:e.width,height:e.height,wrap:{s:o.CLAMP_TO_EDGE,t:o.CLAMP_TO_EDGE},preMultiplyAlpha:!0};if(r(t)){if(s||0===e.width&&0===e.height){const t=e.width?e.height/e.width:1;s=s||64,t>1?(e.width=Math.round(s/t),e.height=s):(e.width=s,e.height=Math.round(s*t))}this._stage.renderView?.renderingContext.driverTest.svgPremultipliesAlpha.result&&(i.preMultiplyAlpha=!1)}return new l(e,i)}}export{n as StreamTextureCollection};
5
+ import{throwIfAborted as e,whenOrAbort as t}from"../../../core/promiseUtils.js";import{isSVG as r}from"../../../core/urlUtils.js";import{TextureCollection as s,TextureRequest as i}from"./TextureCollection.js";import{Texture as l}from"../webgl-engine/lib/Texture.js";import{TextureWrapMode as n}from"../../webgl/enums.js";class o extends s{constructor(e,t,r){super(t,r),this._streamDataRequester=e}async fromUrl(r,s,l){e(l);const n=null!=l?l.signal:null,o=this.makeUid(r,s);let a=this._textureRequests.get(o);if(!a){const e=new AbortController,t=this._streamDataRequester.request(r,"image",{uid:o,signal:e.signal});a=new i,a.abortController=e;const l=a;this._textureRequests.set(o,a),a.textureAsync=t.then((async e=>{const t=this._createTexture(r,e,s);return l.texture=t,l.abortController=null,await t.load(this._stage.renderView.renderingContext),this._stage.add(t),{uid:o,texture:t,release:()=>this._release(o)}}),(e=>{throw l.abortController=null,e}))}a.referenceCount++;try{return await t(a.textureAsync,n)}catch(h){throw this._release(o),h}}_createTexture(e,t,s){const i={width:t.width,height:t.height,wrap:{s:n.CLAMP_TO_EDGE,t:n.CLAMP_TO_EDGE},preMultiplyAlpha:!0,reloadable:!0};if(r(e)){if(s||0===t.width&&0===t.height){const e=t.width?t.height/t.width:1;s=s||64,e>1?(t.width=Math.round(s/e),t.height=s):(t.width=s,t.height=Math.round(s*e))}this._stage.renderView?.renderingContext.driverTest.svgPremultipliesAlpha.result&&(i.preMultiplyAlpha=!1)}return new l(t,i)}}export{o as StreamTextureCollection};
@@ -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"../../../core/Accessor.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 s}from"../../../core/accessorSupport/decorators/subclass.js";import{TaskPriority as o,ImmediateTask as u}from"../../support/Scheduler.js";let a=class extends t{constructor(e,t){super({}),this._stage=e,this._textureRequests=new Map,this._frameTask=t?.registerTask(o.TEXTURE_UNLOAD)??u}normalizeCtorArgs(){return{}}destroy(){super.destroy(),this._frameTask?.remove(),this._textureRequests?.forEach((e=>this._releaseTextureRequest(e))),this._textureRequests?.clear()}get updating(){return this._frameTask.updating}fromData(e,t,r){const s=this.makeUid(e);let o=this._textureRequests.get(s);if(!o){const e=new i(r);e.texture=t(),this._stage?.add(e.texture),this._stage?.loadImmediate(e.texture),this._textureRequests.set(s,e),o=e}return o.referenceCount++,{uid:s,texture:o.texture,release:()=>this._release(s)}}_release(e){const t=this._textureRequests.get(e);t?(t.referenceCount<1&&console.warn("TextureCollection: reference count is < 1 for "+e),t.referenceCount--,t.referenceCount<1&&this._frameTask.schedule((()=>this._releaseNow(e)))):console.warn(`TextureCollection: texture doesn't exist: '${e}'`)}get test(){return{textureRequests:this._textureRequests}}_releaseNow(e){if(!this._textureRequests)return;const t=this._textureRequests.get(e);!t||t.referenceCount>0||(this._releaseTextureRequest(t),this._textureRequests.delete(e))}_releaseTextureRequest(e){e.onRemove&&e.onRemove(),e.texture?this._stage?.remove(e.texture):e.abortController&&(e.abortController.abort(),e.abortController=null)}makeUid(e,t=null){return null!=t?`${e}.${t}px`:e}};e([r()],a.prototype,"_frameTask",void 0),e([r()],a.prototype,"updating",null),a=e([s("esri.views.3d.support.TextureCollection")],a);class i{constructor(e){this.onRemove=e,this.referenceCount=0}}export{a as TextureCollection,i as TextureRequest};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.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 s}from"../../../core/accessorSupport/decorators/subclass.js";import{TaskPriority as o,ImmediateTask as u}from"../../support/Scheduler.js";let a=class extends t{constructor(e,t){super({}),this._stage=e,this._textureRequests=new Map,this._frameTask=t?.registerTask(o.TEXTURE_UNLOAD)??u}normalizeCtorArgs(){return{}}destroy(){super.destroy(),this._frameTask?.remove(),this._textureRequests?.forEach((e=>this._releaseTextureRequest(e))),this._textureRequests?.clear()}get updating(){return this._frameTask.updating}fromData(e,t){const r=this.makeUid(e);let s=this._textureRequests.get(r);if(!s){const e=new i;e.texture=t(),this._stage&&(e.texture.load(this._stage.renderView.renderingContext),this._stage.add(e.texture)),this._textureRequests.set(r,e),s=e}return s.referenceCount++,{uid:r,texture:s.texture,release:()=>this._release(r)}}_release(e){const t=this._textureRequests.get(e);t?(t.referenceCount<1&&console.warn("TextureCollection: reference count is < 1 for "+e),t.referenceCount--,t.referenceCount<1&&this._frameTask.schedule((()=>this._releaseNow(e)))):console.warn(`TextureCollection: texture doesn't exist: '${e}'`)}get test(){return{textureRequests:this._textureRequests}}_releaseNow(e){if(!this._textureRequests)return;const t=this._textureRequests.get(e);!t||t.referenceCount>0||(t.texture?.unload(),this._releaseTextureRequest(t),this._textureRequests.delete(e))}_releaseTextureRequest(e){e.texture?this._stage?.remove(e.texture):e.abortController&&(e.abortController.abort(),e.abortController=null)}makeUid(e,t=null){return null!=t?`${e}.${t}px`:e}};e([r()],a.prototype,"_frameTask",void 0),e([r()],a.prototype,"updating",null),a=e([s("esri.views.3d.support.TextureCollection")],a);class i{constructor(){this.referenceCount=0}}export{a as TextureCollection,i as TextureRequest};
@@ -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"../../../Camera.js";import{Cyclical as t}from"../../../core/Cyclical.js";import n from"../../../core/Logger.js";import{deg2rad as r,rad2deg as i}from"../../../core/mathUtils.js";import{throwIfAborted as o}from"../../../core/promiseUtils.js";import{b as a,e as c,j as l,i as s}from"../../../chunks/vec3.js";import{a as u,c as f}from"../../../chunks/vec3f64.js";import{getReferenceEllipsoid as m}from"../../../geometry/ellipsoidUtils.js";import p from"../../../geometry/Point.js";import{projectWithZConversion as d,project as h}from"../../../geometry/projection.js";import g from"../../../geometry/SpatialReference.js";import{projectPointToVector as v}from"../../../geometry/projection/projectPointToVector.js";import{projectPointToVectorWithEngine as y}from"../../../geometry/projection/projectPointToVectorWithEngine.js";import{projectVectorToPoint as R}from"../../../geometry/projection/projectVectorToPoint.js";import{projectVectorToPointWithEngine as j}from"../../../geometry/projection/projectVectorToPointWithEngine.js";import{projectVectorToVector as w}from"../../../geometry/projection/projectVectorToVector.js";import{ViewingMode as x}from"../../ViewingMode.js";import{cameraOnContentAlongViewDirection as T}from"../camera/intersectionUtils.js";import{t as M,c as S}from"../../../chunks/cameraUtilsPlanar.js";import{t as C,c as z}from"../../../chunks/cameraUtilsSpherical.js";import{getGreatCircleSpanAt as b}from"./earthUtils.js";import{getElevationAtPoint as P}from"./ElevationProvider.js";import{isSpatialReferenceSupported as U}from"../../support/spatialReferenceSupport.js";const A=n.getLogger("esri.views.3d.support.cameraUtils"),D=39.37,H=96,L=1,E=8,G=5,O=1,V=f(),k={heading:0,tilt:0},q=f(),I=new t(-20037508.342788905,20037508.342788905),W=new t(-180,180);var J;function F(e){return e.spatialReference??g.WGS84}function X(e){return"global"===e.viewingMode?z:S}function K(e,t,n,r,i){return X(e).headingTiltToDirectionUp(t,n,r,i)}function Y(e,t){if(null==t)return null;const n=e.renderSpatialReference,i=X(e).headingTiltToDirectionUp,o=f();if(!v(t.position,o,n))return null;const l=i(o,t.heading,t.tilt);a(l.direction,l.direction,e.state.camera.distance),c(l.direction,l.direction,o);const s=T(e,o,l.direction,l.up);return s.fov=r(t.fov),s}!function(e){e[e.LOCKED=0]="LOCKED",e[e.ADJUST=1]="ADJUST"}(J||(J={}));const N=f();function Z(t,n,r){const o=t.renderSpatialReference,a=te(t,n.eye,n.viewForward,n.up,k);let c=F(t);return w(n.eye,o,N,c)||(c=g.WGS84,w(n.eye,o,N,c)),null==r?new e(new p(N,c),a.heading,a.tilt,i(n.fov)):(r.position.x=N[0],r.position.y=N[1],r.position.z=N[2],r.position.spatialReference=c,r.heading=a.heading,r.tilt=a.tilt,r.fov=i(n.fov),r)}function B(e,t,n){const i=e.state.camera,o=i.width/2/i.pixelRatio;e.renderCoordsHelper.viewingMode===x.Global&&null!=n&&(t*=Math.cos(r(n))),t/=e.renderCoordsHelper.unitInMeters;return o/(H*D/t)/Math.tan(i.fovX/2)}function Q(e,t,n){const i=e.state.camera,o=t*Math.tan(i.fovX/2),a=i.width/2/i.pixelRatio;let c=H*D/(a/o);return e.renderCoordsHelper.viewingMode===x.Global&&null!=n&&(c/=Math.cos(r(n))),c*e.renderCoordsHelper.unitInMeters}async function $(e,t,n,r,i,o){return ee(e,t,B(e,n,t.latitude),r,i,o)}function _(e,t,n,r,i,o){return Ce(e,ae(e,r.heading,r.tilt,t,n,i),r.fov,o)}async function ee(e,t,n,r,i,a){const c=await ce(e,r.heading,r.tilt,t,n,i,a);return o(a),ze(e,c,r.fov,a)}function te(e,t,n,r,i){return X(e).directionToHeadingTilt(t,n,r,i)}function ne(e,t){return!!(e.basemapTerrain&&e.renderCoordsHelper.fromRenderCoords(t,q,e.spatialReference)&&e.elevationProvider&&(P(e.elevationProvider,q)??0)>q[2]-O)}async function re(e,t,n){if(ne(e,t))return!0;const{elevationProvider:r,spatialReference:i,renderCoordsHelper:a}=e;if(null==r||!a.fromRenderCoords(t,q,i))return!1;const[c,l,s]=q,u=await r.queryElevation(c,l,s,i,"ground",n)??0;return o(n),u>s-O}async function ie(e,t,n){const r=f();if(null==t)return s(r,e.state.camera.center);if(t instanceof p){const{renderSpatialReference:i,basemapTerrain:a,elevationProvider:c}=e,l=t.spatialReference;if(await y(t,r,i,0,{signal:n}),o(n),null==t.z&&null!=a&&null!=c){const i=await c.queryElevation(t.x,t.y,t.z??0,l,"ground",n);o(n),null!=i&&e.renderCoordsHelper.setAltitude(r,i)}return r}return s(r,t)}function oe(e,t){const n=f();if(null==t)return s(n,e.state.camera.center);if(t instanceof p){if(!v(t,n,e.renderSpatialReference))return null;const{basemapTerrain:r,elevationProvider:i}=e;if(null==t.z&&null!=r&&null!=i){const r=P(i,t);null!=r&&e.renderCoordsHelper.setAltitude(n,r)}return n}return s(n,t)}function ae(e,t,n,r,i,o){return le(e,t,n,r instanceof p?r:null,oe(e,r),i,o)}async function ce(e,t,n,r,i,a,c){const l=r instanceof p?r:null,s=await ie(e,r,c);return o(c),se(e,t,n,l,s,i,a,c)}function le(e,t,n,r,i,o,a){if(null==i)return null;if(r??=R(i,e.renderSpatialReference,F(e)),null==r)return null;const c=ue(e,t,n,i,o,a);if(fe(e,n,a)&&ne(e,c.eye)){const{tilt:a,mode:c}=me(e,n,i,o);return le(e,t,a,r,i,o,c)}return pe(c,i)}async function se(e,t,n,r,i,a,c,l){r??=await j(i,e.renderSpatialReference,F(e),{signal:l}),o(l);const s=ue(e,t,n,i,a,c);if(fe(e,n,c)&&await re(e,s.eye,l)){o(l);const{tilt:c,mode:s}=me(e,n,i,a);return se(e,t,c,r,i,a,s,l)}return pe(s,i)}function ue(e,t,n,r,i,o){const a=je(e,t,n,r,i=Math.max(i,e.state.constraints.minimumPoiDistance),o);return(0,X(e).eyeForCenterWithHeadingTilt)(r,i,a.heading,a.tilt)}function fe(e,t,n){const r=e.map.ground.navigationConstraint;return n===J.ADJUST&&"global"===e.viewingMode&&t>0&&(null==r||"stay-above"===r.type)}function me(e,t,n,r){const i=Me(e,n,r,Te(e,r,t,n));return{tilt:i,mode:t-i<1?J.LOCKED:J.ADJUST}}function pe(e,t){return{...e,center:u(t)}}function de(e,t){const{state:n,spatialReference:r}=e,i=t.spatialReference;return n.isGlobal&&U(i,x.Global)||n.isLocal&&r.equals(i)}function he(e,t){let n,r,i;if(e.state.isGlobal){const e=new p(t.xmin,t.ymin,t.spatialReference),o=new p(t.xmax,t.ymax,t.spatialReference),a=t.spatialReference.isGeographic?W:I;n=new p({x:a.center(e.x,o.x),y:(o.y+e.y)/2,z:null!=t.zmax&&null!=t.zmin?(t.zmax+t.zmin)/2:void 0,spatialReference:t.spatialReference});const c=m(t.spatialReference),l=b(n,e,o);r=l.lon,i=l.lat,a.diff(e.x,o.x)>a.range/2&&(r+=c.halfCircumference),r=Math.min(r,c.halfCircumference),i=Math.min(i,c.halfCircumference)}else{const o=e.renderSpatialReference??t.spatialReference;o.equals(t.spatialReference)||(t=h(t,o)),r=t.xmax-t.xmin,i=t.ymax-t.ymin;const a=null!=t.zmax&&null!=t.zmin?(t.zmax+t.zmin)/2:void 0;n=new p({x:t.xmin+.5*r,y:t.ymin+.5*i,z:a,spatialReference:o})}const o=null!=t.zmax&&null!=t.zmin?t.zmax-t.zmin:0,a=e.state.camera,c=1/Math.tan(a.fovX/2),l=1/Math.tan(a.fovY/2),s=1/Math.tan(a.fov/2);return{center:n,distance:Math.max(.5*r*c,.5*i*l,.5*o*s)/L}}async function ge(e,t,n,r,i,a){const c=de(e,t)?t:await d(t,e.spatialReference,{signal:a});o(a);const{center:l,distance:s}=he(e,c),u=await ce(e,n,r,l,s,i,a);return o(a),ze(e,u,e.camera.fov,a)}function ve(e,t,n,r,i,o){let a;try{a=de(e,t)?t:h(t,e.spatialReference)}catch(u){return null}const{center:c,distance:l}=he(e,a),s=ae(e,n,r,c,l,i);return null==s?null:Ce(e,s,e.camera.fov,o)}function ye(e,t,n){const r=e.renderSpatialReference,i=R(n,r,F(e));if(null==i)return null;const o=Math.tan(t.fovX/2),a=Math.tan(t.fovY/2),c=l(t.eye,n),s=2*c*o*L,u=2*c*a*L;return"global"===e.viewingMode?C(e,i,s,u):M(e,i,s,u)}function Re(e,t,n){const r=e.pointsOfInterest.centerOnSurfaceFrequent.distance;if(Math.log(n/r)/Math.LN2>E)return!0;const i=e.renderSpatialReference,o=F(e),a=R(t,i,o),c=R(e.pointsOfInterest.centerOnSurfaceFrequent.renderLocation,i,o);if(null==a||null==c)return!1;const l=Math.tan(.5*e.state.camera.fov)*r;return c.distance(a)/l>G}function je(e,t,n,r,i,o){let a=0;return o===J.ADJUST&&Re(e,r,i)?(t=0,a=xe(e,i,n,r)):a=Se(e,r,i,n),a=e.state.constraints.clampTilt(i,a),{heading:t,tilt:n=Me(e,r,i,a)}}const we=.7;function xe(e,t,n,r){const i=Se(e,r,t,n);if(!e.state.constraints.tilt)return i;const o=e.state.constraints.tilt(t);o.max=Math.min(o.max,.5*Math.PI);const a=o.min*(1-we)+o.max*we;return Math.min(i,a)}function Te(e,t,n,r){let i=Se(e,r,t,n);if(!e.state.constraints.tilt)return i;const o=e.state.constraints.tilt(t);return i=Math.min(i,.5*Math.PI),o.min*(1-we)+i*we}function Me(e,t,n,r){return X(e).lookAtTiltToEyeTilt(r,t,n)}function Se(e,t,n,r){return X(e).eyeTiltToLookAtTilt(r,t,n)}function Ce(t,n,r,i){if(null==n)return null;const o=t.renderSpatialReference,a=R(n.eye,o,F(t));return null==a?null:(i??=new e,i.position=a,i.heading=n.heading,i.tilt=n.tilt,i.fov=r,i)}async function ze(t,n,r,i){const a=t.renderSpatialReference,c=await j(n.eye,a,F(t),{signal:i});return o(i),new e(c,n.heading,n.tilt,r)}function be(e,t){const n=e.basemapTerrain?.tilingScheme;if(n)return n.levelAtScale(t);A.error("#scaleToZoom()","Cannot compute zoom from scale without a tiling scheme")}function Pe(e,t){const n=e.basemapTerrain?.tilingScheme;if(n)return n.scaleAtLevel(t);A.error("#zoomToScale()","Cannot compute scale from zoom without a tiling scheme")}function Ue(e,t){return w(t.center,e.renderSpatialReference,V,g.WGS84),Q(e,t.distance,V[1])}export{J as OrientationMode,Ue as computeScale,te as directionToHeadingTilt,Q as distanceToScale,Y as externalToInternal,ee as fromCenterDistanceAsync,_ as fromCenterDistanceSync,$ as fromCenterScale,ge as fromExtentAsync,ve as fromExtentSync,ce as getObserverForPointAtDistanceAsync,ae as getObserverForPointAtDistanceSync,F as getViewSR,K as headingTiltToDirectionUp,Z as internalToExternal,B as scaleToDistance,be as scaleToZoom,ye as toExtent,Pe as zoomToScale};
5
+ import e from"../../../Camera.js";import{Cyclical as t}from"../../../core/Cyclical.js";import n from"../../../core/Logger.js";import{deg2rad as r,rad2deg as i}from"../../../core/mathUtils.js";import{throwIfAborted as o}from"../../../core/promiseUtils.js";import{i as a,g as c,q as l,c as s}from"../../../chunks/vec3.js";import{g as u,c as f}from"../../../chunks/vec3f64.js";import{getReferenceEllipsoid as m}from"../../../geometry/ellipsoidUtils.js";import p from"../../../geometry/Point.js";import{projectWithZConversion as d,project as g}from"../../../geometry/projection.js";import h from"../../../geometry/SpatialReference.js";import{projectPointToVector as v}from"../../../geometry/projection/projectPointToVector.js";import{projectPointToVectorWithEngine as y}from"../../../geometry/projection/projectPointToVectorWithEngine.js";import{projectVectorToPoint as R}from"../../../geometry/projection/projectVectorToPoint.js";import{projectVectorToPointWithEngine as j}from"../../../geometry/projection/projectVectorToPointWithEngine.js";import{projectVectorToVector as w}from"../../../geometry/projection/projectVectorToVector.js";import{ViewingMode as x}from"../../ViewingMode.js";import{cameraOnContentAlongViewDirection as T}from"../camera/intersectionUtils.js";import{t as M,c as S}from"../../../chunks/cameraUtilsPlanar.js";import{t as C,c as z}from"../../../chunks/cameraUtilsSpherical.js";import{getGreatCircleSpanAt as P}from"./earthUtils.js";import{getElevationAtPoint as U}from"./ElevationProvider.js";import{isSpatialReferenceSupported as b}from"../../support/spatialReferenceSupport.js";const A=n.getLogger("esri.views.3d.support.cameraUtils"),D=39.37,H=96,L=1,E=8,G=5,q=1,O=f(),V={heading:0,tilt:0},k=f(),I=new t(-20037508.342788905,20037508.342788905),W=new t(-180,180);var J;function F(e){return e.spatialReference??h.WGS84}function X(e){return"global"===e.viewingMode?z:S}function K(e,t,n,r,i){return X(e).headingTiltToDirectionUp(t,n,r,i)}function Y(e,t){if(null==t)return null;const n=e.renderSpatialReference,i=X(e).headingTiltToDirectionUp,o=f();if(!v(t.position,o,n))return null;const l=i(o,t.heading,t.tilt);a(l.direction,l.direction,e.state.camera.distance),c(l.direction,l.direction,o);const s=T(e,o,l.direction,l.up);return s.fov=r(t.fov),s}!function(e){e[e.LOCKED=0]="LOCKED",e[e.ADJUST=1]="ADJUST"}(J||(J={}));const N=f();function Z(t,n,r){const o=t.renderSpatialReference,a=te(t,n.eye,n.viewForward,n.up,V);let c=F(t);return w(n.eye,o,N,c)||(c=h.WGS84,w(n.eye,o,N,c)),null==r?new e(new p(N,c),a.heading,a.tilt,i(n.fov)):(r.position.x=N[0],r.position.y=N[1],r.position.z=N[2],r.position.spatialReference=c,r.heading=a.heading,r.tilt=a.tilt,r.fov=i(n.fov),r)}function B(e,t,n){const i=e.state.camera,o=i.width/2/i.pixelRatio;e.renderCoordsHelper.viewingMode===x.Global&&null!=n&&(t*=Math.cos(r(n))),t/=e.renderCoordsHelper.unitInMeters;return o/(H*D/t)/Math.tan(i.fovX/2)}function Q(e,t,n){const i=e.state.camera,o=t*Math.tan(i.fovX/2),a=i.width/2/i.pixelRatio;let c=H*D/(a/o);return e.renderCoordsHelper.viewingMode===x.Global&&null!=n&&(c/=Math.cos(r(n))),c*e.renderCoordsHelper.unitInMeters}async function $(e,t,n,r,i,o){return ee(e,t,B(e,n,t.latitude),r,i,o)}function _(e,t,n,r,i,o){return Ce(e,ae(e,r.heading,r.tilt,t,n,i),r.fov,o)}async function ee(e,t,n,r,i,a){const c=await ce(e,r.heading,r.tilt,t,n,i,a);return o(a),ze(e,c,r.fov,a)}function te(e,t,n,r,i){return X(e).directionToHeadingTilt(t,n,r,i)}function ne(e,t){return!!(e.basemapTerrain&&e.renderCoordsHelper.fromRenderCoords(t,k,e.spatialReference)&&e.elevationProvider&&(U(e.elevationProvider,k)??0)>k[2]-q)}async function re(e,t,n){if(ne(e,t))return!0;const{elevationProvider:r,spatialReference:i,renderCoordsHelper:a}=e;if(null==r||!a.fromRenderCoords(t,k,i))return!1;const[c,l,s]=k,u=await r.queryElevation(c,l,s,i,"ground",n)??0;return o(n),u>s-q}async function ie(e,t,n){const r=f();if(null==t)return s(r,e.state.camera.center);if(t instanceof p){const{renderSpatialReference:i,basemapTerrain:a,elevationProvider:c}=e,l=t.spatialReference;if(await y(t,r,i,0,{signal:n}),o(n),null==t.z&&null!=a&&null!=c){const i=await c.queryElevation(t.x,t.y,t.z??0,l,"ground",n);o(n),null!=i&&e.renderCoordsHelper.setAltitude(r,i)}return r}return s(r,t)}function oe(e,t){const n=f();if(null==t)return s(n,e.state.camera.center);if(t instanceof p){if(!v(t,n,e.renderSpatialReference))return null;const{basemapTerrain:r,elevationProvider:i}=e;if(null==t.z&&null!=r&&null!=i){const r=U(i,t);null!=r&&e.renderCoordsHelper.setAltitude(n,r)}return n}return s(n,t)}function ae(e,t,n,r,i,o){return le(e,t,n,r instanceof p?r:null,oe(e,r),i,o)}async function ce(e,t,n,r,i,a,c){const l=r instanceof p?r:null,s=await ie(e,r,c);return o(c),se(e,t,n,l,s,i,a,c)}function le(e,t,n,r,i,o,a){if(null==i)return null;if(r??=R(i,e.renderSpatialReference,F(e)),null==r)return null;const c=ue(e,t,n,i,o,a);if(fe(e,n,a)&&ne(e,c.eye)){const{tilt:a,mode:c}=me(e,n,i,o);return le(e,t,a,r,i,o,c)}return pe(c,i)}async function se(e,t,n,r,i,a,c,l){r??=await j(i,e.renderSpatialReference,F(e),{signal:l}),o(l);const s=ue(e,t,n,i,a,c);if(fe(e,n,c)&&await re(e,s.eye,l)){o(l);const{tilt:c,mode:s}=me(e,n,i,a);return se(e,t,c,r,i,a,s,l)}return pe(s,i)}function ue(e,t,n,r,i,o){const a=je(e,t,n,r,i=Math.max(i,e.state.constraints.minimumPoiDistance),o);return(0,X(e).eyeForCenterWithHeadingTilt)(r,i,a.heading,a.tilt)}function fe(e,t,n){const r=e.map.ground.navigationConstraint;return n===J.ADJUST&&"global"===e.viewingMode&&t>0&&(null==r||"stay-above"===r.type)}function me(e,t,n,r){const i=Me(e,n,r,Te(e,r,t,n));return{tilt:i,mode:t-i<1?J.LOCKED:J.ADJUST}}function pe(e,t){return{...e,center:u(t)}}function de(e,t){const{state:n,spatialReference:r}=e,i=t.spatialReference;return n.isGlobal&&b(i,x.Global)||n.isLocal&&r.equals(i)}function ge(e,t){let n,r,i;if(e.state.isGlobal){const e=new p(t.xmin,t.ymin,t.spatialReference),o=new p(t.xmax,t.ymax,t.spatialReference),a=t.spatialReference.isGeographic?W:I;n=new p({x:a.center(e.x,o.x),y:(o.y+e.y)/2,z:null!=t.zmax&&null!=t.zmin?(t.zmax+t.zmin)/2:void 0,spatialReference:t.spatialReference});const c=m(t.spatialReference),l=P(n,e,o);r=l.lon,i=l.lat,a.diff(e.x,o.x)>a.range/2&&(r+=c.halfCircumference),r=Math.min(r,c.halfCircumference),i=Math.min(i,c.halfCircumference)}else{const o=e.renderSpatialReference??t.spatialReference;o.equals(t.spatialReference)||(t=g(t,o)),r=t.xmax-t.xmin,i=t.ymax-t.ymin;const a=null!=t.zmax&&null!=t.zmin?(t.zmax+t.zmin)/2:void 0;n=new p({x:t.xmin+.5*r,y:t.ymin+.5*i,z:a,spatialReference:o})}const o=null!=t.zmax&&null!=t.zmin?t.zmax-t.zmin:0,a=e.state.camera,c=1/Math.tan(a.fovX/2),l=1/Math.tan(a.fovY/2),s=1/Math.tan(a.fov/2);return{center:n,distance:Math.max(.5*r*c,.5*i*l,.5*o*s)/L}}async function he(e,t,n,r,i,a){const c=de(e,t)?t:await d(t,e.spatialReference,{signal:a});o(a);const{center:l,distance:s}=ge(e,c),u=await ce(e,n,r,l,s,i,a);return o(a),ze(e,u,e.camera.fov,a)}function ve(e,t,n,r,i,o){let a;try{a=de(e,t)?t:g(t,e.spatialReference)}catch(u){return null}const{center:c,distance:l}=ge(e,a),s=ae(e,n,r,c,l,i);return null==s?null:Ce(e,s,e.camera.fov,o)}function ye(e,t,n){const r=e.renderSpatialReference,i=R(n,r,F(e));if(null==i)return null;const o=Math.tan(t.fovX/2),a=Math.tan(t.fovY/2),c=l(t.eye,n),s=2*c*o*L,u=2*c*a*L;return"global"===e.viewingMode?C(e,i,s,u):M(e,i,s,u)}function Re(e,t,n){const r=e.pointsOfInterest.centerOnSurfaceFrequent.distance;if(Math.log(n/r)/Math.LN2>E)return!0;const i=e.renderSpatialReference,o=F(e),a=R(t,i,o),c=R(e.pointsOfInterest.centerOnSurfaceFrequent.renderLocation,i,o);if(null==a||null==c)return!1;const l=Math.tan(.5*e.state.camera.fov)*r;return c.distance(a)/l>G}function je(e,t,n,r,i,o){let a=0;return o===J.ADJUST&&Re(e,r,i)?(t=0,a=xe(e,i,n,r)):a=Se(e,r,i,n),a=e.state.constraints.clampTilt(i,a),{heading:t,tilt:n=Me(e,r,i,a)}}const we=.7;function xe(e,t,n,r){const i=Se(e,r,t,n);if(!e.state.constraints.tilt)return i;const o=e.state.constraints.tilt(t);o.max=Math.min(o.max,.5*Math.PI);const a=o.min*(1-we)+o.max*we;return Math.min(i,a)}function Te(e,t,n,r){let i=Se(e,r,t,n);if(!e.state.constraints.tilt)return i;const o=e.state.constraints.tilt(t);return i=Math.min(i,.5*Math.PI),o.min*(1-we)+i*we}function Me(e,t,n,r){return X(e).lookAtTiltToEyeTilt(r,t,n)}function Se(e,t,n,r){return X(e).eyeTiltToLookAtTilt(r,t,n)}function Ce(t,n,r,i){if(null==n)return null;const o=t.renderSpatialReference,a=R(n.eye,o,F(t));return null==a?null:(i??=new e,i.position=a,i.heading=n.heading,i.tilt=n.tilt,i.fov=r,i)}async function ze(t,n,r,i){const a=t.renderSpatialReference,c=await j(n.eye,a,F(t),{signal:i});return o(i),new e(c,n.heading,n.tilt,r)}function Pe(e,t){const n=e.basemapTerrain?.tilingScheme;if(n)return n.levelAtScale(t);A.error("#scaleToZoom()","Cannot compute zoom from scale without a tiling scheme")}function Ue(e,t){const n=e.basemapTerrain?.tilingScheme;if(n)return n.scaleAtLevel(t);A.error("#zoomToScale()","Cannot compute scale from zoom without a tiling scheme")}function be(e,t){return w(t.center,e.renderSpatialReference,O,h.WGS84),Q(e,t.distance,O[1])}export{J as OrientationMode,be as computeScale,te as directionToHeadingTilt,Q as distanceToScale,Y as externalToInternal,ee as fromCenterDistanceAsync,_ as fromCenterDistanceSync,$ as fromCenterScale,he as fromExtentAsync,ve as fromExtentSync,ce as getObserverForPointAtDistanceAsync,ae as getObserverForPointAtDistanceSync,F as getViewSR,K as headingTiltToDirectionUp,Z as internalToExternal,B as scaleToDistance,Pe as scaleToZoom,ye as toExtent,Ue as zoomToScale};
@@ -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{rad2deg as t,acosClamped as s}from"../../../core/mathUtils.js";import{n,d as a,i as o,b as c,g as i,l as r,c as e}from"../../../chunks/vec3.js";import{c as l}from"../../../chunks/vec3f64.js";const u=l(),f=l();function h(){return{direction:l(),up:l()}}function m(l,h,m,p,d){let b=n(u,l),g=a(b,p);const j=g>0;g=Math.abs(g),g>.99&&(g=Math.abs(a(h,p)),g<.99?(o(b,h),j&&c(b,b,-1)):b=null);let k=0;if(b){c(f,p,a(p,b)),i(b,b,f);const n=a(b,d)/(r(b)*r(d));e(f,b,d);k=(a(f,p)>0?1:-1)*t(s(n))}const v=t(s(-a(p,l)/r(l)));return m?(m.heading=k,m.tilt=v,m):{heading:k,tilt:v}}export{h as createDirectionUp,m as directionToHeadingTilt};
5
+ import{rad2deg as t,acosClamped as s}from"../../../core/mathUtils.js";import{n,j as a,c as o,i as c,f as i,l as r,b as e}from"../../../chunks/vec3.js";import{c as f}from"../../../chunks/vec3f64.js";const l=f(),u=f();function h(){return{direction:f(),up:f()}}function m(f,h,m,p,j){let b=n(l,f),d=a(b,p);const g=d>0;d=Math.abs(d),d>.99&&(d=Math.abs(a(h,p)),d<.99?(o(b,h),g&&c(b,b,-1)):b=null);let k=0;if(b){c(u,p,a(p,b)),i(b,b,u);const n=a(b,j)/(r(b)*r(j));e(u,b,j);k=(a(u,p)>0?1:-1)*t(s(n))}const v=t(s(-a(p,f)/r(f)));return m?(m.heading=k,m.tilt=v,m):{heading:k,tilt:v}}export{h as createDirectionUp,m as directionToHeadingTilt};
@@ -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"../../../../core/has.js";import{packFloatRGBA as t}from"../../../../core/floatRGBA.js";import{Texture as n}from"../../webgl-engine/lib/Texture.js";import{TextureWrapMode as r}from"../../../webgl/enums.js";const e=128,o=.5;function a(t){return"cross"===t||"x"===t}function u(t,a=e,u=a*o,s=0){const i=c(t,a,u,s);return new n(i,{mipmap:!1,wrap:{s:r.CLAMP_TO_EDGE,t:r.CLAMP_TO_EDGE},width:a,height:a,components:4,noUnpackFlip:!0})}function c(t,n=e,r=n*o,a=0){switch(t){case"circle":default:return s(n,r);case"square":return i(n,r);case"cross":return h(n,r,a);case"x":return M(n,r,a);case"kite":return f(n,r);case"triangle":return m(n,r);case"arrow":return l(n,r)}}function s(t,n){const r=t/2-.5;return x(t,b(r,r,n/2))}function i(t,n){return p(t,n,!1)}function f(t,n){return p(t,n,!0)}function h(t,n,r=0){return T(t,n,!1,r)}function M(t,n,r=0){return T(t,n,!0,r)}function m(t,n){return x(t,w(t/2,n,n/2))}function l(t,n){const r=n,e=n/2,o=t/2,a=.8*r,u=b(o,(t-n)/2-a,Math.sqrt(a*a+e*e)),c=w(o,r,e);return x(t,((t,n)=>Math.max(c(t,n),-u(t,n))))}function p(t,n,r){return r&&(n/=Math.SQRT2),x(t,((e,o)=>{let a=e-.5*t+.25,u=.5*t-o-.75;if(r){const t=(a+u)/Math.SQRT2;u=(u-a)/Math.SQRT2,a=t}return Math.max(Math.abs(a),Math.abs(u))-.5*n}))}function T(t,n,r,e=0){n-=e,r&&(n*=Math.SQRT2);const o=.5*n;return x(t,((n,a)=>{let u,c=n-.5*t,s=.5*t-a-1;if(r){const t=(c+s)/Math.SQRT2;s=(s-c)/Math.SQRT2,c=t}return c=Math.abs(c),s=Math.abs(s),u=c>s?c>o?Math.sqrt((c-o)*(c-o)+s*s):s:s>o?Math.sqrt(c*c+(s-o)*(s-o)):c,u-=e/2,u}))}function b(t,n,r){return(e,o)=>{const a=e-t,u=o-n;return Math.sqrt(a*a+u*u)-r}}function w(t,n,r){const e=Math.sqrt(n*n+r*r);return(o,a)=>{const u=Math.abs(o-t)-r,c=a-t+n/2+.75,s=(n*u+r*c)/e,i=-c;return Math.max(s,i)}}function x(n,r){const e=new Uint8Array(4*n*n);for(let o=0;o<n;o++)for(let a=0;a<n;a++){const u=a+n*o;let c=r(a,o);c=c/n+.5,t(c,e,4*u)}return e}export{o as DEFAULT_SYMBOL_SIZE_RATIO,e as DEFAULT_TEX_SIZE,l as createArrow,s as createCircle,h as createCross,f as createKite,c as createPrimitive,i as createSquare,u as createTexture,m as createTriangle,M as createX,a as requiresHalfTexelOffset};
5
+ import"../../../../core/has.js";import{packFloatRGBA as t}from"../../../../core/floatRGBA.js";import{Texture as r}from"../../webgl-engine/lib/Texture.js";import{TextureWrapMode as n}from"../../../webgl/enums.js";const e=128,o=.5;function a(t){return"cross"===t||"x"===t}function u(t,a=e,u=a*o,s=0){const i=c(t,a,u,s);return new r(i,{mipmap:!1,wrap:{s:n.CLAMP_TO_EDGE,t:n.CLAMP_TO_EDGE},width:a,height:a,components:4,noUnpackFlip:!0,reloadable:!0})}function c(t,r=e,n=r*o,a=0){switch(t){case"circle":default:return s(r,n);case"square":return i(r,n);case"cross":return h(r,n,a);case"x":return M(r,n,a);case"kite":return f(r,n);case"triangle":return l(r,n);case"arrow":return m(r,n)}}function s(t,r){const n=t/2-.5;return x(t,T(n,n,r/2))}function i(t,r){return p(t,r,!1)}function f(t,r){return p(t,r,!0)}function h(t,r,n=0){return b(t,r,!1,n)}function M(t,r,n=0){return b(t,r,!0,n)}function l(t,r){return x(t,w(t/2,r,r/2))}function m(t,r){const n=r,e=r/2,o=t/2,a=.8*n,u=T(o,(t-r)/2-a,Math.sqrt(a*a+e*e)),c=w(o,n,e);return x(t,((t,r)=>Math.max(c(t,r),-u(t,r))))}function p(t,r,n){return n&&(r/=Math.SQRT2),x(t,((e,o)=>{let a=e-.5*t+.25,u=.5*t-o-.75;if(n){const t=(a+u)/Math.SQRT2;u=(u-a)/Math.SQRT2,a=t}return Math.max(Math.abs(a),Math.abs(u))-.5*r}))}function b(t,r,n,e=0){r-=e,n&&(r*=Math.SQRT2);const o=.5*r;return x(t,((r,a)=>{let u,c=r-.5*t,s=.5*t-a-1;if(n){const t=(c+s)/Math.SQRT2;s=(s-c)/Math.SQRT2,c=t}return c=Math.abs(c),s=Math.abs(s),u=c>s?c>o?Math.sqrt((c-o)*(c-o)+s*s):s:s>o?Math.sqrt(c*c+(s-o)*(s-o)):c,u-=e/2,u}))}function T(t,r,n){return(e,o)=>{const a=e-t,u=o-r;return Math.sqrt(a*a+u*u)-n}}function w(t,r,n){const e=Math.sqrt(r*r+n*n);return(o,a)=>{const u=Math.abs(o-t)-n,c=a-t+r/2+.75,s=(r*u+n*c)/e,i=-c;return Math.max(s,i)}}function x(r,n){const e=new Uint8Array(4*r*r);for(let o=0;o<r;o++)for(let a=0;a<r;a++){const u=a+r*o;let c=n(a,o);c=c/r+.5,t(c,e,4*u)}return e}export{o as DEFAULT_SYMBOL_SIZE_RATIO,e as DEFAULT_TEX_SIZE,m as createArrow,s as createCircle,h as createCross,f as createKite,c as createPrimitive,i as createSquare,u as createTexture,l as createTriangle,M as createX,a as requiresHalfTexelOffset};
@@ -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{castRenderScreenPointArray3 as e}from"../../../../core/screenUtils.js";import{j as r}from"../../../../chunks/vec2.js";import{g as n,i as o,s as t}from"../../../../chunks/vec3.js";import{sv3d as c}from"../../../../geometry/support/vectorStacks.js";function i(r,n,o){return s(r,r.screenToRender(n,e(c.get())),o)}function s(o,t,i){const s=e(r(c.get(),t));if(s[2]=0,!o.unprojectFromRenderScreen(s,i.origin))return null;const u=e(r(c.get(),t));u[2]=1;const g=o.unprojectFromRenderScreen(u,c.get());return null==g?null:(n(i.direction,g,i.origin),i)}function u(r,n,o){return g(r,r.screenToRender(n,e(c.get())),o)}function g(e,r,i){o(i.origin,e.eye);const s=t(c.get(),r[0],r[1],1),u=e.unprojectFromRenderScreen(s,c.get());return null==u?null:(n(i.direction,u,i.origin),i)}export{s as fromRender,g as fromRenderAtEye,i as fromScreen,u as fromScreenAtEye};
5
+ import{castRenderScreenPointArray3 as e}from"../../../../core/screenUtils.js";import{j as r}from"../../../../chunks/vec2.js";import{f as n,c as o,s as t}from"../../../../chunks/vec3.js";import{sv3d as c}from"../../../../geometry/support/vectorStacks.js";function i(r,n,o){return s(r,r.screenToRender(n,e(c.get())),o)}function s(o,t,i){const s=e(r(c.get(),t));if(s[2]=0,!o.unprojectFromRenderScreen(s,i.origin))return null;const u=e(r(c.get(),t));u[2]=1;const g=o.unprojectFromRenderScreen(u,c.get());return null==g?null:(n(i.direction,g,i.origin),i)}function u(r,n,o){return g(r,r.screenToRender(n,e(c.get())),o)}function g(e,r,i){o(i.origin,e.eye);const s=t(c.get(),r[0],r[1],1),u=e.unprojectFromRenderScreen(s,c.get());return null==u?null:(n(i.direction,u,i.origin),i)}export{s as fromRender,g as fromRenderAtEye,i as fromScreen,u as fromScreenAtEye};
@@ -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{a as r}from"../../../chunks/vec2f64.js";import{d as n,g as t,e as i,b as e,h as c,i as u,n as o}from"../../../chunks/vec3.js";import{c as s}from"../../../chunks/vec3f64.js";import{signedDistance as f,normal as l}from"../../../geometry/support/plane.js";function p(r,n,t){return r[0]*n[0]+r[1]*n[1]+r[2]*n[2]+r[3]<t}function a(r,n,t){const i=n[0],e=n[1],c=n[2];return!(r[0][0]*i+r[0][1]*e+r[0][2]*c+r[0][3]>t)&&(!(r[1][0]*i+r[1][1]*e+r[1][2]*c+r[1][3]>t)&&(!(r[2][0]*i+r[2][1]*e+r[2][2]*c+r[2][3]>t)&&(!(r[3][0]*i+r[3][1]*e+r[3][2]*c+r[3][3]>t)&&(!(r[4][0]*i+r[4][1]*e+r[4][2]*c+r[4][3]>t)&&!(r[5][0]*i+r[5][1]*e+r[5][2]*c+r[5][3]>t)))))}function d(r,n,t,i){return b(r,n,null,k(i,n,t,!1))}function m(r,n){for(let t=0;t<6;t++){if(f(r[t],n)>0)return!1}return!0}function h(r,n,t,i){return b(r,n,t,k(i,n,t,!0))}function j(r,c,u,o){const s=n(u,t(r,o,c));return i(r,c,e(r,u,s))}const g={dir:s(),len:0,clip:r()};function k(r,n,i,s){const f=g;return r?(i&&s&&(f.len=c(n,i)),u(f.dir,r)):s?(f.len=c(n,i),t(f.dir,i,n),e(f.dir,f.dir,1/f.len)):(t(f.dir,i,n),o(f.dir,f.dir)),f}function v(r,t,i){const e=n(l(r),i.dir),c=-f(r,t);if(c<0&&e>=0)return!1;if(e>-1e-6&&e<1e-6)return c>0;if((c<0||e<0)&&!(c<0&&e<0))return!0;const u=c/e;return e>0?u<i.clip[1]&&(i.clip[1]=u):u>i.clip[0]&&(i.clip[0]=u),i.clip[0]<=i.clip[1]}function b(r,n,t,i){i.clip[0]=0,i.clip[1]=t?i.len:Number.MAX_VALUE;for(let e=0;e<r.length;e++)if(!v(r[e],n,i))return!1;return!0}export{j as closestPointOnRay,h as frustumLineSegment,m as frustumPoint,d as frustumRay,a as frustumSphere,p as planeSphere};
5
+ import{a as r}from"../../../chunks/vec2f64.js";import{j as n,f as t,g as i,i as c,m as e,c as u,n as o}from"../../../chunks/vec3.js";import{c as f}from"../../../chunks/vec3f64.js";import{signedDistance as s,normal as l}from"../../../geometry/support/plane.js";function p(r,n,t){return r[0]*n[0]+r[1]*n[1]+r[2]*n[2]+r[3]<t}function a(r,n,t){const i=n[0],c=n[1],e=n[2];return!(r[0][0]*i+r[0][1]*c+r[0][2]*e+r[0][3]>t)&&(!(r[1][0]*i+r[1][1]*c+r[1][2]*e+r[1][3]>t)&&(!(r[2][0]*i+r[2][1]*c+r[2][2]*e+r[2][3]>t)&&(!(r[3][0]*i+r[3][1]*c+r[3][2]*e+r[3][3]>t)&&(!(r[4][0]*i+r[4][1]*c+r[4][2]*e+r[4][3]>t)&&!(r[5][0]*i+r[5][1]*c+r[5][2]*e+r[5][3]>t)))))}function m(r,n,t,i){return A(r,n,null,k(i,n,t,!1))}function d(r,n){for(let t=0;t<6;t++){if(s(r[t],n)>0)return!1}return!0}function j(r,n,t,i){return A(r,n,t,k(i,n,t,!0))}function h(r,e,u,o){const f=n(u,t(r,o,e));return i(r,e,c(r,u,f))}const g={dir:f(),len:0,clip:r()};function k(r,n,i,f){const s=g;return r?(i&&f&&(s.len=e(n,i)),u(s.dir,r)):f?(s.len=e(n,i),t(s.dir,i,n),c(s.dir,s.dir,1/s.len)):(t(s.dir,i,n),o(s.dir,s.dir)),s}function v(r,t,i){const c=n(l(r),i.dir),e=-s(r,t);if(e<0&&c>=0)return!1;if(c>-1e-6&&c<1e-6)return e>0;if((e<0||c<0)&&!(e<0&&c<0))return!0;const u=e/c;return c>0?u<i.clip[1]&&(i.clip[1]=u):u>i.clip[0]&&(i.clip[0]=u),i.clip[0]<=i.clip[1]}function A(r,n,t,i){i.clip[0]=0,i.clip[1]=t?i.len:Number.MAX_VALUE;for(let c=0;c<r.length;c++)if(!v(r[c],n,i))return!1;return!0}export{h as closestPointOnRay,j as frustumLineSegment,d as frustumPoint,m as frustumRay,a as frustumSphere,p as planeSphere};