@arcgis/core 5.2.0-next.87 → 5.2.0-next.89

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 (679) hide show
  1. package/Graphic.js +1 -1
  2. package/arcade/Dictionary.js +1 -1
  3. package/arcade/Feature.js +1 -1
  4. package/arcade/ImmutablePointArray.js +1 -1
  5. package/arcade/Pixel.js +1 -1
  6. package/arcade/Voxel.js +1 -1
  7. package/arcade/arcadeAsyncRuntime.js +1 -1
  8. package/arcade/arcadeCompiler.js +1 -1
  9. package/arcade/arcadeRuntime.js +1 -1
  10. package/arcade/containerUtils.js +1 -1
  11. package/arcade/debug.js +1 -1
  12. package/arcade/deepClone.js +1 -1
  13. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  14. package/arcade/featureset/support/FeatureSet.js +1 -1
  15. package/arcade/functions/centroid.js +1 -1
  16. package/arcade/functions/date.js +1 -1
  17. package/arcade/functions/feature.js +1 -1
  18. package/arcade/functions/featuresetbase.js +1 -1
  19. package/arcade/functions/featuresetgeom.js +1 -1
  20. package/arcade/functions/featuresetstats.js +1 -1
  21. package/arcade/functions/featuresetstring.js +1 -1
  22. package/arcade/functions/fieldStats.js +1 -1
  23. package/arcade/functions/geomasync.js +1 -1
  24. package/arcade/functions/geometry.js +1 -1
  25. package/arcade/functions/geomsync.js +1 -1
  26. package/arcade/functions/knowledgegraph.js +1 -1
  27. package/arcade/functions/maths.js +1 -1
  28. package/arcade/functions/stats.js +1 -1
  29. package/arcade/functions/string.js +1 -1
  30. package/arcade/functions/track.js +1 -1
  31. package/arcade/geometry/adapters/accessor.js +2 -0
  32. package/arcade/geometry/adapters/dehydrated.js +2 -0
  33. package/arcade/geometry/adapters/gx.js +2 -0
  34. package/arcade/geometry/adapters/json.js +2 -0
  35. package/arcade/geometry/adapters/optimized.js +2 -0
  36. package/arcade/geometry/adapters/tuple.js +2 -0
  37. package/arcade/geometry/adapters/utils.js +2 -0
  38. package/arcade/geometry/arrayOfPointsConversions.js +2 -0
  39. package/arcade/geometry/constructors.js +1 -1
  40. package/arcade/geometry/functions.js +1 -1
  41. package/arcade/geometry/isSelfIntersecting.js +2 -0
  42. package/arcade/geometry/nearestCoordinate.js +2 -0
  43. package/arcade/geometry/nearestVertex.js +1 -1
  44. package/arcade/geometry/operators.js +1 -1
  45. package/arcade/geometry/operatorsWorker.js +1 -1
  46. package/arcade/geometry/rotate.js +1 -1
  47. package/arcade/geometry.js +2 -0
  48. package/arcade/languageUtils.js +1 -1
  49. package/arcade.js +1 -1
  50. package/arcgisGlobal.d.ts +1 -0
  51. package/assets/esri/core/workers/RemoteClient.js +1 -1
  52. package/assets/esri/core/workers/chunks/{0b8c9657975388f1e4c8.js → 00181785a180e934bf7c.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{01e648b258efa6408070.js → 0336f4f8498a22347720.js} +1 -1
  54. package/assets/esri/core/workers/chunks/05393b23ab24126d4236.js +1 -0
  55. package/assets/esri/core/workers/chunks/07613ecf13c38ad58b79.js +1 -0
  56. package/assets/esri/core/workers/chunks/08263c07d92c48806834.js +1 -0
  57. package/assets/esri/core/workers/chunks/090ea7a131f8f60203ed.js +1 -0
  58. package/assets/esri/core/workers/chunks/09e01fd1c199be0c8e03.js +1 -0
  59. package/assets/esri/core/workers/chunks/{12d6d73ca1fa55640a4f.js → 0b4a7209b99227a842ad.js} +1 -1
  60. package/assets/esri/core/workers/chunks/0d95f72e1c07ab867d21.js +1 -0
  61. package/assets/esri/core/workers/chunks/0dbbac7a2378728571a7.js +1 -0
  62. package/assets/esri/core/workers/chunks/0f15468ffefd3e9a17b8.js +29 -0
  63. package/assets/esri/core/workers/chunks/13e92f6a9573a2818fb7.js +1 -0
  64. package/assets/esri/core/workers/chunks/159b16f47665f94a0305.js +1 -0
  65. package/assets/esri/core/workers/chunks/15f4f7e34e14e3cf52e6.js +1 -0
  66. package/assets/esri/core/workers/chunks/19e93d4d37018e3ee849.js +1 -0
  67. package/assets/esri/core/workers/chunks/{911f3a1b8dd4bc5c9782.js → 1bf5c0a4bc5a960a3fa2.js} +1 -1
  68. package/assets/esri/core/workers/chunks/1bf967c68d0c795d3fb4.js +1 -0
  69. package/assets/esri/core/workers/chunks/1c378d489c5402888f76.js +1 -0
  70. package/assets/esri/core/workers/chunks/1d1e8d8b1fcf2d9f3dfc.js +1 -0
  71. package/assets/esri/core/workers/chunks/{e5c8f9fef88ca33624e9.js → 1e087fb13b7b0a5d6fec.js} +1 -1
  72. package/assets/esri/core/workers/chunks/1e192ac0533a5c0b5a7a.js +1 -0
  73. package/assets/esri/core/workers/chunks/1f9d6180a96d557838e9.js +1 -0
  74. package/assets/esri/core/workers/chunks/1fe077f57a087c0e9119.js +1 -0
  75. package/assets/esri/core/workers/chunks/20f6e681ccd8bf884b77.js +1 -0
  76. package/assets/esri/core/workers/chunks/212222b64039d436b9a6.js +1 -0
  77. package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +1 -0
  78. package/assets/esri/core/workers/chunks/23addf8b11938e0c96e9.js +1 -0
  79. package/assets/esri/core/workers/chunks/25a2e02677a74834c8b5.js +1 -0
  80. package/assets/esri/core/workers/chunks/26ecc841396e5e719b6a.js +1 -0
  81. package/assets/esri/core/workers/chunks/27c0bed59626c7f64125.js +1 -0
  82. package/assets/esri/core/workers/chunks/2bc3e7f394386fa75447.js +1 -0
  83. package/assets/esri/core/workers/chunks/2c9783e3b44986e86797.js +1 -0
  84. package/assets/esri/core/workers/chunks/2ceb07b125c84b51f02a.js +1 -0
  85. package/assets/esri/core/workers/chunks/2cf2f2842c19be84ab4d.js +1 -0
  86. package/assets/esri/core/workers/chunks/2d07d5a9ec67c39ef10c.js +1 -0
  87. package/assets/esri/core/workers/chunks/{a7c715648a07ed70b122.js → 2ec44ebc48beeba11201.js} +1 -1
  88. package/assets/esri/core/workers/chunks/2f2d699b072472fa710e.js +1 -0
  89. package/assets/esri/core/workers/chunks/2f3bbc1f7d4abbbeec2f.js +1 -0
  90. package/assets/esri/core/workers/chunks/30af0f7c4cfa541c9efd.js +1 -0
  91. package/assets/esri/core/workers/chunks/30d816bdeea00f6fa1ca.js +1 -0
  92. package/assets/esri/core/workers/chunks/{39c0a3eb6a870953d530.js → 31a0620a6028e94c7532.js} +3 -3
  93. package/assets/esri/core/workers/chunks/32f11b4aeae1ef00e466.js +1 -0
  94. package/assets/esri/core/workers/chunks/37adb55d9f83faad1712.js +1 -0
  95. package/assets/esri/core/workers/chunks/3869dca884d7ca6488f5.js +1 -0
  96. package/assets/esri/core/workers/chunks/39b6a5222f45cb8dbc94.js +1 -0
  97. package/assets/esri/core/workers/chunks/3a9c6f58a1a065c14017.js +1 -0
  98. package/assets/esri/core/workers/chunks/3aceedec9abfb2fdfa18.js +1 -0
  99. package/assets/esri/core/workers/chunks/3b552afffaa78bf4fe18.js +1 -0
  100. package/assets/esri/core/workers/chunks/{fe06cc2f90b2d551e4c1.js → 3bbd2d4a19c3b7ad82e4.js} +1 -1
  101. package/assets/esri/core/workers/chunks/3de07326da4c47cd2aab.js +1 -0
  102. package/assets/esri/core/workers/chunks/3f5234120d3a14186c1c.js +1 -0
  103. package/assets/esri/core/workers/chunks/3f82410d9f701e7ad8eb.js +1 -0
  104. package/assets/esri/core/workers/chunks/{dbd6bbd3e834ff9d220e.js → 41cf6163758d28fb1968.js} +1 -1
  105. package/assets/esri/core/workers/chunks/45858d1c6487f4a98e40.js +1 -0
  106. package/assets/esri/core/workers/chunks/45c1c90ac6c14657f3ff.js +1 -0
  107. package/assets/esri/core/workers/chunks/46f8c7ae7fb356c3410d.js +1 -0
  108. package/assets/esri/core/workers/chunks/486f1a3b7269ce6c3911.js +1 -0
  109. package/assets/esri/core/workers/chunks/497c5a9c95e9a89ac217.js +1 -0
  110. package/assets/esri/core/workers/chunks/49d36e54644dc2966128.js +1 -0
  111. package/assets/esri/core/workers/chunks/4aefe6fd4d725a107758.js +1 -0
  112. package/assets/esri/core/workers/chunks/4b6f433022a6822706cb.js +1 -0
  113. package/assets/esri/core/workers/chunks/4c7264e3f4156f92d613.js +1 -0
  114. package/assets/esri/core/workers/chunks/4ee99e654dad6f09abee.js +1 -0
  115. package/assets/esri/core/workers/chunks/50525b617ef78086d3c7.js +1 -0
  116. package/assets/esri/core/workers/chunks/{a7727a2377470d586ff9.js → 51c9bd7c03d780fadebc.js} +1 -1
  117. package/assets/esri/core/workers/chunks/5235b9c21ac4156c2375.js +1 -0
  118. package/assets/esri/core/workers/chunks/52422500ca3d6cf2e596.js +1 -0
  119. package/assets/esri/core/workers/chunks/527b87fddf33bb5d519e.js +1 -0
  120. package/assets/esri/core/workers/chunks/{a4bae2396fae48b57047.js → 595edbc1e9bba47d5676.js} +1 -1
  121. package/assets/esri/core/workers/chunks/5af16937904c06fb06f6.js +1 -0
  122. package/assets/esri/core/workers/chunks/5bf65dbfd9c7a5ea187d.js +1 -0
  123. package/assets/esri/core/workers/chunks/5d7a5aa608ed6192b016.js +1 -0
  124. package/assets/esri/core/workers/chunks/5d9c92c4e60a4696fdad.js +1 -0
  125. package/assets/esri/core/workers/chunks/5ed7bc9e6cb7cdee92e2.js +1 -0
  126. package/assets/esri/core/workers/chunks/{272c8ccdbd3dcc14e99b.js → 5ed89c862eee1345e3af.js} +1 -1
  127. package/assets/esri/core/workers/chunks/5fbd7d8d8896a224fff3.js +1 -0
  128. package/assets/esri/core/workers/chunks/607acd9f615f87e14075.js +1 -0
  129. package/assets/esri/core/workers/chunks/62ee6c247f783acabb74.js +1 -0
  130. package/assets/esri/core/workers/chunks/64ce2d060ae7cdd412cf.js +1 -0
  131. package/assets/esri/core/workers/chunks/65f4ca7201e7267bfc81.js +1 -0
  132. package/assets/esri/core/workers/chunks/67efdd296007a809586c.js +1 -0
  133. package/assets/esri/core/workers/chunks/680557b8832fbdab7f46.js +1 -0
  134. package/assets/esri/core/workers/chunks/691434d4c6a38e63d819.js +1 -0
  135. package/assets/esri/core/workers/chunks/{ba67aaa08e4f11e1140a.js → 696cb3bf167327d5b0b9.js} +1 -1
  136. package/assets/esri/core/workers/chunks/69700ed16727ed0c4e3a.js +1 -0
  137. package/assets/esri/core/workers/chunks/6a2d890640b2cd6c5ccb.js +1 -0
  138. package/assets/esri/core/workers/chunks/6b84982dfaf084a61b93.js +1 -0
  139. package/assets/esri/core/workers/chunks/{7343a44a2382a1d68497.js → 6b9dbf43c0659e55c539.js} +1 -1
  140. package/assets/esri/core/workers/chunks/6de5c6af62776e1b9776.js +1 -0
  141. package/assets/esri/core/workers/chunks/71308dca3fd05687e7bd.js +1 -0
  142. package/assets/esri/core/workers/chunks/75bddfe2be64379db8fd.js +1 -0
  143. package/assets/esri/core/workers/chunks/777f2fdf1f4b9f243893.js +1 -0
  144. package/assets/esri/core/workers/chunks/78085f804969c9282700.js +1 -0
  145. package/assets/esri/core/workers/chunks/7aa9b61ca9b66f30449f.js +1 -0
  146. package/assets/esri/core/workers/chunks/7c56446184abcd14678b.js +1 -0
  147. package/assets/esri/core/workers/chunks/7e41cee4a0ae75e1490d.js +1 -0
  148. package/assets/esri/core/workers/chunks/7f55a150e4da02786311.js +1 -0
  149. package/assets/esri/core/workers/chunks/847b02d188ece9b563ad.js +1 -0
  150. package/assets/esri/core/workers/chunks/86c3d3c7015f1cd55fac.js +1 -0
  151. package/assets/esri/core/workers/chunks/87e0ceb1a64ab08e679a.js +1 -0
  152. package/assets/esri/core/workers/chunks/903c7bd079888f65fef1.js +1 -0
  153. package/assets/esri/core/workers/chunks/9226205850e35b7fc610.js +1 -0
  154. package/assets/esri/core/workers/chunks/94453d075ce02eff4844.js +1 -0
  155. package/assets/esri/core/workers/chunks/9474c913e53f69679197.js +1 -0
  156. package/assets/esri/core/workers/chunks/94ddfe165ac25aef8229.js +1 -0
  157. package/assets/esri/core/workers/chunks/{75a2c43311f5f9058f62.js → 94f62ff81cc6fb83e73f.js} +1 -1
  158. package/assets/esri/core/workers/chunks/95ccac3734ac70387b03.js +1 -0
  159. package/assets/esri/core/workers/chunks/97c7dfd29ad4c2966cb4.js +1 -0
  160. package/assets/esri/core/workers/chunks/{1354b8442c2c501238f1.js → 986c5024f22bbfc49aba.js} +1 -1
  161. package/assets/esri/core/workers/chunks/9b81bd62a2c72f592db1.js +1 -0
  162. package/assets/esri/core/workers/chunks/{62596065747abce1964d.js → 9b8e33985310f281f084.js} +1 -1
  163. package/assets/esri/core/workers/chunks/9e2b3754a76e0dd4a94a.js +1 -0
  164. package/assets/esri/core/workers/chunks/a03e7333e3328036f478.js +1 -0
  165. package/assets/esri/core/workers/chunks/a0565137027c83108953.js +1 -0
  166. package/assets/esri/core/workers/chunks/a176727a1148ca4fb432.js +1 -0
  167. package/assets/esri/core/workers/chunks/a3b403f8acb90af19adb.js +1 -0
  168. package/assets/esri/core/workers/chunks/a4596f028758649da099.js +1 -0
  169. package/assets/esri/core/workers/chunks/a46ac0be9aabc4cfedc7.js +1 -0
  170. package/assets/esri/core/workers/chunks/a4a22149077c7780481c.js +1 -0
  171. package/assets/esri/core/workers/chunks/a6ab627e965fe7e5bd52.js +1 -0
  172. package/assets/esri/core/workers/chunks/a6d4132a16c51323a38a.js +1 -0
  173. package/assets/esri/core/workers/chunks/a7954ad55a241af9064f.js +1 -0
  174. package/assets/esri/core/workers/chunks/a7e6382ecc91c876117f.js +1 -0
  175. package/assets/esri/core/workers/chunks/a88bf8ae93077e1b48cf.js +1 -0
  176. package/assets/esri/core/workers/chunks/a8b878c12cb1a6ea012b.js +1 -0
  177. package/assets/esri/core/workers/chunks/{ec0803cfa5051c4d300d.js → aa0ef4493a7e9bed159f.js} +1 -1
  178. package/assets/esri/core/workers/chunks/aa8ab28e0c1ae3b55ac0.js +1 -0
  179. package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +1 -0
  180. package/assets/esri/core/workers/chunks/{bbf4c2ee4d56bb0f1a81.js → afa6b74d9ca9ed0154af.js} +1 -1
  181. package/assets/esri/core/workers/chunks/b0e25ccb5a1e57a82628.js +1 -0
  182. package/assets/esri/core/workers/chunks/b17a9853250ab626d58d.js +1 -0
  183. package/assets/esri/core/workers/chunks/b19cff0e43fab2632660.js +1 -0
  184. package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +1 -0
  185. package/assets/esri/core/workers/chunks/b6063d1755def00d4889.js +1 -0
  186. package/assets/esri/core/workers/chunks/bb56ab53c5a10c9518a6.js +1 -0
  187. package/assets/esri/core/workers/chunks/bd1a7e95a797e1ed4a7b.js +1 -0
  188. package/assets/esri/core/workers/chunks/bd2602195e265f8fdb15.js +1 -0
  189. package/assets/esri/core/workers/chunks/bdfffa5f88b559a4b42d.js +1 -0
  190. package/assets/esri/core/workers/chunks/{f762f0f6c83748d8e328.js → bee411f08e2a9499f8f5.js} +1 -1
  191. package/assets/esri/core/workers/chunks/bf11319138facf44752c.js +1 -0
  192. package/assets/esri/core/workers/chunks/bf357afbabaa8dec4d75.js +1 -0
  193. package/assets/esri/core/workers/chunks/bf7875fda48b15271a10.js +1 -0
  194. package/assets/esri/core/workers/chunks/bfa59005a9b191d18546.js +1 -0
  195. package/assets/esri/core/workers/chunks/bfb8fc6b940bd5510e29.js +1 -0
  196. package/assets/esri/core/workers/chunks/{b311658b8a223efe35d6.js → c0e073a77484b0dfd383.js} +1 -1
  197. package/assets/esri/core/workers/chunks/c13aa45ccd5efb662f88.js +1 -0
  198. package/assets/esri/core/workers/chunks/c176df477bbbbc9c6922.js +1 -0
  199. package/assets/esri/core/workers/chunks/{073224c6ac77dc9e97af.js → c23943e51734254d31e8.js} +1 -1
  200. package/assets/esri/core/workers/chunks/c35553d07ad169910742.js +1 -0
  201. package/assets/esri/core/workers/chunks/c4fef90cf08bbe4f0bb5.js +1 -0
  202. package/assets/esri/core/workers/chunks/c5c2fed38e0ccf84f1fa.js +1 -0
  203. package/assets/esri/core/workers/chunks/c80277a313205853a857.js +1 -0
  204. package/assets/esri/core/workers/chunks/c88bfa51d2a8a024fc24.js +1 -0
  205. package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +1 -0
  206. package/assets/esri/core/workers/chunks/ca204c110438f7315790.js +1 -0
  207. package/assets/esri/core/workers/chunks/ca36d85a47179d95f2fc.js +1 -0
  208. package/assets/esri/core/workers/chunks/cb6fb04fe5c8d90d4196.js +1 -0
  209. package/assets/esri/core/workers/chunks/ccaeabc3be07f3c96f50.js +1 -0
  210. package/assets/esri/core/workers/chunks/{85f459297b0214141d43.js → cd02a6078443b8f63927.js} +1 -1
  211. package/assets/esri/core/workers/chunks/{3a36c132ceddef3d15c8.js → cdbcc4cd9145dd93db49.js} +1 -1
  212. package/assets/esri/core/workers/chunks/{e90feee1756a2209f93f.js → ce9fe1a89b474f9e7ee7.js} +1 -1
  213. package/assets/esri/core/workers/chunks/d0cf9ff48f051adbd455.js +1 -0
  214. package/assets/esri/core/workers/chunks/d119671a32a050517cca.js +1 -0
  215. package/assets/esri/core/workers/chunks/d26be8313526ecea9c68.js +1 -0
  216. package/assets/esri/core/workers/chunks/d270b49c037085503016.js +1 -0
  217. package/assets/esri/core/workers/chunks/{f5eee6e548bb24b5a003.js → d30a7fc8dab4ebb8893b.js} +1 -1
  218. package/assets/esri/core/workers/chunks/d344c3fd9f6b113bbcd7.js +1 -0
  219. package/assets/esri/core/workers/chunks/d36bbda9b7261534568f.js +1 -0
  220. package/assets/esri/core/workers/chunks/d4b0012ae1d3b8a9ba01.js +1 -0
  221. package/assets/esri/core/workers/chunks/d58d6b55b2749a535eb3.js +1 -0
  222. package/assets/esri/core/workers/chunks/d6f7aa280f1bd201d4ef.js +1 -0
  223. package/assets/esri/core/workers/chunks/{60f490afdbe299f89669.js → d871572997600930e017.js} +1 -1
  224. package/assets/esri/core/workers/chunks/da9aacdb0b4a04f42fb8.js +1 -0
  225. package/assets/esri/core/workers/chunks/daf7b647bd960d8bad56.js +1 -0
  226. package/assets/esri/core/workers/chunks/{10ac92dcd3738ec23dfb.js → db04c1bad40d068306ba.js} +1 -1
  227. package/assets/esri/core/workers/chunks/{3427f0c026301bcf7272.js → db180f8d25471cfa48af.js} +1 -1
  228. package/assets/esri/core/workers/chunks/ddf284648a73b6993737.js +1 -0
  229. package/assets/esri/core/workers/chunks/dfbe0efe453587ec5eb2.js +1 -0
  230. package/assets/esri/core/workers/chunks/e1682e94cc714197ebb4.js +1 -0
  231. package/assets/esri/core/workers/chunks/e2576c37cf13dc421f69.js +1 -0
  232. package/assets/esri/core/workers/chunks/e370a3337b3c90240e73.js +1 -0
  233. package/assets/esri/core/workers/chunks/e39bccc000c768120a32.js +1 -0
  234. package/assets/esri/core/workers/chunks/e40e08029325f43452d0.js +1 -0
  235. package/assets/esri/core/workers/chunks/e50adcfb392adfb3f79c.js +1 -0
  236. package/assets/esri/core/workers/chunks/{0d7d54e74b5639a0be6e.js → e707534a700a2de687ca.js} +1 -1
  237. package/assets/esri/core/workers/chunks/e823c9ccb7bc348d8824.js +1 -0
  238. package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +1 -0
  239. package/assets/esri/core/workers/chunks/e9f29019aa78f07ace66.js +1 -0
  240. package/assets/esri/core/workers/chunks/ea75c23c44452f45a949.js +1 -0
  241. package/assets/esri/core/workers/chunks/ea91c57a0b31f3f65ee5.js +1 -0
  242. package/assets/esri/core/workers/chunks/eda04911553cf99fb99b.js +1 -0
  243. package/assets/esri/core/workers/chunks/ee77999df3785468b2b6.js +1 -0
  244. package/assets/esri/core/workers/chunks/ef851a2cff76fd211c07.js +1 -0
  245. package/assets/esri/core/workers/chunks/f106cc7f559856f69b9f.js +1 -0
  246. package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +1 -0
  247. package/assets/esri/core/workers/chunks/{a26dc2647a15b830390e.js → f253875feb11883deb84.js} +1 -1
  248. package/assets/esri/core/workers/chunks/f3716ce04d09af31cfb1.js +1 -0
  249. package/assets/esri/core/workers/chunks/f3d57c5b9dffd12e45b4.js +1 -0
  250. package/assets/esri/core/workers/chunks/f3e53be08ab9dbdf17ae.js +1 -0
  251. package/assets/esri/core/workers/chunks/f43ae1c2f89e1c4396cc.js +1 -0
  252. package/assets/esri/core/workers/chunks/f60ed579981913d44675.js +1 -0
  253. package/assets/esri/core/workers/chunks/{147d1e7e2852a4197e5f.js → f665fb4c5633e0a459d8.js} +1 -1
  254. package/assets/esri/core/workers/chunks/f66e597e524b26e61cd3.js +1 -0
  255. package/assets/esri/core/workers/chunks/{bec140a69cfdb0519680.js → f74c7cbe4bd12f73ae90.js} +1 -1
  256. package/assets/esri/core/workers/chunks/{e6f6b38eda34708d61c5.js → f7f2102b16d201e5f531.js} +1 -1
  257. package/assets/esri/core/workers/chunks/f82ae237452b97cfc024.js +1 -0
  258. package/assets/esri/core/workers/chunks/f83c3597e9332bd991eb.js +1 -0
  259. package/assets/esri/core/workers/chunks/f8a6d8cdcabcd1d511b6.js +1 -0
  260. package/assets/esri/core/workers/chunks/f8f7b86bbd62106bc3d4.js +1 -0
  261. package/assets/esri/core/workers/chunks/f9a4387f850d85c44ca5.js +1 -0
  262. package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +1 -0
  263. package/assets/esri/core/workers/chunks/fdd0e6d9927d3c43b0d3.js +1 -0
  264. package/assets/esri/core/workers/chunks/fddcb8be714ad18ad0c8.js +1 -0
  265. package/assets/esri/core/workers/chunks/{baa46edd87e97f922128.js → ffe749d790320dddfa74.js} +1 -1
  266. package/chunks/Bufferer-CclWhXVb.js +1 -1
  267. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  268. package/chunks/Envelope.js +1 -1
  269. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  270. package/chunks/GeodeticUtils.js +1 -1
  271. package/chunks/GeographicTransformation.js +1 -1
  272. package/chunks/Geometry.js +1 -1
  273. package/chunks/GlowComposite.glsl.js +9 -7
  274. package/chunks/MultiPathImpl.js +1 -1
  275. package/chunks/OperatorCentroid2D.js +1 -1
  276. package/chunks/OperatorContains.js +2 -0
  277. package/chunks/OperatorCrosses.js +1 -1
  278. package/chunks/OperatorCut.js +1 -1
  279. package/chunks/OperatorDisjoint.js +2 -0
  280. package/chunks/OperatorDistance.js +2 -0
  281. package/chunks/OperatorEquals.js +2 -0
  282. package/chunks/OperatorGeodesicBuffer.js +1 -1
  283. package/chunks/OperatorGeodeticArea.js +1 -1
  284. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  285. package/chunks/OperatorGeodeticLength.js +1 -1
  286. package/chunks/OperatorGraphicBuffer.js +1 -1
  287. package/chunks/OperatorIntegrate.js +1 -1
  288. package/chunks/OperatorIntersects.js +1 -1
  289. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  290. package/chunks/OperatorOverlaps.js +1 -1
  291. package/chunks/OperatorProximity.js +1 -1
  292. package/chunks/OperatorProximityGeodesic.js +1 -1
  293. package/chunks/OperatorRelate.js +2 -0
  294. package/chunks/OperatorShapePreservingLength.js +1 -1
  295. package/chunks/OperatorShapePreservingProject.js +1 -1
  296. package/chunks/OperatorSimplifyOGC.js +1 -1
  297. package/chunks/OperatorTouches.js +1 -1
  298. package/chunks/OperatorWithin.js +1 -1
  299. package/chunks/Point2D.js +1 -1
  300. package/chunks/ProjectionTransformation.js +1 -1
  301. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  302. package/chunks/UnitFactory.js +1 -1
  303. package/chunks/aiServices.js +1 -1
  304. package/chunks/array.js +1 -1
  305. package/chunks/boundedPlane.js +1 -1
  306. package/chunks/cameraUtilsSpherical.js +1 -1
  307. package/chunks/languageUtils.js +1 -1
  308. package/config.js +1 -1
  309. package/core/accessorSupport/Property.js +1 -1
  310. package/core/sql/TimeOnly.js +1 -1
  311. package/core/units.js +1 -1
  312. package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
  313. package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
  314. package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
  315. package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
  316. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  317. package/form/elements/inputs/inputUtils.js +1 -1
  318. package/geometry/operators/areaOperator.js +1 -1
  319. package/geometry/operators/bufferOperator.js +1 -1
  320. package/geometry/operators/centroidOperator.js +1 -1
  321. package/geometry/operators/clipOperator.js +1 -1
  322. package/geometry/operators/containsOperator.js +1 -1
  323. package/geometry/operators/convexHullOperator.js +1 -1
  324. package/geometry/operators/crossesOperator.js +1 -1
  325. package/geometry/operators/cutOperator.js +1 -1
  326. package/geometry/operators/densifyOperator.js +1 -1
  327. package/geometry/operators/differenceOperator.js +1 -1
  328. package/geometry/operators/disjointOperator.js +1 -1
  329. package/geometry/operators/distanceOperator.js +1 -1
  330. package/geometry/operators/equalsOperator.js +1 -1
  331. package/geometry/operators/generalizeOperator.js +1 -1
  332. package/geometry/operators/geodesicBufferOperator.js +1 -1
  333. package/geometry/operators/geodeticAreaOperator.js +1 -1
  334. package/geometry/operators/geodeticDensifyOperator.js +1 -1
  335. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  336. package/geometry/operators/geodeticLengthOperator.js +1 -1
  337. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  338. package/geometry/operators/gx/operatorBuffer.js +1 -1
  339. package/geometry/operators/gx/operatorDifference.js +1 -1
  340. package/geometry/operators/gx/operatorIntersection.js +1 -1
  341. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  342. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  343. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  344. package/geometry/operators/gx/operatorSimplify.js +1 -1
  345. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  346. package/geometry/operators/gx/operatorUnion.js +1 -1
  347. package/geometry/operators/intersectionOperator.js +1 -1
  348. package/geometry/operators/intersectsOperator.js +1 -1
  349. package/geometry/operators/json/containsOperator.js +1 -1
  350. package/geometry/operators/json/crossesOperator.js +1 -1
  351. package/geometry/operators/json/disjointOperator.js +1 -1
  352. package/geometry/operators/json/intersectsOperator.js +1 -1
  353. package/geometry/operators/json/overlapsOperator.js +1 -1
  354. package/geometry/operators/json/touchesOperator.js +1 -1
  355. package/geometry/operators/json/unionOperator.js +1 -1
  356. package/geometry/operators/json/withinOperator.js +1 -1
  357. package/geometry/operators/labelPointOperator.js +1 -1
  358. package/geometry/operators/lengthOperator.js +1 -1
  359. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  360. package/geometry/operators/offsetOperator.js +1 -1
  361. package/geometry/operators/overlapsOperator.js +1 -1
  362. package/geometry/operators/proximityOperator.js +1 -1
  363. package/geometry/operators/relateOperator.js +1 -1
  364. package/geometry/operators/reshapeOperator.js +1 -1
  365. package/geometry/operators/simplifyOGCOperator.js +1 -1
  366. package/geometry/operators/simplifyOperator.js +1 -1
  367. package/geometry/operators/support/apiConverter.js +1 -1
  368. package/geometry/operators/support/jsonConverter.js +1 -1
  369. package/geometry/operators/support/projectionTransformation.js +1 -1
  370. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  371. package/geometry/operators/touchesOperator.js +1 -1
  372. package/geometry/operators/unionOperator.js +1 -1
  373. package/geometry/operators/withinOperator.js +1 -1
  374. package/geometry/support/convexPolyhedron.js +1 -1
  375. package/geometry/support/curves/circleUtils.js +1 -1
  376. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  377. package/geometry/support/frustum.js +1 -1
  378. package/geometry/support/plane.js +1 -1
  379. package/geometry/support/webMercatorUtils.js +1 -1
  380. package/kernel.js +1 -1
  381. package/layers/VectorTileLayer.js +1 -1
  382. package/layers/graphics/data/FlatFeatureStore.js +1 -1
  383. package/layers/graphics/data/QueryEngine.js +1 -1
  384. package/layers/graphics/hydratedFeatures.js +1 -1
  385. package/layers/mixins/DataSeriesLayer.js +1 -1
  386. package/layers/support/csvUtils.js +1 -1
  387. package/layers/support/fieldUtils.js +1 -1
  388. package/layers/video/VideoController.js +1 -1
  389. package/package.json +4 -4
  390. package/support/ArcadeExpression.js +1 -1
  391. package/support/arcadeUtils.js +1 -1
  392. package/support/loadArcade.js +1 -1
  393. package/support/revision.js +1 -1
  394. package/support/tests/serviceMockDependencies.js +1 -1
  395. package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
  396. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementController.js +1 -1
  397. package/views/2d/engine/vectorTiles/TileManager.js +1 -1
  398. package/views/2d/engine/webgl/util/Fader.js +1 -1
  399. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  400. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
  401. package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
  402. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  403. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  404. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  405. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
  406. package/views/3d/input/SceneInputManager.js +1 -1
  407. package/views/3d/input/handlers/RopePullNavigation.js +2 -0
  408. package/views/3d/layers/I3SMeshView3D.js +1 -1
  409. package/views/3d/layers/IntegratedMeshNormals.js +1 -1
  410. package/views/3d/layers/TiledLayerView3D.js +1 -1
  411. package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
  412. package/views/3d/layers/i3s/I3SNode.js +1 -1
  413. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  414. package/views/3d/layers/i3s/SweptSphereVolume.js +1 -1
  415. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  416. package/views/3d/layers/support/IntegratedMesh3DTilesVertexProcessing.js +1 -1
  417. package/views/3d/state/Frustum.js +1 -1
  418. package/views/3d/state/controllers/RopePullController.js +2 -0
  419. package/views/3d/state/utils/ropePullUtils.js +1 -1
  420. package/views/3d/support/ElevationAgnosticVisibility.js +1 -1
  421. package/views/3d/support/sphericalTileUtils.js +1 -1
  422. package/views/3d/terrain/PlanarPatch.js +1 -1
  423. package/views/3d/terrain/SphericalPatch.js +1 -1
  424. package/views/3d/terrain/Tile.js +1 -1
  425. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  426. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  427. package/views/3d/webgl-engine/lib/LineMaterial.js +2 -0
  428. package/views/3d/webgl-engine/lib/Material.js +1 -1
  429. package/views/3d/webgl-engine/lib/PointMaterial.js +2 -0
  430. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  431. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  432. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  433. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  434. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  435. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  436. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  437. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  438. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  439. package/views/SelectionManager.js +1 -1
  440. package/views/draw/DrawTool.js +1 -1
  441. package/views/draw/support/createUtils.js +1 -1
  442. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  443. package/views/interactive/sketch/constraints.js +1 -1
  444. package/views/popupAdapter.js +1 -1
  445. package/views/support/GeometryWorker.js +1 -1
  446. package/views/support/geometry3dUtils.js +1 -1
  447. package/views/support/selectionUtils.js +1 -1
  448. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  449. package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
  450. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  451. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  452. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  453. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  454. package/widgets/FeatureTable/support/types.d.ts +3 -1
  455. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  456. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  457. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  458. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  459. package/widgets/OrientedImageryViewer/support/panConstraint.js +1 -1
  460. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  461. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  462. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  463. package/widgets/support/SelectionList/selectionListUtils.d.ts +58 -0
  464. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  465. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  466. package/arcade/kernel.js +0 -2
  467. package/assets/esri/core/workers/chunks/01b7babaefe6500fd6eb.js +0 -1
  468. package/assets/esri/core/workers/chunks/06e109e92de7fa0956e3.js +0 -1
  469. package/assets/esri/core/workers/chunks/0775d1e3034d5e7ef7bc.js +0 -1
  470. package/assets/esri/core/workers/chunks/0993e51d3a9701ed2198.js +0 -1
  471. package/assets/esri/core/workers/chunks/09a0a1e794ddff65aa08.js +0 -1
  472. package/assets/esri/core/workers/chunks/0e57d33bd202d0972207.js +0 -1
  473. package/assets/esri/core/workers/chunks/114ba901fd319ce87dc6.js +0 -1
  474. package/assets/esri/core/workers/chunks/12a3b55195ce3244259d.js +0 -1
  475. package/assets/esri/core/workers/chunks/151bac9e519a3b821baf.js +0 -1
  476. package/assets/esri/core/workers/chunks/156f85ac1885464f0072.js +0 -1
  477. package/assets/esri/core/workers/chunks/180eebd8b7badc2840c9.js +0 -1
  478. package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +0 -1
  479. package/assets/esri/core/workers/chunks/19d4ecee1c161ac0f33c.js +0 -1
  480. package/assets/esri/core/workers/chunks/19ece9f5313f53384cac.js +0 -1
  481. package/assets/esri/core/workers/chunks/1d770e8f0fe57d937daa.js +0 -1
  482. package/assets/esri/core/workers/chunks/1dd22b8df6a52277c64b.js +0 -1
  483. package/assets/esri/core/workers/chunks/1ede298ab815e9ad625c.js +0 -1
  484. package/assets/esri/core/workers/chunks/208bc524bd1e0d3aab79.js +0 -1
  485. package/assets/esri/core/workers/chunks/20a4ae83542c7d39cf0f.js +0 -1
  486. package/assets/esri/core/workers/chunks/21071ab3d7b2771406ae.js +0 -1
  487. package/assets/esri/core/workers/chunks/21bfa89363104f041101.js +0 -1
  488. package/assets/esri/core/workers/chunks/21d0a4d6639d32278f11.js +0 -1
  489. package/assets/esri/core/workers/chunks/22a75fdc6ba60213a870.js +0 -1
  490. package/assets/esri/core/workers/chunks/22e004ed97e06536ecef.js +0 -1
  491. package/assets/esri/core/workers/chunks/23942712a3f6290e0fdb.js +0 -1
  492. package/assets/esri/core/workers/chunks/242287de82586d42f0a4.js +0 -1
  493. package/assets/esri/core/workers/chunks/25cb5086eaa412f6820b.js +0 -1
  494. package/assets/esri/core/workers/chunks/26c8ed0aef59ed6d5267.js +0 -1
  495. package/assets/esri/core/workers/chunks/2742d62fceaf0736aef0.js +0 -1
  496. package/assets/esri/core/workers/chunks/276eba546dc8774076ee.js +0 -1
  497. package/assets/esri/core/workers/chunks/28e02b213da9e682d3dc.js +0 -29
  498. package/assets/esri/core/workers/chunks/2d8195231cb16247f198.js +0 -1
  499. package/assets/esri/core/workers/chunks/2db1227ecd421728630d.js +0 -1
  500. package/assets/esri/core/workers/chunks/2ddc9c9ff6ec243d85e2.js +0 -1
  501. package/assets/esri/core/workers/chunks/2e712154ebb895d96ba1.js +0 -1
  502. package/assets/esri/core/workers/chunks/2f2df51d4976ae65edae.js +0 -1
  503. package/assets/esri/core/workers/chunks/32d31fd4cffdf5a80acb.js +0 -1
  504. package/assets/esri/core/workers/chunks/33aaa5a49e396a0aca47.js +0 -1
  505. package/assets/esri/core/workers/chunks/35622088727e120c93b9.js +0 -1
  506. package/assets/esri/core/workers/chunks/3714cc26f446c4d9cc2c.js +0 -1
  507. package/assets/esri/core/workers/chunks/3722d40d161d60370936.js +0 -1
  508. package/assets/esri/core/workers/chunks/3ac4cfeb1af12a9dc27d.js +0 -1
  509. package/assets/esri/core/workers/chunks/3b009c05eaec5a7048a8.js +0 -1
  510. package/assets/esri/core/workers/chunks/3b376318df4ff8519370.js +0 -1
  511. package/assets/esri/core/workers/chunks/3bf37fd3280f4891c76b.js +0 -1
  512. package/assets/esri/core/workers/chunks/3d18a10a1ecfabe92db3.js +0 -1
  513. package/assets/esri/core/workers/chunks/3de20165796fa4f76728.js +0 -1
  514. package/assets/esri/core/workers/chunks/3fbd4c7e25440c4713f2.js +0 -1
  515. package/assets/esri/core/workers/chunks/407dba2be21255eb47fc.js +0 -1
  516. package/assets/esri/core/workers/chunks/414093fa4957d17bf551.js +0 -1
  517. package/assets/esri/core/workers/chunks/44b1a4e8a65221ad3808.js +0 -1
  518. package/assets/esri/core/workers/chunks/48b31b8534e7bfe42976.js +0 -1
  519. package/assets/esri/core/workers/chunks/48f6af09436723f2d861.js +0 -1
  520. package/assets/esri/core/workers/chunks/49e37f653b81f9e4f7cc.js +0 -1
  521. package/assets/esri/core/workers/chunks/4b4221a869b3f0d517fa.js +0 -1
  522. package/assets/esri/core/workers/chunks/4b86bcde5992eb752ab0.js +0 -1
  523. package/assets/esri/core/workers/chunks/4b9095e2bd060efd47c4.js +0 -1
  524. package/assets/esri/core/workers/chunks/5084de4d0d4961b63ab7.js +0 -1
  525. package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +0 -1
  526. package/assets/esri/core/workers/chunks/5324e4feb78203204c0c.js +0 -1
  527. package/assets/esri/core/workers/chunks/5536cee0dfc183584a9b.js +0 -1
  528. package/assets/esri/core/workers/chunks/58d10928959ae1e2e8d9.js +0 -1
  529. package/assets/esri/core/workers/chunks/597a8e3d9e458298fdd3.js +0 -1
  530. package/assets/esri/core/workers/chunks/5a006ff759fad9fc25cb.js +0 -1
  531. package/assets/esri/core/workers/chunks/60be6de19c5659091d8f.js +0 -1
  532. package/assets/esri/core/workers/chunks/61a38237e163b39520e5.js +0 -1
  533. package/assets/esri/core/workers/chunks/61fcdba6f2097378dce5.js +0 -1
  534. package/assets/esri/core/workers/chunks/6561c01c67db1f4c546e.js +0 -1
  535. package/assets/esri/core/workers/chunks/65eff0ae773505495f21.js +0 -1
  536. package/assets/esri/core/workers/chunks/67452ba9e87962b9e01e.js +0 -1
  537. package/assets/esri/core/workers/chunks/68195277046861ed39a7.js +0 -1
  538. package/assets/esri/core/workers/chunks/68705692335d57522030.js +0 -1
  539. package/assets/esri/core/workers/chunks/6a2a4da3a1cd64ff576f.js +0 -1
  540. package/assets/esri/core/workers/chunks/6af1680771fd8ae8c7dc.js +0 -1
  541. package/assets/esri/core/workers/chunks/6c367de583e0e657ca3a.js +0 -1
  542. package/assets/esri/core/workers/chunks/6d2021a0f0c9a3c6a0e6.js +0 -1
  543. package/assets/esri/core/workers/chunks/6db4a4f9a9ce7cc738d0.js +0 -1
  544. package/assets/esri/core/workers/chunks/6f2a9259240769c7cd6e.js +0 -1
  545. package/assets/esri/core/workers/chunks/724260e36efea90585f4.js +0 -1
  546. package/assets/esri/core/workers/chunks/74ae1222787389d5fcaa.js +0 -1
  547. package/assets/esri/core/workers/chunks/74bfaa98da6c5d375f05.js +0 -1
  548. package/assets/esri/core/workers/chunks/7a68a16f7fea712b9fd6.js +0 -1
  549. package/assets/esri/core/workers/chunks/7b2174b19d06c16715f0.js +0 -1
  550. package/assets/esri/core/workers/chunks/7d8e59ad438fb34b476d.js +0 -1
  551. package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
  552. package/assets/esri/core/workers/chunks/80795118467fb31ea4ed.js +0 -1
  553. package/assets/esri/core/workers/chunks/820c530b8765ecb1f36e.js +0 -1
  554. package/assets/esri/core/workers/chunks/830daaca32352da6eebe.js +0 -1
  555. package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
  556. package/assets/esri/core/workers/chunks/85c538bf1209f0da1f8e.js +0 -1
  557. package/assets/esri/core/workers/chunks/8c2921081ca3e7fd0385.js +0 -1
  558. package/assets/esri/core/workers/chunks/8db3fd97e8eccd3ba1db.js +0 -1
  559. package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +0 -1
  560. package/assets/esri/core/workers/chunks/8e79a84e224d05204e7d.js +0 -1
  561. package/assets/esri/core/workers/chunks/8e9aff66a2d4e2cc102b.js +0 -1
  562. package/assets/esri/core/workers/chunks/917318f8e186f466dc52.js +0 -1
  563. package/assets/esri/core/workers/chunks/9267f6a65c2245696eac.js +0 -1
  564. package/assets/esri/core/workers/chunks/9407db0584c730591161.js +0 -1
  565. package/assets/esri/core/workers/chunks/958e161634b5bfd50625.js +0 -1
  566. package/assets/esri/core/workers/chunks/9658b46a7111cda53b0d.js +0 -1
  567. package/assets/esri/core/workers/chunks/974bcaf2a059b8cfb153.js +0 -1
  568. package/assets/esri/core/workers/chunks/99881d0a6c2490a16268.js +0 -1
  569. package/assets/esri/core/workers/chunks/99980c944acb8ff88d6a.js +0 -1
  570. package/assets/esri/core/workers/chunks/9c227785f4454d3966ea.js +0 -1
  571. package/assets/esri/core/workers/chunks/9d61d9136f3d00aab530.js +0 -1
  572. package/assets/esri/core/workers/chunks/9df2685583393a87df2d.js +0 -1
  573. package/assets/esri/core/workers/chunks/9e840a71906c4deef776.js +0 -1
  574. package/assets/esri/core/workers/chunks/9ee6e8a6b9bfda758c21.js +0 -1
  575. package/assets/esri/core/workers/chunks/a03f4605bde69bfb6d41.js +0 -1
  576. package/assets/esri/core/workers/chunks/a327843cee2057ee76c0.js +0 -1
  577. package/assets/esri/core/workers/chunks/a557347fb313df6fcc79.js +0 -1
  578. package/assets/esri/core/workers/chunks/a8da0728a12fc46dca23.js +0 -1
  579. package/assets/esri/core/workers/chunks/a9ea28e0f22cfe3ccf92.js +0 -1
  580. package/assets/esri/core/workers/chunks/aae92f23b38ae22dd8bf.js +0 -1
  581. package/assets/esri/core/workers/chunks/ad3714da9c90d7471385.js +0 -1
  582. package/assets/esri/core/workers/chunks/b047f9e9ba26037657ed.js +0 -1
  583. package/assets/esri/core/workers/chunks/b1323800119bd5c1759b.js +0 -1
  584. package/assets/esri/core/workers/chunks/b18c35f25da18a3219d7.js +0 -1
  585. package/assets/esri/core/workers/chunks/b1f68ee65cce457d7b5b.js +0 -1
  586. package/assets/esri/core/workers/chunks/b2d6fd436981c890152f.js +0 -1
  587. package/assets/esri/core/workers/chunks/b3c518ca8679fbe16ece.js +0 -1
  588. package/assets/esri/core/workers/chunks/b4b4fe06364bea9b0750.js +0 -1
  589. package/assets/esri/core/workers/chunks/b61b7005edd9ced925e9.js +0 -1
  590. package/assets/esri/core/workers/chunks/b661aae7e3ce955a783e.js +0 -1
  591. package/assets/esri/core/workers/chunks/b66ebe53bd879aa9de57.js +0 -1
  592. package/assets/esri/core/workers/chunks/b8ca80134abfcc692244.js +0 -1
  593. package/assets/esri/core/workers/chunks/bbdf10d76d852072c878.js +0 -1
  594. package/assets/esri/core/workers/chunks/bbeb61d9302323bae9fb.js +0 -1
  595. package/assets/esri/core/workers/chunks/bbfd2b4af8e498b61af9.js +0 -1
  596. package/assets/esri/core/workers/chunks/bdafd4f03585351cecc3.js +0 -1
  597. package/assets/esri/core/workers/chunks/bddd5aa7a14cd45ff91c.js +0 -1
  598. package/assets/esri/core/workers/chunks/be31c2cb97f664a54306.js +0 -1
  599. package/assets/esri/core/workers/chunks/be4319827db91aa71bf5.js +0 -1
  600. package/assets/esri/core/workers/chunks/bef32acf368b4d5aba37.js +0 -1
  601. package/assets/esri/core/workers/chunks/c1568bcd3f04014152e1.js +0 -1
  602. package/assets/esri/core/workers/chunks/c1a7c475ce0c59ffa75a.js +0 -1
  603. package/assets/esri/core/workers/chunks/c229a4eedda468c914a9.js +0 -1
  604. package/assets/esri/core/workers/chunks/c2b2942456f1b10d0e96.js +0 -1
  605. package/assets/esri/core/workers/chunks/c308d8f419ba63c583e6.js +0 -1
  606. package/assets/esri/core/workers/chunks/c5dc2743c7116d0bc0d8.js +0 -1
  607. package/assets/esri/core/workers/chunks/c68cc3b9c170b8de22dc.js +0 -1
  608. package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +0 -1
  609. package/assets/esri/core/workers/chunks/c71368cd64f240da1743.js +0 -1
  610. package/assets/esri/core/workers/chunks/cb2f27e5d465124b9868.js +0 -1
  611. package/assets/esri/core/workers/chunks/cee2f7f3b3f84688e49d.js +0 -1
  612. package/assets/esri/core/workers/chunks/d0942860a53b02371e94.js +0 -1
  613. package/assets/esri/core/workers/chunks/d13eeff678972a245d5d.js +0 -1
  614. package/assets/esri/core/workers/chunks/d3d7b4cd28a0dc2720d4.js +0 -1
  615. package/assets/esri/core/workers/chunks/d3ea7ac6fe71c95faa75.js +0 -1
  616. package/assets/esri/core/workers/chunks/d41e4498aaf4970f48b0.js +0 -1
  617. package/assets/esri/core/workers/chunks/d56603e1d0031f3c5f3b.js +0 -1
  618. package/assets/esri/core/workers/chunks/d7c8725ffb175cec5f8a.js +0 -1
  619. package/assets/esri/core/workers/chunks/d96fa373dcb621c2a869.js +0 -1
  620. package/assets/esri/core/workers/chunks/da233362b06b6db375f1.js +0 -1
  621. package/assets/esri/core/workers/chunks/dbc8f15a6be835f4897d.js +0 -1
  622. package/assets/esri/core/workers/chunks/e00d0036974aaec7d876.js +0 -1
  623. package/assets/esri/core/workers/chunks/e0c75ae3a211a8da10f7.js +0 -1
  624. package/assets/esri/core/workers/chunks/e474106292834633e7d4.js +0 -1
  625. package/assets/esri/core/workers/chunks/e557043f90c051e93925.js +0 -1
  626. package/assets/esri/core/workers/chunks/e5cbed6f19c743915c8e.js +0 -1
  627. package/assets/esri/core/workers/chunks/e5ecd93bd32e99bc99d1.js +0 -1
  628. package/assets/esri/core/workers/chunks/e64ccdb8328eb6514e59.js +0 -1
  629. package/assets/esri/core/workers/chunks/eb8c4f194bb66a27d418.js +0 -1
  630. package/assets/esri/core/workers/chunks/ebd8c77df5df63bd3efe.js +0 -1
  631. package/assets/esri/core/workers/chunks/f14347f5d63f5d102617.js +0 -1
  632. package/assets/esri/core/workers/chunks/f3c0280b6c87f2383a60.js +0 -1
  633. package/assets/esri/core/workers/chunks/f42c4dcb8f413ca1c6fd.js +0 -1
  634. package/assets/esri/core/workers/chunks/f5773321487ec248fa3b.js +0 -1
  635. package/assets/esri/core/workers/chunks/f76911f71540b058a881.js +0 -1
  636. package/assets/esri/core/workers/chunks/f988d5a6dcc15fe34797.js +0 -1
  637. package/assets/esri/core/workers/chunks/fa29b5064d6626cfc019.js +0 -1
  638. package/assets/esri/core/workers/chunks/fa882d0f4a9826533421.js +0 -1
  639. package/assets/esri/core/workers/chunks/fb2d43608006f588e3cb.js +0 -1
  640. package/assets/esri/core/workers/chunks/fbd02e8277fe2252ecd2.js +0 -1
  641. package/assets/esri/core/workers/chunks/fc1aeea22f8c9d63864a.js +0 -1
  642. package/assets/esri/core/workers/chunks/fc3c03cfa3d6bf3b37dc.js +0 -1
  643. package/assets/esri/core/workers/chunks/fcf7299e2ee904ab9882.js +0 -1
  644. package/assets/esri/core/workers/chunks/ff07d351553deb70b889.js +0 -1
  645. package/assets/esri/core/workers/chunks/ffee66699f5d26569baf.js +0 -1
  646. package/chunks/OperatorDefinitions.js +0 -2
  647. package/chunks/areaOperator.js +0 -2
  648. package/chunks/bufferOperator.js +0 -2
  649. package/chunks/centroidOperator.js +0 -2
  650. package/chunks/clipOperator.js +0 -2
  651. package/chunks/containsOperator.js +0 -2
  652. package/chunks/convexHullOperator.js +0 -2
  653. package/chunks/crossesOperator.js +0 -2
  654. package/chunks/cutOperator.js +0 -2
  655. package/chunks/densifyOperator.js +0 -2
  656. package/chunks/differenceOperator.js +0 -2
  657. package/chunks/disjointOperator.js +0 -2
  658. package/chunks/distanceOperator.js +0 -2
  659. package/chunks/equalsOperator.js +0 -2
  660. package/chunks/generalizeOperator.js +0 -2
  661. package/chunks/geodesicBufferOperator.js +0 -2
  662. package/chunks/geodeticAreaOperator.js +0 -2
  663. package/chunks/geodeticDensifyOperator.js +0 -2
  664. package/chunks/geodeticDistanceOperator.js +0 -2
  665. package/chunks/geodeticLengthOperator.js +0 -2
  666. package/chunks/intersectionOperator.js +0 -2
  667. package/chunks/intersectsOperator.js +0 -2
  668. package/chunks/labelPointOperator.js +0 -2
  669. package/chunks/lengthOperator.js +0 -2
  670. package/chunks/multiPartToSinglePartOperator.js +0 -2
  671. package/chunks/offsetOperator.js +0 -2
  672. package/chunks/overlapsOperator.js +0 -2
  673. package/chunks/proximityOperator.js +0 -2
  674. package/chunks/relateOperator.js +0 -2
  675. package/chunks/simplifyOperator.js +0 -2
  676. package/chunks/symmetricDifferenceOperator.js +0 -2
  677. package/chunks/touchesOperator.js +0 -2
  678. package/chunks/unionOperator.js +0 -2
  679. package/chunks/withinOperator.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as t,__disposeResources as e}from"tslib";import{a as i,G as s,g as n,d as o,v as m,j as a}from"./Geometry.js";import{S as r,P as u}from"./MultiPathImpl.js";import{O as c,B as h,ai as l,aj as _,aq as p,ar as d,as as g,at as x,au as y,av as P,ab as S,aw as D,ax as f,r as G,a9 as v}from"./UnitFactory.js";import{k as T,d as b}from"./Envelope.js";import{Envelope2D as w}from"./Envelope2D.js";import{P as M,c as E,o as R,E as C,p as I}from"./Point2D.js";import{T as B}from"./Transformation2D.js";import{s as A,w as q,m as N}from"./Distance2DCalculator-DjIp2uQi.js";import{O as F}from"./OperatorShapePreservingDensify.js";import{O as k}from"./OperatorClip.js";function Y(){return new w}class X{m_a;m_e2;m_b;m_unitToDegree;m_unitToRad;m_u180;m_u360;m_peR1;m_peR2;m_peR3;[Symbol.dispose](){this.m_peR1.destroy(),this.m_peR2.destroy(),this.m_peR3.destroy(),this.m_peR1=null,this.m_peR2=null,this.m_peR3=null}constructor(t,e,i){this.m_peR1=new l,this.m_peR2=new l,this.m_peR3=new l,void 0!==t?this.reset(t,e,i):this.reset(1,0,1)}reset(t,e,i){this.m_a=t,this.m_e2=e,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=i,this.m_unitToRad=.017453292519943295*i,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(t,e,i,s){const n=this.m_peR1,o=this.m_peR2,m=this.m_peR3;_.geodeticDistance(this.m_a,this.m_e2,t*this.m_unitToRad,e*this.m_unitToRad,i*this.m_unitToRad,s*this.m_unitToRad,m,n,o,0);const a=Math.cos(n.val),r=Math.cos(o.val+3.141592653589793),u=e*this.m_unitToRad,c=v.phiToEta(this.m_e2,u),h=Math.sin(n.val)*Math.cos(c);let l=e;if(a*r<0){const t=a<0?-1:1,e=Math.acos(Math.abs(h))*t;l=v.etaToPhi(this.m_e2,e)/this.m_unitToRad}let p=I((i-t)*this.m_unitToRad,2*Math.PI);Math.abs(p)>Math.PI&&(p=p>0?p-2*Math.PI:p+2*Math.PI),p/=this.m_unitToRad,i=t+p;const d=Y();return d.xmin=Math.min(t,i),d.xmax=Math.max(t,i),d.ymin=Math.min(e,s),d.ymin=Math.min(d.ymin,l),d.ymax=Math.max(e,s),d.ymax=Math.max(d.ymax,l),d}minDistanceGeodesic(t,e){const i=O(t),s=O(e);if(i&&s)return this.lowerDistanceGeodetic_(t.xmin,t.ymin,e.xmin,e.ymin);const n=this.normalizeGeodesic_(e,t);return U(t,n)?t.ymin>=n.ymax?this.minDistanceGeodesicUpDown_(t,n):n.ymin>=t.ymax?this.minDistanceGeodesicUpDown_(n,t):t.xmin>n.xmax?this.minDistanceGeodesicLeftRight_(n,t):this.minDistanceGeodesicLeftRight_(t,n):0}normalizeGeodesic_(t,e){const i=t.clone(),s=t.clone();let n=j(i,e);if(0===n)return i;for(;s.xmax>e.xmin;){s.xmin-=this.m_u360,s.xmax-=this.m_u360;const t=j(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}for(s.assign(t);s.xmin<e.xmax;){s.xmin+=this.m_u360,s.xmax+=this.m_u360;const t=j(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}return i}lowerDistanceGeodetic_(t,e,i,s){const n=this.m_peR1;{const o=this.m_b*this.m_b/this.m_a,m=v.phiToPhig(this.m_e2,this.m_unitToRad*e),a=v.phiToPhig(this.m_e2,this.m_unitToRad*s);_.geodeticDistance(o,0,this.m_unitToRad*t,m,this.m_unitToRad*i,a,n,null,null,0)}return n.val}minDistanceGeodesicUpDown_(t,e){if(e.xmin<=t.xmin?e.xmax>=t.xmin:t.xmax>=e.xmin)return this.lowerDistanceGeodetic_(0,t.ymin,0,e.ymax);if(e.xmin>t.xmax){const i=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);if(e.xmax-t.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);return Math.min(i,s)}{const i=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);if(t.xmax-e.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);return Math.min(i,s)}}minDistanceGeodesicLeftRight_(t,e){let i=Math.abs(t.xmax-e.xmin);for(;i>this.m_u180;)i-=this.m_u360;let s=Math.abs(t.xmin-e.xmax);for(;s>this.m_u180;)s-=this.m_u360;return Math.abs(i)<=Math.abs(s)?this.minDistanceGeodesicLeftRightNormalized_(t,e):this.minDistanceGeodesicLeftRightNormalized_(e,t)}minDistanceGeodesicLeftRightNormalized_(t,e){let i,s;return i=this.lowerDistanceGeodetic_(t.xmax,t.ymin,e.xmin,e.ymin),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymin,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymin,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),s=this.lowerDistanceGeodetic_(t.xmax,t.ymax,e.xmin,e.ymax),i=Math.min(i,s),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymax,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymax,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),i}lowerDistanceGeodeticSegMeridional_(t,e,i,s,n,o){let m=this.lowerDistanceGeodeticPtMeridional_(t,e,s,n,o);const a=this.lowerDistanceGeodeticPtMeridional_(t,i,s,n,o);let r=this.lowerDistanceGeodeticPtMeridional_(s,n,t,e,i);const u=this.lowerDistanceGeodeticPtMeridional_(s,o,t,e,i);return m=Math.min(m,a),r=Math.min(r,u),Math.min(m,r)}lowerDistanceGeodeticPtMeridional_(t,e,i,s,n){const o=this.m_b*this.m_b/this.m_a,m=v.phiToPhig(this.m_e2,this.m_unitToRad*e),a=v.phiToPhig(this.m_e2,this.m_unitToRad*s),r=v.phiToPhig(this.m_e2,this.m_unitToRad*n),u=this.m_peR1,c=this.m_peR2;_.geodeticDistance(o,0,this.m_unitToRad*i,a,this.m_unitToRad*t,m,u,null,null,0),_.geodeticDistance(o,0,this.m_unitToRad*i,r,this.m_unitToRad*t,m,c,null,null,0);const h=p(1,0,new M(this.m_unitToRad*t,m)),l=p(1,0,new M(this.m_unitToRad*i,a)),d=p(1,0,new M(this.m_unitToRad*i,r));let g=new T;g.setCrossProductVector(l,d);const x=l.dotProduct(d);if(g.length()<1.568e-10)return x>=0?Math.min(u.val,c.val):0;g=g.getUnitVector();let y=new T;if(y.setCrossProductVector(g,h),y.length()<1.568e-10){return Math.min(u.val,c.val)-1e-5*o}y=y.getUnitVector();let P=h.sub(g.mul(h.dotProduct(g)));{const e=new T;e.setCrossProductVector(l,P);const i=new T;i.setCrossProductVector(P,d);let s=g.dotProduct(e)>0&&g.dotProduct(i)>0;if(s||(P.negateThis(),e.setCrossProductVector(l,P),i.setCrossProductVector(P,d),s=g.dotProduct(e)>0&&g.dotProduct(i)>0),s){P=P.getUnitVector();const e=f(1,0,P),i=this.m_peR3;_.geodeticDistance(o,0,this.m_unitToRad*t,m,e.x,e.y,i,null,null,0);const s=Math.min(u.val,c.val);return Math.min(s,i.val)}}return Math.min(u.val,c.val)}}function O(t){return t.xmin===t.xmax&&t.ymin===t.ymax}function U(t,e){return e.xmax<t.xmin||e.xmin>t.xmax||e.ymax<t.ymin||e.ymin>t.ymax}function j(t,e){let i,s=0;return i=t.xmin-e.xmax,i>s&&(s=i),i=e.xmin-t.xmax,i>s&&(s=i),s}class V{}function L(t){return{outPoint:void 0===t?new M:t.clone()}}function H(t,e){t.outPoint.assign(e.outPoint)}function z(){return new w}class Q{m_ptDistFrom=new M;m_segStartPt=new M;m_segEndPt=new M;m_sr;m_distCurveType;m_segCurveType;m_a;m_eSquared;m_inputGCS;m_rpu;m_geodeticLength=new l;m_az12=new l;m_minGeodeticDist=new l;m_bIsPannablePcs;m_segStartPt3d=new T;m_segEndPt3d=new T;constructor(t,e,i,s,n=0,o=4){this.m_sr=s,this.m_distCurveType=n,this.m_segCurveType=o,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const m=G();this.m_inputGCS.querySpheroidData(m),this.m_a=m.majorSemiAxis,this.m_eSquared=m.e2,this.setPointDistFrom(t),this.setSegmentEndPoints(e,i)}setSegmentEndPoints(t,e){this.m_segStartPt.assign(t),this.m_segEndPt.assign(e),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(t){this.m_ptDistFrom.assign(t),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(t){this.m_segCurveType=t}setDistanceCurveType(t){this.m_distCurveType=t}makeFunctor(){return i=>{let s;switch(this.m_segCurveType){case 0:case 1:case 3:{const o={stack:[],error:void 0,hasError:!1};try{const e=t(o,new l,!1),n=t(o,new l,!1);_.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*i,this.m_az12.val,e,n,this.m_segCurveType),s=new M(e.val,n.val);break}catch(n){o.error=n,o.hasError=!0}finally{e(o)}}case 2:{const t=T.lerp(this.m_segStartPt3d,this.m_segEndPt3d,i);s=f(this.m_a,this.m_eSquared,t);break}case 4:s=M.lerp(this.m_segStartPt,this.m_segEndPt,i),this.m_bIsPannablePcs&&(g(this.m_sr,0,[s],1),s.mulThis(this.m_rpu));break;default:o("Invalid curve type")}return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,s.x,s.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:_.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=M.distance(this.m_segStartPt,this.m_segEndPt);break;default:o("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function J(){return new V}class K{m_inputSR;m_distCurveType;m_progressTracker;m_maxDistance;m_maxDeviation;m_inputGCS;m_peGeogcs;m_a;m_eSquared;m_rpu;m_envHelper;m_boxGeomA=z();m_boxGeomB=z();m_envGeomA=new w;m_envGeomB=new w;m_progressCounter=0;m_bIsPannablePcs;m_transformPCS2GCS=null;m_segmentBoxesA=new Map;m_segmentBoxesB=new Map;m_boundaryPtsA=[];m_boundaryPtsB=[];m_scaleToRadians=new B;m_scaleToDegrees=new B;m_tolerance;[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(t,e,i,s,n){this.m_inputSR=t,this.m_distCurveType=e,this.m_progressTracker=i,this.m_maxDistance=s,this.m_maxDeviation=n,this.m_inputGCS=t.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;const o=G();this.m_inputGCS.querySpheroidData(o),this.m_a=o.majorSemiAxis,this.m_eSquared=o.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new X(this.m_a,this.m_eSquared,1),4===this.m_distCurveType&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=2===this.m_inputSR.getCoordinateSystemType()&&this.m_inputSR.isPannable()}progress(t=!1){}calculate(t,e,i,s){const n=L(),o=L();if(t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(t,e,n,o))return i&&H(i,n),s&&H(s,o),0;const m=this.prepareGeometry(t);if(m.isEmpty())return Number.NaN;const a=this.prepareGeometry(e);if(a.isEmpty())return Number.NaN;this.m_tolerance=this.computeTolerance(m,a);const r=this._ExecuteBruteForce(m,a,n,o);return r>=this.m_maxDistance?Number.NaN:(i&&(this.prepareOutput(n),H(i,n)),s&&(this.prepareOutput(o),H(s,o)),r)}createDistanceFunctor(t,e,i){const s=new Q(t,e,i,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||1===this.m_inputSR.getCoordinateSystemType()||s.setSegmentCurveType(2),s}_NormalizeAndProject(t){if(this.m_inputSR.isPannable()&&(t=(new c).foldInto360Range(t,this.m_inputSR)),2===this.m_inputSR.getCoordinateSystemType()){const e=h(this.m_inputSR,this.m_inputGCS,null);t=(new c).execute(t,e,this.m_progressTracker)}return t}_ExecuteBruteForce(t,e,n,o){switch(t.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointGeometry(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointPoint(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointPoint(i,s,n,o){const m={stack:[],error:void 0,hasError:!1};try{const e=i.getXY();e.scale(this.m_rpu);const a=s.getXY();a.scale(this.m_rpu),n.outPoint.assign(e),o.outPoint.assign(a);const r=t(m,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,e.x,e.y,a.x,a.y,r,null,null,this.m_distCurveType),r.val}catch(a){m.error=a,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticPointMultipoint(i,s,n,o){const m={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(i,s);const e=this.estimateMinimumDistance(n,o);let a=e<this.m_maxDistance?e:this.m_maxDistance;const r=i.getXY();r.scale(this.m_rpu),n.outPoint.assign(r);const u=p(this.m_a,this.m_eSquared,r),c=new M,h=s.getImpl(),d=t(m,new l,!1),g=h.getPointCount();for(let t=0;t<g;++t){h.queryXY(t,c),c.scale(this.m_rpu);const e=p(this.m_a,this.m_eSquared,c);if(!(T.distance(u,e)>a)&&(!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>a)&&(_.geodeticDistance(this.m_a,this.m_eSquared,r.x,r.y,c.x,c.y,d,null,null,this.m_distCurveType),d.val<a&&(a=d.val,o.outPoint=c,0===a))))return a}return a===this.m_maxDistance?Number.POSITIVE_INFINITY:a}catch(a){m.error=a,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticPointMultipath(i,s,o,m){const a={stack:[],error:void 0,hasError:!1};try{const e=new M,r=new M;e.assign(i.getXY()),r.assign(i.getXY()),o.outPoint.assign(r.mul(this.m_rpu)),this.m_bIsPannablePcs&&d(this.m_inputSR,[e],1,!1),this.computeEnvelopesAndBoxes(i,s);const u=this.estimateMinimumDistance(o,m);let c=u<this.m_maxDistance?u:this.m_maxDistance;const h=s.getImpl(),l=new M(0,0),_=new M(0,0),p=[1],g=this.canUseSpatialTree(i,s),x=J();g&&this.buildSpatialTree(x,s);const y=z();y.setCoords({xmin:r.x,ymin:r.y,xmax:r.x,ymax:r.y});const P=t(a,this.createDistanceFunctor(r,l,_),!1),S=h.querySegmentIterator();if(S.stripAttributes(),g)n(0);else for(;S.nextPath();)for(;S.hasNextSegment();){const t=S.nextSegment(),i=this.findOrComputeBoxSegment(S.getStartPointIndex(),t,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(y,i)>c)continue;const s=this.calculateDistanceGeodeticPointSegment(e,r,t,p,P);if(s.second<c&&(this.updateOutputSegment(m,t,s.first),c=s.second,0===c))return 0}return c===this.m_maxDistance?Number.POSITIVE_INFINITY:c}catch(r){a.error=r,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticMultipointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipointMultipoint(i,s,n,o){const m={stack:[],error:void 0,hasError:!1};try{const e=t(m,new l,!1);this.computeEnvelopesAndBoxes(i,s);const a=this.estimateMinimumDistance(n,o);let r=a<this.m_maxDistance?a:this.m_maxDistance;const u=new M,c=new M,h=i.getImpl(),d=s.getImpl(),g=z(),x=h.getPointCount(),y=d.getPointCount();for(let t=0;t<x;++t){if(u.assign(h.getXY(t)),g.setCoords({xmin:u.x,ymin:u.y,xmax:u.x,ymax:u.y}),this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>r)continue;u.scale(this.m_rpu);const i=p(this.m_a,this.m_eSquared,u);for(let t=0;t<y;++t){c.assign(d.getXY(t)),c.scale(this.m_rpu);const s=p(this.m_a,this.m_eSquared,c);if(!(T.distance(i,s)>=r)&&(_.geodeticDistance(this.m_a,this.m_eSquared,u.x,u.y,c.x,c.y,e,null,null,this.m_distCurveType),e.val<r&&(n.outPoint.assign(u),o.outPoint.assign(c),r=e.val,0===r)))return r}}return r===this.m_maxDistance?Number.POSITIVE_INFINITY:r}catch(a){m.error=a,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticMultipointMultipath(i,s,o,m){const a={stack:[],error:void 0,hasError:!1};try{const e=s.getImpl().querySegmentIterator();e.stripAttributes(),this.computeEnvelopesAndBoxes(i,s);const r=this.estimateMinimumDistance(o,m);let u=r<this.m_maxDistance?r:this.m_maxDistance;const c=new M,h=new M(0,0),l=new M(0,0),_=new M(0,0),p=[0],g=z(),x=t(a,this.createDistanceFunctor(h,l,_),!1),y=J(),P=this.canUseSpatialTree(i,s);P&&this.buildSpatialTree(y,s);const S=i.getPointCount();for(let t=0;t<S;++t)if(c.assign(i.getXY(t)),h.assign(i.getXY(t)),this.m_bIsPannablePcs&&d(this.m_inputSR,[c],1,!1),g.setCoords({xmin:h.x,ymin:h.y,xmax:h.x,ymax:h.y}),!(this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>u))if(x.setPointDistFrom(h),P)n(0);else{for(;e.nextPath();)for(;e.hasNextSegment();){const t=e.nextSegment();if(this.m_envHelper.minDistanceGeodesic(g,this.findOrComputeBoxSegment(e.getStartPointIndex(),t,this.m_segmentBoxesB))>u)continue;const i=this.calculateDistanceGeodeticPointSegment(c,h,t,p,x);if(i.second<u&&(o.outPoint.assign(h.mul(this.m_rpu)),this.updateOutputSegment(m,t,i.first),u=i.second,0===u))return 0}e.resetToFirstPath()}return u===this.m_maxDistance?Number.POSITIVE_INFINITY:u}catch(r){a.error=r,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticMultipathGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipath(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(e,t,o,n);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipathMultipath(t,e,i,s){const n=[t],o=[e],m=this.swapGeometries(n,o),a=n[0],r=o[0];this.computeEnvelopesAndBoxes(n[0],o[0]);const u=this.estimateMinimumDistance(i,s),c=this.calculateDistanceGeodeticMultipathMultipath_(a,r,i,s,u);return m&&(s.outPoint=E(i.outPoint,i.outPoint=s.outPoint)),c}calculateDistanceGeodeticMultipathMultipath_(i,s,o,m,a=Number.MAX_VALUE){const u={stack:[],error:void 0,hasError:!1};try{let e=a;const c=new M(0,0),h=new M,l=new M(0,0),_=new M,p=new M(0,0),d=new M,y=new M,P=new M,S=[new M],D=[0],f=[0],G=z(),v=z(),T=t(u,this.createDistanceFunctor(p,c,l),!1),b=J(),w=this.canUseSpatialTree(i,s);w&&this.buildSpatialTree(b,s);const E=s.querySegmentIterator();E.stripAttributes();const R=new r,C=A(i);for(let t=0;t<C.length;++t){const s=C[t];i.getSegmentBuffer(s,R,!0);const a=R.get();if(G.assign(this.findOrComputeBoxSegment(s,a,this.m_segmentBoxesA)),w)n(0);else{if(p.assign(a.getStartXY()),d.assign(a.getStartXY()),y.assign(a.getEndXY()),P.assign(a.getEndXY()),this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[d],1),g(this.m_inputSR,0,[P],1)),this.m_envHelper.minDistanceGeodesic(G,this.m_boxGeomB)>e)continue;for(;E.nextPath();){for(;E.hasNextSegment();){const t=E.nextSegment();if(c.assign(t.getStartXY()),h.assign(t.getStartXY()),l.assign(t.getEndXY()),_.assign(t.getEndXY()),a.intersect(t,S,D,f,this.m_tolerance))return this.updateOutputSegment(o,a,D[0]),this.updateOutputSegment(m,t,f[0]),0;if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[h],1),g(this.m_inputSR,0,[_],1)),v.assign(this.findOrComputeBoxPoint(E.getStartPointIndex(),h,_,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(G,v)>e)continue;T.setSegmentEndPoints(c,l),T.setPointDistFrom(d);let i=x(T.makeFunctor(),0,1,1e-10);if(i.second<e&&(o.outPoint.assign(d.mul(this.m_rpu)),this.updateOutputSegment(m,t,i.first),e=i.second,0===e))break;if(T.setPointDistFrom(P),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(o.outPoint.assign(P.mul(this.m_rpu)),this.updateOutputSegment(m,t,i.first),e=i.second,0===e))break;if(T.setSegmentEndPoints(p,y),T.setPointDistFrom(h),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,a,i.first),m.outPoint.assign(h.mul(this.m_rpu)),e=i.second,0===e))break;if(T.setPointDistFrom(_),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,a,i.first),m.outPoint.assign(_.mul(this.m_rpu)),e=i.second,0===e))break}if(0===e)return 0}E.resetToFirstPath()}}return e===this.m_maxDistance?Number.POSITIVE_INFINITY:e}catch(c){u.error=c,u.hasError=!0}finally{e(u)}}calculateDistanceGeodeticPointSegment(t,e,i,s,n){const o=i.getStartXY(),m=i.getEndXY();return i.intersectPoint(t,s,this.m_tolerance)?R(s[0],0):(n.setPointDistFrom(e),n.setSegmentEndPoints(o,m),x(n.makeFunctor(),0,1,1e-10))}prepareGeometry(t){let e=t.clone();const i=t.getGeometryType();if(i===s.enumPoint||i===s.enumMultiPoint)return this._NormalizeAndProject(e);if(i===s.enumEnvelope&&(e=this.envelopeToPolygon(e)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(e,4);if(2===this.m_inputSR.getCoordinateSystemType()){if(e=y(e,this.m_inputSR,0,null),e.isEmpty())return e;e=(new F).execute(e,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);const t=this.m_inputSR.getSRToGCSTransform();return(new c).execute(e,t,this.m_progressTracker)}const n=new w;e.queryLooseEnvelope(n);const o=this.m_inputSR.getPannableExtent();if(n.ymin<o.ymin||n.ymax>o.ymax){const t=new w(n.xmin-1,o.ymin,n.xmax+1,o.ymax);if(e=(new k).execute(e,t,this.m_inputSR,this.m_progressTracker),e.isEmpty())return e}return n.width()>2*o.width()?(e=P(e,-2*o.width(),2*o.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker),e):e}prepareGeometryPannable(t,e){const i=new w;t.queryEnvelope(i);const s=this.m_inputSR.getPannableExtent();if(s.containsEnvelope(i))return t;const n=new C;s.queryIntervalX(n);const o=new C;return i.queryIntervalX(o),t=n.contains(o)?S(t,this.m_inputSR):(new c).foldInto360RangeGeodetic(t,this.m_inputSR,e)}prepareOutput(t){t.outPoint.scale(1/this.m_rpu),2===this.m_inputSR.getCoordinateSystemType()&&d(this.m_inputSR,[t.outPoint],1,!1)}updateOutputSegment(t,e,i){e.queryCoord2D(i,t.outPoint),this.m_bIsPannablePcs&&g(this.m_inputSR,0,[t.outPoint],1),t.outPoint.mulThis(this.m_rpu)}computeTolerance(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB);const i=new w(this.m_envGeomA);return i.mergeEnvelope2D(this.m_envGeomB),b(null,i)}envelopeToPolygon(t){const e=new u;return e.addEnvelope(t,!1),e}computeEnvelopesAndBoxes(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(t,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(e,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(t,e,i){switch(t.getGeometryType()){case s.enumPoint:return this.computeBoxPoint(t,e);case s.enumMultiPoint:return this.computeBoxMultiPoint(t,e);case s.enumPolyline:case s.enumPolygon:return this.computeBoxMultiPath(t,e,i);default:o("Invalid geometry type")}}computeBoxPoint(t,e){const i=t.getXY();e.length=0,e.push(i.mul(this.m_rpu));const s=z();return s.setCoords({xmin:i.x,ymin:i.y,xmax:i.x,ymax:i.y}),s}computeBoxMultiPoint(t,e){let i=!0;for(let n=0;n<t.getPointCount();++n){const s=t.getXY(n);if(i){e.length=0;for(let t=0;t<4;++t)e.push(s.clone());i=!1}s.x<e[0].x&&e[0].assign(s),s.y>e[1].y&&e[1].assign(s),s.x>e[2].x&&e[2].assign(s),s.y<e[3].y&&e[3].assign(s)}for(let n=0;n<e.length;++n)e[n].mulThis(this.m_rpu);const s=z();return t.queryEnvelope(s),s}computeBoxMultiPath(t,e,i){let s=!0;const n=z();n.setEmpty();const o=t.querySegmentIterator();for(o.stripAttributes();o.nextPath();)for(;o.hasNextSegment();){const t=o.nextSegment(),m=t.getStartXY(),a=t.getEndXY();if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[m],1),g(this.m_inputSR,0,[a],1)),s){for(let t=0;t<4;++t)e.push(m.clone());s=!1}m.x<e[0].x&&e[0].assign(m),m.y>e[1].y&&e[1].assign(m),m.x>e[2].x&&e[2].assign(m),m.y<e[3].y&&e[3].assign(m),a.x<e[0].x&&e[0].assign(a),a.y>e[1].y&&e[1].assign(a),a.x>e[2].x&&e[2].assign(a),a.y<e[3].y&&e[3].assign(a);const r=this.findOrComputeBoxPoint(o.getStartPointIndex(),m,a,i);n.mergeEnvelope2D(r)}for(let m=0;m<e.length;++m)e[m].mulThis(this.m_rpu);return n}findOrComputeBoxSegment(t,e,i){if(!i.has(t)){let s=z();if(e.queryEnvelope(s),this.m_bIsPannablePcs){const t=M.construct(s.xmin,s.ymin),e=M.construct(s.xmax,s.ymax);g(this.m_inputSR,0,[t],1),g(this.m_inputSR,0,[e],1),s=this.m_envHelper.calculateBbox(t.x,t.y,e.x,e.y)}return i.set(t,s),s}return i.get(t)}findOrComputeBoxPoint(t,e,i,s){if(!s.has(t)){let n=z();return n.setCoords({xmin:e.x,ymin:e.y,xmax:i.x,ymax:i.y}),this.m_bIsPannablePcs&&(n=this.m_envHelper.calculateBbox(n.xmin,n.ymin,n.xmax,n.ymax)),s.set(t,n),n}return s.get(t)}estimateMinimumDistance(i,s){const n={stack:[],error:void 0,hasError:!1};try{const e=t=>p(this.m_a,this.m_eSquared,t),o=this.m_boundaryPtsA.map(e),m=this.m_boundaryPtsB.map(e);let a=Number.MAX_VALUE,r=0,u=0;for(let t=0;t<o.length;++t)for(let e=0;e<m.length;++e){const i=T.distance(o[t],m[e]);i<a&&(a=i,r=t,u=e)}i.outPoint.assign(this.m_boundaryPtsA[r]),s.outPoint.assign(this.m_boundaryPtsB[u]);const c=t(n,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[r].x,this.m_boundaryPtsA[r].y,this.m_boundaryPtsB[u].x,this.m_boundaryPtsB[u].y,c,null,null,this.m_distCurveType),c.val}catch(o){n.error=o,n.hasError=!0}finally{e(n)}}swapGeometries(t,e){return m(t[0])>m(e[0])&&(e[0]=E(t[0],t[0]=e[0]),this.m_envGeomB=E(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(t,e){return!1}checkGeometriesIntersect(t,e,i,n){let o=t.getGeometryType(),m=e.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(o===s.enumPoint&&2===e.getDimension()){const s=[0],o=[t.getXY()];if(D(e,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}else if(m===s.enumPoint&&2===t.getDimension()){const s=[2],o=[e.getXY()];if(D(t,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}if(o===s.enumMultiPoint&&2===e.getDimension())return this.multipointIntersectsArea(t,e,i,n);if(m===s.enumMultiPoint&&2===t.getDimension())return this.multipointIntersectsArea(e,t,n,i);let r,u,c=t,h=e;if(o===s.enumEnvelope&&(r=this.envelopeToPolygon(t),c=r,o=s.enumPolygon),m===s.enumEnvelope&&(u=this.envelopeToPolygon(e),h=u,m=s.enumPolygon),a(o)&&a(m)){const t=c.querySegmentIterator(),e=h.querySegmentIterator(),s=N(),o=N();if(q(c,h,t,e,s,o))return i.outPoint.assign(s.outPoint),n.outPoint.assign(s.outPoint),!0}}return!1}multipointIntersectsArea(t,e,i,s){const n=t.getPointCount();for(let o=0;o<n;++o){const n=[2],m=t.getXY(o);if(D(e,[m],1,this.m_tolerance,n),0!==n[0])return i.outPoint.assign(m),s.outPoint.assign(m),!0}return!1}getNearestNeighbourVisitor(t,e,i,s,o,m,a){return n(0),{}}buildSpatialTree(t,e){n(0)}}export{K as G,Q as a,L as m};
2
+ import{__addDisposableResource as t,__disposeResources as e}from"tslib";import{a as i,G as s,g as n,d as o,v as m,j as a}from"./Geometry.js";import{S as r,P as u}from"./MultiPathImpl.js";import{O as c,D as h,an as l,ao as _,av as p,aw as d,ax as g,ay as x,az as y,aA as P,ag as S,aB as D,aC as f,r as G,ae as v}from"./UnitFactory.js";import{k as T,d as b}from"./Envelope.js";import{Envelope2D as w}from"./Envelope2D.js";import{P as M,c as E,o as R,E as C,p as I}from"./Point2D.js";import{T as B}from"./Transformation2D.js";import{s as A,w as q,m as N}from"./Distance2DCalculator-DjIp2uQi.js";import{O as F}from"./OperatorShapePreservingDensify.js";import{O as k}from"./OperatorClip.js";function Y(){return new w}class X{m_a;m_e2;m_b;m_unitToDegree;m_unitToRad;m_u180;m_u360;m_peR1;m_peR2;m_peR3;[Symbol.dispose](){this.m_peR1.destroy(),this.m_peR2.destroy(),this.m_peR3.destroy(),this.m_peR1=null,this.m_peR2=null,this.m_peR3=null}constructor(t,e,i){this.m_peR1=new l,this.m_peR2=new l,this.m_peR3=new l,void 0!==t?this.reset(t,e,i):this.reset(1,0,1)}reset(t,e,i){this.m_a=t,this.m_e2=e,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=i,this.m_unitToRad=.017453292519943295*i,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(t,e,i,s){const n=this.m_peR1,o=this.m_peR2,m=this.m_peR3;_.geodeticDistance(this.m_a,this.m_e2,t*this.m_unitToRad,e*this.m_unitToRad,i*this.m_unitToRad,s*this.m_unitToRad,m,n,o,0);const a=Math.cos(n.val),r=Math.cos(o.val+3.141592653589793),u=e*this.m_unitToRad,c=v.phiToEta(this.m_e2,u),h=Math.sin(n.val)*Math.cos(c);let l=e;if(a*r<0){const t=a<0?-1:1,e=Math.acos(Math.abs(h))*t;l=v.etaToPhi(this.m_e2,e)/this.m_unitToRad}let p=I((i-t)*this.m_unitToRad,2*Math.PI);Math.abs(p)>Math.PI&&(p=p>0?p-2*Math.PI:p+2*Math.PI),p/=this.m_unitToRad,i=t+p;const d=Y();return d.xmin=Math.min(t,i),d.xmax=Math.max(t,i),d.ymin=Math.min(e,s),d.ymin=Math.min(d.ymin,l),d.ymax=Math.max(e,s),d.ymax=Math.max(d.ymax,l),d}minDistanceGeodesic(t,e){const i=O(t),s=O(e);if(i&&s)return this.lowerDistanceGeodetic_(t.xmin,t.ymin,e.xmin,e.ymin);const n=this.normalizeGeodesic_(e,t);return U(t,n)?t.ymin>=n.ymax?this.minDistanceGeodesicUpDown_(t,n):n.ymin>=t.ymax?this.minDistanceGeodesicUpDown_(n,t):t.xmin>n.xmax?this.minDistanceGeodesicLeftRight_(n,t):this.minDistanceGeodesicLeftRight_(t,n):0}normalizeGeodesic_(t,e){const i=t.clone(),s=t.clone();let n=V(i,e);if(0===n)return i;for(;s.xmax>e.xmin;){s.xmin-=this.m_u360,s.xmax-=this.m_u360;const t=V(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}for(s.assign(t);s.xmin<e.xmax;){s.xmin+=this.m_u360,s.xmax+=this.m_u360;const t=V(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}return i}lowerDistanceGeodetic_(t,e,i,s){const n=this.m_peR1;{const o=this.m_b*this.m_b/this.m_a,m=v.phiToPhig(this.m_e2,this.m_unitToRad*e),a=v.phiToPhig(this.m_e2,this.m_unitToRad*s);_.geodeticDistance(o,0,this.m_unitToRad*t,m,this.m_unitToRad*i,a,n,null,null,0)}return n.val}minDistanceGeodesicUpDown_(t,e){if(e.xmin<=t.xmin?e.xmax>=t.xmin:t.xmax>=e.xmin)return this.lowerDistanceGeodetic_(0,t.ymin,0,e.ymax);if(e.xmin>t.xmax){const i=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);if(e.xmax-t.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);return Math.min(i,s)}{const i=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);if(t.xmax-e.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);return Math.min(i,s)}}minDistanceGeodesicLeftRight_(t,e){let i=Math.abs(t.xmax-e.xmin);for(;i>this.m_u180;)i-=this.m_u360;let s=Math.abs(t.xmin-e.xmax);for(;s>this.m_u180;)s-=this.m_u360;return Math.abs(i)<=Math.abs(s)?this.minDistanceGeodesicLeftRightNormalized_(t,e):this.minDistanceGeodesicLeftRightNormalized_(e,t)}minDistanceGeodesicLeftRightNormalized_(t,e){let i,s;return i=this.lowerDistanceGeodetic_(t.xmax,t.ymin,e.xmin,e.ymin),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymin,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymin,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),s=this.lowerDistanceGeodetic_(t.xmax,t.ymax,e.xmin,e.ymax),i=Math.min(i,s),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymax,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymax,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),i}lowerDistanceGeodeticSegMeridional_(t,e,i,s,n,o){let m=this.lowerDistanceGeodeticPtMeridional_(t,e,s,n,o);const a=this.lowerDistanceGeodeticPtMeridional_(t,i,s,n,o);let r=this.lowerDistanceGeodeticPtMeridional_(s,n,t,e,i);const u=this.lowerDistanceGeodeticPtMeridional_(s,o,t,e,i);return m=Math.min(m,a),r=Math.min(r,u),Math.min(m,r)}lowerDistanceGeodeticPtMeridional_(t,e,i,s,n){const o=this.m_b*this.m_b/this.m_a,m=v.phiToPhig(this.m_e2,this.m_unitToRad*e),a=v.phiToPhig(this.m_e2,this.m_unitToRad*s),r=v.phiToPhig(this.m_e2,this.m_unitToRad*n),u=this.m_peR1,c=this.m_peR2;_.geodeticDistance(o,0,this.m_unitToRad*i,a,this.m_unitToRad*t,m,u,null,null,0),_.geodeticDistance(o,0,this.m_unitToRad*i,r,this.m_unitToRad*t,m,c,null,null,0);const h=p(1,0,new M(this.m_unitToRad*t,m)),l=p(1,0,new M(this.m_unitToRad*i,a)),d=p(1,0,new M(this.m_unitToRad*i,r));let g=new T;g.setCrossProductVector(l,d);const x=l.dotProduct(d);if(g.length()<1.568e-10)return x>=0?Math.min(u.val,c.val):0;g=g.getUnitVector();let y=new T;if(y.setCrossProductVector(g,h),y.length()<1.568e-10){return Math.min(u.val,c.val)-1e-5*o}y=y.getUnitVector();let P=h.sub(g.mul(h.dotProduct(g)));{const e=new T;e.setCrossProductVector(l,P);const i=new T;i.setCrossProductVector(P,d);let s=g.dotProduct(e)>0&&g.dotProduct(i)>0;if(s||(P.negateThis(),e.setCrossProductVector(l,P),i.setCrossProductVector(P,d),s=g.dotProduct(e)>0&&g.dotProduct(i)>0),s){P=P.getUnitVector();const e=f(1,0,P),i=this.m_peR3;_.geodeticDistance(o,0,this.m_unitToRad*t,m,e.x,e.y,i,null,null,0);const s=Math.min(u.val,c.val);return Math.min(s,i.val)}}return Math.min(u.val,c.val)}}function O(t){return t.xmin===t.xmax&&t.ymin===t.ymax}function U(t,e){return e.xmax<t.xmin||e.xmin>t.xmax||e.ymax<t.ymin||e.ymin>t.ymax}function V(t,e){let i,s=0;return i=t.xmin-e.xmax,i>s&&(s=i),i=e.xmin-t.xmax,i>s&&(s=i),s}class j{}function L(t){return{outPoint:void 0===t?new M:t.clone()}}function z(t,e){t.outPoint.assign(e.outPoint)}function H(){return new w}class Q{m_ptDistFrom=new M;m_segStartPt=new M;m_segEndPt=new M;m_sr;m_distCurveType;m_segCurveType;m_a;m_eSquared;m_inputGCS;m_rpu;m_geodeticLength=new l;m_az12=new l;m_minGeodeticDist=new l;m_bIsPannablePcs;m_segStartPt3d=new T;m_segEndPt3d=new T;constructor(t,e,i,s,n=0,o=4){this.m_sr=s,this.m_distCurveType=n,this.m_segCurveType=o,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const m=G();this.m_inputGCS.querySpheroidData(m),this.m_a=m.majorSemiAxis,this.m_eSquared=m.e2,this.setPointDistFrom(t),this.setSegmentEndPoints(e,i)}setSegmentEndPoints(t,e){this.m_segStartPt.assign(t),this.m_segEndPt.assign(e),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(t){this.m_ptDistFrom.assign(t),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(t){this.m_segCurveType=t}setDistanceCurveType(t){this.m_distCurveType=t}makeFunctor(){return i=>{let s;switch(this.m_segCurveType){case 0:case 1:case 3:{const o={stack:[],error:void 0,hasError:!1};try{const e=t(o,new l,!1),n=t(o,new l,!1);_.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*i,this.m_az12.val,e,n,this.m_segCurveType),s=new M(e.val,n.val);break}catch(n){o.error=n,o.hasError=!0}finally{e(o)}}case 2:{const t=T.lerp(this.m_segStartPt3d,this.m_segEndPt3d,i);s=f(this.m_a,this.m_eSquared,t);break}case 4:s=M.lerp(this.m_segStartPt,this.m_segEndPt,i),this.m_bIsPannablePcs&&(g(this.m_sr,0,[s],1),s.mulThis(this.m_rpu));break;default:o("Invalid curve type")}return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,s.x,s.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:_.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=M.distance(this.m_segStartPt,this.m_segEndPt);break;default:o("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function J(){return new j}class K{m_inputSR;m_distCurveType;m_progressTracker;m_maxDistance;m_maxDeviation;m_inputGCS;m_peGeogcs;m_a;m_eSquared;m_rpu;m_envHelper;m_boxGeomA=H();m_boxGeomB=H();m_envGeomA=new w;m_envGeomB=new w;m_progressCounter=0;m_bIsPannablePcs;m_transformPCS2GCS=null;m_segmentBoxesA=new Map;m_segmentBoxesB=new Map;m_boundaryPtsA=[];m_boundaryPtsB=[];m_scaleToRadians=new B;m_scaleToDegrees=new B;m_tolerance;[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(t,e,i,s,n){this.m_inputSR=t,this.m_distCurveType=e,this.m_progressTracker=i,this.m_maxDistance=s,this.m_maxDeviation=n,this.m_inputGCS=t.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;const o=G();this.m_inputGCS.querySpheroidData(o),this.m_a=o.majorSemiAxis,this.m_eSquared=o.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new X(this.m_a,this.m_eSquared,1),4===this.m_distCurveType&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=2===this.m_inputSR.getCoordinateSystemType()&&this.m_inputSR.isPannable()}progress(t=!1){}calculate(t,e,i,s){const n=L(),o=L();if(t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(t,e,n,o))return i&&z(i,n),s&&z(s,o),0;const m=this.prepareGeometry(t);if(m.isEmpty())return Number.NaN;const a=this.prepareGeometry(e);if(a.isEmpty())return Number.NaN;this.m_tolerance=this.computeTolerance(m,a);const r=this._ExecuteBruteForce(m,a,n,o);return r>=this.m_maxDistance?Number.NaN:(i&&(this.prepareOutput(n),z(i,n)),s&&(this.prepareOutput(o),z(s,o)),r)}createDistanceFunctor(t,e,i){const s=new Q(t,e,i,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||1===this.m_inputSR.getCoordinateSystemType()||s.setSegmentCurveType(2),s}_NormalizeAndProject(t){if(this.m_inputSR.isPannable()&&(t=(new c).foldInto360Range(t,this.m_inputSR)),2===this.m_inputSR.getCoordinateSystemType()){const e=h(this.m_inputSR,this.m_inputGCS,null);t=(new c).execute(t,e,this.m_progressTracker)}return t}_ExecuteBruteForce(t,e,n,o){switch(t.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointGeometry(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointPoint(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointPoint(i,s,n,o){const m={stack:[],error:void 0,hasError:!1};try{const e=i.getXY();e.scale(this.m_rpu);const a=s.getXY();a.scale(this.m_rpu),n.outPoint.assign(e),o.outPoint.assign(a);const r=t(m,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,e.x,e.y,a.x,a.y,r,null,null,this.m_distCurveType),r.val}catch(a){m.error=a,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticPointMultipoint(i,s,n,o){const m={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(i,s);const e=this.estimateMinimumDistance(n,o);let a=e<this.m_maxDistance?e:this.m_maxDistance;const r=i.getXY();r.scale(this.m_rpu),n.outPoint.assign(r);const u=p(this.m_a,this.m_eSquared,r),c=new M,h=s.getImpl(),d=t(m,new l,!1),g=h.getPointCount();for(let t=0;t<g;++t){h.queryXY(t,c),c.scale(this.m_rpu);const e=p(this.m_a,this.m_eSquared,c);if(!(T.distance(u,e)>a)&&(!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>a)&&(_.geodeticDistance(this.m_a,this.m_eSquared,r.x,r.y,c.x,c.y,d,null,null,this.m_distCurveType),d.val<a&&(a=d.val,o.outPoint=c,0===a))))return a}return a===this.m_maxDistance?Number.POSITIVE_INFINITY:a}catch(a){m.error=a,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticPointMultipath(i,s,o,m){const a={stack:[],error:void 0,hasError:!1};try{const e=new M,r=new M;e.assign(i.getXY()),r.assign(i.getXY()),o.outPoint.assign(r.mul(this.m_rpu)),this.m_bIsPannablePcs&&d(this.m_inputSR,[e],1,!1),this.computeEnvelopesAndBoxes(i,s);const u=this.estimateMinimumDistance(o,m);let c=u<this.m_maxDistance?u:this.m_maxDistance;const h=s.getImpl(),l=new M(0,0),_=new M(0,0),p=[1],g=this.canUseSpatialTree(i,s),x=J();g&&this.buildSpatialTree(x,s);const y=H();y.setCoords({xmin:r.x,ymin:r.y,xmax:r.x,ymax:r.y});const P=t(a,this.createDistanceFunctor(r,l,_),!1),S=h.querySegmentIterator();if(S.stripAttributes(),g)n(0);else for(;S.nextPath();)for(;S.hasNextSegment();){const t=S.nextSegment(),i=this.findOrComputeBoxSegment(S.getStartPointIndex(),t,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(y,i)>c)continue;const s=this.calculateDistanceGeodeticPointSegment(e,r,t,p,P);if(s.second<c&&(this.updateOutputSegment(m,t,s.first),c=s.second,0===c))return 0}return c===this.m_maxDistance?Number.POSITIVE_INFINITY:c}catch(r){a.error=r,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticMultipointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipointMultipoint(i,s,n,o){const m={stack:[],error:void 0,hasError:!1};try{const e=t(m,new l,!1);this.computeEnvelopesAndBoxes(i,s);const a=this.estimateMinimumDistance(n,o);let r=a<this.m_maxDistance?a:this.m_maxDistance;const u=new M,c=new M,h=i.getImpl(),d=s.getImpl(),g=H(),x=h.getPointCount(),y=d.getPointCount();for(let t=0;t<x;++t){if(u.assign(h.getXY(t)),g.setCoords({xmin:u.x,ymin:u.y,xmax:u.x,ymax:u.y}),this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>r)continue;u.scale(this.m_rpu);const i=p(this.m_a,this.m_eSquared,u);for(let t=0;t<y;++t){c.assign(d.getXY(t)),c.scale(this.m_rpu);const s=p(this.m_a,this.m_eSquared,c);if(!(T.distance(i,s)>=r)&&(_.geodeticDistance(this.m_a,this.m_eSquared,u.x,u.y,c.x,c.y,e,null,null,this.m_distCurveType),e.val<r&&(n.outPoint.assign(u),o.outPoint.assign(c),r=e.val,0===r)))return r}}return r===this.m_maxDistance?Number.POSITIVE_INFINITY:r}catch(a){m.error=a,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticMultipointMultipath(i,s,o,m){const a={stack:[],error:void 0,hasError:!1};try{const e=s.getImpl().querySegmentIterator();e.stripAttributes(),this.computeEnvelopesAndBoxes(i,s);const r=this.estimateMinimumDistance(o,m);let u=r<this.m_maxDistance?r:this.m_maxDistance;const c=new M,h=new M(0,0),l=new M(0,0),_=new M(0,0),p=[0],g=H(),x=t(a,this.createDistanceFunctor(h,l,_),!1),y=J(),P=this.canUseSpatialTree(i,s);P&&this.buildSpatialTree(y,s);const S=i.getPointCount();for(let t=0;t<S;++t)if(c.assign(i.getXY(t)),h.assign(i.getXY(t)),this.m_bIsPannablePcs&&d(this.m_inputSR,[c],1,!1),g.setCoords({xmin:h.x,ymin:h.y,xmax:h.x,ymax:h.y}),!(this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>u))if(x.setPointDistFrom(h),P)n(0);else{for(;e.nextPath();)for(;e.hasNextSegment();){const t=e.nextSegment();if(this.m_envHelper.minDistanceGeodesic(g,this.findOrComputeBoxSegment(e.getStartPointIndex(),t,this.m_segmentBoxesB))>u)continue;const i=this.calculateDistanceGeodeticPointSegment(c,h,t,p,x);if(i.second<u&&(o.outPoint.assign(h.mul(this.m_rpu)),this.updateOutputSegment(m,t,i.first),u=i.second,0===u))return 0}e.resetToFirstPath()}return u===this.m_maxDistance?Number.POSITIVE_INFINITY:u}catch(r){a.error=r,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticMultipathGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipath(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(e,t,o,n);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipathMultipath(t,e,i,s){const n=[t],o=[e],m=this.swapGeometries(n,o),a=n[0],r=o[0];this.computeEnvelopesAndBoxes(n[0],o[0]);const u=this.estimateMinimumDistance(i,s),c=this.calculateDistanceGeodeticMultipathMultipath_(a,r,i,s,u);return m&&(s.outPoint=E(i.outPoint,i.outPoint=s.outPoint)),c}calculateDistanceGeodeticMultipathMultipath_(i,s,o,m,a=Number.MAX_VALUE){const u={stack:[],error:void 0,hasError:!1};try{let e=a;const c=new M(0,0),h=new M,l=new M(0,0),_=new M,p=new M(0,0),d=new M,y=new M,P=new M,S=[new M],D=[0],f=[0],G=H(),v=H(),T=t(u,this.createDistanceFunctor(p,c,l),!1),b=J(),w=this.canUseSpatialTree(i,s);w&&this.buildSpatialTree(b,s);const E=s.querySegmentIterator();E.stripAttributes();const R=new r,C=A(i);for(let t=0;t<C.length;++t){const s=C[t];i.getSegmentBuffer(s,R,!0);const a=R.get();if(G.assign(this.findOrComputeBoxSegment(s,a,this.m_segmentBoxesA)),w)n(0);else{if(p.assign(a.getStartXY()),d.assign(a.getStartXY()),y.assign(a.getEndXY()),P.assign(a.getEndXY()),this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[d],1),g(this.m_inputSR,0,[P],1)),this.m_envHelper.minDistanceGeodesic(G,this.m_boxGeomB)>e)continue;for(;E.nextPath();){for(;E.hasNextSegment();){const t=E.nextSegment();if(c.assign(t.getStartXY()),h.assign(t.getStartXY()),l.assign(t.getEndXY()),_.assign(t.getEndXY()),a.intersect(t,S,D,f,this.m_tolerance))return this.updateOutputSegment(o,a,D[0]),this.updateOutputSegment(m,t,f[0]),0;if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[h],1),g(this.m_inputSR,0,[_],1)),v.assign(this.findOrComputeBoxPoint(E.getStartPointIndex(),h,_,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(G,v)>e)continue;T.setSegmentEndPoints(c,l),T.setPointDistFrom(d);let i=x(T.makeFunctor(),0,1,1e-10);if(i.second<e&&(o.outPoint.assign(d.mul(this.m_rpu)),this.updateOutputSegment(m,t,i.first),e=i.second,0===e))break;if(T.setPointDistFrom(P),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(o.outPoint.assign(P.mul(this.m_rpu)),this.updateOutputSegment(m,t,i.first),e=i.second,0===e))break;if(T.setSegmentEndPoints(p,y),T.setPointDistFrom(h),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,a,i.first),m.outPoint.assign(h.mul(this.m_rpu)),e=i.second,0===e))break;if(T.setPointDistFrom(_),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,a,i.first),m.outPoint.assign(_.mul(this.m_rpu)),e=i.second,0===e))break}if(0===e)return 0}E.resetToFirstPath()}}return e===this.m_maxDistance?Number.POSITIVE_INFINITY:e}catch(c){u.error=c,u.hasError=!0}finally{e(u)}}calculateDistanceGeodeticPointSegment(t,e,i,s,n){const o=i.getStartXY(),m=i.getEndXY();return i.intersectPoint(t,s,this.m_tolerance)?R(s[0],0):(n.setPointDistFrom(e),n.setSegmentEndPoints(o,m),x(n.makeFunctor(),0,1,1e-10))}prepareGeometry(t){let e=t.clone();const i=t.getGeometryType();if(i===s.enumPoint||i===s.enumMultiPoint)return this._NormalizeAndProject(e);if(i===s.enumEnvelope&&(e=this.envelopeToPolygon(e)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(e,4);if(2===this.m_inputSR.getCoordinateSystemType()){if(e=y(e,this.m_inputSR,0,null),e.isEmpty())return e;e=(new F).execute(e,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);const t=this.m_inputSR.getSRToGCSTransform();return(new c).execute(e,t,this.m_progressTracker)}const n=new w;e.queryLooseEnvelope(n);const o=this.m_inputSR.getPannableExtent();if(n.ymin<o.ymin||n.ymax>o.ymax){const t=new w(n.xmin-1,o.ymin,n.xmax+1,o.ymax);if(e=(new k).execute(e,t,this.m_inputSR,this.m_progressTracker),e.isEmpty())return e}return n.width()>2*o.width()?(e=P(e,-2*o.width(),2*o.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker),e):e}prepareGeometryPannable(t,e){const i=new w;t.queryEnvelope(i);const s=this.m_inputSR.getPannableExtent();if(s.containsEnvelope(i))return t;const n=new C;s.queryIntervalX(n);const o=new C;return i.queryIntervalX(o),t=n.contains(o)?S(t,this.m_inputSR):(new c).foldInto360RangeGeodetic(t,this.m_inputSR,e)}prepareOutput(t){t.outPoint.scale(1/this.m_rpu),2===this.m_inputSR.getCoordinateSystemType()&&d(this.m_inputSR,[t.outPoint],1,!1)}updateOutputSegment(t,e,i){e.queryCoord2D(i,t.outPoint),this.m_bIsPannablePcs&&g(this.m_inputSR,0,[t.outPoint],1),t.outPoint.mulThis(this.m_rpu)}computeTolerance(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB);const i=new w(this.m_envGeomA);return i.mergeEnvelope2D(this.m_envGeomB),b(null,i)}envelopeToPolygon(t){const e=new u;return e.addEnvelope(t,!1),e}computeEnvelopesAndBoxes(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(t,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(e,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(t,e,i){switch(t.getGeometryType()){case s.enumPoint:return this.computeBoxPoint(t,e);case s.enumMultiPoint:return this.computeBoxMultiPoint(t,e);case s.enumPolyline:case s.enumPolygon:return this.computeBoxMultiPath(t,e,i);default:o("Invalid geometry type")}}computeBoxPoint(t,e){const i=t.getXY();e.length=0,e.push(i.mul(this.m_rpu));const s=H();return s.setCoords({xmin:i.x,ymin:i.y,xmax:i.x,ymax:i.y}),s}computeBoxMultiPoint(t,e){let i=!0;for(let n=0;n<t.getPointCount();++n){const s=t.getXY(n);if(i){e.length=0;for(let t=0;t<4;++t)e.push(s.clone());i=!1}s.x<e[0].x&&e[0].assign(s),s.y>e[1].y&&e[1].assign(s),s.x>e[2].x&&e[2].assign(s),s.y<e[3].y&&e[3].assign(s)}for(let n=0;n<e.length;++n)e[n].mulThis(this.m_rpu);const s=H();return t.queryEnvelope(s),s}computeBoxMultiPath(t,e,i){let s=!0;const n=H();n.setEmpty();const o=t.querySegmentIterator();for(o.stripAttributes();o.nextPath();)for(;o.hasNextSegment();){const t=o.nextSegment(),m=t.getStartXY(),a=t.getEndXY();if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[m],1),g(this.m_inputSR,0,[a],1)),s){for(let t=0;t<4;++t)e.push(m.clone());s=!1}m.x<e[0].x&&e[0].assign(m),m.y>e[1].y&&e[1].assign(m),m.x>e[2].x&&e[2].assign(m),m.y<e[3].y&&e[3].assign(m),a.x<e[0].x&&e[0].assign(a),a.y>e[1].y&&e[1].assign(a),a.x>e[2].x&&e[2].assign(a),a.y<e[3].y&&e[3].assign(a);const r=this.findOrComputeBoxPoint(o.getStartPointIndex(),m,a,i);n.mergeEnvelope2D(r)}for(let m=0;m<e.length;++m)e[m].mulThis(this.m_rpu);return n}findOrComputeBoxSegment(t,e,i){if(!i.has(t)){let s=H();if(e.queryEnvelope(s),this.m_bIsPannablePcs){const t=M.construct(s.xmin,s.ymin),e=M.construct(s.xmax,s.ymax);g(this.m_inputSR,0,[t],1),g(this.m_inputSR,0,[e],1),s=this.m_envHelper.calculateBbox(t.x,t.y,e.x,e.y)}return i.set(t,s),s}return i.get(t)}findOrComputeBoxPoint(t,e,i,s){if(!s.has(t)){let n=H();return n.setCoords({xmin:e.x,ymin:e.y,xmax:i.x,ymax:i.y}),this.m_bIsPannablePcs&&(n=this.m_envHelper.calculateBbox(n.xmin,n.ymin,n.xmax,n.ymax)),s.set(t,n),n}return s.get(t)}estimateMinimumDistance(i,s){const n={stack:[],error:void 0,hasError:!1};try{const e=t=>p(this.m_a,this.m_eSquared,t),o=this.m_boundaryPtsA.map(e),m=this.m_boundaryPtsB.map(e);let a=Number.MAX_VALUE,r=0,u=0;for(let t=0;t<o.length;++t)for(let e=0;e<m.length;++e){const i=T.distance(o[t],m[e]);i<a&&(a=i,r=t,u=e)}i.outPoint.assign(this.m_boundaryPtsA[r]),s.outPoint.assign(this.m_boundaryPtsB[u]);const c=t(n,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[r].x,this.m_boundaryPtsA[r].y,this.m_boundaryPtsB[u].x,this.m_boundaryPtsB[u].y,c,null,null,this.m_distCurveType),c.val}catch(o){n.error=o,n.hasError=!0}finally{e(n)}}swapGeometries(t,e){return m(t[0])>m(e[0])&&(e[0]=E(t[0],t[0]=e[0]),this.m_envGeomB=E(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(t,e){return!1}checkGeometriesIntersect(t,e,i,n){let o=t.getGeometryType(),m=e.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(o===s.enumPoint&&2===e.getDimension()){const s=[0],o=[t.getXY()];if(D(e,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}else if(m===s.enumPoint&&2===t.getDimension()){const s=[2],o=[e.getXY()];if(D(t,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}if(o===s.enumMultiPoint&&2===e.getDimension())return this.multipointIntersectsArea(t,e,i,n);if(m===s.enumMultiPoint&&2===t.getDimension())return this.multipointIntersectsArea(e,t,n,i);let r,u,c=t,h=e;if(o===s.enumEnvelope&&(r=this.envelopeToPolygon(t),c=r,o=s.enumPolygon),m===s.enumEnvelope&&(u=this.envelopeToPolygon(e),h=u,m=s.enumPolygon),a(o)&&a(m)){const t=c.querySegmentIterator(),e=h.querySegmentIterator(),s=N(),o=N();if(q(c,h,t,e,s,o))return i.outPoint.assign(s.outPoint),n.outPoint.assign(s.outPoint),!0}}return!1}multipointIntersectsArea(t,e,i,s){const n=t.getPointCount();for(let o=0;o<n;++o){const n=[2],m=t.getXY(o);if(D(e,[m],1,this.m_tolerance,n),0!==n[0])return i.outPoint.assign(m),s.outPoint.assign(m),!0}return!1}getNearestNeighbourVisitor(t,e,i,s,o,m,a){return n(0),{}}buildSpatialTree(t,e){n(0)}}export{K as G,Q as a,L as m};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as r,__disposeResources as t}from"tslib";import{t as s}from"./Geometry.js";import{m as a,P as e}from"./Point2D.js";import"./MultiPathImpl.js";import{h as o,r as n,ai as i,O as l,aj as c,aE as m}from"./UnitFactory.js";function f(m,f,g,u,h,y){const N={stack:[],error:void 0,hasError:!1};try{4===u&&s("");const t=m,S=o(t),p=n();S.querySpheroidData(p);const T=p.e2,d=p.majorSemiAxis,j=S.getUnit().getUnitToBaseFactor(),v=r(N,new i,!1),x=r(N,new i,!1),w=r(N,new i,!1);if(f.isNAN()||g.isNAN())return Number.NaN;const A=a(e,2);A[0].assign(f),A[1].assign(g);const C=a(e,2),E=t.getGCS()!==t?t.getSRToGCSTransform():null;if(E){if(2!==(new l).transform(E,A,2,C))return Number.NaN}else C[0].assign(A[0]),C[1].assign(A[1]);return C[0].scale(j),C[1].scale(j),c.geodeticDistance(d,T,C[0].x,C[0].y,C[1].x,C[1].y,v,x,w,u),h[0]=x.val,y[0]=w.val,v.val}catch(S){N.error=S,N.hasError=!0}finally{t(N)}}function g(l,f,g,u,h,y){const N={stack:[],error:void 0,hasError:!1};try{4===y&&s("");const t=l,S=o(t),p=n();S.querySpheroidData(p);const T=p.e2,d=p.majorSemiAxis,j=S.getUnit().getUnitToBaseFactor(),v=r(N,new i,!1),x=r(N,new i,!1),w=t.getSRToGCSTransform(),A=t.getGCSToSRTransform(),C=a(e,100),E=a(e,100);let G=0;for(let r=0,s=0;r<g;){let t=g-r;t>C.length&&(t=C.length);for(let s=0;s<t;s++)C[s].assign(f[r+s]);if(m(w,C,t,E,null)>0){for(let r=0;r<t;r++){const t=E[r].clone();t.isNAN()?C[r].assign(t):(t.scale(j),c.geodeticCoordinate(d,T,t.x,t.y,u,h,v,x,y),t.x=v.val,t.y=x.val,t.scale(1/j),C[r].assign(t))}G+=m(A,C,t,E,null)}for(let r=0;r<t;r++)f[s+r].assign(E[r]);r+=t,s+=t}return G}catch(S){N.error=S,N.hasError=!0}finally{t(N)}}export{f as calculateDistanceAndAzimuth,g as movePointsByDistance};
2
+ import{__addDisposableResource as r,__disposeResources as t}from"tslib";import{t as s}from"./Geometry.js";import{m as a,P as o}from"./Point2D.js";import"./MultiPathImpl.js";import{h as e,r as n,an as i,O as l,ao as c,aJ as m}from"./UnitFactory.js";function f(m,f,g,u,h,y){const N={stack:[],error:void 0,hasError:!1};try{4===u&&s("");const t=m,S=e(t),p=n();S.querySpheroidData(p);const T=p.e2,d=p.majorSemiAxis,v=S.getUnit().getUnitToBaseFactor(),x=r(N,new i,!1),j=r(N,new i,!1),w=r(N,new i,!1);if(f.isNAN()||g.isNAN())return Number.NaN;const A=a(o,2);A[0].assign(f),A[1].assign(g);const C=a(o,2),G=t.getGCS()!==t?t.getSRToGCSTransform():null;if(G){if(2!==(new l).transform(G,A,2,C))return Number.NaN}else C[0].assign(A[0]),C[1].assign(A[1]);return C[0].scale(v),C[1].scale(v),c.geodeticDistance(d,T,C[0].x,C[0].y,C[1].x,C[1].y,x,j,w,u),h[0]=j.val,y[0]=w.val,x.val}catch(S){N.error=S,N.hasError=!0}finally{t(N)}}function g(l,f,g,u,h,y){const N={stack:[],error:void 0,hasError:!1};try{4===y&&s("");const t=l,S=e(t),p=n();S.querySpheroidData(p);const T=p.e2,d=p.majorSemiAxis,v=S.getUnit().getUnitToBaseFactor(),x=r(N,new i,!1),j=r(N,new i,!1),w=t.getSRToGCSTransform(),A=t.getGCSToSRTransform(),C=a(o,100),G=a(o,100);let U=0;for(let r=0,s=0;r<g;){let t=g-r;t>C.length&&(t=C.length);for(let s=0;s<t;s++)C[s].assign(f[r+s]);if(m(w,C,t,G,null)>0){for(let r=0;r<t;r++){const t=G[r].clone();t.isNAN()?C[r].assign(t):(t.scale(v),c.geodeticCoordinate(d,T,t.x,t.y,u,h,x,j,y),t.x=x.val,t.y=j.val,t.scale(1/v),C[r].assign(t))}U+=m(A,C,t,G,null)}for(let r=0;r<t;r++)f[s+r].assign(G[r]);r+=t,s+=t}return U}catch(S){N.error=S,N.hasError=!0}finally{t(N)}}export{f as calculateDistanceAndAzimuth,g as movePointsByDistance};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{v as r,x as o}from"./UnitFactory.js";export{G as GeographicTransformation,y as createFromPe}from"./UnitFactory.js";import"./Point2D.js";import"./Geometry.js";export{r as create,o as createFromWKT};
2
+ import{y as r,z as o}from"./UnitFactory.js";export{G as GeographicTransformation,A as createFromPe}from"./UnitFactory.js";import"./Point2D.js";import"./Geometry.js";export{r as create,o as createFromWKT};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- function e(e){switch(e){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}function n(e,n){try{if(!e)throw new Error(n)}catch(t){throw t}}class t extends Error{constructor(e,n){super(n),this.m_AdditionalMessage=n,this.m_ErrorType=e,this.name="GeometryError"}what(){return e(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}m_AdditionalMessage;m_ErrorType}class r extends t{constructor(e){super(2,e),this.name="CorruptedGeometryError"}}class o extends t{constructor(e){super(3,e),this.name="EmptyGeometryError"}}class i extends t{constructor(e){super(4,e),this.name="MathSingularityError"}}class u extends t{constructor(e){super(21,e),this.name="ProjectionEngineNotLoadedError"}}class s extends t{constructor(e){super(8,e),this.name="NonSimpleGeometryError"}}var a;!function(e){e[e.enumUnknown=0]="enumUnknown",e[e.enumPoint=513]="enumPoint",e[e.enumLine=5122]="enumLine",e[e.enumBezier=5123]="enumBezier",e[e.enumEllipticArc=5124]="enumEllipticArc",e[e.enumEnvelope=3077]="enumEnvelope",e[e.enumMultiPoint=8710]="enumMultiPoint",e[e.enumPolyline=25607]="enumPolyline",e[e.enumPolygon=27656]="enumPolygon",e[e.enumMultipatch=40969]="enumMultipatch",e[e.enumGeometryCollection=3594]="enumGeometryCollection",e[e.enumRationalBezier2=5134]="enumRationalBezier2",e[e.enumBezier2=5135]="enumBezier2",e[e.enumRationalBezier23d=5392]="enumRationalBezier23d",e[e.enumGreatArc3d=5393]="enumGreatArc3d"}(a||(a={}));const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function m(e){return c[15&e]}function l(e){return!!(512&e)}function p(e){return!!(1024&e)}function d(e){return!!(2048&e)}function f(e){return!!(4096&e)}function y(e){return!!(8192&e)}function h(e){return!!(16384&e)}function g(e){return!!(32768&e)}function w(e){const n=e.getGeometryType();return y(n)?e.getPointCount():e.isEmpty()?0:n===a.enumEnvelope?4:n===a.enumPoint?1:f(n)?2:void T("missing type")}function E(e){const n=e.getGeometryType();if(h(n))return e.hasNonLinearSegments();if(n===a.enumGeometryCollection){const n=e;for(let e=0,t=n.getGeometryCount();e<t;e++)if(E(n.getGeometry(e)))return!0;return!1}return!!f(n)&&n!==a.enumLine}function G(e){throw new u(e)}function v(e){throw new r(e)}function M(e){throw new Error(e)}function P(e){throw new i(e)}function A(){M("Geometry type is not supported for 3D operations.")}function B(e){throw new t(12,e)}function C(e){throw new o(e)}function x(e){throw new t(14,e)}function z(e){throw new Error(e)}function T(e){throw new t(13,e)}function _(e){throw new Error(e)}function b(e){throw new s(e)}function k(){x("Operation does not support curves.")}function N(e){e&&E(e)&&k()}function j(e){e&&g(e.getGeometryType())&&x("Unsupported geometry type.")}function I(e){e===a.enumGeometryCollection&&M("Geometry_collection instances are not supported in this operation")}function L(e){I(e.getGeometryType())}function R(e){M(`bad wkid: ${e}`)}function U(e){let n="bad wkt: ";n+=e,n+="...",M(n)}function D(e,n){e||M(n)}export{b as A,_ as B,C,D,a as G,M as a,P as b,j as c,T as d,G as e,l as f,n as g,f as h,y as i,h as j,g as k,d as l,p as m,E as n,v as o,N as p,B as q,z as r,R as s,x as t,U as u,w as v,L as w,m as x,A as y,I as z};
2
+ function e(e){switch(e){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}function n(e,n){try{if(!e)throw new Error(n)}catch(t){throw t}}class t extends Error{constructor(e,n){super(n),this.m_AdditionalMessage=n,this.m_ErrorType=e,this.name="GeometryError"}what(){return e(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}m_AdditionalMessage;m_ErrorType}class r extends t{constructor(e){super(2,e),this.name="CorruptedGeometryError"}}class o extends t{constructor(e){super(3,e),this.name="EmptyGeometryError"}}class i extends t{constructor(e){super(4,e),this.name="MathSingularityError"}}class u extends t{constructor(e){super(21,e),this.name="ProjectionEngineNotLoadedError"}}class s extends t{constructor(e){super(8,e),this.name="NonSimpleGeometryError"}}var a;!function(e){e[e.enumUnknown=0]="enumUnknown",e[e.enumPoint=513]="enumPoint",e[e.enumLine=5122]="enumLine",e[e.enumBezier=5123]="enumBezier",e[e.enumEllipticArc=5124]="enumEllipticArc",e[e.enumEnvelope=3077]="enumEnvelope",e[e.enumMultiPoint=8710]="enumMultiPoint",e[e.enumPolyline=25607]="enumPolyline",e[e.enumPolygon=27656]="enumPolygon",e[e.enumMultipatch=40969]="enumMultipatch",e[e.enumGeometryCollection=3594]="enumGeometryCollection",e[e.enumRationalBezier2=5134]="enumRationalBezier2",e[e.enumBezier2=5135]="enumBezier2",e[e.enumRationalBezier23d=5392]="enumRationalBezier23d",e[e.enumGreatArc3d=5393]="enumGreatArc3d"}(a||(a={}));const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function m(e){return c[15&e]}function l(e){return!!(512&e)}function p(e){return!!(1024&e)}function d(e){return!!(2048&e)}function f(e){return!!(4096&e)}function y(e){return!!(8192&e)}function h(e){return!!(16384&e)}function g(e){return!!(32768&e)}function w(e){const n=e.getGeometryType();return y(n)?e.getPointCount():e.isEmpty()?0:n===a.enumEnvelope?4:n===a.enumPoint?1:f(n)?2:void T("missing type")}function E(e){const n=e.getGeometryType();if(h(n))return e.hasNonLinearSegments();if(n===a.enumGeometryCollection){const n=e;for(let e=0,t=n.getGeometryCount();e<t;e++)if(E(n.getGeometry(e)))return!0;return!1}return!!f(n)&&n!==a.enumLine}function G(e){throw new u(e)}function v(e){throw new r(e)}function M(e){throw new Error(e)}function P(e){throw new i(e)}function A(){M("Geometry type is not supported for 3D operations.")}function B(e){throw new t(12,e)}function C(e){throw new o(e)}function x(e){throw new t(14,e)}function z(e){throw new Error(e)}function T(e){throw new t(13,e)}function _(e){throw new Error(e)}function b(e){throw new s(e)}function k(){x("Operation does not support curves.")}function N(e){e&&E(e)&&k()}function j(e){e&&g(e.getGeometryType())&&x("Unsupported geometry type.")}function I(e){e===a.enumGeometryCollection&&M("Geometry_collection instances are not supported in this operation")}function L(e){I(e.getGeometryType())}function R(e){M(`bad wkid: ${e}`)}function U(e){let n="bad wkt: ";n+=e,n+="...",M(n)}function D(e,n){e||M(n)}export{b as A,_ as B,C,D,a as G,M as a,P as b,j as c,T as d,G as e,l as f,n as g,f as h,y as i,h as j,g as k,d as l,p as m,E as n,v as o,N as p,B as q,z as r,L as s,x as t,m as u,w as v,I as w,A as x,R as y,U as z};
@@ -1,5 +1,6 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ReadDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{DistanceFalloffPassParameters as o,getDistanceFalloff as r}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{floatBlendScale as n}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ScreenSpacePassAtmosphere as m}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as d}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";class g extends o{constructor(){super(...arguments),this.mipmapLevels=1,this.boost=1,this.scattering=1e-4}}function c(o){const g=new p,c=g.fragment;g.include(m,{needUVs:!0,needEyeDirection:!0}),c.include(s),c.include(r),c.include(e),c.include(d),c.include(n,o),g.outputs.add("fragEmission","vec3",1);const f=1.5;return c.uniforms.add(new l("emissionTexture",({emission:e})=>e?.attachment),new a("depthTexture",({mainDepth:e})=>e),new i("scattering",({scattering:e})=>e),new i("boost",({boost:e})=>e),new i("levels",({mipmapLevels:e})=>e),new l("mipmapTexture",({mipmapTexture:e})=>e?.getTexture())).constants.add("sigmaSq","float",f).constants.add("weightEpsilon","float",.005).constants.add("gaussCoefficient","float",1/Math.sqrt(2*Math.PI*f)).code.add(t`vec3 readEmission(float level) {
2
+ import{ReadDepth as e}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DBindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{DistanceFalloffPassParameters as r,getDistanceFalloff as n}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{floatBlendScale as l}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ScreenSpacePassAtmosphere as m}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as p}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";class g extends r{constructor(){super(...arguments),this.mipmapLevels=1,this.boost=1,this.scattering=1e-4}}function c(r){const g=new d,c=g.fragment;g.include(m,{needUVs:!0,needEyeDirection:!0}),c.include(i),c.include(n),c.include(e),c.include(p),c.include(l,r),g.outputs.add("fragEmission","vec3",1);const f=1.5;return c.uniforms.add(new o("emissionTexture",({emission:e})=>e?.attachment),new a("depthTexture",({mainDepth:e})=>e),new t("scattering",({scattering:e})=>e),new t("boost",({boost:e})=>e),new t("levels",({mipmapLevels:e})=>e),new t("pixelRatioCorrection",({mipmapLevels:e},{camera:i})=>Math.log2(i.pixelRatio)/(e+1)),new o("mipmapTexture",({mipmapTexture:e})=>e?.getTexture())).constants.add("sigmaSq","float",f).constants.add("weightEpsilon","float",.005).constants.add("gaussCoefficient","float",1/Math.sqrt(2*Math.PI*f)).code.add(s`vec3 readEmission(float level) {
3
+ level *= (levels + 1.0);
3
4
  return (level < 1.0 ?
4
5
  texture(emissionTexture, uv).rgb * floatBlendInputScale * (1.0 - level) +
5
6
  textureLod(mipmapTexture, uv, 0.0).rgb * level * 0.5 :
@@ -8,7 +9,7 @@ textureLod(mipmapTexture, uv, level - 1.0).rgb) / pow(2.0, level);
8
9
  float gauss(float x) {
9
10
  float expon = -(pow(x, 2.0) / (2.0 * sigmaSq));
10
11
  return gaussCoefficient * exp(expon);
11
- }`).main.add(t`float mainDepth = -1.0;
12
+ }`).main.add(s`float mainDepth = -1.0;
12
13
  float depthSample = depthFromTexture(depthTexture, uv);
13
14
  if(depthSample < 1.0 && depthSample > 0.0){
14
15
  vec3 cameraSpaceRay = normalize(eyeDir);
@@ -18,17 +19,18 @@ mainDepth = max(0.0, length(cameraSpaceRay));
18
19
  }
19
20
  vec3 rayDir = normalize(worldRay);
20
21
  float dispersionPerPixel = getDistanceFalloff(mainDepth, rayDir, scattering);
21
- float mainLevel = pow(dispersionPerPixel, 16.0) * levels;
22
- float weights = 0.0;
22
+ float mainPoint = pow(dispersionPerPixel, 16.0) + pixelRatioCorrection;
23
23
  vec3 emission = vec3(0.0);
24
- for(float level = 0.0; level < levels; level += 1.0) {
25
- float dist = (level - mainLevel) / levels;
24
+ float weights = 0.0;
25
+ float step = 1.0 / (levels + 1.0);
26
+ for(float point = 0.0; point < 1.0; point += step) {
27
+ float dist = point - mainPoint;
26
28
  float scale = (sign(dist) > 0.0 ? 1.0 : -5.0) /
27
29
  (1.0 + boost * 0.5);
28
30
  float weight = gauss(scale * dist * 10.0 / (10.0 * dispersionPerPixel + 0.6));
29
31
  weight = (dist > 0.2 ? weight * dist * 5.0 : weight);
30
32
  if(weight > weightEpsilon) {
31
- emission += readEmission(level) * weight;
33
+ emission += readEmission(point) * weight;
32
34
  weights += weight;
33
35
  }
34
36
  }