@arcgis/core 5.1.0-next.13 → 5.1.0-next.15

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 (772) hide show
  1. package/Camera.d.ts +1 -1
  2. package/Ground.d.ts +7 -7
  3. package/PopupTemplate.d.ts +6 -6
  4. package/WebScene.d.ts +1 -1
  5. package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
  6. package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
  7. package/analysis/LengthDimension.d.ts +4 -4
  8. package/analysis/ShadowCastAnalysis.d.ts +3 -3
  9. package/analysis/SliceAnalysis.d.ts +1 -1
  10. package/analysis/SlicePlane.d.ts +1 -1
  11. package/applications/Components/SketchTooltipControls.d.ts +3 -2
  12. package/applications/Components/SketchTooltipControls.js +1 -1
  13. package/assets/esri/core/t9n/Units_ar.json +1 -1
  14. package/assets/esri/core/t9n/Units_bg.json +1 -1
  15. package/assets/esri/core/t9n/Units_bs.json +1 -1
  16. package/assets/esri/core/t9n/Units_ca.json +1 -1
  17. package/assets/esri/core/t9n/Units_cs.json +1 -1
  18. package/assets/esri/core/t9n/Units_da.json +1 -1
  19. package/assets/esri/core/t9n/Units_de.json +1 -1
  20. package/assets/esri/core/t9n/Units_el.json +1 -1
  21. package/assets/esri/core/t9n/Units_es.json +1 -1
  22. package/assets/esri/core/t9n/Units_et.json +1 -1
  23. package/assets/esri/core/t9n/Units_fi.json +1 -1
  24. package/assets/esri/core/t9n/Units_fr.json +1 -1
  25. package/assets/esri/core/t9n/Units_he.json +1 -1
  26. package/assets/esri/core/t9n/Units_hr.json +1 -1
  27. package/assets/esri/core/t9n/Units_hu.json +1 -1
  28. package/assets/esri/core/t9n/Units_id.json +1 -1
  29. package/assets/esri/core/t9n/Units_it.json +1 -1
  30. package/assets/esri/core/t9n/Units_ja.json +1 -1
  31. package/assets/esri/core/t9n/Units_ko.json +1 -1
  32. package/assets/esri/core/t9n/Units_lt.json +1 -1
  33. package/assets/esri/core/t9n/Units_lv.json +1 -1
  34. package/assets/esri/core/t9n/Units_nl.json +1 -1
  35. package/assets/esri/core/t9n/Units_no.json +1 -1
  36. package/assets/esri/core/t9n/Units_pl.json +1 -1
  37. package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
  38. package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
  39. package/assets/esri/core/t9n/Units_ro.json +1 -1
  40. package/assets/esri/core/t9n/Units_ru.json +1 -1
  41. package/assets/esri/core/t9n/Units_sk.json +1 -1
  42. package/assets/esri/core/t9n/Units_sl.json +1 -1
  43. package/assets/esri/core/t9n/Units_sr.json +1 -1
  44. package/assets/esri/core/t9n/Units_sv.json +1 -1
  45. package/assets/esri/core/t9n/Units_th.json +1 -1
  46. package/assets/esri/core/t9n/Units_tr.json +1 -1
  47. package/assets/esri/core/t9n/Units_uk.json +1 -1
  48. package/assets/esri/core/t9n/Units_vi.json +1 -1
  49. package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
  50. package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
  51. package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
  52. package/assets/esri/core/workers/RemoteClient.js +1 -1
  53. package/assets/esri/core/workers/chunks/0184b4c0c92c76c60ab2.js +1 -0
  54. package/assets/esri/core/workers/chunks/07317f6b57c1314db442.js +1 -0
  55. package/assets/esri/core/workers/chunks/{56a296cb5c1ae1ea5ab2.js → 08616877b58b518e7461.js} +1 -1
  56. package/assets/esri/core/workers/chunks/089cef7124173a5cd5f9.js +1 -0
  57. package/assets/esri/core/workers/chunks/{4d438627dd3509f65d5a.js → 0baa0d66003d23cc76a7.js} +1 -1
  58. package/assets/esri/core/workers/chunks/0e216f0075fd531c3a2b.js +1 -0
  59. package/assets/esri/core/workers/chunks/{d5314786df52b6be5307.js → 0e6ffb02a929130ddb50.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{ae0a555b047b11aa68eb.js → 1219b588f983b4f35033.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{41fe4d8fe97388498f73.js → 13512a23655258fa77f4.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{ee34f14bbfe619b85a80.js → 13e913aa5f5113fceb16.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{d621cdd0aef6d77986f0.js → 1469e6d1d0d4e310b8f8.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{b9e90875943703486227.js → 15ba0296403dd4152b88.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{7595c52b1647f092c61a.js → 16abc548724e428c325a.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{dddcae86e434d93b10c0.js → 189e22df73414a1a3989.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{90aeef17af12cfbecb36.js → 1d124a55f6804be19e09.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{63831996ad82bd3b1ca9.js → 1e29a114c1cfe21121c4.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{153a9d087e0fe7072af4.js → 1ede5fa7a16839ed9444.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{6b1e1fb4e9010873c171.js → 1f30558e3ad6ac68bdb8.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{9c06b803912fcafa7f52.js → 24dd404612c35f6a3fc3.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{b6e155b42a4a423139e7.js → 27d1f8279df34d8b15b5.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{401af6d07c9f458ae067.js → 2c69d8bb1c950b95278d.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{22d12c309af9c19a1a48.js → 2c7e5b78d94e5850537b.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{120a5fa9b46084cd0c45.js → 2d376f82cdf020e1fca9.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{8c321c6bc344544ebb51.js → 2d52b137ee64469a46b2.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{5b3f2bad61a0d993bf16.js → 2e63e18df96e5a2461de.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{d4da3abbd3d88cd63cb9.js → 454150571b5b664b576a.js} +1 -1
  79. package/assets/esri/core/workers/chunks/4740d319f233b7f528fe.js +1 -0
  80. package/assets/esri/core/workers/chunks/{78ce6fcb72e97d3dc087.js → 499d594dc0d282dfe777.js} +1 -1
  81. package/assets/esri/core/workers/chunks/49d58bacb5b397246978.js +1 -0
  82. package/assets/esri/core/workers/chunks/4ba4aa6c75e3f8950e65.js +1 -0
  83. package/assets/esri/core/workers/chunks/{61ce373f00a0cad113ed.js → 4f2c29168c9de0b08741.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{5789898948cc0da78b8b.js → 552e5c413828e181f89a.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{5210bde0a05ab172ab28.js → 59f955c7d6b0589e7cc6.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{5fe0bed2a0a9f8eadb28.js → 5a347b1d87eb6f710136.js} +1 -1
  87. package/assets/esri/core/workers/chunks/5b97cdeb5949822fbef3.js +1 -0
  88. package/assets/esri/core/workers/chunks/{d9dc3962535616a06e2f.js → 5cd614f50e8925eeeaf4.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{178c91fabf4a87bbb50b.js → 620d7cd0b0885122aa0f.js} +1 -1
  90. package/assets/esri/core/workers/chunks/6321680c8070dffa3b6c.js +1 -0
  91. package/assets/esri/core/workers/chunks/6997b4d5bcc9c4755375.js +1 -0
  92. package/assets/esri/core/workers/chunks/{b79cceeee3ed46f218a0.js → 69ab42b965bccc3bad4f.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{bb4c75479cfea67cf8a2.js → 6af14a0217077d9ab47f.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{672542d0435fbfd0647c.js → 6b3d8280a24f7a3aac40.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{3d78e9b3c97c0ce21d16.js → 7017c2e621236c7a7da4.js} +1 -1
  96. package/assets/esri/core/workers/chunks/7407a1e0cef508116a0b.js +1 -0
  97. package/assets/esri/core/workers/chunks/{da188d0e22ba1639928e.js → 75907e5d009b71ce723b.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{1ab4289195f5e46c6fe8.js → 78936c591fd49ff955a9.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{f0b8de5b3cfbe9223df6.js → 796f5265747ce8be910e.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{ac62411b9b4cf85a4722.js → 7a037fbfd91dd22e3bf0.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{50661f65a9c191f528bc.js → 7ee7529fcbd0d169047c.js} +1 -1
  102. package/assets/esri/core/workers/chunks/7f60309d211c49721265.js +1 -0
  103. package/assets/esri/core/workers/chunks/7f9b0ef7f9b3f3fd3df9.js +1 -0
  104. package/assets/esri/core/workers/chunks/{82a446e8befe9d29c8f0.js → 822a115c7d718e4e3d2b.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{6789ddaa61e6d8f20d04.js → 8eea620f770576d18809.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{10c4f5afe14c0addc418.js → 9332db133a0925d522fe.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{bc87890d00d6dba979b2.js → 99c9f35a29f9f6c9e4ce.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{455fbddd814e4681f0c0.js → a5e91cf150f6cf6a5d2a.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{948ce2c199973f793651.js → a60a84c8c45f6d03443f.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{eb4a2dc5efdb873a7f25.js → aef2832902b270f1a594.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{b5fc0a2480a229e8891a.js → b5f291e8ed7f7cac158d.js} +1 -1
  112. package/assets/esri/core/workers/chunks/bd05e68b00b9878d0266.js +1 -0
  113. package/assets/esri/core/workers/chunks/{9a43065e51df9c21c9fa.js → bdb4f216ae8881b98604.js} +1 -1
  114. package/assets/esri/core/workers/chunks/c080e189764d8bb9cf25.js +1 -0
  115. package/assets/esri/core/workers/chunks/{bf9b2aa2e67ca746ec7c.js → c15f0769a64863cccef0.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{27c8dea6154eb8c36fed.js → c53048b0f153b251d792.js} +1 -1
  117. package/assets/esri/core/workers/chunks/c6e0ada6f2ad74fddfec.js +1 -0
  118. package/assets/esri/core/workers/chunks/cf09408cb7729126caae.js +1 -0
  119. package/assets/esri/core/workers/chunks/e0565849281ffbe8269e.js +1 -0
  120. package/assets/esri/core/workers/chunks/e1ba6f857ca12f154e77.js +1 -0
  121. package/assets/esri/core/workers/chunks/{4ef60a76eeca20bcafb1.js → e4f1e584f89ffb86206b.js} +1 -1
  122. package/assets/esri/core/workers/chunks/{2889e782ed81bb05b9e5.js → e508f8e707eb3207cfcc.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{2216264b22a605a0f1ce.js → e60684918100666bb892.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{4550b7620932cd6de20e.js → e94448b371cd17d7a472.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{bb8530ade7c40a1ed7c4.js → eb9e913fe0dfcc71cf92.js} +1 -1
  126. package/assets/esri/core/workers/chunks/ede1d1cc2f315a34f4ca.js +1 -0
  127. package/assets/esri/core/workers/chunks/{a5bd7e5d71cffde68f89.js → ee89564d11c077169b31.js} +1 -1
  128. package/assets/esri/core/workers/chunks/f17a301516f008abef3a.js +1 -0
  129. package/assets/esri/core/workers/chunks/{b3cc7f6d953bfbc3a70d.js → f62e37863a549f72093c.js} +1 -1
  130. package/assets/esri/core/workers/chunks/fc98b8351be567d3eb62.js +1 -0
  131. package/assets/esri/core/workers/chunks/fda0f4469d9cda637af4.js +1 -0
  132. package/assets/esri/core/workers/chunks/{554f389f99db430b309c.js → ff961bb6d29ab3fe129d.js} +1 -1
  133. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  134. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  135. package/assets/esri/themes/base/widgets/_Attribution.scss +4 -2
  136. package/assets/esri/themes/dark/main.css +1 -1
  137. package/assets/esri/themes/light/main.css +1 -1
  138. package/assets/esri/themes/light/view.css +1 -1
  139. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  140. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  141. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  142. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  143. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  144. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  145. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  146. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  147. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  148. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  149. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  150. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  151. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  152. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  153. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  154. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  155. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  156. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  157. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  158. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  159. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  160. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  161. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  162. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  163. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  164. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  165. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  166. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  167. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  168. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  169. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  170. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  171. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  172. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  173. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  174. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  175. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  176. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  177. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  198. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  199. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  200. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  201. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  202. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  203. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  204. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  205. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  206. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  207. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  208. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  209. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  210. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  211. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  212. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  213. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  214. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  215. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  216. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  217. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  218. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  219. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  220. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  221. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  222. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  223. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  224. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  225. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  226. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  227. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  228. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  229. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  230. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  231. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  232. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  233. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  234. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  235. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  236. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  237. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  238. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  239. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  240. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  241. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  242. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  243. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  244. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  245. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  246. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  247. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  248. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  249. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  250. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  251. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  252. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  253. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  254. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  255. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  261. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  262. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  263. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  264. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  265. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  266. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  267. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  268. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  269. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  270. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  271. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  272. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  273. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  274. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  275. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  276. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  277. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  278. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  279. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  280. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  281. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  282. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  283. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  284. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  285. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  286. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  287. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  288. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  289. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  290. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  291. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  292. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  293. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  294. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  295. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  296. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  297. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  298. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  299. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  300. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  301. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  302. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  303. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  304. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  305. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  306. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  307. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  308. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  309. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  310. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  311. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  312. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  313. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  314. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  315. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  316. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  317. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  318. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  319. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  320. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  321. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  322. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  323. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  324. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  325. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  326. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  327. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  328. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  329. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  330. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  331. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  332. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  333. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  334. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ar.json +1 -1
  335. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_bg.json +1 -1
  336. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_bs.json +1 -1
  337. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ca.json +1 -1
  338. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_cs.json +1 -1
  339. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_da.json +1 -1
  340. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_de.json +1 -1
  341. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_el.json +1 -1
  342. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_es.json +1 -1
  343. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_et.json +1 -1
  344. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_fi.json +1 -1
  345. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_fr.json +1 -1
  346. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_he.json +1 -1
  347. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_hr.json +1 -1
  348. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_hu.json +1 -1
  349. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_id.json +1 -1
  350. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_it.json +1 -1
  351. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ja.json +1 -1
  352. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ko.json +1 -1
  353. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_lt.json +1 -1
  354. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_lv.json +1 -1
  355. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_nl.json +1 -1
  356. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_no.json +1 -1
  357. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pl.json +1 -1
  358. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pt-BR.json +1 -1
  359. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_pt-PT.json +1 -1
  360. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ro.json +1 -1
  361. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_ru.json +1 -1
  362. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sk.json +1 -1
  363. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sl.json +1 -1
  364. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sr.json +1 -1
  365. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_sv.json +1 -1
  366. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_th.json +1 -1
  367. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_tr.json +1 -1
  368. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_uk.json +1 -1
  369. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_vi.json +1 -1
  370. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-CN.json +1 -1
  371. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-HK.json +1 -1
  372. package/assets/esri/widgets/support/SelectionList/t9n/SelectionList_zh-TW.json +1 -1
  373. package/chunks/Fog.glsl.js +1 -1
  374. package/config.js +1 -1
  375. package/core/has.js +1 -1
  376. package/core/sql/types.d.ts +398 -86
  377. package/core/types.d.ts +5 -0
  378. package/core/workers/workerFactory.js +1 -1
  379. package/editing/sharedTemplates/executor/builders/radialLines.js +1 -1
  380. package/editing/sharedTemplates/executor/builders/support/shapeUtils.js +1 -1
  381. package/effects/FocusAreas.d.ts +1 -1
  382. package/form/elements/FieldElement.d.ts +1 -1
  383. package/form/elements/GroupElement.d.ts +1 -1
  384. package/form/elements/TextElement.d.ts +1 -1
  385. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  386. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  387. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  388. package/geometry/Mesh.d.ts +7 -7
  389. package/geometry/operators/alphaShapeOperator.d.ts +1 -1
  390. package/geometry/operators/areaOperator.d.ts +1 -1
  391. package/geometry/operators/bufferOperator.d.ts +1 -1
  392. package/geometry/operators/centroidOperator.d.ts +1 -1
  393. package/geometry/operators/clipOperator.d.ts +1 -1
  394. package/geometry/operators/containsOperator.d.ts +1 -1
  395. package/geometry/operators/convexHullOperator.d.ts +1 -1
  396. package/geometry/operators/crossesOperator.d.ts +1 -1
  397. package/geometry/operators/cutOperator.d.ts +1 -1
  398. package/geometry/operators/densifyOperator.d.ts +1 -1
  399. package/geometry/operators/differenceOperator.d.ts +1 -1
  400. package/geometry/operators/disjointOperator.d.ts +1 -1
  401. package/geometry/operators/distanceOperator.d.ts +1 -1
  402. package/geometry/operators/generalizeOperator.d.ts +1 -1
  403. package/geometry/operators/geodesicProximityOperator.d.ts +1 -1
  404. package/geometry/operators/geodeticDistanceOperator.d.ts +1 -1
  405. package/geometry/operators/geodeticUtilsOperator.d.ts +2 -2
  406. package/geometry/operators/graphicBufferOperator.d.ts +1 -1
  407. package/geometry/operators/intersectionOperator.d.ts +1 -1
  408. package/geometry/operators/intersectsOperator.d.ts +1 -1
  409. package/geometry/operators/isNearOperator.d.ts +1 -1
  410. package/geometry/operators/lengthOperator.d.ts +1 -1
  411. package/geometry/operators/locateBetweenOperator.d.ts +1 -1
  412. package/geometry/operators/multiPartToSinglePartOperator.d.ts +1 -1
  413. package/geometry/operators/offsetOperator.d.ts +5 -5
  414. package/geometry/operators/overlapsOperator.d.ts +1 -1
  415. package/geometry/operators/proximityOperator.d.ts +1 -1
  416. package/geometry/operators/simplifyOGCOperator.d.ts +1 -1
  417. package/geometry/operators/simplifyOperator.d.ts +1 -1
  418. package/geometry/operators/support/Transformation.d.ts +6 -6
  419. package/geometry/operators/symmetricDifferenceOperator.d.ts +1 -1
  420. package/geometry/operators/touchesOperator.d.ts +1 -1
  421. package/geometry/operators/unionOperator.d.ts +1 -1
  422. package/geometry/operators/withinOperator.d.ts +1 -1
  423. package/geometry/projectionUtils.js +1 -1
  424. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  425. package/geometry/support/curves/curveUtils.js +1 -1
  426. package/kernel.js +1 -1
  427. package/layers/BuildingSceneLayer.d.ts +4 -4
  428. package/layers/CSVLayer.d.ts +4 -4
  429. package/layers/CatalogLayer.d.ts +2 -2
  430. package/layers/ElevationLayer.d.ts +1 -1
  431. package/layers/FeatureLayer.d.ts +2 -2
  432. package/layers/GaussianSplatLayer.d.ts +77 -10
  433. package/layers/GeoJSONLayer.d.ts +3 -3
  434. package/layers/GeoRSSLayer.d.ts +1 -1
  435. package/layers/GraphicsLayer.d.ts +2 -2
  436. package/layers/ImageryLayer.d.ts +3 -3
  437. package/layers/ImageryTileLayer.d.ts +2 -2
  438. package/layers/IntegratedMesh3DTilesLayer.d.ts +6 -6
  439. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  440. package/layers/IntegratedMeshLayer.d.ts +7 -7
  441. package/layers/Layer.d.ts +2 -0
  442. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  443. package/layers/MapImageLayer.d.ts +1 -1
  444. package/layers/MediaLayer.d.ts +1 -1
  445. package/layers/OGCFeatureLayer.d.ts +2 -2
  446. package/layers/PointCloudLayer.d.ts +1 -1
  447. package/layers/SceneLayer.d.ts +9 -9
  448. package/layers/StreamLayer.d.ts +2 -2
  449. package/layers/VectorTileLayer.d.ts +2 -2
  450. package/layers/VideoLayer.d.ts +1 -1
  451. package/layers/VoxelLayer.d.ts +8 -8
  452. package/layers/WFSLayer.d.ts +6 -6
  453. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  454. package/layers/graphics/data/QueryEngineResult.js +1 -1
  455. package/layers/graphics/data/SnappingCandidate.js +1 -1
  456. package/layers/mixins/BlendLayer.d.ts +6 -6
  457. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  458. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  459. package/layers/support/ControlPointsGeoreference.d.ts +2 -2
  460. package/layers/support/ControlPointsGeoreference.js +1 -1
  461. package/layers/support/CornersGeoreference.d.ts +2 -2
  462. package/layers/support/CornersGeoreference.js +1 -1
  463. package/layers/support/DimensionalDefinition.d.ts +2 -2
  464. package/layers/support/ExtentAndRotationGeoreference.d.ts +2 -2
  465. package/layers/support/ExtentAndRotationGeoreference.js +1 -1
  466. package/layers/support/FeatureEffect.d.ts +4 -4
  467. package/layers/support/FeatureFilter.d.ts +17 -17
  468. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  469. package/layers/support/FeatureReductionCluster.d.ts +9 -9
  470. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  471. package/layers/support/GeoreferenceBaseMixin.js +2 -0
  472. package/layers/support/LabelClass.d.ts +2 -2
  473. package/layers/support/RasterFunction.d.ts +1 -1
  474. package/layers/support/SceneFilter.d.ts +2 -2
  475. package/layers/support/SceneModification.d.ts +3 -3
  476. package/layers/support/mediaUtils.js +1 -1
  477. package/layers/support/relativeTimeQueryUtils.js +1 -1
  478. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  479. package/layers/types.d.ts +24 -10
  480. package/package.json +1 -1
  481. package/popup/content/AttachmentsContent.d.ts +1 -1
  482. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  483. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  484. package/popup/content/FieldsContent.d.ts +1 -1
  485. package/popup/content/ImageMediaInfo.d.ts +1 -1
  486. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  487. package/popup/content/MediaContent.d.ts +1 -1
  488. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  489. package/popup/content/RelationshipContent.d.ts +1 -1
  490. package/popup/content/TextContent.d.ts +1 -1
  491. package/renderers/ClassBreaksRenderer.d.ts +1 -1
  492. package/renderers/DictionaryRenderer.d.ts +1 -1
  493. package/renderers/DotDensityRenderer.d.ts +46 -3
  494. package/renderers/DotDensityRenderer.js +1 -1
  495. package/renderers/FlowRenderer.d.ts +6 -6
  496. package/renderers/HeatmapRenderer.d.ts +3 -3
  497. package/renderers/PieChartRenderer.d.ts +1 -1
  498. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  499. package/renderers/Renderer.d.ts +4 -4
  500. package/renderers/SimpleRenderer.d.ts +2 -2
  501. package/renderers/UniqueValueRenderer.d.ts +2 -2
  502. package/renderers/VectorFieldRenderer.d.ts +1 -1
  503. package/renderers/mixins/VisualVariablesMixin.d.ts +12 -12
  504. package/renderers/visualVariables/ColorVariable.d.ts +1 -1
  505. package/renderers/visualVariables/OpacityVariable.d.ts +1 -1
  506. package/renderers/visualVariables/RotationVariable.d.ts +1 -1
  507. package/renderers/visualVariables/SizeVariable.d.ts +1 -1
  508. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  509. package/rest/featureService/FeatureService.js +1 -1
  510. package/rest/print.js +1 -1
  511. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  512. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  513. package/rest/support/AutoIntervalBinParameters.d.ts +1 -1
  514. package/rest/support/DateBinParameters.d.ts +1 -1
  515. package/rest/support/FixedBoundariesBinParameters.d.ts +1 -1
  516. package/rest/support/FixedIntervalBinParameters.d.ts +1 -1
  517. package/smartMapping/labels/clusters.d.ts +1 -1
  518. package/smartMapping/popup/clusters.d.ts +2 -2
  519. package/smartMapping/popup/templates.d.ts +1 -1
  520. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  521. package/smartMapping/renderers/color.d.ts +12 -12
  522. package/smartMapping/renderers/predominance.d.ts +3 -3
  523. package/smartMapping/renderers/relationship.d.ts +15 -15
  524. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  525. package/smartMapping/symbology/color.d.ts +4 -4
  526. package/smartMapping/symbology/flow.d.ts +2 -2
  527. package/smartMapping/symbology/types.d.ts +18 -18
  528. package/support/actions/ActionButton.d.ts +1 -1
  529. package/support/revision.js +1 -1
  530. package/symbols/CIMSymbol.d.ts +1 -1
  531. package/symbols/ExtrudeSymbol3DLayer.d.ts +21 -11
  532. package/symbols/FillSymbol3DLayer.d.ts +39 -19
  533. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  534. package/symbols/LabelSymbol3D.d.ts +2 -2
  535. package/symbols/LineStyleMarker3D.d.ts +7 -7
  536. package/symbols/LineSymbol3D.d.ts +2 -2
  537. package/symbols/LineSymbol3DLayer.d.ts +7 -7
  538. package/symbols/LineSymbolMarker.d.ts +6 -6
  539. package/symbols/MarkerSymbol.d.ts +1 -1
  540. package/symbols/MeshSymbol3D.d.ts +2 -2
  541. package/symbols/ObjectSymbol3DLayer.d.ts +29 -7
  542. package/symbols/PathSymbol3DLayer.d.ts +32 -20
  543. package/symbols/PictureFillSymbol.d.ts +1 -1
  544. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  545. package/symbols/PointSymbol3D.d.ts +3 -3
  546. package/symbols/PolygonSymbol3D.d.ts +7 -7
  547. package/symbols/SimpleFillSymbol.d.ts +8 -8
  548. package/symbols/SimpleLineSymbol.d.ts +20 -20
  549. package/symbols/SimpleMarkerSymbol.d.ts +7 -7
  550. package/symbols/Symbol3DLayer.d.ts +16 -16
  551. package/symbols/TextSymbol.d.ts +1 -1
  552. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  553. package/symbols/WaterSymbol3DLayer.d.ts +3 -3
  554. package/symbols/WebStyleSymbol.d.ts +1 -1
  555. package/symbols/callouts/Callout3D.d.ts +1 -1
  556. package/symbols/callouts/LineCallout3D.d.ts +3 -3
  557. package/symbols/cim/CIMSymbolHelper.js +1 -1
  558. package/symbols/cim/rasterizingUtils.js +1 -1
  559. package/symbols/cim/types.d.ts +23 -23
  560. package/symbols/edges/Edges3D.d.ts +1 -1
  561. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  562. package/symbols/patterns/LineStylePattern3D.d.ts +11 -11
  563. package/symbols/patterns/StylePattern3D.d.ts +8 -8
  564. package/symbols/support/ElevationInfo.d.ts +4 -4
  565. package/symbols/support/IconSymbol3DLayerResource.d.ts +6 -6
  566. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -7
  567. package/symbols/support/Symbol3DEmissive.d.ts +19 -6
  568. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  569. package/time/TimeExtent.d.ts +1 -1
  570. package/versionManagement/VersionManagementService.d.ts +4 -0
  571. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  572. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  573. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  574. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  575. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  576. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  577. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  578. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  579. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  580. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  581. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  582. package/views/2d/layers/features/sources/strategies/FeaturePagedTileLoadStrategy.js +1 -1
  583. package/views/2d/layers/features/sources/strategies/FeatureSnapshotLoadStrategy.js +1 -1
  584. package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
  585. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
  586. package/views/2d/types.d.ts +3 -3
  587. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  588. package/views/3d/environment/Environment.d.ts +4 -4
  589. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  590. package/views/3d/environment/RainyWeather.d.ts +1 -1
  591. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  592. package/views/3d/environment/SunLighting.d.ts +1 -1
  593. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  594. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  595. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  596. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  597. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  598. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  599. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  600. package/views/3d/webgl/RenderNode.d.ts +2 -2
  601. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  602. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  603. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  604. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  605. package/views/3d/webgl-engine/materials/LineCalloutMaterialBaseInstance.js +2 -0
  606. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  607. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  608. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  609. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  610. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  611. package/views/3d/webgl.d.ts +1 -1
  612. package/views/LinkChartView.d.ts +1 -1
  613. package/views/Magnifier.d.ts +3 -3
  614. package/views/MapView.d.ts +8 -8
  615. package/views/SceneView.d.ts +18 -18
  616. package/views/View.d.ts +2 -2
  617. package/views/input/types.d.ts +1 -1
  618. package/views/interactive/keybindings.js +1 -1
  619. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  620. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  621. package/views/interactive/snapping/SnappingOptions.d.ts +7 -7
  622. package/views/interactive/snapping/candidates/EdgeSnappingCandidate.js +1 -1
  623. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  624. package/views/interactive/snapping/featureSources/queryEngineUtils.js +1 -1
  625. package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
  626. package/views/interactive/snapping/featureSources/snappingCandidateElevationFilter.js +1 -1
  627. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  628. package/views/layers/FeatureLikeLayerView.js +1 -1
  629. package/views/layers/support/WhereClauseVisitor.js +1 -1
  630. package/views/support/HighlightOptions.d.ts +1 -1
  631. package/views/ui/DefaultUI.d.ts +2 -2
  632. package/views/webgl/BufferObject.js +1 -1
  633. package/views/webgl/RenderingContext.js +1 -1
  634. package/webscene/Environment.d.ts +16 -11
  635. package/webscene/Glow.d.ts +9 -2
  636. package/webscene/background/ColorBackground.d.ts +1 -1
  637. package/widgets/AreaMeasurement2D.d.ts +1 -1
  638. package/widgets/AreaMeasurement3D.d.ts +2 -2
  639. package/widgets/Attachments.d.ts +1 -1
  640. package/widgets/Attribution.d.ts +1 -1
  641. package/widgets/BasemapGallery.d.ts +1 -1
  642. package/widgets/BasemapLayerList.d.ts +3 -3
  643. package/widgets/BasemapToggle.d.ts +1 -1
  644. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +1 -2
  645. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  646. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  647. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.d.ts +0 -1
  648. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +1 -1
  649. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  650. package/widgets/BatchAttributeForm/inputs/TextElementInput.d.ts +2 -11
  651. package/widgets/BatchAttributeForm/inputs/TextElementInput.js +1 -1
  652. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  653. package/widgets/BatchAttributeForm/inputs/support/textElementInputUtils.js +2 -0
  654. package/widgets/BatchAttributeForm/templates/TextElementTemplate.js +1 -1
  655. package/widgets/BatchAttributeForm/templates/support/constants.js +2 -0
  656. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  657. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  658. package/widgets/BatchAttributeForm/templates/support/textElementTemplateUtils.js +2 -0
  659. package/widgets/BatchAttributeForm.d.ts +0 -2
  660. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +1 -1
  661. package/widgets/Bookmarks.d.ts +2 -2
  662. package/widgets/BuildingExplorer.d.ts +1 -1
  663. package/widgets/CatalogLayerList.d.ts +3 -3
  664. package/widgets/Compass.d.ts +2 -2
  665. package/widgets/CoordinateConversion.d.ts +1 -1
  666. package/widgets/Daylight.d.ts +5 -5
  667. package/widgets/DirectLineMeasurement3D.d.ts +2 -2
  668. package/widgets/Directions.d.ts +4 -4
  669. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  670. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  671. package/widgets/Editor/EditorViewModel.js +1 -1
  672. package/widgets/Editor/components/Settings.js +1 -1
  673. package/widgets/Editor.d.ts +8 -8
  674. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  675. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  676. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  677. package/widgets/ElevationProfile.d.ts +3 -3
  678. package/widgets/Expand.d.ts +1 -1
  679. package/widgets/FeatureForm.d.ts +1 -1
  680. package/widgets/FeatureTable/ActionColumn.d.ts +2 -2
  681. package/widgets/FeatureTable/AttachmentsColumn.d.ts +1 -1
  682. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -3
  683. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  684. package/widgets/FeatureTable/RelationshipColumn.d.ts +1 -1
  685. package/widgets/FeatureTable/VisibleElements.d.ts +1 -1
  686. package/widgets/FeatureTable.d.ts +10 -10
  687. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +5 -5
  688. package/widgets/FeatureTemplates.d.ts +8 -8
  689. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  690. package/widgets/Features/FeaturesViewModel.js +1 -1
  691. package/widgets/Features/FeaturesVisibleElements.d.ts +2 -2
  692. package/widgets/Features.d.ts +1 -1
  693. package/widgets/Histogram.d.ts +2 -2
  694. package/widgets/HistogramRangeSlider.d.ts +1 -1
  695. package/widgets/Home.d.ts +1 -1
  696. package/widgets/LayerList/ListItemPanel.d.ts +1 -1
  697. package/widgets/LayerList.d.ts +4 -4
  698. package/widgets/Legend.d.ts +8 -8
  699. package/widgets/LineOfSight.d.ts +1 -1
  700. package/widgets/Locate.d.ts +2 -2
  701. package/widgets/Measurement.d.ts +1 -1
  702. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  703. package/widgets/NavigationToggle.d.ts +3 -3
  704. package/widgets/Popup/PopupVisibleElements.d.ts +2 -2
  705. package/widgets/Popup.d.ts +5 -5
  706. package/widgets/Print/CustomTemplate.d.ts +1 -1
  707. package/widgets/Print/PrintViewModel.js +1 -1
  708. package/widgets/Print/TemplateOptions.d.ts +4 -4
  709. package/widgets/ScaleRangeSlider.d.ts +1 -1
  710. package/widgets/Search/SearchViewModel.d.ts +4 -4
  711. package/widgets/Search.d.ts +5 -5
  712. package/widgets/ShadowCast.d.ts +3 -3
  713. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  714. package/widgets/Sketch.d.ts +43 -43
  715. package/widgets/Sketch.js +1 -1
  716. package/widgets/Slice.d.ts +2 -2
  717. package/widgets/Slider/SliderViewModel.d.ts +2 -2
  718. package/widgets/Slider.d.ts +9 -9
  719. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  720. package/widgets/Swipe.d.ts +2 -2
  721. package/widgets/TableList/ListItemPanel.d.ts +1 -1
  722. package/widgets/TableList.d.ts +1 -1
  723. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +9 -11
  724. package/widgets/TimeSlider/types.d.ts +1 -1
  725. package/widgets/TimeSlider.d.ts +12 -14
  726. package/widgets/Track.d.ts +2 -2
  727. package/widgets/UtilityNetworkAssociations.d.ts +3 -3
  728. package/widgets/UtilityNetworkTrace.d.ts +4 -4
  729. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  730. package/widgets/ValuePicker.d.ts +5 -5
  731. package/widgets/VideoPlayer.d.ts +1 -1
  732. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  733. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  734. package/widgets/smartMapping/ColorSizeSlider.d.ts +2 -2
  735. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  736. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  737. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  738. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  739. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +4 -4
  740. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +6 -6
  741. package/widgets/support/GridControls.d.ts +1 -1
  742. package/widgets/support/SketchTooltipControls.js +1 -1
  743. package/widgets/support/SnappingControls/VisibleElements.d.ts +1 -1
  744. package/widgets/support/SnappingControls.d.ts +6 -6
  745. package/assets/esri/core/workers/chunks/008887a8014b61f837ae.js +0 -1
  746. package/assets/esri/core/workers/chunks/0c8a676599821b9871c2.js +0 -1
  747. package/assets/esri/core/workers/chunks/2b7615cccbaeda1649f3.js +0 -1
  748. package/assets/esri/core/workers/chunks/2f0ea91afc9aa8ee9cad.js +0 -1
  749. package/assets/esri/core/workers/chunks/3a850b5e847b6b0ea53f.js +0 -1
  750. package/assets/esri/core/workers/chunks/449cf6ae6b6e6c2795e5.js +0 -1
  751. package/assets/esri/core/workers/chunks/529dbf16ffbbd39f3fa2.js +0 -1
  752. package/assets/esri/core/workers/chunks/58cf3d35771b87bd74e5.js +0 -1
  753. package/assets/esri/core/workers/chunks/652bb1b53782cdd3103c.js +0 -1
  754. package/assets/esri/core/workers/chunks/6acab23acf3b044f5215.js +0 -1
  755. package/assets/esri/core/workers/chunks/6c2a7bac3f8e32c83292.js +0 -1
  756. package/assets/esri/core/workers/chunks/6d26e5368e8952003669.js +0 -1
  757. package/assets/esri/core/workers/chunks/7c01e5eaab97a9ae80ad.js +0 -1
  758. package/assets/esri/core/workers/chunks/7cb6ccee9bcef449caea.js +0 -1
  759. package/assets/esri/core/workers/chunks/8235b8267489e1213ce8.js +0 -1
  760. package/assets/esri/core/workers/chunks/879e8439a513cb333b61.js +0 -1
  761. package/assets/esri/core/workers/chunks/956237a2baa30760c256.js +0 -1
  762. package/assets/esri/core/workers/chunks/a027da22acdaa6d6baa3.js +0 -1
  763. package/assets/esri/core/workers/chunks/b60337c471e2b855d02a.js +0 -1
  764. package/assets/esri/core/workers/chunks/bd1bbf1820e12d7a27f6.js +0 -1
  765. package/assets/esri/core/workers/chunks/c546c49960eace69d20a.js +0 -1
  766. package/assets/esri/core/workers/chunks/c9067667290e93407dd7.js +0 -1
  767. package/assets/esri/core/workers/chunks/e4eb14952b7660feecc7.js +0 -1
  768. package/assets/esri/core/workers/chunks/e71d08c6f545c2c70174.js +0 -1
  769. package/assets/esri/core/workers/chunks/f347dee99faa9ee5eef1.js +0 -1
  770. package/layers/support/GeoreferenceBase.d.ts +0 -4
  771. package/layers/support/GeoreferenceBase.js +0 -2
  772. package/widgets/BatchAttributeForm/inputs/support/textInputElementUtils.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{getEffectiveFeatureReduction as r}from"./featureReductionUtils.js";import{getServiceGeometryType as t}from"./geometryUtils.js";import{getFeatureReductionDeconflictionEnabled as i,getLayerDeconflictionEnabled as a,createLabelVVEvaluator as o}from"./labelingUtils.js";import{ExceedsLimitCache as s}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as l}from"../schema/SourceSchema.js";import{createSimpleProcessorSchema as n}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as u}from"../support/rendererUtils.js";class c{constructor(e){this.layer=e,this._cache=new s}getLabelingDeconflictionInfo(e){const r=this.layer,t=i(r,e)??a(r);return[{vvEvaluators:{0:o(r.renderer)},deconflictionEnabled:t,labelingInfo:r.labelingInfo}]}async createSourceSchema(e,r){const t=this._createServiceInfo(e);return l(t,null,{definitionExpression:null,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:null,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:r,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,i){const{fields:a,renderer:o,geometryType:s,labelingInfo:l,labelsVisible:u,orderBy:c,objectIdField:p}=this.layer,d={fields:a.map(e=>e.toJSON()),renderer:o?.clone(),labelingInfoSource:this.layer.id,featureReduction:r(this.layer,t),geometryType:s,labelingInfo:l,labelsVisible:u,objectIdField:p,orderBy:c??"default"};return n(e,t,d,i)}get hasRequiredSupport(){return u(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>r(this.layer,e),()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.renderer]}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(r){const i=this.layer,{capabilities:a}=i,o=i.fieldsIndex.toJSON(),s=t(i),l=i.timeInfo?.toJSON(),n=i.spatialReference.toJSON(),u=i.source.getSource(),c=this.layer.objectIdField,p=e(a);p.query.maxRecordCount=u.maxRecordCount;const d=r.spatialReference.toJSON();return{type:"ogc",source:u,orderByFields:c,outSpatialReference:d,metadata:{fieldsIndex:o,geometryType:s,featureIdInfo:{type:"object-id",fieldName:i.objectIdField},timeInfo:l,spatialReference:n,outSpatialReference:d,globalIdField:null,subtypeField:null,subtypes:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null},queryMetadata:{maxRecordCount:p.query.maxRecordCount,supportsCompactGeometry:p.query.supportsCompactGeometry,supportsDefaultSpatialReference:p.query.supportsDefaultSpatialReference,supportsFormatPBF:p.query.supportsFormatPBF,supportsMaxRecordCountFactor:p.query.supportsMaxRecordCountFactor,supportsQuantization:p.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:p.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:p.query.supportsDegeneratedQuantizedGeometry,lastEditDate:null}}}}export{c as OGCFeatureLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{getEffectiveFeatureReduction as r}from"./featureReductionUtils.js";import{getServiceGeometryType as t}from"./geometryUtils.js";import{getFeatureReductionDeconflictionEnabled as i,getLayerDeconflictionEnabled as a,createLabelVVEvaluator as o}from"./labelingUtils.js";import{ExceedsLimitCache as s}from"../schema/ExceedsLimitCache.js";import{createFeatureSourceSchema as l}from"../schema/SourceSchema.js";import{createSimpleProcessorSchema as n}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as u}from"../support/rendererUtils.js";class c{constructor(e){this.layer=e,this._cache=new s}getLabelingDeconflictionInfo(e){const r=this.layer,t=i(r,e)??a(r);return[{vvEvaluators:{0:o(r.renderer)},deconflictionEnabled:t,labelingInfo:r.labelingInfo}]}async createSourceSchema(e,r){const t=this._createServiceInfo(e);return l(t,null,{definitionExpression:null,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:null,customParameters:this.layer.customParameters,gdbVersion:null,historicMoment:null,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:r,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,t,i){const{fields:a,renderer:o,geometryType:s,labelingInfo:l,labelsVisible:u,orderBy:c,objectIdField:p}=this.layer,d={fields:a.map(e=>e.toJSON()),renderer:o?.clone(),labelingInfoSource:this.layer.id,featureReduction:r(this.layer,t),geometryType:s,labelingInfo:l,labelsVisible:u,objectIdField:p,orderBy:c??"default"};return n(e,t,d,i)}get hasRequiredSupport(){return u(this.layer.renderer)}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>r(this.layer,e),()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.renderer]}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(r){const i=this.layer,{capabilities:a}=i,o=i.fieldsIndex.toJSON(),s=t(i),l=i.timeInfo?.toJSON(),n=i.spatialReference.toJSON(),u=i.source.getSource(),c=this.layer.objectIdField,p=e(a);p.query.maxRecordCount=u.maxRecordCount;const d=r.spatialReference.toJSON();return{type:"ogc",source:u,orderByFields:c,outSpatialReference:d,metadata:{fieldsIndex:o,geometryType:s,featureIdInfo:{type:"object-id",fieldName:i.objectIdField},timeInfo:l,spatialReference:n,outSpatialReference:d,globalIdField:null,subtypeField:null,subtypes:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null,typeIdField:null,types:null},queryMetadata:{maxRecordCount:p.query.maxRecordCount,tileMaxRecordCount:p.query.tileMaxRecordCount,supportsCompactGeometry:p.query.supportsCompactGeometry,supportsDefaultSpatialReference:p.query.supportsDefaultSpatialReference,supportsFormatPBF:p.query.supportsFormatPBF,supportsMaxRecordCountFactor:p.query.supportsMaxRecordCountFactor,supportsQuantization:p.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:p.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:p.query.supportsDegeneratedQuantizedGeometry,lastEditDate:null}}}}export{c as OGCFeatureLayerAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import{getEffectiveFeatureReduction as t}from"./featureReductionUtils.js";import{addFloorFilter as i,hasFloorFilter as s}from"./floorFilterUtils.js";import{getServiceGeometryType as a}from"./geometryUtils.js";import{getFeatureReductionDeconflictionEnabled as o,getLayerDeconflictionEnabled as l,createLabelVVEvaluator as n}from"./labelingUtils.js";import{ExceedsLimitCache as p}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as d,createFeatureSourceSchema as c}from"../schema/SourceSchema.js";import{createSimpleProcessorSchema as u}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as y}from"../support/rendererUtils.js";class m{constructor(e){this.layer=e,this._cache=new p}getLabelingDeconflictionInfo(e){const r=this.layer,t=o(r,e)??l(r);return[{vvEvaluators:{0:n(r.renderer)},deconflictionEnabled:t}]}async createSourceSchema(e,r){const t=this._createServiceInfo(e),i=null!=this.layer.editingInfo?.lastEditDate,s=this.layer.refreshInterval>0,a=!i&&s,o=d(t.isSourceHosted,a,this.layer.capabilities,t.metadata.geometryType,e.extent,this.layer.fullExtent);return c(t,o,{definitionExpression:this.layer.definitionExpression,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:r,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,r,i){const{fields:s,renderer:a,geometryType:o,labelingInfo:l,labelsVisible:n,orderBy:p,objectIdField:d}=this.layer,c={fields:s.map(e=>e.toJSON()),renderer:a?.clone(),labelingInfoSource:this.layer.id,featureReduction:t(this.layer,r),geometryType:o,labelingInfo:l,labelsVisible:n,objectIdField:d,orderBy:p??"default"};return u(e,r,c,i)}get hasRequiredSupport(){return y(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,r){return i(this.layer,e,r)}getUpdateHashProperties(e){return[()=>this.layer.outFields,()=>this.layer.orderBy,()=>this.layer.definitionExpression,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>t(this.layer,e),()=>this.layer.customParameters,()=>s(this.layer,e)?e.floors:null]}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){const i=this.layer,{capabilities:s,globalIdField:o,orderBy:l}=i,n=i.fieldsIndex.toJSON(),p=a(i),d=i.timeInfo?.toJSON(),c=i.spatialReference.toJSON(),u=e(this.layer.parsedUrl);let y=this.layer.objectIdField;if(l?.length){const e=!l[0].valueExpression&&l[0].field;e&&(y=e)}const m=r(u.path),h=t.spatialReference.toJSON();return{type:"feature-service",source:u,isSourceHosted:m,orderByFields:y,outSpatialReference:h,metadata:{globalIdField:o,fieldsIndex:n,geometryType:p,featureIdInfo:{type:"object-id",fieldName:i.objectIdField},timeInfo:d,spatialReference:c,outSpatialReference:h,timeReferenceUnknownClient:i.datesInUnknownTimezone,dateFieldsTimeZone:i.dateFieldsTimeZone,subtypeField:null,subtypes:null,typeIdField:null,types:null},queryMetadata:{maxRecordCount:s.query.maxRecordCount,supportsCompactGeometry:s.query.supportsCompactGeometry,supportsDefaultSpatialReference:s.query.supportsDefaultSpatialReference,supportsFormatPBF:s.query.supportsFormatPBF,supportsMaxRecordCountFactor:s.query.supportsMaxRecordCountFactor,supportsQuantization:s.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:s.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:s.query.supportsDegeneratedQuantizedGeometry,lastEditDate:null}}}}export{m as OrientedImageryLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import{getEffectiveFeatureReduction as t}from"./featureReductionUtils.js";import{addFloorFilter as i,hasFloorFilter as a}from"./floorFilterUtils.js";import{getServiceGeometryType as s}from"./geometryUtils.js";import{getFeatureReductionDeconflictionEnabled as o,getLayerDeconflictionEnabled as l,createLabelVVEvaluator as n}from"./labelingUtils.js";import{ExceedsLimitCache as d}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as c}from"../schema/SourceSchema.js";import{createSimpleProcessorSchema as u}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as y}from"../support/rendererUtils.js";class m{constructor(e){this.layer=e,this._cache=new d}getLabelingDeconflictionInfo(e){const r=this.layer,t=o(r,e)??l(r);return[{vvEvaluators:{0:n(r.renderer)},deconflictionEnabled:t}]}async createSourceSchema(e,r){const t=this._createServiceInfo(e),i=null!=this.layer.editingInfo?.lastEditDate,a=this.layer.refreshInterval>0,s=!i&&a,o=p(t.isSourceHosted,s,this.layer.capabilities,t.metadata.geometryType,e.extent,this.layer.fullExtent);return c(t,o,{definitionExpression:this.layer.definitionExpression,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:r,availableFields:e.availableFields,cache:this._cache,postQueryFilter:null})}createProcessorSchema(e,r,i){const{fields:a,renderer:s,geometryType:o,labelingInfo:l,labelsVisible:n,orderBy:d,objectIdField:p}=this.layer,c={fields:a.map(e=>e.toJSON()),renderer:s?.clone(),labelingInfoSource:this.layer.id,featureReduction:t(this.layer,r),geometryType:o,labelingInfo:l,labelsVisible:n,objectIdField:p,orderBy:d??"default"};return u(e,r,c,i)}get hasRequiredSupport(){return y(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,r){return i(this.layer,e,r)}getUpdateHashProperties(e){return[()=>this.layer.outFields,()=>this.layer.orderBy,()=>this.layer.definitionExpression,()=>this.layer.renderer,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>t(this.layer,e),()=>this.layer.customParameters,()=>a(this.layer,e)?e.floors:null]}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){const i=this.layer,{capabilities:a,globalIdField:o,orderBy:l}=i,n=i.fieldsIndex.toJSON(),d=s(i),p=i.timeInfo?.toJSON(),c=i.spatialReference.toJSON(),u=e(this.layer.parsedUrl);let y=this.layer.objectIdField;if(l?.length){const e=!l[0].valueExpression&&l[0].field;e&&(y=e)}const m=r(u.path),h=t.spatialReference.toJSON();return{type:"feature-service",source:u,isSourceHosted:m,orderByFields:y,outSpatialReference:h,metadata:{globalIdField:o,fieldsIndex:n,geometryType:d,featureIdInfo:{type:"object-id",fieldName:i.objectIdField},timeInfo:p,spatialReference:c,outSpatialReference:h,timeReferenceUnknownClient:i.datesInUnknownTimezone,dateFieldsTimeZone:i.dateFieldsTimeZone,subtypeField:null,subtypes:null,typeIdField:null,types:null},queryMetadata:{maxRecordCount:a.query.maxRecordCount,tileMaxRecordCount:a.query.tileMaxRecordCount,supportsCompactGeometry:a.query.supportsCompactGeometry,supportsDefaultSpatialReference:a.query.supportsDefaultSpatialReference,supportsFormatPBF:a.query.supportsFormatPBF,supportsMaxRecordCountFactor:a.query.supportsMaxRecordCountFactor,supportsQuantization:a.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:a.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:a.query.supportsDegeneratedQuantizedGeometry,lastEditDate:null}}}}export{m as OrientedImageryLayerAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{floatEqualAbsolute as r}from"../../../../../core/mathUtils.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as i}from"../../../../../layers/support/arcgisLayerUrl.js";import a from"../../../../../layers/support/FeatureFilter.js";import{canConvertSqlRelativeTime as s,sqlRelativeTimeToAbsolute as l}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{createFeatureIdInfo as o}from"./featureServiceUtils.js";import{addFloorFilter as n,hasFloorFilter as u}from"./floorFilterUtils.js";import{getServiceGeometryType as p}from"./geometryUtils.js";import{getLayerDeconflictionEnabled as y}from"./labelingUtils.js";import{ExceedsLimitCache as c}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as m,createFeatureSourceSchema as d}from"../schema/SourceSchema.js";import{createSubtypeProcessorSchema as f}from"../schema/processor/SubtypeProcessorSchema.js";class h{constructor(e){this.layer=e,this._cache=new c}getLabelingDeconflictionInfo(e){const r=this.layer;return[{vvEvaluators:{},deconflictionEnabled:r.sublayers.some(e=>y(e)),labelingInfo:r.sublayers.toArray().filter(e=>!!e.labelingInfo).flatMap(e=>e.labelingInfo)}]}async createSourceSchema(e,r){const{definitionExpression:t,customParameters:i,gdbVersion:a,historicMoment:o,timeExtent:n,apiKey:u,displayFilterInfo:p}=this.layer,y=this._createServiceInfo(e),c=null!=this.layer.editingInfo?.lastEditDate,f=this.layer.refreshInterval>0,h=!c&&f,b=m(y.isSourceHosted,h,this.layer.capabilities,y.metadata.geometryType,e.extent,this.layer.fullExtent),g=s(t)?await l(t,this.layer.capabilities.query.relativeTimeBinWindow):t;return d(y,b,{definitionExpression:g,postQueryFilter:t!==g?{where:t}:null,queryScaleRanges:this.layer.sublayers.items.map(e=>({subtypeCode:e.subtypeCode,minScale:e.minScale,maxScale:e.maxScale})),displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:p,customParameters:i,gdbVersion:a,historicMoment:o,timeExtent:n,apiKey:u,sourceRefreshVersion:r,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,r,t){const i={labelingInfoSource:this.layer.id,subtypeField:this.layer.subtypeField,sublayers:Array.from(this.layer.sublayers,(e,r)=>({featureReduction:null,geometryType:this.layer.geometryType,labelingInfoSource:this.layer.id+`-${r}`,labelingInfo:e.labelingInfo,labelsVisible:e.labelsVisible,renderer:e.renderer,subtypeCode:e.subtypeCode,orderBy:null}))};return f(e,r,i,t)}addFilters(e,r){e=n(this.layer,e,r);const i=this.layer.sublayers.filter(e=>!b(e,r)).map(e=>e.subtypeCode);if(!i.length)return e;e??=new a;const s=`NOT ${this.layer.subtypeField} IN (${i.join(",")})`;return e.where=t(e.where,s),e}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>u(this.layer,e)?e.floors:null,()=>this.layer.outFields,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.sublayers.map(({renderer:e,labelsVisible:r,labelingInfo:t,visible:i,minScale:a,maxScale:s})=>({renderer:e,labelsVisible:r,labelingInfo:t,visible:i,minScale:a,maxScale:s}))]}setGraphicOrigin(e){const r=this.layer.findSublayerForFeature(e);e.layer=e.sourceLayer=r,e.origin=r?.graphicOrigin}_createServiceInfo(r){const{capabilities:t,datesInUnknownTimezone:a,dateFieldsTimeZone:s,editingInfo:l,globalIdField:n,objectIdField:u,subtypeField:y}=this.layer,c=this.layer.fieldsIndex.toJSON(),m=p(this.layer),d=this.layer.timeInfo?.toJSON(),f=this.layer.spatialReference.toJSON(),h=e(this.layer.parsedUrl),b=u,g=i(h.path),S=r.spatialReference.toJSON();return{type:"feature-service",source:h,isSourceHosted:g,orderByFields:b,outSpatialReference:S,metadata:{timeReferenceUnknownClient:a,dateFieldsTimeZone:s,subtypeField:y,globalIdField:n,fieldsIndex:c,geometryType:m,featureIdInfo:o(this.layer),timeInfo:d,spatialReference:f,outSpatialReference:S,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),typeIdField:null,types:null},queryMetadata:{maxRecordCount:t.query.maxRecordCount,supportsCompactGeometry:t.query.supportsCompactGeometry,supportsDefaultSpatialReference:t.query.supportsDefaultSpatialReference,supportsFormatPBF:t.query.supportsFormatPBF,supportsMaxRecordCountFactor:t.query.supportsMaxRecordCountFactor,supportsQuantization:t.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:t.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:t.query.supportsDegeneratedQuantizedGeometry,lastEditDate:l?.lastEditDate?.getTime()}}}}function b(e,t){return e.visible&&(0===e.minScale||r(t.scale,e.minScale)||t.scale<e.minScale)&&(0===e.maxScale||r(t.scale,e.maxScale)||t.scale>e.maxScale)}export{h as SubtypeGroupLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{floatEqualAbsolute as r}from"../../../../../core/mathUtils.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as i}from"../../../../../layers/support/arcgisLayerUrl.js";import a from"../../../../../layers/support/FeatureFilter.js";import{canConvertSqlRelativeTime as s,sqlRelativeTimeToAbsolute as l}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{createFeatureIdInfo as o}from"./featureServiceUtils.js";import{addFloorFilter as n,hasFloorFilter as u}from"./floorFilterUtils.js";import{getServiceGeometryType as y}from"./geometryUtils.js";import{getLayerDeconflictionEnabled as p}from"./labelingUtils.js";import{ExceedsLimitCache as c}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as m,createFeatureSourceSchema as d}from"../schema/SourceSchema.js";import{createSubtypeProcessorSchema as f}from"../schema/processor/SubtypeProcessorSchema.js";class h{constructor(e){this.layer=e,this._cache=new c}getLabelingDeconflictionInfo(e){const r=this.layer;return[{vvEvaluators:{},deconflictionEnabled:r.sublayers.some(e=>p(e)),labelingInfo:r.sublayers.toArray().filter(e=>!!e.labelingInfo).flatMap(e=>e.labelingInfo)}]}async createSourceSchema(e,r){const{definitionExpression:t,customParameters:i,gdbVersion:a,historicMoment:o,timeExtent:n,apiKey:u,displayFilterInfo:y}=this.layer,p=this._createServiceInfo(e),c=null!=this.layer.editingInfo?.lastEditDate,f=this.layer.refreshInterval>0,h=!c&&f,b=m(p.isSourceHosted,h,this.layer.capabilities,p.metadata.geometryType,e.extent,this.layer.fullExtent),g=s(t)?await l(this.layer.fieldsIndex,t,this.layer.capabilities.query.relativeTimeBinWindow):t;return d(p,b,{definitionExpression:g,postQueryFilter:t!==g?{where:t}:null,queryScaleRanges:this.layer.sublayers.items.map(e=>({subtypeCode:e.subtypeCode,minScale:e.minScale,maxScale:e.maxScale})),displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:y,customParameters:i,gdbVersion:a,historicMoment:o,timeExtent:n,apiKey:u,sourceRefreshVersion:r,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,r,t){const i={labelingInfoSource:this.layer.id,subtypeField:this.layer.subtypeField,sublayers:Array.from(this.layer.sublayers,(e,r)=>({featureReduction:null,geometryType:this.layer.geometryType,labelingInfoSource:this.layer.id+`-${r}`,labelingInfo:e.labelingInfo,labelsVisible:e.labelsVisible,renderer:e.renderer,subtypeCode:e.subtypeCode,orderBy:null}))};return f(e,r,i,t)}addFilters(e,r){e=n(this.layer,e,r);const i=this.layer.sublayers.filter(e=>!b(e,r)).map(e=>e.subtypeCode);if(!i.length)return e;e??=new a;const s=`NOT ${this.layer.subtypeField} IN (${i.join(",")})`;return e.where=t(e.where,s),e}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>u(this.layer,e)?e.floors:null,()=>this.layer.outFields,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.sublayers.map(({renderer:e,labelsVisible:r,labelingInfo:t,visible:i,minScale:a,maxScale:s})=>({renderer:e,labelsVisible:r,labelingInfo:t,visible:i,minScale:a,maxScale:s}))]}setGraphicOrigin(e){const r=this.layer.findSublayerForFeature(e);e.layer=e.sourceLayer=r,e.origin=r?.graphicOrigin}_createServiceInfo(r){const{capabilities:t,datesInUnknownTimezone:a,dateFieldsTimeZone:s,editingInfo:l,globalIdField:n,objectIdField:u,subtypeField:p}=this.layer,c=this.layer.fieldsIndex.toJSON(),m=y(this.layer),d=this.layer.timeInfo?.toJSON(),f=this.layer.spatialReference.toJSON(),h=e(this.layer.parsedUrl),b=u,g=i(h.path),S=r.spatialReference.toJSON();return{type:"feature-service",source:h,isSourceHosted:g,orderByFields:b,outSpatialReference:S,metadata:{timeReferenceUnknownClient:a,dateFieldsTimeZone:s,subtypeField:p,globalIdField:n,fieldsIndex:c,geometryType:m,featureIdInfo:o(this.layer),timeInfo:d,spatialReference:f,outSpatialReference:S,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),typeIdField:null,types:null},queryMetadata:{maxRecordCount:t.query.maxRecordCount,tileMaxRecordCount:t.query.tileMaxRecordCount,supportsCompactGeometry:t.query.supportsCompactGeometry,supportsDefaultSpatialReference:t.query.supportsDefaultSpatialReference,supportsFormatPBF:t.query.supportsFormatPBF,supportsMaxRecordCountFactor:t.query.supportsMaxRecordCountFactor,supportsQuantization:t.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:t.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:t.query.supportsDegeneratedQuantizedGeometry,lastEditDate:l?.lastEditDate?.getTime()}}}}function b(e,t){return e.visible&&(0===e.minScale||r(t.scale,e.minScale)||t.scale<e.minScale)&&(0===e.maxScale||r(t.scale,e.maxScale)||t.scale>e.maxScale)}export{h as SubtypeGroupLayerAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import has from"../../../../../core/has.js";import{sqlAnd as e}from"../../../../../core/sql.js";import t from"../../../../../geometry/SpatialReference.js";import{getClauseForScaleRange as r}from"../../../../../layers/support/displayFilterUtils.js";import a from"../../../../../rest/support/Query.js";import i from"../../../../../time/TimeExtent.js";const s=4;function o(e){switch(e.type){case"object-id":case"unique-id-simple":return`${e.fieldName} ASC`;case"unique-id-composite":return`${e.fieldNames.join(",")} ASC`}}function n(e,r,a){const s=o(a.featureIdInfo);return{returnCentroid:"esriGeometryPolygon"===a.serviceGeometryType&&!e.queryMetadata.supportsCentroidOnDegeneratedQuantizedGeometry&&!e.queryMetadata.supportsDegeneratedQuantizedGeometry,returnGeometry:!0,timeReferenceUnknownClient:a.timeReferenceUnknownClient??void 0,outSpatialReference:t.fromJSON(e.outSpatialReference),orderByFields:"memory"===e.type?[]:[s],where:r.definitionExpression??"1=1",outFields:r.availableFields,multipatchOption:"esriGeometryMultiPatch"===a.serviceGeometryType?"xyFootprint":null,gdbVersion:r.gdbVersion,historicMoment:r.historicMoment?new Date(r.historicMoment):null,timeExtent:r.timeExtent?i.fromJSON(r.timeExtent):null}}class u{static create(e,t,r){const a=t.queryScaleRanges,i=t.displayFilterInfo;return new u(n(e,t,r),i,a,r.subtypeField,t.customParameters,r.geometryType,e.queryMetadata)}constructor(e,t,r,a,i,s,o){this._queryParams=e,this._displayFilter=t,this._queryScaleRanges=r,this._subtypeField=a,this._customParameters=i,this._geometryType=s,this._queryMetadata=o}get pageSize(){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support paged queries");const e=this._queryMetadata.supportsMaxRecordCountFactor?s:null,t=(this._queryMetadata.maxRecordCount??8e3)*(e??1);return Math.min(8e3,t)}get objectIdsQueryPageSize(){return this._queryMetadata?.maxRecordCount??2e3}updateHistoricMoment(e){this._queryParams.historicMoment=e}updateFields(e){this._queryParams.outFields=e}createPatchFieldsQuery(e,t,r){if(!t.getSize())return null;const a=e.clone();if("*"===this._queryParams.outFields[0]){if("*"===(a.outFields??[])[0])return null;a.outFields=this._queryParams.outFields}else{const e=new Set(this._queryParams.outFields),r=[];for(const a of e)t.hasField(a)||r.push(a);if(0===r.length)return null;a.outFields=r}a.returnGeometry=!1,a.returnCentroid=!1,a.quantizationParameters=null,a.cacheHint=!0;const i={inner:a,customParameters:this._customParameters};if(has("esri-tiles-debug")&&null!=r){const e=r.chunkId.toString().replaceAll("/",".");i.customParameters=i.customParameters?{...i.customParameters,chunkId:e}:{chunkId:e}}return i}createQuery(e={}){if(!this._queryParams)throw new Error("InternalError: queryInfo should be defined");return{inner:new a({...this._queryParams,...e}),customParameters:this._customParameters}}createTileQuery(t,a){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support tile queries");const i=this.createQuery(a),o=i.inner;if(this._queryScaleRanges?.length){const r=this._queryScaleRanges.filter(e=>(!e.minScale||e.minScale>=t.maxScale)&&(!e.maxScale||e.maxScale<=t.minScale)).map(e=>e.subtypeCode);if(r.length){const t=`${this._subtypeField} IN (${r})`;o.where=e(o.where,t)}}if(this._displayFilter&&(o.where=e(o.where,r(this._displayFilter,t.minScale,t.maxScale))),o.quantizationParameters=a.quantizationParameters??t.getQuantizationParameters(),o.resultType="tile",o.geometry=t.hydratedExtent,this._queryMetadata.supportsQuantization?"esriGeometryPolyline"===this._geometryType&&(o.maxAllowableOffset=t.resolution*has("feature-polyline-generalization-factor")):"esriGeometryPolyline"!==this._geometryType&&"esriGeometryPolygon"!==this._geometryType||(o.maxAllowableOffset=t.resolution,"esriGeometryPolyline"===this._geometryType&&(o.maxAllowableOffset*=has("feature-polyline-generalization-factor"))),o.defaultSpatialReferenceEnabled=this._queryMetadata.supportsDefaultSpatialReference,o.compactGeometryEnabled=this._queryMetadata.supportsCompactGeometry,this._queryMetadata.supportsMaxRecordCountFactor&&(o.maxRecordCountFactor=s),has("esri-tiles-debug")){const e=t.id.replaceAll("/",".");i.customParameters=i.customParameters?{...i.customParameters,tileId:e}:{tileId:e}}return i}createPagedTileQuery(e,t){const r=this.pageSize;return this.createTileQuery(e,{start:r*t,num:r,returnExceededLimitFeatures:!0})}createPagedQuery(e,t){const r=this.pageSize;return this.createQuery({start:r*e,num:r,returnExceededLimitFeatures:!0,maxRecordCountFactor:s,quantizationParameters:t,cacheHint:!0})}createObjectIdsQuery(e){return this.createQuery({objectIds:e,outFields:["*"]})}}export{u as FeatureSourceQueryInfo};
2
+ import has from"../../../../../core/has.js";import{sqlAnd as e}from"../../../../../core/sql.js";import t from"../../../../../geometry/SpatialReference.js";import{getClauseForScaleRange as r}from"../../../../../layers/support/displayFilterUtils.js";import a from"../../../../../rest/support/Query.js";import i from"../../../../../time/TimeExtent.js";const s=4;function o(e){switch(e.type){case"object-id":case"unique-id-simple":return`${e.fieldName} ASC`;case"unique-id-composite":return`${e.fieldNames.join(",")} ASC`}}function n(e,r,a){const s=o(a.featureIdInfo);return{returnCentroid:"esriGeometryPolygon"===a.serviceGeometryType&&!e.queryMetadata.supportsCentroidOnDegeneratedQuantizedGeometry&&!e.queryMetadata.supportsDegeneratedQuantizedGeometry,returnGeometry:!0,timeReferenceUnknownClient:a.timeReferenceUnknownClient??void 0,outSpatialReference:t.fromJSON(e.outSpatialReference),orderByFields:"memory"===e.type?[]:[s],where:r.definitionExpression??"1=1",outFields:r.availableFields,multipatchOption:"esriGeometryMultiPatch"===a.serviceGeometryType?"xyFootprint":null,gdbVersion:r.gdbVersion,historicMoment:r.historicMoment?new Date(r.historicMoment):null,timeExtent:r.timeExtent?i.fromJSON(r.timeExtent):null}}class u{static create(e,t,r){const a=t.queryScaleRanges,i=t.displayFilterInfo;return new u(n(e,t,r),i,a,r.subtypeField,t.customParameters,r.geometryType,e.queryMetadata)}constructor(e,t,r,a,i,s,o){this._queryParams=e,this._displayFilter=t,this._queryScaleRanges=r,this._subtypeField=a,this._customParameters=i,this._geometryType=s,this._queryMetadata=o}getPageSize(e){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support paged queries");const t=this._queryMetadata.supportsMaxRecordCountFactor?s:null,r=((e?this._queryMetadata.tileMaxRecordCount:this._queryMetadata.maxRecordCount)??this._queryMetadata.maxRecordCount??2e3)*(t??1),a=has("featurelayer-query-max-page-size")??8e3;return Math.min(a,r)}get objectIdsQueryPageSize(){return this._queryMetadata?.maxRecordCount??2e3}updateHistoricMoment(e){this._queryParams.historicMoment=e}updateFields(e){this._queryParams.outFields=e}createPatchFieldsQuery(e,t,r){if(!t.getSize())return null;const a=e.clone();if("*"===this._queryParams.outFields[0]){if("*"===(a.outFields??[])[0])return null;a.outFields=this._queryParams.outFields}else{const e=new Set(this._queryParams.outFields),r=[];for(const a of e)t.hasField(a)||r.push(a);if(0===r.length)return null;a.outFields=r}a.returnGeometry=!1,a.returnCentroid=!1,a.quantizationParameters=null,a.cacheHint=!0;const i={inner:a,customParameters:this._customParameters};if(has("esri-tiles-debug")&&null!=r){const e=r.chunkId.toString().replaceAll("/",".");i.customParameters=i.customParameters?{...i.customParameters,chunkId:e}:{chunkId:e}}return i}createQuery(e={}){if(!this._queryParams)throw new Error("InternalError: queryInfo should be defined");return{inner:new a({...this._queryParams,...e}),customParameters:this._customParameters}}createTileQuery(t,a){if(null==this._queryMetadata)throw new Error("InternalError: Service does not support tile queries");const i=this.createQuery(a),o=i.inner;if(this._queryScaleRanges?.length){const r=this._queryScaleRanges.filter(e=>(!e.minScale||e.minScale>=t.maxScale)&&(!e.maxScale||e.maxScale<=t.minScale)).map(e=>e.subtypeCode);if(r.length){const t=`${this._subtypeField} IN (${r})`;o.where=e(o.where,t)}}if(this._displayFilter&&(o.where=e(o.where,r(this._displayFilter,t.minScale,t.maxScale))),o.quantizationParameters=a.quantizationParameters??t.getQuantizationParameters(),o.resultType="tile",o.geometry=t.hydratedExtent,this._queryMetadata.supportsQuantization?"esriGeometryPolyline"===this._geometryType&&(o.maxAllowableOffset=t.resolution*has("feature-polyline-generalization-factor")):"esriGeometryPolyline"!==this._geometryType&&"esriGeometryPolygon"!==this._geometryType||(o.maxAllowableOffset=t.resolution,"esriGeometryPolyline"===this._geometryType&&(o.maxAllowableOffset*=has("feature-polyline-generalization-factor"))),o.defaultSpatialReferenceEnabled=this._queryMetadata.supportsDefaultSpatialReference,o.compactGeometryEnabled=this._queryMetadata.supportsCompactGeometry,this._queryMetadata.supportsMaxRecordCountFactor&&(o.maxRecordCountFactor=s),has("esri-tiles-debug")){const e=t.id.replaceAll("/",".");i.customParameters=i.customParameters?{...i.customParameters,tileId:e}:{tileId:e}}return i}createPagedTileQuery(e,t){const r=this.getPageSize(!0);return this.createTileQuery(e,{start:r*t,num:r,returnExceededLimitFeatures:!0})}createPagedQuery(e,t){const r=this.getPageSize(!1);return this.createQuery({start:r*e,num:r,returnExceededLimitFeatures:!0,maxRecordCountFactor:s,quantizationParameters:t,cacheHint:!0})}createObjectIdsQuery(e){return this.createQuery({objectIds:e,outFields:["*"]})}}export{u as FeatureSourceQueryInfo};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{handlesGroup as e}from"../../../../../../core/handleUtils.js";import has from"../../../../../../core/has.js";import{getOrCreateMapValue as t}from"../../../../../../core/MapUtils.js";import{throwIfAborted as o,isAbortError as s,onAbort as r}from"../../../../../../core/promiseUtils.js";import{AFeatureTileLoadStrategy as a}from"./AFeatureTileLoadStrategy.js";import{PagedTileSourceChunk as i}from"./chunks/PagedTileSourceChunk.js";import{FeatureSetReaderJSON as n}from"../../support/FeatureSetReaderJSON.js";class l{constructor(t,o){this.subscription=t,this._pages=new Set,this._controller=new AbortController,this._done=!1,this._handles=e([r(t.signal,()=>this._controller.abort()),r(o,()=>this._controller.abort())])}destroy(){this._controller.abort(),this._handles.remove()}get pageStart(){let e=-1;for(const t of this._pages.values())e=Math.max(e,t);return e+1}get done(){return this._done}get options(){return{signal:this._controller.signal}}add(e,t){this._pages.add(e),this._done=this._done||t}}class c extends a{constructor(){super(...arguments),this._loadStates=new Map}destroy(){super.destroy();for(const e of this._loadStates.values())e.destroy();this._loadStates.clear()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}async load(e){const o=t(this._loadStates,e.key.id,()=>new l(e,this._options));for await(const t of this._fetchPages(o))this._addChunk(t)}unload(e){super.unload(e),this._loadStates.get(e.key.id)?.destroy(),this._loadStates.delete(e.key.id)}async*_fetchPages(e){let t;try{for await(const t of this._concurrentPageStream(e))o(e.options),0!==t.size()&&(yield t)}catch(r){t=r}if(t&&s(t)||(yield new i(n.empty(this.metadata),null,e.subscription.tile,-1,!0)),t)throw t}async*_concurrentPageStream(e){const t=has("featurelayer-query-tile-concurrency"),o=this._pageStreamAll(e),s=[];let r=!1,a=1;for(;!r;){const e=[];for(;!r&&s.length<a;){const t=o.next();if(!t.value){r=!0;break}const a=t.value;a.then(e=>{e.reader.exceededTransferLimit||(r=!0)}).catch(e=>{r=!0}).finally(()=>{s.splice(s.indexOf(a),1)}),s.push(a),e.push(a)}for(const t of e)yield t;s.length&&await Promise.race(s),a<t&&(a+=1)}}*_pageStreamAll(e){const t=Math.ceil(has("featurelayer-query-tile-max-features")/this._queryInfo.pageSize);for(let o=0;o<t;o++)yield this._downloadPage(o,e)}async _downloadPage(e,t){o(t.options);const s=t.subscription.tile,r=this._queryInfo.createPagedTileQuery(s,e),a=await this._fetch(r,t.options,{chunkId:`${s.id}-${e}`});return o(t.options),new i(a,r.inner.toJSON(),s,e,!1)}}export{c as FeaturePagedTileLoadStrategy};
2
+ import{handlesGroup as e}from"../../../../../../core/handleUtils.js";import has from"../../../../../../core/has.js";import{getOrCreateMapValue as t}from"../../../../../../core/MapUtils.js";import{throwIfAborted as o,isAbortError as s,onAbort as r}from"../../../../../../core/promiseUtils.js";import{AFeatureTileLoadStrategy as a}from"./AFeatureTileLoadStrategy.js";import{PagedTileSourceChunk as i}from"./chunks/PagedTileSourceChunk.js";import{FeatureSetReaderJSON as n}from"../../support/FeatureSetReaderJSON.js";class l{constructor(t,o){this.subscription=t,this._pages=new Set,this._controller=new AbortController,this._done=!1,this._handles=e([r(t.signal,()=>this._controller.abort()),r(o,()=>this._controller.abort())])}destroy(){this._controller.abort(),this._handles.remove()}get pageStart(){let e=-1;for(const t of this._pages.values())e=Math.max(e,t);return e+1}get done(){return this._done}get options(){return{signal:this._controller.signal}}add(e,t){this._pages.add(e),this._done=this._done||t}}class c extends a{constructor(){super(...arguments),this._loadStates=new Map}destroy(){super.destroy();for(const e of this._loadStates.values())e.destroy();this._loadStates.clear()}get about(){return{willQueryAllFeatures:!1,willQueryFullResolutionGeometry:!1}}async load(e){const o=t(this._loadStates,e.key.id,()=>new l(e,this._options));for await(const t of this._fetchPages(o))this._addChunk(t)}unload(e){super.unload(e),this._loadStates.get(e.key.id)?.destroy(),this._loadStates.delete(e.key.id)}async*_fetchPages(e){let t;try{for await(const t of this._concurrentPageStream(e))o(e.options),0!==t.size()&&(yield t)}catch(r){t=r}if(t&&s(t)||(yield new i(n.empty(this.metadata),null,e.subscription.tile,-1,!0)),t)throw t}async*_concurrentPageStream(e){const t=has("featurelayer-query-tile-concurrency"),o=this._pageStreamAll(e),s=[];let r=!1,a=1;for(;!r;){const e=[];for(;!r&&s.length<a;){const t=o.next();if(!t.value){r=!0;break}const a=t.value;a.then(e=>{e.reader.exceededTransferLimit||(r=!0)}).catch(e=>{r=!0}).finally(()=>{s.splice(s.indexOf(a),1)}),s.push(a),e.push(a)}for(const t of e)yield t;s.length&&await Promise.race(s),a<t&&(a+=1)}}*_pageStreamAll(e){const t=Math.ceil(has("featurelayer-query-tile-max-features")/this._queryInfo.getPageSize(!0));for(let o=0;o<t;o++)yield this._downloadPage(o,e)}async _downloadPage(e,t){o(t.options);const s=t.subscription.tile,r=this._queryInfo.createPagedTileQuery(s,e),a=await this._fetch(r,t.options,{chunkId:`${s.id}-${e}`});return o(t.options),new i(a,r.inner.toJSON(),s,e,!1)}}export{c as FeaturePagedTileLoadStrategy};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../../../../core/Error.js";import has from"../../../../../../core/has.js";import{isAbortError as t,throwIfAborted as r}from"../../../../../../core/promiseUtils.js";import o from"../../../../../../rest/support/QuantizationParameters.js";import{AFeatureLoadStrategy as a}from"./AFeatureLoadStrategy.js";import{FeatureSnapshotSourceChunk as s}from"./chunks/FeatureSnapshotSourceChunk.js";import{FeatureSetReaderJSON as n}from"../../support/FeatureSetReaderJSON.js";class i extends a{constructor(e,t,r){super(e,t,r)}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}load(e){return null==this._promise&&(this._promise=this._download()),this._promise}unload(e){}async _download(){const e=this._schema.snapshotInfo.initialTolerance,t=e?new o({mode:"view",originPosition:"upper-left",tolerance:e}):null;await this._downloadStreaming(t),null!=t&&await this._downloadRefresh()}async _downloadStreaming(t){try{for await(const e of this._fetchPages(t))this.store.insert(e)}catch(r){throw new e("featurelayer-query","Encountered error when downloading data",{error:r})}}async _downloadRefresh(){try{const e=[];for await(const t of this._fetchPages(null))e.push(t);this.store.clear();for(const t of e)this.store.insert(t);this.store.refresh()}catch(t){throw new e("featurelayer-query","Encountered error when downloading data",{error:t})}}async*_fetchPages(e){let r;try{for await(const t of this._concurrentPageStream(e))0!==t.size()&&(yield t)}catch(o){r=o}if(r&&t(r)||(yield new s(n.empty(this.metadata),null,-1,!0)),r)throw r}async*_concurrentPageStream(e){const t=has("featurelayer-snapshot-concurrency"),r=this._pageStreamAll(e),o=[];let a=!1,s=1;for(;!a;){const e=[];for(;!a&&o.length<s;){const t=r.next();if(!t.value){a=!0;break}const s=t.value;s.then(e=>{e.reader.exceededTransferLimit||(a=!0)}).catch(e=>{a=!0}).finally(()=>{o.splice(o.indexOf(s),1)}),o.push(s),e.push(s)}for(const t of e)yield t;o.length&&await Promise.race(o),s<t&&(s+=1)}}*_pageStreamAll(e){const t=Math.ceil(this._schema.snapshotInfo.maxFeatureCount/this._queryInfo.pageSize);for(let r=0;r<t;r++)yield this._downloadPage(r,e)}async _downloadPage(e,t){r(this._options);const o=this._queryInfo.createPagedQuery(e,t),a=await this._fetch(o,this._options,{chunkId:e.toString()}),n=new s(a,o.inner.toJSON(),e,!1);return r(this._options),n}}export{i as FeatureSnapshotLoadStrategy};
2
+ import e from"../../../../../../core/Error.js";import has from"../../../../../../core/has.js";import{isAbortError as t,throwIfAborted as r}from"../../../../../../core/promiseUtils.js";import o from"../../../../../../rest/support/QuantizationParameters.js";import{AFeatureLoadStrategy as a}from"./AFeatureLoadStrategy.js";import{FeatureSnapshotSourceChunk as s}from"./chunks/FeatureSnapshotSourceChunk.js";import{FeatureSetReaderJSON as n}from"../../support/FeatureSetReaderJSON.js";class i extends a{constructor(e,t,r){super(e,t,r)}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}load(e){return null==this._promise&&(this._promise=this._download()),this._promise}unload(e){}async _download(){const e=this._schema.snapshotInfo.initialTolerance,t=e?new o({mode:"view",originPosition:"upper-left",tolerance:e}):null;await this._downloadStreaming(t),null!=t&&await this._downloadRefresh()}async _downloadStreaming(t){try{for await(const e of this._fetchPages(t))this.store.insert(e)}catch(r){throw new e("featurelayer-query","Encountered error when downloading data",{error:r})}}async _downloadRefresh(){try{const e=[];for await(const t of this._fetchPages(null))e.push(t);this.store.clear();for(const t of e)this.store.insert(t);this.store.refresh()}catch(t){throw new e("featurelayer-query","Encountered error when downloading data",{error:t})}}async*_fetchPages(e){let r;try{for await(const t of this._concurrentPageStream(e))0!==t.size()&&(yield t)}catch(o){r=o}if(r&&t(r)||(yield new s(n.empty(this.metadata),null,-1,!0)),r)throw r}async*_concurrentPageStream(e){const t=has("featurelayer-snapshot-concurrency"),r=this._pageStreamAll(e),o=[];let a=!1,s=1;for(;!a;){const e=[];for(;!a&&o.length<s;){const t=r.next();if(!t.value){a=!0;break}const s=t.value;s.then(e=>{e.reader.exceededTransferLimit||(a=!0)}).catch(e=>{a=!0}).finally(()=>{o.splice(o.indexOf(s),1)}),o.push(s),e.push(s)}for(const t of e)yield t;o.length&&await Promise.race(o),s<t&&(s+=1)}}*_pageStreamAll(e){const t=Math.ceil(this._schema.snapshotInfo.maxFeatureCount/this._queryInfo.getPageSize(!1));for(let r=0;r<t;r++)yield this._downloadPage(r,e)}async _downloadPage(e,t){r(this._options);const o=this._queryInfo.createPagedQuery(e,t),a=await this._fetch(o,this._options,{chunkId:e.toString()}),n=new s(a,o.inner.toJSON(),e,!1);return r(this._options),n}}export{i as FeatureSnapshotLoadStrategy};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{EventEmitter as e}from"../../../../../../../core/Evented.js";import has from"../../../../../../../core/has.js";import{create as s}from"../../../../../../../geometry/support/aaBoundingBox.js";import{FeatureStoreQueryAdapter as t}from"../../../FeatureStoreQueryAdapter.js";import{OverrideParameters as r,OverrideState as o}from"./Overrides.js";class n{constructor(){this._chunks=new Map,this._chunksToRemove=[],this.events=new e,this.featureAdapter=new t}destroy(){this.clear()}clear(){for(const e of this._chunks.values())this._chunksToRemove.push(e);this._chunks.clear(),this._overrides?.clearWeakOverrides()}get usedMemory(){let e=0;for(const s of this._chunks.values())e+=s.usedMemory;return e}async update(e){if(this._overrides){const s=await r.create(e);this._overrides.update(s)}if(this._postQueryFilter=e.postQueryFilter,this._postQueryFilter)for(const{reader:s}of this.insertedChunks())s.applyPostQueryFilter(this._postQueryFilter);this._schema=e}*chunks(){this._overrides&&(yield this._overrides.asChunk()),yield*this._chunks.values()}insertedChunks(){return this._chunks.values()}insert(e){has("esri-2d-update-debug")&&console.debug(`Chunk[${e.chunkId}] SourceChunkStore.insert`),this._overrides?.onChunkInsert(e),this._chunks.set(e.chunkId,e),this._postQueryFilter&&e.reader.applyPostQueryFilter(this._postQueryFilter),this.events.emit("changed")}remove(e){has("esri-2d-update-debug")&&console.debug(`Chunk[${e.chunkId}] SourceChunkStore.remove`),this._chunks.delete(e.chunkId),this._chunksToRemove.push(e)}removeById(e){has("esri-2d-update-debug")&&console.debug(`Chunk[${e}] SourceChunkStore.remove`);const s=this._chunks.get(e);this._chunks.delete(e),s&&this._chunksToRemove.push(s)}cleanup(){const e=this._chunksToRemove;return this._chunksToRemove=[],this._overrides?.cleanup(this._chunks.values()),e}async applyOverride(e){if(null==this._overrides){const e=await r.create(this._schema);this._overrides=new o(e);for(const s of this._chunks.values())this._overrides.onChunkInsert(s)}this._overrides.apply(e,this),this.events.emit("changed");for(const s of this._chunks.values())s.invalidate()}takeOverrideUpdate(){return this._overrides?.takeOverrideUpdate()}refresh(){this.events.emit("refresh")}forEach(e){const s=new Set;for(const t of this.chunks()){const r=t.reader.getCursor();for(;r.next();){const t=r.getObjectId();s.has(t)||(e(r.copy()),s.add(t))}}}forEachUnsafe(e){const s=new Set;for(const t of this.chunks()){const r=t.reader.getCursor();for(;r.next();){const t=r.getObjectId();s.has(t)||(e(r),s.add(t))}}}mapObjectIdsFromGlobalIds(e,s){const t=new Map,r=new Set(e);return this._overrides?.putWeakObjectIdsFromGlobalIds(t,r,s),this._forEachUnsafeIgnoreOverrides(e=>{const o=e.readAttribute(s);if(o&&r.has(o)&&!t.has(o)){const s=e.getObjectId();t.set(o,s)}}),t}forEachInBounds(e,s){const t=new Set;for(const r of this.chunks()){const o=r.queryFeaturesInBounds(e);for(;o.next();){const e=o.getObjectId();t.has(e)||(s(o.copy()),t.add(e))}}}forEachBounds(e,t){const r=s();for(const s of e){s.getBounds(r)&&t(r)}}_forEachUnsafeIgnoreOverrides(e){const s=new Set;for(const t of this._chunks.values()){const r=t.reader.withoutOverrides().getCursor();for(;r.next();){const t=r.getObjectId();s.has(t)||(e(r),s.add(t))}}}}export{n as FeatureSourceChunkStore};
2
+ import{EventEmitter as e}from"../../../../../../../core/Evented.js";import has from"../../../../../../../core/has.js";import{create as s}from"../../../../../../../geometry/support/aaBoundingBox.js";import{FeatureStoreQueryAdapter as t}from"../../../FeatureStoreQueryAdapter.js";import{OverrideParameters as r,OverrideState as o}from"./Overrides.js";class n{constructor(){this._chunks=new Map,this._chunksToRemove=[],this.events=new e,this.featureAdapter=new t}destroy(){this.clear()}clear(){for(const e of this._chunks.values())this._chunksToRemove.push(e);this._chunks.clear(),this._overrides?.clearWeakOverrides()}get usedMemory(){let e=0;for(const s of this._chunks.values())e+=s.usedMemory;return e}async update(e){if(this._overrides){const s=await r.create(e);this._overrides.update(s)}this._postQueryFilter=e.postQueryFilter;for(const{reader:s}of this.insertedChunks())s.applyPostQueryFilter(this._postQueryFilter);this._schema=e}*chunks(){this._overrides&&(yield this._overrides.asChunk()),yield*this._chunks.values()}insertedChunks(){return this._chunks.values()}insert(e){has("esri-2d-update-debug")&&console.debug(`Chunk[${e.chunkId}] SourceChunkStore.insert`),this._overrides?.onChunkInsert(e),this._chunks.set(e.chunkId,e),this._postQueryFilter&&e.reader.applyPostQueryFilter(this._postQueryFilter),this.events.emit("changed")}remove(e){has("esri-2d-update-debug")&&console.debug(`Chunk[${e.chunkId}] SourceChunkStore.remove`),this._chunks.delete(e.chunkId),this._chunksToRemove.push(e)}removeById(e){has("esri-2d-update-debug")&&console.debug(`Chunk[${e}] SourceChunkStore.remove`);const s=this._chunks.get(e);this._chunks.delete(e),s&&this._chunksToRemove.push(s)}cleanup(){const e=this._chunksToRemove;return this._chunksToRemove=[],this._overrides?.cleanup(this._chunks.values()),e}async applyOverride(e){if(null==this._overrides){const e=await r.create(this._schema);this._overrides=new o(e);for(const s of this._chunks.values())this._overrides.onChunkInsert(s)}this._overrides.apply(e,this),this.events.emit("changed");for(const s of this._chunks.values())s.invalidate()}takeOverrideUpdate(){return this._overrides?.takeOverrideUpdate()}refresh(){this.events.emit("refresh")}forEach(e){const s=new Set;for(const t of this.chunks()){const r=t.reader.getCursor();for(;r.next();){const t=r.getObjectId();s.has(t)||(e(r.copy()),s.add(t))}}}forEachUnsafe(e){const s=new Set;for(const t of this.chunks()){const r=t.reader.getCursor();for(;r.next();){const t=r.getObjectId();s.has(t)||(e(r),s.add(t))}}}mapObjectIdsFromGlobalIds(e,s){const t=new Map,r=new Set(e);return this._overrides?.putWeakObjectIdsFromGlobalIds(t,r,s),this._forEachUnsafeIgnoreOverrides(e=>{const o=e.readAttribute(s);if(o&&r.has(o)&&!t.has(o)){const s=e.getObjectId();t.set(o,s)}}),t}forEachInBounds(e,s){const t=new Set;for(const r of this.chunks()){const o=r.queryFeaturesInBounds(e);for(;o.next();){const e=o.getObjectId();t.has(e)||(s(o.copy()),t.add(e))}}}forEachBounds(e,t){const r=s();for(const s of e){s.getBounds(r)&&t(r)}}_forEachUnsafeIgnoreOverrides(e){const s=new Set;for(const t of this._chunks.values()){const r=t.reader.withoutOverrides().getCursor();for(;r.next();){const t=r.getObjectId();s.has(t)||(e(r),s.add(t))}}}}export{n as FeatureSourceChunkStore};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import e from"../../../../Graphic.js";import{pointToCoordinate as i}from"../../../../arcade/functions/measures.js";import o from"../../../../core/Accessor.js";import{isSome as r}from"../../../../core/arrayUtils.js";import{getContrast as s}from"../../../../core/colorUtils.js";import{debounce as a,throwIfNotAbortError as n}from"../../../../core/promiseUtils.js";import{initial as p}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../../../core/support/UpdatingHandles.js";import{e as y}from"../../../../chunks/distanceOperator.js";import{load as d,execute as m}from"../../../../geometry/operators/projectOperator.js";import{g as u}from"../../../../chunks/proximityOperator.js";import g from"../../../../layers/GraphicsLayer.js";import f from"../../../../rest/support/Stop.js";import w from"../../../../symbols/SimpleLineSymbol.js";import v from"../../../../symbols/SimpleMarkerSymbol.js";import{ViewEventPriorities as _}from"../../../input/InputManager.js";const b=Symbol(),j=20;let L=class extends o{constructor(t){super(t),this._graphicsLayer=new g({listMode:"hide",internal:!0}),this._updatingHandles=new h,this._debouncedHandleClick=a(async t=>{const e=this._graphicsLayer.graphics.at(0);if("point"!==e?.geometry?.type)return;t.stopPropagation();const i=new f({geometry:e.geometry.clone(),locationType:"waypoint",symbol:this.waypointSymbol.clone()}),o=await this._getWaypointIndex(i);this.interaction.layer.stops.add(i,o),this.interaction.layer.stops.forEach(t=>t.sequence=null),this.interaction.addNetworkFeature(i)}),this._debouncedHandlePointerMove=a(async t=>{if(!this.interaction.enabled||!this.interaction.interactiveOptions.waypointAdditionEnabled||this.interaction.sketchActive||this.interaction.layer.stops.length<2||!this.interaction.layer.routeInfo?.geometry)return void this._clearWaypointManipulator();const{spatialReference:i}=this.view;await d();const o=m(this.interaction.layer.routeInfo?.geometry,i);if(!o)return void this._clearWaypointManipulator();const s=this.view.resolution*window.devicePixelRatio*j,{coordinate:a,distance:n,isEmpty:p}=u(o,this.view.toMap(t));if(p||n>s)return void this._clearWaypointManipulator();if(this.interaction.layer.stops.map(({geometry:t})=>t).filter(r).map(t=>m(t,i)).filter(r).some(t=>y(t,a)<s))return void this._clearWaypointManipulator();this.addHandles(this.view.acquireCursor("pointer","high"),b);const c=this._graphicsLayer.graphics.at(0);if(c)return void(c.geometry=a);const{waypointSymbol:l}=this,h=new e({geometry:a,symbol:l});this._graphicsLayer.graphics.destroyAll(),this._graphicsLayer.add(h)})}initialize(){this.view.map?.add(this._graphicsLayer),this._updatingHandles.add(()=>({enabled:this.interaction.enabled,graphic:this._graphicsLayer.graphics.at(0),symbol:this.waypointSymbol}),({enabled:t,graphic:e,symbol:i})=>{t?e&&(e.symbol=i):this._clearWaypointManipulator()},p),this.addHandles([this.view.on("click",t=>this._debouncedHandleClick(t).catch(n),_.TOOL),this.view.on("pointer-move",t=>this._debouncedHandlePointerMove(t).catch(n),_.TOOL)])}destroy(){this._graphicsLayer.removeFromParent(),this._graphicsLayer.graphics.destroyAll(),this._graphicsLayer.destroy(),this._updatingHandles.destroy()}get updating(){return!this._graphicsLayer.loaded||this._updatingHandles.updating}get waypointSymbol(){const t=this.interaction.layer.defaultSymbols.stops?.waypoint;if(t)return t;const{accentColor:e}=this.view.effectiveTheme;return new v({color:e,outline:new w({color:s(e),width:1.5}),size:10})}_clearWaypointManipulator(){this._graphicsLayer.graphics.destroyAll(),this.removeHandles(b)}async _getWaypointIndex(t){const{routeInfo:e,stops:o}=this.interaction.layer;if(2===o.length||!e?.geometry||!t.geometry)return 1;const{spatialReference:r}=this.view;await d();const s=m(e.geometry,r),a=m(t.geometry,r);if(!s||!a)return 1;const n=i(s,a)?.distanceAlong;if(!n)return 1;for(let p=1;p<o.length;p++){const t=o.at(p)?.geometry;if(!t)continue;const e=m(t,r);if(!e)continue;const a=i(s,e)?.distanceAlong;if(null!=a&&a>n)return p}return o.length-1}};t([c()],L.prototype,"interaction",void 0),t([c()],L.prototype,"updating",null),t([c()],L.prototype,"waypointSymbol",null),t([c()],L.prototype,"view",void 0),L=t([l("esri.views.2d.layers.support.RouteLayerWaypointVisualization")],L);export{L as RouteLayerWaypointVisualization};
2
+ import{__decorate as t}from"tslib";import e from"../../../../Graphic.js";import{pointToCoordinate as i}from"../../../../arcade/functions/measures.js";import o from"../../../../core/Accessor.js";import{isSome as r}from"../../../../core/arrayUtils.js";import{getContrast as s}from"../../../../core/colorUtils.js";import{debounce as a,throwIfNotAbortError as n}from"../../../../core/promiseUtils.js";import{initial as p}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../../../core/support/UpdatingHandles.js";import{e as y}from"../../../../chunks/distanceOperator.js";import{load as m,execute as d}from"../../../../geometry/operators/projectOperator.js";import{g as u}from"../../../../chunks/proximityOperator.js";import{normalizeCentralMeridian as g}from"../../../../geometry/support/normalizeUtils.js";import f from"../../../../layers/GraphicsLayer.js";import w from"../../../../rest/support/Stop.js";import v from"../../../../symbols/SimpleLineSymbol.js";import _ from"../../../../symbols/SimpleMarkerSymbol.js";import{ViewEventPriorities as b}from"../../../input/InputManager.js";const j=Symbol(),L=20;let S=class extends o{constructor(t){super(t),this._graphicsLayer=new f({listMode:"hide",internal:!0}),this._updatingHandles=new h,this._debouncedHandleClick=a(async t=>{const e=this._graphicsLayer.graphics.at(0);if("point"!==e?.geometry?.type)return;t.stopPropagation();const i=new w({geometry:e.geometry.clone(),locationType:"waypoint",symbol:this.waypointSymbol.clone()}),o=await this._getWaypointIndex(i);this.interaction.layer.stops.add(i,o),this.interaction.layer.stops.forEach(t=>t.sequence=null),this.interaction.addNetworkFeature(i)}),this._debouncedHandlePointerMove=a(async t=>{if(!this.interaction.enabled||!this.interaction.interactiveOptions.waypointAdditionEnabled||this.interaction.sketchActive||this.interaction.layer.stops.length<2||!this.interaction.layer.routeInfo?.geometry)return void this._clearWaypointManipulator();const{spatialReference:i}=this.view;await m();const o=d(this.interaction.layer.routeInfo.geometry,i);if(!o)return void this._clearWaypointManipulator();const s=this.view.resolution*window.devicePixelRatio*L,a=this.view.toMap(t),n=(await g(a))[0],{coordinate:p,distance:c,isEmpty:l}=u(o,n);if(l||c>s)return void this._clearWaypointManipulator();if(this.interaction.layer.stops.map(({geometry:t})=>t).filter(r).map(t=>d(t,i)).filter(r).some(t=>y(t,p)<s))return void this._clearWaypointManipulator();this.addHandles(this.view.acquireCursor("pointer","high"),j);const h=this._graphicsLayer.graphics.at(0);if(h)return void(h.geometry=p);const{waypointSymbol:f}=this,w=new e({geometry:p,symbol:f});this._graphicsLayer.graphics.destroyAll(),this._graphicsLayer.add(w)})}initialize(){this.view.map?.add(this._graphicsLayer),this._updatingHandles.add(()=>({enabled:this.interaction.enabled,graphic:this._graphicsLayer.graphics.at(0),symbol:this.waypointSymbol}),({enabled:t,graphic:e,symbol:i})=>{t?e&&(e.symbol=i):this._clearWaypointManipulator()},p),this.addHandles([this.view.on("click",t=>this._debouncedHandleClick(t).catch(n),b.TOOL),this.view.on("pointer-move",t=>this._debouncedHandlePointerMove(t).catch(n),b.TOOL)])}destroy(){this._graphicsLayer.removeFromParent(),this._graphicsLayer.graphics.destroyAll(),this._graphicsLayer.destroy(),this._updatingHandles.destroy()}get updating(){return!this._graphicsLayer.loaded||this._updatingHandles.updating}get waypointSymbol(){const t=this.interaction.layer.defaultSymbols.stops?.waypoint;if(t)return t;const{accentColor:e}=this.view.effectiveTheme;return new _({color:e,outline:new v({color:s(e),width:1.5}),size:10})}_clearWaypointManipulator(){this._graphicsLayer.graphics.destroyAll(),this.removeHandles(j)}async _getWaypointIndex(t){const{routeInfo:e,stops:o}=this.interaction.layer;if(2===o.length||!e?.geometry||!t.geometry)return 1;const{spatialReference:r}=this.view;await m();const s=d(e.geometry,r),a=d(t.geometry,r);if(!s||!a)return 1;const n=i(s,a)?.distanceAlong;if(!n)return 1;for(let p=1;p<o.length;p++){const t=o.at(p)?.geometry;if(!t)continue;const e=d(t,r);if(!e)continue;const a=i(s,e)?.distanceAlong;if(null!=a&&a>n)return p}return o.length-1}};t([c()],S.prototype,"interaction",void 0),t([c()],S.prototype,"updating",null),t([c()],S.prototype,"waypointSymbol",null),t([c()],S.prototype,"view",void 0),S=t([l("esri.views.2d.layers.support.RouteLayerWaypointVisualization")],S);export{S as RouteLayerWaypointVisualization};
@@ -150,7 +150,7 @@ export type LayerView2DFor<TLayer extends Layer> = LayerView2DMap[TLayer["type"]
150
150
  * and will not need to be transformed by the same transform used for the geographic position. A common convention
151
151
  * is to express the offset in points or pixels and code the vertex shader accordingly.
152
152
  *
153
- * ![tessellation-helpers-extrusion](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/tessellation-helpers-extrusion.png)
153
+ * ![tessellation-helpers-extrusion](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/tessellation-helpers-extrusion.png)
154
154
  *
155
155
  * **Texture coordinates (uTexcoord, vTexcoord)**
156
156
  * The texture coordinates associated to this vertex.
@@ -161,13 +161,13 @@ export type LayerView2DFor<TLayer extends Layer> = LayerView2DMap[TLayer["type"]
161
161
  * upper right one; for [Polyline](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polyline/) the start cap is made of two vertices with texture
162
162
  * coordinates (0, 0) and (0, 1) while the end cap is associated to (1, 0) and (1, 1).
163
163
  *
164
- * ![tessellation-helpers-uv](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/tessellation-helpers-uv.png)
164
+ * ![tessellation-helpers-uv](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/tessellation-helpers-uv.png)
165
165
  *
166
166
  * **Distance**
167
167
  * Valid only for [Polyline](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polyline/); it is the distance, in map units, from the beginning of the
168
168
  * polyline to this vertex.
169
169
  *
170
- * ![tessellation-helpers-distance](https://developers.arcgis.com/javascript/latest/assets/img/apiref/layers/tessellation-helpers-distance.png)
170
+ * ![tessellation-helpers-distance](https://developers.arcgis.com/javascript/latest/assets/images/apiref/layers/tessellation-helpers-distance.png)
171
171
  *
172
172
  * @since 5.0
173
173
  */
@@ -5,7 +5,7 @@ export interface CloudyWeatherProperties extends Partial<Pick<CloudyWeather, "cl
5
5
  /**
6
6
  * The CloudyWeather class allows you to change the weather conditions in the scene to cloudy weather.
7
7
  *
8
- * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-cloudy.png)
8
+ * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-cloudy.png)
9
9
  *
10
10
  * Example:
11
11
  * ```js
@@ -11,8 +11,8 @@ export interface EnvironmentProperties extends WebSceneEnvironmentProperties {
11
11
  *
12
12
  * Known Value | Example
13
13
  * ------------|---------
14
- * [SunLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunLighting/) | ![scene-sun-lighting](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/SunLighting.jpg)
15
- * [VirtualLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/VirtualLighting/) | ![scene-virtual-lighting](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/VirtualLighting.jpg)
14
+ * [SunLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunLighting/) | ![scene-sun-lighting](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/SunLighting.jpg)
15
+ * [VirtualLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/VirtualLighting/) | ![scene-virtual-lighting](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/VirtualLighting.jpg)
16
16
  *
17
17
  * @since 5.0
18
18
  */
@@ -28,8 +28,8 @@ export default class Environment extends WebSceneEnvironment {
28
28
  *
29
29
  * Known Value | Example
30
30
  * ------------|---------
31
- * [SunLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunLighting/) | ![scene-sun-lighting](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/SunLighting.jpg)
32
- * [VirtualLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/VirtualLighting/) | ![scene-virtual-lighting](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/VirtualLighting.jpg)
31
+ * [SunLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/SunLighting/) | ![scene-sun-lighting](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/SunLighting.jpg)
32
+ * [VirtualLighting](https://developers.arcgis.com/javascript/latest/references/core/views/3d/environment/VirtualLighting/) | ![scene-virtual-lighting](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/VirtualLighting.jpg)
33
33
  *
34
34
  * @since 5.0
35
35
  */
@@ -5,7 +5,7 @@ export interface FoggyWeatherProperties extends Partial<Pick<FoggyWeather, "fogS
5
5
  /**
6
6
  * The FoggyWeather class allows you to change the weather conditions in the scene to foggy weather.
7
7
  *
8
- * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-foggy.png)
8
+ * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-foggy.png)
9
9
  *
10
10
  * Example:
11
11
  * ```js
@@ -5,7 +5,7 @@ export interface RainyWeatherProperties extends Partial<Pick<RainyWeather, "clou
5
5
  /**
6
6
  * The RainyWeather class allows you to change the weather conditions in the scene to rainy weather.
7
7
  *
8
- * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-rainy.png)
8
+ * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-rainy.png)
9
9
  *
10
10
  * Example:
11
11
  * ```js
@@ -5,7 +5,7 @@ export interface SnowyWeatherProperties extends Partial<Pick<SnowyWeather, "clou
5
5
  /**
6
6
  * The SnowyWeather class allows you to change the weather conditions in the scene to snowy weather.
7
7
  *
8
- * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-snowy.png)
8
+ * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-snowy.png)
9
9
  *
10
10
  * Example:
11
11
  * ```js
@@ -16,7 +16,7 @@ export interface SunLightingProperties extends WebSceneSunLightingProperties, Pa
16
16
  /**
17
17
  * The SunLighting class allows you to change the lighting in the scene to sunlight. The position of the light is set to the sun's location.
18
18
  *
19
- * ![scene-lightings](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/virtualLightCombined.png)
19
+ * ![scene-lightings](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/virtualLightCombined.png)
20
20
  *
21
21
  * Example:
22
22
  * ```js
@@ -5,7 +5,7 @@ export interface SunnyWeatherProperties extends Partial<Pick<SunnyWeather, "clou
5
5
  /**
6
6
  * The SunnyWeather class allows you to change the weather conditions in the scene to sunny weather.
7
7
  *
8
- * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/scene-weather-sunny.png)
8
+ * ![scene-atmosphere](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/scene-weather-sunny.png)
9
9
  *
10
10
  * Example:
11
11
  * ```js
@@ -8,7 +8,7 @@ export interface VirtualLightingProperties extends WebSceneVirtualLightingProper
8
8
  * The VirtualLighting class allows you to change the lighting in the scene to virtual light. The position of the light
9
9
  * follows the camera and has a slight top-right offset in respect to the camera.
10
10
  *
11
- * ![scene-lightings](https://developers.arcgis.com/javascript/latest/assets/img/apiref/views/virtualLightCombined.png)
11
+ * ![scene-lightings](https://developers.arcgis.com/javascript/latest/assets/images/apiref/views/virtualLightCombined.png)
12
12
  *
13
13
  * Example:
14
14
  * ```js
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import has from"../../../core/has.js";import t from"../../../core/Logger.js";import{destroyMaybe as i,removeMaybe as s}from"../../../core/maybe.js";import{throwIfAborted as r}from"../../../core/promiseUtils.js";import{initial as o,watch as n,when as a}from"../../../core/reactiveUtils.js";import{schedule as l}from"../../../core/scheduling.js";import{property as c,subclass as d}from"../../../core/accessorSupport/decorators.js";import{fromMat4 as h,invert as m,fromQuat as u}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as p,IDENTITY as f}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as b}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{fromValues as y}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{normalize as g,sub as _,dot as v,add as w,length as j,transformMat3 as x,set as C,abs as M,max as E}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as O,freeze as T,fromValues as R,clone as U,ZEROS as V}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as S,clone as A,fromValues as H}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isMoon as L,isMars as k,getReferenceEllipsoid as P,SphericalECEFSpatialReferenceLike as I}from"../../../geometry/ellipsoidUtils.js";import{computeTranslationToOriginAndRotation as F}from"../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{localLinearScaleFactors as D}from"../../../geometry/projection/localLinearScaleFactors.js";import{projectVectorToVector as G}from"../../../geometry/projection/projectVectorToVector.js";import{create as B}from"../../../geometry/support/aaBoundingRect.js";import{getContinuousIndexArray as z}from"../../../geometry/support/Indices.js";import{isCGCS2000 as N}from"../../../geometry/support/spatialReferenceUtils.js";import{BufferViewVec2f as q,BufferViewVec4f as W,BufferViewVec4u8 as $,BufferViewVec4u16 as Z,BufferViewVec3f as J,BufferViewVec3u8 as X,BufferViewVec3u16 as Y,BufferViewInt16 as K,BufferViewUint32 as Q,BufferViewUint16 as ee}from"../../../geometry/support/buffer/BufferView.js";import te from"../../../layers/support/SceneModification.js";import{getElevationOffsetInMeters as ie}from"../../../support/elevationInfoUtils.js";import{addNormals as se}from"./IntegratedMeshNormals.js";import{LayerView3D as re}from"./LayerView3D.js";import{Lyr3DViewPerformanceInfo as oe}from"./Lyr3DViewPerformanceInfo.js";import{addLayerViewToWasm as ne,removeLayerViewFromWasm as ae,getLyr3DWasm as le}from"./Lyr3DWasm.js";import{toWasmModification as ce}from"./SceneLayerWorkerHandle.js";import{LayerElevationProvider as de}from"./i3s/LayerElevationProvider.js";import{IntegratedMesh3DTilesLayerView3DSymbol as he}from"./support/integratedMesh3DTilesLayerViewInstanceUtils.js";import{primTypeConversion as me,alphaModeConversion as ue,faceCullingConversion as pe,wrapModeConversion as fe,lyr3DTypeToByteSize as be}from"./support/lyr3dTypeConversions.js";import{Tiles3DMeshIntersectionHandler as ye}from"./support/Tiles3DMeshIntersectionHandler.js";import{Frustum as ge}from"../state/Frustum.js";import{ElevationRange as _e}from"../support/ElevationRange.js";import{toBoundingRect as ve}from"../support/extentUtils.js";import{Obb as we,compute as je}from"../support/orientedBoundingBox.js";import{glLayout as xe}from"../support/buffer/glUtil.js";import{VertexBufferLayoutCreationParameters as Ce,createVertexBufferLayout as Me,ComponentGeometryParameters as Ee,SourceGeometry as Oe}from"../webgl-engine/collections/Component/SourceGeometry.js";import{Transform as Te}from"../webgl-engine/collections/Component/Transform.js";import{RenderTexture as Re}from"../webgl-engine/core/material/RenderTexture.js";import{Vertices as Ue,Attribute as Ve}from"../webgl-engine/lib/Attribute.js";import{ManagedTexture as Se}from"../webgl-engine/lib/ManagedTexture.js";import{compressAndTransformNormals as Ae}from"../webgl-engine/lib/Normals.js";import{advancedMRRFactors as He}from"../webgl-engine/materials/pbrUtils.js";import{writeAttribute as Le,writeBufferVec2 as ke}from"../webgl-engine/materials/internal/bufferWriterUtils.js";import Pe from"../../layers/LayerView.js";import{spatialReferenceIncompatibleError as Ie,isInEffectiveScaleRange as Fe,validateScaleRange as De}from"../../support/layerViewUtils.js";import{TaskPriority as Ge}from"../../support/Scheduler.js";import{TextureCompressionTracker as Be}from"../../support/TextureCompressionTracker.js";import{alphaCutoff as ze}from"../../../webscene/support/AlphaCutoff.js";var Ne;let qe=class extends(re(Pe)){static{Ne=he}constructor(e){super(e),this[Ne]=!0,this.type="integrated-mesh-3dtiles",this._modifications=new Array,this._visibleGeometryChangedSchedulerHandle=null,this._wasmLayerId=-1,this.ignoresMemoryFactor=!1,this._usedMemory=0,this._cacheMemory=0,this.drapeTargetType=1,this._replacesTerrain=!1,this._isUsedAsGroundLayer=!1,this._applySSAO=!has("disable-feature:im-ssao"),this._shadeNormals=!!has("enable-feature:im-shading"),this._lyrHandleToObjects=new Map,this._visibleObjects=new Set,this._loadedObjects=new Set,this._compressionTracker=new Be,this._dbgFlags=new Set;const t=e.view.resourceController;this._memCache=t.memoryController.newCache(`IM3DTiles-${this.uid}`,e=>this._deletePerObjectData(e)),this._replacesTerrain=e.layer.replacesTerrain,this._isUsedAsGroundLayer=e.layer.isUsedAsGroundLayer,this._frameTask=t.scheduler.registerTask(Ge.TILES3D),this._frustum=new ge(e.view.renderCoordsHelper)}tryRecycleWith(e,t){return this.canRecycleWith(e)?e.load(t).then(()=>{r(t);const i=this.layer.queryElevationCallback;this.layer=e,this.layer.queryElevationCallback=i}):null}canRecycleWith(e){return e.url===this.layer.url&&"integrated-mesh-3dtiles"===e.type&&e.replacesTerrain===this._replacesTerrain&&e.isUsedAsGroundLayer===this._isUsedAsGroundLayer}initialize(){this._dbgFlags.add(3),this._dbg(2,"Tiles3DLayerView3D initialize() called");const{view:e}=this;if(this._updatingHandles.add(()=>this.layer.modifications,()=>this._loadModifications(),o),!this._canProjectWithoutEngine())throw Ie("layer",this.layer.spatialReference.wkid,e.renderSpatialReference?.wkid);const t=ne(this).then(t=>{this._wasmLayerId=t,this._intersectionHandler=new ye(this),e.sceneIntersectionHelper.addIntersectionHandler(this._intersectionHandler),this._updatingHandles.add(()=>this.slicePlaneEnabled,e=>this._slicePlaneEnabledChange(e)),this._updatingHandles.add(()=>this._modifications,()=>this._modificationsChanged()),this._updatingHandles.add(()=>this.fullOpacity,()=>this._opacityChange()),this._updatingHandles.add(()=>e.clippingArea,()=>this._clippingAreaChanged(),o),this._updatingHandles.add(()=>e.state.contentCamera,()=>this._cameraChanged(),o),this._elevationProvider=new de({view:e,layerElevationSource:this,intersectionHandler:this._intersectionHandler});const i=this._replacesTerrain?0:1;e.elevationProvider.register(i,this._elevationProvider),e.overlayManager.registerDrapeTarget(this),this.addHandles([n(()=>this.layer.elevationInfo,e=>this._elevationInfoChanged(e)),a(()=>this.fullOpacity,()=>this._opacityChange()),n(()=>this.suspended,e=>this._wasm?.setEnabled(this,!e),o)])});this.layer.queryElevationCallback=(e,t)=>this._wasm.queryElevation(this,e,t),this.addHandles(n(()=>this.view.qualitySettings.memoryLimit,e=>this._memCache.maxSize=Math.ceil(rt*e*1048576),o)),this.addResolvingPromise(t)}destroy(){this._dbg(2,"Tiles3DLayerView3D destroy() called"),ae(this),this.layer.queryElevationCallback=null,this._intersectionHandler&&(this.view.sceneIntersectionHelper.removeIntersectionHandler(this._intersectionHandler),this._intersectionHandler=null),this._elevationProvider&&(this._elevationProvider.notifyObjectsChangedFunctional(e=>this.forEachComponentObject(t=>e(t.obb))),this.view.elevationProvider.unregister(this._elevationProvider),this._elevationProvider=null),this.view.overlayManager.unregisterDrapeTarget(this),this._lyrHandleToObjects.forEach(e=>this.freeObject(e)),this._lyrHandleToObjects.clear(),this._visibleObjects.clear(),this._loadedObjects.clear(),this._usedMemory=0,this._cacheMemory=0,this._memCache.destroy(),this._frameTask.remove(),this._updatingHandles=i(this._updatingHandles),this.emit("visible-geometry-changed"),this._visibleGeometryChangedSchedulerHandle=s(this._visibleGeometryChangedSchedulerHandle)}get fullOpacity(){return this.layer.replacesTerrain&&has("enable-feature:oit-ground")?this.view.map.ground.opacity:1}get hasModifications(){return this._modifications&&this._modifications.length>0}_opacityChange(){const{fullOpacity:e}=this;this.forEachComponentObject(t=>this._collection.updateObjectOpacity(t,e))}_cameraChanged(){const e=this._frustum;e.update(this.view.state.contentCamera);const t=this._visibleObjects;let i=!1;this._loadedObjects.forEach(s=>{const r=s.obb?.intersectsFrustum(e)??!1;r!==s.isVisible&&(s.isVisible=r,r?t.add(s):t.delete(s),s.componentObjects.forEach(e=>this._collection.setObjectVisibility(e,r)),i||=this._isVisibileElevationRangeModifiedByChangedTileVisbility(r,s.elevationRange))}),i&&this._setVisibleElevationRangeDirty()}intersect(e,t,i,s){this._intersectionHandler.intersect(e,t,i,s,null,!1)}get ready(){return!this.layer.replacesTerrain||!!this._wasm?.isTerrainReady}_modificationsChanged(){const e=this.layer.spatialReference,t=ce(this._layerClippingArea,this._modifications,e);this._wasm?.setMeshModifications(this,t)}_clippingAreaChanged(){const e=this.layer.spatialReference,t=B();this._layerClippingArea=ve(this.view.clippingArea,t,e)?t:null,this._modificationsChanged()}_visibleGeometryChanged(){this._visibleGeometryChangedSchedulerHandle??=l(()=>{this.emit("visible-geometry-changed"),this._visibleGeometryChangedSchedulerHandle=null})}_slicePlaneEnabledChange(e){this._intersectionHandler&&(this._intersectionHandler.slicePlaneEnabled=e&&!this.layer.replacesTerrain),this.forEachComponentObject(t=>this._collection.updateMaterial(t,{slicePlaneEnabled:e}))}_elevationInfoChanged(e){this._wasm?.setLayerOffset(this,ie(e))}get _wasm(){return le(this.view)}get wasmLayerId(){return this._wasmLayerId}get usedMemory(){return this._usedMemory}get unloadedMemory(){return 0}get cachedMemory(){return this._cacheMemory}get visibleAtCurrentScale(){return this.layer.isUsedAsGroundLayer||Fe(this.layer.effectiveScaleRange,this.view.scale)}canResume(){const e=this.layer&&"effectiveScaleRange"in this.layer?this.layer.effectiveScaleRange:null;return this.visible&&this.layer?.loaded&&this.parent&&!this.parent.suspended&&this.view?.ready&&(this.layer.isUsedAsGroundLayer||De(e)&&this.visibleAtCurrentScale)&&this.visibleAtCurrentTimeExtent||!1}get performanceInfo(){let e=0,t=0,i=0,s=0,r=0,o=0;return this._lyrHandleToObjects.forEach(n=>{n.isLoaded?(e+=n.textureMemoryUsage,t+=n.vboMemoryUsage,r++):(i+=n.textureMemoryUsage,s+=n.vboMemoryUsage,o++)}),new oe(this.usedMemory,r,o,Ze(t),Ze(e),Ze(s),Ze(i))}_canProjectWithoutEngine(){if(this.view.state.isLocal){const e=this.view.renderSpatialReference?.isWebMercator?3857:this.view.renderSpatialReference?.wkid??-1;if(3857!==e&&32662!==e)return!1}return!0}get _stage(){return this.view.stage}get _collection(){return this._stage.renderView.componentObjectCollection}get elevationProvider(){return this._elevationProvider}get elevationOffset(){return ie(this.layer.elevationInfo)}get elevationRange(){const e=this.fullExtent;return e?.zmin&&e?.zmax?new _e(e.zmin,e.zmax):null}getElevationRange(e){return this._intersectionHandler.getElevationRange(e)}get visibleElevationRange(){const e=new _e;0===this._visibleObjects.size?e.setElevationRangeValues(0,0):(e.setElevationRangeValues(1/0,-1/0),this._forEachRelevantVisibleTile(t=>e.expandElevationRange(t.elevationRange)),e.minElevation===1/0&&e.setElevationRangeValues(0,0));const t=this._get("visibleElevationRange");return t&&t.minElevation===e.minElevation&&t.maxElevation===e.maxElevation?t:e}_setVisibleElevationRangeDirty(){this.notifyChange("visibleElevationRange")}_forEachRelevantVisibleTile(e){const{view:t}=this,{spatialReference:i}=t,s=i.isWGS84||i.isWebMercator||N(i)||L(i)||k(i);if(this.view.state.isGlobal||!s)return this.forEachVisibleTile(e);const r=P(i).radius,{eye:o,viewForward:n,near:a}=t.state.camera,l=g(O(),n),c=500,d=Math.max(o[2],c),h=d+r,m=Math.sqrt(h**2-r**2),u=Math.abs(Math.atan2(m,r))*r,p=d>.5*r?.5*Math.PI*r:u,f=O();this.forEachVisibleTile(t=>{const{mbsRadius:i,mbsCenter:s}=t;if(i<0)return;_(f,s,o);const r=v(f,l);Math.abs(r)<p&&r+i>a&&r-i<p&&e(t)})}get fullExtent(){return this.layer.fullExtent}forEachComponentObject(e){this._forEachObject(this._lyrHandleToObjects.values(),e)}forEachVisibleTile(e){for(const t of this._visibleObjects)e(t)}forEachTile(e){for(const t of this._loadedObjects)e(t)}forEachVisibleComponentObject(e){this._forEachObject(this._visibleObjects,e)}_forEachObject(e,t){for(const{componentObjects:i}of e)for(const e of i)t(e)}isUpdating(){const e=this._wasm;return this._wasmLayerId>=0&&null!=e&&(e.isUpdating(this._wasmLayerId)||this._compressionTracker.compressing)}updatingFlagChanged(){this.notifyChange("updating")}async createRenderable(e){return this._frameTask.schedule(()=>this._createRenderable(e))}async _createRenderable(e){if(this.destroyed){const e=`IntegratedMesh3DTilesLayerView3D[${this.layer?.title}]: createRenderable called on destroyed instance`;throw new Error(e)}const{meshData:t}=e;if(null==t.data)throw new Error("meshData.data undefined");if(t.desc=JSON.parse(t.desc),null==t.desc)throw new Error("meshData.desc undefined");const i=T(...t.desc.origin),s=this.view.basemapTerrain.spatialReference;let r=f;if(this.view.state.isGlobal){const e=b();F(I,i,e,s),r=h(p(),e)}const o=O(),n=Ye(t.desc.obb);let a=0;const l={textureMemoryUsage:0},c=new Array,d=new Map,u=t.desc.prims.length,y=new Array,g=new _e;try{const e=this.view.state.isGlobal,h=e?P(this.view.spatialReference).radius:0,b=O();for(let y=0;y<u;y++){const u=t.desc.prims[y];this._dbg(2,JSON.stringify(u));if(null==me[u.ptype]||null==t.data){this._dbg(2,"[Unsupported Feature] Unsupported primitive mode ("+u.ptype+"). Skipping primitive.");continue}const _=t.desc?.materials&&null!=u.materialId?t.desc.materials[u.materialId]:null,v=null!=_?_.lightingModel:"Unlit",{positionView:M,positionAttr:E,normalsView:T,normalsAttr:V,colorAttr:L,texCoord0Attr:k,indicesView:P}=this.getBufferViews(u,t.data.buffer,r);if(null==E||null==M||null==P)continue;const I=M.count,F=(e,t)=>!e||e.data.length/e.size===I||(this._dbg(3,`${t} !== numPos. Skipping primitive.`),!1);if(!F(k,"numTexcoord")||!F(L,"numColors")||!F(V,"normals"))continue;const B=new Ce(null!=L,null!=T,k?1:0),z=Me(B);for(let t=0;t<M.count;t++){M.getVec(t,o),w(o,o,i);const s=e?j(o)-h:o[2];g.expandElevationRangeValues(s,s)}if(n){et(n,b,new Ue(E.data,3),i)}const N=n?.clone()??Xe(E,i);if(r!==f)for(let e=0;e<M.count;e++)M.getVec(e,o),x(o,o,r),M.setVec(e,o);const W=z.createBuffer(I);if(Le("position",E,null,null,W,0),null!=k){const e=W.getField("uv0",q);ke(k,e,0)}null!=L&&Le("color",L,null,null,W,0),null!=V&&Le("normalCompressed",V,null,null,W,0);const $=new Uint32Array([0,P.typedBuffer.length]),Z=xe(z),J=this._shadeNormals||this.layer.replacesTerrain,X=se(new Uint8Array(W.buffer),P.typedBuffer,Z,J),Y=new Ee(Z,J?2:0,B.textureCoordinateType,r!==f),K=new Oe({interleavedVertexData:X.data,vertexCount:X.data.byteLength/Z[0].stride,indexData:X.indices},{positions:M.typedBuffer,indices:P.typedBuffer},$,Y),Q=this.view.renderSpatialReference,ee=O(),te=[1,1,1];D(i,Q,te,s)||this._dbg(3,"Unsupported coordinate system for IM overlay"),G(i,Q,ee,s);let ie=Promise.resolve(Qe),re=S,oe=ze,ne=null,ae=null,le=null,ce=null,de=null,he=1,fe=!1,be=2,ye=!1,ge=R(0,0,0);const _e=U(He),ve="Pbr"===v;if(_){const e=e=>this._getTexture(e,t,d,l);ne=e(_.baseColorTex),de=ve?e(_.metalTex):null,ae=ve?e(_.emissiveTex):null,ce=ve?e(_.occlusionTex):null,le=ve?e(_.normalTex):null;const i=[ne,de,ae,ce,le].map(e=>e?.loadPromise??null);ie=Promise.all(i),re=A(_.baseColorFactor),oe=_.alphaCutoff??ze,ve&&(C(_e,_.metallicFactor,_.roughnessFactor,0),_.emissiveFactor&&(ge=_.emissiveFactor)),he=ue[_.alphaMode],fe=_.isDoubleSided,be=pe[_.faceCulling??"NotSet"],ye=this.layer.replacesTerrain}const we=ie.then(()=>()=>{if(this.destroyed){const e="Trying to add object to destroyed layer view";throw this._dbg(3,`${e} !== numPos. Skipping primitive.`),new Error(e)}ne||console.error("No colour texture 1");const e=r===f?f:m(p(),r)??f,t=this._collection.createObject({toMapSpace:H(ee[0],ee[1],te[0],te[1]),transform:new Te(i,e),obb:N,geometry:K,elevationAlignable:!1},{isIntegratedMesh:!0,baseColor:re,textureAlphaCutoff:oe,mrrFactors:_e,baseColorTexture:ne,metallicRoughnessTexture:de,normalTexture:le,occlusionTexture:ce,emissionTexture:ae,hasParametersFromSource:!1,sphereDepthInterpolate:this.layer.hasGoogleUrl,alphaDiscardMode:he,doubleSided:fe,cullFace:be,isGround:ye,emissiveBaseColor:ge,usePBR:ve,slicePlaneEnabled:this.slicePlaneEnabled,opacity:this.fullOpacity,polygonOffsetEnabled:!1,ellipsoidMode:1,applySSAO:this._applySSAO});return l.textureMemoryUsage+=ne?.texture?.usedMemory??0,ve&&(l.textureMemoryUsage+=(de?.texture?.usedMemory??0)+(ae?.texture?.usedMemory??0)+(ce?.texture?.usedMemory??0)+(le?.texture?.usedMemory??0)),a+=this._collection.getObjectGPUMemoryUsage(t),t});c.push(we)}if(y.push(...await Promise.all(c)),this.destroyed){throw new Error("IntegratedMesh3DTilesLayerView3D: createRenderable object destroyed during call")}}catch(k){throw d.forEach(e=>this._stage.removeTexture(e)),k}const _=y.map(e=>e()),v=new Array;d.forEach(e=>v.push(e));const{fullExtent:M}=this.layer;M?.hasZ&&M.zmax&&M.zmin&&(g.minElevation=Math.max(g.minElevation,M.zmin),g.maxElevation=Math.min(g.maxElevation,M.zmax));const E=_.reduceRight((e,t)=>e+t.intersectionGeometry.usedMemory,0),V=new $e(e.handle,_,v,E,a,l.textureMemoryUsage,n,e.stableNodeId,e.nodeDepth,g);this._lyrHandleToObjects.set(e.handle,V),this._memCache.put(Ke(V.handle),V);const{usedMemory:L}=V;return this._cacheMemory+=L,{memUsageBytes:L}}freeRenderable(e){const t=this._lyrHandleToObjects.get(e);t?(t.isLoaded?(this._loadedObjects.delete(t),this._visibleObjects.delete(t),this._usedMemory-=t.usedMemory):this._cacheMemory-=t.usedMemory,this.freeObject(t),this._lyrHandleToObjects.delete(e)):this._dbg(3,`freeRendedrable on non-existent renderable ${e}`)}freeObject(e){const t=Ke(e.handle);this._memCache.pop(t),e.textures.forEach(e=>this._stage.removeTexture(e)),e.componentObjects.forEach(e=>this._collection.destroyObject(e))}setRenderableVisibility(e,t,i){if(this.destroyed||this.destroying)return;const s=this._frustum,r=new Array;let o=!1,n=!1;for(let a=0;a<i;++a){if(!t[a])continue;const i=e[a],l=this._lyrHandleToObjects.get(i);if(l){if(l.isLoaded){this._dbg(3,`Already loaded object marked loaded again ${l.stableNodeId}`);continue}o=!0,l.isLoaded=!0,this._loadedObjects.add(l),this._usedMemory+=l.usedMemory,this._cacheMemory-=l.usedMemory;const e=l.obb?.intersectsFrustum(s)??!0;l.isVisible=e,e&&(this._visibleObjects.add(l),n||=this._isVisibileElevationRangeModifiedByChangedTileVisbility(e,l.elevationRange)),e&&l.obb&&r.push(l.obb),l.componentObjects.forEach(t=>{this._collection.setObjectVisibility(t,e)}),this._memCache.pop(Ke(i))}else this._dbg(3,`Tried to mark Non existent object ${i} as loaded`)}for(let a=0;a<i;++a){const i=e[a];if(t[a])continue;const s=this._lyrHandleToObjects.get(i);if(s){if(!s.isLoaded){this._dbg(3,`Tried to unload not-loaded object ${s.stableNodeId}`);continue}const e=this._visibleObjects.delete(s);s.isVisible=!1,s.isLoaded=!1,this._loadedObjects.delete(s),e&&(this._visibleGeometryChanged(),n||=this._isVisibileElevationRangeModifiedByChangedTileVisbility(!1,s.elevationRange)),this._usedMemory-=s.usedMemory,this._cacheMemory+=s.usedMemory,e&&s.obb&&r.push(s.obb),s.componentObjects.forEach(e=>{this._collection.setObjectVisibility(e,!1)}),this._memCache.put(Ke(i),s)}else this._dbg(3,`Tried to mark Non existent object ${i} as not loaded`)}o&&this._visibleGeometryChanged(),this._elevationProvider.notifyObjectsChanged(r),n&&this._setVisibleElevationRangeDirty()}setLodPixelThreshold(e){this._wasm?.setLodPixelThreshold(this,e)}_isVisibileElevationRangeModifiedByChangedTileVisbility(e,t){const{visibleElevationRange:i}=this,{minElevation:s,maxElevation:r}=t;return e?s<i.minElevation||r>i.maxElevation:s===i.minElevation||r===i.maxElevation}_getTexture(e,t,i,s){const r=e&&t.desc?.images?.[e.imageId];if(!r||!t.data?.buffer)return null;const o=i.get(r)??this._createTexture(e,t,i,s);return o?new Re(this._stage.renderView.textures,o.id):null}_createTexture(e,t,i,s){const r=e&&t.desc?.images?.[e.imageId];if(!r||!t.data?.buffer)return null;const o=this._stage,{renderView:n}=o,a=n.renderingContext.parameters.maxMaxAnisotropy,l=!!r.mipCount||a>1,c=fe[e.wrapMode??"None"];let d=r.alpha?6408:6407;const h=new Uint8Array(t.data.buffer,r.data.byteOffset,r.data.byteCount);let m=null,u=null,p=null;switch(r.format){case"Raw":"R8"===r.pixelFormat?(m=h,d=6403,u=""):"Rgb8"===r.pixelFormat?(m=h,d=6407,u=""):"Rgba8"===r.pixelFormat&&(m=h,d=6408,u="");break;case"Dxt1":m=h,d=6407,u="image/vnd-ms.dds";break;case"Dxt5":m=h,d=6408,u="image/vnd-ms.dds";break;case"Basis":m=h,d=6407,u="image/ktx2";break;case"Png":u="image/png",p=document.createElement("img");break;case"Jpeg":u="image/jpeg",p=document.createElement("img");break;case"Etc2":u="image/ktx",p=document.createElement("img");break;case"Astc":this._dbg(3,"Astc texture not supported");break;case"Pvrtc":this._dbg(3,"Pvrtc texture not supported")}if(p&&u){const e=new Blob([h],{type:u});p.src=URL.createObjectURL(e),m=p}if(m&&null!=u){const e=has("enable-feature:esri-compress-IM-textures")?{compressionTracker:this._compressionTracker,compressionCallback:e=>{e&&e>0&&(s.textureMemoryUsage-=e)}}:void 0,t=new Se(m,{mipmap:l,maxAnisotropy:a,encoding:u,wrap:c,pixelFormat:d,compressionOptions:e,noUnpackFlip:!0,width:r.mip0Width,height:r.mip0Height});return this._stage.addTexture(t),i.set(r,t),t}return null}getBufferViews(e,t,i){let s,r,o,n,a,l,c,d=null;for(let m=0;m<e.atrbs.length;m++){const c=e.atrbs[m],{view:u}=c,p=void 0,f=u.byteOffset+u.byteCount,b=u.byteCount/be[u.type],y=z(b);try{switch(c.sem){case"Position":3!==u.ncomp||"F32"!==u.type?this._dbg(3,"[Unsupported Feature] Unsupported view for Position ("+u+")"):(s=new J(t,u.byteOffset,p,f),r=new Ve(s.typedBuffer,y,3));break;case"Normal":if(3!==u.ncomp||"F32"!==u.type)this._dbg(3,"[Unsupported Feature] Unsupported view for Normal ("+u+")");else{const e=new J(t,u.byteOffset,p,f),s=Ae(e.typedBuffer,i);a=new K(s.buffer),l=new Ve(a.typedBuffer,y,2)}break;case"TexCoord":2!==u.ncomp||"F32"!==u.type?this._dbg(3,"[Unsupported Feature] Unsupported view for Texcoord ("+u+")"):void 0===n&&(n=new Ve(new q(t,u.byteOffset,p,f).typedBuffer,y,2));break;case"Color":4===u.ncomp?("F32"===u.type&&(d=new W(t,u.byteOffset,p,f)),"U8"===u.type&&(d=new $(t,u.byteOffset,p,f)),"U16"===u.type&&(d=new Z(t,u.byteOffset,p,f))):3===u.ncomp&&("F32"===u.type&&(d=new J(t,u.byteOffset,p,f)),"U8"===u.type&&(d=new X(t,u.byteOffset,p,f)),"U16"===u.type&&(d=new Y(t,u.byteOffset,p,f))),null==d?this._dbg(2,"[Unsupported Feature] Unsupported view for Color ("+u+")"):o=new Ve(d.typedBuffer,y,u.ncomp);break;case"FeatureIndex":break;default:this._dbg(2,"[Unsupported Feature] Unsupported semantic ("+c.sem+"). Skipping vertex attribute.")}}catch(h){this._dbg(2,"Error Creating buffer ("+h+"). Skipping vertex attribute.")}}if(e.index){const i=e.index.view,s=void 0,r=i.byteOffset+i.byteCount;switch(e.index.view.type){case"U16":c=new ee(t,i.byteOffset,s,r);break;case"U32":c=new Q(t,i.byteOffset,s,r);break;default:this._dbg(3,"[Unsupported Feature] index type not supported ("+i.type+").")}}if(null==c&&null!=s){const e=s.count;c=c=e<65535?new ee(new Uint16Array(e).buffer):new Q(new Uint32Array(e).buffer);for(let t=0;t<e;t++)c.set(t,t)}return{positionView:s,positionAttr:r,colorAttr:o,texCoord0Attr:n,indicesView:c,normalsView:a,normalsAttr:l}}_loadModifications(){if(this.removeHandles("modifications"),null==this.layer.modifications)return void(this._modifications=[]);const e=this.layer.modifications;this.addHandles(this._updatingHandles.addOnCollectionChange(()=>e,()=>{this._modifications=e.filter(e=>!(this.layer.isUsedAsGroundLayer&&"replace"!==e.type)).toArray(),this._modifications.length<e.length&&t.getLogger(this).info("Ground layers only support replace modifications. Other modification types have been ignored.")},o),"modifications")}_deletePerObjectData(e){this._wasm?.onRenderableEvicted(this,e.handle,e.usedMemory),this.freeRenderable(e.handle)}_dbg(e,i){this._dbgFlags.has(e)&&(3===e?t.getLogger(this).error(i):t.getLogger(this).warn(i))}};e([c()],qe.prototype,"fullOpacity",null),e([c({readOnly:!0})],qe.prototype,"ready",null),e([c({type:[te]})],qe.prototype,"_modifications",void 0),e([c()],qe.prototype,"_visibleGeometryChangedSchedulerHandle",void 0),e([c()],qe.prototype,"layer",void 0),e([c({readOnly:!0})],qe.prototype,"visibleAtCurrentScale",null),e([c({readOnly:!0})],qe.prototype,"_collection",null),e([c()],qe.prototype,"elevationOffset",null),e([c({readOnly:!0})],qe.prototype,"visibleElevationRange",null),qe=e([d("esri.views.3d.layers.IntegratedMesh3DTilesLayerView3D")],qe);const We=qe;class $e{constructor(e,t,i,s,r,o,n,a,l,c){this.handle=e,this.componentObjects=t,this.textures=i,this.cpuMemoryUsage=s,this.vboMemoryUsage=r,this.textureMemoryUsage=o,this.obb=n,this.stableNodeId=a,this.nodeDepth=l,this.elevationRange=c,this.isLoaded=!1,this.isVisible=!1;const d=O();n?.getCenter(d),this._obbCenterX=d[0],this._obbCenterY=d[1],this._obbCenterZ=d[2];const h=n?.radius??-1;this._obbRadius=h,this._obbRadiusSquared=h*h;const m=n?.halfSize;this._obbShortestHalfsize=m?Math.min(m[0],m[1],m[2]):0}get usedMemory(){return this.textureMemoryUsage+this.vboMemoryUsage+this.cpuMemoryUsage}get mbsRadius(){return this._obbRadius}get mbsCenter(){return this.obb?.center??V}boundingVolumeIntersectsRay(e,t){if(!this.obb)return!0;const{_obbCenterX:i,_obbCenterY:s,_obbCenterZ:r}=this,o=i-e[0],n=s-e[1],a=r-e[2],l=o*t[0]+n*t[1]+a*t[2];return o*o+n*n+a*a-l*l<=this._obbRadiusSquared&&this.obb.intersectRay(e,t)}boundingVolumeIntersectsSphere(e){const t=this._obbRadius;if(t<0)return!0;const i=e.center,s=e.radius,r=t+s,o=this._obbCenterX-i[0];if(o>r)return!1;const n=this._obbCenterY-i[1];if(n>r)return!1;const a=this._obbCenterZ-i[2];if(a>r)return!1;const l=o*o+n*n+a*a;if(l>r*r)return!1;if(l<=(this._obbShortestHalfsize+s)**2)return!0;return Math.sqrt(l)+t<=s||(this.obb?.intersectSphere(e)??!0)}}function Ze(e){return Math.round(e/1048.576)/1e3}const Je=O();function Xe(e,t){const i=je(e);return w(Je,i.center,t),i.center=Je,i}function Ye(e){return e?new we(e.center,e.halfSize,y(...e.quaternion)):null}function Ke(e){return`${e}`}const Qe=new Array;function et(e,t,i,s){const{center:r}=e,o=u(st,e.quaternionConjugate),n=x(tt,r,o),{data:a}=i,l=a.length/i.stride,c=it;for(let d=0;d<l;++d){const e=3*d;for(let t=0;t<3;++t)c[t]=a[e+t]+s[t];x(c,c,o),_(c,c,n),M(c,c),E(t,t,c)}e.halfSize=t}const tt=O(),it=O(),st=p(),rt=.2;export{We as default};
2
+ import{__decorate as e}from"tslib";import has from"../../../core/has.js";import t from"../../../core/Logger.js";import{destroyMaybe as i,removeMaybe as s}from"../../../core/maybe.js";import{throwIfAborted as r}from"../../../core/promiseUtils.js";import{initial as o,watch as n,when as a}from"../../../core/reactiveUtils.js";import{schedule as l}from"../../../core/scheduling.js";import{property as c,subclass as d}from"../../../core/accessorSupport/decorators.js";import{fromMat4 as h,invert as m,fromQuat as u}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{create as p,IDENTITY as f}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as b}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{fromValues as y}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{normalize as g,sub as _,dot as v,add as w,length as j,transformMat3 as x,set as C,abs as M,max as E}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as O,freeze as T,fromValues as R,clone as U,ZEROS as V}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as S,clone as A,fromValues as H}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isMoon as L,isMars as k,getReferenceEllipsoid as P,SphericalECEFSpatialReferenceLike as I}from"../../../geometry/ellipsoidUtils.js";import{computeTranslationToOriginAndRotation as F}from"../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{localLinearScaleFactors as D}from"../../../geometry/projection/localLinearScaleFactors.js";import{projectVectorToVector as G}from"../../../geometry/projection/projectVectorToVector.js";import{create as B}from"../../../geometry/support/aaBoundingRect.js";import{getContinuousIndexArray as z}from"../../../geometry/support/Indices.js";import{isCGCS2000 as N}from"../../../geometry/support/spatialReferenceUtils.js";import{BufferViewVec2f as q,BufferViewVec4f as W,BufferViewVec4u8 as $,BufferViewVec4u16 as Z,BufferViewVec3f as J,BufferViewVec3u8 as X,BufferViewVec3u16 as Y,BufferViewInt16 as K,BufferViewUint32 as Q,BufferViewUint16 as ee}from"../../../geometry/support/buffer/BufferView.js";import te from"../../../layers/support/SceneModification.js";import{getElevationOffsetInMeters as ie}from"../../../support/elevationInfoUtils.js";import{addNormals as se}from"./IntegratedMeshNormals.js";import{LayerView3D as re}from"./LayerView3D.js";import{Lyr3DViewPerformanceInfo as oe}from"./Lyr3DViewPerformanceInfo.js";import{addLayerViewToWasm as ne,removeLayerViewFromWasm as ae,getLyr3DWasm as le}from"./Lyr3DWasm.js";import{toWasmModification as ce}from"./SceneLayerWorkerHandle.js";import{LayerElevationProvider as de}from"./i3s/LayerElevationProvider.js";import{IntegratedMesh3DTilesLayerView3DSymbol as he}from"./support/integratedMesh3DTilesLayerViewInstanceUtils.js";import{primTypeConversion as me,alphaModeConversion as ue,faceCullingConversion as pe,wrapModeConversion as fe,lyr3DTypeToByteSize as be}from"./support/lyr3dTypeConversions.js";import{Tiles3DMeshIntersectionHandler as ye}from"./support/Tiles3DMeshIntersectionHandler.js";import{Frustum as ge}from"../state/Frustum.js";import{ElevationRange as _e}from"../support/ElevationRange.js";import{toBoundingRect as ve}from"../support/extentUtils.js";import{Obb as we,compute as je}from"../support/orientedBoundingBox.js";import{glLayout as xe}from"../support/buffer/glUtil.js";import{VertexBufferLayoutCreationParameters as Ce,createVertexBufferLayout as Me,ComponentGeometryParameters as Ee,SourceGeometry as Oe}from"../webgl-engine/collections/Component/SourceGeometry.js";import{Transform as Te}from"../webgl-engine/collections/Component/Transform.js";import{RenderTexture as Re}from"../webgl-engine/core/material/RenderTexture.js";import{Vertices as Ue,Attribute as Ve}from"../webgl-engine/lib/Attribute.js";import{ManagedTexture as Se}from"../webgl-engine/lib/ManagedTexture.js";import{compressAndTransformNormals as Ae}from"../webgl-engine/lib/Normals.js";import{advancedMRRFactors as He}from"../webgl-engine/materials/pbrUtils.js";import{writeAttribute as Le,writeBufferVec2 as ke}from"../webgl-engine/materials/internal/bufferWriterUtils.js";import Pe from"../../layers/LayerView.js";import{spatialReferenceIncompatibleError as Ie,isInEffectiveScaleRange as Fe,validateScaleRange as De}from"../../support/layerViewUtils.js";import{TaskPriority as Ge}from"../../support/Scheduler.js";import{TextureCompressionTracker as Be}from"../../support/TextureCompressionTracker.js";import{alphaCutoff as ze}from"../../../webscene/support/AlphaCutoff.js";var Ne;let qe=class extends(re(Pe)){static{Ne=he}constructor(e){super(e),this[Ne]=!0,this.type="integrated-mesh-3dtiles",this._modifications=new Array,this._visibleGeometryChangedSchedulerHandle=null,this._wasmLayerId=-1,this.ignoresMemoryFactor=!1,this._usedMemory=0,this._cacheMemory=0,this.drapeTargetType=1,this._replacesTerrain=!1,this._isUsedAsGroundLayer=!1,this._applySSAO=!has("disable-feature:im-ssao"),this._shadeNormals=!!has("enable-feature:im-shading"),this._lyrHandleToObjects=new Map,this._visibleObjects=new Set,this._loadedObjects=new Set,this._compressionTracker=new Be,this._dbgFlags=new Set;const t=e.view.resourceController;this._memCache=t.memoryController.newCache(`IM3DTiles-${this.uid}`,e=>this._deletePerObjectData(e)),this._replacesTerrain=e.layer.replacesTerrain,this._isUsedAsGroundLayer=e.layer.isUsedAsGroundLayer,this._frameTask=t.scheduler.registerTask(Ge.TILES3D),this._frustum=new ge(e.view.renderCoordsHelper)}tryRecycleWith(e,t){return this.canRecycleWith(e)?e.load(t).then(()=>{r(t);const i=this.layer.queryElevationCallback;this.layer=e,this.layer.queryElevationCallback=i}):null}canRecycleWith(e){return e.url===this.layer.url&&"integrated-mesh-3dtiles"===e.type&&e.replacesTerrain===this._replacesTerrain&&e.isUsedAsGroundLayer===this._isUsedAsGroundLayer}initialize(){this._dbg(2,"Tiles3DLayerView3D initialize() called");const{view:e}=this;if(this._updatingHandles.add(()=>this.layer.modifications,()=>this._loadModifications(),o),!this._canProjectWithoutEngine())throw Ie("layer",this.layer.spatialReference.wkid,e.renderSpatialReference?.wkid);const t=ne(this).then(t=>{this._wasmLayerId=t,this._intersectionHandler=new ye(this),e.sceneIntersectionHelper.addIntersectionHandler(this._intersectionHandler),this._updatingHandles.add(()=>this.slicePlaneEnabled,e=>this._slicePlaneEnabledChange(e)),this._updatingHandles.add(()=>this._modifications,()=>this._modificationsChanged()),this._updatingHandles.add(()=>this.fullOpacity,()=>this._opacityChange()),this._updatingHandles.add(()=>e.clippingArea,()=>this._clippingAreaChanged(),o),this._updatingHandles.add(()=>e.state.contentCamera,()=>this._cameraChanged(),o),this._elevationProvider=new de({view:e,layerElevationSource:this,intersectionHandler:this._intersectionHandler});const i=this._replacesTerrain?0:1;e.elevationProvider.register(i,this._elevationProvider),e.overlayManager.registerDrapeTarget(this),this.addHandles([n(()=>this.layer.elevationInfo,e=>this._elevationInfoChanged(e)),a(()=>this.fullOpacity,()=>this._opacityChange()),n(()=>this.suspended,e=>this._wasm?.setEnabled(this,!e),o)])});this.layer.queryElevationCallback=(e,t)=>this._wasm.queryElevation(this,e,t),this.addHandles(n(()=>this.view.qualitySettings.memoryLimit,e=>this._memCache.maxSize=Math.ceil(rt*e*1048576),o)),this.addResolvingPromise(t)}destroy(){this._dbg(2,"Tiles3DLayerView3D destroy() called"),ae(this),this.layer.queryElevationCallback=null,this._intersectionHandler&&(this.view.sceneIntersectionHelper.removeIntersectionHandler(this._intersectionHandler),this._intersectionHandler=null),this._elevationProvider&&(this._elevationProvider.notifyObjectsChangedFunctional(e=>this.forEachComponentObject(t=>e(t.obb))),this.view.elevationProvider.unregister(this._elevationProvider),this._elevationProvider=null),this.view.overlayManager.unregisterDrapeTarget(this),this._lyrHandleToObjects.forEach(e=>this.freeObject(e)),this._lyrHandleToObjects.clear(),this._visibleObjects.clear(),this._loadedObjects.clear(),this._usedMemory=0,this._cacheMemory=0,this._memCache.destroy(),this._frameTask.remove(),this._updatingHandles=i(this._updatingHandles),this.emit("visible-geometry-changed"),this._visibleGeometryChangedSchedulerHandle=s(this._visibleGeometryChangedSchedulerHandle)}get fullOpacity(){return this.layer.replacesTerrain&&has("enable-feature:oit-ground")?this.view.map.ground.opacity:1}get hasModifications(){return this._modifications&&this._modifications.length>0}_opacityChange(){const{fullOpacity:e}=this;this.forEachComponentObject(t=>this._collection.updateObjectOpacity(t,e))}_cameraChanged(){const e=this._frustum;e.update(this.view.state.contentCamera);const t=this._visibleObjects;let i=!1;this._loadedObjects.forEach(s=>{const r=s.obb?.intersectsFrustum(e)??!1;r!==s.isVisible&&(s.isVisible=r,r?t.add(s):t.delete(s),s.componentObjects.forEach(e=>this._collection.setObjectVisibility(e,r)),i||=this._isVisibileElevationRangeModifiedByChangedTileVisbility(r,s.elevationRange))}),i&&this._setVisibleElevationRangeDirty()}intersect(e,t,i,s){this._intersectionHandler.intersect(e,t,i,s,null,!1)}get ready(){return!this.layer.replacesTerrain||!!this._wasm?.isTerrainReady}_modificationsChanged(){const e=this.layer.spatialReference,t=ce(this._layerClippingArea,this._modifications,e);this._wasm?.setMeshModifications(this,t)}_clippingAreaChanged(){const e=this.layer.spatialReference,t=B();this._layerClippingArea=ve(this.view.clippingArea,t,e)?t:null,this._modificationsChanged()}_visibleGeometryChanged(){this._visibleGeometryChangedSchedulerHandle??=l(()=>{this.emit("visible-geometry-changed"),this._visibleGeometryChangedSchedulerHandle=null})}_slicePlaneEnabledChange(e){this._intersectionHandler&&(this._intersectionHandler.slicePlaneEnabled=e&&!this.layer.replacesTerrain),this.forEachComponentObject(t=>this._collection.updateMaterial(t,{slicePlaneEnabled:e}))}_elevationInfoChanged(e){this._wasm?.setLayerOffset(this,ie(e))}get _wasm(){return le(this.view)}get wasmLayerId(){return this._wasmLayerId}get usedMemory(){return this._usedMemory}get unloadedMemory(){return 0}get cachedMemory(){return this._cacheMemory}get visibleAtCurrentScale(){return this.layer.isUsedAsGroundLayer||Fe(this.layer.effectiveScaleRange,this.view.scale)}canResume(){const e=this.layer&&"effectiveScaleRange"in this.layer?this.layer.effectiveScaleRange:null;return this.visible&&this.layer?.loaded&&this.parent&&!this.parent.suspended&&this.view?.ready&&(this.layer.isUsedAsGroundLayer||De(e)&&this.visibleAtCurrentScale)&&this.visibleAtCurrentTimeExtent||!1}get performanceInfo(){let e=0,t=0,i=0,s=0,r=0,o=0;return this._lyrHandleToObjects.forEach(n=>{n.isLoaded?(e+=n.textureMemoryUsage,t+=n.vboMemoryUsage,r++):(i+=n.textureMemoryUsage,s+=n.vboMemoryUsage,o++)}),new oe(this.usedMemory,r,o,Ze(t),Ze(e),Ze(s),Ze(i))}_canProjectWithoutEngine(){if(this.view.state.isLocal){const e=this.view.renderSpatialReference?.isWebMercator?3857:this.view.renderSpatialReference?.wkid??-1;if(3857!==e&&32662!==e)return!1}return!0}get _stage(){return this.view.stage}get _collection(){return this._stage.renderView.componentObjectCollection}get elevationProvider(){return this._elevationProvider}get elevationOffset(){return ie(this.layer.elevationInfo)}get elevationRange(){const e=this.fullExtent;return e?.zmin&&e?.zmax?new _e(e.zmin,e.zmax):null}getElevationRange(e){return this._intersectionHandler.getElevationRange(e)}get visibleElevationRange(){const e=new _e;0===this._visibleObjects.size?e.setElevationRangeValues(0,0):(e.setElevationRangeValues(1/0,-1/0),this._forEachRelevantVisibleTile(t=>e.expandElevationRange(t.elevationRange)),e.minElevation===1/0&&e.setElevationRangeValues(0,0));const t=this._get("visibleElevationRange");return t&&t.minElevation===e.minElevation&&t.maxElevation===e.maxElevation?t:e}_setVisibleElevationRangeDirty(){this.notifyChange("visibleElevationRange")}_forEachRelevantVisibleTile(e){const{view:t}=this,{spatialReference:i}=t,s=i.isWGS84||i.isWebMercator||N(i)||L(i)||k(i);if(this.view.state.isGlobal||!s)return this.forEachVisibleTile(e);const r=P(i).radius,{eye:o,viewForward:n,near:a}=t.state.camera,l=g(O(),n),c=500,d=Math.max(o[2],c),h=d+r,m=Math.sqrt(h**2-r**2),u=Math.abs(Math.atan2(m,r))*r,p=d>.5*r?.5*Math.PI*r:u,f=O();this.forEachVisibleTile(t=>{const{mbsRadius:i,mbsCenter:s}=t;if(i<0)return;_(f,s,o);const r=v(f,l);Math.abs(r)<p&&r+i>a&&r-i<p&&e(t)})}get fullExtent(){return this.layer.fullExtent}forEachComponentObject(e){this._forEachObject(this._lyrHandleToObjects.values(),e)}forEachVisibleTile(e){for(const t of this._visibleObjects)e(t)}forEachTile(e){for(const t of this._loadedObjects)e(t)}forEachVisibleComponentObject(e){this._forEachObject(this._visibleObjects,e)}_forEachObject(e,t){for(const{componentObjects:i}of e)for(const e of i)t(e)}isUpdating(){const e=this._wasm;return this._wasmLayerId>=0&&null!=e&&(e.isUpdating(this._wasmLayerId)||this._compressionTracker.compressing)}updatingFlagChanged(){this.notifyChange("updating")}async createRenderable(e){return this._frameTask.schedule(()=>this._createRenderable(e))}async _createRenderable(e){if(this.destroyed){const e=`IntegratedMesh3DTilesLayerView3D[${this.layer?.title}]: createRenderable called on destroyed instance`;throw this._dbg(3,e),new Error(e)}const{meshData:t}=e;if(null==t.data)throw new Error("meshData.data undefined");if(t.desc=JSON.parse(t.desc),null==t.desc)throw new Error("meshData.desc undefined");const i=T(...t.desc.origin),s=this.view.basemapTerrain.spatialReference;let r=f;if(this.view.state.isGlobal){const e=b();F(I,i,e,s),r=h(p(),e)}const o=O(),n=Ye(t.desc.obb);let a=0;const l={textureMemoryUsage:0},c=new Array,d=new Map,u=t.desc.prims.length,y=new Array,g=new _e;try{const e=this.view.state.isGlobal,h=e?P(this.view.spatialReference).radius:0,b=O();for(let y=0;y<u;y++){const u=t.desc.prims[y];this._dbg(2,JSON.stringify(u));if(null==me[u.ptype]||null==t.data){this._dbg(2,"[Unsupported Feature] Unsupported primitive mode ("+u.ptype+"). Skipping primitive.");continue}const _=t.desc?.materials&&null!=u.materialId?t.desc.materials[u.materialId]:null,v=null!=_?_.lightingModel:"Unlit",{positionView:M,positionAttr:E,normalsView:T,normalsAttr:V,colorAttr:L,texCoord0Attr:k,indicesView:P}=this.getBufferViews(u,t.data.buffer,r);if(null==E||null==M||null==P)continue;const I=M.count,F=(e,t)=>!e||e.data.length/e.size===I||(this._dbg(3,`${t} !== numPos. Skipping primitive.`),!1);if(!F(k,"numTexcoord")||!F(L,"numColors")||!F(V,"normals"))continue;const B=new Ce(null!=L,null!=T,k?1:0),z=Me(B);for(let t=0;t<M.count;t++){M.getVec(t,o),w(o,o,i);const s=e?j(o)-h:o[2];g.expandElevationRangeValues(s,s)}if(n){et(n,b,new Ue(E.data,3),i)}const N=n?.clone()??Xe(E,i);if(r!==f)for(let e=0;e<M.count;e++)M.getVec(e,o),x(o,o,r),M.setVec(e,o);const W=z.createBuffer(I);if(Le("position",E,null,null,W,0),null!=k){const e=W.getField("uv0",q);ke(k,e,0)}null!=L&&Le("color",L,null,null,W,0),null!=V&&Le("normalCompressed",V,null,null,W,0);const $=new Uint32Array([0,P.typedBuffer.length]),Z=xe(z),J=this._shadeNormals||this.layer.replacesTerrain,X=se(new Uint8Array(W.buffer),P.typedBuffer,Z,J),Y=new Ee(Z,J?2:0,B.textureCoordinateType,r!==f),K=new Oe({interleavedVertexData:X.data,vertexCount:X.data.byteLength/Z[0].stride,indexData:X.indices},{positions:M.typedBuffer,indices:P.typedBuffer},$,Y),Q=this.view.renderSpatialReference,ee=O(),te=[1,1,1];D(i,Q,te,s)||this._dbg(3,"Unsupported coordinate system for IM overlay"),G(i,Q,ee,s);let ie=Promise.resolve(Qe),re=S,oe=ze,ne=null,ae=null,le=null,ce=null,de=null,he=1,fe=!1,be=2,ye=!1,ge=R(0,0,0);const _e=U(He),ve="Pbr"===v;if(_){const e=e=>this._getTexture(e,t,d,l);ne=e(_.baseColorTex),de=ve?e(_.metalTex):null,ae=ve?e(_.emissiveTex):null,ce=ve?e(_.occlusionTex):null,le=ve?e(_.normalTex):null;const i=[ne,de,ae,ce,le].map(e=>e?.loadPromise??null);ie=Promise.all(i),re=A(_.baseColorFactor),oe=_.alphaCutoff??ze,ve&&(C(_e,_.metallicFactor,_.roughnessFactor,0),_.emissiveFactor&&(ge=_.emissiveFactor)),he=ue[_.alphaMode],fe=_.isDoubleSided,be=pe[_.faceCulling??"NotSet"],ye=this.layer.replacesTerrain}const we=ie.then(()=>()=>{if(this.destroyed){const e="Trying to add object to destroyed layer view";throw this._dbg(3,`${e} !== numPos. Skipping primitive.`),new Error(e)}ne||this._dbg(3,"No colour texture 1");const e=r===f?f:m(p(),r)??f,t=this._collection.createObject({toMapSpace:H(ee[0],ee[1],te[0],te[1]),transform:new Te(i,e),obb:N,geometry:K,elevationAlignable:!1},{isIntegratedMesh:!0,baseColor:re,textureAlphaCutoff:oe,mrrFactors:_e,baseColorTexture:ne,metallicRoughnessTexture:de,normalTexture:le,occlusionTexture:ce,emissionTexture:ae,hasParametersFromSource:!1,sphereDepthInterpolate:this.layer.hasGoogleUrl,alphaDiscardMode:he,doubleSided:fe,cullFace:be,isGround:ye,emissiveBaseColor:ge,usePBR:ve,slicePlaneEnabled:this.slicePlaneEnabled,opacity:this.fullOpacity,polygonOffsetEnabled:!1,ellipsoidMode:1,applySSAO:this._applySSAO});return l.textureMemoryUsage+=ne?.texture?.usedMemory??0,ve&&(l.textureMemoryUsage+=(de?.texture?.usedMemory??0)+(ae?.texture?.usedMemory??0)+(ce?.texture?.usedMemory??0)+(le?.texture?.usedMemory??0)),a+=this._collection.getObjectGPUMemoryUsage(t),t});c.push(we)}if(y.push(...await Promise.all(c)),this.destroyed){const e="IntegratedMesh3DTilesLayerView3D: createRenderable object destroyed during call";throw this._dbg(3,e),new Error(e)}}catch(k){throw d.forEach(e=>this._stage.removeTexture(e)),k}const _=y.map(e=>e()),v=new Array;d.forEach(e=>v.push(e));const{fullExtent:M}=this.layer;M?.hasZ&&M.zmax&&M.zmin&&(g.minElevation=Math.max(g.minElevation,M.zmin),g.maxElevation=Math.min(g.maxElevation,M.zmax));const E=_.reduceRight((e,t)=>e+t.intersectionGeometry.usedMemory,0),V=new $e(e.handle,_,v,E,a,l.textureMemoryUsage,n,e.stableNodeId,e.nodeDepth,g);this._lyrHandleToObjects.set(e.handle,V),this._memCache.put(Ke(V.handle),V);const{usedMemory:L}=V;return this._cacheMemory+=L,{memUsageBytes:L}}freeRenderable(e){const t=this._lyrHandleToObjects.get(e);t?(t.isLoaded?(this._loadedObjects.delete(t),this._visibleObjects.delete(t),this._usedMemory-=t.usedMemory):this._cacheMemory-=t.usedMemory,this.freeObject(t),this._lyrHandleToObjects.delete(e)):this._dbg(3,`freeRendedrable on non-existent renderable ${e}`)}freeObject(e){const t=Ke(e.handle);this._memCache.pop(t),e.textures.forEach(e=>this._stage.removeTexture(e)),e.componentObjects.forEach(e=>this._collection.destroyObject(e))}setRenderableVisibility(e,t,i){if(this.destroyed||this.destroying)return;const s=this._frustum,r=new Array;let o=!1,n=!1;for(let a=0;a<i;++a){if(!t[a])continue;const i=e[a],l=this._lyrHandleToObjects.get(i);if(l){if(l.isLoaded){this._dbg(3,`Already loaded object marked loaded again ${l.stableNodeId}`);continue}o=!0,l.isLoaded=!0,this._loadedObjects.add(l),this._usedMemory+=l.usedMemory,this._cacheMemory-=l.usedMemory;const e=l.obb?.intersectsFrustum(s)??!0;l.isVisible=e,e&&(this._visibleObjects.add(l),n||=this._isVisibileElevationRangeModifiedByChangedTileVisbility(e,l.elevationRange)),e&&l.obb&&r.push(l.obb),l.componentObjects.forEach(t=>{this._collection.setObjectVisibility(t,e)}),this._memCache.pop(Ke(i))}else this._dbg(3,`Tried to mark Non existent object ${i} as loaded`)}for(let a=0;a<i;++a){const i=e[a];if(t[a])continue;const s=this._lyrHandleToObjects.get(i);if(s){if(!s.isLoaded){this._dbg(3,`Tried to unload not-loaded object ${s.stableNodeId}`);continue}const e=this._visibleObjects.delete(s);s.isVisible=!1,s.isLoaded=!1,this._loadedObjects.delete(s),e&&(this._visibleGeometryChanged(),n||=this._isVisibileElevationRangeModifiedByChangedTileVisbility(!1,s.elevationRange)),this._usedMemory-=s.usedMemory,this._cacheMemory+=s.usedMemory,e&&s.obb&&r.push(s.obb),s.componentObjects.forEach(e=>{this._collection.setObjectVisibility(e,!1)}),this._memCache.put(Ke(i),s)}else this._dbg(3,`Tried to mark Non existent object ${i} as not loaded`)}o&&this._visibleGeometryChanged(),this._elevationProvider.notifyObjectsChanged(r),n&&this._setVisibleElevationRangeDirty()}setLodPixelThreshold(e){this._wasm?.setLodPixelThreshold(this,e)}_isVisibileElevationRangeModifiedByChangedTileVisbility(e,t){const{visibleElevationRange:i}=this,{minElevation:s,maxElevation:r}=t;return e?s<i.minElevation||r>i.maxElevation:s===i.minElevation||r===i.maxElevation}_getTexture(e,t,i,s){const r=e&&t.desc?.images?.[e.imageId];if(!r||!t.data?.buffer)return null;const o=i.get(r)??this._createTexture(e,t,i,s);return o?new Re(this._stage.renderView.textures,o.id):null}_createTexture(e,t,i,s){const r=e&&t.desc?.images?.[e.imageId];if(!r||!t.data?.buffer)return null;const o=this._stage,{renderView:n}=o,a=n.renderingContext.parameters.maxMaxAnisotropy,l=!!r.mipCount||a>1,c=fe[e.wrapMode??"None"];let d=r.alpha?6408:6407;const h=new Uint8Array(t.data.buffer,r.data.byteOffset,r.data.byteCount);let m=null,u=null,p=null;switch(r.format){case"Raw":"R8"===r.pixelFormat?(m=h,d=6403,u=""):"Rgb8"===r.pixelFormat?(m=h,d=6407,u=""):"Rgba8"===r.pixelFormat&&(m=h,d=6408,u="");break;case"Dxt1":m=h,d=6407,u="image/vnd-ms.dds";break;case"Dxt5":m=h,d=6408,u="image/vnd-ms.dds";break;case"Basis":m=h,d=6407,u="image/ktx2";break;case"Png":u="image/png",p=document.createElement("img");break;case"Jpeg":u="image/jpeg",p=document.createElement("img");break;case"Etc2":u="image/ktx",p=document.createElement("img");break;case"Astc":this._dbg(3,"Astc texture not supported");break;case"Pvrtc":this._dbg(3,"Pvrtc texture not supported")}if(p&&u){const e=new Blob([h],{type:u});p.src=URL.createObjectURL(e),m=p}if(m&&null!=u){const e=has("enable-feature:esri-compress-IM-textures")?{compressionTracker:this._compressionTracker,compressionCallback:e=>{e&&e>0&&(s.textureMemoryUsage-=e)}}:void 0,t=new Se(m,{mipmap:l,maxAnisotropy:a,encoding:u,wrap:c,pixelFormat:d,compressionOptions:e,noUnpackFlip:!0,width:r.mip0Width,height:r.mip0Height});return this._stage.addTexture(t),i.set(r,t),t}return null}getBufferViews(e,t,i){let s,r,o,n,a,l,c,d=null;for(let m=0;m<e.atrbs.length;m++){const c=e.atrbs[m],{view:u}=c,p=void 0,f=u.byteOffset+u.byteCount,b=u.byteCount/be[u.type],y=z(b);try{switch(c.sem){case"Position":3!==u.ncomp||"F32"!==u.type?this._dbg(3,"[Unsupported Feature] Unsupported view for Position ("+u+")"):(s=new J(t,u.byteOffset,p,f),r=new Ve(s.typedBuffer,y,3));break;case"Normal":if(3!==u.ncomp||"F32"!==u.type)this._dbg(3,"[Unsupported Feature] Unsupported view for Normal ("+u+")");else{const e=new J(t,u.byteOffset,p,f),s=Ae(e.typedBuffer,i);a=new K(s.buffer),l=new Ve(a.typedBuffer,y,2)}break;case"TexCoord":2!==u.ncomp||"F32"!==u.type?this._dbg(3,"[Unsupported Feature] Unsupported view for Texcoord ("+u+")"):void 0===n&&(n=new Ve(new q(t,u.byteOffset,p,f).typedBuffer,y,2));break;case"Color":4===u.ncomp?("F32"===u.type&&(d=new W(t,u.byteOffset,p,f)),"U8"===u.type&&(d=new $(t,u.byteOffset,p,f)),"U16"===u.type&&(d=new Z(t,u.byteOffset,p,f))):3===u.ncomp&&("F32"===u.type&&(d=new J(t,u.byteOffset,p,f)),"U8"===u.type&&(d=new X(t,u.byteOffset,p,f)),"U16"===u.type&&(d=new Y(t,u.byteOffset,p,f))),null==d?this._dbg(2,"[Unsupported Feature] Unsupported view for Color ("+u+")"):o=new Ve(d.typedBuffer,y,u.ncomp);break;case"FeatureIndex":break;default:this._dbg(2,"[Unsupported Feature] Unsupported semantic ("+c.sem+"). Skipping vertex attribute.")}}catch(h){this._dbg(2,"Error Creating buffer ("+h+"). Skipping vertex attribute.")}}if(e.index){const i=e.index.view,s=void 0,r=i.byteOffset+i.byteCount;switch(e.index.view.type){case"U16":c=new ee(t,i.byteOffset,s,r);break;case"U32":c=new Q(t,i.byteOffset,s,r);break;default:this._dbg(3,"[Unsupported Feature] index type not supported ("+i.type+").")}}if(null==c&&null!=s){const e=s.count;c=c=e<65535?new ee(new Uint16Array(e).buffer):new Q(new Uint32Array(e).buffer);for(let t=0;t<e;t++)c.set(t,t)}return{positionView:s,positionAttr:r,colorAttr:o,texCoord0Attr:n,indicesView:c,normalsView:a,normalsAttr:l}}_loadModifications(){if(this.removeHandles("modifications"),null==this.layer.modifications)return void(this._modifications=[]);const e=this.layer.modifications;this.addHandles(this._updatingHandles.addOnCollectionChange(()=>e,()=>{this._modifications=e.filter(e=>!(this.layer.isUsedAsGroundLayer&&"replace"!==e.type)).toArray(),this._modifications.length<e.length&&t.getLogger(this).info("Ground layers only support replace modifications. Other modification types have been ignored.")},o),"modifications")}_deletePerObjectData(e){this._wasm?.onRenderableEvicted(this,e.handle,e.usedMemory),this.freeRenderable(e.handle)}_dbg(e,i){this._dbgFlags.has(e)&&(3===e?t.getLogger(this).error(i):t.getLogger(this).warn(i))}};e([c()],qe.prototype,"fullOpacity",null),e([c({readOnly:!0})],qe.prototype,"ready",null),e([c({type:[te]})],qe.prototype,"_modifications",void 0),e([c()],qe.prototype,"_visibleGeometryChangedSchedulerHandle",void 0),e([c()],qe.prototype,"layer",void 0),e([c({readOnly:!0})],qe.prototype,"visibleAtCurrentScale",null),e([c({readOnly:!0})],qe.prototype,"_collection",null),e([c()],qe.prototype,"elevationOffset",null),e([c({readOnly:!0})],qe.prototype,"visibleElevationRange",null),qe=e([d("esri.views.3d.layers.IntegratedMesh3DTilesLayerView3D")],qe);const We=qe;class $e{constructor(e,t,i,s,r,o,n,a,l,c){this.handle=e,this.componentObjects=t,this.textures=i,this.cpuMemoryUsage=s,this.vboMemoryUsage=r,this.textureMemoryUsage=o,this.obb=n,this.stableNodeId=a,this.nodeDepth=l,this.elevationRange=c,this.isLoaded=!1,this.isVisible=!1;const d=O();n?.getCenter(d),this._obbCenterX=d[0],this._obbCenterY=d[1],this._obbCenterZ=d[2];const h=n?.radius??-1;this._obbRadius=h,this._obbRadiusSquared=h*h;const m=n?.halfSize;this._obbShortestHalfsize=m?Math.min(m[0],m[1],m[2]):0}get usedMemory(){return this.textureMemoryUsage+this.vboMemoryUsage+this.cpuMemoryUsage}get mbsRadius(){return this._obbRadius}get mbsCenter(){return this.obb?.center??V}boundingVolumeIntersectsRay(e,t){if(!this.obb)return!0;const{_obbCenterX:i,_obbCenterY:s,_obbCenterZ:r}=this,o=i-e[0],n=s-e[1],a=r-e[2],l=o*t[0]+n*t[1]+a*t[2];return o*o+n*n+a*a-l*l<=this._obbRadiusSquared&&this.obb.intersectRay(e,t)}boundingVolumeIntersectsSphere(e){const t=this._obbRadius;if(t<0)return!0;const i=e.center,s=e.radius,r=t+s,o=this._obbCenterX-i[0];if(o>r)return!1;const n=this._obbCenterY-i[1];if(n>r)return!1;const a=this._obbCenterZ-i[2];if(a>r)return!1;const l=o*o+n*n+a*a;if(l>r*r)return!1;if(l<=(this._obbShortestHalfsize+s)**2)return!0;return Math.sqrt(l)+t<=s||(this.obb?.intersectSphere(e)??!0)}}function Ze(e){return Math.round(e/1048.576)/1e3}const Je=O();function Xe(e,t){const i=je(e);return w(Je,i.center,t),i.center=Je,i}function Ye(e){return e?new we(e.center,e.halfSize,y(...e.quaternion)):null}function Ke(e){return`${e}`}const Qe=new Array;function et(e,t,i,s){const{center:r}=e,o=u(st,e.quaternionConjugate),n=x(tt,r,o),{data:a}=i,l=a.length/i.stride,c=it;for(let d=0;d<l;++d){const e=3*d;for(let t=0;t<3;++t)c[t]=a[e+t]+s[t];x(c,c,o),_(c,c,n),M(c,c),E(t,t,c)}e.halfSize=t}const tt=O(),it=O(),st=p(),rt=.2;export{We as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{pt2px as e}from"../../../../core/screenUtils.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ZEROS as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{RenderingInfo as n}from"../../../../renderers/support/RenderingInfo.js";import{textSymbolLayerSupportsVerticalOffset as i}from"../../../../symbols/callouts/calloutUtils.js";import{perObjectElevationAligner as s}from"./ElevationAligners.js";import{elevationModeChangeUpdateType as a,needsElevationUpdates2D as o}from"./elevationAlignmentUtils.js";import{Graphics3DGraphicCreationContext as l}from"./Graphics3DGraphicCreationContext.js";import{Graphics3DObject3DGraphicLayer as c}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DObjectMetadata as h}from"./Graphics3DObjectMetadata.js";import{Graphics3DSymbolLayer as p}from"./Graphics3DSymbolLayer.js";import{computeCentroid as d}from"./graphicUtils.js";import{createStageObject as m,extendPointGraphicElevationContext as f}from"./pointUtils.js";import{SymbolComplexity as u}from"./SymbolComplexity.js";import{isObjectSymbol3DLayer as g,isTextSymbol3DLayer as v}from"../support/layerUtils.js";import{Attribute as y}from"../../webgl-engine/lib/Attribute.js";import{Geometry as x}from"../../webgl-engine/lib/Geometry.js";import{LineCalloutMaterial as _,Parameters as b,uniqueMaterialIdentifier as O}from"../../webgl-engine/materials/LineCalloutMaterial.js";class C extends p{static{this.elevationModeChangeTypes={definedChanged:1,staysOnTheGround:1,onTheGroundChanged:2}}constructor(e,t){super(e,null,t,G),this._elevationOptions={supportsOffsetAdjustment:!0,supportsOnTheGround:!1},this.ensureDrapedStatus(!1)}async doLoad(){this._materials[0]=new _(this._materialParameters,this._context.spherical)}_perInstanceMaterialParameters(e){const t=this._materialParameters;return t.horizontalScreenOffset=e.horizontalScreenOffset??0,t.centerOffsetUnits=e.centerOffsetUnits||"world",t}get _materialParameters(){const t=new b,n=this.symbol,i=n.callout;if(i.color){const e=i.color.toUnitRGBA();e[3]*=this._getLayerOpacity(),t.color=e}else t.color=r;if(t.size=e(i.size||0),n.verticalOffset){const{screenLength:r,minWorldLength:i,maxWorldLength:s}=n.verticalOffset;t.verticalOffset={screenLength:e(r),minWorldLength:i||0,maxWorldLength:null!=s?s:1/0}}t.borderColor=null!=i.border?.color?i.border.color.toUnitRGBA():null;const s=n.symbolLayers.at(0),a=g(s),o="label-3d"===n.type;return t.useVisibilityPixel=!1,a&&(t.shaderPolygonOffset=0),t.hudDepthAlignStart=o,t.hasSlicePlane=this._context.slicePlaneEnabled,t.screenSizePerspective=this._context.screenSizePerspectiveEnabled?this.view.screenSizePerspective.parameters:null,t}_defaultElevationInfoNoZ(){return w}createGraphics3DGraphic(e,t){const r=e.renderingInfo,n=e.graphic,s=this.createElevationContextForGraphic(n,r.elevationOffset||0),a=r.symbol,o="on-the-ground"===this._elevationContext.mode&&("cim"===a.type||!a.symbolLayers.some(e=>g(e)||v(e)));if("label-3d"!==a.type&&o)return null;if("point-3d"===a.type&&a.symbolLayers.every(e=>"text"===e.type&&!i(e)))return null;const l=d(n.geometry);return null==l?null:this._createAs3DShape(l,s,r,n.uid,t)}layerOpacityChanged(){this._materials[0]?.setParameters(this._materialParameters)}layerScreenSizePerspectiveChanged(){const e=this._context.screenSizePerspectiveEnabled?this.view.screenSizePerspective.parameters:null;this._materials[0]?.setParameters({screenSizePerspective:e})}layerElevationInfoChanged(e,t,r){const n=this._elevationContext.mode,i=a(C.elevationModeChangeTypes,r,n);return 1!==i||e?.forEach(e=>{const r=t(e);null!=r&&this.graphics3DGraphicLayerElevationInfoChanged(e.graphic,r)}),i}slicePlaneEnabledChanged(){return this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),!0}physicalBasedRenderingChanged(){return!0}createElevationContextForGraphic(e,t=0){const r=super.createElevationContextForGraphic(e);return r.addOffsetRenderUnits(t),r}updateElevationContextForGraphic(e,t,r=0){super.updateElevationContextForGraphic(e,t),e.addOffsetRenderUnits(r)}graphics3DGraphicLayerElevationInfoChanged(e,t){const{elevationContext:r,metadata:n}=t;this.updateElevationContextForGraphic(r,e,n?.elevationOffset??0),t.needsElevationUpdates=o(r.mode)}computeComplexity(){return new u({verticesPerFeature:6})}_getOrCreateMaterial(e,t){const r=this._perInstanceMaterialParameters(e),n=O(r);if(n===this._materials[0]?.uniqueMaterialIdentifier)return this._materials[0];if(t){let e=t.get(n);return null==e&&(e=new _(r,this._context.spherical),t.set(n,e)),e}return new _(r,this._context.spherical)}_createAs3DShape(e,t,r,n,i){const a=this._context.layerViewUid,l=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:n,layerViewUid:a}),p=this._getOrCreateMaterial(r,i),d=new x(p,P(r),null,1,l),u=m(this._context,e,d,t,n);if(null==u)return null;const g=new c(this,u.object,null,s,t);return g.hiddenIfDeconflicted=!0,g.metadata=new h(r.elevationOffset),g.alignedSampledElevation=u.sampledElevation,g.needsElevationUpdates=o(t.mode),f(g,e,this._context.elevationProvider),g}}function P(e){const{translation:t,centerOffset:r,groundDistance:n}=e,i=new y(t?[t[0],t[1],t[2]]:[0,0,0],j,3,!0),s=new y(r?[r[0],r[1],r[2]]:[0,0,0],j,3,!0),a=new y(null!=n?[n]:[1],j,1,!0);return[["position",i],["normal",new y([0,0,1],j,3,!0)],["centerOffset",s],["groundDistance",a]]}const j=[0],w={mode:"relative-to-ground",offset:0},G={ignoreDrivers:!0,renderPriority:0,renderPriorityStep:1};class E extends n{constructor(e,r,n=t(),i=t(),s=0,a=0,o="world",l=0){super(e,r),this.translation=n,this.centerOffset=i,this.groundDistance=s,this.horizontalScreenOffset=a,this.centerOffsetUnits=o,this.elevationOffset=l}}class S extends l{}export{C as Graphics3DLineCalloutSymbolLayer,S as LineCalloutCreationContext,E as LineCalloutSymbolLayerRenderingInfo};
2
+ import{pt2px as e}from"../../../../core/screenUtils.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ZEROS as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{RenderingInfo as n}from"../../../../renderers/support/RenderingInfo.js";import{textSymbolLayerSupportsVerticalOffset as i}from"../../../../symbols/callouts/calloutUtils.js";import{perObjectElevationAligner as s}from"./ElevationAligners.js";import{elevationModeChangeUpdateType as a,needsElevationUpdates2D as o}from"./elevationAlignmentUtils.js";import{Graphics3DGraphicCreationContext as l}from"./Graphics3DGraphicCreationContext.js";import{Graphics3DObject3DGraphicLayer as c}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DObjectMetadata as h}from"./Graphics3DObjectMetadata.js";import{Graphics3DSymbolLayer as p}from"./Graphics3DSymbolLayer.js";import{computeCentroid as m}from"./graphicUtils.js";import{createStageObject as d,extendPointGraphicElevationContext as f}from"./pointUtils.js";import{SymbolComplexity as u}from"./SymbolComplexity.js";import{isObjectSymbol3DLayer as g,isTextSymbol3DLayer as v}from"../support/layerUtils.js";import{Attribute as y}from"../../webgl-engine/lib/Attribute.js";import{Geometry as x}from"../../webgl-engine/lib/Geometry.js";import{LineCalloutMaterial as b,Parameters as _,uniqueMaterialIdentifier as C}from"../../webgl-engine/materials/LineCalloutMaterial.js";import{getLineCalloutMaterialBaseInstance as O}from"../../webgl-engine/materials/LineCalloutMaterialBaseInstance.js";class P extends p{static{this.elevationModeChangeTypes={definedChanged:1,staysOnTheGround:1,onTheGroundChanged:2}}constructor(e,t){super(e,null,t,E),this._elevationOptions={supportsOffsetAdjustment:!0,supportsOnTheGround:!1},this.ensureDrapedStatus(!1)}async doLoad(){this._materials[0]=new b(this._materialParameters,this._context.spherical)}_perInstanceMaterialParameters(e){const t=this._materialParameters;return t.horizontalScreenOffset=e.horizontalScreenOffset??0,t.centerOffsetUnits=e.centerOffsetUnits||"world",t}get _materialParameters(){const t=new _,n=this.symbol,i=n.callout;if(i.color){const e=i.color.toUnitRGBA();e[3]*=this._getLayerOpacity(),t.color=e}else t.color=r;if(t.size=e(i.size||0),n.verticalOffset){const{screenLength:r,minWorldLength:i,maxWorldLength:s}=n.verticalOffset;t.verticalOffset={screenLength:e(r),minWorldLength:i||0,maxWorldLength:null!=s?s:1/0}}t.borderColor=null!=i.border?.color?i.border.color.toUnitRGBA():null;const s=n.symbolLayers.at(0),a=g(s),o="label-3d"===n.type;return t.useVisibilityPixel=!1,a&&(t.shaderPolygonOffset=0),t.hudDepthAlignStart=o,t.hasSlicePlane=this._context.slicePlaneEnabled,t.screenSizePerspective=this._context.screenSizePerspectiveEnabled?this.view.screenSizePerspective.parameters:null,t}_defaultElevationInfoNoZ(){return G}createGraphics3DGraphic(e,t){const r=e.renderingInfo,n=e.graphic,s=this.createElevationContextForGraphic(n,r.elevationOffset||0),a=r.symbol,o="on-the-ground"===this._elevationContext.mode&&("cim"===a.type||!a.symbolLayers.some(e=>g(e)||v(e)));if("label-3d"!==a.type&&o)return null;if("point-3d"===a.type&&a.symbolLayers.every(e=>"text"===e.type&&!i(e)))return null;const l=m(n.geometry);return null==l?null:this._createAs3DShape(l,s,r,n.uid,t)}layerOpacityChanged(){this._materials[0]?.setParameters(this._materialParameters)}layerScreenSizePerspectiveChanged(){const e=this._context.screenSizePerspectiveEnabled?this.view.screenSizePerspective.parameters:null;this._materials[0]?.setParameters({screenSizePerspective:e})}layerElevationInfoChanged(e,t,r){const n=this._elevationContext.mode,i=a(P.elevationModeChangeTypes,r,n);return 1!==i||e?.forEach(e=>{const r=t(e);null!=r&&this.graphics3DGraphicLayerElevationInfoChanged(e.graphic,r)}),i}slicePlaneEnabledChanged(){return this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),!0}physicalBasedRenderingChanged(){return!0}createElevationContextForGraphic(e,t=0){const r=super.createElevationContextForGraphic(e);return r.addOffsetRenderUnits(t),r}updateElevationContextForGraphic(e,t,r=0){super.updateElevationContextForGraphic(e,t),e.addOffsetRenderUnits(r)}graphics3DGraphicLayerElevationInfoChanged(e,t){const{elevationContext:r,metadata:n}=t;this.updateElevationContextForGraphic(r,e,n?.elevationOffset??0),t.needsElevationUpdates=o(r.mode)}computeComplexity(){return new u({verticesPerFeature:6})}_getOrCreateMaterial(e,t){const r=this._perInstanceMaterialParameters(e),n=C(r);if(n===this._materials[0]?.uniqueMaterialIdentifier)return this._materials[0];if(t){let e=t.get(n);return null==e&&(e=new b(r,this._context.spherical),t.set(n,e)),e}return new b(r,this._context.spherical)}_createAs3DShape(e,t,r,n,i){const a=this._context.layerViewUid,l=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:n,layerViewUid:a}),p=this._getOrCreateMaterial(r,i),m=new x(p,j(r),null,1,l,void 0,O()),u=d(this._context,e,m,t,n);if(null==u)return null;const g=new c(this,u.object,null,s,t);return g.hiddenIfDeconflicted=!0,g.metadata=new h(r.elevationOffset),g.alignedSampledElevation=u.sampledElevation,g.needsElevationUpdates=o(t.mode),f(g,e,this._context.elevationProvider),g}}function j(e){const{translation:t,centerOffset:r,groundDistance:n}=e,i=new y(t?[t[0],t[1],t[2]]:[0,0,0],w,3,!0),s=new y(r?[r[0],r[1],r[2]]:[0,0,0],w,3,!0),a=new y(null!=n?[n]:[1],w,1,!0);return[["position",i],["normal",new y([0,0,1],w,3,!0)],["centerOffset",s],["groundDistance",a]]}const w=[0],G={mode:"relative-to-ground",offset:0},E={ignoreDrivers:!0,renderPriority:0,renderPriorityStep:1};class S extends n{constructor(e,r,n=t(),i=t(),s=0,a=0,o="world",l=0){super(e,r),this.translation=n,this.centerOffset=i,this.groundDistance=s,this.horizontalScreenOffset=a,this.centerOffsetUnits=o,this.elevationOffset=l}}class L extends l{}export{P as Graphics3DLineCalloutSymbolLayer,L as LineCalloutCreationContext,S as LineCalloutSymbolLayerRenderingInfo};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{pt2px as e}from"../../../../core/screenUtils.js";import{e as t}from"../../../../chunks/earcut.js";import{ZEROS as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{fromBuffer as i,intersectsClippingArea as s,empty as o,expandWithAABB as n,create as a}from"../../../../geometry/support/aaBoundingBox.js";import{newDoubleArray as l}from"../../../../geometry/support/DoubleArray.js";import{newFloatArray as c,floatSubArray as p}from"../../../../geometry/support/FloatArray.js";import{elevationModeChangeUpdateType as h,needsElevationUpdates2D as u}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as d}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as m}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as _}from"./Graphics3DSymbolLayer.js";import{mixinColorAndOpacity as g}from"./graphicUtils.js";import{parseCapType as y}from"./lineUtils.js";import{geometryAsPolygon as f,createIndices3D as v,createColorGeometry as b,PolygonCreationDataBase as x}from"./polygonUtils.js";import{initFastSymbolUpdatesState as S,updateFastSymbolUpdatesState as C,getAttributeValue as P,ConvertOptions as D}from"../support/FastSymbolUpdates.js";import{createMaterial as O,uvElevationAligner as U}from"../support/patternUtils.js";import{createMapSpaceUVCoords as j,createMapSpaceUVCoordsDraped as w}from"../support/uvUtils.js";import{createGeometry as G}from"../../support/engineContent/line.js";import{polygonToRenderInfo as A,polygonToRenderInfoDraped as E}from"../../support/renderInfoUtils/polygon.js";import{Object3D as M}from"../../webgl-engine/lib/Object3D.js";import{RenderGeometry as V}from"../../webgl-engine/lib/RenderGeometry.js";import{isScreenSizePerspectiveEnabled as L}from"../../webgl-engine/lib/screenSizePerspectiveUtils.js";import{getStipplePatternForLinePattern as R}from"../../webgl-engine/materials/lineStippleUtils.js";import{PatternMaterial as I}from"../../webgl-engine/materials/PatternMaterial.js";import{RibbonLineMaterial as z}from"../../webgl-engine/materials/RibbonLineMaterial.js";const B=["polyline","polygon","extent"];class F extends _{static{this.elevationModeChangeTypes={definedChanged:2,staysOnTheGround:0,onTheGroundChanged:2}}constructor(e,t,r,i){super(e,t,r,i,q(t)),this._needsUV=!1,this._materials=[]}async doLoad(){this._fastUpdates=S(this._context.renderer,this._vvConvertOptions)}get _materialColor(){return this.symbolLayer.material?.color}_createMaterials(){if(this._materials.length>0)return;const t=this._materialColor,r=this._getCombinedOpacityAndColor(t);this._materials[0]=O(this.symbolLayer,{color:r,forceTransparentMode:this.needsDrivenTransparentPass,discardInvisibleFragments:!0,polygonOffset:!1,hasVertexColors:this._drivenProperties.color||this._drivenProperties.opacity,draped:this.draped,hasSlicePlane:this._context.slicePlaneEnabled,...this._fastUpdates?.materialParameters}),this._needsUV=this._materials[0]instanceof I;const i=this.symbolLayer.outline;if(W(i)){const t=R(i.pattern);this._materials[1]=new z({width:e(i.size),color:this._getOutlineColor(),hasPolygonOffset:!0,hasSlicePlane:this._context.slicePlaneEnabled,isClosed:!0,stipplePattern:t,cap:y(i.patternCap||"butt"),screenSizePerspective:this._outlineScreenSizePerspective},this.view.state.isGlobal)}}get _outlineScreenSizePerspective(){return!this.draped&&L(this._context.layer.screenSizePerspectiveEnabled)?this.view.screenSizePerspective.parameters:null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,B,this.symbolLayer.type))return null;const r=this._getDrivenUInt8Color(e.renderingInfo,this._materialColor,!1),i=this.createElevationContextForGraphic(t);return this.ensureDrapedStatus("on-the-ground"===i.mode),this._createMaterials(),this.draped?this._createAsOverlay(e.renderingInfo,t,r):this._createAs3DShape(e.renderingInfo,t,r,i)}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return 0;if(!C(this._fastUpdates,t,this._vvConvertOptions))return 0;this._materials[0]?.setParameters(this._fastUpdates.materialParameters)}return 2}layerOpacityChanged(){if(null!=this._materials[0]){const e=this._materials[0].parameters.color,t=this._materialColor,r=this._getCombinedOpacity(t);this._materials[0].setParameters({color:[e[0],e[1],e[2],r],forceTransparentMode:this.needsDrivenTransparentPass})}if(null!=this._materials[1]){const e=this._materials[1].parameters.color;this._materials[1].setParameters({color:[e[0],e[1],e[2],this._getOutlineOpacity()]})}}layerScreenSizePerspectiveChanged(){this._materials[1]?.setParameters({screenSizePerspective:this._outlineScreenSizePerspective})}layerElevationInfoChanged(e,t,r){const i=this._elevationContext.mode,s=h(F.elevationModeChangeTypes,r,i);if(1!==s)return s;const o=u(i);return this.updateGraphics3DGraphicElevationInfo(e,t,()=>o)}slicePlaneEnabledChanged(){if(this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),this._materials[1]){const e={hasSlicePlane:this._context.slicePlaneEnabled};this._materials[1].setParameters(e)}return!0}physicalBasedRenderingChanged(){return!0}_createAs3DShape(e,t,r,i){const s=f(t.geometry);if(!s)return null;const o=A(s,this._context.elevationProvider,this._context.renderCoordsHelper,i),n=new H(o,r,this._context.layerViewUid,t.uid),a=n.renderData.position.length/3;if(this._needsUV&&(n.uvMapSpace=c(4*a,!0),n.boundingRect=l(9),j(n.uvMapSpace,n.boundingRect,n.renderData.position,this._context.renderCoordsHelper)),n.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(n),this._createAs3DShapeFill(e,n),this._materials[1]&&this._createAs3DShapeOutline(n),this._logGeometryCreationWarnings(n.renderData,s.rings,"rings","FillSymbol3DLayer"),0===n.outGeometries.length)return null;const p=new M({geometries:n.outGeometries,castShadow:!1,layerViewUid:this._context.layerViewUid,graphicUid:t.uid}),h=new m(this,p,null,U,i);return h.alignedSampledElevation=n.renderData.sampledElevation,h.needsElevationUpdates=u(i.mode),h}_createAs3DShapeFill(e,t){const r=t.renderData.polygons;for(const{position:o,mapPositions:n,holeIndices:a,index:l,count:c}of r){if(null!=this._context.clippingExtent&&(i(n,T),!s(T,this._context.clippingExtent)))continue;const r=v(n,a,this._context.elevationProvider.spatialReference);if(0===r.length)continue;const h=this._fastUpdates?.visualVariables.color,u=b({material:this._materials[0],indices:r,mapPositions:n,attributeData:{position:o,color:h?null:t.color,colorFeature:h?P(h,e.color):null,uvMapSpace:this._needsUV?p(t.uvMapSpace,4*l,4*c):null,boundingRect:this._needsUV?t.boundingRect:null,olidColor:t.olidColor}});t.outGeometries.push(u)}}_createAs3DShapeOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(const{mapPositions:r,position:o}of t){if(null!=this._context.clippingExtent&&(i(r,T),!s(T,this._context.clippingExtent)))continue;const t=G(this._materials[1],{overlayInfo:null,removeDuplicateStartEnd:!0,mapPositions:r,attributeData:{position:o}},e.olidColor);e.outGeometries.push(t)}}_createAsOverlay(e,t,r){const i=f(t.geometry);if(null==i)return null;this._materials[0].renderPriority=this._renderPriority+this._renderPriorityStep/2,null!=this._materials[1]&&(this._materials[1].renderPriority=this._renderPriority);const s=E(i,this._context.overlaySR),n=new k(s,r,this._context.layerViewUid,t.uid),a=n.renderData.position.length/3;return this._needsUV&&(n.uvMapSpace=c(4*a,!0),w(n.uvMapSpace,n.renderData.position,this._context.overlaySR,this._context.graphicsCoreOwner.view.state.viewingMode)),n.outBoundingBox=o(),n.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(n),this._createAsOverlayFill(e,n),this._materials[1]&&this._createAsOverlayOutline(n),this._logGeometryCreationWarnings(n.renderData,i.rings,"rings","FillSymbol3DLayer"),0===n.outGeometries.length?null:new d(this,n.outGeometries,n.outBoundingBox,this._context.drapeSourceRenderer)}_createAsOverlayFill(e,r){const o=r.renderData.polygons;for(const{position:a,holeIndices:l,index:c,count:h}of o){const o=i(a,T);if(!s(o,this._context.clippingExtent))continue;const u=t(a,l,3);if(0===u.length)continue;n(r.outBoundingBox,o);const d=this._fastUpdates?.visualVariables.color,m=b({material:this._materials[0],indices:u,attributeData:{position:a,color:d?null:r.color,colorFeature:d?P(d,e.color):null,uvMapSpace:this._needsUV?p(r.uvMapSpace,4*c,4*h):null,olidColor:r.olidColor}});r.outGeometries.push(new V(m,r))}}_createAsOverlayOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(let r=0;r<t.length;++r){const{position:o}=t[r];if(i(o,T),!s(T,this._context.clippingExtent))continue;n(e.outBoundingBox,T);const a=G(this._materials[1],{overlayInfo:{spatialReference:this._context.overlaySR,renderCoordsHelper:this._context.renderCoordsHelper},removeDuplicateStartEnd:!0,attributeData:{position:o}},e.olidColor);e.outGeometries.push(new V(a,e))}}_getOutlineOpacity(){const e=this.symbolLayer?.outline?.color;return(this.draped?1:this._getLayerOpacity())*(null!=e?e.a:0)}_getOutlineColor(){const e=this.symbolLayer?.outline?.color,t=this._getOutlineOpacity();return g(e?.toUnitRGB(),t)}test(){return{...super.test(),createAsOverlay:(e,t,r)=>this._createAsOverlay(e,t,r),createAs3DShape:(e,t,r,i)=>this._createAs3DShape(e,t,r,i)}}get _vvConvertOptions(){return new D({supports:{size:!1,color:!0,rotation:!1,opacity:!1},fallbackColor:this._materialColor?.toUnitRGBA()??r})}}const T=a();class H extends x{constructor(e,t,r,i){super(e,r,i),this.color=t}}class k extends x{constructor(e,t,r,i){super(e,r,i),this.color=t}}function W(e){return null!=e?.size&&e.size>0&&null!=e.color&&(null==e.pattern||"style"!==e.pattern.type||"none"!==e.pattern.style)}function q(e){return 1===(e.material?.color?.a??0)}export{F as Graphics3DPolygonFillSymbolLayer};
2
+ import has from"../../../../core/has.js";import{pt2px as e}from"../../../../core/screenUtils.js";import{e as t}from"../../../../chunks/earcut.js";import{ZEROS as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{fromBuffer as i,intersectsClippingArea as s,empty as o,expandWithAABB as n,create as a}from"../../../../geometry/support/aaBoundingBox.js";import{newDoubleArray as l}from"../../../../geometry/support/DoubleArray.js";import{newFloatArray as c,floatSubArray as p}from"../../../../geometry/support/FloatArray.js";import{elevationModeChangeUpdateType as h,needsElevationUpdates2D as u}from"./elevationAlignmentUtils.js";import{Graphics3DDrapedGraphicLayer as m}from"./Graphics3DDrapedGraphicLayer.js";import{Graphics3DObject3DGraphicLayer as d}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as _}from"./Graphics3DSymbolLayer.js";import{mixinColorAndOpacity as g}from"./graphicUtils.js";import{parseCapType as y}from"./lineUtils.js";import{geometryAsPolygon as f,createIndices3D as v,createColorGeometry as b,PolygonCreationDataBase as S}from"./polygonUtils.js";import{initFastSymbolUpdatesState as x,updateFastSymbolUpdatesState as C,getAttributeValue as P,ConvertOptions as D}from"../support/FastSymbolUpdates.js";import{createMaterial as O,uvElevationAligner as U}from"../support/patternUtils.js";import{createMapSpaceUVCoords as j,createMapSpaceUVCoordsDraped as w}from"../support/uvUtils.js";import{createGeometry as G}from"../../support/engineContent/line.js";import{polygonToRenderInfo as A,polygonToRenderInfoDraped as E}from"../../support/renderInfoUtils/polygon.js";import{Object3D as L}from"../../webgl-engine/lib/Object3D.js";import{RenderGeometry as M}from"../../webgl-engine/lib/RenderGeometry.js";import{isScreenSizePerspectiveEnabled as V}from"../../webgl-engine/lib/screenSizePerspectiveUtils.js";import{getStipplePatternForLinePattern as R}from"../../webgl-engine/materials/lineStippleUtils.js";import{PatternMaterial as I}from"../../webgl-engine/materials/PatternMaterial.js";import{RibbonLineMaterial as z}from"../../webgl-engine/materials/RibbonLineMaterial.js";const B=["polyline","polygon","extent"];class F extends _{static{this.elevationModeChangeTypes={definedChanged:2,staysOnTheGround:0,onTheGroundChanged:2}}constructor(e,t,r,i){super(e,t,r,i,q(t)),this._needsUV=!1,this._materials=[]}async doLoad(){this._fastUpdates=x(this._context.renderer,this._vvConvertOptions)}get _materialColor(){return this.symbolLayer.material?.color}get _emissiveStrength(){if(has("enable-feature:emissive-on-none-volumetrics")){const e=this.symbolLayer.material?.emissive;return("color"===e?.source?e?.strength:void 0)??0}return 0}_createMaterials(){if(this._materials.length>0)return;const t=this._materialColor,r=this._getCombinedOpacityAndColor(t);this._materials[0]=O(this.symbolLayer,{color:r,forceTransparentMode:this.needsDrivenTransparentPass,discardInvisibleFragments:!0,polygonOffset:!1,hasVertexColors:this._drivenProperties.color||this._drivenProperties.opacity,draped:this.draped,hasSlicePlane:this._context.slicePlaneEnabled,emissiveStrength:this._emissiveStrength,...this._fastUpdates?.materialParameters}),this._needsUV=this._materials[0]instanceof I;const i=this.symbolLayer.outline;if(W(i)){const t=R(i.pattern);this._materials[1]=new z({width:e(i.size),color:this._getOutlineColor(),hasPolygonOffset:!0,hasSlicePlane:this._context.slicePlaneEnabled,isClosed:!0,stipplePattern:t,cap:y(i.patternCap||"butt"),screenSizePerspective:this._outlineScreenSizePerspective},this.view.state.isGlobal)}}get _outlineScreenSizePerspective(){return!this.draped&&V(this._context.layer.screenSizePerspectiveEnabled)?this.view.screenSizePerspective.parameters:null}createGraphics3DGraphic(e){const t=e.graphic;if(!this._validateGeometry(t.geometry,B,this.symbolLayer.type))return null;const r=this._getDrivenUInt8Color(e.renderingInfo,this._materialColor,!1),i=this.createElevationContextForGraphic(t);return this.ensureDrapedStatus("on-the-ground"===i.mode),this._createMaterials(),this.draped?this._createAsOverlay(e.renderingInfo,t,r):this._createAs3DShape(e.renderingInfo,t,r,i)}applyRendererDiff(e,t){for(const r in e.diff){if("visualVariables"!==r)return 0;if(!C(this._fastUpdates,t,this._vvConvertOptions))return 0;this._materials[0]?.setParameters(this._fastUpdates.materialParameters)}return 2}layerOpacityChanged(){if(null!=this._materials[0]){const e=this._materials[0].parameters.color,t=this._materialColor,r=this._getCombinedOpacity(t);this._materials[0].setParameters({color:[e[0],e[1],e[2],r],forceTransparentMode:this.needsDrivenTransparentPass})}if(null!=this._materials[1]){const e=this._materials[1].parameters.color;this._materials[1].setParameters({color:[e[0],e[1],e[2],this._getOutlineOpacity()]})}}layerScreenSizePerspectiveChanged(){this._materials[1]?.setParameters({screenSizePerspective:this._outlineScreenSizePerspective})}layerElevationInfoChanged(e,t,r){const i=this._elevationContext.mode,s=h(F.elevationModeChangeTypes,r,i);if(1!==s)return s;const o=u(i);return this.updateGraphics3DGraphicElevationInfo(e,t,()=>o)}slicePlaneEnabledChanged(){if(this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),this._materials[1]){const e={hasSlicePlane:this._context.slicePlaneEnabled};this._materials[1].setParameters(e)}return!0}physicalBasedRenderingChanged(){return!0}_createAs3DShape(e,t,r,i){const s=f(t.geometry);if(!s)return null;const o=A(s,this._context.elevationProvider,this._context.renderCoordsHelper,i),n=new H(o,r,this._context.layerViewUid,t.uid),a=n.renderData.position.length/3;if(this._needsUV&&(n.uvMapSpace=c(4*a,!0),n.boundingRect=l(9),j(n.uvMapSpace,n.boundingRect,n.renderData.position,this._context.renderCoordsHelper)),n.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(n),this._createAs3DShapeFill(e,n),this._materials[1]&&this._createAs3DShapeOutline(n),this._logGeometryCreationWarnings(n.renderData,s.rings,"rings","FillSymbol3DLayer"),0===n.outGeometries.length)return null;const p=new L({geometries:n.outGeometries,castShadow:!1,layerViewUid:this._context.layerViewUid,graphicUid:t.uid}),h=new d(this,p,null,U,i);return h.alignedSampledElevation=n.renderData.sampledElevation,h.needsElevationUpdates=u(i.mode),h}_createAs3DShapeFill(e,t){const r=t.renderData.polygons;for(const{position:o,mapPositions:n,holeIndices:a,index:l,count:c}of r){if(null!=this._context.clippingExtent&&(i(n,T),!s(T,this._context.clippingExtent)))continue;const r=v(n,a,this._context.elevationProvider.spatialReference);if(0===r.length)continue;const h=this._fastUpdates?.visualVariables.color,u=b({material:this._materials[0],indices:r,mapPositions:n,attributeData:{position:o,color:h?null:t.color,colorFeature:h?P(h,e.color):null,uvMapSpace:this._needsUV?p(t.uvMapSpace,4*l,4*c):null,boundingRect:this._needsUV?t.boundingRect:null,olidColor:t.olidColor}});t.outGeometries.push(u)}}_createAs3DShapeOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(const{mapPositions:r,position:o}of t){if(null!=this._context.clippingExtent&&(i(r,T),!s(T,this._context.clippingExtent)))continue;const t=G(this._materials[1],{overlayInfo:null,removeDuplicateStartEnd:!0,mapPositions:r,attributeData:{position:o}},e.olidColor);e.outGeometries.push(t)}}_createAsOverlay(e,t,r){const i=f(t.geometry);if(null==i)return null;this._materials[0].renderPriority=this._renderPriority+this._renderPriorityStep/2,null!=this._materials[1]&&(this._materials[1].renderPriority=this._renderPriority);const s=E(i,this._context.overlaySR),n=new k(s,r,this._context.layerViewUid,t.uid),a=n.renderData.position.length/3;return this._needsUV&&(n.uvMapSpace=c(4*a,!0),w(n.uvMapSpace,n.renderData.position,this._context.overlaySR,this._context.graphicsCoreOwner.view.state.viewingMode)),n.outBoundingBox=o(),n.olidColor=this._context.stage.renderView?.getObjectAndLayerIdColor(n),this._createAsOverlayFill(e,n),this._materials[1]&&this._createAsOverlayOutline(n),this._logGeometryCreationWarnings(n.renderData,i.rings,"rings","FillSymbol3DLayer"),0===n.outGeometries.length?null:new m(this,n.outGeometries,n.outBoundingBox,this._context.drapeSourceRenderer)}_createAsOverlayFill(e,r){const o=r.renderData.polygons;for(const{position:a,holeIndices:l,index:c,count:h}of o){const o=i(a,T);if(!s(o,this._context.clippingExtent))continue;const u=t(a,l,3);if(0===u.length)continue;n(r.outBoundingBox,o);const m=this._fastUpdates?.visualVariables.color,d=b({material:this._materials[0],indices:u,attributeData:{position:a,color:m?null:r.color,colorFeature:m?P(m,e.color):null,uvMapSpace:this._needsUV?p(r.uvMapSpace,4*c,4*h):null,olidColor:r.olidColor}});r.outGeometries.push(new M(d,r))}}_createAsOverlayOutline(e){if(null==this._materials[1])return;const t=e.renderData.outlines;for(let r=0;r<t.length;++r){const{position:o}=t[r];if(i(o,T),!s(T,this._context.clippingExtent))continue;n(e.outBoundingBox,T);const a=G(this._materials[1],{overlayInfo:{spatialReference:this._context.overlaySR,renderCoordsHelper:this._context.renderCoordsHelper},removeDuplicateStartEnd:!0,attributeData:{position:o}},e.olidColor);e.outGeometries.push(new M(a,e))}}_getOutlineOpacity(){const e=this.symbolLayer?.outline?.color;return(this.draped?1:this._getLayerOpacity())*(null!=e?e.a:0)}_getOutlineColor(){const e=this.symbolLayer?.outline?.color,t=this._getOutlineOpacity();return g(e?.toUnitRGB(),t)}test(){return{...super.test(),createAsOverlay:(e,t,r)=>this._createAsOverlay(e,t,r),createAs3DShape:(e,t,r,i)=>this._createAs3DShape(e,t,r,i)}}get _vvConvertOptions(){return new D({supports:{size:!1,color:!0,rotation:!1,opacity:!1},fallbackColor:this._materialColor?.toUnitRGBA()??r})}}const T=a();class H extends S{constructor(e,t,r,i){super(e,r,i),this.color=t}}class k extends S{constructor(e,t,r,i){super(e,r,i),this.color=t}}function W(e){return null!=e?.size&&e.size>0&&null!=e.color&&(null==e.pattern||"style"!==e.pattern.type||"none"!==e.pattern.style)}function q(e){return 1===(e.material?.color?.a??0)}export{F as Graphics3DPolygonFillSymbolLayer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{e as t}from"../../../../chunks/earcut.js";import e from"../../../../geometry/Extent.js";import i from"../../../../geometry/Polygon.js";import{getZeroIndexArray as r}from"../../../../geometry/support/Indices.js";import{leastSignificantAxis as o}from"../../../../geometry/support/polygonUtils.js";import{Attribute as n}from"../../webgl-engine/lib/Attribute.js";import{Geometry as a}from"../../webgl-engine/lib/Geometry.js";function u(e,i,r){const n=(i.length>0?i[0]:e.length/3)-1,a=o(e,n,r);if(2!==a){e=e.slice();for(let t=0;t<e.length;t+=3)e[t+a]=e[t+2]}return t(e,i,3)}function s(t){const e=[["position",new n(t.attributeData.position,t.indices,3,!0)]],i=r(t.indices.length);return null!=t.attributeData.colorFeature?e.push(["colorFeatureAttribute",new n([t.attributeData.colorFeature],i,1,!0)]):t.attributeData.color&&e.push(["color",new n(t.attributeData.color,i,4,!0)]),t.attributeData.uvMapSpace&&e.push(["uvMapSpace",new n(t.attributeData.uvMapSpace,t.indices,4,!0)]),t.attributeData.boundingRect&&e.push(["boundingRect",new n(t.attributeData.boundingRect,[0],9,!0)]),new a(t.material,e,t.mapPositions,0,t.attributeData.olidColor)}function c(t,e=null){const i=[["position",new n(t.attributeData.position,t.indices,3,!0)],["uv0",new n(t.attributeData.uv0,t.indices,2,!0)]];return new a(t.material,i,t.mapPositions,0,e)}function l(t){switch(t.type){case"extent":if(t instanceof e)return i.fromExtent(t);break;case"polygon":return t}return null}class p{constructor(t,e,i){this.renderData=t,this.layerViewUid=e,this.graphicUid=i,this.outGeometries=new Array}}export{p as PolygonCreationDataBase,s as createColorGeometry,u as createIndices3D,c as createWaterGeometry,l as geometryAsPolygon};
2
+ import{e as t}from"../../../../chunks/earcut.js";import e from"../../../../geometry/Extent.js";import r from"../../../../geometry/Polygon.js";import{getZeroIndexArray as i}from"../../../../geometry/support/Indices.js";import{leastSignificantAxis as o}from"../../../../geometry/support/polygonUtils.js";import{Attribute as n}from"../../webgl-engine/lib/Attribute.js";import{Geometry as a}from"../../webgl-engine/lib/Geometry.js";function u(e,r,i){const n=(r.length>0?r[0]:e.length/3)-1,a=o(e,n,i);if(2!==a){e=e.slice();for(let t=0;t<e.length;t+=3)e[t+a]=e[t+2]}return t(e,r,3)}function s(t){const e=[["position",new n(t.attributeData.position,t.indices,3,!0)]],{boundingRect:r}=t.attributeData,o=null!=r,u=o?[0]:i(t.indices.length);return null!=t.attributeData.colorFeature?e.push(["colorFeatureAttribute",new n([t.attributeData.colorFeature],u,1,!0)]):t.attributeData.color&&e.push(["color",new n(t.attributeData.color,u,4,!0)]),t.attributeData.uvMapSpace&&e.push(["uvMapSpace",new n(t.attributeData.uvMapSpace,t.indices,4,!0)]),o&&e.push(["boundingRect",new n(r,u,9,!0)]),new a(t.material,e,t.mapPositions,0,t.attributeData.olidColor)}function c(t,e=null){const r=[["position",new n(t.attributeData.position,t.indices,3,!0)],["uv0",new n(t.attributeData.uv0,t.indices,2,!0)]];return new a(t.material,r,t.mapPositions,0,e)}function l(t){switch(t.type){case"extent":if(t instanceof e)return r.fromExtent(t);break;case"polygon":return t}return null}class p{constructor(t,e,r){this.renderData=t,this.layerViewUid=e,this.graphicUid=r,this.outGeometries=new Array}}export{p as PolygonCreationDataBase,s as createColorGeometry,u as createIndices3D,c as createWaterGeometry,l as geometryAsPolygon};