@arcgis/core 4.32.0-next.20250130 → 4.32.0-next.20250201

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 (531) hide show
  1. package/WebScene.js +1 -1
  2. package/arcade/featureset/support/shared.js +1 -1
  3. package/arcade/geometry/unitConversion.js +1 -1
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/{4696278d033907a067c7.js → 085462ba3da7849fc296.js} +1 -1
  6. package/assets/esri/core/workers/chunks/0a19e1aec6a5502e391a.js +1 -0
  7. package/assets/esri/core/workers/chunks/25c8cc30faade043c8dc.js.LICENSE.txt +1 -1
  8. package/assets/esri/core/workers/chunks/308ec51ff4a66f7fcb0d.js.LICENSE.txt +1 -1
  9. package/assets/esri/core/workers/chunks/34d464dacee52739c98c.js +1 -0
  10. package/assets/esri/core/workers/chunks/39e38aab86dcee3f79be.js +1 -0
  11. package/assets/esri/core/workers/chunks/{149bad940feb0764b350.js → 613db14d698741886753.js} +1 -1
  12. package/assets/esri/core/workers/chunks/6e8905f20101c1f4509d.js.LICENSE.txt +1 -1
  13. package/assets/esri/core/workers/chunks/6ec108bd955e064256b5.js +1 -0
  14. package/assets/esri/core/workers/chunks/72cf9192292e5c85c6df.js.LICENSE.txt +1 -1
  15. package/assets/esri/core/workers/chunks/{9011704b258ecbfb6d9b.js → 7d3a441d2eb18d709ef9.js} +2 -2
  16. package/assets/esri/core/workers/chunks/{9011704b258ecbfb6d9b.js.LICENSE.txt → 7d3a441d2eb18d709ef9.js.LICENSE.txt} +1 -1
  17. package/assets/esri/core/workers/chunks/{0ebdf0d1fd2034b24519.js → af2a70d33afb12bb536f.js} +7 -7
  18. package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +1 -1
  19. package/assets/esri/core/workers/chunks/bf9bc52a3c559108c19a.js.LICENSE.txt +1 -1
  20. package/assets/esri/core/workers/chunks/c032bcd25e2e7a57ad43.js +1 -0
  21. package/assets/esri/core/workers/chunks/c4b0e3f7dcad6c7ea620.js +314 -0
  22. package/assets/esri/core/workers/chunks/c94ec324ecad77c53a87.js +1 -0
  23. package/assets/esri/core/workers/chunks/{c80507443f896dbfaba6.js → e4b80c8f4c45fd78bde1.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{d4760e583dfac95dc8a1.js → ffa2b9d70830aed03a8f.js} +1 -1
  25. package/assets/esri/themes/base/_core.scss +4 -0
  26. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +7 -2
  27. package/assets/esri/themes/base/widgets/_Editor.scss +31 -0
  28. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +24 -0
  29. package/assets/esri/themes/base/widgets/_FilterCondition.scss +12 -0
  30. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +1 -1
  31. package/assets/esri/themes/dark/main.css +1 -1
  32. package/assets/esri/themes/light/main.css +1 -1
  33. package/assets/esri/themes/light/view.css +1 -1
  34. package/assets/esri/views/interactive/tooltip/t9n/Tooltip.json +1 -1
  35. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ar.json +1 -1
  36. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bg.json +1 -1
  37. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_bs.json +1 -1
  38. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ca.json +1 -1
  39. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_cs.json +1 -1
  40. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_da.json +1 -1
  41. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_de.json +1 -1
  42. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_el.json +1 -1
  43. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_en.json +1 -1
  44. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_es.json +1 -1
  45. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_et.json +1 -1
  46. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fi.json +1 -1
  47. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_fr.json +1 -1
  48. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_he.json +1 -1
  49. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hr.json +1 -1
  50. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_hu.json +1 -1
  51. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_id.json +1 -1
  52. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_it.json +1 -1
  53. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ja.json +1 -1
  54. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ko.json +1 -1
  55. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lt.json +1 -1
  56. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_lv.json +1 -1
  57. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_nl.json +1 -1
  58. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_no.json +1 -1
  59. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pl.json +1 -1
  60. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-BR.json +1 -1
  61. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_pt-PT.json +1 -1
  62. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ro.json +1 -1
  63. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_ru.json +1 -1
  64. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sk.json +1 -1
  65. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sl.json +1 -1
  66. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sr.json +1 -1
  67. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_sv.json +1 -1
  68. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_th.json +1 -1
  69. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_tr.json +1 -1
  70. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_uk.json +1 -1
  71. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_vi.json +1 -1
  72. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-CN.json +1 -1
  73. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-HK.json +1 -1
  74. package/assets/esri/views/interactive/tooltip/t9n/Tooltip_zh-TW.json +1 -1
  75. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  76. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  77. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  78. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  79. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  80. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  81. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  82. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  83. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  84. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  85. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  86. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  87. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  88. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  89. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  90. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  91. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  92. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  93. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  94. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  95. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  96. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  97. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  98. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  99. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  100. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  101. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  102. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  103. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  104. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  105. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  106. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  107. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  108. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  109. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  110. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  111. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  112. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  113. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  114. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  115. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  116. package/assets/esri/widgets/Directions/t9n/Directions.json +1 -1
  117. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  118. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  119. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  120. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  121. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  122. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  123. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  124. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  125. package/assets/esri/widgets/Directions/t9n/Directions_en.json +1 -1
  126. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  127. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  128. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  129. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  130. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  131. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  132. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  133. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  134. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  135. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  136. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  137. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  138. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  139. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  140. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  141. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  142. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  143. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  144. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  145. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  146. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  147. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  148. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  149. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  150. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  151. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  152. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  153. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  154. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  155. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  156. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  198. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm.json +1 -1
  199. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  200. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  201. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  202. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  203. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  204. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  205. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  206. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  207. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_en.json +1 -1
  208. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  209. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  210. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  211. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  212. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  213. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  214. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  215. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  216. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  217. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  218. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  219. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  220. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  221. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  222. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
  223. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  224. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  225. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  226. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  227. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  228. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  229. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  230. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  231. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  232. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  233. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  234. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  235. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  236. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  237. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  238. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  243. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  244. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  245. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  246. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  247. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  248. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  249. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  250. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  251. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  252. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  253. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  254. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  255. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  261. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  262. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  263. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  264. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  265. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  266. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  267. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  268. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  269. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  270. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  271. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  272. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  273. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  274. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  275. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  276. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  277. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  278. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  279. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  280. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder.json +1 -0
  281. package/assets/esri/widgets/support/FilterBuilder/t9n/FilterBuilder_en.json +1 -0
  282. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition.json +1 -0
  283. package/assets/esri/widgets/support/FilterCondition/t9n/FilterCondition_en.json +1 -0
  284. package/form/elements/inputs.d.ts +10 -0
  285. package/form/elements.d.ts +6 -0
  286. package/geometry/support/typeUtils.js +1 -1
  287. package/geometry.d.ts +6 -0
  288. package/interfaces.d.ts +262 -62
  289. package/layers/FeatureLayer.js +1 -1
  290. package/layers/graphics/OptimizedGeometry.js +1 -1
  291. package/layers/graphics/dehydratedFeatures.js +1 -1
  292. package/layers/graphics/sources/ParquetSource.js +1 -1
  293. package/layers/orientedImagery/transformations/utils.js +1 -1
  294. package/layers/support/domainUtils.js +1 -1
  295. package/layers/support/parquetLayerUtils.js +1 -1
  296. package/layers/support/rasterFieldUtils.js +1 -1
  297. package/package.json +3 -3
  298. package/pointCloudRenderers.d.ts +4 -0
  299. package/popup/content.d.ts +8 -0
  300. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  301. package/rasterRenderers.d.ts +7 -0
  302. package/renderers.d.ts +7 -0
  303. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  304. package/smartMapping/support/utils.js +1 -1
  305. package/support/basemapDefinitions.js +1 -1
  306. package/support/revision.js +1 -1
  307. package/symbols/cim/animationUtils.js +1 -1
  308. package/symbols/cim/defaultCIMValues.js +1 -1
  309. package/symbols.d.ts +22 -0
  310. package/tables/elements.d.ts +4 -0
  311. package/views/2d/engine/webgl/animations/utils.js +1 -1
  312. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  313. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  314. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  315. package/views/2d/layers/features/layerAdapters/geometryUtils.js +1 -1
  316. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  317. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  318. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  319. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  320. package/views/3d/environment/CloudsComposition.js +1 -1
  321. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  322. package/views/3d/environment/CloudsRenderer.js +1 -1
  323. package/views/3d/environment/CloudsTechnique.js +1 -1
  324. package/views/3d/environment/Fog.js +1 -1
  325. package/views/3d/environment/FogTechnique.js +1 -1
  326. package/views/3d/environment/LocalAtmosphere.js +1 -1
  327. package/views/3d/environment/MarsAtmosphere.js +1 -1
  328. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  329. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  330. package/views/3d/environment/Precipitation.js +1 -1
  331. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  332. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  333. package/views/3d/interactive/editingTools/media/ControlPointOperations.js +1 -1
  334. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  335. package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
  336. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  337. package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
  338. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  339. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  340. package/views/3d/terrain/OverlayRenderer.js +1 -1
  341. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  342. package/views/3d/terrain/TerrainRenderer.js +1 -1
  343. package/views/3d/terrain/TileCompositor.js +1 -1
  344. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  345. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  346. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  347. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  348. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  349. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  350. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  351. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  352. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  353. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  354. package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjustTechnique.js +1 -1
  355. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  356. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  357. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  358. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  359. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  360. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  361. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  362. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  363. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  364. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  365. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  366. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  367. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  368. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  369. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  370. package/views/3d/webgl-engine/effects/highlight/SingleHighlightApplyTechnique.js +1 -1
  371. package/views/3d/webgl-engine/effects/highlight/SingleHighlightBlurTechnique.js +1 -1
  372. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  373. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  374. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  375. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  376. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  377. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  378. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  379. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  380. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  381. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  382. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  383. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  384. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  385. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  386. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  387. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  388. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  389. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  390. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  391. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  392. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  393. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  394. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  395. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  396. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  397. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  398. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  399. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  400. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  401. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  402. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  403. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  404. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  405. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  406. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  407. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  408. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  409. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  410. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  411. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  412. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  413. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  414. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  415. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  416. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  417. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  418. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  419. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  420. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  421. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  422. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  423. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  424. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  425. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  426. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  427. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  428. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  429. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  430. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  431. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  432. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  433. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  434. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  435. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  436. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  437. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  438. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  439. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  440. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  441. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  442. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  443. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  444. package/views/3d/webgl.js +1 -1
  445. package/views/FocusAreas.js +1 -1
  446. package/views/draw/DrawGraphicTool.js +1 -1
  447. package/views/draw/DrawOperation.js +1 -1
  448. package/views/draw/support/Box.js +1 -1
  449. package/views/draw/support/helpMessageUtils.js +1 -1
  450. package/views/draw/support/tooltipUtils.js +1 -1
  451. package/views/interactive/keybindings.js +1 -1
  452. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  453. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  454. package/views/interactive/snapping/snappingUtils.js +1 -1
  455. package/views/interactive/tooltip/content/tooltipContentFactory.js +1 -1
  456. package/views/interactive/tooltip/infos/DrawCircleTooltipInfo.js +1 -1
  457. package/views/interactive/tooltip/infos/DrawMultipointTooltipInfo.js +5 -0
  458. package/views/interactive/tooltip/infos/DrawRectangleTooltipInfo.js +1 -1
  459. package/views/layers/FeatureLayerView.js +1 -1
  460. package/views/layers/MediaLayerView.js +1 -1
  461. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  462. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  463. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  464. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  465. package/widgets/BatchAttributeForm/inputs/EditableInput.js +1 -1
  466. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  467. package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
  468. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  469. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  470. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  471. package/widgets/BatchAttributeForm/templates/BatchFormTemplate.js +1 -1
  472. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  473. package/widgets/BatchAttributeForm/templates/GroupElementTemplate.js +1 -1
  474. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  475. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  476. package/widgets/BatchAttributeForm.js +1 -1
  477. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  478. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  479. package/widgets/Editor/EditorViewModel.js +1 -1
  480. package/widgets/Editor/Edits.js +1 -1
  481. package/widgets/Editor/UpdateWorkflow.js +1 -1
  482. package/widgets/Editor/VisibleElements.js +1 -1
  483. package/widgets/Editor/components/CreateFeaturesPanelContent.js +1 -1
  484. package/widgets/Editor/components/PanelToolbar.js +1 -1
  485. package/widgets/Editor/components/PendingFeatureList.js +5 -0
  486. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  487. package/widgets/Editor/css.js +1 -1
  488. package/widgets/Editor/workflowUtils.js +1 -1
  489. package/widgets/Editor.js +1 -1
  490. package/widgets/Feature.js +1 -1
  491. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/AssociationDetails.js +5 -0
  492. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  493. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationSettings.js +1 -1
  494. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  495. package/widgets/FeatureForm/FieldInput.js +1 -1
  496. package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
  497. package/widgets/FeatureForm.js +1 -1
  498. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +4 -0
  499. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  500. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  501. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  502. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +5 -0
  503. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  504. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  505. package/widgets/OrientedImageryViewer/mixins/ImageMeasurementMixin.js +1 -1
  506. package/widgets/OrientedImageryViewer/mixins/SketchHandlerMixin.js +1 -1
  507. package/widgets/OrientedImageryViewer.js +1 -1
  508. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  509. package/widgets/Search.js +1 -1
  510. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  511. package/widgets/Sketch/SketchViewModel.js +1 -1
  512. package/widgets/Sketch/VisibleElements.js +1 -1
  513. package/widgets/Sketch.js +1 -1
  514. package/widgets/Swipe/SwipeViewModel.js +1 -1
  515. package/widgets/UtilityNetworkTrace.js +1 -1
  516. package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +5 -0
  517. package/widgets/support/FilterBuilder.js +5 -0
  518. package/widgets/support/FilterCondition/FilterConditionViewModel.js +5 -0
  519. package/widgets/support/FilterCondition/conditionUtils.js +5 -0
  520. package/widgets/support/FilterCondition.js +5 -0
  521. package/widgets/support/ItemList.js +1 -1
  522. package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  523. package/widgets/support/UtilityNetworkAssociations/utilityNetworkUtils.js +1 -1
  524. package/widgets/support/widget.d.ts +9 -0
  525. package/assets/esri/core/workers/chunks/0bafa546602b776caf2f.js +0 -1
  526. package/assets/esri/core/workers/chunks/1891c9aa162c5df1d27c.js +0 -1
  527. package/assets/esri/core/workers/chunks/69ab4b780f7223cfd7dd.js +0 -1
  528. package/assets/esri/core/workers/chunks/6f796f2836f949ab7359.js +0 -1
  529. package/assets/esri/core/workers/chunks/83edac97a52b26ead1ea.js +0 -314
  530. package/assets/esri/core/workers/chunks/97310e6eec87eeaf58f0.js +0 -1
  531. package/assets/esri/core/workers/chunks/9ffa27d0517bad84572e.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{p as e,i as r,c as t,n as i,d as s,l as a,h as o,f as n,q as c}from"../../../../chunks/vec32.js";import{ZEROS as l,create as u,fromValues as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ViewingMode as f}from"../../../ViewingMode.js";import{newLayout as m}from"../../support/buffer/InterleavedLayout.js";import{is3DGeometryOutputMRT as p,isShadowRelatedOutput as d,is3DGeometryOutput as g,ShaderOutput as T,isColorOrColorEmission as x}from"../core/shaderLibrary/ShaderOutput.js";import{NormalType as _}from"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{EmissionSource as v}from"../core/shaderLibrary/output/Emissions.glsl.js";import{NormalsDoubleSidedMode as b}from"../core/shaderLibrary/shading/Normals.glsl.js";import{PBRMode as S}from"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{alphaCutoff as O}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as M}from"../effects/geometry/olidUtils.js";import{CullFaceOptions as w}from"../lib/basicInterfaces.js";import{GLTextureMaterial as R}from"../lib/GLTextureMaterial.js";import{Material as y}from"../lib/Material.js";import{OITPolygonOffsetLimit as C}from"../lib/OrderIndependentTransparency.js";import{intersectTriangleGeometry as A}from"../lib/RayIntersections.js";import{RenderSlot as I}from"../lib/RenderSlot.js";import{VertexAttribute as P}from"../lib/VertexAttribute.js";import{getVerticalOffsetObject3D as j}from"../lib/verticalOffsetUtils.js";import{DefaultBufferWriter as L}from"./DefaultBufferWriter.js";import{verticalOffsetAtDistance as D}from"./internal/MaterialUtil.js";import{DefaultMaterialTechnique as N,DefaultMaterialPassParameters as E}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as V}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{RealisticTreeTechnique as B}from"../shaders/RealisticTreeTechnique.js";class q extends y{constructor(e,r){super(e,U),this.materialType="default",this.supportsEdges=!0,this.produces=new Map([[I.OPAQUE_MATERIAL,e=>(p(e)||d(e))&&!this.parameters.transparent],[I.TRANSPARENT_MATERIAL,e=>(p(e)||d(e))&&this.parameters.transparent&&this.parameters.writeDepth],[I.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>(g(e)||d(e))&&this.parameters.transparent&&!this.parameters.writeDepth]]),this._vertexBufferLayout=k(this.parameters),this._configuration=new V(r.spherical,r.doublePrecisionRequiresObfuscation)}isVisibleForOutput(e){return e!==T.Shadow&&e!==T.ShadowExcludeHighlight&&e!==T.ShadowHighlight||this.parameters.castShadows}get visible(){const e=this.parameters;if(e.layerOpacity<O)return!1;const{hasInstancedColor:r,hasVertexColors:t,hasSymbolColors:i,vvColor:s}=e,a=r||s||i,o="replace"===e.colorMixMode,n=e.opacity>=O;if(t&&a)return o||n;const c=e.externalColor&&e.externalColor[3]>=O;return t?o?c:n:a?o||n:o?c:n}get hasEmissions(){return!!this.parameters.emissiveTextureId||!e(this.parameters.emissiveFactor,l)}getConfiguration(e,r){const t=this.parameters,{treeRendering:i,doubleSided:s,doubleSidedType:a}=t;return this._configuration.output=e,this._configuration.hasNormalTexture=!i&&!!t.normalTextureId,this._configuration.hasColorTexture=!!t.textureId,this._configuration.hasVertexTangents=!i&&t.hasVertexTangents,this._configuration.instanced=t.isInstanced,this._configuration.instancedDoublePrecision=t.instancedDoublePrecision,this._configuration.vvSize=!!t.vvSize,this._configuration.hasVerticalOffset=null!=t.verticalOffset,this._configuration.hasScreenSizePerspective=null!=t.screenSizePerspective,this._configuration.hasSlicePlane=t.hasSlicePlane,this._configuration.alphaDiscardMode=t.textureAlphaMode,this._configuration.normalType=i?_.Attribute:t.normalType,this._configuration.transparent=t.transparent,this._configuration.writeDepth=t.writeDepth,null!=t.customDepthTest&&(this._configuration.customDepthTest=t.customDepthTest),this._configuration.hasOccludees=r.hasOccludees,this._configuration.cullFace=t.hasSlicePlane?w.None:t.cullFace,this._configuration.cullAboveTerrain=r.cullAboveTerrain,this._configuration.hasModelTransformation=!i&&null!=t.modelTransformation,this._configuration.hasVertexColors=t.hasVertexColors,this._configuration.hasSymbolColors=t.hasSymbolColors,this._configuration.doubleSidedMode=i?b.WindingOrder:s&&"normal"===a?b.View:s&&"winding-order"===a?b.WindingOrder:b.None,this._configuration.instancedColor=t.hasInstancedColor,x(e)?(this._configuration.terrainDepthTest=r.terrainDepthTest,this._configuration.receiveShadows=t.receiveShadows,this._configuration.receiveAmbientOcclusion=t.receiveAmbientOcclusion&&null!=r.ssao):(this._configuration.terrainDepthTest=!1,this._configuration.receiveShadows=this._configuration.receiveAmbientOcclusion=!1),this._configuration.vvColor=!!t.vvColor,this._configuration.textureAlphaPremultiplied=!!t.textureAlphaPremultiplied,this._configuration.pbrMode=t.usePBR?t.isSchematic?S.Schematic:S.Normal:S.Disabled,this._configuration.hasMetallicRoughnessTexture=!i&&!!t.metallicRoughnessTextureId,this._configuration.emissionSource=i?v.None:null!=t.emissiveTextureId?v.Texture:t.usePBR?v.Value:v.None,this._configuration.hasOcclusionTexture=!i&&!!t.occlusionTextureId,this._configuration.offsetBackfaces=!(!t.transparent||!t.offsetTransparentBackfaces),this._configuration.oitPass=r.oitPass,this._configuration.enableOffset=r.camera.relativeElevation<C,this._configuration.snowCover=W(r),this._configuration.hasColorTextureTransform=!!t.colorTextureTransformMatrix,this._configuration.hasNormalTextureTransform=!!t.normalTextureTransformMatrix,this._configuration.hasEmissionTextureTransform=!!t.emissiveTextureTransformMatrix,this._configuration.hasOcclusionTextureTransform=!!t.occlusionTextureTransformMatrix,this._configuration.hasMetallicRoughnessTextureTransform=!!t.metallicRoughnessTextureTransformMatrix,this._configuration}intersect(e,l,u,h,m,p){if(null!=this.parameters.verticalOffset){const e=u.camera;r(Q,l[12],l[13],l[14]);let p=null;switch(u.viewingMode){case f.Global:p=i(Y,Q);break;case f.Local:p=t(Y,H)}let d=0;const g=s(K,Q,e.eye),T=a(g),x=o(g,g,1/T);let _=null;this.parameters.screenSizePerspective&&(_=n(p,x)),d+=D(e,T,this.parameters.verticalOffset,_??0,this.parameters.screenSizePerspective),o(p,p,d),c(J,p,u.transform.inverseRotation),h=s(F,h,J),m=s(G,m,J)}A(e,u,h,m,j(u.verticalOffset),p)}createGLMaterial(e){return new z(e)}createBufferWriter(){return new L(this._vertexBufferLayout)}}class z extends R{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const t=this._material.parameters;this.updateTexture(t.textureId);const i=e.camera.viewInverseTransposeMatrix;return r(t.origin,i[3],i[7],i[11]),this._material.setParameters(this.textureBindParameters),this.acquireTechnique(t.treeRendering?B:N,e)}}class U extends E{constructor(){super(...arguments),this.initTextureTransparent=!1,this.treeRendering=!1,this.hasVertexTangents=!1}}function W(e){return null!=e.weather&&e.weatherVisible&&"snowy"===e.weather.type&&"enabled"===e.weather.snowCover}function k(e){const r=m().vec3f(P.POSITION);e.normalType===_.Compressed?r.vec2i16(P.NORMALCOMPRESSED,{glNormalized:!0}):r.vec3f(P.NORMAL),e.hasVertexTangents&&r.vec4f(P.TANGENT);return(e.textureId||e.normalTextureId||e.metallicRoughnessTextureId||e.emissiveTextureId||e.occlusionTextureId)&&r.vec2f(P.UV0),e.hasVertexColors&&r.vec4u8(P.COLOR),e.hasSymbolColors&&r.vec4u8(P.SYMBOLCOLOR),M()&&r.vec4u8(P.OBJECTANDLAYERIDCOLOR),r}const F=u(),G=u(),H=h(0,0,1),Y=u(),J=u(),Q=u(),K=u();export{z as DefaultGLMaterial,q as DefaultMaterial,U as DefaultMaterialParameters};
