@arcgis/core 5.2.0-next.5 → 5.2.0-next.7

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 (1098) hide show
  1. package/WebLinkChart.d.ts +1 -1
  2. package/WebMap.d.ts +2 -2
  3. package/WebScene.d.ts +3 -3
  4. package/analysis/SliceAnalysis.d.ts +1 -1
  5. package/applications/Components/analysisUtils.d.ts +24 -0
  6. package/applications/Components/analysisUtils.js +1 -1
  7. package/arcade/Dictionary.js +1 -1
  8. package/arcade/Feature.js +1 -1
  9. package/arcade/Pixel.js +1 -1
  10. package/arcade/Voxel.js +1 -1
  11. package/arcade/arcade.js +1 -1
  12. package/arcade/arcadeAsyncRuntime.js +1 -1
  13. package/arcade/arcadeCompiler.js +1 -1
  14. package/arcade/arcadeRuntime.js +1 -1
  15. package/arcade/containerUtils.js +1 -1
  16. package/arcade/debug.js +1 -1
  17. package/arcade/deepClone.js +1 -1
  18. package/arcade/featureSetUtils.js +1 -1
  19. package/arcade/featureset/actions/GroupBy.js +1 -1
  20. package/arcade/featureset/actions/OrderBy.js +1 -1
  21. package/arcade/functions/convertdirection.js +1 -1
  22. package/arcade/functions/date.js +1 -1
  23. package/arcade/functions/feature.js +1 -1
  24. package/arcade/functions/featuresetbase.js +1 -1
  25. package/arcade/functions/featuresetgeom.js +1 -1
  26. package/arcade/functions/featuresetstats.js +1 -1
  27. package/arcade/functions/featuresetstring.js +1 -1
  28. package/arcade/functions/fieldStats.js +1 -1
  29. package/arcade/functions/geomasync.js +1 -1
  30. package/arcade/functions/geometry.js +1 -1
  31. package/arcade/functions/geomsync.js +1 -1
  32. package/arcade/functions/knowledgegraph.js +1 -1
  33. package/arcade/functions/maths.js +1 -1
  34. package/arcade/functions/stats.js +1 -1
  35. package/arcade/functions/string.js +1 -1
  36. package/arcade/functions/track.js +1 -1
  37. package/arcade/geometry/constructors.js +1 -1
  38. package/arcade/geometry/functions.js +1 -1
  39. package/arcade/geometry/operators.js +1 -1
  40. package/arcade/languageUtils.js +1 -1
  41. package/arcade.d.ts +9 -9
  42. package/arcgisGlobal.d.ts +4 -0
  43. package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +1 -0
  44. package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +1 -0
  45. package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +1 -0
  46. package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +1 -0
  47. package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +1 -0
  48. package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +1 -0
  49. package/assets/components/assets/icon/orientedImagerySceneOnly16.json +1 -0
  50. package/assets/components/assets/icon/orientedImagerySceneOnly24.json +1 -0
  51. package/assets/components/assets/icon/orientedImagerySceneOnly32.json +1 -0
  52. package/assets/components/assets/icon/parquetFeatureLayer16.json +1 -0
  53. package/assets/components/assets/icon/parquetFeatureLayer24.json +1 -0
  54. package/assets/components/assets/icon/parquetFeatureLayer32.json +1 -0
  55. package/assets/esri/core/workers/RemoteClient.js +1 -1
  56. package/assets/esri/core/workers/chunks/013708f40f811158d42c.js +1 -0
  57. package/assets/esri/core/workers/chunks/03354ad3d74d858173b4.js +1 -0
  58. package/assets/esri/core/workers/chunks/{544174c33628846284a1.js → 09a4139fc6d069ab6928.js} +1 -1
  59. package/assets/esri/core/workers/chunks/09d0e430c66788a2626f.js +640 -0
  60. package/assets/esri/core/workers/chunks/0a510acf50915e00c62b.js +1 -0
  61. package/assets/esri/core/workers/chunks/{7e0daf0864005cdd63c5.js → 0a780a883abfcdf0b900.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{829a0583b8a228c65379.js → 0b169bb1969f86232a1a.js} +1 -1
  63. package/assets/esri/core/workers/chunks/0d9d33f29124d464a4cb.js +1 -0
  64. package/assets/esri/core/workers/chunks/0ded58ccb83f624f1460.js +1 -0
  65. package/assets/esri/core/workers/chunks/0f3654c8157ec8f22869.js +262 -0
  66. package/assets/esri/core/workers/chunks/119d352dd586f2bb61ec.js +1 -0
  67. package/assets/esri/core/workers/chunks/{8cbaaea72f4ca2f023be.js → 129fdd1636e67997337c.js} +1 -1
  68. package/assets/esri/core/workers/chunks/130784a27661de6b52a5.js +1 -0
  69. package/assets/esri/core/workers/chunks/{942e527b9b92999886c7.js → 145364aa20b4435294c2.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{9a3344f1dd22c425b8cc.js → 1595dc499a06b23b6a96.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{6c97b5bc408f051606d2.js → 166a0df6e37627e18976.js} +1 -1
  72. package/assets/esri/core/workers/chunks/168be2eac0fa3c67ae27.js +1 -0
  73. package/assets/esri/core/workers/chunks/{aea8e0577fb48d5c9577.js → 181e948d076a9a7aae8a.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{176e676879666f784599.js → 18e7784f13a57a75585a.js} +1 -1
  75. package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +1 -0
  76. package/assets/esri/core/workers/chunks/{d66f68a811c90739951a.js → 1c029b03ed836f393a50.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{0aaee272520c6e5bb617.js → 1c64e10f966e26af6fed.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{b5d0898406c7d6e6a717.js → 1dacc0b64bd27ce2de3a.js} +1 -1
  79. package/assets/esri/core/workers/chunks/1eabe746481e0b228498.js +1 -0
  80. package/assets/esri/core/workers/chunks/1eeb1edca0ad5db6917c.js +1 -0
  81. package/assets/esri/core/workers/chunks/{425c04b26a6ec6d04b08.js → 201007cf1a91e2b126fc.js} +1 -1
  82. package/assets/esri/core/workers/chunks/20d0adc678f11981059c.js +1 -0
  83. package/assets/esri/core/workers/chunks/{696967c8c6f53b94f851.js → 227eff8aa4a6f5f03bc2.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{d21bf107698fef03125e.js → 238478cfe493fd4a6100.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{79b64a52ff57c40c7800.js → 2413b383b7f2bdcd4ced.js} +1 -1
  86. package/assets/esri/core/workers/chunks/24646a1176ce34039155.js +1 -0
  87. package/assets/esri/core/workers/chunks/24647e7424798dccdaf5.js +1 -0
  88. package/assets/esri/core/workers/chunks/{7601408e242dca1d25bd.js → 249616ea2d90d40a8299.js} +1 -1
  89. package/assets/esri/core/workers/chunks/277718031c903da2b3b9.js +1 -0
  90. package/assets/esri/core/workers/chunks/{7ed5b669010db58845f8.js → 294f2803aac000c99693.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{093f27e4e4781870b431.js → 297ae764445e6f73a5ea.js} +1 -1
  92. package/assets/esri/core/workers/chunks/2b36a54927f5a7281da3.js +1 -0
  93. package/assets/esri/core/workers/chunks/{be0eab592db0e651b023.js → 2b814bb51704a5b4fdc2.js} +6 -6
  94. package/assets/esri/core/workers/chunks/{a320c69bc7528ff0d0cf.js → 2c8584ec1c3c9fd5aba2.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{6ca81e34854ce7ec6f6e.js → 2ce845c990bb4d701362.js} +1 -1
  96. package/assets/esri/core/workers/chunks/2d374cc8c54a722a7afe.js +1 -0
  97. package/assets/esri/core/workers/chunks/{0bd2b035c6ee89c725f9.js → 31442f25d550ead58fc4.js} +1 -1
  98. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +1 -0
  99. package/assets/esri/core/workers/chunks/{8b8b63be961eb73250a0.js → 32323b0e0fcecd8f640e.js} +1 -1
  100. package/assets/esri/core/workers/chunks/33b4f5dfe1a16b59b010.js +1 -0
  101. package/assets/esri/core/workers/chunks/{86a767c2b0b1e37ff493.js → 33e0130e6a40fc768978.js} +1 -1
  102. package/assets/esri/core/workers/chunks/343ba5ea459e96ba79c6.js +1 -0
  103. package/assets/esri/core/workers/chunks/359d3acb3953e64e5a78.js +1 -0
  104. package/assets/esri/core/workers/chunks/388e71e8f2ec41bfa5a9.js +1 -0
  105. package/assets/esri/core/workers/chunks/{a2159df718a7f2f59271.js → 38a2f34661563c7c29c1.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{dd58bc675b85b4d90afa.js → 39974d1e5d3820ef1680.js} +1 -1
  107. package/assets/esri/core/workers/chunks/3a5c1c501808352857bd.js +1 -0
  108. package/assets/esri/core/workers/chunks/3aacaa1be5efeac23a37.js +1 -0
  109. package/assets/esri/core/workers/chunks/{d19600336cb6023d3e34.js → 3b765a8cac9e92f644f2.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{a96c7432ca97cbeef4b8.js → 3db898a38a7c5f0efb48.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{b7a0a5b895ddd2d3d038.js → 3df5394b17e9659ecb8f.js} +1 -1
  112. package/assets/esri/core/workers/chunks/3e012cd3ca4451f89f59.js +1 -0
  113. package/assets/esri/core/workers/chunks/3fbb6ff940156a981983.js +1 -0
  114. package/assets/esri/core/workers/chunks/{c06ae3a6ecc4a4fc67b2.js → 40910c69307e2d2d3f28.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{55d168c13491fcdfb284.js → 40c4e14e7bb505ef10a3.js} +1 -1
  116. package/assets/esri/core/workers/chunks/4104fa1ede36bcee9be5.js +1 -0
  117. package/assets/esri/core/workers/chunks/428561df7ba6f02e2d80.js +1 -0
  118. package/assets/esri/core/workers/chunks/{0881929a4a457f94f317.js → 4301cb9670fa7c907460.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{299b4eecd0288348c971.js → 45323491f9005629c602.js} +1 -1
  120. package/assets/esri/core/workers/chunks/46d0a25d33b5b328cfce.js +1 -0
  121. package/assets/esri/core/workers/chunks/46d3ddf62fa7a76dd57d.js +1 -0
  122. package/assets/esri/core/workers/chunks/{b002304a45856b024b46.js → 4714241189c13d0db897.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{d9d716bfd0aab30b6caf.js → 47656ec12401e53f4bd3.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{c0d7e4afbad0b20e2502.js → 47dd2bfecc5c4b5f10f0.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{f7698c855800e0af3038.js → 4845df00f6ebcce6ea3e.js} +1 -1
  126. package/assets/esri/core/workers/chunks/485d20152495c27b8074.js +1 -0
  127. package/assets/esri/core/workers/chunks/{cf3036711bbe6095eaed.js → 4894997bfa438f66da36.js} +1 -1
  128. package/assets/esri/core/workers/chunks/4a23b27bfbcfa08fd9a7.js +1 -0
  129. package/assets/esri/core/workers/chunks/{8b5ee6be52e892fbd325.js → 4a9dd9f8aa98882218f3.js} +1 -1
  130. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +1 -0
  131. package/assets/esri/core/workers/chunks/{325bfac7cfa28a6d568f.js → 520e0e5307eef27becc6.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{a0296e6d6c37b861c5fb.js → 5359ff9492383c5bd9b1.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{728ad5bbbcbf88d6249f.js → 537c5dd4cd0a067199d1.js} +1 -1
  134. package/assets/esri/core/workers/chunks/53d165b4f30fd64e5d8a.js +1 -0
  135. package/assets/esri/core/workers/chunks/542f5469f7b42026b24f.js +1 -0
  136. package/assets/esri/core/workers/chunks/54d7f07e3348ddb6d9a2.js +1 -0
  137. package/assets/esri/core/workers/chunks/{48440a071a37590846ff.js → 54dad475dc806a38c287.js} +1 -1
  138. package/assets/esri/core/workers/chunks/5500dc39e11a0057ae16.js +1 -0
  139. package/assets/esri/core/workers/chunks/5553279998ae07b60f5f.js +1 -0
  140. package/assets/esri/core/workers/chunks/{2b2a09ce14d00b4b1187.js → 58155f24f8ed6aca7a21.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{224a9f39876aa426a9bc.js → 5838f46d341d2fde42ee.js} +1 -1
  142. package/assets/esri/core/workers/chunks/592a599f514de373dead.js +1 -0
  143. package/assets/esri/core/workers/chunks/{1ff61d8a8ea060e78b83.js → 5aba23584e0b230c75f5.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{7dc2c21d61ba66a3f461.js → 5b238f9c345f10c5c2fa.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{8d4881c879c86b353e08.js → 5cb1b950249d651f3837.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{85bba0db8a7a5fc1be44.js → 5e3e0d7b85dfd52d1c7d.js} +1 -1
  147. package/assets/esri/core/workers/chunks/5f9bacee6fbf9ac1bca0.js +1 -0
  148. package/assets/esri/core/workers/chunks/60915a3708a34da1977e.js +1 -0
  149. package/assets/esri/core/workers/chunks/62206d5d497b95fc4caf.js +1 -0
  150. package/assets/esri/core/workers/chunks/{6a53c8db554be55c5885.js → 62dfbdc847be4800e833.js} +44 -32
  151. package/assets/esri/core/workers/chunks/62e77e3c5ca9b4887923.js +2 -0
  152. package/assets/esri/core/workers/chunks/{7a3b05e25de2ff150f38.js → 62fc3c367f736c73b0d7.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{4e97c01698ef36cc5e0e.js → 643c33a98f2d30a92001.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{69a1cbf0af059548f96a.js → 64daa2a714e59d22bbd4.js} +1 -1
  155. package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +1 -0
  156. package/assets/esri/core/workers/chunks/{7c86099ed17f420b0489.js → 67ebde34377f98d17cda.js} +1 -1
  157. package/assets/esri/core/workers/chunks/{e6e15e9e890b864fb395.js → 6a5356ebed70e0f8f979.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{cdef9c3f80588ae45a04.js → 6c9933f948efd7923aa1.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{fe2325efd0d8ad8369ed.js → 6cab67fc7044ee9b863b.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{aea384f4d88121da8f54.js → 6f0341cfa4c68e6e60b3.js} +1 -1
  161. package/assets/esri/core/workers/chunks/737de87bfb9b5f5a9c6c.js +1 -0
  162. package/assets/esri/core/workers/chunks/{558606a1af22e4a0d536.js → 73c355b895fd6a34fcb8.js} +1 -1
  163. package/assets/esri/core/workers/chunks/{7f1fcddc8dd42a1b67d9.js → 75839240022b280929f7.js} +1 -1
  164. package/assets/esri/core/workers/chunks/{b09ae8eb5e97fb27382f.js → 76589434d573111a8fb4.js} +1 -1
  165. package/assets/esri/core/workers/chunks/{1f3a676e7a4eae5ad566.js → 767ea5b455b3823afd09.js} +1 -1
  166. package/assets/esri/core/workers/chunks/77a4f6f224d7ca4b69f4.js +1 -0
  167. package/assets/esri/core/workers/chunks/78aa5bc6af2758da20d0.js +1 -0
  168. package/assets/esri/core/workers/chunks/79f2d4b3af5776ec2045.js +1 -0
  169. package/assets/esri/core/workers/chunks/{c8dedc010fcc2382af24.js → 7b564226def99fcf79d8.js} +1 -1
  170. package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +1 -0
  171. package/assets/esri/core/workers/chunks/7df94cb985db41815fad.js +2 -0
  172. package/assets/esri/core/workers/chunks/7ed3d6c72f23c628df3b.js +1 -0
  173. package/assets/esri/core/workers/chunks/{ed939fd5d3827a3f70e0.js → 81e3bd1a0634ddc2b833.js} +1 -1
  174. package/assets/esri/core/workers/chunks/{062aadf426fe97a76bbb.js → 8351012ceb466f01b8fd.js} +1 -1
  175. package/assets/esri/core/workers/chunks/8407c91cce31e087b41b.js +1 -0
  176. package/assets/esri/core/workers/chunks/8419934bec7723b0feef.js +1 -0
  177. package/assets/esri/core/workers/chunks/875cce0be4f6c89f80f3.js +2 -0
  178. package/assets/esri/core/workers/chunks/{c319c3b85cdec73a9f45.js → 877c848beaf9a939862c.js} +1 -1
  179. package/assets/esri/core/workers/chunks/{24acf3dd541347c2b297.js → 882ee7ed8a3a0215f9b9.js} +1 -1
  180. package/assets/esri/core/workers/chunks/{ae74f722fb385e45fcf1.js → 893c0d28a5bf3f9f29f1.js} +1 -1
  181. package/assets/esri/core/workers/chunks/{98b4408e12684e37b395.js → 8a48a6760c33ed50b650.js} +1 -1
  182. package/assets/esri/core/workers/chunks/8bdca6f06c8b5fedd917.js +1 -0
  183. package/assets/esri/core/workers/chunks/8e1865392681d390ab2e.js +1 -0
  184. package/assets/esri/core/workers/chunks/{566c36032b456ec5b5d7.js → 90953a827bc89d0e6bd5.js} +1 -1
  185. package/assets/esri/core/workers/chunks/92ab5886aa2d8b9b179f.js +1 -0
  186. package/assets/esri/core/workers/chunks/{4e676e888a935c507d90.js → 93d4bda22bde33fafa57.js} +1 -1
  187. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +1 -0
  188. package/assets/esri/core/workers/chunks/94fac056e14caed09682.js +1 -0
  189. package/assets/esri/core/workers/chunks/{fbb23db01f3cf629d32e.js → 992a90ecbab931198fd0.js} +1 -1
  190. package/assets/esri/core/workers/chunks/{1765042635084f75d2b3.js → 9b676606bf839b7aa433.js} +1 -1
  191. package/assets/esri/core/workers/chunks/{f931d560f3f14598f454.js → 9dcfaca1f4fa8c8026ac.js} +1 -1
  192. package/assets/esri/core/workers/chunks/{5570d47533efab56c732.js → 9f4681713f03365a2a53.js} +1 -1
  193. package/assets/esri/core/workers/chunks/a0fa60a24e58f7a47e41.js +1 -0
  194. package/assets/esri/core/workers/chunks/a261f4c22224511fdfff.js +1 -0
  195. package/assets/esri/core/workers/chunks/{ea8f642b1db933d2c26f.js → a2ac139d0975085279a6.js} +1 -1
  196. package/assets/esri/core/workers/chunks/{b32a13972cb3de652339.js → a320998f18922a35899f.js} +1 -1
  197. package/assets/esri/core/workers/chunks/{aa55923ca939a0d4606c.js → a3a28c4887f802e8d96d.js} +1 -1
  198. package/assets/esri/core/workers/chunks/a4d3cbc02dc1186a9a6d.js +1 -0
  199. package/assets/esri/core/workers/chunks/a806ac351ef5da04c250.js +1 -0
  200. package/assets/esri/core/workers/chunks/a8ec5b85c2fa6fb4f391.js +1 -0
  201. package/assets/esri/core/workers/chunks/{8795c4895df229cb471c.js → ab94c9f62462d7a98f6a.js} +1 -1
  202. package/assets/esri/core/workers/chunks/{2a8f198f6c272f92bad5.js → abdb05754c50776c3edd.js} +1 -1
  203. package/assets/esri/core/workers/chunks/ad488985824fbb830ed6.js +1 -0
  204. package/assets/esri/core/workers/chunks/af8ef6701631ed5e5b80.js +1 -0
  205. package/assets/esri/core/workers/chunks/{a95398214e530f896a2d.js → af96cbc4fb7bef726635.js} +1 -1
  206. package/assets/esri/core/workers/chunks/{170f8dc97614e9609443.js → b0ac4b0b7aec70cfe6eb.js} +1 -1
  207. package/assets/esri/core/workers/chunks/b23009d9f8eb7c20ce45.js +1 -0
  208. package/assets/esri/core/workers/chunks/b79428c5093614174e76.js +1 -0
  209. package/assets/esri/core/workers/chunks/{2f925a424b60b4a5e8e5.js → b803e7b0d489bb628d72.js} +1 -1
  210. package/assets/esri/core/workers/chunks/b9bdb1f05e904c3655e4.js +1 -0
  211. package/assets/esri/core/workers/chunks/bb24972603fb35dd8dcf.js +1 -0
  212. package/assets/esri/core/workers/chunks/bca6abc185dedec0f41b.js +1 -0
  213. package/assets/esri/core/workers/chunks/bfbd1ca28ed2f263e58f.js +1 -0
  214. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +1 -0
  215. package/assets/esri/core/workers/chunks/c44be4aaba829e6d149d.js +1 -0
  216. package/assets/esri/core/workers/chunks/c4fc85281ca83af7abaf.js +1 -0
  217. package/assets/esri/core/workers/chunks/c983e5ce0ff952b65d7f.js +1 -0
  218. package/assets/esri/core/workers/chunks/ca6907e14b1dde4d5c07.js +1 -0
  219. package/assets/esri/core/workers/chunks/ca7d4d76a6bf5a3046cd.js +1 -0
  220. package/assets/esri/core/workers/chunks/cb8c4d8334fab9bd9a04.js +1 -0
  221. package/assets/esri/core/workers/chunks/cbbd94c53e75efc99876.js +1 -0
  222. package/assets/esri/core/workers/chunks/{c1ffb879e0283fb2815f.js → cc62e5095e328bed3e01.js} +1 -1
  223. package/assets/esri/core/workers/chunks/{a53a3e5548fef65a2710.js → cf826787ab8d4b27ad80.js} +1 -1
  224. package/assets/esri/core/workers/chunks/{7a823bb1b72764897dd5.js → cfd28eba44cf5a296c6d.js} +1 -1
  225. package/assets/esri/core/workers/chunks/d1d135a54233092ad637.js +1 -0
  226. package/assets/esri/core/workers/chunks/d21480b078ec9680d4c4.js +1 -0
  227. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +1 -0
  228. package/assets/esri/core/workers/chunks/{bbaf8baa3ca6195467e4.js → d64613209a9eb1eafb11.js} +1 -1
  229. package/assets/esri/core/workers/chunks/{988e91cc6cf88c34c2de.js → d6bb8db22ba85ad05fd7.js} +1 -1
  230. package/assets/esri/core/workers/chunks/{cb26966cc205bd338c76.js → d81291dac1932350eccd.js} +1 -1
  231. package/assets/esri/core/workers/chunks/d9d4754062758789f186.js +2 -0
  232. package/assets/esri/core/workers/chunks/dddb57ff637643ccfc87.js +1 -0
  233. package/assets/esri/core/workers/chunks/{0ded5c114cbb7574f2f4.js → dfeddb7b17fa9eaae64c.js} +1 -1
  234. package/assets/esri/core/workers/chunks/e094364e54981c91e1b4.js +1 -0
  235. package/assets/esri/core/workers/chunks/e178cd0e9178d6716410.js +1 -0
  236. package/assets/esri/core/workers/chunks/{7f54d3835c0ce573a942.js → e25bcfdd8f20f8a08b19.js} +1 -1
  237. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +1 -0
  238. package/assets/esri/core/workers/chunks/e3b713a590cce6245ee2.js +1 -0
  239. package/assets/esri/core/workers/chunks/e545df5ea7c0ced92cee.js +30 -0
  240. package/assets/esri/core/workers/chunks/{a40003dfe3c081d1a1d2.js → e638391801ad83fe4a68.js} +1 -1
  241. package/assets/esri/core/workers/chunks/{0b76534b60014d74ecb9.js → e7712467db46e1385cf4.js} +1 -1
  242. package/assets/esri/core/workers/chunks/e785f76c1a75cb1d1e1f.js +1 -0
  243. package/assets/esri/core/workers/chunks/{76a9b64fd573775bf6cd.js → e82488b9b3bb0c1dedb4.js} +1 -1
  244. package/assets/esri/core/workers/chunks/{15fa8b5b472131aaa68e.js → e92698f50089484c4901.js} +1 -1
  245. package/assets/esri/core/workers/chunks/ed2cb60e4f17f46fb78d.js +1 -0
  246. package/assets/esri/core/workers/chunks/edcde00495727d506c46.js +1 -0
  247. package/assets/esri/core/workers/chunks/f02fe24177e56a7e42b2.js +1 -0
  248. package/assets/esri/core/workers/chunks/{009250a7bded12099dd1.js → f1fb2f12371f4c562079.js} +1 -1
  249. package/assets/esri/core/workers/chunks/{466c250537415f12eb59.js → f31a8e76f1dde23c0900.js} +1 -1
  250. package/assets/esri/core/workers/chunks/f3dfe1bd1146a6927407.js +1 -0
  251. package/assets/esri/core/workers/chunks/{6b5d2df9123dfe7e00b3.js → f563dd6cace047108b3c.js} +1 -1
  252. package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js → f5731ad4cfbbf1cc569a.js} +2 -2
  253. package/assets/esri/core/workers/chunks/f60292d97bcdbf19165b.js +1 -0
  254. package/assets/esri/core/workers/chunks/f9e22cf59e2e2782d70f.js +1 -0
  255. package/assets/esri/core/workers/chunks/fce7995c26953bfd8d3d.js +1 -0
  256. package/assets/esri/core/workers/chunks/{e227ae2c1a63e30e62d9.js → ff48334528d2554db4fe.js} +1 -1
  257. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +18 -14
  258. package/assets/esri/themes/base/widgets/_DatePicker.scss +1 -1
  259. package/assets/esri/themes/base/widgets/_Grid.scss +3 -3
  260. package/assets/esri/themes/dark/main.css +1 -1
  261. package/assets/esri/themes/light/main.css +1 -1
  262. package/assets/esri/themes/light/view.css +1 -1
  263. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  264. package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
  265. package/chunks/Centroid-DZi-eb9F.js +1 -1
  266. package/chunks/Clouds.glsl.js +1 -1
  267. package/chunks/Compositing.glsl.js +1 -1
  268. package/chunks/CutFillComposition.glsl.js +1 -1
  269. package/chunks/CutFillDepth.glsl.js +1 -1
  270. package/chunks/CutFillMask.glsl.js +1 -1
  271. package/chunks/CutFillReduction.glsl.js +1 -1
  272. package/chunks/CutFillTargetDepth.glsl.js +1 -1
  273. package/chunks/Distance2DCalculator-CXhBP-8I.js +1 -1
  274. package/chunks/Envelope.js +1 -1
  275. package/chunks/Envelope2D.js +1 -1
  276. package/chunks/FlatGeometry.js +1 -1
  277. package/chunks/FocusAreaColor.glsl.js +1 -1
  278. package/chunks/FocusAreaMask.glsl.js +1 -1
  279. package/chunks/Fog.glsl.js +1 -1
  280. package/chunks/GaussianSplat.glsl.js +1 -1
  281. package/chunks/GaussianSplatShadow.glsl.js +1 -1
  282. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  283. package/chunks/GeodeticUtils.js +1 -1
  284. package/chunks/Geometry.js +1 -1
  285. package/chunks/GeometryCleaner-BEJM7I4l.js +1 -1
  286. package/chunks/GlobalIllumination.glsl.js +20 -19
  287. package/chunks/GlobalIlluminationBlur.glsl.js +15 -12
  288. package/chunks/GlobalIlluminationUpscale.glsl.js +4 -3
  289. package/chunks/GlowBlur.glsl.js +1 -1
  290. package/chunks/GlowComposition.glsl.js +1 -1
  291. package/chunks/HazeCompositing.glsl.js +1 -1
  292. package/chunks/HighlightBlur.glsl.js +1 -1
  293. package/chunks/HighlightDownsample.glsl.js +1 -1
  294. package/chunks/Magnifier.glsl.js +1 -1
  295. package/chunks/MultiPathImpl.js +1 -1
  296. package/chunks/NoiseTextureAtlas.glsl.js +1 -1
  297. package/chunks/OITBlend.glsl.js +2 -2
  298. package/chunks/OITBlendEmission.glsl.js +1 -1
  299. package/chunks/OITDimOpaque.glsl.js +1 -1
  300. package/chunks/OperatorClip.js +1 -1
  301. package/chunks/OperatorCrosses.js +1 -1
  302. package/chunks/OperatorCut.js +1 -1
  303. package/chunks/OperatorDensify.js +1 -1
  304. package/chunks/OperatorGeneralize.js +1 -1
  305. package/chunks/OperatorGeodesicBuffer.js +1 -1
  306. package/chunks/OperatorGeodeticArea.js +1 -1
  307. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  308. package/chunks/OperatorGeodeticDistance.js +1 -1
  309. package/chunks/OperatorGeodeticLength.js +1 -1
  310. package/chunks/OperatorIntegrate.js +1 -1
  311. package/chunks/OperatorIntersects.js +1 -1
  312. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  313. package/chunks/OperatorOverlaps.js +1 -1
  314. package/chunks/OperatorProject.js +1 -1
  315. package/chunks/OperatorProximity.js +1 -1
  316. package/chunks/OperatorProximityGeodesic.js +1 -1
  317. package/chunks/OperatorShapePreservingDensify.js +1 -1
  318. package/chunks/OperatorShapePreservingLength.js +1 -1
  319. package/chunks/OperatorShapePreservingProject.js +1 -1
  320. package/chunks/OperatorSimplifyOGC.js +1 -1
  321. package/chunks/OperatorTouches.js +1 -1
  322. package/chunks/OperatorWithin.js +1 -1
  323. package/chunks/OverlayCompositing.glsl.js +1 -1
  324. package/chunks/Point2D.js +1 -1
  325. package/chunks/PointRenderer.glsl.js +1 -1
  326. package/chunks/ProjectionTransformation.js +1 -1
  327. package/chunks/RasterColorizer.glsl.js +1 -1
  328. package/chunks/RealisticTree.glsl.js +17 -15
  329. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  330. package/chunks/ShadowCastVisualize.glsl.js +2 -2
  331. package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
  332. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  333. package/chunks/SpatialReference.js +1 -1
  334. package/chunks/Terrain.glsl.js +1 -1
  335. package/chunks/Texture.glsl.js +1 -1
  336. package/chunks/Transformation2D.js +1 -1
  337. package/chunks/Viewshed.glsl.js +1 -1
  338. package/chunks/aiServices.js +1 -1
  339. package/chunks/arcade.js +1 -1
  340. package/chunks/array.js +1 -1
  341. package/chunks/boundedPlane.js +1 -1
  342. package/chunks/bundle.js +1 -1
  343. package/chunks/bundle2.js +1 -1
  344. package/chunks/constants.js +1 -1
  345. package/chunks/containsOperator.js +1 -1
  346. package/chunks/disjointOperator.js +1 -1
  347. package/chunks/distanceOperator.js +1 -1
  348. package/chunks/equalsOperator.js +1 -1
  349. package/chunks/languageUtils.js +1 -1
  350. package/chunks/pe.js +1 -1
  351. package/chunks/persistableUrlUtils.js +1 -1
  352. package/chunks/relateOperator.js +1 -1
  353. package/chunks/symmetricDifferenceOperator.js +1 -1
  354. package/chunks/unionOperator.js +1 -1
  355. package/chunks/vec2.js +1 -1
  356. package/chunks/vec3.js +1 -1
  357. package/chunks/vec4.js +1 -1
  358. package/config.d.ts +2 -2
  359. package/config.js +1 -1
  360. package/core/Collection.d.ts +25 -25
  361. package/core/Error.d.ts +1 -1
  362. package/core/JSONSupport.d.ts +1 -1
  363. package/core/accessorSupport/decorators/persistable.js +1 -1
  364. package/core/mapCollectionUtils.js +1 -1
  365. package/core/promiseUtils.d.ts +3 -3
  366. package/core/quantityFormatUtils.js +1 -1
  367. package/core/reactiveUtils.d.ts +4 -4
  368. package/core/sql/WhereClause.d.ts +1 -1
  369. package/core/timeUtils.d.ts +1 -1
  370. package/core/unitFormatUtils.js +1 -1
  371. package/core/workers/Connection.d.ts +9 -9
  372. package/core/workers.d.ts +1 -1
  373. package/editing/sharedTemplates/templateDefinitions/FeatureTemplateDefinition.js +1 -1
  374. package/editing/sharedTemplates/templateDefinitions/GroupTemplateDefinition.js +1 -1
  375. package/editing/sharedTemplates/templateDefinitions/PresetTemplateDefinition.js +1 -1
  376. package/editing/types.d.ts +3 -3
  377. package/effects/FocusArea.js +1 -1
  378. package/geometry/Circle.js +1 -1
  379. package/geometry/Mesh.d.ts +9 -2
  380. package/geometry/Mesh.js +1 -1
  381. package/geometry/coordinateFormatter.js +1 -1
  382. package/geometry/geodesicUtils.js +1 -1
  383. package/geometry/operators/extendOperator.js +1 -1
  384. package/geometry/operators/gx/geodeticUtils.js +1 -1
  385. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  386. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  387. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  388. package/geometry/operators/gx/operatorBoundary.js +1 -1
  389. package/geometry/operators/gx/operatorBuffer.js +1 -1
  390. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  391. package/geometry/operators/gx/operatorDifference.js +1 -1
  392. package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
  393. package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
  394. package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
  395. package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
  396. package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
  397. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  398. package/geometry/operators/gx/operatorIntersection.js +1 -1
  399. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  400. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  401. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  402. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  403. package/geometry/operators/gx/operatorOffset.js +1 -1
  404. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  405. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  406. package/geometry/operators/gx/operatorProject.js +1 -1
  407. package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
  408. package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
  409. package/geometry/operators/gx/operatorSimplify.js +1 -1
  410. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  411. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  412. package/geometry/operators/gx/operatorUnion.js +1 -1
  413. package/geometry/operators/isNearOperator.js +1 -1
  414. package/geometry/operators/json/containsOperator.js +1 -1
  415. package/geometry/operators/json/disjointOperator.js +1 -1
  416. package/geometry/operators/locateBetweenOperator.js +1 -1
  417. package/geometry/operators/offsetOperator.js +1 -1
  418. package/geometry/operators/reshapeOperator.js +1 -1
  419. package/geometry/operators/support/apiConverter.js +1 -1
  420. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  421. package/geometry/operators/support/initNoPeFactory.js +1 -1
  422. package/geometry/operators/support/jsonConverter.js +1 -1
  423. package/geometry/operators/support/projectionTransformation.js +1 -1
  424. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  425. package/geometry/operators/unionOperator.js +1 -1
  426. package/geometry/pe.js +1 -1
  427. package/geometry/support/MeshMaterial.d.ts +5 -5
  428. package/geometry/support/MeshTexture.d.ts +19 -19
  429. package/geometry/support/MeshTexture.js +1 -1
  430. package/geometry/support/boundedPlane.js +1 -1
  431. package/geometry/support/buffer/math/vec3.js +1 -1
  432. package/geometry/support/buffer/math/vec4.js +1 -1
  433. package/geometry/support/buffer/utils/vec2.js +1 -1
  434. package/geometry/support/coordinateSystem.js +1 -1
  435. package/geometry/support/frustum.js +1 -1
  436. package/geometry/support/jsonUtils.d.ts +1 -1
  437. package/geometry/support/meshUtils/extent.js +1 -1
  438. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  439. package/geometry/support/meshUtils/projection.js +1 -1
  440. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  441. package/geometry/support/meshUtils.d.ts +130 -2
  442. package/geometry/support/meshUtils.js +1 -1
  443. package/geometry/support/spatialReferenceUtils.js +1 -1
  444. package/identity/Credential.d.ts +1 -1
  445. package/identity/IdentityManager.d.ts +1 -1
  446. package/identity/OAuthInfo.d.ts +1 -1
  447. package/identity/ServerInfo.d.ts +2 -2
  448. package/interfaces.d.ts +13 -0
  449. package/intl/number.d.ts +3 -3
  450. package/intl/substitute.d.ts +2 -2
  451. package/intl.d.ts +28 -28
  452. package/kernel.js +1 -1
  453. package/layers/AnnotationLayer.js +1 -1
  454. package/layers/BaseDynamicLayer.d.ts +5 -5
  455. package/layers/BaseTileLayer.d.ts +4 -4
  456. package/layers/BuildingSceneLayer.d.ts +1 -1
  457. package/layers/CSVLayer.d.ts +7 -1
  458. package/layers/CatalogLayer.d.ts +6 -0
  459. package/layers/DimensionFeatureLayer.js +1 -1
  460. package/layers/FeatureLayer.d.ts +45 -8
  461. package/layers/FeatureLayer.js +1 -1
  462. package/layers/GeoJSONLayer.d.ts +7 -1
  463. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  464. package/layers/IntegratedMeshLayer.js +1 -1
  465. package/layers/KnowledgeGraphLayer.js +1 -1
  466. package/layers/LinkChartLayer.js +1 -1
  467. package/layers/MapImageLayer.d.ts +5 -5
  468. package/layers/MediaLayer.d.ts +3 -3
  469. package/layers/OrientedImageryLayer.d.ts +29 -2
  470. package/layers/ParquetLayer.d.ts +7 -1
  471. package/layers/SceneLayer.d.ts +3 -3
  472. package/layers/SceneLayer.js +1 -1
  473. package/layers/StreamLayer.d.ts +1 -1
  474. package/layers/SubtypeGroupLayer.d.ts +7 -1
  475. package/layers/TileLayer.d.ts +2 -2
  476. package/layers/UnsupportedLayer.d.ts +10 -2
  477. package/layers/VectorTileLayer.d.ts +2 -2
  478. package/layers/VideoLayer.d.ts +1 -1
  479. package/layers/VoxelLayer.d.ts +4 -4
  480. package/layers/WCSLayer.d.ts +2 -2
  481. package/layers/WFSLayer.d.ts +6 -0
  482. package/layers/WebTileLayer.d.ts +1 -1
  483. package/layers/catalog/CatalogFootprintLayer.d.ts +20 -1
  484. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  485. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  486. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +6 -0
  487. package/layers/mixins/ArcGISImageService.d.ts +7 -1
  488. package/layers/mixins/ArcGISImageService.js +1 -1
  489. package/layers/mixins/BlendLayer.d.ts +2 -2
  490. package/layers/mixins/DataSeriesLayer.d.ts +161 -0
  491. package/layers/mixins/DataSeriesLayer.js +2 -0
  492. package/layers/mixins/FeatureLayerBase.d.ts +3 -3
  493. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  494. package/layers/orientedImagery/transformations/utils.js +1 -1
  495. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  496. package/layers/save/featureLayerUtils.js +1 -1
  497. package/layers/support/DateTimeFieldFormat.d.ts +10 -10
  498. package/layers/support/FeatureEffect.d.ts +22 -22
  499. package/layers/support/FeatureFilter.d.ts +1 -1
  500. package/layers/support/FeatureReductionBinning.d.ts +12 -0
  501. package/layers/support/FeatureReductionCluster.d.ts +12 -0
  502. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  503. package/layers/support/Field.d.ts +2 -2
  504. package/layers/support/ImageElement.d.ts +1 -1
  505. package/layers/support/ImageElement.js +1 -1
  506. package/layers/support/MosaicRule.d.ts +0 -2
  507. package/layers/support/NumberFieldFormat.d.ts +5 -5
  508. package/layers/support/ParquetFilesData.js +1 -1
  509. package/layers/support/RasterJobHandler.js +1 -1
  510. package/layers/support/RasterWorker.js +1 -1
  511. package/layers/support/SceneFilter.js +1 -1
  512. package/layers/support/StreamConnection.d.ts +1 -1
  513. package/layers/support/Sublayer.d.ts +2 -2
  514. package/layers/support/SubtypeSublayer.d.ts +14 -1
  515. package/layers/support/TimeSeriesFieldTimeMapping.d.ts +30 -0
  516. package/layers/support/TimeSeriesFieldTimeMapping.js +2 -0
  517. package/layers/support/TimeSeriesInfo.d.ts +149 -0
  518. package/layers/support/TimeSeriesInfo.js +2 -0
  519. package/layers/support/VideoElement.d.ts +1 -1
  520. package/layers/support/arcgisLayers.js +1 -1
  521. package/layers/support/dataSeriesUtils.d.ts +18 -0
  522. package/layers/support/dataSeriesUtils.js +2 -0
  523. package/layers/support/fetchService.js +1 -1
  524. package/layers/support/kmlUtils.js +1 -1
  525. package/layers/support/layerUtils.js +1 -1
  526. package/layers/support/layersLoader.js +1 -1
  527. package/layers/support/timeSeriesUtils.d.ts +27 -0
  528. package/layers/support/timeSeriesUtils.js +2 -0
  529. package/layers/types.d.ts +1 -1
  530. package/libs/parquet/loadParquetModule.js +1 -1
  531. package/libs/text/loadTextModule.js +1 -1
  532. package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
  533. package/linkChart/LinkChartProperties.js +1 -1
  534. package/networks/CircuitManager.d.ts +1 -1
  535. package/networks/Network.d.ts +1 -1
  536. package/networks/UnitIdentifierManager.d.ts +1 -1
  537. package/networks/support/NamedTraceConfiguration.d.ts +1 -1
  538. package/networks/support/TraceConfiguration.d.ts +2 -2
  539. package/networks/support/UNTraceConfiguration.d.ts +3 -3
  540. package/networks/support/jsonTypes.d.ts +7 -1
  541. package/networks/support/utils.js +1 -1
  542. package/package.json +4 -4
  543. package/popup/content/CustomContent.d.ts +1 -1
  544. package/portal/Portal.d.ts +2 -2
  545. package/portal/PortalItem.js +1 -1
  546. package/portal/jsonTypes.d.ts +2 -2
  547. package/renderers/FlowRenderer.d.ts +2 -2
  548. package/renderers/UniqueValueRenderer.js +1 -1
  549. package/renderers/support/AuthoringInfo.d.ts +14 -1
  550. package/renderers/support/AuthoringInfo.js +1 -1
  551. package/renderers/support/AuthoringInfoVisualVariable.d.ts +14 -1
  552. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  553. package/renderers/support/jsonUtils.d.ts +1 -1
  554. package/renderers/support/utils.d.ts +1 -1
  555. package/renderers/visualVariables/RotationVariable.d.ts +16 -1
  556. package/renderers/visualVariables/RotationVariable.js +1 -1
  557. package/request/types.d.ts +23 -23
  558. package/rest/geometryService.d.ts +1 -1
  559. package/rest/knowledgeGraph/CreateReplicaResponse.d.ts +1 -1
  560. package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
  561. package/rest/knowledgeGraph/GraphProperty.d.ts +5 -1
  562. package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +2 -2
  563. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  564. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  565. package/rest/knowledgeGraph/wasmInterface/wasmToReplicaFactories.js +1 -1
  566. package/rest/knowledgeGraphService.d.ts +13 -13
  567. package/rest/layerSources/DynamicDataLayer.d.ts +1 -1
  568. package/rest/print.d.ts +1 -1
  569. package/rest/support/AttributeBinsQuery.d.ts +16 -2
  570. package/rest/support/ClosestFacilityParameters.d.ts +6 -6
  571. package/rest/support/IdentifyParameters.js +1 -1
  572. package/rest/support/IdentifyResult.js +1 -1
  573. package/rest/support/LastMileDeliveryParameters.d.ts +4 -4
  574. package/rest/support/LocationToAddressParameters.d.ts +1 -1
  575. package/rest/support/PrintTemplate.d.ts +5 -5
  576. package/rest/support/Query.d.ts +18 -4
  577. package/rest/support/RouteParameters.d.ts +5 -5
  578. package/rest/support/ServiceAreaParameters.d.ts +6 -6
  579. package/rest/support/TopFeaturesQuery.d.ts +16 -2
  580. package/rest/support/meshFeatureSet.js +1 -1
  581. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  582. package/smartMapping/renderers/color.d.ts +40 -0
  583. package/smartMapping/renderers/color.js +1 -1
  584. package/smartMapping/renderers/opacity.d.ts +8 -0
  585. package/smartMapping/renderers/opacity.js +1 -1
  586. package/smartMapping/renderers/size.d.ts +38 -0
  587. package/smartMapping/renderers/size.js +1 -1
  588. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  589. package/smartMapping/renderers/support/timeSeriesUtils.js +2 -0
  590. package/smartMapping/renderers/type.d.ts +20 -1
  591. package/smartMapping/renderers/type.js +1 -1
  592. package/smartMapping/renderers/univariateColorSize.d.ts +19 -0
  593. package/smartMapping/renderers/univariateColorSize.js +1 -1
  594. package/smartMapping/symbology/flow.d.ts +2 -2
  595. package/smartMapping/symbology/types.d.ts +2 -2
  596. package/support/arcadeUtils.js +1 -1
  597. package/support/persistableUrlUtils.js +1 -1
  598. package/support/revision.js +1 -1
  599. package/support/tests/setupServiceMocksMesh.js +1 -1
  600. package/support/timeUtils.d.ts +3 -3
  601. package/symbols/Font.d.ts +7 -7
  602. package/symbols/Symbol3D.js +1 -1
  603. package/symbols/WebStyleSymbol.d.ts +11 -11
  604. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  605. package/symbols/cim/CIMSymbolHelper.js +1 -1
  606. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  607. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  608. package/symbols/support/Symbol3DEmissive.d.ts +8 -2
  609. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  610. package/symbols/support/jsonUtils.d.ts +1 -1
  611. package/symbols/support/previewSymbol2D.js +1 -1
  612. package/symbols/support/urlUtils.js +1 -1
  613. package/symbols/support/webStyleSymbolUtils.js +1 -1
  614. package/time/TimeExtent.d.ts +2 -2
  615. package/versionManagement/VersionManagementService.d.ts +8 -8
  616. package/versionManagement/VersionManager.d.ts +13 -3
  617. package/versionManagement/VersioningState.d.ts +4 -4
  618. package/views/2d/MapViewConstraints.d.ts +29 -25
  619. package/views/2d/ViewStateManager.js +1 -1
  620. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  621. package/views/2d/engine/flow/styles/Particles.js +1 -1
  622. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  623. package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
  624. package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
  625. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  626. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  627. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  628. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  629. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  630. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  631. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  632. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  633. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  634. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  635. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  636. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  637. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js +1 -1
  638. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  639. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js +1 -1
  640. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ClipShader.js +1 -1
  641. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js +1 -1
  642. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  643. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  644. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
  645. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  646. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  647. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  648. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
  649. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  650. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  651. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  652. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  653. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  654. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  655. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  656. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  657. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
  658. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PostProcessingShader.js +1 -1
  659. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  660. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  661. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
  662. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js +1 -1
  663. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
  664. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowParticlesShader.js +1 -1
  665. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowStreamlinesShader.js +1 -1
  666. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
  667. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  668. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
  669. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  670. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vvUtils.js +1 -1
  671. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  672. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  673. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  674. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  675. package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
  676. package/views/2d/layers/BaseLayerViewGL2D.d.ts +3 -3
  677. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  678. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  679. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  680. package/views/2d/layers/features/Processor.js +1 -1
  681. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  682. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  683. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  684. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  685. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  686. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  687. package/views/2d/navigation/ZoomBox.js +1 -1
  688. package/views/2d/navigation/actions/Pan.js +1 -1
  689. package/views/2d/navigation/actions/Pinch.js +1 -1
  690. package/views/2d/navigation/actions/Rotate.js +1 -1
  691. package/views/3d/analysis/AnalysisView3D.js +1 -1
  692. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  693. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  694. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
  695. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  696. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  697. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  698. package/views/3d/analysis/LineOfSightAnalysisResult.js +1 -1
  699. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  700. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  701. package/views/3d/analysis/Slice/SliceController.js +1 -1
  702. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  703. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  704. package/views/3d/analysis/Viewshed/ViewshedDrawToolRenderer.js +1 -1
  705. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  706. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  707. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  708. package/views/3d/analysis/Viewshed/ViewshedPlacementOperation.js +1 -1
  709. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  710. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  711. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  712. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  713. package/views/3d/analysis/Viewshed/ViewshedTool2.js +1 -1
  714. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  715. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  716. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  717. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  718. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  719. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  720. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.js +1 -1
  721. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  722. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  723. package/views/3d/focusAreaUtils.js +1 -1
  724. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  725. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  726. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  727. package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
  728. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  729. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  730. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  731. package/views/3d/layers/DrapedSubView3D.js +1 -1
  732. package/views/3d/layers/FlowSubView3D.js +1 -1
  733. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  734. package/views/3d/layers/I3SMeshView3D.js +1 -1
  735. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  736. package/views/3d/layers/ImagerySubView3D.js +1 -1
  737. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  738. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  739. package/views/3d/layers/PointCloudWorker.js +1 -1
  740. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  741. package/views/3d/layers/SceneLayerWorker.js +1 -1
  742. package/views/3d/layers/SubView3D.js +1 -1
  743. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  744. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  745. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  746. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  747. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  748. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  749. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  750. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  751. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  752. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  753. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  754. package/views/3d/layers/i3s/LoDUtil.js +1 -1
  755. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  756. package/views/3d/layers/i3s/meshUtils.js +1 -1
  757. package/views/3d/layers/support/FeatureTile.js +1 -1
  758. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  759. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  760. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  761. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  762. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  763. package/views/3d/layers/support/MediaLayerInteractionReshapeOptions.js +1 -1
  764. package/views/3d/layers/support/edgeUtils.js +1 -1
  765. package/views/3d/state/ScreenSizePerspective.js +1 -1
  766. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  767. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  768. package/views/3d/state/utils/navigationUtils.js +1 -1
  769. package/views/3d/support/ViewSlice.js +1 -1
  770. package/views/3d/support/dito.js +1 -1
  771. package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
  772. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  773. package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
  774. package/views/3d/support/orientedBoundingBox.js +1 -1
  775. package/views/3d/support/sunUtils.js +1 -1
  776. package/views/3d/terrain/OverlayRenderer.js +1 -1
  777. package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
  778. package/views/3d/terrain/RasterTile.js +1 -1
  779. package/views/3d/terrain/TerrainRenderer.js +1 -1
  780. package/views/3d/webgl/RenderCamera.js +1 -1
  781. package/views/3d/webgl/RenderNode.d.ts +7 -7
  782. package/views/3d/webgl/RenderNode.js +1 -1
  783. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  784. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  785. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  786. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  787. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  788. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  789. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  790. package/views/3d/webgl-engine/effects/clouds/Clouds.glsl.js +1 -1
  791. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  792. package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +1 -1
  793. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.glsl.js +1 -1
  794. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  795. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasTechnique.js +1 -1
  796. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColor.glsl.js +1 -1
  797. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  798. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  799. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMask.glsl.js +1 -1
  800. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  801. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  802. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  803. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  804. package/views/3d/webgl-engine/effects/fog/FogTechnique.js +1 -1
  805. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  806. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  807. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  808. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlurTechnique.js +1 -1
  809. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +7 -0
  810. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechnique.js +1 -1
  811. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
  812. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscale.glsl.js +1 -1
  813. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscaleTechnique.js +1 -1
  814. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  815. package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
  816. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +1 -1
  817. package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
  818. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
  819. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  820. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  821. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  822. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  823. package/views/3d/webgl-engine/effects/highlight/HighlightBlur.glsl.js +1 -1
  824. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  825. package/views/3d/webgl-engine/effects/highlight/HighlightDownsample.glsl.js +1 -1
  826. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  827. package/views/3d/webgl-engine/effects/magnifier/Magnifier.glsl.js +1 -1
  828. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  829. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  830. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  831. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  832. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  833. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  834. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  835. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  836. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  837. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  838. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  839. package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +1 -1
  840. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  841. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  842. package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
  843. package/views/3d/webgl-engine/lib/Texture.glsl.js +1 -1
  844. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  845. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  846. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  847. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  848. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  849. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  850. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  851. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  852. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  853. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  854. package/views/3d/webgl-engine/shaders/CutFillComposition.glsl.js +1 -1
  855. package/views/3d/webgl-engine/shaders/CutFillCompositionTechnique.js +1 -1
  856. package/views/3d/webgl-engine/shaders/CutFillDepth.glsl.js +1 -1
  857. package/views/3d/webgl-engine/shaders/CutFillDepthTechnique.js +1 -1
  858. package/views/3d/webgl-engine/shaders/CutFillDepthTechniqueConfiguration.js +1 -1
  859. package/views/3d/webgl-engine/shaders/CutFillMask.glsl.js +1 -1
  860. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +1 -1
  861. package/views/3d/webgl-engine/shaders/CutFillReduction.glsl.js +1 -1
  862. package/views/3d/webgl-engine/shaders/CutFillReductionTechnique.js +1 -1
  863. package/views/3d/webgl-engine/shaders/CutFillReductionTechniqueConfiguration.js +1 -1
  864. package/views/3d/webgl-engine/shaders/CutFillTargetDepth.glsl.js +1 -1
  865. package/views/3d/webgl-engine/shaders/CutFillTargetDepthTechnique.js +1 -1
  866. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  867. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
  868. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  869. package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +1 -1
  870. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
  871. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  872. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  873. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  874. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  875. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  876. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  877. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  878. package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +1 -1
  879. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  880. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  881. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  882. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  883. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  884. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  885. package/views/BreakpointsOwner.d.ts +1 -1
  886. package/views/DOMContainer.d.ts +6 -6
  887. package/views/Magnifier.d.ts +1 -1
  888. package/views/MapView.d.ts +1 -1
  889. package/views/SceneView.d.ts +3 -3
  890. package/views/Theme.js +1 -1
  891. package/views/View.js +1 -1
  892. package/views/View2D.d.ts +62 -54
  893. package/views/Viewport2DMixin.d.ts +1 -1
  894. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  895. package/views/analysis/LengthDimensionResult.js +1 -1
  896. package/views/draw/drawSurfaces.js +1 -1
  897. package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
  898. package/views/input/types.d.ts +15 -15
  899. package/views/interactive/Tooltip.js +1 -1
  900. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  901. package/views/interactive/sketch/SketchLabelOptions.js +1 -1
  902. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  903. package/views/interactive/sketch/constraints.js +1 -1
  904. package/views/interactive/sketch/normalizedPoint.js +1 -1
  905. package/views/interactive/snapping/SnappingOptions.d.ts +3 -3
  906. package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
  907. package/views/interactive/support/utils.js +1 -1
  908. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  909. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  910. package/views/interactive/tooltip/fields/fields.js +1 -1
  911. package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
  912. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  913. package/views/layers/BuildingComponentSublayerView.js +1 -1
  914. package/views/layers/FeatureLikeLayerView.d.ts +6 -3
  915. package/views/layers/FeatureLikeLayerView.js +1 -1
  916. package/views/layers/GraphicsLayerView.d.ts +6 -3
  917. package/views/layers/GroupLayerView.js +1 -1
  918. package/views/layers/ImageryLayerView.d.ts +4 -0
  919. package/views/layers/SceneLayerView.js +1 -1
  920. package/views/navigation/Navigation.d.ts +1 -1
  921. package/views/overlay/CrosshairOverlayItem.js +1 -1
  922. package/views/overlay/LineOverlayItem.js +1 -1
  923. package/views/support/WebAssemblyRequirements.js +1 -1
  924. package/views/support/angularMeasurementUtils.js +1 -1
  925. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  926. package/views/support/flow/dataUtils.js +1 -1
  927. package/views/support/geometry2dUtils.js +1 -1
  928. package/views/support/geometry3dUtils.js +1 -1
  929. package/views/types.d.ts +1 -1
  930. package/views/webgl/RenderingContext.js +1 -1
  931. package/webscene/Glow.d.ts +0 -4
  932. package/widgets/BasemapGallery.d.ts +1 -1
  933. package/widgets/BasemapLayerList.d.ts +1 -1
  934. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +30 -2
  935. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  936. package/widgets/BatchAttributeForm/css.js +1 -1
  937. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  938. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +0 -5
  939. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  940. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  941. package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +1 -1
  942. package/widgets/BatchAttributeForm/types.d.ts +68 -1
  943. package/widgets/BatchAttributeForm.d.ts +1 -1
  944. package/widgets/BatchAttributeForm.js +1 -1
  945. package/widgets/Bookmarks.d.ts +1 -1
  946. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  947. package/widgets/BuildingExplorer/BuildingLevelPicker/constants.js +1 -1
  948. package/widgets/BuildingExplorer.d.ts +1 -1
  949. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
  950. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  951. package/widgets/CoordinateConversion.d.ts +2 -2
  952. package/widgets/Daylight.d.ts +2 -2
  953. package/widgets/Directions/DirectionsViewModel.js +1 -1
  954. package/widgets/Directions.d.ts +1 -1
  955. package/widgets/Editor/components/Settings.js +1 -1
  956. package/widgets/Editor.d.ts +9 -9
  957. package/widgets/ElevationProfile.d.ts +1 -1
  958. package/widgets/Feature.d.ts +1 -1
  959. package/widgets/FeatureForm.d.ts +1 -1
  960. package/widgets/FeatureTable/ActionColumn.d.ts +1 -1
  961. package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
  962. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
  963. package/widgets/FeatureTemplates.d.ts +1 -1
  964. package/widgets/FloorFilter.d.ts +1 -1
  965. package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -3
  966. package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
  967. package/widgets/Fullscreen.d.ts +3 -3
  968. package/widgets/Histogram/HistogramViewModel.js +1 -1
  969. package/widgets/LayerList/ListItemPanel.d.ts +5 -5
  970. package/widgets/Legend.d.ts +1 -1
  971. package/widgets/Locate/LocateViewModel.d.ts +2 -2
  972. package/widgets/Locate.d.ts +1 -1
  973. package/widgets/PanoramicViewer/utils.js +1 -1
  974. package/widgets/Popup.d.ts +1 -1
  975. package/widgets/Print/PrintViewModel.d.ts +2 -2
  976. package/widgets/Print/TemplateOptions.d.ts +4 -4
  977. package/widgets/Print.d.ts +6 -6
  978. package/widgets/Search/SearchViewModel.d.ts +5 -5
  979. package/widgets/Search.d.ts +4 -4
  980. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  981. package/widgets/ShadowCast.d.ts +1 -1
  982. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  983. package/widgets/Sketch.d.ts +39 -39
  984. package/widgets/Sketch.js +1 -1
  985. package/widgets/Slice.d.ts +2 -2
  986. package/widgets/TableList/ListItemPanel.d.ts +5 -5
  987. package/widgets/Track/TrackViewModel.d.ts +3 -3
  988. package/widgets/Track.d.ts +3 -3
  989. package/widgets/UtilityNetworkTrace.d.ts +2 -2
  990. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  991. package/widgets/VersionManagement/VersionManagementViewModel.d.ts +2 -2
  992. package/widgets/Weather.d.ts +1 -1
  993. package/widgets/Widget.d.ts +1 -1
  994. package/widgets/support/ContingentValuesManager.js +1 -1
  995. package/widgets/support/forms/formUtils.js +1 -1
  996. package/widgets/support/types.d.ts +1 -1
  997. package/widgets/support/widget.d.ts +6 -6
  998. package/assets/esri/core/workers/chunks/069459519477bb3dc91b.js +0 -1
  999. package/assets/esri/core/workers/chunks/0b445c1cf281f158c1f1.js +0 -1
  1000. package/assets/esri/core/workers/chunks/0e9804ece1fd2d59751b.js +0 -1
  1001. package/assets/esri/core/workers/chunks/115664cb7d7b22a315bb.js +0 -1
  1002. package/assets/esri/core/workers/chunks/123a67e84ed68b96ac59.js +0 -1
  1003. package/assets/esri/core/workers/chunks/163ce1be8bfe20e77f97.js +0 -1
  1004. package/assets/esri/core/workers/chunks/169c9eb6cd000e067c4b.js +0 -1
  1005. package/assets/esri/core/workers/chunks/18201119828664373165.js +0 -1
  1006. package/assets/esri/core/workers/chunks/18ebf1d3ed05c8057f7d.js +0 -1
  1007. package/assets/esri/core/workers/chunks/19f07c8d0f32ec889861.js +0 -1
  1008. package/assets/esri/core/workers/chunks/1bd8a7f92a428eedb22e.js +0 -1
  1009. package/assets/esri/core/workers/chunks/1f537c05c2f643acb5e7.js +0 -1
  1010. package/assets/esri/core/workers/chunks/241aeff6afd074ce105b.js +0 -1
  1011. package/assets/esri/core/workers/chunks/2562d8905bd05ef6fd07.js +0 -1
  1012. package/assets/esri/core/workers/chunks/2855357a2c1f2ab03fb7.js +0 -1
  1013. package/assets/esri/core/workers/chunks/2bd334f9ab89334df713.js +0 -1
  1014. package/assets/esri/core/workers/chunks/2e8db0f05df2e38a14e1.js +0 -2
  1015. package/assets/esri/core/workers/chunks/30e191d36aa95823c018.js +0 -1
  1016. package/assets/esri/core/workers/chunks/315bf08dff4757ffbed3.js +0 -1
  1017. package/assets/esri/core/workers/chunks/31c01885ee6d70a2bde2.js +0 -1
  1018. package/assets/esri/core/workers/chunks/3292b3883f203637b5a7.js +0 -1
  1019. package/assets/esri/core/workers/chunks/32f24a66f684de3c243d.js +0 -1
  1020. package/assets/esri/core/workers/chunks/35527a01d61cabbfd33e.js +0 -1
  1021. package/assets/esri/core/workers/chunks/3aebbed6d4fd1b993a35.js +0 -1
  1022. package/assets/esri/core/workers/chunks/3f1d533efe4300d19e6a.js +0 -1
  1023. package/assets/esri/core/workers/chunks/413d2fa54508e6f42c74.js +0 -1
  1024. package/assets/esri/core/workers/chunks/4325fa92dafca465ae26.js +0 -1
  1025. package/assets/esri/core/workers/chunks/4364a3e706294bb6ae41.js +0 -1
  1026. package/assets/esri/core/workers/chunks/438f35d41c6851736818.js +0 -30
  1027. package/assets/esri/core/workers/chunks/453c9e8d438d061e1736.js +0 -1
  1028. package/assets/esri/core/workers/chunks/479e34b0abc10499bd3a.js +0 -1
  1029. package/assets/esri/core/workers/chunks/47d49777a3b3cd8e18bd.js +0 -1
  1030. package/assets/esri/core/workers/chunks/49675e77a351abda2728.js +0 -1
  1031. package/assets/esri/core/workers/chunks/4cdf80e2e60501dd4756.js +0 -1
  1032. package/assets/esri/core/workers/chunks/51816d79c6be15e4bfcf.js +0 -1
  1033. package/assets/esri/core/workers/chunks/51edfe21d4c6ee22c83d.js +0 -1
  1034. package/assets/esri/core/workers/chunks/5524a71d1abc9568ce26.js +0 -1
  1035. package/assets/esri/core/workers/chunks/557e39e5156b313597f9.js +0 -1
  1036. package/assets/esri/core/workers/chunks/55b765c72d13b3b911f9.js +0 -1
  1037. package/assets/esri/core/workers/chunks/5dc86a3a40d16b576bb5.js +0 -1
  1038. package/assets/esri/core/workers/chunks/6182d39e2095d4460b88.js +0 -1
  1039. package/assets/esri/core/workers/chunks/621d71d26bd20e296138.js +0 -1
  1040. package/assets/esri/core/workers/chunks/67dffb896b6ef4b2038b.js +0 -1
  1041. package/assets/esri/core/workers/chunks/694f9571e2723d3d4b02.js +0 -1
  1042. package/assets/esri/core/workers/chunks/69ad5930ff6040c6c561.js +0 -1
  1043. package/assets/esri/core/workers/chunks/6af88bb722bbb37db198.js +0 -2
  1044. package/assets/esri/core/workers/chunks/70d8f5bdb452cee41536.js +0 -2
  1045. package/assets/esri/core/workers/chunks/728151d24334027af635.js +0 -1
  1046. package/assets/esri/core/workers/chunks/77769663cd712822d33e.js +0 -1
  1047. package/assets/esri/core/workers/chunks/78af4b7a379c40f497a7.js +0 -1
  1048. package/assets/esri/core/workers/chunks/7c292f7b181f3b93352b.js +0 -1
  1049. package/assets/esri/core/workers/chunks/86443e47ad99e555753a.js +0 -1
  1050. package/assets/esri/core/workers/chunks/86f2de7dda7992ae706c.js +0 -1
  1051. package/assets/esri/core/workers/chunks/895114ccd2603830960f.js +0 -1
  1052. package/assets/esri/core/workers/chunks/9250615c78f8570a9cda.js +0 -1
  1053. package/assets/esri/core/workers/chunks/927c8ca7fd385b28a1b7.js +0 -640
  1054. package/assets/esri/core/workers/chunks/95d82c619dcbec2e1050.js +0 -1
  1055. package/assets/esri/core/workers/chunks/979bab62cad788180770.js +0 -1
  1056. package/assets/esri/core/workers/chunks/9d70247d820085a2c190.js +0 -1
  1057. package/assets/esri/core/workers/chunks/a0aaf14c8f9a007d88ac.js +0 -1
  1058. package/assets/esri/core/workers/chunks/a0b6eef4890cc61609dc.js +0 -1
  1059. package/assets/esri/core/workers/chunks/a0fce639319d59becd01.js +0 -2
  1060. package/assets/esri/core/workers/chunks/aa03f770178693167aa0.js +0 -1
  1061. package/assets/esri/core/workers/chunks/aea439d4c2308f88b295.js +0 -1
  1062. package/assets/esri/core/workers/chunks/af45110f07e4b5162bae.js +0 -1
  1063. package/assets/esri/core/workers/chunks/b0c647af49c9d563b852.js +0 -1
  1064. package/assets/esri/core/workers/chunks/b44f1d08784f2e50c853.js +0 -1
  1065. package/assets/esri/core/workers/chunks/b640651c7d86cfe654bf.js +0 -1
  1066. package/assets/esri/core/workers/chunks/b78fb24b47d9f31f18c6.js +0 -1
  1067. package/assets/esri/core/workers/chunks/b8dda9e55caba0e2b4c2.js +0 -1
  1068. package/assets/esri/core/workers/chunks/ba693317ed3939587f30.js +0 -1
  1069. package/assets/esri/core/workers/chunks/c13c532fe38ddc5d7ca6.js +0 -1
  1070. package/assets/esri/core/workers/chunks/c4872cf3b71d00f450e1.js +0 -1
  1071. package/assets/esri/core/workers/chunks/c5b7ff8650235c464dbf.js +0 -1
  1072. package/assets/esri/core/workers/chunks/ca1b0cb14ea9ae1bf2a3.js +0 -1
  1073. package/assets/esri/core/workers/chunks/caf80facb0322be054ab.js +0 -1
  1074. package/assets/esri/core/workers/chunks/cc48354c54358777e996.js +0 -1
  1075. package/assets/esri/core/workers/chunks/d5423df247be82fa085a.js +0 -1
  1076. package/assets/esri/core/workers/chunks/d598d08dbf2796742e8c.js +0 -1
  1077. package/assets/esri/core/workers/chunks/d6d87bfa9e6d233385a9.js +0 -262
  1078. package/assets/esri/core/workers/chunks/da4f7d7099ba88f31f45.js +0 -1
  1079. package/assets/esri/core/workers/chunks/dbb1ac41fd5da4fd849b.js +0 -1
  1080. package/assets/esri/core/workers/chunks/dc259eed58fde3f5cb5c.js +0 -1
  1081. package/assets/esri/core/workers/chunks/e0036fa0324a96a88248.js +0 -1
  1082. package/assets/esri/core/workers/chunks/e0bd550b10dd402c48f1.js +0 -1
  1083. package/assets/esri/core/workers/chunks/e29d182460564c2a52ad.js +0 -1
  1084. package/assets/esri/core/workers/chunks/e645f992ec6f935ee3a5.js +0 -1
  1085. package/assets/esri/core/workers/chunks/eabd4a78221b7e733793.js +0 -1
  1086. package/assets/esri/core/workers/chunks/eda083e9d12e45da0a7b.js +0 -1
  1087. package/assets/esri/core/workers/chunks/f05932aea4eb267cba4d.js +0 -1
  1088. package/assets/esri/core/workers/chunks/f0b5c140a5ba174572b6.js +0 -1
  1089. package/assets/esri/core/workers/chunks/f239a8ecad8b692d5eaa.js +0 -1
  1090. package/assets/esri/core/workers/chunks/f286680e363eefdf27df.js +0 -1
  1091. package/assets/esri/core/workers/chunks/fa3138dd8139008b430d.js +0 -1
  1092. package/assets/esri/core/workers/chunks/fb0afb41a3d87d59f574.js +0 -1
  1093. package/assets/esri/core/workers/chunks/fc9fbc8e4e459edf4e37.js +0 -1
  1094. /package/assets/esri/core/workers/chunks/{70d8f5bdb452cee41536.js.LICENSE.txt → 62e77e3c5ca9b4887923.js.LICENSE.txt} +0 -0
  1095. /package/assets/esri/core/workers/chunks/{6af88bb722bbb37db198.js.LICENSE.txt → 7df94cb985db41815fad.js.LICENSE.txt} +0 -0
  1096. /package/assets/esri/core/workers/chunks/{a0fce639319d59becd01.js.LICENSE.txt → 875cce0be4f6c89f80f3.js.LICENSE.txt} +0 -0
  1097. /package/assets/esri/core/workers/chunks/{2e8db0f05df2e38a14e1.js.LICENSE.txt → d9d4754062758789f186.js.LICENSE.txt} +0 -0
  1098. /package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js.LICENSE.txt → f5731ad4cfbbf1cc569a.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{dot as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";function t(e,t,g){for(let n=0;n<t.length;n++)r[n]=!1,o[n]=null;for(let r=0;r<e.length;r++)n[r]=!1,l[r]=null;for(let n=0;n<t.length;n++){const o=h(t[n],e,g);o>=0&&(r[n]=!0,null!=l[o]?l[o].push(t[n]):l[o]=[t[n]])}for(let l=0;l<e.length;l++){const r=h(e[l],t,g);r>=0&&(n[l]=!0,null!=o[r]?o[r].push(e[l]):o[r]=[e[l]])}const u=[];for(let r=0;r<e.length;r++)null!=l[r]||n[r]||u.push({load:[],remove:[e[r]]});for(let n=0;n<t.length;n++)null!=o[n]||r[n]||u.push({load:[t[n]],remove:[]});for(let n=0;n<t.length;n++)null!=o[n]&&(o[n].length>1||o[n][0]!==t[n])&&u.push({load:[t[n]],remove:o[n]});for(let n=0;n<e.length;n++)null!=l[n]&&(l[n].length>1||l[n][0]!==e[n])&&u.push({load:l[n],remove:[e[n]]});return u}const n=[!1],l=[null],r=[!1],o=[null];function h(e,t,n){let l=e;for(;l>0;){const e=t.indexOf(l);if(e>=0)return e;l=n.getParentId(l)}return t.indexOf(l)}function g(t,n,l){return t.sort((t,r)=>{if(0===t.load.length&&0===r.load.length)return 0;if(0===t.load.length)return-1;if(0===r.load.length)return 1;if(0===t.remove.length&&0===r.remove.length){const o=l.getRenderObb(t.load[0]).center,h=l.getRenderObb(r.load[0]).center;return e(o,n)-e(h,n)}if(0===t.remove.length)return-1;if(0===r.remove.length)return 1;if(1===t.load.length&&1===r.load.length){const o=l.getRenderObb(t.load[0]).center,h=l.getRenderObb(r.load[0]).center;return e(o,n)-e(h,n)}if(1===t.load.length)return-1;if(1===r.load.length)return 1;{const o=l.getRenderObb(t.remove[0]).center,h=l.getRenderObb(r.remove[0]).center;return e(o,n)-e(h,n)}})}function u(e,t,n){for(let l=0;l<e.length;++l){const r=e[l];r.load.length>t&&1===r.remove.length&&d(e,r,n)}}function d(e,t,n){const l=[t.remove[0]],r=[];for(;1===l.length;){const e=l.pop();r.length=0;for(let o=0;o<t.load.length;o++){let h=t.load[o],g=n.getParentId(h);for(;g!==e;)h=g,g=n.getParentId(h);let u=l.indexOf(h);u<0&&(u=l.length,l.push(h),r.push([])),r[u].push(t.load[o])}}t.load=l;for(let o=0;o<l.length;o++)r[o].length>1?e.push({remove:[l[o]],load:r[o]}):l[o]=r[o][0]}export{t as nodeDiff,g as sortFrontToBack,u as splitWorkEntries,d as splitWorkEntry};
2
+ import{dot as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";function n(e,t,n){for(let l=0;l<t.length;l++)o[l]=!1,g[l]=null;for(let o=0;o<e.length;o++)l[o]=!1,r[o]=null;for(let l=0;l<t.length;l++){const g=h(t[l],e,n);g>=0&&(o[l]=!0,null!=r[g]?r[g].push(t[l]):r[g]=[t[l]])}for(let r=0;r<e.length;r++){const o=h(e[r],t,n);o>=0&&(l[r]=!0,null!=g[o]?g[o].push(e[r]):g[o]=[e[r]])}const u=[];for(let o=0;o<e.length;o++)null!=r[o]||l[o]||u.push({load:[],remove:[e[o]]});for(let l=0;l<t.length;l++)null!=g[l]||o[l]||u.push({load:[t[l]],remove:[]});for(let l=0;l<t.length;l++)null!=g[l]&&(g[l].length>1||g[l][0]!==t[l])&&u.push({load:[t[l]],remove:g[l]});for(let l=0;l<e.length;l++)null!=r[l]&&(r[l].length>1||r[l][0]!==e[l])&&u.push({load:r[l],remove:[e[l]]});return u}const l=[!1],r=[null],o=[!1],g=[null];function h(e,t,n){let l=e;for(;l>0;){const e=t.indexOf(l);if(e>=0)return e;l=n.getParentId(l)}return t.indexOf(l)}function u(t,n,l){return t.sort((t,r)=>{if(0===t.load.length&&0===r.load.length)return 0;if(0===t.load.length)return-1;if(0===r.load.length)return 1;if(0===t.remove.length&&0===r.remove.length){const o=l.getRenderObb(t.load[0]).getCenter(a),g=l.getRenderObb(r.load[0]).getCenter(s);return e(o,n)-e(g,n)}if(0===t.remove.length)return-1;if(0===r.remove.length)return 1;if(1===t.load.length&&1===r.load.length){const o=l.getRenderObb(t.load[0]).getCenter(a),g=l.getRenderObb(r.load[0]).getCenter(s);return e(o,n)-e(g,n)}if(1===t.load.length)return-1;if(1===r.load.length)return 1;{const o=l.getRenderObb(t.remove[0]).getCenter(a),g=l.getRenderObb(r.remove[0]).getCenter(s);return e(o,n)-e(g,n)}})}function f(e,t,n){for(let l=0;l<e.length;++l){const r=e[l];r.load.length>t&&1===r.remove.length&&d(e,r,n)}}function d(e,t,n){const l=[t.remove[0]],r=[];for(;1===l.length;){const e=l.pop();r.length=0;for(let o=0;o<t.load.length;o++){let g=t.load[o],h=n.getParentId(g);for(;h!==e;)g=h,h=n.getParentId(g);let u=l.indexOf(g);u<0&&(u=l.length,l.push(g),r.push([])),r[u].push(t.load[o])}}t.load=l;for(let o=0;o<l.length;o++)r[o].length>1?e.push({remove:[l[o]],load:r[o]}):l[o]=r[o][0]}const a=t(),s=t();export{n as nodeDiff,u as sortFrontToBack,f as splitWorkEntries,d as splitWorkEntry};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{disposeMaybe as s}from"../../../../core/maybe.js";import t from"../../../../core/PooledArray.js";import{property as i,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{subtract as n,length as o,scale as a,negate as h,dot as l,squaredLength as d}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as u}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{create as g,offset as p,contains as m,containsPoint as _,set as f,positiveInfinity as P,equals as x}from"../../../../geometry/support/aaBoundingBox.js";import{create as b}from"../../../../geometry/support/plane.js";import{fromPoints as S}from"../../../../geometry/support/ray.js";import{Sphere as R}from"../../../../geometry/support/sphere.js";import{PclTarget as w}from"./Intersector.js";import{PointCloudHighlights as z}from"./PointCloudHighlights.js";import{isColor as y,isHighlight as v,isDepth as j}from"../../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncRenderPlugin as q}from"../../webgl-engine/effects/RenderPlugin.js";import{IntersectorResult as H}from"../../webgl-engine/lib/IntersectorResult.js";import{VertexArrayObject as O}from"../../webgl-engine/lib/VertexArrayObject.js";import{b as A,g as E}from"../../../../chunks/PointRenderer.glsl.js";import{PointRendererTechnique as F,positionsLayout as I,colorsLayout as B}from"../../webgl-engine/shaders/PointRendererTechnique.js";import{PointRendererTechniqueConfiguration as M}from"../../webgl-engine/shaders/PointRendererTechniqueConfiguration.js";import{PrimitiveType as N}from"../../../webgl/enums.js";import{VertexBuffer as V}from"../../../webgl/VertexBuffer.js";let T=class extends q{constructor(e){super(e),this.type=6,this.isGround=!1,this._passParameters=new A,this._highlights=new z({forEachNode:e=>this.forEachNode(e),addHighlights:(e,s,t)=>this._addHighlights(e,s,t),removeHighlight:(e,s)=>this._removeHighlight(e,s)}),this.produces=new Map([[2,e=>y(e)||v(e)&&!this._highlights.empty],[3,e=>j(e)]]),this.point=c(),this.intersectionRayDir=c(),this.intersectionPlane=b(),this.nodeOriginOffset=c(),this.nodeBoundingBox=g(),this.layerViewUid="",this._slicePlaneEnabled=!1,this._configuration=new M,this._nodes=new t,this._highlightsInOrder=null}destroy(){this._nodes.prune()}hasHighlight(e){return this._highlights.has(e)}initializeRenderContext(e){this._context=e,e.requestRender()}uninitializeRenderContext(){}intersect(e,s,t,i){const{point:r,intersectionRayDir:f,nodeOriginOffset:P,intersectionPlane:x,layerViewUid:b,nodeBoundingBox:z}=this,y=S(t,i),v=e.camera.perScreenPixelRatio/2,j=e.camera.near;n(f,i,t);const q=1/o(f);a(f,f,q);const O=c();h(O,f),u(x,f[0],f[1],f[2],-l(f,t));const A=new D,E=new D,F=new Array,I=g(this._passParameters.clipBox);p(I,-t[0],-t[1],-t[2],I),this._nodes.forAll(o=>{const{isLeaf:a,coordinates:h}=o,c=o.splatSize*this._passParameters.scaleFactor;let{min:u,max:g}=o.obb.signedDistanceRangePlane(x);u-=U(c,u+j,this._passParameters,v,a),g-=U(c,g+j,this._passParameters,v,a);const S=g<0,w=null!=A.dist&&null!=E.dist&&A.dist<u*q&&E.dist>g*q;if(S||w)return;const H=C(c,g+j,this._passParameters,v,a);if(!new R(o.obb.center,o.obb.radius+H).intersectRay(y))return;if(!o.obb.intersectRay(t,f,H))return;const B=H*H;o.obb.toAaBoundingBox(z),p(z,-t[0],-t[1],-t[2],z);const M=!m(I,z);n(P,o.origin,t);const N=h.length/3;for(let n=0;n<N;n++){const u=3*n;if(r[0]=P[0]+h[u],r[1]=P[1]+h[u+1],r[2]=P[2]+h[u+2],M&&!_(I,r))continue;const g=l(r,f),p=g*g,m=d(r)-p;if(m>B)continue;let x=g+j;const S=U(c,x,this._passParameters,v,a);if(g-S<0)continue;x-=S;const R=C(c,x,this._passParameters,v,a);if(m>R*R)continue;const w=(g-S)*q,z=e=>(e.point=e.point?W(o,n,e.point):W(o,n),e.dist=w,e.normal=O,e.node=o,e.pointId=n,e.layerViewUid=b,e);if((null==A.dist||w<A.dist)&&(null==s||s(t,i,w))&&z(A),0!==e.options.store&&(null==E.dist||w>E.dist)&&(null==s||s(t,i,w))&&z(E),2===e.options.store&&(null==s||s(t,i,w))){const e=new D;F.push(z(e))}}});const B=e=>{const{layerViewUid:s,node:t,pointId:i}=e;return new w(e.point,s,i,()=>this.createGraphic(t,i,e.point))},M=(e,s)=>{const t=B(s);e.set(this.type,t,s.dist,s.normal)};if(G(A)){const s=e.results.min;(null==s.distance||A.dist<s.distance)&&M(s,A)}if(G(E)&&0!==e.options.store){const s=e.results.max;(null==s.distance||E.dist>s.distance)&&M(s,E)}if(2===e.options.store)for(const n of F){const s=new H(y);M(s,n),e.results.all.push(s)}}acquireTechniques(e){const s=10===e.output;return 0!==this._nodes.length&&(y(e.output)||j(e.output)&&3===e.bind.slot||s)?(this._nodes.forAll(s=>this._initNode(e,s)),this._configuration.drawScreenSize=this._passParameters.drawScreenSpace,this._configuration.useFixedSizes=this._passParameters.useFixedSizes,this._configuration.hasSlicePlane=this._slicePlaneEnabled,this._configuration.hasOccludees=e.bind.hasOccludees,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasHighlightMixTexture=s&&null!=e.bind.highlightMixTexture,this._configuration.output=e.output,this._configuration.hasEmission=e.bind.hasEmission&&y(e.output),this._context.techniques.get(F,this._configuration)):null}render(e,s){const{rctx:t,bind:i,output:r}=e,n=t.bindTechnique(s,i,this._passParameters),o=10===r,a=i.highlight?.name??null;o&&!a||(o&&i.highlights!==this._highlightsInOrder&&this._updateResolvedHighlights(i.highlights),this._nodes.forAll(s=>{const r=o?s.resolvedHighlightRanges.get(a):null;0===s.coordinates.length||null==s.vao||o&&null==r||(n.assertCompatibleVertexAttributeLocations(s.vao),n.bindDraw(i,this._passParameters,s),t.bindVAO(s.vao),o?this._renderHighlightFragments(e,r):t.drawArrays(N.POINTS,0,s.coordinates.length/3))}))}_renderHighlightFragments(e,s){const{rctx:t}=e;for(let i=0;i<s.length;i+=2)t.drawArrays(N.POINTS,s[i],s[i+1])}set useFixedSizes(e){this._passParameters.useFixedSizes!==e&&(this._passParameters.useFixedSizes=e,this._requestRender())}get useFixedSizes(){return this._passParameters.useFixedSizes}set scaleFactor(e){this._passParameters.scaleFactor!==e&&(this._passParameters.scaleFactor=e,this._requestRender())}get scaleFactor(){return this._passParameters.scaleFactor}set minSizePx(e){this._passParameters.minSizePx!==e&&(this._passParameters.minSizePx=e,this._requestRender())}get minSizePx(){return this._passParameters.minSizePx}set useRealWorldSymbolSizes(e){this._passParameters.useRealWorldSymbolSizes!==e&&(this._passParameters.useRealWorldSymbolSizes=e,this._requestRender())}get useRealWorldSymbolSizes(){return this._passParameters.useRealWorldSymbolSizes}set size(e){this._passParameters.size!==e&&(this._passParameters.size=e,this._requestRender())}get size(){return this._passParameters.size}set sizePx(e){this._passParameters.sizePx!==e&&(this._passParameters.sizePx=e,this._requestRender())}get sizePx(){return this._passParameters.sizePx}set clippingBox(e){f(this._passParameters.clipBox,e||P)}get _clippingEnabled(){return!x(this._passParameters.clipBox,P,(e,s)=>e===s)}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this._requestRender())}addNode(e){this._nodes.push(e),e.clearHighlights(),this._highlights.nodeAdded(e),this._requestRender()}removeNode(e){let t=null;return this._nodes.filterInPlace(i=>i.id!==e||(t=i,i.vao=s(i.vao),this._highlights.nodeRemoved(i),!1)),this._requestRender(),t}forEachNode(e){this._nodes.forEach(e)}removeAll(){this._nodes.forAll(e=>e.vao=s(e.vao)),this._highlights.removeAll(),this._nodes.clear(),this._requestRender()}highlight(e,s){return this._highlights.add(e,s)}_addHighlights(e,s,t){for(const i of s)e.addHighlight(i,t);this._highlightsInOrder&&e.updateResolvedHighlights(this._highlightsInOrder),this._requestRender()}_removeHighlight(e,s){e.removeHighlight(s),this._highlightsInOrder&&e.updateResolvedHighlights(this._highlightsInOrder),this._requestRender()}_initNode(e,s){s.vao??=new O(e.rctx,new Map([["positions",new V(e.rctx,I,s.coordinates)],["colors",new V(e.rctx,B,s.rgb)]]))}_requestRender(){this._context&&this._context.requestRender()}_updateResolvedHighlights(e){this._highlightsInOrder=e,this._nodes.forAll(s=>s.updateResolvedHighlights(e))}};function C(e,s,t,i,r){if(t.drawScreenSpace)return t.fixedSize*s*i;const n=E(r)*s*i;return t.useFixedSizes?Math.min(t.fixedSize/2,n):t.screenMinSize>0?Math.min(Math.max(t.screenMinSize*s*i,e/2),n):Math.min(e/2,n)}function U(e,s,t,i,r){return t.drawScreenSpace?0:C(e,s,t,i,r)}function W(e,s,t=c()){return t[0]=e.origin[0]+e.coordinates[3*s],t[1]=e.origin[1]+e.coordinates[3*s+1],t[2]=e.origin[2]+e.coordinates[3*s+2],t}e([i({constructOnly:!0})],T.prototype,"createGraphic",void 0),T=e([r("esri.views.3d.layers.i3s.PointCloudRenderer")],T);class D{constructor(){this.node=null,this.pointId=null,this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}function G(e){return null!=e.dist&&null!=e.point&&null!=e.pointId&&null!=e.node}export{T as PointCloudRenderer};
2
+ import{__decorate as e}from"tslib";import{disposeMaybe as s}from"../../../../core/maybe.js";import t from"../../../../core/PooledArray.js";import{property as i,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{subtract as n,length as o,scale as a,negate as h,dot as l,squaredLength as d}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as u}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{create as g,offset as p,contains as m,containsPoint as _,set as f,positiveInfinity as P,equals as x}from"../../../../geometry/support/aaBoundingBox.js";import{create as b}from"../../../../geometry/support/plane.js";import{fromPoints as S}from"../../../../geometry/support/ray.js";import{Sphere as R}from"../../../../geometry/support/sphere.js";import{PclTarget as w}from"./Intersector.js";import{PointCloudHighlights as z}from"./PointCloudHighlights.js";import{isColor as y,isHighlight as v,isDepth as j}from"../../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncRenderPlugin as q}from"../../webgl-engine/effects/RenderPlugin.js";import{IntersectorResult as H}from"../../webgl-engine/lib/IntersectorResult.js";import{VertexArrayObject as O}from"../../webgl-engine/lib/VertexArrayObject.js";import{P as A,g as E}from"../../../../chunks/PointRenderer.glsl.js";import{PointRendererTechnique as F,positionsLayout as I,colorsLayout as B}from"../../webgl-engine/shaders/PointRendererTechnique.js";import{PointRendererTechniqueConfiguration as M}from"../../webgl-engine/shaders/PointRendererTechniqueConfiguration.js";import{PrimitiveType as N}from"../../../webgl/enums.js";import{VertexBuffer as V}from"../../../webgl/VertexBuffer.js";let T=class extends q{constructor(e){super(e),this.type=6,this.isGround=!1,this._passParameters=new A,this._highlights=new z({forEachNode:e=>this.forEachNode(e),addHighlights:(e,s,t)=>this._addHighlights(e,s,t),removeHighlight:(e,s)=>this._removeHighlight(e,s)}),this.produces=new Map([[2,e=>y(e)||v(e)&&!this._highlights.empty],[3,e=>j(e)]]),this.point=c(),this.intersectionRayDir=c(),this.intersectionPlane=b(),this.nodeOriginOffset=c(),this.nodeBoundingBox=g(),this.layerViewUid="",this._slicePlaneEnabled=!1,this._configuration=new M,this._nodes=new t,this._highlightsInOrder=null}destroy(){this._nodes.prune()}hasHighlight(e){return this._highlights.has(e)}initializeRenderContext(e){this._context=e,e.requestRender()}uninitializeRenderContext(){}intersect(e,s,t,i){const{point:r,intersectionRayDir:f,nodeOriginOffset:P,intersectionPlane:x,layerViewUid:b,nodeBoundingBox:z}=this,y=S(t,i),v=e.camera.perScreenPixelRatio/2,j=e.camera.near;n(f,i,t);const q=1/o(f);a(f,f,q);const O=c();h(O,f),u(x,f[0],f[1],f[2],-l(f,t));const A=new D,E=new D,F=new Array,I=g(this._passParameters.clipBox);p(I,-t[0],-t[1],-t[2],I),this._nodes.forAll(o=>{const{isLeaf:a,coordinates:h}=o,c=o.splatSize*this._passParameters.scaleFactor;let{min:u,max:g}=o.obb.signedDistanceRangePlane(x);u-=U(c,u+j,this._passParameters,v,a),g-=U(c,g+j,this._passParameters,v,a);const S=g<0,w=null!=A.dist&&null!=E.dist&&A.dist<u*q&&E.dist>g*q;if(S||w)return;const H=C(c,g+j,this._passParameters,v,a);if(!new R(o.obb.getCenter(L),o.obb.radius+H).intersectRay(y))return;if(!o.obb.intersectRay(t,f,H))return;const B=H*H;o.obb.toAaBoundingBox(z),p(z,-t[0],-t[1],-t[2],z);const M=!m(I,z);n(P,o.origin,t);const N=h.length/3;for(let n=0;n<N;n++){const u=3*n;if(r[0]=P[0]+h[u],r[1]=P[1]+h[u+1],r[2]=P[2]+h[u+2],M&&!_(I,r))continue;const g=l(r,f),p=g*g,m=d(r)-p;if(m>B)continue;let x=g+j;const S=U(c,x,this._passParameters,v,a);if(g-S<0)continue;x-=S;const R=C(c,x,this._passParameters,v,a);if(m>R*R)continue;const w=(g-S)*q,z=e=>(e.point=e.point?W(o,n,e.point):W(o,n),e.dist=w,e.normal=O,e.node=o,e.pointId=n,e.layerViewUid=b,e);if((null==A.dist||w<A.dist)&&(null==s||s(t,i,w))&&z(A),0!==e.options.store&&(null==E.dist||w>E.dist)&&(null==s||s(t,i,w))&&z(E),2===e.options.store&&(null==s||s(t,i,w))){const e=new D;F.push(z(e))}}});const B=e=>{const{layerViewUid:s,node:t,pointId:i}=e;return new w(e.point,s,i,()=>this.createGraphic(t,i,e.point))},M=(e,s)=>{const t=B(s);e.set(this.type,t,s.dist,s.normal)};if(G(A)){const s=e.results.min;(null==s.distance||A.dist<s.distance)&&M(s,A)}if(G(E)&&0!==e.options.store){const s=e.results.max;(null==s.distance||E.dist>s.distance)&&M(s,E)}if(2===e.options.store)for(const n of F){const s=new H(y);M(s,n),e.results.all.push(s)}}acquireTechniques(e){const s=10===e.output;return 0!==this._nodes.length&&(y(e.output)||j(e.output)&&3===e.bind.slot||s)?(this._nodes.forAll(s=>this._initNode(e,s)),this._configuration.drawScreenSize=this._passParameters.drawScreenSpace,this._configuration.useFixedSizes=this._passParameters.useFixedSizes,this._configuration.hasSlicePlane=this._slicePlaneEnabled,this._configuration.hasOccludees=e.bind.hasOccludees,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasHighlightMixTexture=s&&null!=e.bind.highlightMixTexture,this._configuration.output=e.output,this._configuration.hasEmission=e.bind.hasEmission&&y(e.output),this._context.techniques.get(F,this._configuration)):null}render(e,s){const{rctx:t,bind:i,output:r}=e,n=t.bindTechnique(s,i,this._passParameters),o=10===r,a=i.highlight?.name??null;o&&!a||(o&&i.highlights!==this._highlightsInOrder&&this._updateResolvedHighlights(i.highlights),this._nodes.forAll(s=>{const r=o?s.resolvedHighlightRanges.get(a):null;0===s.coordinates.length||null==s.vao||o&&null==r||(n.assertCompatibleVertexAttributeLocations(s.vao),n.bindDraw(i,this._passParameters,s),t.bindVAO(s.vao),o?this._renderHighlightFragments(e,r):t.drawArrays(N.POINTS,0,s.coordinates.length/3))}))}_renderHighlightFragments(e,s){const{rctx:t}=e;for(let i=0;i<s.length;i+=2)t.drawArrays(N.POINTS,s[i],s[i+1])}set useFixedSizes(e){this._passParameters.useFixedSizes!==e&&(this._passParameters.useFixedSizes=e,this._requestRender())}get useFixedSizes(){return this._passParameters.useFixedSizes}set scaleFactor(e){this._passParameters.scaleFactor!==e&&(this._passParameters.scaleFactor=e,this._requestRender())}get scaleFactor(){return this._passParameters.scaleFactor}set minSizePx(e){this._passParameters.minSizePx!==e&&(this._passParameters.minSizePx=e,this._requestRender())}get minSizePx(){return this._passParameters.minSizePx}set useRealWorldSymbolSizes(e){this._passParameters.useRealWorldSymbolSizes!==e&&(this._passParameters.useRealWorldSymbolSizes=e,this._requestRender())}get useRealWorldSymbolSizes(){return this._passParameters.useRealWorldSymbolSizes}set size(e){this._passParameters.size!==e&&(this._passParameters.size=e,this._requestRender())}get size(){return this._passParameters.size}set sizePx(e){this._passParameters.sizePx!==e&&(this._passParameters.sizePx=e,this._requestRender())}get sizePx(){return this._passParameters.sizePx}set clippingBox(e){f(this._passParameters.clipBox,e||P)}get _clippingEnabled(){return!x(this._passParameters.clipBox,P,(e,s)=>e===s)}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this._requestRender())}addNode(e){this._nodes.push(e),e.clearHighlights(),this._highlights.nodeAdded(e),this._requestRender()}removeNode(e){let t=null;return this._nodes.filterInPlace(i=>i.id!==e||(t=i,i.vao=s(i.vao),this._highlights.nodeRemoved(i),!1)),this._requestRender(),t}forEachNode(e){this._nodes.forEach(e)}removeAll(){this._nodes.forAll(e=>e.vao=s(e.vao)),this._highlights.removeAll(),this._nodes.clear(),this._requestRender()}highlight(e,s){return this._highlights.add(e,s)}_addHighlights(e,s,t){for(const i of s)e.addHighlight(i,t);this._highlightsInOrder&&e.updateResolvedHighlights(this._highlightsInOrder),this._requestRender()}_removeHighlight(e,s){e.removeHighlight(s),this._highlightsInOrder&&e.updateResolvedHighlights(this._highlightsInOrder),this._requestRender()}_initNode(e,s){s.vao??=new O(e.rctx,new Map([["positions",new V(e.rctx,I,s.coordinates)],["colors",new V(e.rctx,B,s.rgb)]]))}_requestRender(){this._context&&this._context.requestRender()}_updateResolvedHighlights(e){this._highlightsInOrder=e,this._nodes.forAll(s=>s.updateResolvedHighlights(e))}};function C(e,s,t,i,r){if(t.drawScreenSpace)return t.fixedSize*s*i;const n=E(r)*s*i;return t.useFixedSizes?Math.min(t.fixedSize/2,n):t.screenMinSize>0?Math.min(Math.max(t.screenMinSize*s*i,e/2),n):Math.min(e/2,n)}function U(e,s,t,i,r){return t.drawScreenSpace?0:C(e,s,t,i,r)}function W(e,s,t=c()){return t[0]=e.origin[0]+e.coordinates[3*s],t[1]=e.origin[1]+e.coordinates[3*s+1],t[2]=e.origin[2]+e.coordinates[3*s+2],t}e([i({constructOnly:!0})],T.prototype,"createGraphic",void 0),T=e([r("esri.views.3d.layers.i3s.PointCloudRenderer")],T);class D{constructor(){this.node=null,this.pointId=null,this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}function G(e){return null!=e.dist&&null!=e.point&&null!=e.pointId&&null!=e.node}const L=c();export{T as PointCloudRenderer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../../../core/Error.js";import t from"../../../../geometry/Mesh.js";import{projectBuffer as r}from"../../../../geometry/projection/projectBuffer.js";import{toExtent as o}from"../../../../geometry/support/aaBoundingBox.js";import n from"../../../../geometry/support/MeshGeoreferencedVertexSpace.js";import s from"../../../../geometry/support/MeshVertexAttributes.js";import{t as a,h as i}from"../../../../chunks/vec3.js";import{Metadata as c}from"../../../../geometry/support/meshUtils/Metadata.js";function l(e){const r=new c,o=e.spatialReference??e.layerView.view.spatialReference;return r.externalSources.add({extent:e.extent??m(e,o),source:{type:"loadable",load:t=>p(t,e)}}),new t({metadata:r,vertexSpace:new n,spatialReference:o})}function m({layerView:e,nodeIndex:t,featureIndex:n},s){const a=e.getAABB(t,n);if(!a)return null;const i=e.view.spatialReference;return i.equals(s)||r(a,i,0,a,s,0),o(a,s)}async function p(t,{layerView:o,nodeIndex:n,featureIndex:c}){const l=o.getNodeComponentHandle(n);if(!l?.intersectionGeometry)throw new e("i3s-layer-view-geometry-missing","Cannot load mesh because scene layer view data is no longer available.");const m={indices:null,data:null,stride:0,startIndex:0,endIndex:0};l.intersectionGeometry.getComponentPositions(c,m);const{indices:p,data:d,stride:f,startIndex:u,endIndex:x}=m,y=new Float64Array(3*(x-u));let w=0;for(let e=u;e<x;e+=3){const t=f*p[e],r=f*p[e+1],o=f*p[e+2];y[w++]=d[t],y[w++]=d[t+1],y[w++]=d[t+2],y[w++]=d[r],y[w++]=d[r+1],y[w++]=d[r+2],y[w++]=d[o],y[w++]=d[o+1],y[w++]=d[o+2]}const{transform:g}=l;a(y,y,g.rotationScale),i(y,y,g.position),r(y,o.view.renderSpatialReference,0,y,t.spatialReference,0),t.vertexAttributes=new s({position:y})}export{l as createMesh};
2
+ import e from"../../../../core/Error.js";import t from"../../../../geometry/Mesh.js";import{projectBuffer as r}from"../../../../geometry/projection/projectBuffer.js";import{toExtent as o}from"../../../../geometry/support/aaBoundingBox.js";import n from"../../../../geometry/support/MeshGeoreferencedVertexSpace.js";import s from"../../../../geometry/support/MeshVertexAttributes.js";import{b as a,t as i}from"../../../../chunks/vec3.js";import{Metadata as c}from"../../../../geometry/support/meshUtils/Metadata.js";function l(e){const r=new c,o=e.spatialReference??e.layerView.view.spatialReference;return r.externalSources.add({extent:e.extent??m(e,o),source:{type:"loadable",load:t=>p(t,e)}}),new t({metadata:r,vertexSpace:new n,spatialReference:o})}function m({layerView:e,nodeIndex:t,featureIndex:n},s){const a=e.getAABB(t,n);if(!a)return null;const i=e.view.spatialReference;return i.equals(s)||r(a,i,0,a,s,0),o(a,s)}async function p(t,{layerView:o,nodeIndex:n,featureIndex:c}){const l=o.getNodeComponentHandle(n);if(!l?.intersectionGeometry)throw new e("i3s-layer-view-geometry-missing","Cannot load mesh because scene layer view data is no longer available.");const m={indices:null,data:null,stride:0,startIndex:0,endIndex:0};l.intersectionGeometry.getComponentPositions(c,m);const{indices:p,data:d,stride:f,startIndex:u,endIndex:x}=m,y=new Float64Array(3*(x-u));let w=0;for(let e=u;e<x;e+=3){const t=f*p[e],r=f*p[e+1],o=f*p[e+2];y[w++]=d[t],y[w++]=d[t+1],y[w++]=d[t+2],y[w++]=d[r],y[w++]=d[r+1],y[w++]=d[r+2],y[w++]=d[o],y[w++]=d[o+1],y[w++]=d[o+2]}const{transform:g}=l;a(y,y,g.rotationScale),i(y,y,g.position),r(y,o.view.renderSpatialReference,0,y,t.spatialReference,0),t.vertexAttributes=new s({position:y})}export{l as createMesh};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{shuffle as t}from"../../../../core/arrayUtils.js";import{baseObjectMemory as e}from"../../../../core/memoryEstimations.js";import{signal as s}from"../../../../core/signal.js";import{diameter as i,create as r}from"../../../../geometry/support/aaBoundingBox.js";import{fromExtent as a,intersects as u,copy as h,positiveInfinity as n,intersection as l,create as m}from"../../../../geometry/support/aaBoundingRect.js";import{numVertices as f,estimateSize as o,getObjectId as d,computeAABB as c}from"../../../../layers/graphics/dehydratedFeatures.js";import{computeMaxZ as _}from"../graphics/graphicUtils.js";import{SampledGeometryMaxDistanceRatio as g}from"./SampledGeometryMaxDistanceRatio.js";const F=16438;class p{constructor(t){this.descriptor=t,this._numVertices=0,this.exceededTransferLimit=s(!1),this._fetchFailed=s(!1),this._sorted=!1,this._numFeatures=s(y),this._emptyFeatureRatio=s(0),this._estimatedSize=-1,this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._sampledDensityEstimate=-1,this._displayingFeatures=null,this.alive=!0,this.filtered=!1,this._features=null,this._featuresLength=s(0),this._featureLimit=s(0),this._fetchStatus=0,this.fetchInformation=s(""),this.fetchingResolution=this.displayingResolution=t.resolution}get featuresMissing(){return this.fetchFailed||(this.hasPreciseFeatureCount?this._featuresLength.value<this.numFeatures:this.exceededTransferLimit.value)}get showsAllFeatures(){return!this.fetchFailed&&null!=this.displayingFeatures&&(this.hasPreciseFeatureCount?this.displayingFeatures.length===this.numFeatures:!this.exceededTransferLimit.value)}get missingAttributes(){return this._missingAttributes}get fetchFailed(){return this._fetchFailed.value}set fetchFailed(t){this._fetchFailed.value=t}get displayingFeatures(){return this._displayingFeatures}set displayingFeatures(t){this._displayingFeatures=t,this.extentIncludingBorrowedFeatures=null}get perTileMaximumNumberOfFeaturesExceeded(){const t=this.isFetched&&this.featuresMissing;return!this.filtered&&(t||this.hasFeatureLimit)}get features(){return this._features}get featureLimit(){return this._featureLimit.value}set featureLimit(t){this._featureLimit.value!==t&&(this._featureLimit.value=t,this._estimatedUnusedSizeDirty=!0)}get hasFeatureLimit(){return this.featureLimit!==this._featuresLength.value}get availableFields(){return this._availableFields}setFeatures(t,e,s,i){this._availableFields=s,this._features=t,this._featuresLength.value=t?.length??0,this._sorted=!1,this._estimatedSize=-1,this._estimatedUnusedSizeDirty=!0,this._sampledDensityEstimate=-1,this._missingAttributes=i,t&&t.length>0?(this._emptyFeatureRatio.value=e/(t.length+e),this._numVertices=t.reduce((t,e)=>t+f(e.geometry),0)):(this._emptyFeatureRatio.value=0,this._numVertices=0)}computeZQuantizationFactor(){if(this._features&&this._features.length>0){const t=this._features.reduce((t,{geometry:e})=>Math.max(t,_(e)??0),0);return Math.floor(t/this.descriptor.planetRadius)+1}return 1}get emptyFeatureRatio(){return this._emptyFeatureRatio.value}get numFeatures(){return this.hasPreciseFeatureCount?this._numFeatures.value:this._features?this._featuresLength.value:0}set numFeatures(t){this._numFeatures.value=t}get hasPreciseFeatureCount(){return this._numFeatures.value>y}get needsFeatureCount(){return this._numFeatures.value===y}get numVertices(){return this._numVertices}get id(){return this.descriptor.id}get estimatedSize(){return this.updateEstimates(),this._estimatedSize}get sampledDensityEstimate(){return this._sampledDensityEstimate}get estimatedUnusedSize(){return this._estimatedUnusedSize}updateEstimates(){if(this._estimatedSize<0||this._sampledDensityEstimate<0){this._estimatedSize=0,this._estimatedUnusedSize=0,this._sampledDensityEstimate=0;const t=Math.floor(Math.sqrt(z));if(this._features){let e=null;const s=new g(z,R*this.fetchingResolution),i=this._features.length;for(let r=0;r<i;++r){const a=this._features[r],u=o(a);if(this._estimatedSize+=u,r>=this.featureLimit&&(this._estimatedUnusedSize+=u),!s.done){const u=i-r;if(r%Math.ceil(u/Math.max(1,Math.floor(Math.sqrt(s.numRemainingSamples))))===0){const i=Math.max(Math.floor(s.numRemainingSamples/u),t);s.sampleGeometry(a.geometry,e,i)}}e=a.geometry}s.numSamples>=x?this._sampledDensityEstimate=s.ratio:this._sampledDensityEstimate=0}return!0}if(this._estimatedUnusedSizeDirty){if(this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._features)for(let t=this.featureLimit;t<this._features.length;++t)this._estimatedUnusedSize+=o(this._features[t]);return!0}return!1}get fetchStatus(){return this._fetchStatus}requestFetch(){this._fetchStatus=0}requestRefetch(){this._fetchStatus=1}startFetch(){this._fetchStatus=this.needsRefetch?3:2}fetchDone(t){this._fetchStatus=t}get isFetching(){return 2===this._fetchStatus||3===this._fetchStatus}get isRefetching(){return 3===this._fetchStatus}get needsFetch(){return 0===this._fetchStatus||1===this._fetchStatus}get needsRefetch(){return 1===this._fetchStatus}get isFetched(){return 4===this._fetchStatus||5===this._fetchStatus}isFullyFetched(t){return!!this.features&&(this.features.length>=t||5===this.fetchStatus)}resetFetching(){this._fetchStatus=this.isRefetching?1:0}get needsDisplayUpdate(){return!!this._features&&!L(this._features,this.displayingFeatures,this.featureLimit)}intersects(t){return null==t||!this.descriptor.extent||(a(t,D),u(this.descriptor.extent,D))}intersectionIncludingBorrowed(t,e){const s=null!=this.extentIncludingBorrowedFeatures?this.extentIncludingBorrowedFeatures:this.descriptor.extent;return t||s?(null!=t?(a(t,e),l(e,s,e)):h(e,s),e):(h(e,n),e)}_shuffle(e){this._features?.sort((t,s)=>d(t,e)-d(s,e)),t(this._features,F)}_sortBySize(t){this._features?.sort((e,s)=>i(c(s.geometry,M))-i(c(e.geometry,M))||d(e,t)-d(s,t))}reduceFeatures(t,e,s,i){if(t<=0)return!1;if(!this._features)return this.featureLimit=0,!1;let r=!1;this.featureLimit=Math.ceil(this.numFeatures*t),this.featureLimit>this._features.length&&4===this._fetchStatus&&this._features.length>0&&(this._fetchStatus=1,r=!0),!this._sorted&&t<1&&(1===i?this._shuffle(s):this._sortBySize(s),this._sorted=!0,this._estimatedUnusedSizeDirty=!0);const a=Math.max(this.featureLimit,Math.ceil(e*this.numFeatures));return this._features.length>a&&(this._features.length=this._featuresLength.value=a,this.exceededTransferLimit.value=!1,5===this._fetchStatus&&(this._fetchStatus=4)),r}get cache(){return new v(this,this._features,this._numFeatures.value,this._emptyFeatureRatio.value)}set cache(t){this.requestController=null,this._availableFields=t.availableFields,this._features=t.features,this._featuresLength.value=t.features?.length??0,this._numFeatures.value=t.numFeatures,this._emptyFeatureRatio.value=t.emptyFeatureRatio,this._fetchStatus=t.fetchStatus,this.exceededTransferLimit.value=t.exceededTransferLimit,this._estimatedSize=-1,this._sampledDensityEstimate=-1,this._estimatedUnusedSizeDirty=!0,this.fetchInformation.value=t.fetchInformation}}const y=-1,S=-2;class v{constructor(t,s,i,r){this.features=s,this.numFeatures=i,this.emptyFeatureRatio=r,this.usedMemory=e+t.estimatedSize,this.resolution=t.displayingResolution,this.availableFields=t.availableFields,this.fetchStatus=t.fetchStatus,this.exceededTransferLimit=t.exceededTransferLimit.value,this.fetchInformation=t.fetchInformation.value}}function L(t,e,s){if(null==e||null==t||s!==e.length||s>t.length)return!1;for(let i=0;i<s;++i)if(t[i]!==e[i])return!1;return!0}const z=150,x=100,R=2,D=m(),M=r();export{p as FeatureTile,v as FeatureTileCacheItem,S as failedFeatureCount};
2
+ import{shuffle as t}from"../../../../core/arrayUtils.js";import{baseObjectMemory as e}from"../../../../core/memoryEstimations.js";import{signal as s}from"../../../../core/signal.js";import{create as i,diameter as r}from"../../../../geometry/support/aaBoundingBox.js";import{create as a,fromExtent as u,intersects as h,copy as n,positiveInfinity as l,intersection as m}from"../../../../geometry/support/aaBoundingRect.js";import{numVertices as f,estimateSize as o,getObjectId as d,computeAABB as c}from"../../../../layers/graphics/dehydratedFeatures.js";import{computeMaxZ as _}from"../graphics/graphicUtils.js";import{SampledGeometryMaxDistanceRatio as g}from"./SampledGeometryMaxDistanceRatio.js";const F=16438;class p{constructor(t){this.descriptor=t,this._numVertices=0,this.exceededTransferLimit=s(!1),this._fetchFailed=s(!1),this._sorted=!1,this._numFeatures=s(y),this._emptyFeatureRatio=s(0),this._estimatedSize=-1,this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._sampledDensityEstimate=-1,this._displayingFeatures=null,this.alive=!0,this.filtered=!1,this._features=null,this._featuresLength=s(0),this._featureLimit=s(0),this._fetchStatus=0,this.fetchInformation=s(""),this.fetchingResolution=this.displayingResolution=t.resolution}get featuresMissing(){return this.fetchFailed||(this.hasPreciseFeatureCount?this._featuresLength.value<this.numFeatures:this.exceededTransferLimit.value)}get showsAllFeatures(){return!this.fetchFailed&&null!=this.displayingFeatures&&(this.hasPreciseFeatureCount?this.displayingFeatures.length===this.numFeatures:!this.exceededTransferLimit.value)}get missingAttributes(){return this._missingAttributes}get fetchFailed(){return this._fetchFailed.value}set fetchFailed(t){this._fetchFailed.value=t}get displayingFeatures(){return this._displayingFeatures}set displayingFeatures(t){this._displayingFeatures=t,this.extentIncludingBorrowedFeatures=null}get perTileMaximumNumberOfFeaturesExceeded(){const t=this.isFetched&&this.featuresMissing;return!this.filtered&&(t||this.hasFeatureLimit)}get features(){return this._features}get featureLimit(){return this._featureLimit.value}set featureLimit(t){this._featureLimit.value!==t&&(this._featureLimit.value=t,this._estimatedUnusedSizeDirty=!0)}get hasFeatureLimit(){return this.featureLimit!==this._featuresLength.value}get availableFields(){return this._availableFields}setFeatures(t,e,s,i){this._availableFields=s,this._features=t,this._featuresLength.value=t?.length??0,this._sorted=!1,this._estimatedSize=-1,this._estimatedUnusedSizeDirty=!0,this._sampledDensityEstimate=-1,this._missingAttributes=i,t&&t.length>0?(this._emptyFeatureRatio.value=e/(t.length+e),this._numVertices=t.reduce((t,e)=>t+f(e.geometry),0)):(this._emptyFeatureRatio.value=0,this._numVertices=0)}computeZQuantizationFactor(){if(this._features&&this._features.length>0){const t=this._features.reduce((t,{geometry:e})=>Math.max(t,_(e)??0),0);return Math.floor(t/this.descriptor.planetRadius)+1}return 1}get emptyFeatureRatio(){return this._emptyFeatureRatio.value}get numFeatures(){return this.hasPreciseFeatureCount?this._numFeatures.value:this._features?this._featuresLength.value:0}set numFeatures(t){this._numFeatures.value=t}get hasPreciseFeatureCount(){return this._numFeatures.value>y}get needsFeatureCount(){return this._numFeatures.value===y}get numVertices(){return this._numVertices}get id(){return this.descriptor.id}get estimatedSize(){return this.updateEstimates(),this._estimatedSize}get sampledDensityEstimate(){return this._sampledDensityEstimate}get estimatedUnusedSize(){return this._estimatedUnusedSize}updateEstimates(){if(this._estimatedSize<0||this._sampledDensityEstimate<0){this._estimatedSize=0,this._estimatedUnusedSize=0,this._sampledDensityEstimate=0;const t=Math.floor(Math.sqrt(z));if(this._features){let e=null;const s=new g(z,R*this.fetchingResolution),i=this._features.length;for(let r=0;r<i;++r){const a=this._features[r],u=o(a);if(this._estimatedSize+=u,r>=this.featureLimit&&(this._estimatedUnusedSize+=u),!s.done){const u=i-r;if(r%Math.ceil(u/Math.max(1,Math.floor(Math.sqrt(s.numRemainingSamples))))===0){const i=Math.max(Math.floor(s.numRemainingSamples/u),t);s.sampleGeometry(a.geometry,e,i)}}e=a.geometry}s.numSamples>=x?this._sampledDensityEstimate=s.ratio:this._sampledDensityEstimate=0}return!0}if(this._estimatedUnusedSizeDirty){if(this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._features)for(let t=this.featureLimit;t<this._features.length;++t)this._estimatedUnusedSize+=o(this._features[t]);return!0}return!1}get fetchStatus(){return this._fetchStatus}requestFetch(){this._fetchStatus=0}requestRefetch(){this._fetchStatus=1}startFetch(){this._fetchStatus=this.needsRefetch?3:2}fetchDone(t){this._fetchStatus=t}get isFetching(){return 2===this._fetchStatus||3===this._fetchStatus}get isRefetching(){return 3===this._fetchStatus}get needsFetch(){return 0===this._fetchStatus||1===this._fetchStatus}get needsRefetch(){return 1===this._fetchStatus}get isFetched(){return 4===this._fetchStatus||5===this._fetchStatus}isFullyFetched(t){return!!this.features&&(this.features.length>=t||5===this.fetchStatus)}resetFetching(){this._fetchStatus=this.isRefetching?1:0}get needsDisplayUpdate(){return!!this._features&&!L(this._features,this.displayingFeatures,this.featureLimit)}intersects(t){return null==t||!this.descriptor.extent||(u(t,D),h(this.descriptor.extent,D))}intersectionIncludingBorrowed(t,e){const s=null!=this.extentIncludingBorrowedFeatures?this.extentIncludingBorrowedFeatures:this.descriptor.extent;return t||s?(null!=t?(u(t,e),m(e,s,e)):n(e,s),e):(n(e,l),e)}_shuffle(e){this._features?.sort((t,s)=>d(t,e)-d(s,e)),t(this._features,F)}_sortBySize(t){this._features?.sort((e,s)=>r(c(s.geometry,M))-r(c(e.geometry,M))||d(e,t)-d(s,t))}reduceFeatures(t,e,s,i){if(t<=0)return!1;if(!this._features)return this.featureLimit=0,!1;let r=!1;this.featureLimit=Math.ceil(this.numFeatures*t),this.featureLimit>this._features.length&&4===this._fetchStatus&&this._features.length>0&&(this._fetchStatus=1,r=!0),!this._sorted&&t<1&&(1===i?this._shuffle(s):this._sortBySize(s),this._sorted=!0,this._estimatedUnusedSizeDirty=!0);const a=Math.max(this.featureLimit,Math.ceil(e*this.numFeatures));return this._features.length>a&&(this._features.length=this._featuresLength.value=a,this.exceededTransferLimit.value=!1,5===this._fetchStatus&&(this._fetchStatus=4)),r}get cache(){return new v(this,this._features,this._numFeatures.value,this._emptyFeatureRatio.value)}set cache(t){this.requestController=null,this._availableFields=t.availableFields,this._features=t.features,this._featuresLength.value=t.features?.length??0,this._numFeatures.value=t.numFeatures,this._emptyFeatureRatio.value=t.emptyFeatureRatio,this._fetchStatus=t.fetchStatus,this.exceededTransferLimit.value=t.exceededTransferLimit,this._estimatedSize=-1,this._sampledDensityEstimate=-1,this._estimatedUnusedSizeDirty=!0,this.fetchInformation.value=t.fetchInformation}}const y=-1,S=-2;class v{constructor(t,s,i,r){this.features=s,this.numFeatures=i,this.emptyFeatureRatio=r,this.usedMemory=e+t.estimatedSize,this.resolution=t.displayingResolution,this.availableFields=t.availableFields,this.fetchStatus=t.fetchStatus,this.exceededTransferLimit=t.exceededTransferLimit.value,this.fetchInformation=t.fetchInformation.value}}function L(t,e,s){if(null==e||null==t||s!==e.length||s>t.length)return!1;for(let i=0;i<s;++i)if(t[i]!==e[i])return!1;return!0}const z=150,x=100,R=2,D=a(),M=i();export{p as FeatureTile,v as FeatureTileCacheItem,S as failedFeatureCount};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{filterInPlace as s}from"../../../../core/arrayUtils.js";import"../../../../core/has.js";import i from"../../../../core/Logger.js";import{getOrCreateMapValue as r}from"../../../../core/MapUtils.js";import{isAbortError as a,throwIfAborted as n}from"../../../../core/promiseUtils.js";import o from"../../../../core/ReactiveMap.js";import{on as l,watch as u}from"../../../../core/reactiveUtils.js";import{schedule as h}from"../../../../core/scheduling.js";import{signal as d}from"../../../../core/signal.js";import{sqlAnd as c}from"../../../../core/sql.js";import{property as p,subclass as f}from"../../../../core/accessorSupport/decorators.js";import{getEpsilon as _}from"../../../../core/libs/gl-matrix-2/math/common.js";import{equals as m,clone as g,expand as y,toExtent as F,width as T,height as x,create as v}from"../../../../geometry/support/aaBoundingRect.js";import{getObjectId as R,hasVertices as E,computeAABR as b}from"../../../../layers/graphics/dehydratedFeatures.js";import C from"../../../../rest/support/QuantizationParameters.js";import D from"../../../../rest/support/Query.js";import{MultiFeatureReference as w,SingleFeatureReference as M}from"./featureReference.js";import{failedFeatureCount as U,FeatureTile as j}from"./FeatureTile.js";import{virtualDisplayFilterHighlightTileId as A,virtualSnapshotTileId as I}from"./FeatureTileDescriptor.js";import{tilesAreRelated as O}from"../../terrain/tileUtils.js";import{ImmediateTask as P,TaskPriority as z}from"../../../support/Scheduler.js";let q=class extends t{set maximumNumberOfFeatures(e){e=e||1/0;const t=this._get("maximumNumberOfFeatures");e===t||e<1||(this._set("maximumNumberOfFeatures",e),this._maximumFeaturesUpdated(t,e))}set memoryFactor(e){this.memoryFactor!==e&&(this._set("memoryFactor",e),this._setDirty())}set lodFactor(e){this.lodFactor!==e&&(this._set("lodFactor",e),this._supportsResolution&&this.refetch())}get useTileCount(){return this._useTileCount&&null!=this.context.query.queryFeatureCount}set useTileCount(e){this._useTileCount=e,this.notifyChange("useTileCount")}get updating(){return this._dirty||!!this._pendingEdits||this._isFetching||(this.tileDescriptors?.updating??!1)}get readyToRun(){return this._dirty}get memoryForUnusedFeatures(){let e=0;return this._featureTiles.forEach(t=>e+=t.estimatedUnusedSize),e}get totalVertices(){let e=0;return this._featureTiles.forEach(t=>e+=t.numVertices),e}get totalFeatures(){let e=0;return this._featureTiles.forEach(t=>e+=t.numFeatures),e}get showsAllFeatures(){if(this._paused||this.dataUpdating)return!1;for(const e of this._featureTiles.values())if(!this.hasFullGeometries&&0!==e.emptyFeatureRatio||!e.showsAllFeatures)return!1;return!0}get hasFullGeometries(){if(!this._supportsResolution)return!0;const e=this.tileDescriptors?.some(Q);return e||!this.context.capabilities.supportsQuantization&&"polyline"!==this.context.geometryType}set filterExtent(e){if(null!=e&&this.context.tilingScheme&&!e.spatialReference.equals(this.context.tilingScheme.spatialReference))return void i.getLogger(this).error("#filterExtent=","extent needs to be in the same spatial reference as the tiling scheme");const t=this._get("filterExtent");if(t===e||null!=t&&e&&t.equals(e))return;const s=null!=e?e.clone():null;this._set("filterExtent",s),this._reclip(s,t)}_updateTileZQuantization(e){if(1===this.context.viewingMode){const t=e.computeZQuantizationFactor();this._zQuantizationFactor.value<t&&(this._zQuantizationFactor.value=t)}}get _tileZQuantization(){return this.context.isDraped?1:this._zQuantizationFactor.value}constructor(e){super(e),this._useTileCount=!1,this.dataUpdating=!1,this.updatingTotal=0,this.updatingRemaining=0,this.expectedFeatureDiff=0,this.maximumNumberOfFeaturesExceeded=!1,this._fullRatio=1,this._farRatio=1,this._zQuantizationFactor=d(1),this._changes={updates:{adds:new Array,removes:new Array},adds:new Array,removes:new Array},this._featureTiles=new o,this._displayingFeatureReferences=new Map,this._numDisplayingFeatureReferences=0,this._dirty=!1,this._suspended=!0,this._pendingEdits=null,this._applyEditsTilesUpdated=!1,this.snappingComplexityExceeded=!0,this._isFetching=!1;const t=e.context;this._frameTask=t.scheduler?.registerTask(z.FEATURE_TILE_FETCHER,this)??P,this.FeatureReferenceClass=t.capabilities.supportsMultipleResolutions?w:M,this._objectIdField=t.objectIdField}initialize(){this.addHandles([l(()=>this.tileDescriptors,"change",()=>this._setDirty(),{onListenerAdd:()=>this._setDirty(),onListenerRemove:()=>this._setDirty()}),u(()=>this._tileZQuantization,()=>this.refetch())]),this._setDirty()}destroy(){this._frameTask.remove(),this._featureTiles.forEach(e=>{this._cancelFetchTile(e),this._removeTile(e)}),this._featureTiles.clear(),this._displayingFeatureReferences.clear(),this._pendingEdits?.controller.abort(),this._pendingEdits=null}get _paused(){return this._suspended||!!this._pendingEdits}restart(){this._featureTiles.forEach(e=>{this._cancelFetchTile(e),this._clearTile(e),this._resetFetchTile(e)}),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}refetch(){this._featureTiles.forEach(e=>{this._cancelFetchTile(e),this._resetFetchTile(e)}),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}refetchDisplayFilterHighlightTile(){const e=this._featureTiles.get(A);e&&(this._cancelFetchTile(e),this._resetFetchTile(e),this._setDirty())}suspend(){this._suspended||(this._suspended=!0,this._pause(),this._setDirty())}resume(){this._suspended&&(this._suspended=!1,this._unpause())}getMissingAttributesForFeature(e){for(const t of this._featureTiles.values()){const s=t.missingAttributes?.get(e);if(null!=s)return s}}_pause(){this._paused&&(this._featureTiles.forEach(e=>this._cancelFetchTile(e)),this._updated())}_unpause(){this._paused||this._setDirty()}get availableFields(){let e=null;return this._featureTiles.forEach(t=>{null!=t.displayingFeatures&&0!==t.displayingFeatures.length&&(null==e?e=new Set(t.availableFields):e.forEach(s=>{t.availableFields?.has(s)||e.delete(s)}))}),null!=e?e:new Set}applyEdits(e){this._pendingEdits||(this._pendingEdits={edits:Promise.resolve(),count:0,controller:new AbortController},this._pause());const t=this._pendingEdits;t.count++;const s=t.edits.then(()=>e.result.catch(e=>{if(a(e))throw e;return null}).then(e=>e?(this._applyEditsDeleteFeatures(e.deletedFeatures),this._applyEditsAddUpdateFeatures(e.addedFeatures,e.updatedFeatures,t.controller.signal).then(()=>e)):e).then(e=>(0===--t.count&&(this._pendingEdits===t&&(this._pendingEdits=null),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._applyEditsTilesUpdated=!1,this._unpause()),e)));return t.edits=s,this._updated(),s}_applyEditsDeleteFeatures(e){if(0===e.length)return;const t=this.context.globalIdField,s=t&&this.availableFields.has(t),r=new Set,a=this._objectIdField;e.forEach(({objectId:e,globalId:n})=>{(!e||e<0)&&t&&n&&(s||i.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${t} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(n,a,t)),null!=e&&e>=0&&r.add(e)}),this._featureTiles.forEach(e=>{if(!e.features)return;const t=e.features.filter(e=>!r.has(R(e,this._objectIdField)));t.length!==e.features.length&&(this._applyEditsTileUpdated(),e.setFeatures(t,0,e.availableFields,e.missingAttributes),this._updateTileZQuantization(e),this._invalidateCounts())})}_objectIdFromGlobalId(e,t,s){if(null==e)return null;const i=this.features.find(t=>t.attributes?.[s]===e);return i?R(i,t):null}async _applyEditsAddUpdateFeatures(e,t,s){const{objectIdField:r,globalIdField:a}=this.context,n=a&&this.availableFields.has(a),o=new Set,l=new Set;for(const i of e){const e=i.objectId;null!=e&&o.add(e)}for(const{objectId:h,globalId:d}of t){let e=h;(null==e||e<0)&&a&&(n||i.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${a} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(d,r,a)),null!=e&&e>=0&&(o.add(e),l.add(e))}if(0===o.size)return;const u=[];this._featureTiles.forEach(e=>{const t=this._applyEditsAddUpdateTile(e,o,l,s);u.push(t)}),this._updated(),await Promise.allSettled(u)}async _applyEditsAddUpdateTile(e,t,s,i){if(!e.features)return;e.fetchingResolution=e.descriptor.resolution;const r=this._createQuery(e);r.resultType=void 0,r.cacheHint=!1,r.objectIds=Array.from(t);const a=await this._queryFeatures(r,i);let n=null;if(s.size>0){const t=e.features.filter(e=>!s.has(R(e,this._objectIdField)));t.length!==e.features.length&&(n=t)}if(a.features.length>0){n||(n=e.features.slice());for(const e of a.features)n.push(e)}n&&(e.hasPreciseFeatureCount&&(e.numFeatures=Math.max(e.numFeatures,n.length)),this._applyEditsTileUpdated(),e.setFeatures(n,0,Z(e.availableFields,a.fields),V(e.missingAttributes,a.missingAttributes)),this._updateTileZQuantization(e),this._invalidateCounts())}_applyEditsTileUpdated(){this._applyEditsTilesUpdated||(this._applyEditsTilesUpdated=!0,this._updated())}_queryFeatures(e,t){return this.context.query.queryFeaturesDehydrated(e,{signal:t,timeout:J})}_setDirty(){this._dirty=!0,this._updated()}runTask(e){const t=this._frameTask.processQueue(e);if(!this._dirty||!this.initialized)return t;this._dirty=!1;const s=this._featureTilesArray;if(this._markTilesNotAlive(s),!e.run(()=>this._addTiles(s,e))||!e.run(()=>this._filterExtentTiles(s,e))||!e.run(()=>this._removeTiles(s,e))||e.done)return void this._setDirty();const i=this._sortTiles(s);e.run(()=>this._showTiles(i,e))&&e.run(()=>this._fetchTiles(i,e))&&e.run(()=>this._updateMemoryEstimates(i,e))||this._setDirty(),this._updated(),this.updating||(this._updateMaximumNumberOfFeaturesExceeded(),this._updateSnappingComplexityExceeded(i))}_updateSnappingComplexityExceeded(e){let t=Y;for(const s of e){if(Q(s)||t<=0)break;if(!S(s)&&(t--,s.sampledDensityEstimate>W))return void(this.snappingComplexityExceeded=!0)}this.snappingComplexityExceeded=0===this._featureTiles.size}_markTilesNotAlive(e){for(const t of e)t.alive=!1}_addTiles(e,t){return!(this._suspended||!this.tileDescriptors)&&(this.tileDescriptors.forEach(s=>{const i=this._featureTiles.get(s.id);i?i.alive=!0:t.done||(e.push(this._addTile(s)),t.madeProgress())}),t.hasProgressed)}_filterExtentTiles(e,t){for(const s of e){if(t.done)break;s.alive&&(s.filtered=!s.intersects(this.filterExtent),s.filtered&&(this._clearTile(s),t.madeProgress()))}return t.hasProgressed}_removeTiles(e,t){for(let s=e.length-1;s>=0&&!t.done;s--){const i=e[s];i.alive||(this._removeTile(i),s!==e.length-1&&(e[s]=e[e.length-1]),e.pop(),t.madeProgress())}return t.hasProgressed}_sortTiles(e){return e.sort((e,t)=>e.descriptor.loadPriority-t.descriptor.loadPriority),e}_showTiles(e,t){const s=this._updateRatio(e),i=e=>{const t=this._fullRatio<1?s(e)*this._farRatio:1;e.reduceFeatures(t,this.memoryFactor,this._objectIdField,this._reduceMode)&&this._setDirty();const{numFeatures:i,fetchingResolution:r,descriptor:a,isFetched:n}=e;return this._supportsResolution&&i>0&&r!==a.resolution&&n&&(e.requestRefetch(),this._setDirty()),this._showTile(e)};for(const r of e)if(!t.run(()=>i(r))){this._setDirty();break}return t.hasProgressed}_fetchTiles(e,t){if(this._paused)return!1;let s=!1;for(const i of e){if(!i.needsFetch)continue;const e=null!=this.context.memoryCache?this.context.memoryCache.pop(i.id):null;if(e?.resolution!==i.displayingResolution){if(this._needsNumFeatures(i)){const e=new AbortController,r=this._fetchTileCount(i,e.signal);this._handleRequest(i,r,e,()=>i.resetFetching(),()=>i.numFeatures=U),s=!0,t.madeProgress()}if(t.done)return!0}else i.cache=e,i.numFeatures&&this._notifyDataUpdating(),this._setDirty(),this._scheduleUpdated(),t.madeProgress()}if(s)return t.hasProgressed;for(const r of e){if(!r.needsFetch)continue;const e=new AbortController,s=this._fetchTile(r,e.signal);if(this._handleRequest(r,s,e,e=>r.fetchDone(e),e=>{r.fetchFailed=!0,this.context.logFetchError(i.getLogger(this),e)}),t.madeProgress(),t.done)return!0}return t.hasProgressed}_updateMemoryEstimates(e,t){return e.some(e=>!t.run(()=>e.updateEstimates())&&(this._setDirty(),!0)),t.hasProgressed}_reclip(e,t){if(!this.initialized)return;const s=new Array;this._featureTiles.forEach(i=>{null!=i.displayingFeatures&&0!==i.displayingFeatures.length&&(i.intersectionIncludingBorrowed(t,B),i.intersectionIncludingBorrowed(e,G),m(B,G)||s.push(i))}),this._refreshDisplayingFeatures(s),this._updated()}_refreshDisplayingFeatures(e){const t=new Set,s=this._changes.updates;for(const i of e)if(null!=i.displayingFeatures)for(const e of i.displayingFeatures){const i=R(e,this._objectIdField);if(t.has(i))continue;t.add(i);const r=this._displayingFeatureReferences.get(i).feature;s.removes.push(r),s.adds.push(r)}this._applyChanges()}_updated(){let e=0;if(this._paused||this._featureTiles.forEach(t=>t.isFetching?++e:0),this._isFetching=e>0,e>0||this._applyEditsTilesUpdated?this._notifyDataUpdating():this._dirty||this._set("dataUpdating",!1),this.updating){let t=0,s=0,i=0,r=0,a=0;const n=this._displayingFeatureReferences.size/this._numDisplayingFeatureReferences;this._featureTiles.forEach(e=>{if(++s,e.isFetching&&e.hasPreciseFeatureCount){const t=this._maximumFeaturesForTile(e)*(1-e.emptyFeatureRatio),s=null!=e.displayingFeatures?e.displayingFeatures.length*n:0;a+=t-s}e.needsFetch?++r:e.numFeatures>0&&(++i,t+=e.numFeatures)}),r+=e;let o=0,l=0;t?(l=t,o=Math.min(r*t/i,t)):(l=s,o=r),a=Math.min(this.maximumNumberOfFeatures-this.features.length,a),this._set("updatingTotal",l),this._set("updatingRemaining",o),this._set("expectedFeatureDiff",a)}else this._set("updatingTotal",0),this._set("updatingRemaining",0),this._set("expectedFeatureDiff",0);this.debugger?.update()}_updateMaximumNumberOfFeaturesExceeded(){for(const{perTileMaximumNumberOfFeaturesExceeded:e}of this._featureTiles.values())if(e)return void this._set("maximumNumberOfFeaturesExceeded",!0);this._set("maximumNumberOfFeaturesExceeded",!1)}_updateRatio(e){const t=L(e),s=e=>1/(1<<Math.max(0,t-e.descriptor.lij[0]));let i=0,r=0;for(const a of e){const e=a.numFeatures;i+=e,r+=e*s(a)}return this._fullRatio=Math.min(1,this.maximumNumberOfFeatures/i),this._farRatio=this.maximumNumberOfFeatures/r,this._scheduleUpdated(),s}_maximumFeaturesUpdated(e,t){e!==t&&(t>e&&this._featureTiles.forEach(e=>{if(!e.featuresMissing)return;const t=this._maximumFeaturesForTile(e);e.isFullyFetched(t)||(this._cancelFetchTile(e),this._resetFetchTile(e))}),this._setDirty())}_addTile(e){const t=new j(e);return this._featureTiles.set(t.id,t),this._resetFetchTile(t),this._referenceDisplayingFeaturesFromRelatedTiles(t),t}_referenceDisplayingFeaturesFromRelatedTiles(e){const t=e.displayingResolution;this._featureTiles.forEach(s=>{if(null!=s.displayingFeatures&&e!==s&&O(e.descriptor.lij,s.descriptor.lij)){null==e.displayingFeatures&&(e.displayingFeatures=[]),e.descriptor.extent&&s.descriptor.extent&&(e.extentIncludingBorrowedFeatures??=g(e.descriptor.extent),y(e.extentIncludingBorrowedFeatures,s.descriptor.extent,e.extentIncludingBorrowedFeatures));for(const i of s.displayingFeatures){e.displayingFeatures.push(i);const s=this._displayingFeatureReferences.get(R(i,this._objectIdField));s.ref(s.feature,t),this._numDisplayingFeatureReferences++}}})}_removeTile(e){this._clearTile(e),this._featureTiles.delete(e.id)}_resetFetchTile(e){e.filtered=!e.intersects(this.filterExtent),e.filtered?e.needsFetch&&e.fetchDone(4):e.requestFetch()}_cancelFetchTile(e){const t=e.requestController;null!=t&&(e.requestController=null,e.resetFetching(),t.abort())}async _fetchTileCount(e,t){e.numFeatures=await this.context.query.queryFeatureCount(this._createFeatureCountQuery(e),{signal:t}),this._updateRatio(this._featureTilesArray)}async _fetchTile(e,t){e.fetchFailed=!1;const s=this._maximumFeaturesForTile(e);if(s<=0)return e.hasPreciseFeatureCount&&0===e.numFeatures||(e.fetchFailed=!0),k(e),e.fetchInformation.value="Empty tile",4;const i=this._getMaxRecordCount(e),r=Math.ceil(s/i);if(e.fetchingResolution=e.descriptor.resolution,N(e)||!this.context.capabilities.supportsMaxRecordCountFactor||e.numFeatures<=s&&r>D.MAX_MAX_RECORD_COUNT_FACTOR)return this._fetchPagedTile(e,t);const a=this._createQuery(e);if(a.maxRecordCountFactor=r,e.isRefetching&&e.features&&e.features.length>0){const t=Math.ceil(e.features.length/(1-e.emptyFeatureRatio)/i);a.maxRecordCountFactor=Math.max(t+1,a.maxRecordCountFactor)}e.fetchInformation.value=`Single fetch\n${s} features`;const{features:o,exceededTransferLimit:l,fields:u,missingAttributes:h}=await this._queryFeatures(a,t),d=l||a.maxRecordCountFactor>=D.MAX_MAX_RECORD_COUNT_FACTOR||s===this._totalFeaturesForTile(e)?5:4,c=await this._frameTask.schedule(()=>{e.exceededTransferLimit.value=!!l;const t=this._removeEmptyFeatures(o,this._getEffectiveTileResolution(e));return e.fetchInformation.value=`Single fetch\n${o.length}/${s} features`,e.setFeatures(o,t,H(u),V(void 0,h)),this._updateTileZQuantization(e),this._maximumFeaturesForTile(e)>s?1:d},t);return n(t),this._invalidateCounts(),c}async _fetchPagedTile(e,t){let s,i=0,r=0,a=0,o=this._maximumFeaturesForTile(e)-a;const l=this._getMaxRecordCount(e);let u,h=null;for(;;){const d=this._createQuery(e),c=this._setPagingParameters(d,i,o,l);e.fetchInformation.value=`Paged fetch\n${e.features?.length}/${o} features`;const{features:p,exceededTransferLimit:f,fields:_,missingAttributes:m}=await this._queryFeatures(d,t);if(await this._frameTask.schedule(()=>{c&&(i+=d.num),a+=p.length,r+=this._removeEmptyFeatures(p,this._getEffectiveTileResolution(e)),e.exceededTransferLimit.value=!!f,s=s?.concat(p)??p,h=Z(h,_),u=V(u,m),e.setFeatures(s,r,h,u),this._updateTileZQuantization(e),this._invalidateCounts(),this._setDirty()},t),n(t),o=this._maximumFeaturesForTile(e)-(s?.length??0),!c||!f||o<=0)return f?4:5}}_createFeatureCountQuery(e){const t=this._createQuery(e);return this.context.capabilities.supportsCacheHint&&(t.resultType=void 0,t.cacheHint=!0),t}_createQuery(e){const t=this.context.createQuery();if(t.resultType=this._resultType(e),!N(e)&&e.descriptor.extent&&this.context.tilingScheme&&(t.geometry=F(e.descriptor.extent,this.context.tilingScheme.spatialReference)),this._setResolutionParams(t,e),"tile"!==t.resultType&&this.context.capabilities.supportsCacheHint&&(t.cacheHint=!0),S(e)){const{highlightIds:e}=this.context;e&&e.length>$&&i.getLogger(this).warn("highlight-too-many-features",`highlight is limited to ${$} features on large layers configured with a display filter to avoid performance issues`),t.objectIds=e?.slice(0,$)}else!Q(e)&&this.context.effectiveDisplayFilter&&(t.where=c(t.where,this.context.effectiveDisplayFilter.where));return t}_setPagingParameters(e,t,s,i){return!!this.context.capabilities.supportsPagination&&(e.start=t,s>0&&this.context.capabilities.supportsMaxRecordCountFactor?(e.maxRecordCountFactor=Math.ceil(s/i),e.num=Math.min(e.maxRecordCountFactor*i,s)):e.num=Math.min(i),!0)}_getEffectiveTileResolution(e){if(N(e)||!this._supportsResolution)return null;const t=1===this.context.viewingMode&&this.context.tilingScheme?this.context.tilingScheme.resolutionAtLevel(3):1/0;return Math.min(e.fetchingResolution,t)/this.lodFactor/this._tileZQuantization}get _supportsResolution(){return this.context.capabilities.supportsMultipleResolutions&&"point"!==this.context.geometryType}_setResolutionParams(e,t){const s=this._getEffectiveTileResolution(t);null!=s&&(this.context.capabilities.supportsQuantization?e.quantizationParameters=new C({mode:"view",originPosition:"upper-left",tolerance:s,extent:this.context.fullExtent}):"polyline"===this.context.geometryType&&(e.maxAllowableOffset=s))}_removeEmptyFeatures(e,t){const i=e.length;if(t&&this._supportsResolution){const i=t*(1+_());s(e,({geometry:e})=>!(!e||!E(e))&&(b(e,X),T(X)>i||x(X)>i))}else s(e,({geometry:e})=>E(e));return i-e.length}_needsNumFeatures(e){return this.useTileCount&&e.needsFeatureCount&&!Q(e)}_getMaxRecordCount(e){switch(this._resultType(e)){case"tile":if(this.context.tileMaxRecordCount)return this.context.tileMaxRecordCount;break;case"standard":if(this.context.standardMaxRecordCount)return this.context.standardMaxRecordCount}return this.context.maxRecordCount||$}_resultType(e){if(this.context.capabilities.supportsResultType)return Q(e)?"standard":"tile"}get _reduceMode(){const e=this.context.geometryType;return"polygon"===e||"polyline"===e?0:1}_handleRequest(e,t,s,i,r){e.startFetch(),e.requestController=s;let n=!1;t.then(t=>{e.requestController=null,i(t)}).catch(t=>{e.requestController===s&&(e.requestController=null,e.fetchDone(4)),a(t)?n=!0:r(t)}).then(()=>{n||this._setDirty(),this._scheduleUpdated()})}_scheduleUpdated(){this.hasHandles("scheduleUpdated")||this.addHandles(h(()=>{this.removeHandles("scheduleUpdated"),this._updated()}),"scheduleUpdated")}_showTile(e){if(e.displayingFeatures&&!e.needsDisplayUpdate)return!1;const t=e.features;if(0===e.featureLimit||!t){const t=null!=e.displayingFeatures&&e.displayingFeatures.length>0;return this._hideTileFeatures(e),e.displayingFeatures=[],t}const s=e.fetchingResolution,{adds:i,updates:r}=this._changes,a=Math.min(e.featureLimit,t.length);for(let n=0;n<a;++n){const e=t[n],a=R(e,this._objectIdField),o=this._displayingFeatureReferences.get(a);if(o){const{oldVersion:t,newVersion:i}=o.ref(e,s);t!==i&&(t&&r.removes.push(t),i&&r.adds.push(i))}else this._displayingFeatureReferences.set(a,new this.FeatureReferenceClass(e,s)),i.push(e);this._numDisplayingFeatureReferences++}return this._hideTileFeatures(e),e.displayingResolution=e.fetchingResolution,this._applyChanges(),e.displayingFeatures=t.slice(0,a),!0}_hideTile(e){this._cancelFetchTile(e),this._hideTileFeatures(e)}_hideTileFeatures(e){if(null==e.displayingFeatures)return;const{updates:t,removes:s}=this._changes;for(const i of e.displayingFeatures){const r=R(i,this._objectIdField),a=this._displayingFeatureReferences.get(r);if(!a)continue;const{oldVersion:n,newVersion:o}=a.unref(e.displayingResolution);this._numDisplayingFeatureReferences--,n!==o&&(null==o?(this._displayingFeatureReferences.delete(r),n&&s.push(n)):(t.adds.push(o),n&&t.removes.push(n)))}this._applyChanges(),e.displayingFeatures=null}_notifyDataUpdating(){this._get("dataUpdating")||this._set("dataUpdating",!0)}_applyChanges(){const e=this._changes.updates;e.removes.length>0&&(this._notifyDataUpdating(),this.features.removeMany(e.removes),e.removes.length=0),e.adds.length>0&&(this._notifyDataUpdating(),this.features.addMany(e.adds),e.adds.length=0);const t=this._changes.adds,s=this._changes.removes,i=Math.min(t.length,s.length);let r=0;for(;r<i;){const e=Math.min(r+K,i);this._notifyDataUpdating(),this.features.addMany(t.slice(r,e)),this.features.removeMany(s.slice(r,e)),r=e}t.length>i&&(this._notifyDataUpdating(),this.features.addMany(0===r?t:t.slice(r))),s.length>i&&(this._notifyDataUpdating(),this.features.removeMany(0===r?s:s.slice(r))),t.length=0,s.length=0}_clearTile(e){this._hideTile(e),e.features&&null!=this.context.memoryCache&&this.context.memoryCache.put(e.id,e.cache),e.setFeatures(null,0,null,void 0),this._invalidateCounts()}_invalidateCounts(){this.notifyChange("totalVertices"),this.notifyChange("totalFeatures"),this.notifyChange("memoryForUnusedFeatures")}get _featureTilesArray(){return Array.from(this._featureTiles.values())}get featureTiles(){return this._featureTiles}get storedFeatures(){return this._featureTilesArray.reduce((e,t)=>e+(t.features?t.features.length:0),0)}get missingTiles(){return Array.from(this._featureTiles.values()).reduce((e,t)=>e+(t.needsFetch||t.isFetching?1:0),0)}_totalFeaturesForTile(e){return e.hasPreciseFeatureCount?e.numFeatures:this.maximumNumberOfFeatures}_maximumFeaturesForTile(e){const t=this._totalFeaturesForTile(e),s=this._fullRatio<1?this._farRatio:1;return Math.min(Math.ceil(t*s/(1-e.emptyFeatureRatio)),t)}get test(){}};function Q(e){return e.id===I}function S(e){return e.id===A}function N(e){return Q(e)||S(e)}function L(e){let t=0;for(const s of e)s.features&&s.features.length>0&&s.alive&&(t=Math.max(t,s.descriptor.lij[0]));return t}function k(e){e.setFeatures([],0,null,void 0)}function H(e){return null==e?new Set:new Set(e.map(e=>e.name))}function Z(e,t){if(null==e||null==t)return H(t);const s=new Set;for(const{name:i}of t)e.has(i)&&s.add(i);return s}function V(e,t){if(!t?.length)return e;e??=new Map;const s=()=>new Set;for(const{objectId:i,attribute:a}of t)r(e,i,s).add(a);return e}e([p({constructOnly:!0})],q.prototype,"features",void 0),e([p({constructOnly:!0})],q.prototype,"context",void 0),e([p()],q.prototype,"tileDescriptors",void 0),e([p({value:1/0})],q.prototype,"maximumNumberOfFeatures",null),e([p({value:1})],q.prototype,"memoryFactor",null),e([p({value:1})],q.prototype,"lodFactor",null),e([p()],q.prototype,"useTileCount",null),e([p({readOnly:!0})],q.prototype,"updating",null),e([p({readOnly:!0})],q.prototype,"dataUpdating",void 0),e([p({readOnly:!0})],q.prototype,"updatingTotal",void 0),e([p({readOnly:!0})],q.prototype,"updatingRemaining",void 0),e([p({readOnly:!0})],q.prototype,"expectedFeatureDiff",void 0),e([p({readOnly:!0})],q.prototype,"memoryForUnusedFeatures",null),e([p({readOnly:!0})],q.prototype,"maximumNumberOfFeaturesExceeded",void 0),e([p({readOnly:!0})],q.prototype,"totalVertices",null),e([p({readOnly:!0})],q.prototype,"totalFeatures",null),e([p({readOnly:!0})],q.prototype,"showsAllFeatures",null),e([p({readOnly:!0})],q.prototype,"hasFullGeometries",null),e([p()],q.prototype,"filterExtent",null),e([p()],q.prototype,"_dirty",void 0),e([p()],q.prototype,"_suspended",void 0),e([p()],q.prototype,"_pendingEdits",void 0),e([p()],q.prototype,"_applyEditsTilesUpdated",void 0),e([p()],q.prototype,"_paused",null),e([p()],q.prototype,"snappingComplexityExceeded",void 0),e([p()],q.prototype,"_isFetching",void 0),q=e([f("esri.views.3d.layers.support.FeatureTileFetcher3D")],q);const $=2e3,B=v(),G=v(),X=v(),J=6e5,K=200,W=.95,Y=10;export{q as FeatureTileFetcher3D};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{filterInPlace as s}from"../../../../core/arrayUtils.js";import"../../../../core/has.js";import i from"../../../../core/Logger.js";import{getOrCreateMapValue as r}from"../../../../core/MapUtils.js";import{isAbortError as a,throwIfAborted as n}from"../../../../core/promiseUtils.js";import o from"../../../../core/ReactiveMap.js";import{on as l,watch as u}from"../../../../core/reactiveUtils.js";import{schedule as h}from"../../../../core/scheduling.js";import{signal as d}from"../../../../core/signal.js";import{sqlAnd as c}from"../../../../core/sql.js";import{property as p,subclass as f}from"../../../../core/accessorSupport/decorators.js";import{getEpsilon as _}from"../../../../core/libs/gl-matrix-2/math/common.js";import{create as m,equals as g,clone as y,expand as F,toExtent as T,width as x,height as v}from"../../../../geometry/support/aaBoundingRect.js";import{getObjectId as R,hasVertices as E,computeAABR as b}from"../../../../layers/graphics/dehydratedFeatures.js";import C from"../../../../rest/support/QuantizationParameters.js";import D from"../../../../rest/support/Query.js";import{MultiFeatureReference as w,SingleFeatureReference as M}from"./featureReference.js";import{failedFeatureCount as U,FeatureTile as j}from"./FeatureTile.js";import{virtualDisplayFilterHighlightTileId as A,virtualSnapshotTileId as I}from"./FeatureTileDescriptor.js";import{tilesAreRelated as O}from"../../terrain/tileUtils.js";import{ImmediateTask as P,TaskPriority as z}from"../../../support/Scheduler.js";let q=class extends t{set maximumNumberOfFeatures(e){e=e||1/0;const t=this._get("maximumNumberOfFeatures");e===t||e<1||(this._set("maximumNumberOfFeatures",e),this._maximumFeaturesUpdated(t,e))}set memoryFactor(e){this.memoryFactor!==e&&(this._set("memoryFactor",e),this._setDirty())}set lodFactor(e){this.lodFactor!==e&&(this._set("lodFactor",e),this._supportsResolution&&this.refetch())}get useTileCount(){return this._useTileCount&&null!=this.context.query.queryFeatureCount}set useTileCount(e){this._useTileCount=e,this.notifyChange("useTileCount")}get updating(){return this._dirty||!!this._pendingEdits||this._isFetching||(this.tileDescriptors?.updating??!1)}get readyToRun(){return this._dirty}get memoryForUnusedFeatures(){let e=0;return this._featureTiles.forEach(t=>e+=t.estimatedUnusedSize),e}get totalVertices(){let e=0;return this._featureTiles.forEach(t=>e+=t.numVertices),e}get totalFeatures(){let e=0;return this._featureTiles.forEach(t=>e+=t.numFeatures),e}get showsAllFeatures(){if(this._paused||this.dataUpdating)return!1;for(const e of this._featureTiles.values())if(!this.hasFullGeometries&&0!==e.emptyFeatureRatio||!e.showsAllFeatures)return!1;return!0}get hasFullGeometries(){if(!this._supportsResolution)return!0;const e=this.tileDescriptors?.some(Q);return e||!this.context.capabilities.supportsQuantization&&"polyline"!==this.context.geometryType}set filterExtent(e){if(null!=e&&this.context.tilingScheme&&!e.spatialReference.equals(this.context.tilingScheme.spatialReference))return void i.getLogger(this).error("#filterExtent=","extent needs to be in the same spatial reference as the tiling scheme");const t=this._get("filterExtent");if(t===e||null!=t&&e&&t.equals(e))return;const s=null!=e?e.clone():null;this._set("filterExtent",s),this._reclip(s,t)}_updateTileZQuantization(e){if(1===this.context.viewingMode){const t=e.computeZQuantizationFactor();this._zQuantizationFactor.value<t&&(this._zQuantizationFactor.value=t)}}get _tileZQuantization(){return this.context.isDraped?1:this._zQuantizationFactor.value}constructor(e){super(e),this._useTileCount=!1,this.dataUpdating=!1,this.updatingTotal=0,this.updatingRemaining=0,this.expectedFeatureDiff=0,this.maximumNumberOfFeaturesExceeded=!1,this._fullRatio=1,this._farRatio=1,this._zQuantizationFactor=d(1),this._changes={updates:{adds:new Array,removes:new Array},adds:new Array,removes:new Array},this._featureTiles=new o,this._displayingFeatureReferences=new Map,this._numDisplayingFeatureReferences=0,this._dirty=!1,this._suspended=!0,this._pendingEdits=null,this._applyEditsTilesUpdated=!1,this.snappingComplexityExceeded=!0,this._isFetching=!1;const t=e.context;this._frameTask=t.scheduler?.registerTask(z.FEATURE_TILE_FETCHER,this)??P,this.FeatureReferenceClass=t.capabilities.supportsMultipleResolutions?w:M,this._objectIdField=t.objectIdField}initialize(){this.addHandles([l(()=>this.tileDescriptors,"change",()=>this._setDirty(),{onListenerAdd:()=>this._setDirty(),onListenerRemove:()=>this._setDirty()}),u(()=>this._tileZQuantization,()=>this.refetch())]),this._setDirty()}destroy(){this._frameTask.remove(),this._featureTiles.forEach(e=>{this._cancelFetchTile(e),this._removeTile(e)}),this._featureTiles.clear(),this._displayingFeatureReferences.clear(),this._pendingEdits?.controller.abort(),this._pendingEdits=null}get _paused(){return this._suspended||!!this._pendingEdits}restart(){this._featureTiles.forEach(e=>{this._cancelFetchTile(e),this._clearTile(e),this._resetFetchTile(e)}),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}refetch(){this._featureTiles.forEach(e=>{this._cancelFetchTile(e),this._resetFetchTile(e)}),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._setDirty()}refetchDisplayFilterHighlightTile(){const e=this._featureTiles.get(A);e&&(this._cancelFetchTile(e),this._resetFetchTile(e),this._setDirty())}suspend(){this._suspended||(this._suspended=!0,this._pause(),this._setDirty())}resume(){this._suspended&&(this._suspended=!1,this._unpause())}getMissingAttributesForFeature(e){for(const t of this._featureTiles.values()){const s=t.missingAttributes?.get(e);if(null!=s)return s}}_pause(){this._paused&&(this._featureTiles.forEach(e=>this._cancelFetchTile(e)),this._updated())}_unpause(){this._paused||this._setDirty()}get availableFields(){let e=null;return this._featureTiles.forEach(t=>{null!=t.displayingFeatures&&0!==t.displayingFeatures.length&&(null==e?e=new Set(t.availableFields):e.forEach(s=>{t.availableFields?.has(s)||e.delete(s)}))}),null!=e?e:new Set}applyEdits(e){this._pendingEdits||(this._pendingEdits={edits:Promise.resolve(),count:0,controller:new AbortController},this._pause());const t=this._pendingEdits;t.count++;const s=t.edits.then(()=>e.result.catch(e=>{if(a(e))throw e;return null}).then(e=>e?(this._applyEditsDeleteFeatures(e.deletedFeatures),this._applyEditsAddUpdateFeatures(e.addedFeatures,e.updatedFeatures,t.controller.signal).then(()=>e)):e).then(e=>(0===--t.count&&(this._pendingEdits===t&&(this._pendingEdits=null),null!=this.context.memoryCache&&this.context.memoryCache.clear(),this._applyEditsTilesUpdated=!1,this._unpause()),e)));return t.edits=s,this._updated(),s}_applyEditsDeleteFeatures(e){if(0===e.length)return;const t=this.context.globalIdField,s=t&&this.availableFields.has(t),r=new Set,a=this._objectIdField;e.forEach(({objectId:e,globalId:n})=>{(!e||e<0)&&t&&n&&(s||i.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${t} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(n,a,t)),null!=e&&e>=0&&r.add(e)}),this._featureTiles.forEach(e=>{if(!e.features)return;const t=e.features.filter(e=>!r.has(R(e,this._objectIdField)));t.length!==e.features.length&&(this._applyEditsTileUpdated(),e.setFeatures(t,0,e.availableFields,e.missingAttributes),this._updateTileZQuantization(e),this._invalidateCounts())})}_objectIdFromGlobalId(e,t,s){if(null==e)return null;const i=this.features.find(t=>t.attributes?.[s]===e);return i?R(i,t):null}async _applyEditsAddUpdateFeatures(e,t,s){const{objectIdField:r,globalIdField:a}=this.context,n=a&&this.availableFields.has(a),o=new Set,l=new Set;for(const i of e){const e=i.objectId;null!=e&&o.add(e)}for(const{objectId:h,globalId:d}of t){let e=h;(null==e||e<0)&&a&&(n||i.getLogger(this).errorOncePerTick(`Editing the specified service requires the layer's globalIdField, ${a} to be included the layer's outFields for updates to be reflected in the view`),e=this._objectIdFromGlobalId(d,r,a)),null!=e&&e>=0&&(o.add(e),l.add(e))}if(0===o.size)return;const u=[];this._featureTiles.forEach(e=>{const t=this._applyEditsAddUpdateTile(e,o,l,s);u.push(t)}),this._updated(),await Promise.allSettled(u)}async _applyEditsAddUpdateTile(e,t,s,i){if(!e.features)return;e.fetchingResolution=e.descriptor.resolution;const r=this._createQuery(e);r.resultType=void 0,r.cacheHint=!1,r.objectIds=Array.from(t);const a=await this._queryFeatures(r,i);let n=null;if(s.size>0){const t=e.features.filter(e=>!s.has(R(e,this._objectIdField)));t.length!==e.features.length&&(n=t)}if(a.features.length>0){n||(n=e.features.slice());for(const e of a.features)n.push(e)}n&&(e.hasPreciseFeatureCount&&(e.numFeatures=Math.max(e.numFeatures,n.length)),this._applyEditsTileUpdated(),e.setFeatures(n,0,Z(e.availableFields,a.fields),V(e.missingAttributes,a.missingAttributes)),this._updateTileZQuantization(e),this._invalidateCounts())}_applyEditsTileUpdated(){this._applyEditsTilesUpdated||(this._applyEditsTilesUpdated=!0,this._updated())}_queryFeatures(e,t){return this.context.query.queryFeaturesDehydrated(e,{signal:t,timeout:J})}_setDirty(){this._dirty=!0,this._updated()}runTask(e){const t=this._frameTask.processQueue(e);if(!this._dirty||!this.initialized)return t;this._dirty=!1;const s=this._featureTilesArray;if(this._markTilesNotAlive(s),!e.run(()=>this._addTiles(s,e))||!e.run(()=>this._filterExtentTiles(s,e))||!e.run(()=>this._removeTiles(s,e))||e.done)return void this._setDirty();const i=this._sortTiles(s);e.run(()=>this._showTiles(i,e))&&e.run(()=>this._fetchTiles(i,e))&&e.run(()=>this._updateMemoryEstimates(i,e))||this._setDirty(),this._updated(),this.updating||(this._updateMaximumNumberOfFeaturesExceeded(),this._updateSnappingComplexityExceeded(i))}_updateSnappingComplexityExceeded(e){let t=Y;for(const s of e){if(Q(s)||t<=0)break;if(!S(s)&&(t--,s.sampledDensityEstimate>W))return void(this.snappingComplexityExceeded=!0)}this.snappingComplexityExceeded=0===this._featureTiles.size}_markTilesNotAlive(e){for(const t of e)t.alive=!1}_addTiles(e,t){return!(this._suspended||!this.tileDescriptors)&&(this.tileDescriptors.forEach(s=>{const i=this._featureTiles.get(s.id);i?i.alive=!0:t.done||(e.push(this._addTile(s)),t.madeProgress())}),t.hasProgressed)}_filterExtentTiles(e,t){for(const s of e){if(t.done)break;s.alive&&(s.filtered=!s.intersects(this.filterExtent),s.filtered&&(this._clearTile(s),t.madeProgress()))}return t.hasProgressed}_removeTiles(e,t){for(let s=e.length-1;s>=0&&!t.done;s--){const i=e[s];i.alive||(this._removeTile(i),s!==e.length-1&&(e[s]=e[e.length-1]),e.pop(),t.madeProgress())}return t.hasProgressed}_sortTiles(e){return e.sort((e,t)=>e.descriptor.loadPriority-t.descriptor.loadPriority),e}_showTiles(e,t){const s=this._updateRatio(e),i=e=>{const t=this._fullRatio<1?s(e)*this._farRatio:1;e.reduceFeatures(t,this.memoryFactor,this._objectIdField,this._reduceMode)&&this._setDirty();const{numFeatures:i,fetchingResolution:r,descriptor:a,isFetched:n}=e;return this._supportsResolution&&i>0&&r!==a.resolution&&n&&(e.requestRefetch(),this._setDirty()),this._showTile(e)};for(const r of e)if(!t.run(()=>i(r))){this._setDirty();break}return t.hasProgressed}_fetchTiles(e,t){if(this._paused)return!1;let s=!1;for(const i of e){if(!i.needsFetch)continue;const e=null!=this.context.memoryCache?this.context.memoryCache.pop(i.id):null;if(e?.resolution!==i.displayingResolution){if(this._needsNumFeatures(i)){const e=new AbortController,r=this._fetchTileCount(i,e.signal);this._handleRequest(i,r,e,()=>i.resetFetching(),()=>i.numFeatures=U),s=!0,t.madeProgress()}if(t.done)return!0}else i.cache=e,i.numFeatures&&this._notifyDataUpdating(),this._setDirty(),this._scheduleUpdated(),t.madeProgress()}if(s)return t.hasProgressed;for(const r of e){if(!r.needsFetch)continue;const e=new AbortController,s=this._fetchTile(r,e.signal);if(this._handleRequest(r,s,e,e=>r.fetchDone(e),e=>{r.fetchFailed=!0,this.context.logFetchError(i.getLogger(this),e)}),t.madeProgress(),t.done)return!0}return t.hasProgressed}_updateMemoryEstimates(e,t){return e.some(e=>!t.run(()=>e.updateEstimates())&&(this._setDirty(),!0)),t.hasProgressed}_reclip(e,t){if(!this.initialized)return;const s=new Array;this._featureTiles.forEach(i=>{null!=i.displayingFeatures&&0!==i.displayingFeatures.length&&(i.intersectionIncludingBorrowed(t,B),i.intersectionIncludingBorrowed(e,G),g(B,G)||s.push(i))}),this._refreshDisplayingFeatures(s),this._updated()}_refreshDisplayingFeatures(e){const t=new Set,s=this._changes.updates;for(const i of e)if(null!=i.displayingFeatures)for(const e of i.displayingFeatures){const i=R(e,this._objectIdField);if(t.has(i))continue;t.add(i);const r=this._displayingFeatureReferences.get(i).feature;s.removes.push(r),s.adds.push(r)}this._applyChanges()}_updated(){let e=0;if(this._paused||this._featureTiles.forEach(t=>t.isFetching?++e:0),this._isFetching=e>0,e>0||this._applyEditsTilesUpdated?this._notifyDataUpdating():this._dirty||this._set("dataUpdating",!1),this.updating){let t=0,s=0,i=0,r=0,a=0;const n=this._displayingFeatureReferences.size/this._numDisplayingFeatureReferences;this._featureTiles.forEach(e=>{if(++s,e.isFetching&&e.hasPreciseFeatureCount){const t=this._maximumFeaturesForTile(e)*(1-e.emptyFeatureRatio),s=null!=e.displayingFeatures?e.displayingFeatures.length*n:0;a+=t-s}e.needsFetch?++r:e.numFeatures>0&&(++i,t+=e.numFeatures)}),r+=e;let o=0,l=0;t?(l=t,o=Math.min(r*t/i,t)):(l=s,o=r),a=Math.min(this.maximumNumberOfFeatures-this.features.length,a),this._set("updatingTotal",l),this._set("updatingRemaining",o),this._set("expectedFeatureDiff",a)}else this._set("updatingTotal",0),this._set("updatingRemaining",0),this._set("expectedFeatureDiff",0);this.debugger?.update()}_updateMaximumNumberOfFeaturesExceeded(){for(const{perTileMaximumNumberOfFeaturesExceeded:e}of this._featureTiles.values())if(e)return void this._set("maximumNumberOfFeaturesExceeded",!0);this._set("maximumNumberOfFeaturesExceeded",!1)}_updateRatio(e){const t=L(e),s=e=>1/(1<<Math.max(0,t-e.descriptor.lij[0]));let i=0,r=0;for(const a of e){const e=a.numFeatures;i+=e,r+=e*s(a)}return this._fullRatio=Math.min(1,this.maximumNumberOfFeatures/i),this._farRatio=this.maximumNumberOfFeatures/r,this._scheduleUpdated(),s}_maximumFeaturesUpdated(e,t){e!==t&&(t>e&&this._featureTiles.forEach(e=>{if(!e.featuresMissing)return;const t=this._maximumFeaturesForTile(e);e.isFullyFetched(t)||(this._cancelFetchTile(e),this._resetFetchTile(e))}),this._setDirty())}_addTile(e){const t=new j(e);return this._featureTiles.set(t.id,t),this._resetFetchTile(t),this._referenceDisplayingFeaturesFromRelatedTiles(t),t}_referenceDisplayingFeaturesFromRelatedTiles(e){const t=e.displayingResolution;this._featureTiles.forEach(s=>{if(null!=s.displayingFeatures&&e!==s&&O(e.descriptor.lij,s.descriptor.lij)){null==e.displayingFeatures&&(e.displayingFeatures=[]),e.descriptor.extent&&s.descriptor.extent&&(e.extentIncludingBorrowedFeatures??=y(e.descriptor.extent),F(e.extentIncludingBorrowedFeatures,s.descriptor.extent,e.extentIncludingBorrowedFeatures));for(const i of s.displayingFeatures){e.displayingFeatures.push(i);const s=this._displayingFeatureReferences.get(R(i,this._objectIdField));s.ref(s.feature,t),this._numDisplayingFeatureReferences++}}})}_removeTile(e){this._clearTile(e),this._featureTiles.delete(e.id)}_resetFetchTile(e){e.filtered=!e.intersects(this.filterExtent),e.filtered?e.needsFetch&&e.fetchDone(4):e.requestFetch()}_cancelFetchTile(e){const t=e.requestController;null!=t&&(e.requestController=null,e.resetFetching(),t.abort())}async _fetchTileCount(e,t){e.numFeatures=await this.context.query.queryFeatureCount(this._createFeatureCountQuery(e),{signal:t}),this._updateRatio(this._featureTilesArray)}async _fetchTile(e,t){e.fetchFailed=!1;const s=this._maximumFeaturesForTile(e);if(s<=0)return e.hasPreciseFeatureCount&&0===e.numFeatures||(e.fetchFailed=!0),k(e),e.fetchInformation.value="Empty tile",4;const i=this._getMaxRecordCount(e),r=Math.ceil(s/i);if(e.fetchingResolution=e.descriptor.resolution,N(e)||!this.context.capabilities.supportsMaxRecordCountFactor||e.numFeatures<=s&&r>D.MAX_MAX_RECORD_COUNT_FACTOR)return this._fetchPagedTile(e,t);const a=this._createQuery(e);if(a.maxRecordCountFactor=r,e.isRefetching&&e.features&&e.features.length>0){const t=Math.ceil(e.features.length/(1-e.emptyFeatureRatio)/i);a.maxRecordCountFactor=Math.max(t+1,a.maxRecordCountFactor)}e.fetchInformation.value=`Single fetch\n${s} features`;const{features:o,exceededTransferLimit:l,fields:u,missingAttributes:h}=await this._queryFeatures(a,t),d=l||a.maxRecordCountFactor>=D.MAX_MAX_RECORD_COUNT_FACTOR||s===this._totalFeaturesForTile(e)?5:4,c=await this._frameTask.schedule(()=>{e.exceededTransferLimit.value=!!l;const t=this._removeEmptyFeatures(o,this._getEffectiveTileResolution(e));return e.fetchInformation.value=`Single fetch\n${o.length}/${s} features`,e.setFeatures(o,t,H(u),V(void 0,h)),this._updateTileZQuantization(e),this._maximumFeaturesForTile(e)>s?1:d},t);return n(t),this._invalidateCounts(),c}async _fetchPagedTile(e,t){let s,i=0,r=0,a=0,o=this._maximumFeaturesForTile(e)-a;const l=this._getMaxRecordCount(e);let u,h=null;for(;;){const d=this._createQuery(e),c=this._setPagingParameters(d,i,o,l);e.fetchInformation.value=`Paged fetch\n${e.features?.length}/${o} features`;const{features:p,exceededTransferLimit:f,fields:_,missingAttributes:m}=await this._queryFeatures(d,t);if(await this._frameTask.schedule(()=>{c&&(i+=d.num),a+=p.length,r+=this._removeEmptyFeatures(p,this._getEffectiveTileResolution(e)),e.exceededTransferLimit.value=!!f,s=s?.concat(p)??p,h=Z(h,_),u=V(u,m),e.setFeatures(s,r,h,u),this._updateTileZQuantization(e),this._invalidateCounts(),this._setDirty()},t),n(t),o=this._maximumFeaturesForTile(e)-(s?.length??0),!c||!f||o<=0)return f?4:5}}_createFeatureCountQuery(e){const t=this._createQuery(e);return this.context.capabilities.supportsCacheHint&&(t.resultType=void 0,t.cacheHint=!0),t}_createQuery(e){const t=this.context.createQuery();if(t.resultType=this._resultType(e),!N(e)&&e.descriptor.extent&&this.context.tilingScheme&&(t.geometry=T(e.descriptor.extent,this.context.tilingScheme.spatialReference)),this._setResolutionParams(t,e),"tile"!==t.resultType&&this.context.capabilities.supportsCacheHint&&(t.cacheHint=!0),S(e)){const{highlightIds:e}=this.context;e&&e.length>$&&i.getLogger(this).warn("highlight-too-many-features",`highlight is limited to ${$} features on large layers configured with a display filter to avoid performance issues`),t.objectIds=e?.slice(0,$)}else!Q(e)&&this.context.effectiveDisplayFilter&&(t.where=c(t.where,this.context.effectiveDisplayFilter.where));return t}_setPagingParameters(e,t,s,i){return!!this.context.capabilities.supportsPagination&&(e.start=t,s>0&&this.context.capabilities.supportsMaxRecordCountFactor?(e.maxRecordCountFactor=Math.ceil(s/i),e.num=Math.min(e.maxRecordCountFactor*i,s)):e.num=Math.min(i),!0)}_getEffectiveTileResolution(e){if(N(e)||!this._supportsResolution)return null;const t=1===this.context.viewingMode&&this.context.tilingScheme?this.context.tilingScheme.resolutionAtLevel(3):1/0;return Math.min(e.fetchingResolution,t)/this.lodFactor/this._tileZQuantization}get _supportsResolution(){return this.context.capabilities.supportsMultipleResolutions&&"point"!==this.context.geometryType}_setResolutionParams(e,t){const s=this._getEffectiveTileResolution(t);null!=s&&(this.context.capabilities.supportsQuantization?e.quantizationParameters=new C({mode:"view",originPosition:"upper-left",tolerance:s,extent:this.context.fullExtent}):"polyline"===this.context.geometryType&&(e.maxAllowableOffset=s))}_removeEmptyFeatures(e,t){const i=e.length;if(t&&this._supportsResolution){const i=t*(1+_());s(e,({geometry:e})=>!(!e||!E(e))&&(b(e,X),x(X)>i||v(X)>i))}else s(e,({geometry:e})=>E(e));return i-e.length}_needsNumFeatures(e){return this.useTileCount&&e.needsFeatureCount&&!Q(e)}_getMaxRecordCount(e){switch(this._resultType(e)){case"tile":if(this.context.tileMaxRecordCount)return this.context.tileMaxRecordCount;break;case"standard":if(this.context.standardMaxRecordCount)return this.context.standardMaxRecordCount}return this.context.maxRecordCount||$}_resultType(e){if(this.context.capabilities.supportsResultType)return Q(e)?"standard":"tile"}get _reduceMode(){const e=this.context.geometryType;return"polygon"===e||"polyline"===e?0:1}_handleRequest(e,t,s,i,r){e.startFetch(),e.requestController=s;let n=!1;t.then(t=>{e.requestController=null,i(t)}).catch(t=>{e.requestController===s&&(e.requestController=null,e.fetchDone(4)),a(t)?n=!0:r(t)}).then(()=>{n||this._setDirty(),this._scheduleUpdated()})}_scheduleUpdated(){this.hasHandles("scheduleUpdated")||this.addHandles(h(()=>{this.removeHandles("scheduleUpdated"),this._updated()}),"scheduleUpdated")}_showTile(e){if(e.displayingFeatures&&!e.needsDisplayUpdate)return!1;const t=e.features;if(0===e.featureLimit||!t){const t=null!=e.displayingFeatures&&e.displayingFeatures.length>0;return this._hideTileFeatures(e),e.displayingFeatures=[],t}const s=e.fetchingResolution,{adds:i,updates:r}=this._changes,a=Math.min(e.featureLimit,t.length);for(let n=0;n<a;++n){const e=t[n],a=R(e,this._objectIdField),o=this._displayingFeatureReferences.get(a);if(o){const{oldVersion:t,newVersion:i}=o.ref(e,s);t!==i&&(t&&r.removes.push(t),i&&r.adds.push(i))}else this._displayingFeatureReferences.set(a,new this.FeatureReferenceClass(e,s)),i.push(e);this._numDisplayingFeatureReferences++}return this._hideTileFeatures(e),e.displayingResolution=e.fetchingResolution,this._applyChanges(),e.displayingFeatures=t.slice(0,a),!0}_hideTile(e){this._cancelFetchTile(e),this._hideTileFeatures(e)}_hideTileFeatures(e){if(null==e.displayingFeatures)return;const{updates:t,removes:s}=this._changes;for(const i of e.displayingFeatures){const r=R(i,this._objectIdField),a=this._displayingFeatureReferences.get(r);if(!a)continue;const{oldVersion:n,newVersion:o}=a.unref(e.displayingResolution);this._numDisplayingFeatureReferences--,n!==o&&(null==o?(this._displayingFeatureReferences.delete(r),n&&s.push(n)):(t.adds.push(o),n&&t.removes.push(n)))}this._applyChanges(),e.displayingFeatures=null}_notifyDataUpdating(){this._get("dataUpdating")||this._set("dataUpdating",!0)}_applyChanges(){const e=this._changes.updates;e.removes.length>0&&(this._notifyDataUpdating(),this.features.removeMany(e.removes),e.removes.length=0),e.adds.length>0&&(this._notifyDataUpdating(),this.features.addMany(e.adds),e.adds.length=0);const t=this._changes.adds,s=this._changes.removes,i=Math.min(t.length,s.length);let r=0;for(;r<i;){const e=Math.min(r+K,i);this._notifyDataUpdating(),this.features.addMany(t.slice(r,e)),this.features.removeMany(s.slice(r,e)),r=e}t.length>i&&(this._notifyDataUpdating(),this.features.addMany(0===r?t:t.slice(r))),s.length>i&&(this._notifyDataUpdating(),this.features.removeMany(0===r?s:s.slice(r))),t.length=0,s.length=0}_clearTile(e){this._hideTile(e),e.features&&null!=this.context.memoryCache&&this.context.memoryCache.put(e.id,e.cache),e.setFeatures(null,0,null,void 0),this._invalidateCounts()}_invalidateCounts(){this.notifyChange("totalVertices"),this.notifyChange("totalFeatures"),this.notifyChange("memoryForUnusedFeatures")}get _featureTilesArray(){return Array.from(this._featureTiles.values())}get featureTiles(){return this._featureTiles}get storedFeatures(){return this._featureTilesArray.reduce((e,t)=>e+(t.features?t.features.length:0),0)}get missingTiles(){return Array.from(this._featureTiles.values()).reduce((e,t)=>e+(t.needsFetch||t.isFetching?1:0),0)}_totalFeaturesForTile(e){return e.hasPreciseFeatureCount?e.numFeatures:this.maximumNumberOfFeatures}_maximumFeaturesForTile(e){const t=this._totalFeaturesForTile(e),s=this._fullRatio<1?this._farRatio:1;return Math.min(Math.ceil(t*s/(1-e.emptyFeatureRatio)),t)}get test(){}};function Q(e){return e.id===I}function S(e){return e.id===A}function N(e){return Q(e)||S(e)}function L(e){let t=0;for(const s of e)s.features&&s.features.length>0&&s.alive&&(t=Math.max(t,s.descriptor.lij[0]));return t}function k(e){e.setFeatures([],0,null,void 0)}function H(e){return null==e?new Set:new Set(e.map(e=>e.name))}function Z(e,t){if(null==e||null==t)return H(t);const s=new Set;for(const{name:i}of t)e.has(i)&&s.add(i);return s}function V(e,t){if(!t?.length)return e;e??=new Map;const s=()=>new Set;for(const{objectId:i,attribute:a}of t)r(e,i,s).add(a);return e}e([p({constructOnly:!0})],q.prototype,"features",void 0),e([p({constructOnly:!0})],q.prototype,"context",void 0),e([p()],q.prototype,"tileDescriptors",void 0),e([p({value:1/0})],q.prototype,"maximumNumberOfFeatures",null),e([p({value:1})],q.prototype,"memoryFactor",null),e([p({value:1})],q.prototype,"lodFactor",null),e([p()],q.prototype,"useTileCount",null),e([p({readOnly:!0})],q.prototype,"updating",null),e([p({readOnly:!0})],q.prototype,"dataUpdating",void 0),e([p({readOnly:!0})],q.prototype,"updatingTotal",void 0),e([p({readOnly:!0})],q.prototype,"updatingRemaining",void 0),e([p({readOnly:!0})],q.prototype,"expectedFeatureDiff",void 0),e([p({readOnly:!0})],q.prototype,"memoryForUnusedFeatures",null),e([p({readOnly:!0})],q.prototype,"maximumNumberOfFeaturesExceeded",void 0),e([p({readOnly:!0})],q.prototype,"totalVertices",null),e([p({readOnly:!0})],q.prototype,"totalFeatures",null),e([p({readOnly:!0})],q.prototype,"showsAllFeatures",null),e([p({readOnly:!0})],q.prototype,"hasFullGeometries",null),e([p()],q.prototype,"filterExtent",null),e([p()],q.prototype,"_dirty",void 0),e([p()],q.prototype,"_suspended",void 0),e([p()],q.prototype,"_pendingEdits",void 0),e([p()],q.prototype,"_applyEditsTilesUpdated",void 0),e([p()],q.prototype,"_paused",null),e([p()],q.prototype,"snappingComplexityExceeded",void 0),e([p()],q.prototype,"_isFetching",void 0),q=e([f("esri.views.3d.layers.support.FeatureTileFetcher3D")],q);const $=2e3,B=m(),G=m(),X=m(),J=6e5,K=200,W=.95,Y=10;export{q as FeatureTileFetcher3D};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{len as t,set as e,normalize as i,dot as s,scale as o,copy as r,dist as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as n,ZEROS as l,freeze as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as d}from"../../../../geometry/support/aaBoundingRect.js";import{intersectsPoint as h}from"../../../../geometry/support/frustum.js";import{fromValues as m}from"../../../../geometry/support/ray.js";import{FeatureTileVisibility3D as p,minTileLOD as u}from"./FeatureTileVisibility3D.js";import _ from"../../webgl/RenderCamera.js";class f{constructor(t,e,i){this._renderCoordsHelper=t,this._tilingScheme=e,this._camera=new _,this._surfaceElevation=0,this._focusOnMap=[0,0],this._visibility=new p(t,i)}set opaqueGround(t){this._visibility.opaqueGround=t}setup(t,e,i){this._camera.copyFrom(t),this._surfaceElevation=i,this._focusOnMap[0]=e.x,this._focusOnMap[1]=e.y,this._visibility.setup(this._camera)}done(){this._visibility.done()}update(t){const{measures:e,extent:i,level:s}=t;i&&(e.visible=this._visibility.compute(t),e.distance=d(i,this._focusOnMap),e.mergeable=!0,e.lodLevel=u,e.splitPriority=Math.max(0,u-s),e.visible&&(this._isGlobal?this._updateSplitAndLodGlobal(t):this._updateSplitAndLodLocal(t)))}_updateSplitAndLodGlobal(r){const a=r.level,n=this._renderCoordsHelper,{eye:l,fov:c}=this._camera,d=n.referenceEllipsoid.radius,h=t(l)-d;if(2*Math.atan(d/h)<c&&h>0)return void(r.measures.lodLevel=Math.max(a,u));const m=v,{extent:p}=r;if(!p)return;const{_surfaceElevation:_}=this;e(m[0],p[0],p[1],_),e(m[1],p[2],p[1],_),e(m[2],p[2],p[3],_),e(m[3],p[0],p[3],_);const f=e(M,.5*(p[0]+p[2]),.5*(p[1]+p[3]),_),y=this._tilingScheme.spatialReference;for(let t=0;t<4;++t)n.toRenderCoords(m[t],y,m[t]);n.toRenderCoords(f,y,f);const b=i(g.direction,f),L=s(l,b),S=o(x,b,L);this._updateSplitAndLod(r,m,f,S)}_updateSplitAndLodLocal(t){const i=v,{extent:s}=t;if(!s)return;const{_surfaceElevation:o}=this;e(i[0],s[0],s[1],o),e(i[1],s[2],s[1],o),e(i[2],s[2],s[3],o),e(i[3],s[0],s[3],o);const a=this._tilingScheme.spatialReference;for(let e=0;e<4;++e)this._renderCoordsHelper.toRenderCoords(i[e],a,i[e]);const n=e(M,.5*(i[0][0]+i[2][0]),.5*(i[0][1]+i[2][1]),.25*(i[0][2]+i[1][2]+i[2][2]+i[3][2])),l=e(y,n[0],n[1],0),{eye:c,far:d}=this._camera,h=e(x,l[0],l[1],c[2]);e(g.origin,l[0],l[1],c[2]-2*d),r(g.direction,b),this._updateSplitAndLod(t,i,n,h)}_updateSplitAndLod(t,e,i,o){const r=Math.max(a(e[0],e[2]),a(e[1],e[3]),a(e[0],i)+a(i,e[2]),a(e[1],i)+a(i,e[3])),{eye:n,near:l,fov:c,viewForward:d,width:m,height:p,pixelRatio:u,frustum:_}=this._camera,f=s(n,d),v=s(i,d)-f,M=a(i,n);let y=v,x=v,b=M,g=M;const R=(t,e)=>e<l?1:Math.sqrt(t*t-e*e)/e;let j=R(M,v);for(const h of e){const t=s(h,d)-f;y=Math.min(y,t),x=Math.max(x,t);const e=a(h,n);g=Math.max(g,e),b=Math.min(b,e);const i=R(e,t);j=Math.min(j,i)}if(x<l)return void(t.measures.lodLevel=0);const w=Math.cos(.5*c),A=a(n,o);j>w&&A>S*r&&(x=C*g,y=C*b);const G=.5*Math.sqrt(m*m+p*p)/u,E=2*Math.tan(.5*c),q=t=>Math.max(l,t)*L/G*E,H=t.level,O=r*2**H*Math.max(1,E),P=q(y),F=Math.ceil(Math.log2(Math.max(1,O/P)));if(t.measures.lodLevel=Math.max(F,t.measures.lodLevel),t.measures.splitPriority+=t.measures.lodLevel-H,H<F){const i=+h(_,e[0])+ +h(_,e[1])+ +h(_,e[2])+ +h(_,e[3]);t.measures.splitPriority+=i}const B=q(x)/P;B>2.5&&(t.measures.splitPriority+=B)}get _isGlobal(){return 1===this._renderCoordsHelper.viewingMode}}const v=[n(),n(),n(),n()],M=n(),y=n(),x=n(),b=c(0,0,1),g=m(l,b),L=312,S=.5,C=2;export{f as FeatureTileMeasurements3D};
2
+ import{len as t,set as e,normalize as i,dot as s,scale as o,copy as r,dist as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as n,freeze as l,create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as d}from"../../../../geometry/support/aaBoundingRect.js";import{intersectsPoint as h}from"../../../../geometry/support/frustum.js";import{fromValues as m}from"../../../../geometry/support/ray.js";import{FeatureTileVisibility3D as p,minTileLOD as u}from"./FeatureTileVisibility3D.js";import _ from"../../webgl/RenderCamera.js";class f{constructor(t,e,i){this._renderCoordsHelper=t,this._tilingScheme=e,this._camera=new _,this._surfaceElevation=0,this._focusOnMap=[0,0],this._visibility=new p(t,i)}set opaqueGround(t){this._visibility.opaqueGround=t}setup(t,e,i){this._camera.copyFrom(t),this._surfaceElevation=i,this._focusOnMap[0]=e.x,this._focusOnMap[1]=e.y,this._visibility.setup(this._camera)}done(){this._visibility.done()}update(t){const{measures:e,extent:i,level:s}=t;i&&(e.visible=this._visibility.compute(t),e.distance=d(i,this._focusOnMap),e.mergeable=!0,e.lodLevel=u,e.splitPriority=Math.max(0,u-s),e.visible&&(this._isGlobal?this._updateSplitAndLodGlobal(t):this._updateSplitAndLodLocal(t)))}_updateSplitAndLodGlobal(r){const a=r.level,n=this._renderCoordsHelper,{eye:l,fov:c}=this._camera,d=n.referenceEllipsoid.radius,h=t(l)-d;if(2*Math.atan(d/h)<c&&h>0)return void(r.measures.lodLevel=Math.max(a,u));const m=v,{extent:p}=r;if(!p)return;const{_surfaceElevation:_}=this;e(m[0],p[0],p[1],_),e(m[1],p[2],p[1],_),e(m[2],p[2],p[3],_),e(m[3],p[0],p[3],_);const f=e(M,.5*(p[0]+p[2]),.5*(p[1]+p[3]),_),y=this._tilingScheme.spatialReference;for(let t=0;t<4;++t)n.toRenderCoords(m[t],y,m[t]);n.toRenderCoords(f,y,f);const b=i(g.direction,f),L=s(l,b),S=o(x,b,L);this._updateSplitAndLod(r,m,f,S)}_updateSplitAndLodLocal(t){const i=v,{extent:s}=t;if(!s)return;const{_surfaceElevation:o}=this;e(i[0],s[0],s[1],o),e(i[1],s[2],s[1],o),e(i[2],s[2],s[3],o),e(i[3],s[0],s[3],o);const a=this._tilingScheme.spatialReference;for(let e=0;e<4;++e)this._renderCoordsHelper.toRenderCoords(i[e],a,i[e]);const n=e(M,.5*(i[0][0]+i[2][0]),.5*(i[0][1]+i[2][1]),.25*(i[0][2]+i[1][2]+i[2][2]+i[3][2])),l=e(y,n[0],n[1],0),{eye:c,far:d}=this._camera,h=e(x,l[0],l[1],c[2]);e(g.origin,l[0],l[1],c[2]-2*d),r(g.direction,b),this._updateSplitAndLod(t,i,n,h)}_updateSplitAndLod(t,e,i,o){const r=Math.max(a(e[0],e[2]),a(e[1],e[3]),a(e[0],i)+a(i,e[2]),a(e[1],i)+a(i,e[3])),{eye:n,near:l,fov:c,viewForward:d,width:m,height:p,pixelRatio:u,frustum:_}=this._camera,f=s(n,d),v=s(i,d)-f,M=a(i,n);let y=v,x=v,b=M,g=M;const R=(t,e)=>e<l?1:Math.sqrt(t*t-e*e)/e;let j=R(M,v);for(const h of e){const t=s(h,d)-f;y=Math.min(y,t),x=Math.max(x,t);const e=a(h,n);g=Math.max(g,e),b=Math.min(b,e);const i=R(e,t);j=Math.min(j,i)}if(x<l)return void(t.measures.lodLevel=0);const w=Math.cos(.5*c),A=a(n,o);j>w&&A>S*r&&(x=C*g,y=C*b);const G=.5*Math.sqrt(m*m+p*p)/u,E=2*Math.tan(.5*c),q=t=>Math.max(l,t)*L/G*E,H=t.level,O=r*2**H*Math.max(1,E),P=q(y),F=Math.ceil(Math.log2(Math.max(1,O/P)));if(t.measures.lodLevel=Math.max(F,t.measures.lodLevel),t.measures.splitPriority+=t.measures.lodLevel-H,H<F){const i=+h(_,e[0])+ +h(_,e[1])+ +h(_,e[2])+ +h(_,e[3]);t.measures.splitPriority+=i}const B=q(x)/P;B>2.5&&(t.measures.splitPriority+=B)}get _isGlobal(){return 1===this._renderCoordsHelper.viewingMode}}const v=[c(),c(),c(),c()],M=c(),y=c(),x=c(),b=l(0,0,1),g=m(n,b),L=312,S=.5,C=2;export{f as FeatureTileMeasurements3D};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{normalize as t,copy as r,set as n,dist as e,sub as s,dot as o,scaleAndAdd as i,cross as u,add as c,scale as f,len as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as h,fromValues as l,freeze as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as p}from"../../../../geometry/ellipsoidUtils.js";import{getSphericalPCPF as d}from"../../../../geometry/spatialReferenceEllipsoidUtils.js";import{projectBuffer as _}from"../../../../geometry/projection/projectBuffer.js";import{projectVec3Array as g}from"../../../../geometry/projection/projectVec3Array.js";import{signedDistance as b,fromValues as S}from"../../../../geometry/support/plane.js";import{Frustum as M}from"../../state/Frustum.js";class F{constructor(t,r){this._renderCoordsHelper=t,this.opaqueGround=r,this._cache=new Map,this._cameraForward=h(),this._cameraEye=h(),this._cameraFovY=55*Math.PI/180,this._frustumBoundingSphereCenter=h(),this._frustumBoundingSphereRadius=0,this._frustum=new M(t),this._renderSR=t.spatialReference;const n=d(this._renderSR);this._renderSREllipsoidRadius=p(n).radius}setup(n){this._aboveGround=n.aboveGround,this._frustum.update(n),t(this._cameraForward,n.viewForward),r(this._cameraEye,n.eye),this._cameraFovY=n.fovY,this._updateFrustumBoundingSphere()}done(){this._cache.clear()}compute(t){if(this._cache.has(t.id))return this._cache.get(t.id);const r=this._isVisibleInFrustum(t);return this._cache.set(t.id,r),r}_isVisibleInFrustum(t){return 2===this._renderCoordsHelper.viewingMode?this._isTileVisibleInFrustumLocal(t):this._isTileVisibleInFrustumGlobal(t)}_updateFrustumBoundingSphere(){const t=this._frustum.boundingSphere;r(this._frustumBoundingSphereCenter,t.center),this._frustumBoundingSphereRadius=t.radius+Bt}_isTileVisibleInFrustumLocal(t){const r=t.spatialReference,u=t.extent,c=this._renderSR;if(!u)return!0;if(C[0]=u[0],C[1]=u[1],C[2]=0,C[3]=u[2],C[4]=u[3],C[5]=0,!_(C,r,0,C,c,0))return!1;n(E[0],C[0],C[1],0),n(E[1],C[3],C[1],0),n(E[2],C[3],C[4],0),n(E[3],C[0],C[4],0),n(P,.5*(C[0]+C[3]),.5*(C[1]+C[4]),.5*(C[2]+C[5]));const f=St,a=.5*e(E[0],E[2]),h=this._frustum,l=this._frustumBoundingSphereRadius,m=this._frustumBoundingSphereCenter,p=W;s(p,m,P);const d=o(f,p),g=A;i(g,P,f,d);if(e(g,m)>a+l)return!1;const b=this._cameraForward,S=o(b,St),M=this._cameraFovY,F=this._cameraEye;if(Math.abs(S)<Math.abs(Math.cos(.5*M))){let t=!0;const r=n(Mt,b[0],b[1],0),e=o(F,r);for(let n=0;n<4;++n){const s=E[n];if(o(s,r)-e>0){t=!1;break}}if(t)return!1}{const t=E[0],r=E[2];if(t[0]<=F[0]&&F[0]<=r[0]&&t[1]<=F[1]&&F[1]<=r[1])return!0}const R=V,v=this.opaqueGround&&this._aboveGround,G=this.opaqueGround&&!this._aboveGround,j=Math.min(G?dt:1/0,d+l),B=Math.max(v?-dt:-1/0,d-l);for(let n=0;n<4;++n)i(R[n],E[n],f,j),i(R[n+4],E[n],f,B);if(y(h.planes,R,8))return!1;if(q(h.planes,R,8))return!0;for(let n=0;n<4;++n){const t=R[n],r=R[n+4];if(Ft(h.planes,t,r))return!0;const e=R[(n+1)%4];if(Ft(h.planes,t,e))return!0;const s=R[4+(n+1)%4];if(Ft(h.planes,r,s))return!0}if(Gt[0][3]=+E[0][0],Gt[1][3]=-E[2][0],Gt[2][3]=+E[0][1],Gt[3][3]=-E[2][1],Gt[4][3]=+B,Gt[5][3]=-j,q(Gt,h.points))return!0;if(q(Gt,h.points))return!0;for(let n=0;n<4;++n){const t=F,r=h.points[n+4];if(Rt(Gt,t,r))return!0;const e=h.points[4+(n+1)%4];if(Rt(Gt,r,e))return!0}return!1}_isTileVisibleInFrustumGlobal(r){if(r.level<w)return!0;const l=r.spatialReference,m=r.extent;if(!m||!l)return!0;const p=this.opaqueGround&&this._aboveGround,d=this.opaqueGround&&!this._aboveGround,_=E,S=.5*(m[0]+m[2]);if(n(_[0],m[0],m[1],0),n(_[1],m[2],m[1],0),n(_[2],m[2],m[3],0),n(_[3],m[0],m[3],0),n(_[4],S,m[1],0),n(_[5],S,m[3],0),!g(_,l,0,_,this._renderSR,0,6))return!1;const M=_[0][2]>0,F=_[3][2]<0,j=M||F,B=this._renderSREllipsoidRadius;if(j){const t=Y;R(t,jt,_[0]);const r=k;if(R(r,jt,_[1]),M){const n=T,e=_[4],s=H;R(s,e,jt),R(n,s,e);const o=_[0];u(o,t,n),G(o,B);const i=_[1];u(i,r,n),G(i,B)}else if(F){const n=T,e=_[5],s=H;R(s,e,jt),R(n,e,s);const o=_[3];u(o,n,t),G(o,B);const i=_[2];u(i,n,r),G(i,B)}}const q=P,x=s(N,_[3],_[0]);t(x,x);const V=c(O,_[0],_[3]);f(V,V,.5);const C=-o(V,x),A=c(Q,_[0],_[1]);f(A,A,.5);const W=c(X,_[2],_[3]);f(W,W,.5);const et=s(Z,W,A);t(et,et);const ht=-(C+o(x,A))/o(x,et);i(q,A,et,ht),G(q,B);const lt=this._frustumBoundingSphereRadius,mt=this._frustumBoundingSphereCenter,St=this._frustum,Mt=St.planes,Ft=L;t(Ft,q);const Rt=o(_[0],Ft)/a(_[0]),vt=St.origin,Gt=St.points;let Bt=!1;if(p){{Bt=!0;const r=t(_t,vt);for(let n=0;n<4;++n){const e=Gt[4+n],i=s(h(),e,vt);t(i,i);const c=u(h(),r,i);t(c,c);const f=u(h(),i,c);t(f,f);if(o(vt,f)>B){Bt=!1;break}}}if(Bt){if(o(vt,Ft)<B*Rt-dt)return!1}const r=t(_t,St.origin);if(o(r,Ft)<0)return!1;{const r=t(gt,St.direction);if(o(r,Ft)>bt)return!1}}const yt=Math.sqrt(1-Rt*Rt);if(yt>.9)return!0;let qt=!1;const wt=o(Ft,mt),xt=a(mt);if(xt<=lt&&!Mt.some(t=>b(t,z)>0)){if(!p)return!0;qt=!0}const It=wt/xt;if(!qt&&wt<=0){if(-wt>lt)return!1}const Vt=lt/xt;if(Math.sqrt(1-It*It)*Math.sqrt(1-Vt*Vt)-Vt*It>yt)return!1;if(!Bt){if(_.some(t=>St.intersectsPoint(t)))return!0;if(St.intersectsPoint(q))return!0}const Ct=D;s(Ct,mt,z);const Et=o(Ct,Ft),Pt=U;f(Pt,Ft,Et);const Tt=e(Pt,mt),Yt=l.isWGS84,kt=r.lij,Ht=Yt&&kt[2]===2**kt[0]-1,Lt=Yt&&0===kt[2],Ut=Lt?ct:Ht?it:st,At=Lt?ft:Ht?ut:ot;if(!qt){const t=_,r=at,n=$,e=tt,s=z;for(const o of Ut){const i=t[o];if(v(n,t[(o+1)%4],i),v(e,s,i),R(r,e,n),I(r,Gt,1))return!1}}let Wt=null;if(!p&&Et<1.01*lt){const t=2.5*lt;if(Tt>Rt*t+lt)return!1;const r=K,e=t/Rt;for(let n=0;n<4;++n)f(r[n],_[n],e/B);n(r[4],0,0,0),Wt=r}else{const t=(d?B+dt:Et+lt)/Rt,r=p?B-dt:(Et-lt)/Rt,n=J;for(let e=0;e<4;++e){const s=_[e];f(n[e],s,r/B),f(n[e+4],s,t/B)}Wt=n}if(y(Mt,Wt,Wt.length))return!1;const zt=St.lines,Dt=rt,Jt=nt;for(const n of zt){t(Jt,n.direction);for(const r of At){const n=Wt[r];if(t(Dt,n),pt(Jt,Dt,Wt,Gt))return!1;const e=(r+1)%4;if(p){const r=Wt[e];if(s(Dt,r,n),t(Dt,Dt),pt(Jt,Dt,Wt,Gt))return!1}if(d){const n=Wt[4+r],o=Wt[4+e];if(s(Dt,o,n),t(Dt,Dt),pt(Jt,Dt,Wt,Gt))return!1}}}return!0}}function R(r,n,e){return u(r,n,e),t(r,r),r}function v(r,n,e){return s(r,n,e),t(r,r),r}function G(t,r){return f(t,t,r/a(t)),t}const j=[0,1,2,3,5];function B(t,r,n){for(let e=0;e<n;++e)if(b(t,r[e])<=0)return!1;return!0}function y(t,r,n){for(const e of j)if(B(t[e],r,n))return!0;return!1}function q(t,r,n=r.length){for(let e=0;e<n;++e){const n=r[e];let s=!0;for(const r of t){if(b(r,n)>0){s=!1;break}}if(s)return!0}return!1}const w=2,x=4;function I(t,r,n){for(const e of r)if(o(e,t)<n)return!1;return!0}const V=[h(),h(),h(),h(),h(),h(),h(),h()],C=[0,0,0,0,0,0],E=[h(),h(),h(),h(),h(),h()],P=h(),T=h(),Y=h(),k=h(),H=h(),L=h(),U=h(),A=h(),W=h(),z=m(0,0,0),D=h(),J=[h(),h(),h(),h(),h(),h(),h(),h()],K=[h(),h(),h(),h(),h()],N=h(),O=h(),Q=h(),X=h(),Z=h(),$=h(),tt=h(),rt=h(),nt=h(),et=h(),st=[0,1,2,3],ot=[0,1,2,3],it=[0,1,3],ut=[0,1,3],ct=[1,2,3],ft=[1,2,3],at=h();function ht(t,r,n){let e=1/0,s=-1/0;for(const i of n){const t=o(r,i);e=Math.min(e,t),s=Math.max(s,t)}t[0]=e,t[1]=s}function lt(t,r,n,e){let s=1/0,i=-1/0;for(const u of e){const e=o(n,u);if(s=Math.min(s,e),i=Math.max(i,e),s<=r&&i>=t)return!1}return!0}const mt=[0,0];function pt(t,r,n,e){const s=n.length,o=e.length;if(0===s||0===o)return!0;const i=et;R(i,t,r);const u=o<s,c=u?n:e,f=mt;return ht(f,i,u?e:n),lt(f[0],f[1],i,c)}const dt=430,_t=h(),gt=h(),bt=Math.cos(.25*Math.PI),St=l(0,0,1),Mt=h();function Ft(t,r,n){const e={t0:0,t1:1};for(const s of j){if(!vt(t[s],r,n,e))return!1}return e.t0<e.t1}function Rt(t,r,n){const e={t0:0,t1:1};for(const s of t){if(!vt(s,r,n,e))return!1}return e.t0<e.t1}function vt(t,r,n,e){let{t0:s,t1:o}=e;const i=b(t,r),u=b(t,n);if(i>=0&&u>=0)return!1;if(i<0&&u>=0){const t=-i/(u-i);if(t<s)return!1;t<o&&(o=t)}else if(i>=0&&u<0){const t=i/(i-u);if(t>o)return!1;t>s&&(s=t)}return e.t0=s,e.t1=o,!0}const Gt=[S(-1,0,0,1),S(1,0,0,-1),S(0,-1,0,1),S(0,1,0,-1),S(0,0,-1,1),S(0,0,1,-1)],jt=m(0,0,1),Bt=1;export{F as FeatureTileVisibility3D,q as isAnyVertexInPolyhedron,y as isConvexHullOutsideOfFrustum,x as maxLODLevelDelta,w as minTileLOD};
2
+ import{normalize as t,copy as r,set as n,dist as e,sub as s,dot as o,scaleAndAdd as i,cross as u,add as c,scale as f,len as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as h,fromValues as l,freeze as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as p}from"../../../../geometry/ellipsoidUtils.js";import{getSphericalPCPF as d}from"../../../../geometry/spatialReferenceEllipsoidUtils.js";import{projectBuffer as _}from"../../../../geometry/projection/projectBuffer.js";import{projectVec3Array as g}from"../../../../geometry/projection/projectVec3Array.js";import{fromValues as b,signedDistance as S}from"../../../../geometry/support/plane.js";import{Frustum as M}from"../../state/Frustum.js";class F{constructor(t,r){this._renderCoordsHelper=t,this.opaqueGround=r,this._cache=new Map,this._cameraForward=h(),this._cameraEye=h(),this._cameraFovY=55*Math.PI/180,this._frustumBoundingSphereCenter=h(),this._frustumBoundingSphereRadius=0,this._frustum=new M(t),this._renderSR=t.spatialReference;const n=d(this._renderSR);this._renderSREllipsoidRadius=p(n).radius}setup(n){this._aboveGround=n.aboveGround,this._frustum.update(n),t(this._cameraForward,n.viewForward),r(this._cameraEye,n.eye),this._cameraFovY=n.fovY,this._updateFrustumBoundingSphere()}done(){this._cache.clear()}compute(t){if(this._cache.has(t.id))return this._cache.get(t.id);const r=this._isVisibleInFrustum(t);return this._cache.set(t.id,r),r}_isVisibleInFrustum(t){return 2===this._renderCoordsHelper.viewingMode?this._isTileVisibleInFrustumLocal(t):this._isTileVisibleInFrustumGlobal(t)}_updateFrustumBoundingSphere(){const t=this._frustum.boundingSphere;r(this._frustumBoundingSphereCenter,t.center),this._frustumBoundingSphereRadius=t.radius+Bt}_isTileVisibleInFrustumLocal(t){const r=t.spatialReference,u=t.extent,c=this._renderSR;if(!u)return!0;if(C[0]=u[0],C[1]=u[1],C[2]=0,C[3]=u[2],C[4]=u[3],C[5]=0,!_(C,r,0,C,c,0))return!1;n(E[0],C[0],C[1],0),n(E[1],C[3],C[1],0),n(E[2],C[3],C[4],0),n(E[3],C[0],C[4],0),n(P,.5*(C[0]+C[3]),.5*(C[1]+C[4]),.5*(C[2]+C[5]));const f=St,a=.5*e(E[0],E[2]),h=this._frustum,l=this._frustumBoundingSphereRadius,m=this._frustumBoundingSphereCenter,p=W;s(p,m,P);const d=o(f,p),g=A;i(g,P,f,d);if(e(g,m)>a+l)return!1;const b=this._cameraForward,S=o(b,St),M=this._cameraFovY,F=this._cameraEye;if(Math.abs(S)<Math.abs(Math.cos(.5*M))){let t=!0;const r=n(Mt,b[0],b[1],0),e=o(F,r);for(let n=0;n<4;++n){const s=E[n];if(o(s,r)-e>0){t=!1;break}}if(t)return!1}{const t=E[0],r=E[2];if(t[0]<=F[0]&&F[0]<=r[0]&&t[1]<=F[1]&&F[1]<=r[1])return!0}const R=V,v=this.opaqueGround&&this._aboveGround,G=this.opaqueGround&&!this._aboveGround,j=Math.min(G?dt:1/0,d+l),B=Math.max(v?-dt:-1/0,d-l);for(let n=0;n<4;++n)i(R[n],E[n],f,j),i(R[n+4],E[n],f,B);if(y(h.planes,R,8))return!1;if(q(h.planes,R,8))return!0;for(let n=0;n<4;++n){const t=R[n],r=R[n+4];if(Ft(h.planes,t,r))return!0;const e=R[(n+1)%4];if(Ft(h.planes,t,e))return!0;const s=R[4+(n+1)%4];if(Ft(h.planes,r,s))return!0}if(Gt[0][3]=+E[0][0],Gt[1][3]=-E[2][0],Gt[2][3]=+E[0][1],Gt[3][3]=-E[2][1],Gt[4][3]=+B,Gt[5][3]=-j,q(Gt,h.points))return!0;if(q(Gt,h.points))return!0;for(let n=0;n<4;++n){const t=F,r=h.points[n+4];if(Rt(Gt,t,r))return!0;const e=h.points[4+(n+1)%4];if(Rt(Gt,r,e))return!0}return!1}_isTileVisibleInFrustumGlobal(r){if(r.level<w)return!0;const l=r.spatialReference,m=r.extent;if(!m||!l)return!0;const p=this.opaqueGround&&this._aboveGround,d=this.opaqueGround&&!this._aboveGround,_=E,b=.5*(m[0]+m[2]);if(n(_[0],m[0],m[1],0),n(_[1],m[2],m[1],0),n(_[2],m[2],m[3],0),n(_[3],m[0],m[3],0),n(_[4],b,m[1],0),n(_[5],b,m[3],0),!g(_,l,0,_,this._renderSR,0,6))return!1;const M=_[0][2]>0,F=_[3][2]<0,j=M||F,B=this._renderSREllipsoidRadius;if(j){const t=Y;R(t,jt,_[0]);const r=k;if(R(r,jt,_[1]),M){const n=T,e=_[4],s=H;R(s,e,jt),R(n,s,e);const o=_[0];u(o,t,n),G(o,B);const i=_[1];u(i,r,n),G(i,B)}else if(F){const n=T,e=_[5],s=H;R(s,e,jt),R(n,e,s);const o=_[3];u(o,n,t),G(o,B);const i=_[2];u(i,n,r),G(i,B)}}const q=P,x=s(N,_[3],_[0]);t(x,x);const V=c(O,_[0],_[3]);f(V,V,.5);const C=-o(V,x),A=c(Q,_[0],_[1]);f(A,A,.5);const W=c(X,_[2],_[3]);f(W,W,.5);const et=s(Z,W,A);t(et,et);const ht=-(C+o(x,A))/o(x,et);i(q,A,et,ht),G(q,B);const lt=this._frustumBoundingSphereRadius,mt=this._frustumBoundingSphereCenter,St=this._frustum,Mt=St.planes,Ft=L;t(Ft,q);const Rt=o(_[0],Ft)/a(_[0]),vt=St.origin,Gt=St.points;let Bt=!1;if(p){{Bt=!0;const r=t(_t,vt);for(let n=0;n<4;++n){const e=Gt[4+n],i=s(h(),e,vt);t(i,i);const c=u(h(),r,i);t(c,c);const f=u(h(),i,c);t(f,f);if(o(vt,f)>B){Bt=!1;break}}}if(Bt){if(o(vt,Ft)<B*Rt-dt)return!1}const r=t(_t,St.origin);if(o(r,Ft)<0)return!1;{const r=t(gt,St.direction);if(o(r,Ft)>bt)return!1}}const yt=Math.sqrt(1-Rt*Rt);if(yt>.9)return!0;let qt=!1;const wt=o(Ft,mt),xt=a(mt);if(xt<=lt&&!Mt.some(t=>S(t,z)>0)){if(!p)return!0;qt=!0}const It=wt/xt;if(!qt&&wt<=0){if(-wt>lt)return!1}const Vt=lt/xt;if(Math.sqrt(1-It*It)*Math.sqrt(1-Vt*Vt)-Vt*It>yt)return!1;if(!Bt){if(_.some(t=>St.intersectsPoint(t)))return!0;if(St.intersectsPoint(q))return!0}const Ct=D;s(Ct,mt,z);const Et=o(Ct,Ft),Pt=U;f(Pt,Ft,Et);const Tt=e(Pt,mt),Yt=l.isWGS84,kt=r.lij,Ht=Yt&&kt[2]===2**kt[0]-1,Lt=Yt&&0===kt[2],Ut=Lt?ct:Ht?it:st,At=Lt?ft:Ht?ut:ot;if(!qt){const t=_,r=at,n=$,e=tt,s=z;for(const o of Ut){const i=t[o];if(v(n,t[(o+1)%4],i),v(e,s,i),R(r,e,n),I(r,Gt,1))return!1}}let Wt=null;if(!p&&Et<1.01*lt){const t=2.5*lt;if(Tt>Rt*t+lt)return!1;const r=K,e=t/Rt;for(let n=0;n<4;++n)f(r[n],_[n],e/B);n(r[4],0,0,0),Wt=r}else{const t=(d?B+dt:Et+lt)/Rt,r=p?B-dt:(Et-lt)/Rt,n=J;for(let e=0;e<4;++e){const s=_[e];f(n[e],s,r/B),f(n[e+4],s,t/B)}Wt=n}if(y(Mt,Wt,Wt.length))return!1;const zt=St.lines,Dt=rt,Jt=nt;for(const n of zt){t(Jt,n.direction);for(const r of At){const n=Wt[r];if(t(Dt,n),pt(Jt,Dt,Wt,Gt))return!1;const e=(r+1)%4;if(p){const r=Wt[e];if(s(Dt,r,n),t(Dt,Dt),pt(Jt,Dt,Wt,Gt))return!1}if(d){const n=Wt[4+r],o=Wt[4+e];if(s(Dt,o,n),t(Dt,Dt),pt(Jt,Dt,Wt,Gt))return!1}}}return!0}}function R(r,n,e){return u(r,n,e),t(r,r),r}function v(r,n,e){return s(r,n,e),t(r,r),r}function G(t,r){return f(t,t,r/a(t)),t}const j=[0,1,2,3,5];function B(t,r,n){for(let e=0;e<n;++e)if(S(t,r[e])<=0)return!1;return!0}function y(t,r,n){for(const e of j)if(B(t[e],r,n))return!0;return!1}function q(t,r,n=r.length){for(let e=0;e<n;++e){const n=r[e];let s=!0;for(const r of t){if(S(r,n)>0){s=!1;break}}if(s)return!0}return!1}const w=2,x=4;function I(t,r,n){for(const e of r)if(o(e,t)<n)return!1;return!0}const V=[h(),h(),h(),h(),h(),h(),h(),h()],C=[0,0,0,0,0,0],E=[h(),h(),h(),h(),h(),h()],P=h(),T=h(),Y=h(),k=h(),H=h(),L=h(),U=h(),A=h(),W=h(),z=m(0,0,0),D=h(),J=[h(),h(),h(),h(),h(),h(),h(),h()],K=[h(),h(),h(),h(),h()],N=h(),O=h(),Q=h(),X=h(),Z=h(),$=h(),tt=h(),rt=h(),nt=h(),et=h(),st=[0,1,2,3],ot=[0,1,2,3],it=[0,1,3],ut=[0,1,3],ct=[1,2,3],ft=[1,2,3],at=h();function ht(t,r,n){let e=1/0,s=-1/0;for(const i of n){const t=o(r,i);e=Math.min(e,t),s=Math.max(s,t)}t[0]=e,t[1]=s}function lt(t,r,n,e){let s=1/0,i=-1/0;for(const u of e){const e=o(n,u);if(s=Math.min(s,e),i=Math.max(i,e),s<=r&&i>=t)return!1}return!0}const mt=[0,0];function pt(t,r,n,e){const s=n.length,o=e.length;if(0===s||0===o)return!0;const i=et;R(i,t,r);const u=o<s,c=u?n:e,f=mt;return ht(f,i,u?e:n),lt(f[0],f[1],i,c)}const dt=430,_t=h(),gt=h(),bt=Math.cos(.25*Math.PI),St=l(0,0,1),Mt=h();function Ft(t,r,n){const e={t0:0,t1:1};for(const s of j){if(!vt(t[s],r,n,e))return!1}return e.t0<e.t1}function Rt(t,r,n){const e={t0:0,t1:1};for(const s of t){if(!vt(s,r,n,e))return!1}return e.t0<e.t1}function vt(t,r,n,e){let{t0:s,t1:o}=e;const i=S(t,r),u=S(t,n);if(i>=0&&u>=0)return!1;if(i<0&&u>=0){const t=-i/(u-i);if(t<s)return!1;t<o&&(o=t)}else if(i>=0&&u<0){const t=i/(i-u);if(t>o)return!1;t>s&&(s=t)}return e.t0=s,e.t1=o,!0}const Gt=[b(-1,0,0,1),b(1,0,0,-1),b(0,-1,0,1),b(0,1,0,-1),b(0,0,-1,1),b(0,0,1,-1)],jt=m(0,0,1),Bt=1;export{F as FeatureTileVisibility3D,q as isAnyVertexInPolyhedron,y as isConvexHullOutsideOfFrustum,x as maxLODLevelDelta,w as minTileLOD};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{isSome as r}from"../../../../core/arrayUtils.js";import{property as t,subclass as o}from"../../../../core/accessorSupport/decorators.js";import{fromQuat as s}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{copy as l,transformMat4 as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import c from"../../../../geometry/Polygon.js";import{projectBuffer as n}from"../../../../geometry/projection/projectBuffer.js";import{TileTreeDebugger as m}from"../../../support/TileTreeDebugger.js";let u=class extends m{constructor(e){super(e)}getTiles(){const e=this.lv.getVisibleNodes(),t=this.view.renderSpatialReference,o=this.nodeSR;return e.map(e=>f(e,t,o)).filter(r).sort((e,r)=>e.lij[0]===r.lij[0]?e.label>r.label?-1:1:e.lij[0]-r.lij[0])}};function f(e,r,t){const o=e.serviceObbInIndexSR;if(null==o||null==r)return null;s(h,o.quaternion),l(j,o.center),n(j,t,0,j,r,0),h[12]=j[0],h[13]=j[1],h[14]=j[2];const i=[[],[],[]];p(j,o.halfSize,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),l(j,o.halfSize),j[0]=-j[0],p(j,j,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),l(j,o.halfSize),j[0]=-j[0],j[1]=-j[1],p(j,j,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),l(j,o.halfSize),j[1]=-j[1],p(j,j,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),i[1].push(i[0][0]),i[1].push(i[0][1]),l(j,o.halfSize),j[0]=-j[0],j[2]=-j[2],p(j,j,h),n(j,r,0,j,t,0),i[1].push([j[0],j[1]]),l(j,o.halfSize),j[2]=-j[2],p(j,j,h),n(j,r,0,j,t,0),i[1].push([j[0],j[1]]),i[2].push(i[0][0]),i[2].push(i[0][3]),l(j,o.halfSize),j[1]=-j[1],j[2]=-j[2],p(j,j,h),n(j,r,0,j,t,0),i[2].push([j[0],j[1]]),i[2].push(i[1][3]);const a=new c({rings:i,spatialReference:t});return{lij:[e.level,e.childCount,0],level:e.level,label:e.id,geometry:a}}e([t({constructOnly:!0})],u.prototype,"lv",void 0),e([t({constructOnly:!0})],u.prototype,"nodeSR",void 0),u=e([o("esri.views.3d.layers.support.I3STreeDebugger")],u);const h=i(),j=a();export{u as I3STreeDebugger};
2
+ import{__decorate as e}from"tslib";import{isSome as r}from"../../../../core/arrayUtils.js";import{property as t,subclass as o}from"../../../../core/accessorSupport/decorators.js";import{fromQuat as s}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/quatf64.js";import{transformMat4 as p,copy as c}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import a from"../../../../geometry/Polygon.js";import{projectBuffer as n}from"../../../../geometry/projection/projectBuffer.js";import{TileTreeDebugger as u}from"../../../support/TileTreeDebugger.js";let f=class extends u{constructor(e){super(e)}getTiles(){const e=this.lv.getVisibleNodes(),t=this.view.renderSpatialReference,o=this.nodeSR;return e.map(e=>g(e,t,o)).filter(r).sort((e,r)=>e.lij[0]===r.lij[0]?e.label>r.label?-1:1:e.lij[0]-r.lij[0])}};function g(e,r,t){const o=e.serviceObbInIndexSR;if(null==o||null==r)return null;s(h,o.getQuaternion(l())),o.getCenter(j),n(j,t,0,j,r,0),h[12]=j[0],h[13]=j[1],h[14]=j[2];const i=[[],[],[]],u=o.getHalfSize(m());p(j,u,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),c(j,u),j[0]=-j[0],p(j,j,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),c(j,u),j[0]=-j[0],j[1]=-j[1],p(j,j,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),c(j,u),j[1]=-j[1],p(j,j,h),n(j,r,0,j,t,0),i[0].push([j[0],j[1]]),i[1].push(i[0][0]),i[1].push(i[0][1]),c(j,u),j[0]=-j[0],j[2]=-j[2],p(j,j,h),n(j,r,0,j,t,0),i[1].push([j[0],j[1]]),c(j,u),j[2]=-j[2],p(j,j,h),n(j,r,0,j,t,0),i[1].push([j[0],j[1]]),i[2].push(i[0][0]),i[2].push(i[0][3]),o.getHalfSize(j),j[1]=-j[1],j[2]=-j[2],p(j,j,h),n(j,r,0,j,t,0),i[2].push([j[0],j[1]]),i[2].push(i[1][3]);const f=new a({rings:i,spatialReference:t});return{lij:[e.level,e.childCount,0],level:e.level,label:e.id,geometry:f}}e([t({constructOnly:!0})],f.prototype,"lv",void 0),e([t({constructOnly:!0})],f.prototype,"nodeSR",void 0),f=e([o("esri.views.3d.layers.support.I3STreeDebugger")],f);const h=i(),j=m();export{f as I3STreeDebugger};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import r from"../../../../core/Accessor.js";import{property as t,subclass as e}from"../../../../core/accessorSupport/decorators.js";import s from"./MediaLayerInteractionReshapeOptions.js";let p=class extends r{constructor(o){super(o),this.tool="transform",this.reshapeOptions=new s}};o([t()],p.prototype,"tool",void 0),o([t({type:s})],p.prototype,"reshapeOptions",void 0),p=o([e("esri.views.3d.layers.support.MediaLayerInteractionOptions")],p);export{p as default};
2
+ import{__decorate as o}from"tslib";import t from"../../../../core/Accessor.js";import{property as r,subclass as e}from"../../../../core/accessorSupport/decorators.js";import s from"./MediaLayerInteractionReshapeOptions.js";let p=class extends t{constructor(o){super(o),this.tool="transform",this.reshapeOptions=new s}};o([r()],p.prototype,"tool",void 0),o([r({type:s})],p.prototype,"reshapeOptions",void 0),p=o([e("esri.views.3d.layers.support.MediaLayerInteractionOptions")],p);const i=p;export{i as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import r from"../../../../core/Accessor.js";import{property as e,subclass as s}from"../../../../core/accessorSupport/decorators.js";let t=class extends r{constructor(o){super(o),this.editSourcePoints=!1}};o([e()],t.prototype,"editSourcePoints",void 0),t=o([s("esri.views.3d.layers.support.MediaLayerInteractionReshapeOptions")],t);export{t as default};
2
+ import{__decorate as o}from"tslib";import r from"../../../../core/Accessor.js";import{property as e,subclass as s}from"../../../../core/accessorSupport/decorators.js";let t=class extends r{constructor(o){super(o),this.editSourcePoints=!1}};o([e()],t.prototype,"editSourcePoints",void 0),t=o([s("esri.views.3d.layers.support.MediaLayerInteractionReshapeOptions")],t);const i=t;export{i as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{pt2px as e}from"../../../../core/screenUtils.js";import{fromValues as n,fromArray as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isExtrudeSymbol3DLayer as o,isFillSymbol3DLayer as r}from"./layerUtils.js";function i(e){return e&&e.enabled&&(o(e)||r(e))&&null!=e.edges}function c(e){return e&&e.enabled&&e.edges||null}function s(e,n){return l(c(e),n)}function l(o,r){if(null==o)return null;const i=null!=o.color?t(o.color.toUnitRGBA()):n(0,0,0,0),c=e(o.size),s=e(o.extensionLength);switch(o.type){case"solid":return u({color:i,size:c,extensionLength:s,...r});case"sketch":return a({color:i,size:c,extensionLength:s,...r});default:return}}function u(e){return{...f,...e,type:0}}function a(e){return{...p,...e,type:1}}const f={color:n(0,0,0,.2),size:1,extensionLength:0,opacity:1,objectTransparency:1,hasSlicePlane:!1},p={color:n(0,0,0,.2),size:1,extensionLength:0,opacity:1,objectTransparency:1,hasSlicePlane:!1};export{s as createMaterial,l as createMaterialFromEdges,u as createSolidEdgeMaterial,i as hasEdges};
2
+ import{pt2px as e}from"../../../../core/screenUtils.js";import{fromArray as n,fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isExtrudeSymbol3DLayer as o,isFillSymbol3DLayer as r}from"./layerUtils.js";function i(e){return e&&e.enabled&&(o(e)||r(e))&&null!=e.edges}function c(e){return e&&e.enabled&&e.edges||null}function s(e,n){return l(c(e),n)}function l(o,r){if(null==o)return null;const i=null!=o.color?n(o.color.toUnitRGBA()):t(0,0,0,0),c=e(o.size),s=e(o.extensionLength);switch(o.type){case"solid":return u({color:i,size:c,extensionLength:s,...r});case"sketch":return a({color:i,size:c,extensionLength:s,...r});default:return}}function u(e){return{...f,...e,type:0}}function a(e){return{...p,...e,type:1}}const f={color:t(0,0,0,.2),size:1,extensionLength:0,opacity:1,objectTransparency:1,hasSlicePlane:!1},p={color:t(0,0,0,.2),size:1,extensionLength:0,opacity:1,objectTransparency:1,hasSlicePlane:!1};export{s as createMaterial,l as createMaterialFromEdges,u as createSolidEdgeMaterial,i as hasEdges};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import{deg2rad as a,lerp as r,clamp as s}from"../../../core/mathUtils.js";import{watch as i,syncAndInitial as l}from"../../../core/reactiveUtils.js";import{property as n,subclass as c}from"../../../core/accessorSupport/decorators.js";import{d as o}from"../../../chunks/boundedPlane.js";import{Sphere as u}from"../../../geometry/support/sphere.js";import{ScreenSizePerspectiveParameters as m}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";let f=class extends t{get parameters(){return this._parameters}get labelParameters(){return this._labelParameters}get _calculations(){return this.view.state.isGlobal?new d(this.view.renderCoordsHelper?.referenceEllipsoid.radius??0):new p}constructor(e){super(e),this._parameters=new m,this._labelParameters=new m}initialize(){this.addHandles([i(()=>({distance:this.view.pointsOfInterest?.centerOnSurfaceInfrequent?.distance??0,fovY:this.view.state.camera.fovY}),e=>this._update(e),l)])}_update(e){const t=this._updateParameters(this._parameters,h,e),a=this._updateParameters(this._labelParameters,F,e);return t||a}_updateParameters(e,t,a){if(e&&e.camera.fovY===a.fovY&&e.camera.distance===a.distance)return!1;const{scaleStart:r,scaleFallOffRange:s}=t,{fovY:i,distance:l}=a;this._calculations.calculateCurvatureDependentParameters(g,t,a);const n=this._calculations.surfaceCoverageCompensation(a,g),{tiltAngle:c,scaleFallOffFactor:o}=g,u=Math.sin(c)*l,m=.5*Math.PI-c-i*(.5-r*n),f=u/Math.cos(m),p=m+i*s*n,d=(f-o*(u/Math.cos(p)))/(1-o);return e.camera.fovY=a.fovY,e.camera.distance=a.distance,e.offset=d,e.divisor=f-d,e.minPixelSize=t.minPixelSize,!0}};e([n({constructOnly:!0})],f.prototype,"view",void 0),e([n()],f.prototype,"_calculations",null),f=e([c("esri.views.3d.state.ScreenSizePerspective")],f);class p{surfaceCoverageCompensation(e,t){return o(t.tiltAngle,e.fovY)}calculateCurvatureDependentParameters(e,t){e.tiltAngle=t.curvatureDependent.min.tiltAngle,e.scaleFallOffFactor=t.curvatureDependent.min.scaleFallOffFactor}}class d{constructor(e){this._ellipsoidRadius=e}surfaceCoverageCompensation(e,t){return P.radius=this._ellipsoidRadius,P.frustumCoverage(t.tiltAngle,e.distance,e.fovY)}calculateCurvatureDependentParameters(e,t,a){const i=t.curvatureDependent,l=1+a.distance/this._ellipsoidRadius,n=Math.sqrt(l*l-1),[c,o]=[i.min.curvature,i.max.curvature],u=s((n-c)/(o-c),0,1),[m,f]=[i.min,i.max];e.tiltAngle=r(m.tiltAngle,f.tiltAngle,u),e.scaleFallOffFactor=r(m.scaleFallOffFactor,f.scaleFallOffFactor,u)}}class v{constructor(){this.tiltAngle=0,this.scaleFallOffFactor=0}}const h={curvatureDependent:{min:{curvature:a(10),tiltAngle:a(12),scaleFallOffFactor:.5},max:{curvature:a(70),tiltAngle:a(40),scaleFallOffFactor:.8}},scaleStart:.3,scaleFallOffRange:.65,minPixelSize:0},F={...h,curvatureDependent:{min:{...h.curvatureDependent.min,scaleFallOffFactor:.7},max:{...h.curvatureDependent.max,scaleFallOffFactor:.95}},minPixelSize:14},g=new v,P=new u;export{f as ScreenSizePerspective};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import{deg2rad as a,lerp as r,clamp as s}from"../../../core/mathUtils.js";import{watch as i,syncAndInitial as l}from"../../../core/reactiveUtils.js";import{property as n,subclass as c}from"../../../core/accessorSupport/decorators.js";import{j as o}from"../../../chunks/boundedPlane.js";import{Sphere as u}from"../../../geometry/support/sphere.js";import{ScreenSizePerspectiveParameters as m}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";let f=class extends t{get parameters(){return this._parameters}get labelParameters(){return this._labelParameters}get _calculations(){return this.view.state.isGlobal?new d(this.view.renderCoordsHelper?.referenceEllipsoid.radius??0):new p}constructor(e){super(e),this._parameters=new m,this._labelParameters=new m}initialize(){this.addHandles([i(()=>({distance:this.view.pointsOfInterest?.centerOnSurfaceInfrequent?.distance??0,fovY:this.view.state.camera.fovY}),e=>this._update(e),l)])}_update(e){const t=this._updateParameters(this._parameters,h,e),a=this._updateParameters(this._labelParameters,F,e);return t||a}_updateParameters(e,t,a){if(e&&e.camera.fovY===a.fovY&&e.camera.distance===a.distance)return!1;const{scaleStart:r,scaleFallOffRange:s}=t,{fovY:i,distance:l}=a;this._calculations.calculateCurvatureDependentParameters(g,t,a);const n=this._calculations.surfaceCoverageCompensation(a,g),{tiltAngle:c,scaleFallOffFactor:o}=g,u=Math.sin(c)*l,m=.5*Math.PI-c-i*(.5-r*n),f=u/Math.cos(m),p=m+i*s*n,d=(f-o*(u/Math.cos(p)))/(1-o);return e.camera.fovY=a.fovY,e.camera.distance=a.distance,e.offset=d,e.divisor=f-d,e.minPixelSize=t.minPixelSize,!0}};e([n({constructOnly:!0})],f.prototype,"view",void 0),e([n()],f.prototype,"_calculations",null),f=e([c("esri.views.3d.state.ScreenSizePerspective")],f);class p{surfaceCoverageCompensation(e,t){return o(t.tiltAngle,e.fovY)}calculateCurvatureDependentParameters(e,t){e.tiltAngle=t.curvatureDependent.min.tiltAngle,e.scaleFallOffFactor=t.curvatureDependent.min.scaleFallOffFactor}}class d{constructor(e){this._ellipsoidRadius=e}surfaceCoverageCompensation(e,t){return P.radius=this._ellipsoidRadius,P.frustumCoverage(t.tiltAngle,e.distance,e.fovY)}calculateCurvatureDependentParameters(e,t,a){const i=t.curvatureDependent,l=1+a.distance/this._ellipsoidRadius,n=Math.sqrt(l*l-1),[c,o]=[i.min.curvature,i.max.curvature],u=s((n-c)/(o-c),0,1),[m,f]=[i.min,i.max];e.tiltAngle=r(m.tiltAngle,f.tiltAngle,u),e.scaleFallOffFactor=r(m.scaleFallOffFactor,f.scaleFallOffFactor,u)}}class v{constructor(){this.tiltAngle=0,this.scaleFallOffFactor=0}}const h={curvatureDependent:{min:{curvature:a(10),tiltAngle:a(12),scaleFallOffFactor:.5},max:{curvature:a(70),tiltAngle:a(40),scaleFallOffFactor:.8}},scaleStart:.3,scaleFallOffRange:.65,minPixelSize:0},F={...h,curvatureDependent:{min:{...h.curvatureDependent.min,scaleFallOffFactor:.7},max:{...h.curvatureDependent.max,scaleFallOffFactor:.95}},minPixelSize:14},g=new v,P=new u;export{f as ScreenSizePerspective};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{clamp as i}from"../../../../core/mathUtils.js";import{createScreenPointArray as r}from"../../../../core/screenUtils.js";import{subclass as e}from"../../../../core/accessorSupport/decorators.js";import{copy as s,distance as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as o,subtract as h,length as c,scale as m,add as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as l}from"../../../../geometry/ellipsoidUtils.js";import{create as u,fromPoints as P}from"../../../../geometry/support/axisAngle.js";import{Sphere as y}from"../../../../geometry/support/sphere.js";import{pixelDistanceToInteractionFactor as C,applyAll as g}from"../../camera/constraintUtils.js";import{ConstraintOptions as d}from"../../camera/constraintUtils/ConstraintOptions.js";import{applySurfaceCollisionConstraint as f}from"../../camera/constraintUtils/surfaceCollision.js";import{InteractiveController as v}from"./InteractiveController.js";import{normalizeCoordinate as R,pickPointAndInitSphere as w,excludeTerrain as D,inferNavigationMode as k,zoomPivotDistanceClamp as j,getTiltScaleFactor as A,maxZoomPivotDistanceModifier as b,pivotSearchAreaSize as x,distanceComparisonTolerance as M,sphereOrPlanePointFromScreenPoint as O,applyRotation as U}from"../utils/navigationUtils.js";import{fromScreenAtEye as z}from"../../support/geometryUtils/ray.js";const H=12;let B=class extends v{constructor(){super(...arguments),this._pickPoint=_(),this._tmpP0=a(),this._panAxisAngle=u(),this._tmpRayDir=_(),this._tmpRayDirPick=_(),this._targetOnSphere=_(),this._navigationMode=1,this._tmpRay={origin:_(),direction:_()},this.dragBeginPoint=r(),this._normalizedAnchorPoint=a(),this._constraintOptions=new d(7,1,0,this.startCamera),this._sphere=new y,this._hasPickPoint=!1}get _intersectionHelper(){return this.view.sceneIntersectionHelper}begin(t){if(!this.running)return;s(this.dragBeginPoint,t),R(this.startCamera,t,this._normalizedAnchorPoint);const r=l(this.view.spatialReference),e=w(this._intersectionHelper,this.startCamera,t,r.radius,0,this.view.basemapTerrain.invisible?D:{});if(this._navigationMode=k(this.startCamera,t,this.view.renderCoordsHelper,this.view.viewingMode),1===this._navigationMode)this._hasPickPoint=!!e.scenePickPoint,this._pickPoint=e.scenePickPoint??this._pickPoint,this._sphere=e.sphere;else{let r;z(this.startCamera,t,this._tmpRay),o(this._tmpRay.direction,this._tmpRay.direction),null!=e.scenePickPoint&&(h(this._tmpRayDirPick,this.startCamera.eye,e.scenePickPoint),r=c(this._tmpRayDirPick));const s=Math.abs(this.view.camera.position.z);this.view.renderCoordsHelper.worldUpAtPosition(this.startCamera.eye,F);const n=i(A(F,this._tmpRay.direction,b)*s,j[0],j[1]),a=this.view.stage.renderView.getMinimalDepthForArea(null,t[0],t[1],this.view.state.camera,x);let _=null!=a?a:n;null!=r&&(_=Math.min(_,r)),this._hasPickPoint=!0,m(this._tmpRay.direction,this._tmpRay.direction,_),p(this._pickPoint,this._tmpRay.origin,this._tmpRay.direction)}}update(t){if(this.running){if(this.currentCamera.eye=this.startCamera.eye,this.currentCamera.center=this.startCamera.center,this.currentCamera.up=this.startCamera.up,1===this._navigationMode){h(this._tmpRayDir,this.currentCamera.center,this.currentCamera.eye);const i=c(this._tmpRayDir);R(this.currentCamera,t,this._tmpP0);const r=(this._normalizedAnchorPoint[1]-this._tmpP0[1])*H;let e=i*2**r;const s=this.view.state.constraints.minimumPoiDistance;if(r<0&&e<s&&(e=s),Math.abs(i-e)<M)return;if(this._hasPickPoint&&e<i){const t=1-(1-e/i)*(1-this._sphere.radius/c(this.currentCamera.center));this.currentCamera.center=m(S,this.currentCamera.center,t)}m(this._tmpRayDir,this._tmpRayDir,-e/i),this.currentCamera.eye=p(S,this.currentCamera.center,this._tmpRayDir),this._constraintOptions.interactionFactor=C(n(this.dragBeginPoint,t)),g(this.view,this.currentCamera,this._constraintOptions),this._hasPickPoint&&(O(this._sphere,this.currentCamera,this.dragBeginPoint,this._targetOnSphere),P(this._pickPoint,this._targetOnSphere,this._panAxisAngle),U(this.currentCamera,this._sphere.center,this._panAxisAngle))}else{const i=c(this._tmpRay.direction);R(this.currentCamera,t,this._tmpP0);const r=(this._normalizedAnchorPoint[1]-this._tmpP0[1])*H;let e=i*2**r;const s=this.view.state.constraints.minimumPoiDistance;if(r<0&&e<s&&(e=s),Math.abs(i-e)<M)return;m(this._tmpRayDir,this._tmpRay.direction,1-e/i),this.currentCamera.eye=p(S,this.currentCamera.eye,this._tmpRayDir),this.currentCamera.center=p(S,this.currentCamera.center,this._tmpRayDir),o(this._tmpRayDir,this._tmpRayDir),this._constraintOptions.interactionDirection=this._tmpRayDir,g(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null}f(this.view,this.currentCamera),this.commitCamera()}}finish(){this.running&&this.finishController()}};B=t([e("esri.views.3d.state.controllers.ZoomControllerGlobal")],B);const S=_(),F=_();export{B as ZoomControllerGlobal};
2
+ import{__decorate as t}from"tslib";import{clamp as i}from"../../../../core/mathUtils.js";import{createScreenPointArray as r}from"../../../../core/screenUtils.js";import{subclass as e}from"../../../../core/accessorSupport/decorators.js";import{copy as s,distance as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as o,subtract as h,length as c,scale as m,add as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as l}from"../../../../geometry/ellipsoidUtils.js";import{create as u,fromPoints as P}from"../../../../geometry/support/axisAngle.js";import{Sphere as y}from"../../../../geometry/support/sphere.js";import{pixelDistanceToInteractionFactor as C,applyAll as g}from"../../camera/constraintUtils.js";import{ConstraintOptions as d}from"../../camera/constraintUtils/ConstraintOptions.js";import{applySurfaceCollisionConstraint as f}from"../../camera/constraintUtils/surfaceCollision.js";import{InteractiveController as v}from"./InteractiveController.js";import{normalizeCoordinate as R,pickPointAndInitSphere as w,excludeTerrain as D,inferNavigationMode as k,zoomPivotDistanceClamp as j,getTiltScaleFactor as A,pivotSearchAreaSize as b,distanceComparisonTolerance as x,sphereOrPlanePointFromScreenPoint as M,applyRotation as O,maxZoomPivotDistanceModifier as U}from"../utils/navigationUtils.js";import{fromScreenAtEye as z}from"../../support/geometryUtils/ray.js";const H=12;let B=class extends v{constructor(){super(...arguments),this._pickPoint=_(),this._tmpP0=a(),this._panAxisAngle=u(),this._tmpRayDir=_(),this._tmpRayDirPick=_(),this._targetOnSphere=_(),this._navigationMode=1,this._tmpRay={origin:_(),direction:_()},this.dragBeginPoint=r(),this._normalizedAnchorPoint=a(),this._constraintOptions=new d(7,1,0,this.startCamera),this._sphere=new y,this._hasPickPoint=!1}get _intersectionHelper(){return this.view.sceneIntersectionHelper}begin(t){if(!this.running)return;s(this.dragBeginPoint,t),R(this.startCamera,t,this._normalizedAnchorPoint);const r=l(this.view.spatialReference),e=w(this._intersectionHelper,this.startCamera,t,r.radius,0,this.view.basemapTerrain.invisible?D:{});if(this._navigationMode=k(this.startCamera,t,this.view.renderCoordsHelper,this.view.viewingMode),1===this._navigationMode)this._hasPickPoint=!!e.scenePickPoint,this._pickPoint=e.scenePickPoint??this._pickPoint,this._sphere=e.sphere;else{let r;z(this.startCamera,t,this._tmpRay),o(this._tmpRay.direction,this._tmpRay.direction),null!=e.scenePickPoint&&(h(this._tmpRayDirPick,this.startCamera.eye,e.scenePickPoint),r=c(this._tmpRayDirPick));const s=Math.abs(this.view.camera.position.z);this.view.renderCoordsHelper.worldUpAtPosition(this.startCamera.eye,F);const n=i(A(F,this._tmpRay.direction,U)*s,j[0],j[1]),a=this.view.stage.renderView.getMinimalDepthForArea(null,t[0],t[1],this.view.state.camera,b);let _=null!=a?a:n;null!=r&&(_=Math.min(_,r)),this._hasPickPoint=!0,m(this._tmpRay.direction,this._tmpRay.direction,_),p(this._pickPoint,this._tmpRay.origin,this._tmpRay.direction)}}update(t){if(this.running){if(this.currentCamera.eye=this.startCamera.eye,this.currentCamera.center=this.startCamera.center,this.currentCamera.up=this.startCamera.up,1===this._navigationMode){h(this._tmpRayDir,this.currentCamera.center,this.currentCamera.eye);const i=c(this._tmpRayDir);R(this.currentCamera,t,this._tmpP0);const r=(this._normalizedAnchorPoint[1]-this._tmpP0[1])*H;let e=i*2**r;const s=this.view.state.constraints.minimumPoiDistance;if(r<0&&e<s&&(e=s),Math.abs(i-e)<x)return;if(this._hasPickPoint&&e<i){const t=1-(1-e/i)*(1-this._sphere.radius/c(this.currentCamera.center));this.currentCamera.center=m(S,this.currentCamera.center,t)}m(this._tmpRayDir,this._tmpRayDir,-e/i),this.currentCamera.eye=p(S,this.currentCamera.center,this._tmpRayDir),this._constraintOptions.interactionFactor=C(n(this.dragBeginPoint,t)),g(this.view,this.currentCamera,this._constraintOptions),this._hasPickPoint&&(M(this._sphere,this.currentCamera,this.dragBeginPoint,this._targetOnSphere),P(this._pickPoint,this._targetOnSphere,this._panAxisAngle),O(this.currentCamera,this._sphere.center,this._panAxisAngle))}else{const i=c(this._tmpRay.direction);R(this.currentCamera,t,this._tmpP0);const r=(this._normalizedAnchorPoint[1]-this._tmpP0[1])*H;let e=i*2**r;const s=this.view.state.constraints.minimumPoiDistance;if(r<0&&e<s&&(e=s),Math.abs(i-e)<x)return;m(this._tmpRayDir,this._tmpRay.direction,1-e/i),this.currentCamera.eye=p(S,this.currentCamera.eye,this._tmpRayDir),this.currentCamera.center=p(S,this.currentCamera.center,this._tmpRayDir),o(this._tmpRayDir,this._tmpRayDir),this._constraintOptions.interactionDirection=this._tmpRayDir,g(this.view,this.currentCamera,this._constraintOptions),this._constraintOptions.interactionDirection=null}f(this.view,this.currentCamera),this.commitCamera()}}finish(){this.running&&this.finishController()}};B=t([e("esri.views.3d.state.controllers.ZoomControllerGlobal")],B);const S=_(),F=_();export{B as ZoomControllerGlobal};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{clamp as i}from"../../../../core/mathUtils.js";import{Milliseconds as e}from"../../../../core/time.js";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{copy as s,normalize as o,scale as a,length as n,subtract as m,add as h,squaredDistance as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as _}from"../../../../geometry/ellipsoidUtils.js";import{create as l}from"../../../../geometry/support/ray.js";import{Sphere as y}from"../../../../geometry/support/sphere.js";import{applyAll as d}from"../../camera/constraintUtils.js";import{ConstraintOptions as w}from"../../camera/constraintUtils/ConstraintOptions.js";import{applySurfaceCollisionConstraint as g}from"../../camera/constraintUtils/surfaceCollision.js";import{PointToPointAnimationController as f}from"./PointToPointAnimationController.js";import{excludeTerrain as u,isHitOnSamePlanetSide as D,inferNavigationMode as C,zoomStepDistanceClamp as v,getTiltScaleFactor as R,distanceComparisonTolerance as j,panToPosition as b,maxZoomStepDistanceModifier as M}from"../utils/navigationUtils.js";import{fromScreenAtEye as z}from"../../support/geometryUtils/ray.js";import{intersectScreen as O}from"../../support/geometryUtils/sphere.js";import V from"../../webgl/RenderCamera.js";import{Intersector as U}from"../../webgl-engine/lib/Intersector.js";import{outExpo as L}from"../../../animation/easing.js";const S=.6,x=4,F=60;let H=class extends f{constructor(){super(...arguments),this._zoomLocation=c(),this._tmpCamera=new V,this._tmpViewDir=c(),this._tmpRayDir=l(),this._targetOnSphere=c(),this._tmpCenter=c(),this._beginCamera=new V,this._constraintOptions=new w(7,1,null,this._beginCamera),this._sphere=new y}initialize(){this._intersector=new U(this.view.state.viewingMode)}step(t,i){if(!this.running)return;const e=this.view.state;this.animation.finished?this._beginCamera.copyFrom(e.camera):this.animation.cameraAt(1,this._beginCamera);let r=!1,o=!1;this._intersectionHelper.intersectScreen(i,this._zoomLocation,0===this.view.map.ground.opacity?u:{})&&D(e.camera.eye,this._zoomLocation,_(this.view.spatialReference).radius)&&(r=t>0,o=!0),this._tmpCamera.copyFrom(e.camera),r?this._intersectionHelper.intersectRay(this._tmpCamera.ray,this._intersector,this._tmpCenter)&&(this._tmpCamera.center=this._tmpCenter):this._intersectionHelper.intersectRay(this._tmpCamera.ray,this._intersector,this._zoomLocation)?this._tmpCamera.center=this._zoomLocation:s(this._zoomLocation,this._tmpCamera.center),this._updateCamera(this._tmpCamera,t,i,o),this.begin(this._tmpCamera)}animationSettings(){return{duration:e(600),easing:L}}_updateCamera(t,e,r,s){const c=C(t,r,this.view.renderCoordsHelper,this.view.viewingMode),_=Math.abs(this.view.camera.position.z),l=this._zoomLocation;o(P,t.eye),a(P,P,-1),z(t,r,this._tmpRayDir),o(this._tmpRayDir.direction,this._tmpRayDir.direction);const y=i(R(P,this._tmpRayDir.direction,M)*_,v[0],v[1]);if(1===c){let i=S**e;this._sphere.radius=n(l),m(this._tmpViewDir,t.center,t.eye);const s=Math.min(n(this._tmpViewDir),y);let o=s*i;if(i<=1&&o<x&&(o=x,i=o/s),Math.abs(s-o)<j)return;const c=n(t.center);if(this._sphere.radius!==c){const e=this._sphere.radius+i*(c-this._sphere.radius);t.center=a(A,t.center,e/c)}a(this._tmpViewDir,this._tmpViewDir,-i),t.eye=h(A,t.center,this._tmpViewDir),d(this.view,t,this._constraintOptions),p(l,t.center)>1e-12&&O(this._sphere,t,r,this._targetOnSphere)&&b(this._sphere,t,l,this._targetOnSphere,this.view.camera.heading,this.view.camera.tilt,!0)}else{let i=S**Math.abs(e);const p=e>0?1:-1;m(this._tmpViewDir,l,t.eye);const c=n(this._tmpViewDir),_=this.view.stage.renderView.getMinimalDepthForArea(null,r[0],r[1],this.view.state.camera,F);let w=null!=_?_:y;s&&e>0&&(w=Math.min(w,c)),a(this._tmpRayDir.direction,this._tmpRayDir.direction,w),h(l,this._tmpRayDir.origin,this._tmpRayDir.direction);let g=w*i;const f=Math.max(x,1.01*t.nearFar[0]);if(e>0&&g<f&&(g=f,i=g/w),Math.abs(w-g)<j)return;a(this._tmpRayDir.direction,this._tmpRayDir.direction,p*(1-i)),t.eye=h(A,t.eye,this._tmpRayDir.direction),t.center=h(A,t.center,this._tmpRayDir.direction),o(this._tmpRayDir.direction,this._tmpRayDir.direction),this._constraintOptions.interactionDirection=this._tmpRayDir.direction,d(this.view,t,this._constraintOptions),this._constraintOptions.interactionDirection=null}g(this.view,t)}};H=t([r("esri.views.3d.state.controllers.ZoomStepControllerGlobal")],H);const A=c(),P=c();export{H as ZoomStepControllerGlobal};
2
+ import{__decorate as t}from"tslib";import{clamp as i}from"../../../../core/mathUtils.js";import{Milliseconds as e}from"../../../../core/time.js";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{copy as s,normalize as o,scale as a,length as n,subtract as m,add as h,squaredDistance as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{getReferenceEllipsoid as _}from"../../../../geometry/ellipsoidUtils.js";import{create as l}from"../../../../geometry/support/ray.js";import{Sphere as y}from"../../../../geometry/support/sphere.js";import{applyAll as d}from"../../camera/constraintUtils.js";import{ConstraintOptions as w}from"../../camera/constraintUtils/ConstraintOptions.js";import{applySurfaceCollisionConstraint as g}from"../../camera/constraintUtils/surfaceCollision.js";import{PointToPointAnimationController as f}from"./PointToPointAnimationController.js";import{excludeTerrain as u,isHitOnSamePlanetSide as D,inferNavigationMode as C,zoomStepDistanceClamp as v,getTiltScaleFactor as R,maxZoomStepDistanceModifier as j,distanceComparisonTolerance as b,panToPosition as M}from"../utils/navigationUtils.js";import{fromScreenAtEye as z}from"../../support/geometryUtils/ray.js";import{intersectScreen as O}from"../../support/geometryUtils/sphere.js";import V from"../../webgl/RenderCamera.js";import{Intersector as U}from"../../webgl-engine/lib/Intersector.js";import{outExpo as L}from"../../../animation/easing.js";const S=.6,x=4,F=60;let H=class extends f{constructor(){super(...arguments),this._zoomLocation=c(),this._tmpCamera=new V,this._tmpViewDir=c(),this._tmpRayDir=l(),this._targetOnSphere=c(),this._tmpCenter=c(),this._beginCamera=new V,this._constraintOptions=new w(7,1,null,this._beginCamera),this._sphere=new y}initialize(){this._intersector=new U(this.view.state.viewingMode)}step(t,i){if(!this.running)return;const e=this.view.state;this.animation.finished?this._beginCamera.copyFrom(e.camera):this.animation.cameraAt(1,this._beginCamera);let r=!1,o=!1;this._intersectionHelper.intersectScreen(i,this._zoomLocation,0===this.view.map.ground.opacity?u:{})&&D(e.camera.eye,this._zoomLocation,_(this.view.spatialReference).radius)&&(r=t>0,o=!0),this._tmpCamera.copyFrom(e.camera),r?this._intersectionHelper.intersectRay(this._tmpCamera.ray,this._intersector,this._tmpCenter)&&(this._tmpCamera.center=this._tmpCenter):this._intersectionHelper.intersectRay(this._tmpCamera.ray,this._intersector,this._zoomLocation)?this._tmpCamera.center=this._zoomLocation:s(this._zoomLocation,this._tmpCamera.center),this._updateCamera(this._tmpCamera,t,i,o),this.begin(this._tmpCamera)}animationSettings(){return{duration:e(600),easing:L}}_updateCamera(t,e,r,s){const c=C(t,r,this.view.renderCoordsHelper,this.view.viewingMode),_=Math.abs(this.view.camera.position.z),l=this._zoomLocation;o(P,t.eye),a(P,P,-1),z(t,r,this._tmpRayDir),o(this._tmpRayDir.direction,this._tmpRayDir.direction);const y=i(R(P,this._tmpRayDir.direction,j)*_,v[0],v[1]);if(1===c){let i=S**e;this._sphere.radius=n(l),m(this._tmpViewDir,t.center,t.eye);const s=Math.min(n(this._tmpViewDir),y);let o=s*i;if(i<=1&&o<x&&(o=x,i=o/s),Math.abs(s-o)<b)return;const c=n(t.center);if(this._sphere.radius!==c){const e=this._sphere.radius+i*(c-this._sphere.radius);t.center=a(A,t.center,e/c)}a(this._tmpViewDir,this._tmpViewDir,-i),t.eye=h(A,t.center,this._tmpViewDir),d(this.view,t,this._constraintOptions),p(l,t.center)>1e-12&&O(this._sphere,t,r,this._targetOnSphere)&&M(this._sphere,t,l,this._targetOnSphere,this.view.camera.heading,this.view.camera.tilt,!0)}else{let i=S**Math.abs(e);const p=e>0?1:-1;m(this._tmpViewDir,l,t.eye);const c=n(this._tmpViewDir),_=this.view.stage.renderView.getMinimalDepthForArea(null,r[0],r[1],this.view.state.camera,F);let w=null!=_?_:y;s&&e>0&&(w=Math.min(w,c)),a(this._tmpRayDir.direction,this._tmpRayDir.direction,w),h(l,this._tmpRayDir.origin,this._tmpRayDir.direction);let g=w*i;const f=Math.max(x,1.01*t.nearFar[0]);if(e>0&&g<f&&(g=f,i=g/w),Math.abs(w-g)<b)return;a(this._tmpRayDir.direction,this._tmpRayDir.direction,p*(1-i)),t.eye=h(A,t.eye,this._tmpRayDir.direction),t.center=h(A,t.center,this._tmpRayDir.direction),o(this._tmpRayDir.direction,this._tmpRayDir.direction),this._constraintOptions.interactionDirection=this._tmpRayDir.direction,d(this.view,t,this._constraintOptions),this._constraintOptions.interactionDirection=null}g(this.view,t)}};H=t([r("esri.views.3d.state.controllers.ZoomStepControllerGlobal")],H);const A=c(),P=c();export{H as ZoomStepControllerGlobal};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{cyclicalPI as t}from"../../../../core/Cyclical.js";import{deg2rad as e,clamp as n,acosClamped as r,asinClamped as o}from"../../../../core/mathUtils.js";import{createScreenPointArray as i}from"../../../../core/screenUtils.js";import{fromRotation as a,exactEquals as s,rotate as c,multiply as l}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{IDENTITY as u,create as m}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as f}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{distance as h,length as M,dot as g,subtract as y,transformMat4 as d,add as b,normalize as x,squaredDistance as j,copy as v,cross as P,scale as z,lerp as w,set as I}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as R}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as A,fromPoints as H,axis as S,wrapAxisAngle as T}from"../../../../geometry/support/axisAngle.js";import{coordinateSystemFromOneAxisAndNormalVector as U,vectorCoordinates as G}from"../../../../geometry/support/coordinateSystem.js";import{create as k,fromNormalAndOffset as E,intersectRay as q}from"../../../../geometry/support/plane.js";import{Sphere as C}from"../../../../geometry/support/sphere.js";import{sm4d as F,sv3d as O}from"../../../../geometry/support/vectorStacks.js";import{fromScreenAtEye as W,fromScreen as B}from"../../support/geometryUtils/ray.js";import{intersectScreen as D}from"../../support/geometryUtils/sphere.js";import J from"../../webgl/RenderCamera.js";import{terrainId as K}from"../../webgl-engine/lib/verticalOffsetUtils.js";const L=30,N=[1,3e8],Q=8,V=[200,1508e5],X=5,Y=50,Z=5,$=10,_=80,tt=90,et=1e-6,nt={exclude:new Set([K])};function rt(t,e,n){return n[0]=e[0]/(t.fullWidth/t.pixelRatio),n[1]=e[1]/(t.fullHeight/t.pixelRatio),n}function ot(t){for(;t>Math.PI;)t-=2*Math.PI;for(;t<-Math.PI;)t+=2*Math.PI;return t}function it(t,e,n){const r=a(F.get(),n[3],S(n));null==r||s(r,u)||(y(fe,t.eye,e),d(fe,fe,r),t.eye=b(fe,fe,e),y(fe,t.center,e),d(fe,fe,r),t.center=b(fe,fe,e),t.up=d(fe,t.up,r))}function at(t,e,n,r){return q(t,B(e,n,de),r)}function st(t,e,n,r){return q(t,W(e,n,de),r)}function ct(t,e,n,r){const o=O.get();let i=1-n;y(o,e,t.eye);const a=M(o);let s=a*(1-i);i>=0&&s<r&&(s=r,i=-(s-a)/a),Math.abs(a-s)<et||(z(o,o,i),t.eye=b(fe,t.eye,o),t.center=w(fe,t.center,e,i))}function lt(t,e,n){e.getScreenCenter(ut),D(t,e,ut,fe)&&(e.center=fe);const r=e.distance,o=r*n;if(Math.abs(r-o)<et)return;const i=z(O.get(),e.viewForward,o);e.eye=y(fe,e.center,i)}const ut=i();function mt(t,e){I(e,0,0,0);for(const n of t)b(e,e,n);z(e,e,1/t.length)}function ft(t,e,n,r){return Math.sin(t/M(e))*(n+r.radius)}function pt(t,e,n,r){return ft(Math.PI/2,e,n,r)+(t-Math.PI/2)}const ht={Elevation:3e4,Angle:e(16)},Mt=.05,gt=12,yt=12,dt=e(80);function bt(t,e,n,r,o,i){const a=R(),s=new C;let c=!0,l=!0;const{eye:u}=e;return t.intersectScreen(n,a,i)&&Zt(u,a,r)?s.radius=M(a):(l=!1,e.aboveGround&&0!==o?s.radius=Math.max(M(e.center),.9*r):s.radius=M(e.eye)-e.relativeElevation,1===o?Pt(s,e,n,a):c=D(s,e,n,a)),{sphere:s,scenePickPoint:c?a:null,hasGeometryIntersection:l}}function xt(t,e,n,r){const o=t.relativeElevation;if(o>ht.Elevation&&"global"===r)return 1;W(t,e,be);const i=Math.sign(o),a=n.worldUpAtPosition(t.eye,fe);return-i*g(a,be.direction)<Math.sin(ht.Angle)*M(be.direction)?0:1}function jt(t,e,n){y(vt,n,e),t.eye=y(fe,t.eye,vt),t.center=y(fe,t.center,vt)}const vt=R();function Pt(t,e,n,r){const o=W(e,n,de);return null!=o&&(t.closestPointOnSilhouette(o,zt),t.intersectRay(o,r)?!(j(zt,o.origin)<j(r,o.origin))||(v(r,zt),!1):(y(wt,e.eye,e.center),x(wt,wt),E(wt,-g(x(wt,wt),zt),It),q(It,o,r),!1))}const zt=R(),wt=R(),It=k();function Rt(t,e){const n=t.fullHeight/t.pixelRatio,r=e(0),o=e(n);if(r||!o)return null;let i=0,a=n;for(let s=0;s<yt;s++){const t=.5*(i+a);e(t)?a=t:i=t}return a}function At(t,e,n){return e?t>n:t<n}function Ht(t,e){const n=t.fullHeight/t.pixelRatio,r=Math.max(e,n-e);return Math.max(gt,Mt*r)}function St(t,e){const n=t.fullHeight/t.pixelRatio;return Math.min(n,e+Ht(t,e))}function Tt(t,e){return Math.max(0,e-Ht(t,e))}function Ut(t,e,n,r){return xe[0]=n,xe[1]=r,t.intersectRay(W(e,xe,de),fe)}function Gt(t,e,n,r){return xe[0]=n,xe[1]=r,q(t,W(e,xe,de),fe)}function kt(i,a,s,c,l,u){let m=0;if(P(Me,i,a),y(pe,i,a),M(i)<=l||!c.aboveGround){P(s,pe,c.eye);const f=g(i,a)/(M(i)*M(a));if(f<.9999)m=r(f);else{const t=M(P(R(),i,a))/(M(i)*M(a));m=o(t)}const p=Math.cos(n(t.normalize(e(u)),0,dt));m=-m-Math.max(0,M(a)-l)/(p*l)}else y(Et,c.eye,c.center),P(s,pe,Et),m=-M(pe)/l;return x(s,s),z(s,s,M(Me)),m}const Et=R();function qt(o,i,a,s){let c,l;const u=Math.cos(n(t.normalize(e(s)),0,dt));return c=i>a?-(i-a)/(u*a):i<-a?Math.PI-(i+a)/(u*a):r(i/a),l=o>a?-(o-a)/(u*a):o<-a?Math.PI-(o+a)/(u*a):r(o/a),(l-c)*a}function Ct(t,e,n,r,o,i,a,s,c,l){const u=qt(t[2],e[2],i.radius,s),m=c?qt(t[0],e[0],i.radius,180):e[0]-t[0],p=Math.sin(a)*m-Math.cos(a)*u,h=Math.cos(a)*m+Math.sin(a)*u;x(fe,o);const M=c?p/Math.sqrt(Math.abs(i.radius**2-g(n,fe)**2)):p/i.radius,y=h/Math.sqrt(Math.abs(i.radius**2-g(n,r)**2));f(l,M,y)}function Ft(t,e,n,r,o,i,a,s,c,l){P(Me,t,e),U(i.up,i.eye,ee,ne,re),U([0,0,1],i.eye,$t,_t,te),v(n,_t),v(r,$t),x(n,n),z(n,n,M(Me)),G(t,x(ne,ne),x(re,re),x(ee,ee),oe),G(e,ne,re,ee,ie),Ct(oe,ie,t,$t,_t,a,s,c,l,o)}function Ot(t,e,n,r,o,i,s){a(ce,o,r),a(le,s,i),l(ue,ce,le),y(e,t,n),d(e,e,ue),b(e,e,n)}function Wt(t,e,n,r,o,i){a(ce,r,n),a(le,i,o),l(ue,ce,le),y(fe,t.eye,e),d(fe,fe,ue),t.eye=b(fe,fe,e),y(fe,t.center,e),d(fe,fe,ue),t.center=b(fe,fe,e),y(fe,t.up,e),d(fe,fe,ue),t.up=b(fe,fe,e)}const Bt={Pole:.95,Angle:e(18),Tilt:45,TiltHysteresisMargin:1e-7};let Dt=!1;function Jt(t,e,n,r,o,i){const a=Math.abs(r)>Math.PI-Bt.Angle||Math.abs(r)<Bt.Angle,s=(Math.abs(t[2])<n*Bt.Pole||Math.abs(e)>n)&&i;return a&&s?!Dt&&o<Bt.Tilt-Bt.TiltHysteresisMargin?Dt=!0:Dt&&o>Bt.Tilt+Bt.TiltHysteresisMargin&&(Dt=!1):Dt=!1,Dt}function Kt(t,e,n,r,o,i){if(i)H(n,r,se),it(e,t.center,se);else{const i=kt(n,r,ge,e,t.radius,o);it(e,t.center,T(ge,i))}}function Lt(t,e,n,r,o,i,a){const s=a?20:1,c=1e-12;let l,u;v(me,r),he.copyFrom(e);for(let m=0;m<s&&j(n,me)>c&&(l=j(n,me),Ft(n,me,_t,$t,ae,he,t,o,i,a),Wt(he,t.center,$t,ae[1],_t,ae[0]),Ot(me,me,t.center,$t,ae[1],_t,ae[0]),u=j(n,me),u<l||0===m);m++)e.copyFrom(he)}function Nt(n,r,o,i,a,s,c){Jt(o,g(r.up,o),n.radius,-t.normalize(e(a)),s,r.aboveGround)?Lt(n,r,o,i,-t.normalize(e(a)),s,c):Kt(n,r,o,i,s,c)}function Qt(t,e,n,r,o,i){const{eye:a}=t;U([0,0,1],a,$t,_t,te);const s=e.translation[0]*n.pan,l="zoom"===o.mode?0:e.translation[1]*n.pan,u=Math.max(Math.sqrt(Math.abs(1-g(t.center,$t)**2/M(t.center)**2)),.5),m=(Math.sin(i)*l+Math.cos(i)*s)/u,f=-Math.cos(i)*l+Math.sin(i)*s;switch(c(r.pan.matrix,r.pan.matrix,m,$t),r.pan.enabled=!0,o.mode){case"pan":c(r.pan.matrix,r.pan.matrix,f,_t),r.pan.enabled=!0;break;case"zoom":r.zoom=-e.translation[1]*n.zoom}}function Vt(t,e,n,r,o){const{eye:i,viewRight:a}=t,s=P(O.get(),a,i),l=e.translation[0]*n.pan;switch(0!==l&&(c(r.pan.matrix,r.pan.matrix,-l,s),r.pan.enabled=!0),o.mode){case"pan":{const t=e.translation[1]*n.pan;0!==t&&(c(r.pan.matrix,r.pan.matrix,t,a),r.pan.enabled=!0);break}case"zoom":r.zoom=-e.translation[1]*n.zoom}}function Xt(n,r,o,i,a,s,c,l,u){Jt(n.center,g(n.up,n.center),M(n.center),-t.normalize(e(s)),c,r.aboveGround)?Qt(r,o,i,l,u,-t.normalize(e(a))):Vt(r,o,i,l,u)}function Yt(t,e,n=1/0){const r=Math.abs(g(t,e));return Math.min(n,1/r)}function Zt(t,e,n){const r=h(t,e),o=M(t);return r<Math.max(o,n)}const $t=R(),_t=R(),te=R(),ee=R(),ne=R(),re=R(),oe=R(),ie=R(),ae=p(),se=A(),ce=m(),le=m(),ue=m(),me=R(),fe=R(),pe=R();let he=new J;const Me=R(),ge=R();function ye(){he=new J}const de={origin:R(),direction:R()},be={origin:R(),direction:R()},xe=i();export{dt as TiltThresholdPanningSpeed,ht as VerticalPanTresholds,jt as applyPanPlanar,Kt as applyPanSphericalDirectRotation,Lt as applyPanSphericalPreserveHeading,it as applyRotation,Wt as applyRotationWithTwoAxes,lt as applyZoomOnSphere,ct as applyZoomToPoint,mt as centroid,ye as cleanupNavigationUtils,Tt as computeHorizonDownLimitScreenY,Ht as computeHorizonPadding,St as computeHorizonUpLimitScreenY,et as distanceComparisonTolerance,nt as excludeTerrain,Rt as findHorizonScreenY,Yt as getTiltScaleFactor,xt as inferNavigationMode,at as intersectPlaneFromScreenPoint,st as intersectPlaneFromScreenPointAtEye,Gt as intersectsPlaneAtScreenPoint,Ut as intersectsSphereAtScreenPoint,Zt as isHitOnSamePlanetSide,qt as lengthFromPoints,X as maxPanDistanceModifier,Z as maxRotatePivotDistanceModifier,L as maxZoomPivotDistanceModifier,Q as maxZoomStepDistanceModifier,Y as minPinchAndPanCameraHeight,$ as minRotatePivotDistance,rt as normalizeCoordinate,ot as normalizeRotationDelta,pt as offSurfaceTiltToEyeTiltGlobal,ft as onSurfaceTiltToEyeTiltGlobal,Xt as panMotionToRotationMatrix,Nt as panToPosition,bt as pickPointAndInitSphere,_ as pivotSearchAreaSize,Bt as preservingHeadingThresholds,Mt as relativeHorizonPanPadding,tt as rotatePivotSearchAreaSize,Ot as rotatePointAroundTwoAxes,kt as rotationAngleAndAxisDirectRotation,Ft as rotationAnglesAndAxesHeadingPreserving,Ct as rotationAnglesHeadingPreserving,At as shouldClampScreenY,Jt as shouldPreserveHeading,Pt as sphereOrPlanePointFromScreenPoint,N as zoomPivotDistanceClamp,V as zoomStepDistanceClamp};
2
+ import{cyclicalPI as t}from"../../../../core/Cyclical.js";import{deg2rad as e,clamp as n,acosClamped as r,asinClamped as o}from"../../../../core/mathUtils.js";import{createScreenPointArray as i}from"../../../../core/screenUtils.js";import{fromRotation as a,exactEquals as s,rotate as c,multiply as l}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{IDENTITY as u,create as m}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as f}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{length as h,dot as M,subtract as g,normalize as y,squaredDistance as d,copy as b,transformMat4 as x,add as j,distance as v,cross as P,scale as z,lerp as w,set as I}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as R}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as A,axis as H,fromPoints as S,wrapAxisAngle as T}from"../../../../geometry/support/axisAngle.js";import{coordinateSystemFromOneAxisAndNormalVector as U,vectorCoordinates as G}from"../../../../geometry/support/coordinateSystem.js";import{create as k,fromNormalAndOffset as E,intersectRay as q}from"../../../../geometry/support/plane.js";import{Sphere as C}from"../../../../geometry/support/sphere.js";import{sm4d as F,sv3d as O}from"../../../../geometry/support/vectorStacks.js";import{fromScreenAtEye as W,fromScreen as B}from"../../support/geometryUtils/ray.js";import{intersectScreen as D}from"../../support/geometryUtils/sphere.js";import J from"../../webgl/RenderCamera.js";import{terrainId as K}from"../../webgl-engine/lib/verticalOffsetUtils.js";const L=30,N=[1,3e8],Q=8,V=[200,1508e5],X=5,Y=50,Z=5,$=10,_=80,tt=90,et=1e-6,nt={exclude:new Set([K])};function rt(t,e,n){return n[0]=e[0]/(t.fullWidth/t.pixelRatio),n[1]=e[1]/(t.fullHeight/t.pixelRatio),n}function ot(t){for(;t>Math.PI;)t-=2*Math.PI;for(;t<-Math.PI;)t+=2*Math.PI;return t}function it(t,e,n){const r=a(F.get(),n[3],H(n));null==r||s(r,u)||(g(fe,t.eye,e),x(fe,fe,r),t.eye=j(fe,fe,e),g(fe,t.center,e),x(fe,fe,r),t.center=j(fe,fe,e),t.up=x(fe,t.up,r))}function at(t,e,n,r){return q(t,B(e,n,de),r)}function st(t,e,n,r){return q(t,W(e,n,de),r)}function ct(t,e,n,r){const o=O.get();let i=1-n;g(o,e,t.eye);const a=h(o);let s=a*(1-i);i>=0&&s<r&&(s=r,i=-(s-a)/a),Math.abs(a-s)<et||(z(o,o,i),t.eye=j(fe,t.eye,o),t.center=w(fe,t.center,e,i))}function lt(t,e,n){e.getScreenCenter(ut),D(t,e,ut,fe)&&(e.center=fe);const r=e.distance,o=r*n;if(Math.abs(r-o)<et)return;const i=z(O.get(),e.viewForward,o);e.eye=g(fe,e.center,i)}const ut=i();function mt(t,e){I(e,0,0,0);for(const n of t)j(e,e,n);z(e,e,1/t.length)}function ft(t,e,n,r){return Math.sin(t/h(e))*(n+r.radius)}function pt(t,e,n,r){return ft(Math.PI/2,e,n,r)+(t-Math.PI/2)}const ht={Elevation:3e4,Angle:e(16)},Mt=.05,gt=12,yt=12,dt=e(80);function bt(t,e,n,r,o,i){const a=R(),s=new C;let c=!0,l=!0;const{eye:u}=e;return t.intersectScreen(n,a,i)&&Zt(u,a,r)?s.radius=h(a):(l=!1,e.aboveGround&&0!==o?s.radius=Math.max(h(e.center),.9*r):s.radius=h(e.eye)-e.relativeElevation,1===o?Pt(s,e,n,a):c=D(s,e,n,a)),{sphere:s,scenePickPoint:c?a:null,hasGeometryIntersection:l}}function xt(t,e,n,r){const o=t.relativeElevation;if(o>ht.Elevation&&"global"===r)return 1;W(t,e,be);const i=Math.sign(o),a=n.worldUpAtPosition(t.eye,fe);return-i*M(a,be.direction)<Math.sin(ht.Angle)*h(be.direction)?0:1}function jt(t,e,n){g(vt,n,e),t.eye=g(fe,t.eye,vt),t.center=g(fe,t.center,vt)}const vt=R();function Pt(t,e,n,r){const o=W(e,n,de);return null!=o&&(t.closestPointOnSilhouette(o,zt),t.intersectRay(o,r)?!(d(zt,o.origin)<d(r,o.origin))||(b(r,zt),!1):(g(wt,e.eye,e.center),y(wt,wt),E(wt,-M(y(wt,wt),zt),It),q(It,o,r),!1))}const zt=R(),wt=R(),It=k();function Rt(t,e){const n=t.fullHeight/t.pixelRatio,r=e(0),o=e(n);if(r||!o)return null;let i=0,a=n;for(let s=0;s<yt;s++){const t=.5*(i+a);e(t)?a=t:i=t}return a}function At(t,e,n){return e?t>n:t<n}function Ht(t,e){const n=t.fullHeight/t.pixelRatio,r=Math.max(e,n-e);return Math.max(gt,Mt*r)}function St(t,e){const n=t.fullHeight/t.pixelRatio;return Math.min(n,e+Ht(t,e))}function Tt(t,e){return Math.max(0,e-Ht(t,e))}function Ut(t,e,n,r){return xe[0]=n,xe[1]=r,t.intersectRay(W(e,xe,de),fe)}function Gt(t,e,n,r){return xe[0]=n,xe[1]=r,q(t,W(e,xe,de),fe)}function kt(i,a,s,c,l,u){let m=0;if(P(Me,i,a),g(pe,i,a),h(i)<=l||!c.aboveGround){P(s,pe,c.eye);const f=M(i,a)/(h(i)*h(a));if(f<.9999)m=r(f);else{const t=h(P(R(),i,a))/(h(i)*h(a));m=o(t)}const p=Math.cos(n(t.normalize(e(u)),0,dt));m=-m-Math.max(0,h(a)-l)/(p*l)}else g(Et,c.eye,c.center),P(s,pe,Et),m=-h(pe)/l;return y(s,s),z(s,s,h(Me)),m}const Et=R();function qt(o,i,a,s){let c,l;const u=Math.cos(n(t.normalize(e(s)),0,dt));return c=i>a?-(i-a)/(u*a):i<-a?Math.PI-(i+a)/(u*a):r(i/a),l=o>a?-(o-a)/(u*a):o<-a?Math.PI-(o+a)/(u*a):r(o/a),(l-c)*a}function Ct(t,e,n,r,o,i,a,s,c,l){const u=qt(t[2],e[2],i.radius,s),m=c?qt(t[0],e[0],i.radius,180):e[0]-t[0],p=Math.sin(a)*m-Math.cos(a)*u,h=Math.cos(a)*m+Math.sin(a)*u;y(fe,o);const g=c?p/Math.sqrt(Math.abs(i.radius**2-M(n,fe)**2)):p/i.radius,d=h/Math.sqrt(Math.abs(i.radius**2-M(n,r)**2));f(l,g,d)}function Ft(t,e,n,r,o,i,a,s,c,l){P(Me,t,e),U(i.up,i.eye,ee,ne,re),U([0,0,1],i.eye,$t,_t,te),b(n,_t),b(r,$t),y(n,n),z(n,n,h(Me)),G(t,y(ne,ne),y(re,re),y(ee,ee),oe),G(e,ne,re,ee,ie),Ct(oe,ie,t,$t,_t,a,s,c,l,o)}function Ot(t,e,n,r,o,i,s){a(ce,o,r),a(le,s,i),l(ue,ce,le),g(e,t,n),x(e,e,ue),j(e,e,n)}function Wt(t,e,n,r,o,i){a(ce,r,n),a(le,i,o),l(ue,ce,le),g(fe,t.eye,e),x(fe,fe,ue),t.eye=j(fe,fe,e),g(fe,t.center,e),x(fe,fe,ue),t.center=j(fe,fe,e),g(fe,t.up,e),x(fe,fe,ue),t.up=j(fe,fe,e)}const Bt={Pole:.95,Angle:e(18),Tilt:45,TiltHysteresisMargin:1e-7};let Dt=!1;function Jt(t,e,n,r,o,i){const a=Math.abs(r)>Math.PI-Bt.Angle||Math.abs(r)<Bt.Angle,s=(Math.abs(t[2])<n*Bt.Pole||Math.abs(e)>n)&&i;return a&&s?!Dt&&o<Bt.Tilt-Bt.TiltHysteresisMargin?Dt=!0:Dt&&o>Bt.Tilt+Bt.TiltHysteresisMargin&&(Dt=!1):Dt=!1,Dt}function Kt(t,e,n,r,o,i){if(i)S(n,r,se),it(e,t.center,se);else{const i=kt(n,r,ge,e,t.radius,o);it(e,t.center,T(ge,i))}}function Lt(t,e,n,r,o,i,a){const s=a?20:1,c=1e-12;let l,u;b(me,r),he.copyFrom(e);for(let m=0;m<s&&d(n,me)>c&&(l=d(n,me),Ft(n,me,_t,$t,ae,he,t,o,i,a),Wt(he,t.center,$t,ae[1],_t,ae[0]),Ot(me,me,t.center,$t,ae[1],_t,ae[0]),u=d(n,me),u<l||0===m);m++)e.copyFrom(he)}function Nt(n,r,o,i,a,s,c){Jt(o,M(r.up,o),n.radius,-t.normalize(e(a)),s,r.aboveGround)?Lt(n,r,o,i,-t.normalize(e(a)),s,c):Kt(n,r,o,i,s,c)}function Qt(t,e,n,r,o,i){const{eye:a}=t;U([0,0,1],a,$t,_t,te);const s=e.translation[0]*n.pan,l="zoom"===o.mode?0:e.translation[1]*n.pan,u=Math.max(Math.sqrt(Math.abs(1-M(t.center,$t)**2/h(t.center)**2)),.5),m=(Math.sin(i)*l+Math.cos(i)*s)/u,f=-Math.cos(i)*l+Math.sin(i)*s;switch(c(r.pan.matrix,r.pan.matrix,m,$t),r.pan.enabled=!0,o.mode){case"pan":c(r.pan.matrix,r.pan.matrix,f,_t),r.pan.enabled=!0;break;case"zoom":r.zoom=-e.translation[1]*n.zoom}}function Vt(t,e,n,r,o){const{eye:i,viewRight:a}=t,s=P(O.get(),a,i),l=e.translation[0]*n.pan;switch(0!==l&&(c(r.pan.matrix,r.pan.matrix,-l,s),r.pan.enabled=!0),o.mode){case"pan":{const t=e.translation[1]*n.pan;0!==t&&(c(r.pan.matrix,r.pan.matrix,t,a),r.pan.enabled=!0);break}case"zoom":r.zoom=-e.translation[1]*n.zoom}}function Xt(n,r,o,i,a,s,c,l,u){Jt(n.center,M(n.up,n.center),h(n.center),-t.normalize(e(s)),c,r.aboveGround)?Qt(r,o,i,l,u,-t.normalize(e(a))):Vt(r,o,i,l,u)}function Yt(t,e,n=1/0){const r=Math.abs(M(t,e));return Math.min(n,1/r)}function Zt(t,e,n){const r=v(t,e),o=h(t);return r<Math.max(o,n)}const $t=R(),_t=R(),te=R(),ee=R(),ne=R(),re=R(),oe=R(),ie=R(),ae=p(),se=A(),ce=m(),le=m(),ue=m(),me=R(),fe=R(),pe=R();let he=new J;const Me=R(),ge=R();function ye(){he=new J}const de={origin:R(),direction:R()},be={origin:R(),direction:R()},xe=i();export{dt as TiltThresholdPanningSpeed,ht as VerticalPanTresholds,jt as applyPanPlanar,Kt as applyPanSphericalDirectRotation,Lt as applyPanSphericalPreserveHeading,it as applyRotation,Wt as applyRotationWithTwoAxes,lt as applyZoomOnSphere,ct as applyZoomToPoint,mt as centroid,ye as cleanupNavigationUtils,Tt as computeHorizonDownLimitScreenY,Ht as computeHorizonPadding,St as computeHorizonUpLimitScreenY,et as distanceComparisonTolerance,nt as excludeTerrain,Rt as findHorizonScreenY,Yt as getTiltScaleFactor,xt as inferNavigationMode,at as intersectPlaneFromScreenPoint,st as intersectPlaneFromScreenPointAtEye,Gt as intersectsPlaneAtScreenPoint,Ut as intersectsSphereAtScreenPoint,Zt as isHitOnSamePlanetSide,qt as lengthFromPoints,X as maxPanDistanceModifier,Z as maxRotatePivotDistanceModifier,L as maxZoomPivotDistanceModifier,Q as maxZoomStepDistanceModifier,Y as minPinchAndPanCameraHeight,$ as minRotatePivotDistance,rt as normalizeCoordinate,ot as normalizeRotationDelta,pt as offSurfaceTiltToEyeTiltGlobal,ft as onSurfaceTiltToEyeTiltGlobal,Xt as panMotionToRotationMatrix,Nt as panToPosition,bt as pickPointAndInitSphere,_ as pivotSearchAreaSize,Bt as preservingHeadingThresholds,Mt as relativeHorizonPanPadding,tt as rotatePivotSearchAreaSize,Ot as rotatePointAroundTwoAxes,kt as rotationAngleAndAxisDirectRotation,Ft as rotationAnglesAndAxesHeadingPreserving,Ct as rotationAnglesHeadingPreserving,At as shouldClampScreenY,Jt as shouldPreserveHeading,Pt as sphereOrPlanePointFromScreenPoint,N as zoomPivotDistanceClamp,V as zoomStepDistanceClamp};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import e from"../../../core/Accessor.js";import{destroyHandle as s}from"../../../core/handleUtils.js";import{property as r,subclass as t}from"../../../core/accessorSupport/decorators.js";import{i,g as p}from"../../../chunks/boundedPlane.js";import{PropertiesPool as l}from"../../support/PropertiesPool.js";let n=class extends e{constructor(o){super(o),this._propertiesPool=new l({plane:()=>i()},this),this.isDecoration=!0,this.addHandles(s(this._propertiesPool))}set plane(o){if(!o)return void this._set("plane",o);const e=this._propertiesPool.get("plane");p(o,e),this._set("plane",e)}};o([r()],n.prototype,"plane",null),o([r()],n.prototype,"isDecoration",void 0),n=o([t("esri.views.3d.support.ViewSlice")],n);export{n as ViewSlice};
2
+ import{__decorate as o}from"tslib";import e from"../../../core/Accessor.js";import{destroyHandle as s}from"../../../core/handleUtils.js";import{property as r,subclass as t}from"../../../core/accessorSupport/decorators.js";import{c as i,a as p}from"../../../chunks/boundedPlane.js";import{PropertiesPool as l}from"../../support/PropertiesPool.js";let n=class extends e{constructor(o){super(o),this._propertiesPool=new l({plane:()=>i()},this),this.isDecoration=!0,this.addHandles(s(this._propertiesPool))}set plane(o){if(!o)return void this._set("plane",o);const e=this._propertiesPool.get("plane");p(o,e),this._set("plane",e)}};o([r()],n.prototype,"plane",null),o([r()],n.prototype,"isDecoration",void 0),n=o([t("esri.views.3d.support.ViewSlice")],n);export{n as ViewSlice};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{fromValues as t}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{IDENTITY as r,create as i}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{create as n}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{scale as o,add as s}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as e,fromValues as a}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Vertices as c}from"../webgl-engine/lib/Attribute.js";const m=1e-6,f=e(),h=e();function u(t,r){const{data:i,size:n}=t,o=i.length/n;if(o<=0)return;const s=new tt(t);nt(f,s.minProj,s.maxProj),st(f,f,.5),ot(h,s.maxProj,s.minProj);const a=it(h),m=new rt;m.quality=a,o<14&&(t=new c(new Float64Array(s.buffer,112,42),3));const u=e(),j=e(),P=e(),b=e(),x=e(),I=e(),N=e();switch(l(s,t,N,u,j,P,b,x,I,m)){case 1:return void O(f,h,r);case 2:return void K(t,b,r)}w(t,N,u,j,P,b,x,I,m),L(t,m.b0,m.b1,m.b2,D,H);const V=e();ot(V,H,D),m.quality=it(V),m.quality<a?Z(m.b0,m.b1,m.b2,D,H,V,r):O(f,h,r)}function l(t,r,i,n,o,s,e,a,c,f){if(A(t,n,o),ft(n,o)<m)return 1;ot(e,n,o),ct(e,e);return q(r,n,e,s)<m?2:(ot(a,o,s),ct(a,a),ot(c,s,n),ct(c,c),at(i,a,e),ct(i,i),Y(r,i,e,a,c,f),0)}const j=e(),P=e(),b=e(),x=e(),I=e(),N=e(),V=e(),y=e();function w(t,r,i,n,o,s,e,a,c){M(t,r,i,j,P),void 0!==j[0]&&(ot(b,j,i),ct(b,b),ot(x,j,n),ct(x,x),ot(I,j,o),ct(I,I),at(N,x,s),ct(N,N),at(V,I,e),ct(V,V),at(y,b,a),ct(y,y),Y(t,N,s,x,b,c),Y(t,V,e,I,x,c),Y(t,y,a,b,I,c)),void 0!==P[0]&&(ot(b,P,i),ct(b,b),ot(x,P,n),ct(x,x),ot(I,P,o),ct(I,I),at(N,x,s),ct(N,N),at(V,I,e),ct(V,V),at(y,b,a),ct(y,y),Y(t,N,s,x,b,c),Y(t,V,e,I,x,c),Y(t,y,a,b,I,c))}function A(t,r,i){let n=ft(t.maxVert[0],t.minVert[0]),o=0;for(let s=1;s<7;++s){const r=ft(t.maxVert[s],t.minVert[s]);r>n&&(n=r,o=s)}et(r,t.minVert[o]),et(i,t.maxVert[o])}const g=[0,0,0];function q(t,r,i,n){const{data:o,size:s}=t;let e=Number.NEGATIVE_INFINITY,a=0;for(let c=0;c<o.length;c+=s){g[0]=o[c]-r[0],g[1]=o[c+1]-r[1],g[2]=o[c+2]-r[2];const t=i[0]*g[0]+i[1]*g[1]+i[2]*g[2],n=i[0]*i[0]+i[1]*i[1]+i[2]*i[2],s=g[0]*g[0]+g[1]*g[1]+g[2]*g[2]-t*t/n;s>e&&(e=s,a=c)}return et(n,o,a),e}const d=n();function M(t,r,i,n,o){G(t,r,d,o,n);const s=ht(i,r);d[1]-m<=s&&(n[0]=void 0),d[0]+m>=s&&(o[0]=void 0)}const F=e(),T=e(),v=e(),E=e(),p=e(),z=e();function Y(t,r,i,n,o,s){if(mt(r)<m)return;at(F,i,r),at(T,n,r),at(v,o,r),S(t,r,d),p[1]=d[0],E[1]=d[1],z[1]=E[1]-p[1];const e=[i,n,o],a=[F,T,v];for(let c=0;c<3;++c){S(t,e[c],d),p[0]=d[0],E[0]=d[1],S(t,a[c],d),p[2]=d[0],E[2]=d[1],z[0]=E[0]-p[0],z[2]=E[2]-p[2];const i=it(z);i<s.quality&&(et(s.b0,e[c]),et(s.b1,r),et(s.b2,a[c]),s.quality=i)}}const _=e();function S(t,r,i){const{data:n,size:o}=t;let s=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;const a=r[0],c=r[1],m=r[2];for(let f=0;f<n.length;f+=o){const t=n[f]*a+n[f+1]*c+n[f+2]*m;s=Math.min(s,t),e=Math.max(e,t)}i[0]=s,i[1]=e}function G(t,r,i,n,o){const{data:s,size:e}=t;et(n,s),et(o,n),i[0]=ht(_,r),i[1]=i[0];for(let a=e;a<s.length;a+=e){const t=s[a]*r[0]+s[a+1]*r[1]+s[a+2]*r[2];t<i[0]&&(i[0]=t,et(n,s,a)),t>i[1]&&(i[1]=t,et(o,s,a))}}function O(t,i,n){n.center=t,n.halfSize=o(i,i,.5),n.quaternion=r}const B=e(),k=e(),C=e(),D=e(),H=e(),J=e();function K(t,r,i){et(B,r),Math.abs(r[0])>Math.abs(r[1])&&Math.abs(r[0])>Math.abs(r[2])?B[0]=0:Math.abs(r[1])>Math.abs(r[2])?B[1]=0:B[2]=0,mt(B)<m&&(B[0]=B[1]=B[2]=1),at(k,r,B),ct(k,k),at(C,r,k),ct(C,C),L(t,r,k,C,D,H),ot(J,H,D),Z(r,k,C,D,H,J,i)}function L(t,r,i,n,o,s){S(t,r,d),o[0]=d[0],s[0]=d[1],S(t,i,d),o[1]=d[0],s[1]=d[1],S(t,n,d),o[2]=d[0],s[2]=d[1]}const Q=e(),R=e(),U=e(),W=t(1,0,0,0,1,0,0,0,1),X=i();function Z(t,r,i,n,e,a,c){W[0]=t[0],W[1]=t[1],W[2]=t[2],W[3]=r[0],W[4]=r[1],W[5]=r[2],W[6]=i[0],W[7]=i[1],W[8]=i[2],c.quaternion=ut(X,W),nt(Q,n,e),st(Q,Q,.5),st(R,t,Q[0]),st(U,r,Q[1]),nt(R,R,U),st(U,i,Q[2]),c.center=s(R,R,U),c.halfSize=o(Q,a,.5)}const $=7;class tt{constructor(t){this.minVert=new Array($),this.maxVert=new Array($);const r=64*$;this.buffer=new ArrayBuffer(r);let i=0;this.minProj=new Float64Array(this.buffer,i,$),i+=8*$,this.maxProj=new Float64Array(this.buffer,i,$),i+=8*$;for(let a=0;a<$;++a)this.minVert[a]=new Float64Array(this.buffer,i,3),i+=24;for(let a=0;a<$;++a)this.maxVert[a]=new Float64Array(this.buffer,i,3),i+=24;for(let a=0;a<$;++a)this.minProj[a]=Number.POSITIVE_INFINITY,this.maxProj[a]=Number.NEGATIVE_INFINITY;const n=new Array($),o=new Array($),{data:s,size:e}=t;for(let a=0;a<s.length;a+=e){let t=s[a];t<this.minProj[0]&&(this.minProj[0]=t,n[0]=a),t>this.maxProj[0]&&(this.maxProj[0]=t,o[0]=a),t=s[a+1],t<this.minProj[1]&&(this.minProj[1]=t,n[1]=a),t>this.maxProj[1]&&(this.maxProj[1]=t,o[1]=a),t=s[a+2],t<this.minProj[2]&&(this.minProj[2]=t,n[2]=a),t>this.maxProj[2]&&(this.maxProj[2]=t,o[2]=a),t=s[a]+s[a+1]+s[a+2],t<this.minProj[3]&&(this.minProj[3]=t,n[3]=a),t>this.maxProj[3]&&(this.maxProj[3]=t,o[3]=a),t=s[a]+s[a+1]-s[a+2],t<this.minProj[4]&&(this.minProj[4]=t,n[4]=a),t>this.maxProj[4]&&(this.maxProj[4]=t,o[4]=a),t=s[a]-s[a+1]+s[a+2],t<this.minProj[5]&&(this.minProj[5]=t,n[5]=a),t>this.maxProj[5]&&(this.maxProj[5]=t,o[5]=a),t=s[a]-s[a+1]-s[a+2],t<this.minProj[6]&&(this.minProj[6]=t,n[6]=a),t>this.maxProj[6]&&(this.maxProj[6]=t,o[6]=a)}for(let a=0;a<$;++a){let t=n[a];et(this.minVert[a],s,t),t=o[a],et(this.maxVert[a],s,t)}}}class rt{constructor(){this.b0=a(1,0,0),this.b1=a(0,1,0),this.b2=a(0,0,1),this.quality=0}}function it(t){return t[0]*t[1]+t[0]*t[2]+t[1]*t[2]}function nt(t,r,i){t[0]=r[0]+i[0],t[1]=r[1]+i[1],t[2]=r[2]+i[2]}function ot(t,r,i){t[0]=r[0]-i[0],t[1]=r[1]-i[1],t[2]=r[2]-i[2]}function st(t,r,i){t[0]=r[0]*i,t[1]=r[1]*i,t[2]=r[2]*i}function et(t,r,i=0){t[0]=r[i],t[1]=r[i+1],t[2]=r[i+2]}function at(t,r,i){const n=r[0],o=r[1],s=r[2],e=i[0],a=i[1],c=i[2];t[0]=o*c-s*a,t[1]=s*e-n*c,t[2]=n*a-o*e}function ct(t,r){const i=r[0]*r[0]+r[1]*r[1]+r[2]*r[2];if(i>0){const n=1/Math.sqrt(i);t[0]=r[0]*n,t[1]=r[1]*n,t[2]=r[2]*n}}function mt(t){return t[0]*t[0]+t[1]*t[1]+t[2]*t[2]}function ft(t,r){const i=r[0]-t[0],n=r[1]-t[1],o=r[2]-t[2];return i*i+n*n+o*o}function ht(t,r){return t[0]*r[0]+t[1]*r[1]+t[2]*r[2]}function ut(t,r){const i=r[0]+r[4]+r[8];if(i>0){let n=Math.sqrt(i+1);t[3]=.5*n,n=.5/n,t[0]=(r[5]-r[7])*n,t[1]=(r[6]-r[2])*n,t[2]=(r[1]-r[3])*n}else{let i=0;r[4]>r[0]&&(i=1),r[8]>r[3*i+i]&&(i=2);const n=(i+1)%3,o=(i+2)%3;let s=Math.sqrt(r[3*i+i]-r[3*n+n]-r[3*o+o]+1);t[i]=.5*s,s=.5/s,t[3]=(r[3*n+o]-r[3*o+n])*s,t[n]=(r[3*n+i]+r[3*i+n])*s,t[o]=(r[3*o+i]+r[3*i+o])*s}return t}export{u as computeOBB};
2
+ import{fromValues as t}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{IDENTITY as r,create as i}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{create as n}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{scale as o,add as s}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as e,fromValues as a}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Vertices as c}from"../webgl-engine/lib/Attribute.js";const m=1e-6,f=e(),h=e();function u(t,r){const{data:i,size:n}=t,o=i.length/n;if(o<=0)return;const s=new tt(t);nt(f,s.minProj,s.maxProj),st(f,f,.5),ot(h,s.maxProj,s.minProj);const a=it(h),m=new rt;m.quality=a,o<14&&(t=new c(new Float64Array(s.buffer,112,42),3));const u=e(),j=e(),P=e(),b=e(),x=e(),I=e(),N=e();switch(l(s,t,N,u,j,P,b,x,I,m)){case 1:return void C(f,h,r);case 2:return void J(t,b,r)}w(t,N,u,j,P,b,x,I,m),K(t,m.b0,m.b1,m.b2,B,k);const V=e();ot(V,k,B),m.quality=it(V),m.quality<a?Z(m.b0,m.b1,m.b2,B,k,V,r):C(f,h,r)}function l(t,r,i,n,o,s,e,a,c,f){if(A(t,n,o),ft(n,o)<m)return 1;ot(e,n,o),ct(e,e);return d(r,n,e,s)<m?2:(ot(a,o,s),ct(a,a),ot(c,s,n),ct(c,c),at(i,a,e),ct(i,i),Y(r,i,e,a,c,f),0)}const j=e(),P=e(),b=e(),x=e(),I=e(),N=e(),V=e(),y=e();function w(t,r,i,n,o,s,e,a,c){q(t,r,i,j,P),void 0!==j[0]&&(ot(b,j,i),ct(b,b),ot(x,j,n),ct(x,x),ot(I,j,o),ct(I,I),at(N,x,s),ct(N,N),at(V,I,e),ct(V,V),at(y,b,a),ct(y,y),Y(t,N,s,x,b,c),Y(t,V,e,I,x,c),Y(t,y,a,b,I,c)),void 0!==P[0]&&(ot(b,P,i),ct(b,b),ot(x,P,n),ct(x,x),ot(I,P,o),ct(I,I),at(N,x,s),ct(N,N),at(V,I,e),ct(V,V),at(y,b,a),ct(y,y),Y(t,N,s,x,b,c),Y(t,V,e,I,x,c),Y(t,y,a,b,I,c))}function A(t,r,i){let n=ft(t.maxVert[0],t.minVert[0]),o=0;for(let s=1;s<7;++s){const r=ft(t.maxVert[s],t.minVert[s]);r>n&&(n=r,o=s)}et(r,t.minVert[o]),et(i,t.maxVert[o])}const g=[0,0,0];function d(t,r,i,n){const{data:o,size:s}=t;let e=Number.NEGATIVE_INFINITY,a=0;for(let c=0;c<o.length;c+=s){g[0]=o[c]-r[0],g[1]=o[c+1]-r[1],g[2]=o[c+2]-r[2];const t=i[0]*g[0]+i[1]*g[1]+i[2]*g[2],n=i[0]*i[0]+i[1]*i[1]+i[2]*i[2],s=g[0]*g[0]+g[1]*g[1]+g[2]*g[2]-t*t/n;s>e&&(e=s,a=c)}return et(n,o,a),e}const M=n();function q(t,r,i,n,o){G(t,r,M,o,n);const s=ht(i,r);M[1]-m<=s&&(n[0]=void 0),M[0]+m>=s&&(o[0]=void 0)}const F=e(),T=e(),v=e(),E=e(),p=e(),z=e();function Y(t,r,i,n,o,s){if(mt(r)<m)return;at(F,i,r),at(T,n,r),at(v,o,r),S(t,r,M),p[1]=M[0],E[1]=M[1],z[1]=E[1]-p[1];const e=[i,n,o],a=[F,T,v];for(let c=0;c<3;++c){S(t,e[c],M),p[0]=M[0],E[0]=M[1],S(t,a[c],M),p[2]=M[0],E[2]=M[1],z[0]=E[0]-p[0],z[2]=E[2]-p[2];const i=it(z);i<s.quality&&(et(s.b0,e[c]),et(s.b1,r),et(s.b2,a[c]),s.quality=i)}}const _=e();function S(t,r,i){const{data:n,size:o}=t;let s=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;const a=r[0],c=r[1],m=r[2];for(let f=0;f<n.length;f+=o){const t=n[f]*a+n[f+1]*c+n[f+2]*m;s=Math.min(s,t),e=Math.max(e,t)}i[0]=s,i[1]=e}function G(t,r,i,n,o){const{data:s,size:e}=t;et(n,s),et(o,n),i[0]=ht(_,r),i[1]=i[0];for(let a=e;a<s.length;a+=e){const t=s[a]*r[0]+s[a+1]*r[1]+s[a+2]*r[2];t<i[0]&&(i[0]=t,et(n,s,a)),t>i[1]&&(i[1]=t,et(o,s,a))}}function C(t,i,n){n.setCenter(t),n.setHalfSize(o(i,i,.5)),n.setQuaternion(r)}const H=e(),O=e(),Q=e(),B=e(),k=e(),D=e();function J(t,r,i){et(H,r),Math.abs(r[0])>Math.abs(r[1])&&Math.abs(r[0])>Math.abs(r[2])?H[0]=0:Math.abs(r[1])>Math.abs(r[2])?H[1]=0:H[2]=0,mt(H)<m&&(H[0]=H[1]=H[2]=1),at(O,r,H),ct(O,O),at(Q,r,O),ct(Q,Q),K(t,r,O,Q,B,k),ot(D,k,B),Z(r,O,Q,B,k,D,i)}function K(t,r,i,n,o,s){S(t,r,M),o[0]=M[0],s[0]=M[1],S(t,i,M),o[1]=M[0],s[1]=M[1],S(t,n,M),o[2]=M[0],s[2]=M[1]}const L=e(),R=e(),U=e(),W=t(1,0,0,0,1,0,0,0,1),X=i();function Z(t,r,i,n,e,a,c){W[0]=t[0],W[1]=t[1],W[2]=t[2],W[3]=r[0],W[4]=r[1],W[5]=r[2],W[6]=i[0],W[7]=i[1],W[8]=i[2],c.setQuaternion(ut(X,W)),nt(L,n,e),st(L,L,.5),st(R,t,L[0]),st(U,r,L[1]),nt(R,R,U),st(U,i,L[2]),c.setCenter(s(R,R,U)),c.setHalfSize(o(L,a,.5))}const $=7;class tt{constructor(t){this.minVert=new Array($),this.maxVert=new Array($);const r=64*$;this.buffer=new ArrayBuffer(r);let i=0;this.minProj=new Float64Array(this.buffer,i,$),i+=8*$,this.maxProj=new Float64Array(this.buffer,i,$),i+=8*$;for(let a=0;a<$;++a)this.minVert[a]=new Float64Array(this.buffer,i,3),i+=24;for(let a=0;a<$;++a)this.maxVert[a]=new Float64Array(this.buffer,i,3),i+=24;for(let a=0;a<$;++a)this.minProj[a]=Number.POSITIVE_INFINITY,this.maxProj[a]=Number.NEGATIVE_INFINITY;const n=new Array($),o=new Array($),{data:s,size:e}=t;for(let a=0;a<s.length;a+=e){let t=s[a];t<this.minProj[0]&&(this.minProj[0]=t,n[0]=a),t>this.maxProj[0]&&(this.maxProj[0]=t,o[0]=a),t=s[a+1],t<this.minProj[1]&&(this.minProj[1]=t,n[1]=a),t>this.maxProj[1]&&(this.maxProj[1]=t,o[1]=a),t=s[a+2],t<this.minProj[2]&&(this.minProj[2]=t,n[2]=a),t>this.maxProj[2]&&(this.maxProj[2]=t,o[2]=a),t=s[a]+s[a+1]+s[a+2],t<this.minProj[3]&&(this.minProj[3]=t,n[3]=a),t>this.maxProj[3]&&(this.maxProj[3]=t,o[3]=a),t=s[a]+s[a+1]-s[a+2],t<this.minProj[4]&&(this.minProj[4]=t,n[4]=a),t>this.maxProj[4]&&(this.maxProj[4]=t,o[4]=a),t=s[a]-s[a+1]+s[a+2],t<this.minProj[5]&&(this.minProj[5]=t,n[5]=a),t>this.maxProj[5]&&(this.maxProj[5]=t,o[5]=a),t=s[a]-s[a+1]-s[a+2],t<this.minProj[6]&&(this.minProj[6]=t,n[6]=a),t>this.maxProj[6]&&(this.maxProj[6]=t,o[6]=a)}for(let a=0;a<$;++a){let t=n[a];et(this.minVert[a],s,t),t=o[a],et(this.maxVert[a],s,t)}}}class rt{constructor(){this.b0=a(1,0,0),this.b1=a(0,1,0),this.b2=a(0,0,1),this.quality=0}}function it(t){return t[0]*t[1]+t[0]*t[2]+t[1]*t[2]}function nt(t,r,i){t[0]=r[0]+i[0],t[1]=r[1]+i[1],t[2]=r[2]+i[2]}function ot(t,r,i){t[0]=r[0]-i[0],t[1]=r[1]-i[1],t[2]=r[2]-i[2]}function st(t,r,i){t[0]=r[0]*i,t[1]=r[1]*i,t[2]=r[2]*i}function et(t,r,i=0){t[0]=r[i],t[1]=r[i+1],t[2]=r[i+2]}function at(t,r,i){const n=r[0],o=r[1],s=r[2],e=i[0],a=i[1],c=i[2];t[0]=o*c-s*a,t[1]=s*e-n*c,t[2]=n*a-o*e}function ct(t,r){const i=r[0]*r[0]+r[1]*r[1]+r[2]*r[2];if(i>0){const n=1/Math.sqrt(i);t[0]=r[0]*n,t[1]=r[1]*n,t[2]=r[2]*n}}function mt(t){return t[0]*t[0]+t[1]*t[1]+t[2]*t[2]}function ft(t,r){const i=r[0]-t[0],n=r[1]-t[1],o=r[2]-t[2];return i*i+n*n+o*o}function ht(t,r){return t[0]*r[0]+t[1]*r[1]+t[2]*r[2]}function ut(t,r){const i=r[0]+r[4]+r[8];if(i>0){let n=Math.sqrt(i+1);t[3]=.5*n,n=.5/n,t[0]=(r[5]-r[7])*n,t[1]=(r[6]-r[2])*n,t[2]=(r[1]-r[3])*n}else{let i=0;r[4]>r[0]&&(i=1),r[8]>r[3*i+i]&&(i=2);const n=(i+1)%3,o=(i+2)%3;let s=Math.sqrt(r[3*i+i]-r[3*n+n]-r[3*o+o]+1);t[i]=.5*s,s=.5/s,t[3]=(r[3*n+o]-r[3*o+n])*s,t[n]=(r[3*n+i]+r[3*i+n])*s,t[o]=(r[3*o+i]+r[3*i+o])*s}return t}export{u as computeOBB};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{makeHandle as t}from"../../../../core/handleUtils.js";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import i from"../../layers/FlowSubView3D.js";import{loadImagery as s}from"../../../support/flow/dataUtils.js";let o=class extends i{constructor(e){super(e)}initialize(){this.updatingHandles.add(()=>this.renderedTiles,()=>this.triggerLoad()),this.updatingHandles.add(()=>this.elevationInfo.mode,e=>this._updatePopupDrapeSource(e),{initial:!0})}_updatePopupDrapeSource(e){if("on-the-ground"===e)return void this.removeHandles(a);if(this.hasHandles(a))return;const r={destroyed:!1,drapeSourceType:2,updatePolicy:0,layer:this.layer},i=this.layerView.view.overlayManager;i.registerGeometryDrapeSource(r),this.addHandles(t(()=>i.unregisterDrapeSource(r)),a)}async fetchDataAndGenerateStreamlines(e,t){const{needsMagnitude:r}=this,i=this.getSimulationSettings(e),{size:o,extent:a,timeExtent:n}=e;if(null==i)return;const l=await s(this.layer,a,o[0],o[1],n,t);if(null==l)return null;const d={simulationSettings:i,flowExtentInfo:e.flowExtentInfo,flowData:l,needsMagnitude:r,startPositions:this.startPositions(e)},{streamlines:u}=await this.workerHandle.generateStreamlines(d,t);return u}};o=e([r("esri.views.3d.support.flow.FlowSubViewExtent3D")],o);const a=Symbol("popupDrapeSource");export{o as default};
2
+ import{__decorate as e}from"tslib";import{makeHandle as t}from"../../../../core/handleUtils.js";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import i from"../../layers/FlowSubView3D.js";import{loadImagery as s}from"../../../support/flow/dataUtils.js";let o=class extends i{constructor(e){super(e)}initialize(){this.updatingHandles.add(()=>this.renderedTiles,()=>this.triggerLoad()),this.updatingHandles.add(()=>this.elevationInfo.mode,e=>this._updatePopupDrapeSource(e),{initial:!0})}_updatePopupDrapeSource(e){if("on-the-ground"===e)return void this.removeHandles(n);if(this.hasHandles(n))return;const r={destroyed:!1,drapeSourceType:2,updatePolicy:0,layer:this.layer},i=this.layerView.view.overlayManager;i.registerGeometryDrapeSource(r),this.addHandles(t(()=>i.unregisterDrapeSource(r)),n)}async fetchDataAndGenerateStreamlines(e,t){const{needsMagnitude:r}=this,i=this.getSimulationSettings(e),{size:o,extent:a,timeExtent:n}=e;if(null==i)return;const l=await s(this.layer,a,o[0],o[1],n,t);if(null==l)return null;const d={simulationSettings:i,flowExtentInfo:e.flowExtentInfo,flowData:l,needsMagnitude:r,startPositions:this.startPositions(e)},{streamlines:u}=await this.workerHandle.generateStreamlines(d,t);return u}};o=e([r("esri.views.3d.support.flow.FlowSubViewExtent3D")],o);const a=o,n=Symbol("popupDrapeSource");export{a as default};