5
+ import{p as e,i as r,c as t,n as i,d as s,l as a,h as o,f as n,q as c}from"../../../../chunks/vec32.js";import{ZEROS as l,create as u,fromValues as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ViewingMode as f}from"../../../ViewingMode.js";import{newLayout as m}from"../../support/buffer/InterleavedLayout.js";import{is3DGeometryOutputMRT as p,isShadowRelatedOutput as d,is3DGeometryOutput as g,ShaderOutput as T,isColorOrColorEmission as x}from"../core/shaderLibrary/ShaderOutput.js";import{NormalType as _}from"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{EmissionSource as v}from"../core/shaderLibrary/output/Emissions.glsl.js";import{NormalsDoubleSidedMode as b}from"../core/shaderLibrary/shading/Normals.glsl.js";import{PBRMode as S}from"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{alphaCutoff as O}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as M}from"../effects/geometry/olidUtils.js";import{CullFaceOptions as w}from"../lib/basicInterfaces.js";import{GLTextureMaterial as R}from"../lib/GLTextureMaterial.js";import{Material as y}from"../lib/Material.js";import{OITPolygonOffsetLimit as C}from"../lib/OrderIndependentTransparency.js";import{intersectTriangleGeometry as A}from"../lib/RayIntersections.js";import{RenderSlot as I}from"../lib/RenderSlot.js";import{VertexAttribute as P}from"../lib/VertexAttribute.js";import{getVerticalOffsetObject3D as j}from"../lib/verticalOffsetUtils.js";import{DefaultBufferWriter as L}from"./DefaultBufferWriter.js";import{verticalOffsetAtDistance as D}from"./internal/MaterialUtil.js";import{DefaultMaterialTechnique as N,DefaultMaterialPassParameters as E}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as V}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{RealisticTreeTechnique as B}from"../shaders/RealisticTreeTechnique.js";class z extends y{constructor(e,r){super(e,U),this.materialType="default",this.supportsEdges=!0,this.produces=new Map([[I.OPAQUE_MATERIAL,e=>(p(e)||d(e))&&!this.parameters.transparent],[I.TRANSPARENT_MATERIAL,e=>(p(e)||d(e))&&this.parameters.transparent&&this.parameters.writeDepth],[I.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>(g(e)||d(e))&&this.parameters.transparent&&!this.parameters.writeDepth]]),this._vertexBufferLayout=k(this.parameters),this._configuration=new V(r.spherical,r.doublePrecisionRequiresObfuscation)}isVisibleForOutput(e){return e!==T.Shadow&&e!==T.ShadowExcludeHighlight&&e!==T.ShadowHighlight||this.parameters.castShadows}get visible(){const e=this.parameters;if(e.layerOpacity<O)return!1;const{hasInstancedColor:r,hasVertexColors:t,hasSymbolColors:i,vvColor:s}=e,a=r||s||i,o="replace"===e.colorMixMode,n=e.opacity>=O;if(t&&a)return o||n;const c=e.externalColor&&e.externalColor[3]>=O;return t?o?c:n:a?o||n:o?c:n}get hasEmissions(){return!!this.parameters.emissiveTextureId||!e(this.parameters.emissiveFactor,l)}getConfiguration(e,r){const t=this.parameters,{treeRendering:i,doubleSided:s,doubleSidedType:a}=t;return this._configuration.output=e,this._configuration.hasNormalTexture=!i&&!!t.normalTextureId,this._configuration.hasColorTexture=!!t.textureId,this._configuration.hasVertexTangents=!i&&t.hasVertexTangents,this._configuration.instanced=t.isInstanced,this._configuration.instancedDoublePrecision=t.instancedDoublePrecision,this._configuration.vvSize=!!t.vvSize,this._configuration.hasVerticalOffset=null!=t.verticalOffset,this._configuration.hasScreenSizePerspective=null!=t.screenSizePerspective,this._configuration.hasSlicePlane=t.hasSlicePlane,this._configuration.alphaDiscardMode=t.textureAlphaMode,this._configuration.normalType=i?_.Attribute:t.normalType,this._configuration.transparent=t.transparent,this._configuration.writeDepth=t.writeDepth,null!=t.customDepthTest&&(this._configuration.customDepthTest=t.customDepthTest),this._configuration.hasOccludees=r.hasOccludees,this._configuration.cullFace=t.hasSlicePlane?w.None:t.cullFace,this._configuration.cullAboveTerrain=r.cullAboveTerrain,this._configuration.hasModelTransformation=!i&&null!=t.modelTransformation,this._configuration.hasVertexColors=t.hasVertexColors,this._configuration.hasSymbolColors=t.hasSymbolColors,this._configuration.doubleSidedMode=i?b.WindingOrder:s&&"normal"===a?b.View:s&&"winding-order"===a?b.WindingOrder:b.None,this._configuration.instancedColor=t.hasInstancedColor,x(e)?(this._configuration.terrainDepthTest=r.terrainDepthTest,this._configuration.receiveShadows=t.receiveShadows,this._configuration.receiveAmbientOcclusion=t.receiveAmbientOcclusion&&null!=r.ssao):(this._configuration.terrainDepthTest=!1,this._configuration.receiveShadows=this._configuration.receiveAmbientOcclusion=!1),this._configuration.vvColor=!!t.vvColor,this._configuration.textureAlphaPremultiplied=!!t.textureAlphaPremultiplied,this._configuration.pbrMode=t.usePBR?t.isSchematic?S.Schematic:S.Normal:S.Disabled,this._configuration.hasMetallicRoughnessTexture=!i&&!!t.metallicRoughnessTextureId,this._configuration.emissionSource=i?v.None:null!=t.emissiveTextureId?v.Texture:t.usePBR?v.Value:v.None,this._configuration.hasOcclusionTexture=!i&&!!t.occlusionTextureId,this._configuration.offsetBackfaces=!(!t.transparent||!t.offsetTransparentBackfaces),this._configuration.oitPass=r.oitPass,this._configuration.enableOffset=r.camera.relativeElevation<C,this._configuration.snowCover=W(r),this._configuration.hasColorTextureTransform=!!t.colorTextureTransformMatrix,this._configuration.hasNormalTextureTransform=!!t.normalTextureTransformMatrix,this._configuration.hasEmissionTextureTransform=!!t.emissiveTextureTransformMatrix,this._configuration.hasOcclusionTextureTransform=!!t.occlusionTextureTransformMatrix,this._configuration.hasMetallicRoughnessTextureTransform=!!t.metallicRoughnessTextureTransformMatrix,this._configuration}intersect(e,l,u,h,m,p){if(null!=this.parameters.verticalOffset){const e=u.camera;r(Q,l[12],l[13],l[14]);let p=null;switch(u.viewingMode){case f.Global:p=i(Y,Q);break;case f.Local:p=t(Y,H)}let d=0;const g=s(K,Q,e.eye),T=a(g),x=o(g,g,1/T);let _=null;this.parameters.screenSizePerspective&&(_=n(p,x)),d+=D(e,T,this.parameters.verticalOffset,_??0,this.parameters.screenSizePerspective),o(p,p,d),c(J,p,u.transform.inverseRotation),h=s(F,h,J),m=s(G,m,J)}A(e,u,h,m,j(u.verticalOffset),p)}createGLMaterial(e){return new q(e)}createBufferWriter(){return new L(this._vertexBufferLayout)}}class q extends R{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const t=this._material.parameters;this.updateTexture(t.textureId);const i=e.camera.viewInverseTransposeMatrix;return r(t.origin,i[3],i[7],i[11]),this._material.setParameters(this.textureBindParameters),this.getTechnique(t.treeRendering?B:N,e)}}class U extends E{constructor(){super(...arguments),this.initTextureTransparent=!1,this.treeRendering=!1,this.hasVertexTangents=!1}}function W(e){return null!=e.weather&&e.weatherVisible&&"snowy"===e.weather.type&&"enabled"===e.weather.snowCover}function k(e){const r=m().vec3f(P.POSITION);e.normalType===_.Compressed?r.vec2i16(P.NORMALCOMPRESSED,{glNormalized:!0}):r.vec3f(P.NORMAL),e.hasVertexTangents&&r.vec4f(P.TANGENT);return(e.textureId||e.normalTextureId||e.metallicRoughnessTextureId||e.emissiveTextureId||e.occlusionTextureId)&&r.vec2f(P.UV0),e.hasVertexColors&&r.vec4u8(P.COLOR),e.hasSymbolColors&&r.vec4u8(P.SYMBOLCOLOR),M()&&r.vec4u8(P.OBJECTANDLAYERIDCOLOR),r}const F=u(),G=u(),H=h(0,0,1),Y=u(),J=u(),Q=u(),K=u();export{q as DefaultGLMaterial,z as DefaultMaterial,U as DefaultMaterialParameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as e,deg2rad as t}from"../../../../core/mathUtils.js";import{fromMat4 as s}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{invert as r}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as o,rotate as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as c,fromValues as l}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{i as f,t as h,n as p,d as u,h as m,c as d,l as g,j as O,g as S,q as T,f as b}from"../../../../chunks/vec32.js";import{create as v,fromValues as A}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromArray as E,create as _,freeze as I}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isMat4 as R}from"../../../../core/libs/gl-matrix-2/types/mat4.js";import{create as x}from"../../../../geometry/support/aaBoundingRect.js";import{BufferViewVec4u8 as C}from"../../../../geometry/support/buffer/BufferView.js";import{evaluateModelTransformScale as P}from"../../layers/support/FastSymbolUpdates.js";import{debugFlags as y}from"../../support/debugFlags.js";import{newLayout as D}from"../../support/buffer/InterleavedLayout.js";import{isColorEmissionHighlightOrOID as F,isColorOrColorEmission as L}from"../core/shaderLibrary/ShaderOutput.js";import{HUDVerticalPixelOffset as j}from"../core/shaderLibrary/hud/HUD.glsl.js";import{alphaCutoff as N}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as z}from"../effects/geometry/olidUtils.js";import{GLTextureMaterial as U,GLTextureMaterialBindParameters as M}from"../lib/GLTextureMaterial.js";import{Material as w,RenderOccludedFlag as B}from"../lib/Material.js";import{RenderSlot as V}from"../lib/RenderSlot.js";import{applyScaleFactor as q,applyPrecomputedScaleFactor as G,precomputeScaleFactor as H}from"../lib/screenSizePerspectiveUtils.js";import{assert as W}from"../lib/Util.js";import{VertexAttribute as X}from"../lib/VertexAttribute.js";import{ScaleInfo as Y}from"./ScaleInfo.js";import{writePosition as Z,writeNormal as k,writeColor as J,writeBufferFloat as K,writeBufferVec4 as Q,writeBufferVec4Zeros as $,writeObjectAndLayerIdColor as ee}from"./internal/bufferWriterUtils.js";import{verticalOffsetAtDistance as te}from"./internal/MaterialUtil.js";import{c as se}from"../../../../chunks/HUDMaterial.glsl.js";import{HUDMaterialTechnique as ie}from"../shaders/HUDMaterialTechnique.js";import{HUDMaterialTechniqueConfiguration as re}from"../shaders/HUDMaterialTechniqueConfiguration.js";class ae extends w{constructor(e,t){super(e,ye),this.produces=new Map([[V.HUD_MATERIAL,e=>F(e)&&!this.parameters.drawAsLabel],[V.LABEL_MATERIAL,e=>F(e)&&this.parameters.drawAsLabel],[V.OCCLUSION_PIXELS,()=>this.parameters.occlusionTest],[V.DRAPED_MATERIAL,e=>this.parameters.draped&&F(e)]]),this._visible=!0,this._configuration=new re(t)}getConfiguration(e,t){return this._configuration.output=e,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=this.parameters.draped,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.occlusionPass=t.slot===V.OCCLUSION_PIXELS,this._configuration.occludedFragmentFade=this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||t.slot===V.OCCLUSION_PIXELS,L(e)&&(this._configuration.debugDrawLabelBorder=!!y.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,i,a,o,n){const{options:{selectionMode:c,hud:l,excludeLabels:S},point:T,camera:b}=i,{parameters:A}=this;if(!c||!l||S&&A.isLabel||!e.visible||!T)return;const{scaleX:E,scaleY:_}=this._getScreenScale(e,b.pixelRatio);s(Te,t),e.attributes.has(X.FEATUREATTRIBUTE)&&le(Te);const I=e.attributes.get(X.POSITION),R=e.attributes.get(X.SIZE),x=e.attributes.get(X.NORMAL),C=e.attributes.get(X.ROTATION),P=e.attributes.get(X.CENTEROFFSETANDDISTANCE);W(I.size>=3);const y=se(A),D="screen"===this.parameters.centerOffsetUnits;for(let s=0;s<I.data.length/I.size;s++){const e=s*I.size;f(pe,I.data[e],I.data[e+1],I.data[e+2]),h(pe,pe,t),h(pe,pe,b.viewMatrix);const a=s*P.size;if(f(Ae,P.data[a],P.data[a+1],P.data[a+2]),!D&&(pe[0]+=Ae[0],pe[1]+=Ae[1],0!==Ae[2])){const e=Ae[2];p(Ae,pe),u(pe,pe,m(Ae,Ae,e))}const o=s*x.size;if(f(ue,x.data[o],x.data[o+1],x.data[o+2]),ce(ue,Te,b,Ie),this._applyVerticalOffsetTransformationView(pe,Ie,b,he),b.applyProjection(pe,me),me[0]>-1){D&&(Ae[0]||Ae[1])&&(me[0]+=Ae[0]*b.pixelRatio,0!==Ae[1]&&(me[1]+=q(Ae[1],he.factorAlignment)*b.pixelRatio),b.unapplyProjection(me,pe)),me[0]+=this.parameters.screenOffset[0]*b.pixelRatio,me[1]+=this.parameters.screenOffset[1]*b.pixelRatio,me[0]=Math.floor(me[0]),me[1]=Math.floor(me[1]);const e=s*R.size;Ce[0]=R.data[e],Ce[1]=R.data[e+1],G(Ce,he.factor,Ce);const t=Re*b.pixelRatio;let a=0;if(A.textureIsSignedDistanceField){a=Math.min(A.outlineSize,.5*Ce[0])*b.pixelRatio/2}Ce[0]*=E,Ce[1]*=_;const o=s*C.size,c=A.rotation+C.data[o];if(fe(T,me[0],me[1],Ce,t,a,c,A,y)){const e=i.ray;if(h(ge,pe,r(ve,b.viewMatrix)),me[0]=T[0],me[1]=T[1],b.unprojectFromRenderScreen(me,pe)){const t=v();d(t,e.direction);const s=1/g(t);m(t,t,s);n(O(e.origin,pe)*s,t,-1,!0,1,ge)}}}}}intersectDraped(e,t,s,i,r,a){const o=e.attributes.get(X.POSITION),n=e.attributes.get(X.SIZE),c=e.attributes.get(X.ROTATION),l=this.parameters,f=se(l),{scaleX:h,scaleY:p}=this._getScreenScale(e,e.screenToWorldRatio),u=xe*e.screenToWorldRatio;for(let m=0;m<o.data.length/o.size;m++){const t=m*o.size,s=o.data[t],d=o.data[t+1],g=m*n.size;Ce[0]=n.data[g],Ce[1]=n.data[g+1];let O=0;if(l.textureIsSignedDistanceField){O=Math.min(l.outlineSize,.5*Ce[0])*e.screenToWorldRatio/2}Ce[0]*=h,Ce[1]*=p;const S=m*c.size,T=l.rotation+c.data[S];fe(i,s,d,Ce,u,O,T,l,f)&&r(a.dist,a.normal,-1,!1)}}createBufferWriter(){return new Le}_updateScaleInfo(e,t,s){const i=this.parameters;null!=i.screenSizePerspective?H(s,t,i.screenSizePerspective,e.factor):(e.factor.scale=1,e.factor.factor=0,e.factor.minScaleFactor=0),null!=i.screenSizePerspectiveAlignment?H(s,t,i.screenSizePerspectiveAlignment,e.factorAlignment):(e.factorAlignment.factor=e.factor.factor,e.factorAlignment.scale=e.factor.scale,e.factorAlignment.minScaleFactor=e.factor.minScaleFactor)}applyShaderOffsetsView(e,t,s,i,r,a,o){const n=ce(t,s,r,Ie);return this._applyVerticalGroundOffsetView(e,n,r,o),this._applyVerticalOffsetTransformationView(o,n,r,a),this._applyPolygonOffsetView(o,n,i[3],r,o),this._applyCenterOffsetView(o,i,o),o}applyShaderOffsetsNDC(e,t,s,i,r){return this._applyCenterOffsetNDC(e,t,s,i),null!=r&&d(r,i),this._applyPolygonOffsetNDC(i,t,s,i),i}_applyPolygonOffsetView(t,s,i,r,a){const o=r.aboveGround?1:-1;let n=Math.sign(i);0===n&&(n=o);const c=o*n;if(this.parameters.shaderPolygonOffset<=0)return d(a,t);const l=e(Math.abs(s.cosAngle),.01,1),f=1-Math.sqrt(1-l*l)/l/r.viewport[2];return m(a,t,c>0?f:1/f),a}_applyVerticalGroundOffsetView(e,t,s,i){const r=g(e),a=s.aboveGround?1:-1,o=s.computeRenderPixelSizeAtDist(r)*j,n=m(pe,t.normal,a*o);return S(i,e,n),i}_applyVerticalOffsetTransformationView(e,t,s,i){const r=this.parameters;if(!r.verticalOffset?.screenLength){if(r.screenSizePerspective||r.screenSizePerspectiveAlignment){const s=g(e);this._updateScaleInfo(i,s,t.cosAngle)}else i.factor.scale=1,i.factorAlignment.scale=1;return e}const a=g(e),o=r.screenSizePerspectiveAlignment??r.screenSizePerspective,n=te(s,a,r.verticalOffset,t.cosAngle,o);return this._updateScaleInfo(i,a,t.cosAngle),m(t.normal,t.normal,n),S(e,e,t.normal)}_applyCenterOffsetView(e,t,s){const i="screen"!==this.parameters.centerOffsetUnits;return s!==e&&d(s,e),i&&(s[0]+=t[0],s[1]+=t[1],t[2]&&(p(ue,s),S(s,s,m(ue,ue,t[2])))),s}_applyCenterOffsetNDC(e,t,s,i){const r="screen"!==this.parameters.centerOffsetUnits;return i!==e&&d(i,e),r||(i[0]+=t[0]/s.fullWidth*2,i[1]+=t[1]/s.fullHeight*2),i}_applyPolygonOffsetNDC(e,t,s,i){const r=this.parameters.shaderPolygonOffset;if(e!==i&&d(i,e),r){const e=s.aboveGround?1:-1,a=e*Math.sign(t[3]);i[2]-=(a||e)*r}return i}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:s}=this.parameters,i=e[3]>=N||t>=N&&s[3]>=N;return this._visible&&i}createGLMaterial(e){return new oe(e)}calculateRelativeScreenBounds(e,t,s=x()){return ne(this.parameters,e,t,s),s[2]=s[0]+e[0],s[3]=s[1]+e[1],s}_getScreenScale(e,t){const s=e.attributes.get(X.FEATUREATTRIBUTE);if(null==s)return{scaleX:t,scaleY:t};const i=E(s.data,_e);return P(Ee,this.parameters,i),{scaleX:Ee[0]*t,scaleY:Ee[1]*t}}}class oe extends U{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.acquireTechnique(ie,e)}}function ne(e,t,s,i){i[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*s,i[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*s}function ce(e,t,i,r){return R(t)&&(t=s(be,t)),T(r.normal,e,t),h(r.normal,r.normal,i.viewInverseTransposeMatrix),r.cosAngle=b(de,Pe),r}function le(e){const t=e[0],s=e[1],i=e[2],r=e[3],a=e[4],o=e[5],n=e[6],c=e[7],l=e[8],f=1/Math.sqrt(t*t+s*s+i*i),h=1/Math.sqrt(r*r+a*a+o*o),p=1/Math.sqrt(n*n+c*c+l*l);return e[0]=t*f,e[1]=s*f,e[2]=i*f,e[3]=r*h,e[4]=a*h,e[5]=o*h,e[6]=n*p,e[7]=c*p,e[8]=l*p,e}function fe(e,s,i,r,a,c,l,f,h){let p=s-a-r[0]*h[0],u=p+r[0]+2*a,m=i-a-r[1]*h[1],d=m+r[1]+2*a;const g=f.distanceFieldBoundingBox;return f.textureIsSignedDistanceField&&null!=g&&(p+=r[0]*g[0],m+=r[1]*g[1],u-=r[0]*(1-g[2]),d-=r[1]*(1-g[3]),p-=c,u+=c,m-=c,d+=c),o(Se,s,i),n(Oe,e,Se,t(l)),Oe[0]>p&&Oe[0]<u&&Oe[1]>m&&Oe[1]<d}const he=new Y,pe=v(),ue=v(),me=_(),de=v(),ge=v(),Oe=c(),Se=c(),Te=i(),be=i(),ve=a(),Ae=v(),Ee=v(),_e=_(),Ie={normal:de,cosAngle:0},Re=1,xe=2,Ce=[0,0],Pe=A(0,0,1);class ye extends M{constructor(){super(...arguments),this.renderOccluded=B.Occlude,this.isDecoration=!1,this.color=I(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=l(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=I(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=_(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusEffect="none",this.draped=!1,this.isLabel=!1}}const De=D().vec3f(X.POSITION).vec3f(X.NORMAL).vec2f(X.UV0).vec4u8(X.COLOR).vec2f(X.SIZE).f32(X.ROTATION).vec4f(X.CENTEROFFSETANDDISTANCE).vec4f(X.FEATUREATTRIBUTE),Fe=De.clone().vec4u8(X.OBJECTANDLAYERIDCOLOR);class Le{constructor(){this.vertexBufferLayout=z()?Fe:De}elementCount(e){return 6*e.get(X.POSITION).indices.length}write(e,t,s,i,r,a){Z(s.get(X.POSITION),e,r.position,a,6),k(s.get(X.NORMAL),t,r.normal,a,6);const o=s.get(X.UV0)?.data;let n=0,c=0,l=1,f=1;o&&o.length>=4&&(n=o[0],c=o[1],l=o[2],f=o[3]),l=Math.min(1.99999,l+1),f=Math.min(1.99999,f+1);let h=s.get(X.POSITION).indices.length,p=a;const u=r.uv0;for(let O=0;O<h;++O)u.set(p,0,n),u.set(p,1,c),p++,u.set(p,0,l),u.set(p,1,c),p++,u.set(p,0,l),u.set(p,1,f),p++,u.set(p,0,l),u.set(p,1,f),p++,u.set(p,0,n),u.set(p,1,f),p++,u.set(p,0,n),u.set(p,1,c),p++;J(s.get(X.COLOR),4,r.color,a,6);const{data:m,indices:d}=s.get(X.SIZE);h=d.length;const g=r.size;p=a;for(let O=0;O<h;++O){const e=m[2*d[O]],t=m[2*d[O]+1];for(let s=0;s<6;++s)g.set(p,0,e),g.set(p,1,t),p++}if(K(s.get(X.ROTATION),r.rotation,a,6),s.get(X.CENTEROFFSETANDDISTANCE)?Q(s.get(X.CENTEROFFSETANDDISTANCE),r.centerOffsetAndDistance,a,6):$(r.centerOffsetAndDistance,a,6*h),s.get(X.FEATUREATTRIBUTE)?Q(s.get(X.FEATUREATTRIBUTE),r.featureAttribute,a,6):$(r.featureAttribute,a,6*h),null!=i){const e=s.get(X.POSITION)?.indices;if(e){const t=e.length,s=r.getField(X.OBJECTANDLAYERIDCOLOR,C);ee(i,s,t,a,6)}}}}export{ae as HUDMaterial,ye as Parameters};
5
+ import{clamp as e,deg2rad as t}from"../../../../core/mathUtils.js";import{fromMat4 as s}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{invert as r}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as o,rotate as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as c,fromValues as l}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{i as f,t as h,n as p,d as u,h as m,c as d,l as g,j as O,g as S,q as T,f as b}from"../../../../chunks/vec32.js";import{create as v,fromValues as A}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromArray as E,create as _,freeze as I}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isMat4 as R}from"../../../../core/libs/gl-matrix-2/types/mat4.js";import{create as x}from"../../../../geometry/support/aaBoundingRect.js";import{BufferViewVec4u8 as C}from"../../../../geometry/support/buffer/BufferView.js";import{evaluateModelTransformScale as P}from"../../layers/support/FastSymbolUpdates.js";import{debugFlags as y}from"../../support/debugFlags.js";import{newLayout as D}from"../../support/buffer/InterleavedLayout.js";import{isColorEmissionHighlightOrOID as F,isColorOrColorEmission as L}from"../core/shaderLibrary/ShaderOutput.js";import{HUDVerticalPixelOffset as j}from"../core/shaderLibrary/hud/HUD.glsl.js";import{alphaCutoff as N}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as z}from"../effects/geometry/olidUtils.js";import{GLTextureMaterial as U,GLTextureMaterialBindParameters as M}from"../lib/GLTextureMaterial.js";import{Material as w,RenderOccludedFlag as B}from"../lib/Material.js";import{RenderSlot as V}from"../lib/RenderSlot.js";import{applyScaleFactor as q,applyPrecomputedScaleFactor as G,precomputeScaleFactor as H}from"../lib/screenSizePerspectiveUtils.js";import{assert as W}from"../lib/Util.js";import{VertexAttribute as X}from"../lib/VertexAttribute.js";import{ScaleInfo as Y}from"./ScaleInfo.js";import{writePosition as Z,writeNormal as k,writeColor as J,writeBufferFloat as K,writeBufferVec4 as Q,writeBufferVec4Zeros as $,writeObjectAndLayerIdColor as ee}from"./internal/bufferWriterUtils.js";import{verticalOffsetAtDistance as te}from"./internal/MaterialUtil.js";import{c as se}from"../../../../chunks/HUDMaterial.glsl.js";import{HUDMaterialTechnique as ie}from"../shaders/HUDMaterialTechnique.js";import{HUDMaterialTechniqueConfiguration as re}from"../shaders/HUDMaterialTechniqueConfiguration.js";class ae extends w{constructor(e,t){super(e,ye),this.produces=new Map([[V.HUD_MATERIAL,e=>F(e)&&!this.parameters.drawAsLabel],[V.LABEL_MATERIAL,e=>F(e)&&this.parameters.drawAsLabel],[V.OCCLUSION_PIXELS,()=>this.parameters.occlusionTest],[V.DRAPED_MATERIAL,e=>this.parameters.draped&&F(e)]]),this._visible=!0,this._configuration=new re(t)}getConfiguration(e,t){return this._configuration.output=e,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=this.parameters.draped,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.occlusionPass=t.slot===V.OCCLUSION_PIXELS,this._configuration.occludedFragmentFade=this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||t.slot===V.OCCLUSION_PIXELS,L(e)&&(this._configuration.debugDrawLabelBorder=!!y.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,i,a,o,n){const{options:{selectionMode:c,hud:l,excludeLabels:S},point:T,camera:b}=i,{parameters:A}=this;if(!c||!l||S&&A.isLabel||!e.visible||!T)return;const{scaleX:E,scaleY:_}=this._getScreenScale(e,b.pixelRatio);s(Te,t),e.attributes.has(X.FEATUREATTRIBUTE)&&le(Te);const I=e.attributes.get(X.POSITION),R=e.attributes.get(X.SIZE),x=e.attributes.get(X.NORMAL),C=e.attributes.get(X.ROTATION),P=e.attributes.get(X.CENTEROFFSETANDDISTANCE);W(I.size>=3);const y=se(A),D="screen"===this.parameters.centerOffsetUnits;for(let s=0;s<I.data.length/I.size;s++){const e=s*I.size;f(pe,I.data[e],I.data[e+1],I.data[e+2]),h(pe,pe,t),h(pe,pe,b.viewMatrix);const a=s*P.size;if(f(Ae,P.data[a],P.data[a+1],P.data[a+2]),!D&&(pe[0]+=Ae[0],pe[1]+=Ae[1],0!==Ae[2])){const e=Ae[2];p(Ae,pe),u(pe,pe,m(Ae,Ae,e))}const o=s*x.size;if(f(ue,x.data[o],x.data[o+1],x.data[o+2]),ce(ue,Te,b,Ie),this._applyVerticalOffsetTransformationView(pe,Ie,b,he),b.applyProjection(pe,me),me[0]>-1){D&&(Ae[0]||Ae[1])&&(me[0]+=Ae[0]*b.pixelRatio,0!==Ae[1]&&(me[1]+=q(Ae[1],he.factorAlignment)*b.pixelRatio),b.unapplyProjection(me,pe)),me[0]+=this.parameters.screenOffset[0]*b.pixelRatio,me[1]+=this.parameters.screenOffset[1]*b.pixelRatio,me[0]=Math.floor(me[0]),me[1]=Math.floor(me[1]);const e=s*R.size;Ce[0]=R.data[e],Ce[1]=R.data[e+1],G(Ce,he.factor,Ce);const t=Re*b.pixelRatio;let a=0;if(A.textureIsSignedDistanceField){a=Math.min(A.outlineSize,.5*Ce[0])*b.pixelRatio/2}Ce[0]*=E,Ce[1]*=_;const o=s*C.size,c=A.rotation+C.data[o];if(fe(T,me[0],me[1],Ce,t,a,c,A,y)){const e=i.ray;if(h(ge,pe,r(ve,b.viewMatrix)),me[0]=T[0],me[1]=T[1],b.unprojectFromRenderScreen(me,pe)){const t=v();d(t,e.direction);const s=1/g(t);m(t,t,s);n(O(e.origin,pe)*s,t,-1,!0,1,ge)}}}}}intersectDraped(e,t,s,i,r,a){const o=e.attributes.get(X.POSITION),n=e.attributes.get(X.SIZE),c=e.attributes.get(X.ROTATION),l=this.parameters,f=se(l),{scaleX:h,scaleY:p}=this._getScreenScale(e,e.screenToWorldRatio),u=xe*e.screenToWorldRatio;for(let m=0;m<o.data.length/o.size;m++){const t=m*o.size,s=o.data[t],d=o.data[t+1],g=m*n.size;Ce[0]=n.data[g],Ce[1]=n.data[g+1];let O=0;if(l.textureIsSignedDistanceField){O=Math.min(l.outlineSize,.5*Ce[0])*e.screenToWorldRatio/2}Ce[0]*=h,Ce[1]*=p;const S=m*c.size,T=l.rotation+c.data[S];fe(i,s,d,Ce,u,O,T,l,f)&&r(a.dist,a.normal,-1,!1)}}createBufferWriter(){return new Le}_updateScaleInfo(e,t,s){const i=this.parameters;null!=i.screenSizePerspective?H(s,t,i.screenSizePerspective,e.factor):(e.factor.scale=1,e.factor.factor=0,e.factor.minScaleFactor=0),null!=i.screenSizePerspectiveAlignment?H(s,t,i.screenSizePerspectiveAlignment,e.factorAlignment):(e.factorAlignment.factor=e.factor.factor,e.factorAlignment.scale=e.factor.scale,e.factorAlignment.minScaleFactor=e.factor.minScaleFactor)}applyShaderOffsetsView(e,t,s,i,r,a,o){const n=ce(t,s,r,Ie);return this._applyVerticalGroundOffsetView(e,n,r,o),this._applyVerticalOffsetTransformationView(o,n,r,a),this._applyPolygonOffsetView(o,n,i[3],r,o),this._applyCenterOffsetView(o,i,o),o}applyShaderOffsetsNDC(e,t,s,i,r){return this._applyCenterOffsetNDC(e,t,s,i),null!=r&&d(r,i),this._applyPolygonOffsetNDC(i,t,s,i),i}_applyPolygonOffsetView(t,s,i,r,a){const o=r.aboveGround?1:-1;let n=Math.sign(i);0===n&&(n=o);const c=o*n;if(this.parameters.shaderPolygonOffset<=0)return d(a,t);const l=e(Math.abs(s.cosAngle),.01,1),f=1-Math.sqrt(1-l*l)/l/r.viewport[2];return m(a,t,c>0?f:1/f),a}_applyVerticalGroundOffsetView(e,t,s,i){const r=g(e),a=s.aboveGround?1:-1,o=s.computeRenderPixelSizeAtDist(r)*j,n=m(pe,t.normal,a*o);return S(i,e,n),i}_applyVerticalOffsetTransformationView(e,t,s,i){const r=this.parameters;if(!r.verticalOffset?.screenLength){if(r.screenSizePerspective||r.screenSizePerspectiveAlignment){const s=g(e);this._updateScaleInfo(i,s,t.cosAngle)}else i.factor.scale=1,i.factorAlignment.scale=1;return e}const a=g(e),o=r.screenSizePerspectiveAlignment??r.screenSizePerspective,n=te(s,a,r.verticalOffset,t.cosAngle,o);return this._updateScaleInfo(i,a,t.cosAngle),m(t.normal,t.normal,n),S(e,e,t.normal)}_applyCenterOffsetView(e,t,s){const i="screen"!==this.parameters.centerOffsetUnits;return s!==e&&d(s,e),i&&(s[0]+=t[0],s[1]+=t[1],t[2]&&(p(ue,s),S(s,s,m(ue,ue,t[2])))),s}_applyCenterOffsetNDC(e,t,s,i){const r="screen"!==this.parameters.centerOffsetUnits;return i!==e&&d(i,e),r||(i[0]+=t[0]/s.fullWidth*2,i[1]+=t[1]/s.fullHeight*2),i}_applyPolygonOffsetNDC(e,t,s,i){const r=this.parameters.shaderPolygonOffset;if(e!==i&&d(i,e),r){const e=s.aboveGround?1:-1,a=e*Math.sign(t[3]);i[2]-=(a||e)*r}return i}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:s}=this.parameters,i=e[3]>=N||t>=N&&s[3]>=N;return this._visible&&i}createGLMaterial(e){return new oe(e)}calculateRelativeScreenBounds(e,t,s=x()){return ne(this.parameters,e,t,s),s[2]=s[0]+e[0],s[3]=s[1]+e[1],s}_getScreenScale(e,t){const s=e.attributes.get(X.FEATUREATTRIBUTE);if(null==s)return{scaleX:t,scaleY:t};const i=E(s.data,_e);return P(Ee,this.parameters,i),{scaleX:Ee[0]*t,scaleY:Ee[1]*t}}}class oe extends U{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(ie,e)}}function ne(e,t,s,i){i[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*s,i[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*s}function ce(e,t,i,r){return R(t)&&(t=s(be,t)),T(r.normal,e,t),h(r.normal,r.normal,i.viewInverseTransposeMatrix),r.cosAngle=b(de,Pe),r}function le(e){const t=e[0],s=e[1],i=e[2],r=e[3],a=e[4],o=e[5],n=e[6],c=e[7],l=e[8],f=1/Math.sqrt(t*t+s*s+i*i),h=1/Math.sqrt(r*r+a*a+o*o),p=1/Math.sqrt(n*n+c*c+l*l);return e[0]=t*f,e[1]=s*f,e[2]=i*f,e[3]=r*h,e[4]=a*h,e[5]=o*h,e[6]=n*p,e[7]=c*p,e[8]=l*p,e}function fe(e,s,i,r,a,c,l,f,h){let p=s-a-r[0]*h[0],u=p+r[0]+2*a,m=i-a-r[1]*h[1],d=m+r[1]+2*a;const g=f.distanceFieldBoundingBox;return f.textureIsSignedDistanceField&&null!=g&&(p+=r[0]*g[0],m+=r[1]*g[1],u-=r[0]*(1-g[2]),d-=r[1]*(1-g[3]),p-=c,u+=c,m-=c,d+=c),o(Se,s,i),n(Oe,e,Se,t(l)),Oe[0]>p&&Oe[0]<u&&Oe[1]>m&&Oe[1]<d}const he=new Y,pe=v(),ue=v(),me=_(),de=v(),ge=v(),Oe=c(),Se=c(),Te=i(),be=i(),ve=a(),Ae=v(),Ee=v(),_e=_(),Ie={normal:de,cosAngle:0},Re=1,xe=2,Ce=[0,0],Pe=A(0,0,1);class ye extends M{constructor(){super(...arguments),this.renderOccluded=B.Occlude,this.isDecoration=!1,this.color=I(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=l(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=I(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=_(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusEffect="none",this.draped=!1,this.isLabel=!1}}const De=D().vec3f(X.POSITION).vec3f(X.NORMAL).vec2f(X.UV0).vec4u8(X.COLOR).vec2f(X.SIZE).f32(X.ROTATION).vec4f(X.CENTEROFFSETANDDISTANCE).vec4f(X.FEATUREATTRIBUTE),Fe=De.clone().vec4u8(X.OBJECTANDLAYERIDCOLOR);class Le{constructor(){this.vertexBufferLayout=z()?Fe:De}elementCount(e){return 6*e.get(X.POSITION).indices.length}write(e,t,s,i,r,a){Z(s.get(X.POSITION),e,r.position,a,6),k(s.get(X.NORMAL),t,r.normal,a,6);const o=s.get(X.UV0)?.data;let n=0,c=0,l=1,f=1;o&&o.length>=4&&(n=o[0],c=o[1],l=o[2],f=o[3]),l=Math.min(1.99999,l+1),f=Math.min(1.99999,f+1);let h=s.get(X.POSITION).indices.length,p=a;const u=r.uv0;for(let O=0;O<h;++O)u.set(p,0,n),u.set(p,1,c),p++,u.set(p,0,l),u.set(p,1,c),p++,u.set(p,0,l),u.set(p,1,f),p++,u.set(p,0,l),u.set(p,1,f),p++,u.set(p,0,n),u.set(p,1,f),p++,u.set(p,0,n),u.set(p,1,c),p++;J(s.get(X.COLOR),4,r.color,a,6);const{data:m,indices:d}=s.get(X.SIZE);h=d.length;const g=r.size;p=a;for(let O=0;O<h;++O){const e=m[2*d[O]],t=m[2*d[O]+1];for(let s=0;s<6;++s)g.set(p,0,e),g.set(p,1,t),p++}if(K(s.get(X.ROTATION),r.rotation,a,6),s.get(X.CENTEROFFSETANDDISTANCE)?Q(s.get(X.CENTEROFFSETANDDISTANCE),r.centerOffsetAndDistance,a,6):$(r.centerOffsetAndDistance,a,6*h),s.get(X.FEATUREATTRIBUTE)?Q(s.get(X.FEATUREATTRIBUTE),r.featureAttribute,a,6):$(r.featureAttribute,a,6*h),null!=i){const e=s.get(X.POSITION)?.indices;if(e){const t=e.length,s=r.getField(X.OBJECTANDLAYERIDCOLOR,C);ee(i,s,t,a,6)}}}}export{ae as HUDMaterial,ye as Parameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{set as t,squaredDistance as e}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{newLayout as s}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import o from"../lib/GLMaterial.js";import{Material as a}from"../lib/Material.js";import{RenderSlot as n}from"../lib/RenderSlot.js";import{VertexAttribute as u}from"../lib/VertexAttribute.js";import{writePosition as l,writeBufferFloat as c}from"./internal/bufferWriterUtils.js";import{HeatmapDensityPassParameters as f,HeatmapDensityTechnique as m}from"../shaders/HeatmapDensityTechnique.js";import{HeatmapDensityTechniqueConfiguration as p}from"../shaders/HeatmapDensityTechniqueConfiguration.js";const h=2;class T extends f{constructor(){super(...arguments),this.isAttributeDriven=!1,this.usesHalfFloats=!1}}class d extends a{constructor(t){super(t,T),this.produces=new Map([[n.DRAPED_MATERIAL,t=>t===i.Color]]),this._configuration=new p}getConfiguration(){return this._configuration.isAttributeDriven=this.parameters.isAttributeDriven,this._configuration.usesHalfFloat=this.parameters.usesHalfFloats,this._configuration}get visible(){return!0}createGLMaterial(t){return new g(t)}intersect(){}intersectDraped(r,s,i,o,a,n){const l=r.attributes.get(u.POSITION),{parameters:c}=this,{searchRadius:f}=c,{screenToWorldRatio:m}=r,p=f*m+h*m,T=p*p,d=l.data.length/l.size;for(let u=0;u<d;u++){const r=u*l.size,s=t(j,l.data[r],l.data[r+1]);e(s,o)<T&&a(n.dist,n.normal,-1,!1)}}createBufferWriter(){return new b(this.parameters.isAttributeDriven?I:A)}}class g extends o{beginSlot(t){return this.acquireTechnique(m,t)}}class b{constructor(t){this.vertexBufferLayout=t}elementCount(t){return t.get(u.POSITION).indices.length*v}write(t,e,r,s,i,o){l(r.get(u.POSITION),t,i.position,o,v);const a=r.get(u.POSITION).indices.length,n=i.uv0;let f=o;for(let u=0;u<a;++u)n.setValues(f++,-1,-1),n.setValues(f++,1,-1),n.setValues(f++,1,1),n.setValues(f++,1,1),n.setValues(f++,-1,1),n.setValues(f++,-1,-1);const m=u.FEATUREATTRIBUTE in i?i.featureAttribute:null;m&&c(r.get(u.FEATUREATTRIBUTE),m,o,v)}}const A=s().vec3f(u.POSITION).vec2f(u.UV0),I=A.clone().f32(u.FEATUREATTRIBUTE),v=6,j=r();export{d as HeatmapDensityMaterial,T as Parameters};
5
+ import{set as t,squaredDistance as e}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{newLayout as s}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import o from"../lib/GLMaterial.js";import{Material as a}from"../lib/Material.js";import{RenderSlot as n}from"../lib/RenderSlot.js";import{VertexAttribute as u}from"../lib/VertexAttribute.js";import{writePosition as l,writeBufferFloat as c}from"./internal/bufferWriterUtils.js";import{HeatmapDensityPassParameters as f,HeatmapDensityTechnique as m}from"../shaders/HeatmapDensityTechnique.js";import{HeatmapDensityTechniqueConfiguration as p}from"../shaders/HeatmapDensityTechniqueConfiguration.js";const h=2;class T extends f{constructor(){super(...arguments),this.isAttributeDriven=!1,this.usesHalfFloats=!1}}class g extends a{constructor(t){super(t,T),this.produces=new Map([[n.DRAPED_MATERIAL,t=>t===i.Color]]),this._configuration=new p}getConfiguration(){return this._configuration.isAttributeDriven=this.parameters.isAttributeDriven,this._configuration.usesHalfFloat=this.parameters.usesHalfFloats,this._configuration}get visible(){return!0}createGLMaterial(t){return new d(t)}intersect(){}intersectDraped(r,s,i,o,a,n){const l=r.attributes.get(u.POSITION),{parameters:c}=this,{searchRadius:f}=c,{screenToWorldRatio:m}=r,p=f*m+h*m,T=p*p,g=l.data.length/l.size;for(let u=0;u<g;u++){const r=u*l.size,s=t(j,l.data[r],l.data[r+1]);e(s,o)<T&&a(n.dist,n.normal,-1,!1)}}createBufferWriter(){return new b(this.parameters.isAttributeDriven?I:A)}}class d extends o{beginSlot(t){return this.getTechnique(m,t)}}class b{constructor(t){this.vertexBufferLayout=t}elementCount(t){return t.get(u.POSITION).indices.length*v}write(t,e,r,s,i,o){l(r.get(u.POSITION),t,i.position,o,v);const a=r.get(u.POSITION).indices.length,n=i.uv0;let f=o;for(let u=0;u<a;++u)n.setValues(f++,-1,-1),n.setValues(f++,1,-1),n.setValues(f++,1,1),n.setValues(f++,1,1),n.setValues(f++,-1,1),n.setValues(f++,-1,-1);const m=u.FEATUREATTRIBUTE in i?i.featureAttribute:null;m&&c(r.get(u.FEATUREATTRIBUTE),m,o,v)}}const A=s().vec3f(u.POSITION).vec2f(u.UV0),I=A.clone().f32(u.FEATUREATTRIBUTE),v=6,j=r();export{g as HeatmapDensityMaterial,T as Parameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{BufferViewFloat as e}from"../../../../geometry/support/buffer/BufferView.js";import{isHighlightOrOID as t,isColor as r}from"../core/shaderLibrary/ShaderOutput.js";import{CullFaceOptions as i}from"../lib/basicInterfaces.js";import{GLTextureMaterial as s}from"../lib/GLTextureMaterial.js";import{MaterialParameters as a}from"../lib/Material.js";import{OITPolygonOffsetLimit as o}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as n}from"../lib/RenderSlot.js";import{assert as u}from"../lib/Util.js";import{VertexAttribute as c}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as l}from"./DefaultBufferWriter.js";import{PositionUVLayout as p}from"./DefaultLayouts.js";import{TriangleMaterial as h}from"./TriangleMaterial.js";import{writeBufferFloat as f,writeDefaultAttribute as m}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocations as T,ImageMaterialTechnique as g}from"../shaders/ImageMaterialTechnique.js";import{ImageMaterialTechniqueConfiguration as d}from"../shaders/ImageMaterialTechniqueConfiguration.js";class I extends h{constructor(e){super(e,b),this._configuration=new d,this.vertexAttributeLocations=T,this.supportsEdges=!0,this.produces=new Map([[n.OPAQUE_MATERIAL,e=>t(e)],[n.TRANSPARENT_MATERIAL,e=>r(e)&&this.parameters.writeDepth],[n.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>r(e)&&!this.parameters.writeDepth],[n.DRAPED_MATERIAL,e=>r(e)||t(e)]])}getConfiguration(e,t){return this._configuration.output=e,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.hasOccludees=t.hasOccludees,this._configuration.oitPass=t.oitPass,this._configuration.enableOffset=t.camera.relativeElevation<o,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.perspectiveInterpolation=this.parameters.perspectiveInterpolation,this._configuration}get visible(){return!0}createGLMaterial(e){return new _(e)}createBufferWriter(){const e=p.clone();return this.parameters.perspectiveInterpolation&&e.f32(c.PERSPECTIVEDIVIDE),new E(e)}}class _ extends s{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.acquireTechnique(g,e)}}class E extends l{write(t,r,i,s,a,o){for(const n of this.vertexBufferLayout.fields.keys()){const s=i.get(n);if(s)if(n===c.PERSPECTIVEDIVIDE){u(1===s.size);const t=a.getField(n,e);t&&f(s,t,o)}else m(n,s,t,r,a,o)}}}class b extends a{constructor(){super(...arguments),this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=i.None,this.opacity=1,this.textureId=null,this.initTextureTransparent=!0,this.perspectiveInterpolation=!1}}export{I as ImageMaterial,b as Parameters};
5
+ import{BufferViewFloat as e}from"../../../../geometry/support/buffer/BufferView.js";import{isHighlightOrOID as t,isColor as r}from"../core/shaderLibrary/ShaderOutput.js";import{CullFaceOptions as i}from"../lib/basicInterfaces.js";import{GLTextureMaterial as s}from"../lib/GLTextureMaterial.js";import{MaterialParameters as a}from"../lib/Material.js";import{OITPolygonOffsetLimit as o}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as n}from"../lib/RenderSlot.js";import{assert as u}from"../lib/Util.js";import{VertexAttribute as l}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as p}from"./DefaultBufferWriter.js";import{PositionUVLayout as c}from"./DefaultLayouts.js";import{TriangleMaterial as h}from"./TriangleMaterial.js";import{writeBufferFloat as f,writeDefaultAttribute as m}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocations as T,ImageMaterialTechnique as g}from"../shaders/ImageMaterialTechnique.js";import{ImageMaterialTechniqueConfiguration as d}from"../shaders/ImageMaterialTechniqueConfiguration.js";class I extends h{constructor(e){super(e,b),this._configuration=new d,this.vertexAttributeLocations=T,this.supportsEdges=!0,this.produces=new Map([[n.OPAQUE_MATERIAL,e=>t(e)],[n.TRANSPARENT_MATERIAL,e=>r(e)&&this.parameters.writeDepth],[n.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>r(e)&&!this.parameters.writeDepth],[n.DRAPED_MATERIAL,e=>r(e)||t(e)]])}getConfiguration(e,t){return this._configuration.output=e,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.hasOccludees=t.hasOccludees,this._configuration.oitPass=t.oitPass,this._configuration.enableOffset=t.camera.relativeElevation<o,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.perspectiveInterpolation=this.parameters.perspectiveInterpolation,this._configuration}get visible(){return!0}createGLMaterial(e){return new _(e)}createBufferWriter(){const e=c.clone();return this.parameters.perspectiveInterpolation&&e.f32(l.PERSPECTIVEDIVIDE),new E(e)}}class _ extends s{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(g,e)}}class E extends p{write(t,r,i,s,a,o){for(const n of this.vertexBufferLayout.fields.keys()){const s=i.get(n);if(s)if(n===l.PERSPECTIVEDIVIDE){u(1===s.size);const t=a.getField(n,e);t&&f(s,t,o)}else m(n,s,t,r,a,o)}}}class b extends a{constructor(){super(...arguments),this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=i.None,this.opacity=1,this.textureId=null,this.initTextureTransparent=!0,this.perspectiveInterpolation=!1}}export{I as ImageMaterial,b as Parameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{safeToString as e}from"../../../../core/string.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{fromValues as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newLayout as i}from"../../support/buffer/InterleavedLayout.js";import{isColorOrColorEmission as s}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as n}from"../core/shaderLibrary/util/AlphaCutoff.js";import o from"../lib/GLMaterial.js";import{Material as a,MaterialParameters as c}from"../lib/Material.js";import{RenderSlot as l}from"../lib/RenderSlot.js";import{VertexAttribute as f}from"../lib/VertexAttribute.js";import{writePosition as h,writeNormal as u,writeBufferVec4 as m}from"./internal/bufferWriterUtils.js";import{LineCalloutTechnique as p}from"../shaders/LineCalloutTechnique.js";import{LineCalloutTechniqueConfiguration as d}from"../shaders/LineCalloutTechniqueConfiguration.js";class g extends a{constructor(e,t){super(e,T),this.produces=new Map([[l.LINE_CALLOUTS,e=>s(e)],[l.LINE_CALLOUTS_HUD_DEPTH,e=>s(e)]]),this._configuration=new d(t),this._uniqueMaterialIdentifier=O(this.parameters)}passParameters(){return this.parameters}getConfiguration(e,t){const r=t.slot===l.LINE_CALLOUTS_HUD_DEPTH;return this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.hasVerticalOffset=null!=this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=null!=this.parameters.screenSizePerspective,this._configuration.hudDepth=r,this._configuration.hudDepthAlignStart=!!this.parameters.hudDepthAlignStart,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration}get visible(){return this.parameters.color[3]>=n||(this.parameters.borderColor?.[3]??0)>=n}intersect(){}createGLMaterial(e){return new S(e)}createBufferWriter(){return new b}validateParameters(e){this._uniqueMaterialIdentifier=O(e)}get uniqueMaterialIdentifier(){return this._uniqueMaterialIdentifier}}function O({renderOccluded:t,isDecoration:r,horizontalScreenOffset:i,color:s,size:n,occlusionTest:o,shaderPolygonOffset:a,hudDepthAlignStart:c,centerOffsetUnits:l,hasSlicePlane:f,screenSizePerspective:h,verticalOffset:u,borderColor:m}){return e`${t}:${r}:${i}:[${s}]:${n}:${o}:${a}:${c}:${l}:${f}:${null!=h}:{${u.screenLength}:${u.minWorldLength}:${u.maxWorldLength}}:[${m}]`}class S extends o{beginSlot(e){return this.acquireTechnique(p,e)}}class T extends c{constructor(){super(...arguments),this.horizontalScreenOffset=0,this.color=r(0,0,0,1),this.size=1,this.occlusionTest=!1,this.shaderPolygonOffset=1e-5,this.hudDepthAlignStart=!1,this.centerOffsetUnits="world",this.hasSlicePlane=!1}}const L=i().vec3f(f.POSITION).vec3f(f.NORMAL).vec2f(f.UV0).vec4f(f.CENTEROFFSETANDDISTANCE),_=[t(0,0),t(1,0),t(0,1),t(1,0),t(1,1),t(0,1)];class b{constructor(){this.vertexBufferLayout=L}elementCount(e){return 6*e.get(f.POSITION).indices.length}write(e,t,r,i,s,n){h(r.get(f.POSITION),e,s.position,n,6),u(r.get(f.NORMAL),t,s.normal,n,6),m(r.get(f.CENTEROFFSETANDDISTANCE),s.centerOffsetAndDistance,n,6);for(let o=0;o<_.length;++o)s.uv0.setVec(n+o,_[o])}}export{g as LineCalloutMaterial,T as Parameters,O as uniqueMaterialIdentifier};
5
+ import{safeToString as e}from"../../../../core/string.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{fromValues as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newLayout as i}from"../../support/buffer/InterleavedLayout.js";import{isColorOrColorEmission as s}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as n}from"../core/shaderLibrary/util/AlphaCutoff.js";import o from"../lib/GLMaterial.js";import{Material as a,MaterialParameters as c}from"../lib/Material.js";import{RenderSlot as l}from"../lib/RenderSlot.js";import{VertexAttribute as f}from"../lib/VertexAttribute.js";import{writePosition as h,writeNormal as u,writeBufferVec4 as m}from"./internal/bufferWriterUtils.js";import{LineCalloutTechnique as p}from"../shaders/LineCalloutTechnique.js";import{LineCalloutTechniqueConfiguration as d}from"../shaders/LineCalloutTechniqueConfiguration.js";class g extends a{constructor(e,t){super(e,T),this.produces=new Map([[l.LINE_CALLOUTS,e=>s(e)],[l.LINE_CALLOUTS_HUD_DEPTH,e=>s(e)]]),this._configuration=new d(t),this._uniqueMaterialIdentifier=O(this.parameters)}passParameters(){return this.parameters}getConfiguration(e,t){const r=t.slot===l.LINE_CALLOUTS_HUD_DEPTH;return this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.hasVerticalOffset=null!=this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=null!=this.parameters.screenSizePerspective,this._configuration.hudDepth=r,this._configuration.hudDepthAlignStart=!!this.parameters.hudDepthAlignStart,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration}get visible(){return this.parameters.color[3]>=n||(this.parameters.borderColor?.[3]??0)>=n}intersect(){}createGLMaterial(e){return new S(e)}createBufferWriter(){return new b}validateParameters(e){this._uniqueMaterialIdentifier=O(e)}get uniqueMaterialIdentifier(){return this._uniqueMaterialIdentifier}}function O({renderOccluded:t,isDecoration:r,horizontalScreenOffset:i,color:s,size:n,occlusionTest:o,shaderPolygonOffset:a,hudDepthAlignStart:c,centerOffsetUnits:l,hasSlicePlane:f,screenSizePerspective:h,verticalOffset:u,borderColor:m}){return e`${t}:${r}:${i}:[${s}]:${n}:${o}:${a}:${c}:${l}:${f}:${null!=h}:{${u.screenLength}:${u.minWorldLength}:${u.maxWorldLength}}:[${m}]`}class S extends o{beginSlot(e){return this.getTechnique(p,e)}}class T extends c{constructor(){super(...arguments),this.horizontalScreenOffset=0,this.color=r(0,0,0,1),this.size=1,this.occlusionTest=!1,this.shaderPolygonOffset=1e-5,this.hudDepthAlignStart=!1,this.centerOffsetUnits="world",this.hasSlicePlane=!1}}const L=i().vec3f(f.POSITION).vec3f(f.NORMAL).vec2f(f.UV0).vec4f(f.CENTEROFFSETANDDISTANCE),_=[t(0,0),t(1,0),t(0,1),t(1,0),t(1,1),t(0,1)];class b{constructor(){this.vertexBufferLayout=L}elementCount(e){return 6*e.get(f.POSITION).indices.length}write(e,t,r,i,s,n){h(r.get(f.POSITION),e,s.position,n,6),u(r.get(f.NORMAL),t,s.normal,n,6),m(r.get(f.CENTEROFFSETANDDISTANCE),s.centerOffsetAndDistance,n,6);for(let o=0;o<_.length;++o)s.uv0.setVec(n+o,_[o])}}export{g as LineCalloutMaterial,T as Parameters,O as uniqueMaterialIdentifier};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{i as e,I as t,t as r}from"../../../../chunks/vec32.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newLayout as a}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as s,isColor as n,isDepth as o,isColorHighlightOrDepth as h,isColorOrColorEmission as c}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as m}from"../core/shaderLibrary/util/AlphaCutoff.js";import{GLTextureMaterial as p}from"../lib/GLTextureMaterial.js";import{Material as l,RenderOccludedFlag as u}from"../lib/Material.js";import{RenderSlot as T}from"../lib/RenderSlot.js";import{VertexAttribute as d}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as f}from"./VisualVariablePassParameters.js";import{vertexAttributeLocations as A,LineMarkerTechnique as _}from"../shaders/LineMarkerTechnique.js";import{LineMarkerTechniqueConfiguration as v,LineMarkerSpace as E,LineMarkerAnchor as O}from"../shaders/LineMarkerTechniqueConfiguration.js";import{CapType as g}from"../shaders/RibbonLineTechniqueConfiguration.js";class S extends l{constructor(e){super(e,I),this._configuration=new v,this.vertexAttributeLocations=A,this.produces=new Map([[T.OPAQUE_MATERIAL,e=>e===s.Highlight||n(e)&&this.parameters.renderOccluded===u.OccludeAndTransparentStencil],[T.OPAQUE_MATERIAL_WITHOUT_NORMALS,e=>o(e)],[T.OCCLUDER_MATERIAL,e=>h(e)&&this.parameters.renderOccluded===u.OccludeAndTransparentStencil],[T.TRANSPARENT_OCCLUDER_MATERIAL,e=>h(e)&&this.parameters.renderOccluded===u.OccludeAndTransparentStencil],[T.TRANSPARENT_MATERIAL,e=>n(e)&&this.parameters.writeDepth],[T.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>n(e)&&!this.parameters.writeDepth],[T.DRAPED_MATERIAL,e=>c(e)||e===s.Highlight]]),this._layout=this.createLayout()}getConfiguration(e,t){return this._configuration.output=e,this._configuration.space=t.slot===T.DRAPED_MATERIAL?E.Draped:this.parameters.worldSpace?E.World:E.Screen,this._configuration.hideOnShortSegments=this.parameters.hideOnShortSegments,this._configuration.hasCap=this.parameters.cap!==g.BUTT,this._configuration.anchor=this.parameters.anchor,this._configuration.hasTip=this.parameters.hasTip,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasOccludees=t.hasOccludees,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.occluder=this.parameters.renderOccluded===u.OccludeAndTransparentStencil,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest&&c(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}get visible(){return this.parameters.color[3]>=m}intersect(){}createLayout(){const e=a().vec3f(d.POSITION).vec3f(d.PREVPOSITION).vec2f(d.UV0);return this.parameters.worldSpace&&e.vec3f(d.NORMAL),this.parameters.vvSize?e.f32(d.SIZEFEATUREATTRIBUTE):e.f32(d.SIZE),this.parameters.vvColor?e.f32(d.COLORFEATUREATTRIBUTE):e.vec4f(d.COLOR),this.parameters.vvOpacity&&e.f32(d.OPACITYFEATUREATTRIBUTE),e}createBufferWriter(){return new P(this._layout,this.parameters)}createGLMaterial(e){return new R(e)}}class R extends p{constructor(){super(...arguments),this._markerPrimitive=null}dispose(){super.dispose(),this._markerTextures.release(this._markerPrimitive),this._markerPrimitive=null}beginSlot(e){const t=this._material.parameters.markerPrimitive;return t!==this._markerPrimitive&&(this._material.setParameters({markerTexture:this._markerTextures.swap(t,this._markerPrimitive)}),this._markerPrimitive=t),this._material.setParameters(this.textureBindParameters),this.acquireTechnique(_,e)}}class I extends f{constructor(){super(...arguments),this.width=0,this.color=[1,1,1,1],this.markerPrimitive="arrow",this.placement="end",this.cap=g.BUTT,this.anchor=O.Center,this.hasTip=!1,this.worldSpace=!1,this.hideOnShortSegments=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.markerTexture=null}}class P{constructor(e,t){this.vertexBufferLayout=e,this._parameters=t}elementCount(){return"begin-end"===this._parameters.placement?12:6}write(i,a,s,n,o,h){const c=s.get(d.POSITION).data,m=c.length/3;let p=[1,0,0];const l=s.get(d.NORMAL);this._parameters.worldSpace&&null!=l&&(p=l.data);let u=1,T=0;this._parameters.vvSize?T=s.get(d.SIZEFEATUREATTRIBUTE).data[0]:s.has(d.SIZE)&&(u=s.get(d.SIZE).data[0]);let f=[1,1,1,1],A=0;this._parameters.vvColor?A=s.get(d.COLORFEATUREATTRIBUTE).data[0]:s.has(d.COLOR)&&(f=s.get(d.COLOR).data);let _=0;this._parameters.vvOpacity&&(_=s.get(d.OPACITYFEATUREATTRIBUTE).data[0]);const v=new Float32Array(o.buffer);let E=h*(this.vertexBufferLayout.stride/4);const O=(e,t,r,i)=>{if(v[E++]=e[0],v[E++]=e[1],v[E++]=e[2],v[E++]=t[0],v[E++]=t[1],v[E++]=t[2],v[E++]=r[0],v[E++]=r[1],this._parameters.worldSpace&&(v[E++]=p[0],v[E++]=p[1],v[E++]=p[2]),this._parameters.vvSize?v[E++]=T:v[E++]=u,this._parameters.vvColor)v[E++]=A;else{const e=Math.min(4*i,f.length-4);v[E++]=f[e],v[E++]=f[e+1],v[E++]=f[e+2],v[E++]=f[e+3]}this._parameters.vvOpacity&&(v[E++]=_)};let g;!function(e){e[e.ASCENDING=1]="ASCENDING",e[e.DESCENDING=-1]="DESCENDING"}(g||(g={}));const S=(a,s)=>{const n=e(L,c[3*a],c[3*a+1],c[3*a+2]),o=C;let h=a+s;do{e(o,c[3*h],c[3*h+1],c[3*h+2]),h+=s}while(t(n,o)&&h>=0&&h<m);i&&(r(n,n,i),r(o,o,i)),O(n,o,[-1,-1],a),O(n,o,[1,-1],a),O(n,o,[1,1],a),O(n,o,[-1,-1],a),O(n,o,[1,1],a),O(n,o,[-1,1],a)},R=this._parameters.placement;"begin"!==R&&"begin-end"!==R||S(0,g.ASCENDING),"end"!==R&&"begin-end"!==R||S(m-1,g.DESCENDING)}}const L=i(),C=i();export{S as LineMarkerMaterial,I as Parameters};
5
+ import{i as e,I as t,t as r}from"../../../../chunks/vec32.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newLayout as a}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as s,isColor as n,isDepth as o,isColorHighlightOrDepth as h,isColorOrColorEmission as c}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as m}from"../core/shaderLibrary/util/AlphaCutoff.js";import{GLTextureMaterial as p}from"../lib/GLTextureMaterial.js";import{Material as l,RenderOccludedFlag as u}from"../lib/Material.js";import{RenderSlot as T}from"../lib/RenderSlot.js";import{VertexAttribute as d}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as f}from"./VisualVariablePassParameters.js";import{vertexAttributeLocations as A,LineMarkerTechnique as _}from"../shaders/LineMarkerTechnique.js";import{LineMarkerTechniqueConfiguration as v,LineMarkerSpace as E,LineMarkerAnchor as g}from"../shaders/LineMarkerTechniqueConfiguration.js";import{CapType as O}from"../shaders/RibbonLineTechniqueConfiguration.js";class S extends l{constructor(e){super(e,I),this._configuration=new v,this.vertexAttributeLocations=A,this.produces=new Map([[T.OPAQUE_MATERIAL,e=>e===s.Highlight||n(e)&&this.parameters.renderOccluded===u.OccludeAndTransparentStencil],[T.OPAQUE_MATERIAL_WITHOUT_NORMALS,e=>o(e)],[T.OCCLUDER_MATERIAL,e=>h(e)&&this.parameters.renderOccluded===u.OccludeAndTransparentStencil],[T.TRANSPARENT_OCCLUDER_MATERIAL,e=>h(e)&&this.parameters.renderOccluded===u.OccludeAndTransparentStencil],[T.TRANSPARENT_MATERIAL,e=>n(e)&&this.parameters.writeDepth],[T.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>n(e)&&!this.parameters.writeDepth],[T.DRAPED_MATERIAL,e=>c(e)||e===s.Highlight]]),this._layout=this.createLayout()}getConfiguration(e,t){return this._configuration.output=e,this._configuration.space=t.slot===T.DRAPED_MATERIAL?E.Draped:this.parameters.worldSpace?E.World:E.Screen,this._configuration.hideOnShortSegments=this.parameters.hideOnShortSegments,this._configuration.hasCap=this.parameters.cap!==O.BUTT,this._configuration.anchor=this.parameters.anchor,this._configuration.hasTip=this.parameters.hasTip,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasOccludees=t.hasOccludees,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.occluder=this.parameters.renderOccluded===u.OccludeAndTransparentStencil,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest&&c(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}get visible(){return this.parameters.color[3]>=m}intersect(){}createLayout(){const e=a().vec3f(d.POSITION).vec3f(d.PREVPOSITION).vec2f(d.UV0);return this.parameters.worldSpace&&e.vec3f(d.NORMAL),this.parameters.vvSize?e.f32(d.SIZEFEATUREATTRIBUTE):e.f32(d.SIZE),this.parameters.vvColor?e.f32(d.COLORFEATUREATTRIBUTE):e.vec4f(d.COLOR),this.parameters.vvOpacity&&e.f32(d.OPACITYFEATUREATTRIBUTE),e}createBufferWriter(){return new P(this._layout,this.parameters)}createGLMaterial(e){return new R(e)}}class R extends p{constructor(){super(...arguments),this._markerPrimitive=null}dispose(){super.dispose(),this._markerTextures.release(this._markerPrimitive),this._markerPrimitive=null}beginSlot(e){const t=this._material.parameters.markerPrimitive;return t!==this._markerPrimitive&&(this._material.setParameters({markerTexture:this._markerTextures.swap(t,this._markerPrimitive)}),this._markerPrimitive=t),this._material.setParameters(this.textureBindParameters),this.getTechnique(_,e)}}class I extends f{constructor(){super(...arguments),this.width=0,this.color=[1,1,1,1],this.markerPrimitive="arrow",this.placement="end",this.cap=O.BUTT,this.anchor=g.Center,this.hasTip=!1,this.worldSpace=!1,this.hideOnShortSegments=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.markerTexture=null}}class P{constructor(e,t){this.vertexBufferLayout=e,this._parameters=t}elementCount(){return"begin-end"===this._parameters.placement?12:6}write(i,a,s,n,o,h){const c=s.get(d.POSITION).data,m=c.length/3;let p=[1,0,0];const l=s.get(d.NORMAL);this._parameters.worldSpace&&null!=l&&(p=l.data);let u=1,T=0;this._parameters.vvSize?T=s.get(d.SIZEFEATUREATTRIBUTE).data[0]:s.has(d.SIZE)&&(u=s.get(d.SIZE).data[0]);let f=[1,1,1,1],A=0;this._parameters.vvColor?A=s.get(d.COLORFEATUREATTRIBUTE).data[0]:s.has(d.COLOR)&&(f=s.get(d.COLOR).data);let _=0;this._parameters.vvOpacity&&(_=s.get(d.OPACITYFEATUREATTRIBUTE).data[0]);const v=new Float32Array(o.buffer);let E=h*(this.vertexBufferLayout.stride/4);const g=(e,t,r,i)=>{if(v[E++]=e[0],v[E++]=e[1],v[E++]=e[2],v[E++]=t[0],v[E++]=t[1],v[E++]=t[2],v[E++]=r[0],v[E++]=r[1],this._parameters.worldSpace&&(v[E++]=p[0],v[E++]=p[1],v[E++]=p[2]),this._parameters.vvSize?v[E++]=T:v[E++]=u,this._parameters.vvColor)v[E++]=A;else{const e=Math.min(4*i,f.length-4);v[E++]=f[e],v[E++]=f[e+1],v[E++]=f[e+2],v[E++]=f[e+3]}this._parameters.vvOpacity&&(v[E++]=_)};let O;!function(e){e[e.ASCENDING=1]="ASCENDING",e[e.DESCENDING=-1]="DESCENDING"}(O||(O={}));const S=(a,s)=>{const n=e(L,c[3*a],c[3*a+1],c[3*a+2]),o=C;let h=a+s;do{e(o,c[3*h],c[3*h+1],c[3*h+2]),h+=s}while(t(n,o)&&h>=0&&h<m);i&&(r(n,n,i),r(o,o,i)),g(n,o,[-1,-1],a),g(n,o,[1,-1],a),g(n,o,[1,1],a),g(n,o,[-1,-1],a),g(n,o,[1,1],a),g(n,o,[-1,1],a)},R=this._parameters.placement;"begin"!==R&&"begin-end"!==R||S(0,O.ASCENDING),"end"!==R&&"begin-end"!==R||S(m-1,O.DESCENDING)}}const L=i(),C=i();export{S as LineMarkerMaterial,I as Parameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{i as t,n as e,d as r,e as s,j as o,t as i}from"../../../../chunks/vec32.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newLayout as c}from"../../support/buffer/InterleavedLayout.js";import{isColorOrColorEmission as l}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as u}from"../core/shaderLibrary/util/AlphaCutoff.js";import f from"../lib/GLMaterial.js";import{Material as p,MaterialParameters as h}from"../lib/Material.js";import{RenderSlot as m}from"../lib/RenderSlot.js";import{VertexAttribute as d}from"../lib/VertexAttribute.js";import{vertexAttributeLocations as g,MeasurementArrowTechnique as O}from"../shaders/MeasurementArrowTechnique.js";import{MeasurementArrowTechniqueConfiguration as A}from"../shaders/MeasurementArrowTechniqueConfiguration.js";class b extends p{constructor(t){super(t,T),this._configuration=new A,this.vertexAttributeLocations=g,this.produces=new Map([[m.OPAQUE_MATERIAL,t=>!this._transparent&&l(t)],[m.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,t=>this._transparent&&l(t)]])}getConfiguration(t,e){return this._configuration.polygonOffsetEnabled=this.parameters.polygonOffset,this._configuration.transparent=this._transparent,this._configuration.oitPass=e.oitPass,this._configuration}get visible(){const{outlineColor:t,stripeEvenColor:e,stripeOddColor:r}=this.parameters;return t[3]>=u||e[3]>=u||r[3]>=u}intersect(){}createGLMaterial(t){return new v(t)}createBufferWriter(){return new E}get _transparent(){const{parameters:t}=this;return t.outlineColor[3]<1||t.stripeEvenColor[3]<1||t.stripeOddColor[3]<1}}class v extends f{beginSlot(t){return this.acquireTechnique(O,t)}}class T extends h{constructor(){super(...arguments),this.width=32,this.outlineSize=.2,this.outlineColor=a(1,.5,0,1),this.stripeEvenColor=a(1,1,1,1),this.stripeOddColor=a(1,.5,0,1),this.stripeLength=1,this.polygonOffset=!1}}const j=c().vec3f(d.POSITION).vec3f(d.NORMAL).vec2f(d.UV0).f32(d.LENGTH),C=n(),L=n(),_=n(),M=n(),w=n();class E{constructor(){this.vertexBufferLayout=j}elementCount(t){return 2*(t.get(d.POSITION).indices.length/2+1)}write(n,a,c,l,u,f){const{data:p,indices:h}=c.get(d.POSITION),m=c.get(d.NORMAL).data,g=p.length/3;h&&h.length!==2*(g-1)&&console.warn("MeasurementArrowMaterial does not support indices");const O=C,A=L,b=_,v=M,T=w,j=u.position,E=u.normal,I=u.uv0;let x=0;for(let d=0;d<g;++d){const c=3*d;if(t(O,p[c],p[c+1],p[c+2]),d<g-1){const o=3*(d+1);t(A,p[o],p[o+1],p[o+2]),t(T,m[o],m[o+1],m[o+2]),e(T,T),r(b,A,O),e(b,b),s(v,T,b),e(v,v)}const l=o(O,A);n&&a&&(i(O,O,n),i(A,A,n),i(v,v,a));const u=f+2*d,h=u+1;j.setVec(u,O),j.setVec(h,O),E.setVec(u,v),E.setVec(h,v),I.set(u,0,x),I.set(u,1,-1),I.set(h,0,x),I.set(h,1,1),d<g-1&&(x+=l)}const N=u.length;for(let t=0;t<2*g;++t)N.set(f+t,x)}}export{b as MeasurementArrowMaterial,T as Parameters};
5
+ import{i as t,n as e,d as r,e as s,j as o,t as i}from"../../../../chunks/vec32.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newLayout as c}from"../../support/buffer/InterleavedLayout.js";import{isColorOrColorEmission as l}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as u}from"../core/shaderLibrary/util/AlphaCutoff.js";import f from"../lib/GLMaterial.js";import{Material as p,MaterialParameters as h}from"../lib/Material.js";import{RenderSlot as m}from"../lib/RenderSlot.js";import{VertexAttribute as d}from"../lib/VertexAttribute.js";import{vertexAttributeLocations as g,MeasurementArrowTechnique as O}from"../shaders/MeasurementArrowTechnique.js";import{MeasurementArrowTechniqueConfiguration as A}from"../shaders/MeasurementArrowTechniqueConfiguration.js";class b extends p{constructor(t){super(t,T),this._configuration=new A,this.vertexAttributeLocations=g,this.produces=new Map([[m.OPAQUE_MATERIAL,t=>!this._transparent&&l(t)],[m.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,t=>this._transparent&&l(t)]])}getConfiguration(t,e){return this._configuration.polygonOffsetEnabled=this.parameters.polygonOffset,this._configuration.transparent=this._transparent,this._configuration.oitPass=e.oitPass,this._configuration}get visible(){const{outlineColor:t,stripeEvenColor:e,stripeOddColor:r}=this.parameters;return t[3]>=u||e[3]>=u||r[3]>=u}intersect(){}createGLMaterial(t){return new v(t)}createBufferWriter(){return new E}get _transparent(){const{parameters:t}=this;return t.outlineColor[3]<1||t.stripeEvenColor[3]<1||t.stripeOddColor[3]<1}}class v extends f{beginSlot(t){return this.getTechnique(O,t)}}class T extends h{constructor(){super(...arguments),this.width=32,this.outlineSize=.2,this.outlineColor=a(1,.5,0,1),this.stripeEvenColor=a(1,1,1,1),this.stripeOddColor=a(1,.5,0,1),this.stripeLength=1,this.polygonOffset=!1}}const j=c().vec3f(d.POSITION).vec3f(d.NORMAL).vec2f(d.UV0).f32(d.LENGTH),C=n(),L=n(),_=n(),M=n(),w=n();class E{constructor(){this.vertexBufferLayout=j}elementCount(t){return 2*(t.get(d.POSITION).indices.length/2+1)}write(n,a,c,l,u,f){const{data:p,indices:h}=c.get(d.POSITION),m=c.get(d.NORMAL).data,g=p.length/3;h&&h.length!==2*(g-1)&&console.warn("MeasurementArrowMaterial does not support indices");const O=C,A=L,b=_,v=M,T=w,j=u.position,E=u.normal,I=u.uv0;let x=0;for(let d=0;d<g;++d){const c=3*d;if(t(O,p[c],p[c+1],p[c+2]),d<g-1){const o=3*(d+1);t(A,p[o],p[o+1],p[o+2]),t(T,m[o],m[o+1],m[o+2]),e(T,T),r(b,A,O),e(b,b),s(v,T,b),e(v,v)}const l=o(O,A);n&&a&&(i(O,O,n),i(A,A,n),i(v,v,a));const u=f+2*d,h=u+1;j.setVec(u,O),j.setVec(h,O),E.setVec(u,v),E.setVec(h,v),I.set(u,0,x),I.set(u,1,-1),I.set(h,0,x),I.set(h,1,1),d<g-1&&(x+=l)}const N=u.length;for(let t=0;t<2*g;++t)N.set(f+t,x)}}export{b as MeasurementArrowMaterial,T as Parameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../core/Logger.js";import{clamp as r}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as t}from"../../../../core/screenUtils.js";import{copy as o}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{i as s,d as i,f as a,h as n,g as c,c as m,l,j as u}from"../../../../chunks/vec32.js";import{create as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as p}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{PlaneIndex as h}from"../../../../geometry/support/frustum.js";import{create as g,distance2 as d,fromPoints as j,closestLineSegmentPoint as b}from"../../../../geometry/support/lineSegment.js";import{create as A,fromPoints as S,signedDistance as L,getNormal as x}from"../../../../geometry/support/plane.js";import{isColorHighlightOrOID as y}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as N}from"../core/shaderLibrary/util/AlphaCutoff.js";import R from"../lib/GLMaterial.js";import{Material as v,MaterialParameters as E}from"../lib/Material.js";import{RenderSlot as M}from"../lib/RenderSlot.js";import{isTranslationMatrix as T}from"../lib/Util.js";import{VertexAttribute as _}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as w}from"./DefaultBufferWriter.js";import{PositionColorLayout as O,PositionLayout as V}from"./DefaultLayouts.js";import{NativeLineTechnique as C}from"../shaders/NativeLineTechnique.js";import{NativeLineTechniqueConfiguration as P}from"../shaders/NativeLineTechniqueConfiguration.js";class U extends v{constructor(e){super(e,q),this._configuration=new P,this.produces=new Map([[M.OPAQUE_MATERIAL,e=>y(e)]])}getConfiguration(e,r){return this._configuration.output=e,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVertexColors=this.parameters.hasVertexColors,this._configuration.transparent=this.parameters.color[3]<1||this.parameters.width<1,this._configuration.hasOccludees=r.hasOccludees,this._configuration}get visible(){return this.parameters.color[3]>=N}intersect(r,t,f,p,g,A){if(!f.options.selectionMode||!r.visible)return;if(!T(t))return void e.getLogger("esri.views.3d.webgl-engine.materials.NativeLineMaterial").error("intersection assumes a translation-only matrix");const y=r.attributes.get(_.POSITION).data,N=f.camera,R=H;o(R,f.point);const v=2;s(J[0],R[0]-v,R[1]+v,0),s(J[1],R[0]+v,R[1]+v,0),s(J[2],R[0]+v,R[1]-v,0),s(J[3],R[0]-v,R[1]-v,0);for(let e=0;e<4;e++)if(!N.unprojectFromRenderScreen(J[e],K[e]))return;S(N.eye,K[0],K[1],Y),S(N.eye,K[1],K[2],$),S(N.eye,K[2],K[3],ee),S(N.eye,K[3],K[0],re);let E=Number.MAX_VALUE,M=0;for(let e=0;e<y.length-5;e+=3){if(B[0]=y[e]+t[12],B[1]=y[e+1]+t[13],B[2]=y[e+2]+t[14],D[0]=y[e+3]+t[12],D[1]=y[e+4]+t[13],D[2]=y[e+5]+t[14],L(Y,B)<0&&L(Y,D)<0||L($,B)<0&&L($,D)<0||L(ee,B)<0&&L(ee,D)<0||L(re,B)<0&&L(re,D)<0)continue;if(N.projectToRenderScreen(B,G),N.projectToRenderScreen(D,k),G[2]<0&&k[2]>0){i(W,B,D);const e=N.frustum,r=-L(e[h.NEAR],B)/a(W,x(e[h.NEAR]));n(W,W,r),c(B,B,W),N.projectToRenderScreen(B,G)}else if(G[2]>0&&k[2]<0){i(W,D,B);const e=N.frustum,r=-L(e[h.NEAR],D)/a(W,x(e[h.NEAR]));n(W,W,r),c(D,D,W),N.projectToRenderScreen(D,k)}else if(G[2]<0&&k[2]<0)continue;G[2]=0,k[2]=0;const r=d(j(G,k,Z),R);r<E&&(E=r,m(F,B),m(Q,D),M=e/3)}const w=f.rayBegin,O=f.rayEnd;if(E<v*v){let e=Number.MAX_VALUE;if(b(j(F,Q,Z),j(w,O,z),X)){i(X,X,w);const r=l(X);n(X,X,1/r),e=r/u(w,O)}A(e,X,M,!1)}}intersectDraped(e,t,o,s,i,a){if(!o.options.selectionMode)return;const n=e.attributes.get(_.POSITION).data,c=e.attributes.get(_.SIZE),m=c?c.data[0]:0,l=s[0],u=s[1],f=((m+1)/2+4)*e.screenToWorldRatio;let p=Number.MAX_VALUE,h=0;for(let g=0;g<n.length-5;g+=3){const e=n[g],t=n[g+1],o=l-e,s=u-t,i=n[g+3]-e,a=n[g+4]-t,c=r((i*o+a*s)/(i*i+a*a),0,1),m=i*c-o,f=a*c-s,d=m*m+f*f;d<p&&(p=d,h=g/3)}p<f*f&&i(a.dist,a.normal,h,!1)}createGLMaterial(e){return new I(e)}createBufferWriter(){const e=this.parameters.hasVertexColors?O:V;return new w(e)}}class I extends R{beginSlot(e){return this.acquireTechnique(C,e)}}class q extends E{constructor(){super(...arguments),this.color=p,this.hasVertexColors=!1,this.hasSlicePlane=!1,this.width=1}}const B=f(),D=f(),W=f(),X=f(),G=t(),k=t(),F=f(),Q=f(),Z=g(),z=g(),H=f(),J=[t(),t(),t(),t()],K=[f(),f(),f(),f()],Y=A(),$=A(),ee=A(),re=A();export{U as NativeLineMaterial,q as Parameters};
5
+ import e from"../../../../core/Logger.js";import{clamp as r}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as t}from"../../../../core/screenUtils.js";import{copy as o}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{i as s,d as i,f as a,h as n,g as c,c as m,l,j as f}from"../../../../chunks/vec32.js";import{create as u}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as p}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{PlaneIndex as h}from"../../../../geometry/support/frustum.js";import{create as g,distance2 as d,fromPoints as j,closestLineSegmentPoint as b}from"../../../../geometry/support/lineSegment.js";import{create as A,fromPoints as S,signedDistance as L,getNormal as x}from"../../../../geometry/support/plane.js";import{isColorHighlightOrOID as y}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as N}from"../core/shaderLibrary/util/AlphaCutoff.js";import R from"../lib/GLMaterial.js";import{Material as v,MaterialParameters as E}from"../lib/Material.js";import{RenderSlot as M}from"../lib/RenderSlot.js";import{isTranslationMatrix as T}from"../lib/Util.js";import{VertexAttribute as _}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as w}from"./DefaultBufferWriter.js";import{PositionColorLayout as O,PositionLayout as V}from"./DefaultLayouts.js";import{NativeLineTechnique as C}from"../shaders/NativeLineTechnique.js";import{NativeLineTechniqueConfiguration as P}from"../shaders/NativeLineTechniqueConfiguration.js";class U extends v{constructor(e){super(e,q),this._configuration=new P,this.produces=new Map([[M.OPAQUE_MATERIAL,e=>y(e)]])}getConfiguration(e,r){return this._configuration.output=e,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVertexColors=this.parameters.hasVertexColors,this._configuration.transparent=this.parameters.color[3]<1||this.parameters.width<1,this._configuration.hasOccludees=r.hasOccludees,this._configuration}get visible(){return this.parameters.color[3]>=N}intersect(r,t,u,p,g,A){if(!u.options.selectionMode||!r.visible)return;if(!T(t))return void e.getLogger("esri.views.3d.webgl-engine.materials.NativeLineMaterial").error("intersection assumes a translation-only matrix");const y=r.attributes.get(_.POSITION).data,N=u.camera,R=H;o(R,u.point);const v=2;s(J[0],R[0]-v,R[1]+v,0),s(J[1],R[0]+v,R[1]+v,0),s(J[2],R[0]+v,R[1]-v,0),s(J[3],R[0]-v,R[1]-v,0);for(let e=0;e<4;e++)if(!N.unprojectFromRenderScreen(J[e],K[e]))return;S(N.eye,K[0],K[1],Y),S(N.eye,K[1],K[2],$),S(N.eye,K[2],K[3],ee),S(N.eye,K[3],K[0],re);let E=Number.MAX_VALUE,M=0;for(let e=0;e<y.length-5;e+=3){if(B[0]=y[e]+t[12],B[1]=y[e+1]+t[13],B[2]=y[e+2]+t[14],D[0]=y[e+3]+t[12],D[1]=y[e+4]+t[13],D[2]=y[e+5]+t[14],L(Y,B)<0&&L(Y,D)<0||L($,B)<0&&L($,D)<0||L(ee,B)<0&&L(ee,D)<0||L(re,B)<0&&L(re,D)<0)continue;if(N.projectToRenderScreen(B,G),N.projectToRenderScreen(D,k),G[2]<0&&k[2]>0){i(W,B,D);const e=N.frustum,r=-L(e[h.NEAR],B)/a(W,x(e[h.NEAR]));n(W,W,r),c(B,B,W),N.projectToRenderScreen(B,G)}else if(G[2]>0&&k[2]<0){i(W,D,B);const e=N.frustum,r=-L(e[h.NEAR],D)/a(W,x(e[h.NEAR]));n(W,W,r),c(D,D,W),N.projectToRenderScreen(D,k)}else if(G[2]<0&&k[2]<0)continue;G[2]=0,k[2]=0;const r=d(j(G,k,Z),R);r<E&&(E=r,m(F,B),m(Q,D),M=e/3)}const w=u.rayBegin,O=u.rayEnd;if(E<v*v){let e=Number.MAX_VALUE;if(b(j(F,Q,Z),j(w,O,z),X)){i(X,X,w);const r=l(X);n(X,X,1/r),e=r/f(w,O)}A(e,X,M,!1)}}intersectDraped(e,t,o,s,i,a){if(!o.options.selectionMode)return;const n=e.attributes.get(_.POSITION).data,c=e.attributes.get(_.SIZE),m=c?c.data[0]:0,l=s[0],f=s[1],u=((m+1)/2+4)*e.screenToWorldRatio;let p=Number.MAX_VALUE,h=0;for(let g=0;g<n.length-5;g+=3){const e=n[g],t=n[g+1],o=l-e,s=f-t,i=n[g+3]-e,a=n[g+4]-t,c=r((i*o+a*s)/(i*i+a*a),0,1),m=i*c-o,u=a*c-s,d=m*m+u*u;d<p&&(p=d,h=g/3)}p<u*u&&i(a.dist,a.normal,h,!1)}createGLMaterial(e){return new I(e)}createBufferWriter(){const e=this.parameters.hasVertexColors?O:V;return new w(e)}}class I extends R{beginSlot(e){return this.getTechnique(C,e)}}class q extends E{constructor(){super(...arguments),this.color=p,this.hasVertexColors=!1,this.hasSlicePlane=!1,this.width=1}}const B=u(),D=u(),W=u(),X=u(),G=t(),k=t(),F=u(),Q=u(),Z=g(),z=g(),H=u(),J=[t(),t(),t(),t()],K=[u(),u(),u(),u()],Y=A(),$=A(),ee=A(),re=A();export{U as NativeLineMaterial,q as Parameters};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as e}from"../../../../core/mathUtils.js";import{p as t}from"../../../../chunks/vec32.js";import{ZEROS as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as i}from"../../../../geometry/support/aaBoundingBox.js";import{newLayout as s}from"../../support/buffer/InterleavedLayout.js";import{isShadowRelatedOutput as a,is3DGeometryOutputMRT as o,isColorOrColorEmission as n,ShaderOutput as c}from"../core/shaderLibrary/ShaderOutput.js";import{EmissionSource as h}from"../core/shaderLibrary/output/Emissions.glsl.js";import{NormalsDoubleSidedMode as u}from"../core/shaderLibrary/shading/Normals.glsl.js";import{PBRMode as m}from"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{alphaCutoff as p}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as l}from"../effects/geometry/olidUtils.js";import f from"../lib/GLMaterial.js";import{Material as d}from"../lib/Material.js";import{isPathGeometry as b}from"../lib/PathGeometry.js";import{MeshIntersectionOptions as g,intersectAabbInvDir as v}from"../lib/RayIntersections.js";import{RenderSlot as S}from"../lib/RenderSlot.js";import{VertexAttribute as _}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as A}from"./DefaultBufferWriter.js";import{vertexAttributeLocations as P,PathTechnique as R,PathPassParameters as j}from"./PathTechnique.js";import{PathTechniqueConfiguration as y}from"./PathTechniqueConfiguration.js";class L extends d{constructor(e,t){super(e,M),this._vertexBufferLayout=O(),this.vertexAttributeLocations=P,this.supportsEdges=!0,this.produces=new Map([[S.OPAQUE_MATERIAL,e=>(this.parameters.castShadows&&a(e)||o(e))&&!this.parameters.transparent],[S.TRANSPARENT_MATERIAL,e=>(this.parameters.castShadows&&a(e)||o(e))&&this.parameters.transparent]]),this._configuration=new y(t.spherical,t.doublePrecisionRequiresObfuscation)}get hasEmissions(){return!t(this.parameters.emissiveFactor,r)}getConfiguration(e,t){return this._configuration.output=e,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.hasOccludees=t.hasOccludees,n(e)?(this._configuration.doubleSidedMode=this.parameters.doubleSided&&"normal"===this.parameters.doubleSidedType?u.View:this.parameters.doubleSided&&"winding-order"===this.parameters.doubleSidedType?u.WindingOrder:u.None,this._configuration.receiveShadows=t.shadowMap.enabled,this._configuration.receiveAmbientOcclusion=null!=t.ssao):this._configuration.receiveShadows=this._configuration.receiveAmbientOcclusion=!1,this._configuration.pbrMode=this.parameters.usePBR?m.Schematic:m.Disabled,this._configuration.emissionSource=this.parameters.usePBR?h.Value:h.None,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}isVisibleForOutput(e){return e!==c.Shadow&&e!==c.ShadowExcludeHighlight&&e!==c.ShadowHighlight||this.parameters.castShadows}get visible(){return this.parameters.opacity>=p}intersect(t,r,s,a,o,n){const c=t;if(!b(c))return;const h=c.path,u=[this.parameters.size[0],this.parameters.size[1]];if(this.parameters.vvSize){const{offset:t,factor:r,minSize:i,maxSize:s}=this.parameters.vvSize,a=h.sizeAttributeValue;u[0]*=e(t[0]+a*r[0],i[0],s[0]),u[1]*=e(t[2]+a*r[2],i[2],s[2])}const m=new g(!1,s.options.normalRequired),p=Math.max(u[0],u[1]),l=t.boundingInfo;if(null==l)return void E(h,u,a,o,m,n);const f=i(l.bbMin[0]-p,l.bbMin[1]-p,l.bbMin[2]-p,l.bbMax[0]+p,l.bbMax[1]+p,l.bbMax[2]+p),d=[o[0]-a[0],o[1]-a[1],o[2]-a[2]],S=Math.sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]),_=[S/d[0],S/d[1],S/d[2]];v(f,a,_,s.tolerance)&&E(h,u,a,o,m,n)}createBufferWriter(){return new A(this._vertexBufferLayout)}createGLMaterial(e){return new T(e)}}function O(){const e=s().vec3f(_.POSITION).vec4f(_.PROFILERIGHT).vec4f(_.PROFILEUP).vec4f(_.PROFILEVERTEXANDNORMAL).vec4f(_.FEATUREVALUE);return l()&&e.vec4u8(_.OBJECTANDLAYERIDCOLOR),e}class T extends f{beginSlot(e){return this.acquireTechnique(R,e)}}function E(e,t,r,i,s,a){e.baked.size&&e.baked.size[0]===t[0]&&e.baked.size[1]===t[1]||e.baked.bake(t),e.baked.intersect(r,i,s,a)}class M extends j{constructor(){super(...arguments),this.doubleSided=!1,this.doubleSidedType="normal",this.castShadows=!0,this.hasSlicePlane=!1,this.transparent=!1,this.usePBR=!1}}export{M as Parameters,L as PathMaterial};
5
+ import{clamp as e}from"../../../../core/mathUtils.js";import{p as t}from"../../../../chunks/vec32.js";import{ZEROS as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as i}from"../../../../geometry/support/aaBoundingBox.js";import{newLayout as s}from"../../support/buffer/InterleavedLayout.js";import{isShadowRelatedOutput as a,is3DGeometryOutputMRT as o,isColorOrColorEmission as n,ShaderOutput as h}from"../core/shaderLibrary/ShaderOutput.js";import{EmissionSource as c}from"../core/shaderLibrary/output/Emissions.glsl.js";import{NormalsDoubleSidedMode as u}from"../core/shaderLibrary/shading/Normals.glsl.js";import{PBRMode as m}from"../core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js";import{alphaCutoff as p}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as l}from"../effects/geometry/olidUtils.js";import f from"../lib/GLMaterial.js";import{Material as d}from"../lib/Material.js";import{isPathGeometry as b}from"../lib/PathGeometry.js";import{MeshIntersectionOptions as g,intersectAabbInvDir as v}from"../lib/RayIntersections.js";import{RenderSlot as S}from"../lib/RenderSlot.js";import{VertexAttribute as _}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as A}from"./DefaultBufferWriter.js";import{vertexAttributeLocations as P,PathTechnique as R,PathPassParameters as j}from"./PathTechnique.js";import{PathTechniqueConfiguration as y}from"./PathTechniqueConfiguration.js";class L extends d{constructor(e,t){super(e,M),this._vertexBufferLayout=O(),this.vertexAttributeLocations=P,this.supportsEdges=!0,this.produces=new Map([[S.OPAQUE_MATERIAL,e=>(this.parameters.castShadows&&a(e)||o(e))&&!this.parameters.transparent],[S.TRANSPARENT_MATERIAL,e=>(this.parameters.castShadows&&a(e)||o(e))&&this.parameters.transparent]]),this._configuration=new y(t.spherical,t.doublePrecisionRequiresObfuscation)}get hasEmissions(){return!t(this.parameters.emissiveFactor,r)}getConfiguration(e,t){return this._configuration.output=e,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.hasOccludees=t.hasOccludees,n(e)?(this._configuration.doubleSidedMode=this.parameters.doubleSided&&"normal"===this.parameters.doubleSidedType?u.View:this.parameters.doubleSided&&"winding-order"===this.parameters.doubleSidedType?u.WindingOrder:u.None,this._configuration.receiveShadows=t.shadowMap.enabled,this._configuration.receiveAmbientOcclusion=null!=t.ssao):this._configuration.receiveShadows=this._configuration.receiveAmbientOcclusion=!1,this._configuration.pbrMode=this.parameters.usePBR?m.Schematic:m.Disabled,this._configuration.emissionSource=this.parameters.usePBR?c.Value:c.None,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}isVisibleForOutput(e){return e!==h.Shadow&&e!==h.ShadowExcludeHighlight&&e!==h.ShadowHighlight||this.parameters.castShadows}get visible(){return this.parameters.opacity>=p}intersect(t,r,s,a,o,n){const h=t;if(!b(h))return;const c=h.path,u=[this.parameters.size[0],this.parameters.size[1]];if(this.parameters.vvSize){const{offset:t,factor:r,minSize:i,maxSize:s}=this.parameters.vvSize,a=c.sizeAttributeValue;u[0]*=e(t[0]+a*r[0],i[0],s[0]),u[1]*=e(t[2]+a*r[2],i[2],s[2])}const m=new g(!1,s.options.normalRequired),p=Math.max(u[0],u[1]),l=t.boundingInfo;if(null==l)return void E(c,u,a,o,m,n);const f=i(l.bbMin[0]-p,l.bbMin[1]-p,l.bbMin[2]-p,l.bbMax[0]+p,l.bbMax[1]+p,l.bbMax[2]+p),d=[o[0]-a[0],o[1]-a[1],o[2]-a[2]],S=Math.sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]),_=[S/d[0],S/d[1],S/d[2]];v(f,a,_,s.tolerance)&&E(c,u,a,o,m,n)}createBufferWriter(){return new A(this._vertexBufferLayout)}createGLMaterial(e){return new T(e)}}function O(){const e=s().vec3f(_.POSITION).vec4f(_.PROFILERIGHT).vec4f(_.PROFILEUP).vec4f(_.PROFILEVERTEXANDNORMAL).vec4f(_.FEATUREVALUE);return l()&&e.vec4u8(_.OBJECTANDLAYERIDCOLOR),e}class T extends f{beginSlot(e){return this.getTechnique(R,e)}}function E(e,t,r,i,s,a){e.baked.size&&e.baked.size[0]===t[0]&&e.baked.size[1]===t[1]||e.baked.bake(t),e.baked.intersect(r,i,s,a)}class M extends j{constructor(){super(...arguments),this.doubleSided=!1,this.doubleSidedType="normal",this.castShadows=!0,this.hasSlicePlane=!1,this.transparent=!1,this.usePBR=!1}}export{M as Parameters,L as PathMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{freeze as e,create as r,ZEROS as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isColorOrColorEmission as s,ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import{PathVertexPositionPassParameters as l}from"../core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{NormalsDoubleSidedMode as o}from"../core/shaderLibrary/shading/Normals.glsl.js";import{ReloadableShaderModule as n}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as a}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as u}from"../lib/OITPass.js";import{blending as m,oitDepthTest as c,getDrawBuffers as h,OITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as d,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VertexAttribute as b}from"../lib/VertexAttribute.js";import{advancedMRRFactors as O}from"./pbrUtils.js";import{P as j}from"../../../../chunks/Path.glsl.js";import{SpecialDrawBuffers as P}from"../../../webgl/enums.js";import{makePipelineState as g,frontFaceCullingParams as E,defaultDepthWrite as T,defaultColorWrite as x}from"../../../webgl/renderState.js";class N extends l{constructor(){super(...arguments),this.ambient=e(.2,.2,.2),this.diffuse=e(.8,.8,.8),this.specular=e(0,0,0),this.opacity=1,this.origin=r(),this.modelTransformation=null,this.mrrFactors=O,this.emissiveFactor=t,this.texture=null,this.textureNormal=null,this.textureEmissive=null,this.textureOcclusion=null,this.textureMetallicRoughness=null}}class R extends a{constructor(e,r,t){super(e,r,new n(j,(()=>import("../shaders/Path.glsl.js"))),t,L)}initializePipeline(e){const{output:r,transparent:t,hasSlicePlane:l,doubleSidedMode:n,hasOccludees:a,oitPass:b}=e,O=b===u.NONE,j=b===u.FrontFace;return g({blending:s(r)&&t?m(b):null,culling:l&&!t&&n!==o.None?E:null,depthTest:{func:c(b)},depthWrite:O||j?T:null,drawBuffers:r===i.Depth?{buffers:[P.NONE]}:h(b,r),colorWrite:x,stencilWrite:a?d:null,stencilTest:a?f:null,polygonOffset:O||j?null:p})}}const L=new Map([[b.POSITION,0],[b.PROFILERIGHT,1],[b.PROFILEUP,2],[b.PROFILEVERTEXANDNORMAL,3],[b.FEATUREVALUE,4],[b.OBJECTANDLAYERIDCOLOR,5]]);export{N as PathPassParameters,R as PathTechnique,L as vertexAttributeLocations};
5
+ import{freeze as e,create as r,ZEROS as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isColorOrColorEmission as s,ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import{PathVertexPositionPassParameters as l}from"../core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{NormalsDoubleSidedMode as o}from"../core/shaderLibrary/shading/Normals.glsl.js";import{ReloadableShaderModule as n}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as a}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as u}from"../lib/OITPass.js";import{blending as m,oitDepthTest as c,getDrawBuffers as h,OITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as d,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VertexAttribute as b}from"../lib/VertexAttribute.js";import{advancedMRRFactors as O}from"./pbrUtils.js";import{P as j}from"../../../../chunks/Path.glsl.js";import{SpecialDrawBuffers as P}from"../../../webgl/enums.js";import{makePipelineState as g,frontFaceCullingParams as E,defaultDepthWrite as T,defaultColorWrite as x}from"../../../webgl/renderState.js";class N extends l{constructor(){super(...arguments),this.ambient=e(.2,.2,.2),this.diffuse=e(.8,.8,.8),this.specular=e(0,0,0),this.opacity=1,this.origin=r(),this.modelTransformation=null,this.mrrFactors=O,this.emissiveFactor=t,this.texture=null,this.textureNormal=null,this.textureEmissive=null,this.textureOcclusion=null,this.textureMetallicRoughness=null}}class R extends a{constructor(e,r){super(e,r,new n(j,(()=>import("../shaders/Path.glsl.js"))),L)}initializePipeline(e){const{output:r,transparent:t,hasSlicePlane:l,doubleSidedMode:n,hasOccludees:a,oitPass:b}=e,O=b===u.NONE,j=b===u.FrontFace;return g({blending:s(r)&&t?m(b):null,culling:l&&!t&&n!==o.None?E:null,depthTest:{func:c(b)},depthWrite:O||j?T:null,drawBuffers:r===i.Depth?{buffers:[P.NONE]}:h(b,r),colorWrite:x,stencilWrite:a?d:null,stencilTest:a?f:null,polygonOffset:O||j?null:p})}}const L=new Map([[b.POSITION,0],[b.PROFILERIGHT,1],[b.PROFILEUP,2],[b.PROFILEVERTEXANDNORMAL,3],[b.FEATUREVALUE,4],[b.OBJECTANDLAYERIDCOLOR,5]]);export{N as PathPassParameters,R as PathTechnique,L as vertexAttributeLocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{BufferViewMat3f as t,BufferViewVec4f as r}from"../../../../geometry/support/buffer/BufferView.js";import{newLayout as s}from"../../support/buffer/InterleavedLayout.js";import{isHighlightOrOID as i,isColorOrColorEmission as o,isDepth as a,isColorEmissionHighlightOrOID as n}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as f}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as c}from"../effects/geometry/olidUtils.js";import{CullFaceOptions as l}from"../lib/basicInterfaces.js";import u from"../lib/GLMaterial.js";import{OITPolygonOffsetLimit as h}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as p}from"../lib/RenderSlot.js";import{assert as m}from"../lib/Util.js";import{VertexAttribute as d}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as g}from"./DefaultBufferWriter.js";import{Style as A}from"./PatternStyle.js";import{TriangleMaterial as T}from"./TriangleMaterial.js";import{VisualVariablePassParameters as b}from"./VisualVariablePassParameters.js";import{writeDefaultAttributes as v,writeBufferVec4 as O}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocationsOID as _,vertexAttributeLocations as j,PatternTechnique as C}from"../shaders/PatternTechnique.js";import{PatternTechniqueConfiguration as E}from"../shaders/PatternTechniqueConfiguration.js";class P extends T{constructor(e){super(e,I),this._configuration=new E,this.vertexAttributeLocations=c()?_:j,this.supportsEdges=!0,this.produces=new Map([[p.OPAQUE_MATERIAL,e=>i(e)],[p.TRANSPARENT_MATERIAL,e=>o(e)],[p.TRANSPARENT_MATERIAL_WITHOUT_NORMALS,e=>a(e)],[p.DRAPED_MATERIAL,e=>this.parameters.draped&&n(e)]])}getConfiguration(e,t){return this._configuration.output=e,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasVertexColors=this.parameters.hasVertexColors&&!this.parameters.vvColor,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.polygonOffset=this.parameters.polygonOffset,this._configuration.style=this.parameters.style,this._configuration.draped=this.parameters.draped,this._configuration.oitPass=t.oitPass,this._configuration.enableOffset=t.camera.relativeElevation<h,this._configuration.terrainDepthTest=t.terrainDepthTest&&o(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration}get visible(){return this.parameters.color[3]>=f}createGLMaterial(e){return new R(e)}createBufferWriter(){const e=s().vec3f(d.POSITION).vec4f(d.UVMAPSPACE);return this.parameters.draped||e.mat3f(d.BOUNDINGRECT),this.parameters.vvColor?e.f32(d.COLORFEATUREATTRIBUTE):e.vec4u8(d.COLOR),c()&&e.vec4u8(d.OBJECTANDLAYERIDCOLOR),new y(e)}}class R extends u{beginSlot(e){return this.acquireTechnique(C,e)}}class y extends g{write(e,s,i,o,a,n){v(i,o,this.vertexBufferLayout,e,s,a,n);for(const f of this.vertexBufferLayout.fields.keys()){const s=i.get(f),o=s?.indices;if(s&&o)switch(f){case d.UVMAPSPACE:{m(4===s.size);const e=a.getField(f,r);e&&O(s,e,n);break}case d.BOUNDINGRECT:{m(9===s.size);const r=a.getField(f,t);r&&L(s,e,r,n);break}}}}}function L(e,t,r,s){const{data:i,indices:o}=e,a=t,n=r.typedBuffer,f=r.typedBufferStride,c=o.length;s*=f;for(let l=0;l<c;++l){const e=9*o[l],t=i[e],r=i[e+1],c=i[e+2];n[s]=a[0]*t+a[4]*r+a[8]*c+a[12],n[s+1]=a[1]*t+a[5]*r+a[9]*c+a[13],n[s+2]=a[2]*t+a[6]*r+a[10]*c+a[14];for(let o=3;o<9;++o)n[s+o]=i[e+o];s+=f}}class I extends b{constructor(){super(...arguments),this.color=e(1,1,1,1),this.hasVertexColors=!1,this.polygonOffset=!1,this.hasSlicePlane=!1,this.cullFace=l.None,this.hasOccludees=!1,this.style=A.Cross,this.draped=!0}}export{I as Parameters,P as PatternMaterial};
5
+ import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{BufferViewMat3f as e,BufferViewVec4f as r}from"../../../../geometry/support/buffer/BufferView.js";import{newLayout as s}from"../../support/buffer/InterleavedLayout.js";import{isHighlightOrOID as i,isColorOrColorEmission as o,isDepth as a,isColorEmissionHighlightOrOID as n}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as f}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as l}from"../effects/geometry/olidUtils.js";import{CullFaceOptions as c}from"../lib/basicInterfaces.js";import u from"../lib/GLMaterial.js";import{OITPolygonOffsetLimit as h}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as p}from"../lib/RenderSlot.js";import{assert as m}from"../lib/Util.js";import{VertexAttribute as d}from"../lib/VertexAttribute.js";import{DefaultBufferWriter as g}from"./DefaultBufferWriter.js";import{Style as A}from"./PatternStyle.js";import{TriangleMaterial as T}from"./TriangleMaterial.js";import{VisualVariablePassParameters as b}from"./VisualVariablePassParameters.js";import{writeDefaultAttributes as v,writeBufferVec4 as O}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocationsOID as _,vertexAttributeLocations as j,PatternTechnique as C}from"../shaders/PatternTechnique.js";import{PatternTechniqueConfiguration as E}from"../shaders/PatternTechniqueConfiguration.js";class P extends T{constructor(t){super(t,I),this._configuration=new E,this.vertexAttributeLocations=l()?_:j,this.supportsEdges=!0,this.produces=new Map([[p.OPAQUE_MATERIAL,t=>i(t)],[p.TRANSPARENT_MATERIAL,t=>o(t)],[p.TRANSPARENT_MATERIAL_WITHOUT_NORMALS,t=>a(t)],[p.DRAPED_MATERIAL,t=>this.parameters.draped&&n(t)]])}getConfiguration(t,e){return this._configuration.output=t,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasVertexColors=this.parameters.hasVertexColors&&!this.parameters.vvColor,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.polygonOffset=this.parameters.polygonOffset,this._configuration.style=this.parameters.style,this._configuration.draped=this.parameters.draped,this._configuration.oitPass=e.oitPass,this._configuration.enableOffset=e.camera.relativeElevation<h,this._configuration.terrainDepthTest=e.terrainDepthTest&&o(t),this._configuration.cullAboveTerrain=e.cullAboveTerrain,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration}get visible(){return this.parameters.color[3]>=f}createGLMaterial(t){return new R(t)}createBufferWriter(){const t=s().vec3f(d.POSITION).vec4f(d.UVMAPSPACE);return this.parameters.draped||t.mat3f(d.BOUNDINGRECT),this.parameters.vvColor?t.f32(d.COLORFEATUREATTRIBUTE):t.vec4u8(d.COLOR),l()&&t.vec4u8(d.OBJECTANDLAYERIDCOLOR),new y(t)}}class R extends u{beginSlot(t){return this.getTechnique(C,t)}}class y extends g{write(t,s,i,o,a,n){v(i,o,this.vertexBufferLayout,t,s,a,n);for(const f of this.vertexBufferLayout.fields.keys()){const s=i.get(f),o=s?.indices;if(s&&o)switch(f){case d.UVMAPSPACE:{m(4===s.size);const t=a.getField(f,r);t&&O(s,t,n);break}case d.BOUNDINGRECT:{m(9===s.size);const r=a.getField(f,e);r&&L(s,t,r,n);break}}}}}function L(t,e,r,s){const{data:i,indices:o}=t,a=e,n=r.typedBuffer,f=r.typedBufferStride,l=o.length;s*=f;for(let c=0;c<l;++c){const t=9*o[c],e=i[t],r=i[t+1],l=i[t+2];n[s]=a[0]*e+a[4]*r+a[8]*l+a[12],n[s+1]=a[1]*e+a[5]*r+a[9]*l+a[13],n[s+2]=a[2]*e+a[6]*r+a[10]*l+a[14];for(let o=3;o<9;++o)n[s+o]=i[t+o];s+=f}}class I extends b{constructor(){super(...arguments),this.color=t(1,1,1,1),this.hasVertexColors=!1,this.polygonOffset=!1,this.hasSlicePlane=!1,this.cullFace=c.None,this.hasOccludees=!1,this.style=A.Cross,this.draped=!0}}export{I as Parameters,P as PatternMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as r}from"../../../../core/screenUtils.js";import{copy as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{i as s,d as a,f as n,h as o,g as l,c,l as p,j as h,t as u}from"../../../../chunks/vec32.js";import{create as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as m}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{PlaneIndex as T}from"../../../../geometry/support/frustum.js";import{create as d,distance2 as _,fromPoints as E,closestLineSegmentPoint as A}from"../../../../geometry/support/lineSegment.js";import{create as R,fromPoints as O,signedDistance as g,getNormal as I}from"../../../../geometry/support/plane.js";import{newLayout as S}from"../../support/buffer/InterleavedLayout.js";import{isHighlightOrOID as v,isColorOrColorEmission as P,isDepth as N,isColorEmissionHighlightOIDOrDepth as L,is2DGeometryOutput as b,ShaderOutput as C}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as U}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as y}from"../effects/geometry/olidUtils.js";import D from"../lib/GLMaterial.js";import{Material as j,RenderOccludedFlag as F}from"../lib/Material.js";import{RenderSlot as w}from"../lib/RenderSlot.js";import{isTranslationMatrix as M}from"../lib/Util.js";import{VertexAttribute as x}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as B}from"./VisualVariablePassParameters.js";import{LineMarkerAnchor as J}from"../shaders/LineMarkerTechniqueConfiguration.js";import{r as H}from"../../../../chunks/RibbonLine.glsl.js";import{vertexAttributeLocations as z,RibbonLineTechnique as G}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as k,CapType as V}from"../shaders/RibbonLineTechniqueConfiguration.js";var Z;!function(e){e[e.LEFT_JOIN_START=-2]="LEFT_JOIN_START",e[e.LEFT_JOIN_END=-1]="LEFT_JOIN_END",e[e.LEFT_CAP_START=-4]="LEFT_CAP_START",e[e.LEFT_CAP_END=-5]="LEFT_CAP_END",e[e.RIGHT_JOIN_START=2]="RIGHT_JOIN_START",e[e.RIGHT_JOIN_END=1]="RIGHT_JOIN_END",e[e.RIGHT_CAP_START=4]="RIGHT_CAP_START",e[e.RIGHT_CAP_END=5]="RIGHT_CAP_END"}(Z||(Z={}));class W extends j{constructor(e){super(e,q),this._configuration=new k,this.vertexAttributeLocations=z,this.produces=new Map([[w.OPAQUE_MATERIAL,e=>v(e)||P(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.OPAQUE_MATERIAL_WITHOUT_NORMALS,e=>N(e)],[w.OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL,e=>P(e)&&this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>P(e)&&!this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.DRAPED_MATERIAL,e=>b(e)]])}getConfiguration(e,t){this._configuration.output=e,this._configuration.oitPass=t.oitPass,this._configuration.draped=t.slot===w.DRAPED_MATERIAL;const r=null!=this.parameters.stipplePattern&&e!==C.Highlight;return this._configuration.stippleEnabled=r,this._configuration.stippleOffColorEnabled=r&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=r&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&$(this.parameters.markerParameters),this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=t.hasOccludees,this._configuration.occluder=this.parameters.renderOccluded===F.OccludeAndTransparentStencil,this._configuration.terrainDepthTest=t.terrainDepthTest&&P(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.wireframe=this.parameters.wireframe,this._configuration}get visible(){return this.parameters.color[3]>=U||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>U}intersectDraped({attributes:e,screenToWorldRatio:r},i,s,a,n,o){if(!s.options.selectionMode)return;const l=e.get(x.SIZE);let c=this.parameters.width;if(this.parameters.vvSize){const r=e.get(x.SIZEFEATUREATTRIBUTE).data[0];c*=t(this.parameters.vvSize.offset[0]+r*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else l&&(c*=l.data[0]);const p=a[0],h=a[1],u=(c/2+4)*r;let f=Number.MAX_VALUE,m=0;const T=e.get(x.POSITION).data,d=K(this.parameters,e)?T.length-2:T.length-5;for(let _=0;_<d;_+=3){const e=T[_],r=T[_+1],i=(_+3)%T.length,s=p-e,a=h-r,n=T[i]-e,o=T[i+1]-r,l=t((n*s+o*a)/(n*n+o*o),0,1),c=n*l-s,u=o*l-a,d=c*c+u*u;d<f&&(f=d,m=_/3)}f<u*u&&n(o.dist,o.normal,m,!1)}intersect(r,u,f,m,d,R){if(!f.options.selectionMode||!r.visible)return;if(!M(u))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const S=r.attributes,v=S.get(x.POSITION).data;let P=this.parameters.width;if(this.parameters.vvSize){const e=S.get(x.SIZEFEATUREATTRIBUTE).data[0];P*=t(this.parameters.vvSize.offset[0]+e*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else S.has(x.SIZE)&&(P*=S.get(x.SIZE).data[0]);const N=f.camera,L=se;i(L,f.point);const b=P*N.pixelRatio/2+4*N.pixelRatio;s(me[0],L[0]-b,L[1]+b,0),s(me[1],L[0]+b,L[1]+b,0),s(me[2],L[0]+b,L[1]-b,0),s(me[3],L[0]-b,L[1]-b,0);for(let e=0;e<4;e++)if(!N.unprojectFromRenderScreen(me[e],Te[e]))return;O(N.eye,Te[0],Te[1],de),O(N.eye,Te[1],Te[2],_e),O(N.eye,Te[2],Te[3],Ee),O(N.eye,Te[3],Te[0],Ae);let C=Number.MAX_VALUE,U=0;const y=K(this.parameters,S)?v.length-2:v.length-5;for(let e=0;e<y;e+=3){ee[0]=v[e]+u[12],ee[1]=v[e+1]+u[13],ee[2]=v[e+2]+u[14];const t=(e+3)%v.length;if(te[0]=v[t]+u[12],te[1]=v[t+1]+u[13],te[2]=v[t+2]+u[14],g(de,ee)<0&&g(de,te)<0||g(_e,ee)<0&&g(_e,te)<0||g(Ee,ee)<0&&g(Ee,te)<0||g(Ae,ee)<0&&g(Ae,te)<0)continue;if(N.projectToRenderScreen(ee,ae),N.projectToRenderScreen(te,ne),ae[2]<0&&ne[2]>0){a(re,ee,te);const e=N.frustum,t=-g(e[T.NEAR],ee)/n(re,I(e[T.NEAR]));o(re,re,t),l(ee,ee,re),N.projectToRenderScreen(ee,ae)}else if(ae[2]>0&&ne[2]<0){a(re,te,ee);const e=N.frustum,t=-g(e[T.NEAR],te)/n(re,I(e[T.NEAR]));o(re,re,t),l(te,te,re),N.projectToRenderScreen(te,ne)}else if(ae[2]<0&&ne[2]<0)continue;ae[2]=0,ne[2]=0;const r=_(E(ae,ne,ce),L);r<C&&(C=r,c(oe,ee),c(le,te),U=e/3)}const D=f.rayBegin,j=f.rayEnd;if(C<b*b){let e=Number.MAX_VALUE;if(A(E(oe,le,ce),E(D,j,pe),ie)){a(ie,ie,D);const t=p(ie);o(ie,ie,1/t),e=t/h(D,j)}R(e,ie,U,!1)}}get _layout(){const e=S().vec3f(x.POSITION).vec3f(x.PREVPOSITION).vec3f(x.NEXTPOSITION).f32(x.SUBDIVISIONFACTOR).vec2f(x.UV0);return this.parameters.vvSize?e.f32(x.SIZEFEATUREATTRIBUTE):e.f32(x.SIZE),this.parameters.vvColor?e.f32(x.COLORFEATUREATTRIBUTE):e.vec4f(x.COLOR),this.parameters.vvOpacity&&e.f32(x.OPACITYFEATUREATTRIBUTE),y()&&e.vec4u8(x.OBJECTANDLAYERIDCOLOR),e}createBufferWriter(){return new X(this._layout,this.parameters)}createGLMaterial(e){return new Y(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0),null!=e.markerParameters&&(e.markerScale=e.markerParameters.width/e.width)}}class Y extends D{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures.release(this._stipplePattern),this._stipplePattern=null}beginSlot(e){const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(t,this._stipplePattern)}),this._stipplePattern=t),this.acquireTechnique(G,e)}}class q extends B{constructor(){super(...arguments),this.width=0,this.color=m,this.join="miter",this.cap=V.BUTT,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1}get transparent(){return this.color[3]<1||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}}class X{constructor(e,t){this.vertexBufferLayout=e,this._parameters=t,this.numJoinSubdivisions=0;const r=t.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=r;break;case"round":this.numJoinSubdivisions=H+r}}_isClosed(e){return K(this._parameters,e)}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){const t=2,r=e.get(x.POSITION).indices.length/2+1,i=this._isClosed(e);let s=i?2:2*t;return s+=((i?r:r-1)-(i?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,r,i,a,n){const o=he,l=ue,p=fe,f=r.get(x.POSITION),m=f.indices,T=f.data.length/3,d=r.get(x.DISTANCETOSTART)?.data;m&&m.length!==2*(T-1)&&console.warn("RibbonLineMaterial does not support indices");const _=r.get(x.SIZEFEATUREATTRIBUTE)?.data[0]??r.get(x.SIZE)?.data[0]??1;let E=[1,1,1,1],A=0;const R=this.vertexBufferLayout.fields.has(x.COLORFEATUREATTRIBUTE);R?A=r.get(x.COLORFEATUREATTRIBUTE).data[0]:r.has(x.COLOR)&&(E=r.get(x.COLOR).data);const O=this.vertexBufferLayout.fields.has(x.OPACITYFEATUREATTRIBUTE),g=O?r.get(x.OPACITYFEATUREATTRIBUTE).data[0]:0,I=new Float32Array(a.buffer),S=y()?new Uint8Array(a.buffer):null,v=this.vertexBufferLayout.stride/4;let P=n*v;const N=P;let L=0;const b=d?(e,t,r)=>L=d[r]:(e,t,r)=>L+=h(e,t),C=(e,t,r,s,a,n,o)=>{if(I[P++]=t[0],I[P++]=t[1],I[P++]=t[2],I[P++]=e[0],I[P++]=e[1],I[P++]=e[2],I[P++]=r[0],I[P++]=r[1],I[P++]=r[2],I[P++]=s,I[P++]=o,I[P++]=a,I[P++]=_,R)I[P++]=A;else{const e=Math.min(4*n,E.length-4);I[P++]=E[e],I[P++]=E[e+1],I[P++]=E[e+2],I[P++]=E[e+3]}O&&(I[P++]=g),y()&&(i&&(S[4*P]=i[0],S[4*P+1]=i[1],S[4*P+2]=i[2],S[4*P+3]=i[3]),P++)};P+=v,s(l,f.data[0],f.data[1],f.data[2]),e&&u(l,l,e);const U=this._isClosed(r);if(U){const t=f.data.length-3;s(o,f.data[t],f.data[t+1],f.data[t+2]),e&&u(o,o,e)}else s(p,f.data[3],f.data[4],f.data[5]),e&&u(p,p,e),C(l,l,p,1,Z.LEFT_CAP_START,0,0),C(l,l,p,1,Z.RIGHT_CAP_START,0,0),c(o,l),c(l,p);const D=U?0:1,j=U?T:T-1;for(let h=D;h<j;h++){const t=(h+1)%T*3;s(p,f.data[t],f.data[t+1],f.data[t+2]),e&&u(p,p,e),b(o,l,h),C(o,l,p,0,Z.LEFT_JOIN_END,h,L),C(o,l,p,0,Z.RIGHT_JOIN_END,h,L);const r=this.numJoinSubdivisions;for(let e=0;e<r;++e){const t=(e+1)/(r+1);C(o,l,p,t,Z.LEFT_JOIN_END,h,L),C(o,l,p,t,Z.RIGHT_JOIN_END,h,L)}C(o,l,p,1,Z.LEFT_JOIN_START,h,L),C(o,l,p,1,Z.RIGHT_JOIN_START,h,L),c(o,l),c(l,p)}U?(s(p,f.data[3],f.data[4],f.data[5]),e&&u(p,p,e),L=b(o,l,j),C(o,l,p,0,Z.LEFT_JOIN_END,D,L),C(o,l,p,0,Z.RIGHT_JOIN_END,D,L)):(L=b(o,l,j),C(o,l,l,0,Z.LEFT_CAP_END,j,L),C(o,l,l,0,Z.RIGHT_CAP_END,j,L)),Q(I,N+v,I,N,v);P=Q(I,P-v,I,P,v),this._parameters.wireframe&&this._addWireframeVertices(a,N,P,v)}_addWireframeVertices(e,t,r,i){const s=new Float32Array(e.buffer,r*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,r-t);let n=0;const o=e=>n=Q(a,e,s,n,i);for(let l=0;l<a.length-1;l+=2*i)o(l),o(l+2*i),o(l+1*i),o(l+2*i),o(l+1*i),o(l+3*i)}}function Q(e,t,r,i,s){for(let a=0;a<s;a++)r[i++]=e[t++];return i}function K(e,t){if(!e.isClosed)return!1;return t.get(x.POSITION).indices.length>2}function $(e){return e.anchor===J.Tip&&e.hideOnShortSegments&&"begin-end"===e.placement&&e.worldSpace}const ee=f(),te=f(),re=f(),ie=f(),se=f(),ae=r(),ne=r(),oe=f(),le=f(),ce=d(),pe=d(),he=f(),ue=f(),fe=f(),me=[r(),r(),r(),r()],Te=[f(),f(),f(),f()],de=R(),_e=R(),Ee=R(),Ae=R();export{q as Parameters,W as RibbonLineMaterial};
5
+ import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as r}from"../../../../core/screenUtils.js";import{copy as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{i as s,d as a,f as n,h as o,g as l,c,l as p,j as h,t as f}from"../../../../chunks/vec32.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as u}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{PlaneIndex as T}from"../../../../geometry/support/frustum.js";import{create as d,distance2 as _,fromPoints as E,closestLineSegmentPoint as A}from"../../../../geometry/support/lineSegment.js";import{create as R,fromPoints as O,signedDistance as g,getNormal as I}from"../../../../geometry/support/plane.js";import{newLayout as S}from"../../support/buffer/InterleavedLayout.js";import{isHighlightOrOID as v,isColorOrColorEmission as P,isDepth as N,isColorEmissionHighlightOIDOrDepth as L,is2DGeometryOutput as b,ShaderOutput as C}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as U}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as y}from"../effects/geometry/olidUtils.js";import D from"../lib/GLMaterial.js";import{Material as j,RenderOccludedFlag as F}from"../lib/Material.js";import{RenderSlot as w}from"../lib/RenderSlot.js";import{isTranslationMatrix as M}from"../lib/Util.js";import{VertexAttribute as x}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as B}from"./VisualVariablePassParameters.js";import{LineMarkerAnchor as J}from"../shaders/LineMarkerTechniqueConfiguration.js";import{r as H}from"../../../../chunks/RibbonLine.glsl.js";import{vertexAttributeLocations as z,RibbonLineTechnique as G}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as k,CapType as V}from"../shaders/RibbonLineTechniqueConfiguration.js";var Z;!function(e){e[e.LEFT_JOIN_START=-2]="LEFT_JOIN_START",e[e.LEFT_JOIN_END=-1]="LEFT_JOIN_END",e[e.LEFT_CAP_START=-4]="LEFT_CAP_START",e[e.LEFT_CAP_END=-5]="LEFT_CAP_END",e[e.RIGHT_JOIN_START=2]="RIGHT_JOIN_START",e[e.RIGHT_JOIN_END=1]="RIGHT_JOIN_END",e[e.RIGHT_CAP_START=4]="RIGHT_CAP_START",e[e.RIGHT_CAP_END=5]="RIGHT_CAP_END"}(Z||(Z={}));class W extends j{constructor(e){super(e,q),this._configuration=new k,this.vertexAttributeLocations=z,this.produces=new Map([[w.OPAQUE_MATERIAL,e=>v(e)||P(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.OPAQUE_MATERIAL_WITHOUT_NORMALS,e=>N(e)],[w.OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL,e=>P(e)&&this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>P(e)&&!this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.DRAPED_MATERIAL,e=>b(e)]])}getConfiguration(e,t){this._configuration.output=e,this._configuration.oitPass=t.oitPass,this._configuration.draped=t.slot===w.DRAPED_MATERIAL;const r=null!=this.parameters.stipplePattern&&e!==C.Highlight;return this._configuration.stippleEnabled=r,this._configuration.stippleOffColorEnabled=r&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=r&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&$(this.parameters.markerParameters),this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=t.hasOccludees,this._configuration.occluder=this.parameters.renderOccluded===F.OccludeAndTransparentStencil,this._configuration.terrainDepthTest=t.terrainDepthTest&&P(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.wireframe=this.parameters.wireframe,this._configuration}get visible(){return this.parameters.color[3]>=U||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>U}intersectDraped({attributes:e,screenToWorldRatio:r},i,s,a,n,o){if(!s.options.selectionMode)return;const l=e.get(x.SIZE);let c=this.parameters.width;if(this.parameters.vvSize){const r=e.get(x.SIZEFEATUREATTRIBUTE).data[0];c*=t(this.parameters.vvSize.offset[0]+r*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else l&&(c*=l.data[0]);const p=a[0],h=a[1],f=(c/2+4)*r;let m=Number.MAX_VALUE,u=0;const T=e.get(x.POSITION).data,d=K(this.parameters,e)?T.length-2:T.length-5;for(let _=0;_<d;_+=3){const e=T[_],r=T[_+1],i=(_+3)%T.length,s=p-e,a=h-r,n=T[i]-e,o=T[i+1]-r,l=t((n*s+o*a)/(n*n+o*o),0,1),c=n*l-s,f=o*l-a,d=c*c+f*f;d<m&&(m=d,u=_/3)}m<f*f&&n(o.dist,o.normal,u,!1)}intersect(r,f,m,u,d,R){if(!m.options.selectionMode||!r.visible)return;if(!M(f))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const S=r.attributes,v=S.get(x.POSITION).data;let P=this.parameters.width;if(this.parameters.vvSize){const e=S.get(x.SIZEFEATUREATTRIBUTE).data[0];P*=t(this.parameters.vvSize.offset[0]+e*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else S.has(x.SIZE)&&(P*=S.get(x.SIZE).data[0]);const N=m.camera,L=se;i(L,m.point);const b=P*N.pixelRatio/2+4*N.pixelRatio;s(ue[0],L[0]-b,L[1]+b,0),s(ue[1],L[0]+b,L[1]+b,0),s(ue[2],L[0]+b,L[1]-b,0),s(ue[3],L[0]-b,L[1]-b,0);for(let e=0;e<4;e++)if(!N.unprojectFromRenderScreen(ue[e],Te[e]))return;O(N.eye,Te[0],Te[1],de),O(N.eye,Te[1],Te[2],_e),O(N.eye,Te[2],Te[3],Ee),O(N.eye,Te[3],Te[0],Ae);let C=Number.MAX_VALUE,U=0;const y=K(this.parameters,S)?v.length-2:v.length-5;for(let e=0;e<y;e+=3){ee[0]=v[e]+f[12],ee[1]=v[e+1]+f[13],ee[2]=v[e+2]+f[14];const t=(e+3)%v.length;if(te[0]=v[t]+f[12],te[1]=v[t+1]+f[13],te[2]=v[t+2]+f[14],g(de,ee)<0&&g(de,te)<0||g(_e,ee)<0&&g(_e,te)<0||g(Ee,ee)<0&&g(Ee,te)<0||g(Ae,ee)<0&&g(Ae,te)<0)continue;if(N.projectToRenderScreen(ee,ae),N.projectToRenderScreen(te,ne),ae[2]<0&&ne[2]>0){a(re,ee,te);const e=N.frustum,t=-g(e[T.NEAR],ee)/n(re,I(e[T.NEAR]));o(re,re,t),l(ee,ee,re),N.projectToRenderScreen(ee,ae)}else if(ae[2]>0&&ne[2]<0){a(re,te,ee);const e=N.frustum,t=-g(e[T.NEAR],te)/n(re,I(e[T.NEAR]));o(re,re,t),l(te,te,re),N.projectToRenderScreen(te,ne)}else if(ae[2]<0&&ne[2]<0)continue;ae[2]=0,ne[2]=0;const r=_(E(ae,ne,ce),L);r<C&&(C=r,c(oe,ee),c(le,te),U=e/3)}const D=m.rayBegin,j=m.rayEnd;if(C<b*b){let e=Number.MAX_VALUE;if(A(E(oe,le,ce),E(D,j,pe),ie)){a(ie,ie,D);const t=p(ie);o(ie,ie,1/t),e=t/h(D,j)}R(e,ie,U,!1)}}get _layout(){const e=S().vec3f(x.POSITION).vec3f(x.PREVPOSITION).vec3f(x.NEXTPOSITION).f32(x.SUBDIVISIONFACTOR).vec2f(x.UV0);return this.parameters.vvSize?e.f32(x.SIZEFEATUREATTRIBUTE):e.f32(x.SIZE),this.parameters.vvColor?e.f32(x.COLORFEATUREATTRIBUTE):e.vec4f(x.COLOR),this.parameters.vvOpacity&&e.f32(x.OPACITYFEATUREATTRIBUTE),y()&&e.vec4u8(x.OBJECTANDLAYERIDCOLOR),e}createBufferWriter(){return new X(this._layout,this.parameters)}createGLMaterial(e){return new Y(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0),null!=e.markerParameters&&(e.markerScale=e.markerParameters.width/e.width)}}class Y extends D{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures.release(this._stipplePattern),this._stipplePattern=null}beginSlot(e){const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(t,this._stipplePattern)}),this._stipplePattern=t),this.getTechnique(G,e)}}class q extends B{constructor(){super(...arguments),this.width=0,this.color=u,this.join="miter",this.cap=V.BUTT,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1}get transparent(){return this.color[3]<1||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}}class X{constructor(e,t){this.vertexBufferLayout=e,this._parameters=t,this.numJoinSubdivisions=0;const r=t.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=r;break;case"round":this.numJoinSubdivisions=H+r}}_isClosed(e){return K(this._parameters,e)}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){const t=2,r=e.get(x.POSITION).indices.length/2+1,i=this._isClosed(e);let s=i?2:2*t;return s+=((i?r:r-1)-(i?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,r,i,a,n){const o=he,l=fe,p=me,m=r.get(x.POSITION),u=m.indices,T=m.data.length/3,d=r.get(x.DISTANCETOSTART)?.data;u&&u.length!==2*(T-1)&&console.warn("RibbonLineMaterial does not support indices");const _=r.get(x.SIZEFEATUREATTRIBUTE)?.data[0]??r.get(x.SIZE)?.data[0]??1;let E=[1,1,1,1],A=0;const R=this.vertexBufferLayout.fields.has(x.COLORFEATUREATTRIBUTE);R?A=r.get(x.COLORFEATUREATTRIBUTE).data[0]:r.has(x.COLOR)&&(E=r.get(x.COLOR).data);const O=this.vertexBufferLayout.fields.has(x.OPACITYFEATUREATTRIBUTE),g=O?r.get(x.OPACITYFEATUREATTRIBUTE).data[0]:0,I=new Float32Array(a.buffer),S=y()?new Uint8Array(a.buffer):null,v=this.vertexBufferLayout.stride/4;let P=n*v;const N=P;let L=0;const b=d?(e,t,r)=>L=d[r]:(e,t,r)=>L+=h(e,t),C=(e,t,r,s,a,n,o)=>{if(I[P++]=t[0],I[P++]=t[1],I[P++]=t[2],I[P++]=e[0],I[P++]=e[1],I[P++]=e[2],I[P++]=r[0],I[P++]=r[1],I[P++]=r[2],I[P++]=s,I[P++]=o,I[P++]=a,I[P++]=_,R)I[P++]=A;else{const e=Math.min(4*n,E.length-4);I[P++]=E[e],I[P++]=E[e+1],I[P++]=E[e+2],I[P++]=E[e+3]}O&&(I[P++]=g),y()&&(i&&(S[4*P]=i[0],S[4*P+1]=i[1],S[4*P+2]=i[2],S[4*P+3]=i[3]),P++)};P+=v,s(l,m.data[0],m.data[1],m.data[2]),e&&f(l,l,e);const U=this._isClosed(r);if(U){const t=m.data.length-3;s(o,m.data[t],m.data[t+1],m.data[t+2]),e&&f(o,o,e)}else s(p,m.data[3],m.data[4],m.data[5]),e&&f(p,p,e),C(l,l,p,1,Z.LEFT_CAP_START,0,0),C(l,l,p,1,Z.RIGHT_CAP_START,0,0),c(o,l),c(l,p);const D=U?0:1,j=U?T:T-1;for(let h=D;h<j;h++){const t=(h+1)%T*3;s(p,m.data[t],m.data[t+1],m.data[t+2]),e&&f(p,p,e),b(o,l,h),C(o,l,p,0,Z.LEFT_JOIN_END,h,L),C(o,l,p,0,Z.RIGHT_JOIN_END,h,L);const r=this.numJoinSubdivisions;for(let e=0;e<r;++e){const t=(e+1)/(r+1);C(o,l,p,t,Z.LEFT_JOIN_END,h,L),C(o,l,p,t,Z.RIGHT_JOIN_END,h,L)}C(o,l,p,1,Z.LEFT_JOIN_START,h,L),C(o,l,p,1,Z.RIGHT_JOIN_START,h,L),c(o,l),c(l,p)}U?(s(p,m.data[3],m.data[4],m.data[5]),e&&f(p,p,e),L=b(o,l,j),C(o,l,p,0,Z.LEFT_JOIN_END,D,L),C(o,l,p,0,Z.RIGHT_JOIN_END,D,L)):(L=b(o,l,j),C(o,l,l,0,Z.LEFT_CAP_END,j,L),C(o,l,l,0,Z.RIGHT_CAP_END,j,L)),Q(I,N+v,I,N,v);P=Q(I,P-v,I,P,v),this._parameters.wireframe&&this._addWireframeVertices(a,N,P,v)}_addWireframeVertices(e,t,r,i){const s=new Float32Array(e.buffer,r*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,r-t);let n=0;const o=e=>n=Q(a,e,s,n,i);for(let l=0;l<a.length-1;l+=2*i)o(l),o(l+2*i),o(l+1*i),o(l+2*i),o(l+1*i),o(l+3*i)}}function Q(e,t,r,i,s){for(let a=0;a<s;a++)r[i++]=e[t++];return i}function K(e,t){if(!e.isClosed)return!1;return t.get(x.POSITION).indices.length>2}function $(e){return e.anchor===J.Tip&&e.hideOnShortSegments&&"begin-end"===e.placement&&e.worldSpace}const ee=m(),te=m(),re=m(),ie=m(),se=m(),ae=r(),ne=r(),oe=m(),le=m(),ce=d(),pe=d(),he=m(),fe=m(),me=m(),ue=[r(),r(),r(),r()],Te=[m(),m(),m(),m()],de=R(),_e=R(),Ee=R(),Ae=R();export{q as Parameters,W as RibbonLineMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{n as e,i as t,h as r,g as i}from"../../../../chunks/vec32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{center as o,scale as n}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as c}from"../../../../geometry/support/buffer/BufferView.js";import{newLayout as h}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as l,isColorOrOID as p,isColorOrColorEmission as u}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as f}from"../core/shaderLibrary/util/AlphaCutoff.js";import{CullFaceOptions as m}from"../lib/basicInterfaces.js";import d from"../lib/GLMaterial.js";import{Material as S,MaterialParameters as b}from"../lib/Material.js";import{intersectTriangleGeometry as g}from"../lib/RayIntersections.js";import{RenderSlot as T}from"../lib/RenderSlot.js";import{assert as E}from"../lib/Util.js";import{VertexAttribute as A}from"../lib/VertexAttribute.js";import{writeDefaultAttributes as j,writePosition as F}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocations as _,ShadedColorMaterialTechnique as v}from"../shaders/ShadedColorMaterialTechnique.js";import{ShadedColorMaterialTechniqueConfiguration as w}from"../shaders/ShadedColorMaterialTechniqueConfiguration.js";class x extends S{constructor(e){super(e,O),this._configuration=new w,this.vertexAttributeLocations=_,this.supportsEdges=!0,this.produces=new Map([[T.OPAQUE_MATERIAL,e=>e===l.Highlight||p(e)&&!this.parameters.transparent],[T.TRANSPARENT_MATERIAL,e=>p(e)&&this.parameters.transparent&&this.parameters.writeDepth],[T.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>p(e)&&this.parameters.transparent&&!this.parameters.writeDepth]])}getConfiguration(e,t){return this._configuration.output=e,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.screenSizeEnabled=this.parameters.screenSizeEnabled,this._configuration.shadingEnabled=this.parameters.shadingEnabled,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest&&u(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}get visible(){return this.parameters.color[3]>=f}intersect(e,s,a,c,h,l){if(this.parameters.screenSizeEnabled){const s=e.attributes.get(A.OFFSET),p={applyToVertex:(e,o,n,c)=>{const h=t(P,s.data[3*c],s.data[3*c+1],s.data[3*c+2]),l=t(L,e,o,n);return r(h,h,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(h)),i(l,l,h),[l[0],l[1],l[2]]},applyToAabb:e=>{const t=o(e,P);return n(e,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(t))}};g(e,a,c,h,p,l)}else g(e,a,c,h,void 0,l)}createGLMaterial(e){return new z(e)}createBufferWriter(){return new M(this.parameters.screenSizeEnabled)}}class z extends d{beginSlot(e){return this.acquireTechnique(v,e)}}class O extends b{constructor(){super(...arguments),this.color=a(1,1,1,1),this.shadingTint=a(0,0,0,.25),this.shadingDirection=e(s(),[.5,-.5,-.5]),this.screenSizeScale=14,this.forceTransparentMode=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=m.None,this.screenSizeEnabled=!1,this.shadingEnabled=!0}get transparent(){return this.color[3]<1||this.forceTransparentMode}}class M{constructor(e){this.screenSizeEnabled=e;const t=h().vec3f(A.POSITION).vec3f(A.NORMAL);this.screenSizeEnabled&&t.vec3f(A.OFFSET),this.vertexBufferLayout=t}elementCount(e){return e.get(A.POSITION).indices.length}write(e,t,r,i,s,a){if(j(r,i,this.vertexBufferLayout,e,t,s,a),this.screenSizeEnabled){if(!r.has(A.OFFSET))throw new Error(`${A.OFFSET} vertex attribute required for screenSizeEnabled ShadedColorMaterial`);{const e=r.get(A.OFFSET);E(3===e.size);const i=s.getField(A.OFFSET,c);if(!i)throw new Error("unable to acquire view for "+A.OFFSET);F(e,t,i,a)}}}}const P=s(),L=s();export{O as Parameters,x as ShadedColorMaterial};
5
+ import{n as e,i as t,h as r,g as i}from"../../../../chunks/vec32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{center as o,scale as n}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as c}from"../../../../geometry/support/buffer/BufferView.js";import{newLayout as h}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as l,isColorOrOID as p,isColorOrColorEmission as u}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as f}from"../core/shaderLibrary/util/AlphaCutoff.js";import{CullFaceOptions as m}from"../lib/basicInterfaces.js";import d from"../lib/GLMaterial.js";import{Material as S,MaterialParameters as b}from"../lib/Material.js";import{intersectTriangleGeometry as g}from"../lib/RayIntersections.js";import{RenderSlot as T}from"../lib/RenderSlot.js";import{assert as E}from"../lib/Util.js";import{VertexAttribute as A}from"../lib/VertexAttribute.js";import{writeDefaultAttributes as j,writePosition as F}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocations as _,ShadedColorMaterialTechnique as v}from"../shaders/ShadedColorMaterialTechnique.js";import{ShadedColorMaterialTechniqueConfiguration as w}from"../shaders/ShadedColorMaterialTechniqueConfiguration.js";class x extends S{constructor(e){super(e,O),this._configuration=new w,this.vertexAttributeLocations=_,this.supportsEdges=!0,this.produces=new Map([[T.OPAQUE_MATERIAL,e=>e===l.Highlight||p(e)&&!this.parameters.transparent],[T.TRANSPARENT_MATERIAL,e=>p(e)&&this.parameters.transparent&&this.parameters.writeDepth],[T.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>p(e)&&this.parameters.transparent&&!this.parameters.writeDepth]])}getConfiguration(e,t){return this._configuration.output=e,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.screenSizeEnabled=this.parameters.screenSizeEnabled,this._configuration.shadingEnabled=this.parameters.shadingEnabled,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest&&u(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}get visible(){return this.parameters.color[3]>=f}intersect(e,s,a,c,h,l){if(this.parameters.screenSizeEnabled){const s=e.attributes.get(A.OFFSET),p={applyToVertex:(e,o,n,c)=>{const h=t(P,s.data[3*c],s.data[3*c+1],s.data[3*c+2]),l=t(L,e,o,n);return r(h,h,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(h)),i(l,l,h),[l[0],l[1],l[2]]},applyToAabb:e=>{const t=o(e,P);return n(e,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(t))}};g(e,a,c,h,p,l)}else g(e,a,c,h,void 0,l)}createGLMaterial(e){return new z(e)}createBufferWriter(){return new M(this.parameters.screenSizeEnabled)}}class z extends d{beginSlot(e){return this.getTechnique(v,e)}}class O extends b{constructor(){super(...arguments),this.color=a(1,1,1,1),this.shadingTint=a(0,0,0,.25),this.shadingDirection=e(s(),[.5,-.5,-.5]),this.screenSizeScale=14,this.forceTransparentMode=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=m.None,this.screenSizeEnabled=!1,this.shadingEnabled=!0}get transparent(){return this.color[3]<1||this.forceTransparentMode}}class M{constructor(e){this.screenSizeEnabled=e;const t=h().vec3f(A.POSITION).vec3f(A.NORMAL);this.screenSizeEnabled&&t.vec3f(A.OFFSET),this.vertexBufferLayout=t}elementCount(e){return e.get(A.POSITION).indices.length}write(e,t,r,i,s,a){if(j(r,i,this.vertexBufferLayout,e,t,s,a),this.screenSizeEnabled){if(!r.has(A.OFFSET))throw new Error(`${A.OFFSET} vertex attribute required for screenSizeEnabled ShadedColorMaterial`);{const e=r.get(A.OFFSET);E(3===e.size);const i=s.getField(A.OFFSET,c);if(!i)throw new Error("unable to acquire view for "+A.OFFSET);F(e,t,i,a)}}}}const P=s(),L=s();export{O as Parameters,x as ShadedColorMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{NoConfiguration as e}from"../core/shaderTechnique/ShaderTechniqueRepository.js";import t from"../lib/GLMaterial.js";import{RenderOccludedFlag as i}from"../lib/Material.js";import{RenderSlot as o}from"../lib/RenderSlot.js";import{DefaultBufferWriter as s}from"./DefaultBufferWriter.js";import{PositionUVLayout as a}from"./DefaultLayouts.js";import{TriangleMaterial as u}from"./TriangleMaterial.js";import{SlicePlaneMaterialTechnique as n,SlicePlaneMaterialPassParameters as c}from"../shaders/SlicePlaneMaterialTechnique.js";class l extends u{constructor(e){super(e,p),this.produces=new Map([[o.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>r(e)]])}get visible(){return!0}createGLMaterial(r){return new m(r)}createBufferWriter(){return new s(a)}getConfiguration(){return e}}class m extends t{constructor(r){super(r)}beginSlot(r){return this.acquireTechnique(n,r)}}class p extends c{constructor(){super(...arguments),this.renderOccluded=i.Occlude,this.isDecoration=!1}}export{p as Parameters,l as SlicePlaneMaterial};
5
+ import{isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{NoConfiguration as e}from"../core/shaderTechnique/ShaderTechniqueRepository.js";import t from"../lib/GLMaterial.js";import{RenderOccludedFlag as i}from"../lib/Material.js";import{RenderSlot as o}from"../lib/RenderSlot.js";import{DefaultBufferWriter as s}from"./DefaultBufferWriter.js";import{PositionUVLayout as a}from"./DefaultLayouts.js";import{TriangleMaterial as n}from"./TriangleMaterial.js";import{SlicePlaneMaterialTechnique as u,SlicePlaneMaterialPassParameters as c}from"../shaders/SlicePlaneMaterialTechnique.js";class l extends n{constructor(e){super(e,p),this.produces=new Map([[o.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>r(e)]])}get visible(){return!0}createGLMaterial(r){return new m(r)}createBufferWriter(){return new s(a)}getConfiguration(){return e}}class m extends t{constructor(r){super(r)}beginSlot(r){return this.getTechnique(u,r)}}class p extends c{constructor(){super(...arguments),this.renderOccluded=i.Occlude,this.isDecoration=!1}}export{p as Parameters,l as SlicePlaneMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import e from"../lib/GLMaterial.js";import{WaterTechnique as t}from"./WaterTechnique.js";class r extends e{ensureResources(e){return this._techniques.context.waterTextures.ensureResources(e)}beginSlot(e){const r=this._techniques.context.waterTextures.passParameters;return this._material.setParameters({wavePerturbation:r.wavePerturbation,waveNormal:r.waveNormal}),this.acquireTechnique(t,e)}}export{r as WaterGLMaterial};
5
+ import e from"../lib/GLMaterial.js";import{WaterTechnique as t}from"./WaterTechnique.js";class r extends e{ensureResources(e){return this._techniques.context.waterTextures.ensureResources(e)}beginSlot(e){const r=this._techniques.context.waterTextures.passParameters;return this._material.setParameters({wavePerturbation:r.wavePerturbation,waveNormal:r.waveNormal}),this.getTechnique(t,e)}}export{r as WaterGLMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as r}from"../core/shaderLibrary/ShaderOutput.js";import{WaterDistortionPassParameters as e}from"../core/shaderLibrary/shading/WaterDistortion.glsl.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as a,oitDepthTest as n,depthWrite as i,getDrawBuffers as l,getOITPolygonOffset as d}from"../lib/OrderIndependentTransparency.js";import{W as p}from"../../../../chunks/WaterSurface.glsl.js";import{makePipelineState as c,defaultColorWrite as u}from"../../../webgl/renderState.js";class m extends e{}class f extends s{constructor(r,e,s){super(r,e,new t(p,(()=>import("../shaders/WaterSurface.glsl.js"))),s)}initializePipeline(e){const{oitPass:t,output:s,transparent:p,draped:m,enableOffset:f}=e,h=t===o.NONE,j=t===o.FrontFace;return c({blending:s!==r.Normal&&s!==r.Highlight&&s!==r.ObjectAndLayerIdColor&&p?a(t):null,depthTest:m?null:{func:n(t)},depthWrite:i(e),drawBuffers:l(t,s),colorWrite:u,polygonOffset:h||j?null:d(f)})}}export{m as WaterMaterialPassParameters,f as WaterTechnique};
5
+ import{ShaderOutput as r}from"../core/shaderLibrary/ShaderOutput.js";import{WaterDistortionPassParameters as e}from"../core/shaderLibrary/shading/WaterDistortion.glsl.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as a,oitDepthTest as n,depthWrite as i,getDrawBuffers as l,getOITPolygonOffset as d}from"../lib/OrderIndependentTransparency.js";import{W as p}from"../../../../chunks/WaterSurface.glsl.js";import{makePipelineState as c,defaultColorWrite as u}from"../../../webgl/renderState.js";class m extends e{}class f extends s{constructor(r,e){super(r,e,new t(p,(()=>import("../shaders/WaterSurface.glsl.js"))))}initializePipeline(e){const{oitPass:t,output:s,transparent:p,draped:m,enableOffset:f}=e,h=t===o.NONE,j=t===o.FrontFace;return c({blending:s!==r.Normal&&s!==r.Highlight&&s!==r.ObjectAndLayerIdColor&&p?a(t):null,depthTest:m?null:{func:n(t)},depthWrite:i(e),drawBuffers:l(t,s),colorWrite:u,polygonOffset:h||j?null:d(f)})}}export{m as WaterMaterialPassParameters,f as WaterTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/AtmosphereCompositing.glsl.js";import{BlendFactor as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as t,simpleBlendingParams as n,defaultColorWrite as m}from"../../../webgl/renderState.js";class l extends r{constructor(r,s,i){super(r,s,new e(o,(()=>import("./AtmosphereCompositing.glsl.js"))),i)}initializePipeline(){return t({blending:n(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:{func:i.ALWAYS},colorWrite:m})}}export{l as AtmosphereCompositingTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/AtmosphereCompositing.glsl.js";import{BlendFactor as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as t,simpleBlendingParams as n,defaultColorWrite as m}from"../../../webgl/renderState.js";class l extends r{constructor(r,s){super(r,s,new e(o,(()=>import("./AtmosphereCompositing.glsl.js"))))}initializePipeline(){return t({blending:n(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:{func:i.ALWAYS},colorWrite:m})}}export{l as AtmosphereCompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as t,oitDepthTest as s,depthWrite as n,getDrawBuffers as i}from"../lib/OrderIndependentTransparency.js";import{C as a}from"../../../../chunks/CheckerBoard.glsl.js";import{makePipelineState as l,defaultColorWrite as c}from"../../../webgl/renderState.js";class p extends r{constructor(r,o,t){super(r,o,new e(a,(()=>import("./CheckerBoard.glsl.js"))),t)}initializePipeline(e){const{oitPass:r,transparent:a,polygonOffset:p,output:u}=e,f=r===o.NONE,m=r===o.FrontFace;return l({blending:a?t(r):null,depthTest:{func:s(r)},depthWrite:n(e),drawBuffers:i(r,u),colorWrite:c,polygonOffset:f||m?p?d:null:{factor:-1,units:-25}})}}const d={factor:0,units:-25};export{p as CheckerBoardTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as t,oitDepthTest as s,depthWrite as n,getDrawBuffers as i}from"../lib/OrderIndependentTransparency.js";import{C as a}from"../../../../chunks/CheckerBoard.glsl.js";import{makePipelineState as l,defaultColorWrite as c}from"../../../webgl/renderState.js";class p extends r{constructor(r,o){super(r,o,new e(a,(()=>import("./CheckerBoard.glsl.js"))))}initializePipeline(e){const{oitPass:r,transparent:a,polygonOffset:p,output:u}=e,f=r===o.NONE,m=r===o.FrontFace;return l({blending:a?t(r):null,depthTest:{func:s(r)},depthWrite:n(e),drawBuffers:i(r,u),colorWrite:c,polygonOffset:f||m?p?d:null:{factor:-1,units:-25}})}}const d={factor:0,units:-25};export{p as CheckerBoardTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ZEROS as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as o,oitDepthTest as n,depthWrite as a,getDrawBuffers as c,getOITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as u,stencilToolMaskBaseParams as m,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VisualVariablePassParameters as d}from"../materials/VisualVariablePassParameters.js";import{C as h}from"../../../../chunks/ColorMaterial.glsl.js";import{SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as j,cullingParams as P,defaultColorWrite as g}from"../../../webgl/renderState.js";class O extends d{constructor(){super(...arguments),this.color=e}}class S extends i{constructor(e,r,t){super(e,r,new s(h,(()=>import("./ColorMaterial.glsl.js"))),t)}_createPipeline(e,s){const{oitPass:i,output:d,transparent:h,cullFace:O,draped:S,hasOccludees:_,polygonOffset:w,enableOffset:x}=e,y=i===l.NONE,N=i===l.FrontFace;return j({blending:r(d)&&h?o(i):null,culling:P(O),depthTest:S?null:{func:n(i)},depthWrite:a(e),drawBuffers:d===t.Depth?{buffers:[b.NONE]}:c(i,d),colorWrite:g,stencilWrite:_?u:null,stencilTest:_?s?m:f:null,polygonOffset:y||N?w?T:null:p(x)})}initializePipeline(e){return this._occludeePipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const T={factor:1,units:1};export{O as ColorMaterialPassParameters,S as ColorMaterialTechnique};
5
+ import{ZEROS as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as o,oitDepthTest as n,depthWrite as a,getDrawBuffers as c,getOITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as u,stencilToolMaskBaseParams as m,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VisualVariablePassParameters as d}from"../materials/VisualVariablePassParameters.js";import{C as h}from"../../../../chunks/ColorMaterial.glsl.js";import{SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as j,cullingParams as P,defaultColorWrite as g}from"../../../webgl/renderState.js";class O extends d{constructor(){super(...arguments),this.color=e}}class S extends i{constructor(e,r){super(e,r,new s(h,(()=>import("./ColorMaterial.glsl.js"))))}_createPipeline(e,s){const{oitPass:i,output:d,transparent:h,cullFace:O,draped:S,hasOccludees:_,polygonOffset:w,enableOffset:x}=e,y=i===l.NONE,N=i===l.FrontFace;return j({blending:r(d)&&h?o(i):null,culling:P(O),depthTest:S?null:{func:n(i)},depthWrite:a(e),drawBuffers:d===t.Depth?{buffers:[b.NONE]}:c(i,d),colorWrite:g,stencilWrite:_?u:null,stencilTest:_?s?m:f:null,polygonOffset:y||N?w?T:null:p(x)})}initializePipeline(e){return this._occludeePipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const T={factor:1,units:1};export{O as ColorMaterialPassParameters,S as ColorMaterialTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{neverReached as e}from"../../../../core/compilerUtils.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Compositing.glsl.js";import{BlitMode as t}from"./CompositingTechniqueConfiguration.js";import{makePipelineState as s,blendWithPremultipliedAlpha as l,defaultColorWrite as n,premultipliedAlphaToPremultipliedAlpha as c}from"../../../webgl/renderState.js";class a extends o{constructor(e,o,t){super(e,o,new r(i,(()=>import("./Compositing.glsl.js"))),t)}initializePipeline(r){switch(r.blitMode){case t.None:case t.Depth:return s({colorWrite:n});case t.Alpha:return s({blending:c,colorWrite:n});default:e(r.blitMode);case t.PremultipliedAlpha:case t.COUNT:return s({blending:l,colorWrite:n})}}}export{a as CompositingTechnique};
5
+ import{neverReached as e}from"../../../../core/compilerUtils.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Compositing.glsl.js";import{BlitMode as t}from"./CompositingTechniqueConfiguration.js";import{makePipelineState as s,blendWithPremultipliedAlpha as l,defaultColorWrite as n,premultipliedAlphaToPremultipliedAlpha as c}from"../../../webgl/renderState.js";class a extends o{constructor(e,o){super(e,o,new r(i,(()=>import("./Compositing.glsl.js"))))}initializePipeline(r){switch(r.blitMode){case t.None:case t.Depth:return s({colorWrite:n});case t.Alpha:return s({blending:c,colorWrite:n});default:e(r.blitMode);case t.PremultipliedAlpha:case t.COUNT:return s({blending:l,colorWrite:n})}}}export{a as CompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ZEROS as e,freeze as t,create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as s}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as l}from"../core/shaderLibrary/ShaderOutput.js";import{NormalType as o}from"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{VertexNormalPassParameters as a,VertexNormalDrawParameters as n}from"../core/shaderLibrary/attributes/VertexNormal.glsl.js";import{alphaCutoff as c}from"../core/shaderLibrary/util/AlphaCutoff.js";import{ReloadableShaderModule as h}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as u}from"../core/shaderTechnique/ShaderTechnique.js";import{CullFaceOptions as m,DepthTestFunction as p,AlphaDiscardMode as d}from"../lib/basicInterfaces.js";import{RenderOccludedFlag as f}from"../lib/Material.js";import{OITPass as b}from"../lib/OITPass.js";import{blending as S,oitDepthTest as j,depthWrite as g,getDrawBuffers as y,getOITPolygonOffset as P}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as v,stencilToolMaskBaseParams as x,stencilBaseAllZerosParams as O}from"../lib/StencilUtils.js";import{advancedMRRFactors as T}from"../materials/pbrUtils.js";import{D}from"../../../../chunks/DefaultMaterial.glsl.js";import{SpecialDrawBuffers as L,CompareFunction as M}from"../../../webgl/enums.js";import{makePipelineState as A,cullingParams as w,defaultColorWrite as C}from"../../../webgl/renderState.js";class F extends a{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=T,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=m.Back,this.isInstanced=!1,this.hasInstancedColor=!1,this.emissiveFactor=e,this.instancedDoublePrecision=!1,this.normalType=o.Attribute,this.receiveShadows=!0,this.receiveAmbientOcclusion=!0,this.castShadows=!0,this.ambient=t(.2,.2,.2),this.diffuse=t(.8,.8,.8),this.externalColor=s(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=i(),this.hasSlicePlane=!1,this.offsetTransparentBackfaces=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.modelTransformation=null,this.transparent=!1,this.writeDepth=!0,this.customDepthTest=p.Less,this.textureAlphaMode=d.Blend,this.textureAlphaCutoff=c,this.textureAlphaPremultiplied=!1,this.renderOccluded=f.Occlude,this.isDecoration=!1}}class N extends n{constructor(){super(...arguments),this.origin=i(),this.slicePlaneLocalOrigin=this.origin}}class k extends u{constructor(e,t,i,s=new h(D,(()=>import("./DefaultMaterial.glsl.js")))){super(e,t,s,i),this.type="DefaultMaterialTechnique"}_makePipeline(e,t){const{oitPass:i,output:s,transparent:o,cullFace:a,customDepthTest:n,hasOccludees:c,enableOffset:h}=e,u=i===b.NONE,m=i===b.FrontFace;return A({blending:r(s)&&o?S(i):null,culling:B(e)?w(a):null,depthTest:{func:j(i,q(n))},depthWrite:g(e),drawBuffers:s===l.Depth?{buffers:[L.NONE]}:y(i,s),colorWrite:C,stencilWrite:c?v:null,stencilTest:c?t?x:O:null,polygonOffset:u||m?null:P(h)})}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}function q(e){return e===p.Lequal?M.LEQUAL:M.LESS}function B(e){return e.cullFace!==m.None||!e.hasSlicePlane&&(!e.transparent&&!e.doubleSidedMode)}export{N as DefaultMaterialDrawParameters,F as DefaultMaterialPassParameters,k as DefaultMaterialTechnique};
5
+ import{ZEROS as e,freeze as t,create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as s}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as l}from"../core/shaderLibrary/ShaderOutput.js";import{NormalType as o}from"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{VertexNormalPassParameters as a,VertexNormalDrawParameters as n}from"../core/shaderLibrary/attributes/VertexNormal.glsl.js";import{alphaCutoff as c}from"../core/shaderLibrary/util/AlphaCutoff.js";import{ReloadableShaderModule as h}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as u}from"../core/shaderTechnique/ShaderTechnique.js";import{CullFaceOptions as m,DepthTestFunction as p,AlphaDiscardMode as d}from"../lib/basicInterfaces.js";import{RenderOccludedFlag as f}from"../lib/Material.js";import{OITPass as b}from"../lib/OITPass.js";import{blending as S,oitDepthTest as j,depthWrite as g,getDrawBuffers as y,getOITPolygonOffset as P}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as v,stencilToolMaskBaseParams as x,stencilBaseAllZerosParams as O}from"../lib/StencilUtils.js";import{advancedMRRFactors as T}from"../materials/pbrUtils.js";import{D}from"../../../../chunks/DefaultMaterial.glsl.js";import{SpecialDrawBuffers as L,CompareFunction as M}from"../../../webgl/enums.js";import{makePipelineState as A,cullingParams as w,defaultColorWrite as C}from"../../../webgl/renderState.js";class F extends a{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=T,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=m.Back,this.isInstanced=!1,this.hasInstancedColor=!1,this.emissiveFactor=e,this.instancedDoublePrecision=!1,this.normalType=o.Attribute,this.receiveShadows=!0,this.receiveAmbientOcclusion=!0,this.castShadows=!0,this.ambient=t(.2,.2,.2),this.diffuse=t(.8,.8,.8),this.externalColor=s(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=i(),this.hasSlicePlane=!1,this.offsetTransparentBackfaces=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.modelTransformation=null,this.transparent=!1,this.writeDepth=!0,this.customDepthTest=p.Less,this.textureAlphaMode=d.Blend,this.textureAlphaCutoff=c,this.textureAlphaPremultiplied=!1,this.renderOccluded=f.Occlude,this.isDecoration=!1}}class N extends n{constructor(){super(...arguments),this.origin=i(),this.slicePlaneLocalOrigin=this.origin}}class k extends u{constructor(e,t,i=new h(D,(()=>import("./DefaultMaterial.glsl.js")))){super(e,t,i),this.type="DefaultMaterialTechnique"}_makePipeline(e,t){const{oitPass:i,output:s,transparent:o,cullFace:a,customDepthTest:n,hasOccludees:c,enableOffset:h}=e,u=i===b.NONE,m=i===b.FrontFace;return A({blending:r(s)&&o?S(i):null,culling:B(e)?w(a):null,depthTest:{func:j(i,q(n))},depthWrite:g(e),drawBuffers:s===l.Depth?{buffers:[L.NONE]}:y(i,s),colorWrite:C,stencilWrite:c?v:null,stencilTest:c?t?x:O:null,polygonOffset:u||m?null:P(h)})}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}function q(e){return e===p.Lequal?M.LEQUAL:M.LESS}function B(e){return e.cullFace!==m.None||!e.hasSlicePlane&&(!e.transparent&&!e.doubleSidedMode)}export{N as DefaultMaterialDrawParameters,F as DefaultMaterialPassParameters,k as DefaultMaterialTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/HUDCompositing.glsl.js";import{makePipelineState as i}from"../../../webgl/renderState.js";class s extends r{constructor(r,i,s){super(r,i,new e(o,(()=>import("./HUDCompositing.glsl.js"))),s)}initializePipeline(){return i({colorWrite:{r:!1,g:!0,b:!1,a:!1}})}}export{s as HUDCompositingTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/HUDCompositing.glsl.js";import{makePipelineState as i}from"../../../webgl/renderState.js";class s extends r{constructor(r,i){super(r,i,new e(o,(()=>import("./HUDCompositing.glsl.js"))))}initializePipeline(){return i({colorWrite:{r:!1,g:!0,b:!1,a:!1}})}}export{s as HUDCompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.32/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e,isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as t}from"../lib/OITPass.js";import{oitBlending as i,getDrawBuffers as l}from"../lib/OrderIndependentTransparency.js";import{H as n}from"../../../../chunks/HUDMaterial.glsl.js";import{PrimitiveType as a,CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as u,blendWithPremultipliedAlpha as d,defaultDepthWrite as c,defaultColorWrite as m}from"../../../webgl/renderState.js";class h extends o{constructor(e,r,o){super(e,r,new s(n,(()=>import("./HUDMaterial.glsl.js"))),o),this.primitiveType=r.occlusionPass?a.POINTS:a.TRIANGLES}initializePipeline(s){const{oitPass:o,hasPolygonOffset:n,draped:a,output:h,depthTestEnabled:T,occlusionPass:g}=s,j=o===t.NONE,b=o===t.ColorAlpha,O=h===e.Highlight,P=T&&!a&&!b&&!g&&!O;return u({blending:r(h)?j?d:i(o):null,depthTest:T&&!a?{func:p.LEQUAL}:null,depthWrite:P?c:null,drawBuffers:l(o,h),colorWrite:m,polygonOffset:n?f:null})}}const f={factor:0,units:-4};export{h as HUDMaterialTechnique};
5
+ import{ShaderOutput as e,isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as t}from"../lib/OITPass.js";import{oitBlending as i,getDrawBuffers as l}from"../lib/OrderIndependentTransparency.js";import{H as n}from"../../../../chunks/HUDMaterial.glsl.js";import{PrimitiveType as a,CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as u,blendWithPremultipliedAlpha as d,defaultDepthWrite as c,defaultColorWrite as m}from"../../../webgl/renderState.js";class h extends o{constructor(e,r){super(e,r,new s(n,(()=>import("./HUDMaterial.glsl.js")))),this.primitiveType=r.occlusionPass?a.POINTS:a.TRIANGLES}initializePipeline(s){const{oitPass:o,hasPolygonOffset:n,draped:a,output:h,depthTestEnabled:T,occlusionPass:g}=s,j=o===t.NONE,b=o===t.ColorAlpha,O=h===e.Highlight,P=T&&!a&&!b&&!g&&!O;return u({blending:r(h)?j?d:i(o):null,depthTest:T&&!a?{func:p.LEQUAL}:null,depthWrite:P?c:null,drawBuffers:l(o,h),colorWrite:m,polygonOffset:n?f:null})}}const f={factor:0,units:-4};export{h as HUDMaterialTechnique};