@arcgis/core 5.2.0-next.136 → 5.2.0-next.138

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 (507) hide show
  1. package/analysis/LineOfSightAnalysisObserver.d.ts +12 -0
  2. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  3. package/analysis/LineOfSightAnalysisTarget.d.ts +12 -0
  4. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  5. package/arcade/featureset/sources/FeatureLayerParquet.js +1 -1
  6. package/arcgisGlobal.d.ts +4 -0
  7. package/assets/components/assets/icon/blockHeightMedium16.json +1 -0
  8. package/assets/components/assets/icon/blockHeightMedium24.json +1 -0
  9. package/assets/components/assets/icon/blockHeightMedium32.json +1 -0
  10. package/assets/components/assets/icon/blockHeightShort16.json +1 -0
  11. package/assets/components/assets/icon/blockHeightShort24.json +1 -0
  12. package/assets/components/assets/icon/blockHeightShort32.json +1 -0
  13. package/assets/components/assets/icon/blockHeightTall16.json +1 -0
  14. package/assets/components/assets/icon/blockHeightTall24.json +1 -0
  15. package/assets/components/assets/icon/blockHeightTall32.json +1 -0
  16. package/assets/components/assets/icon/cursorCircle16.json +1 -0
  17. package/assets/components/assets/icon/cursorCircle24.json +1 -0
  18. package/assets/components/assets/icon/cursorCircle32.json +1 -0
  19. package/assets/components/assets/icon/dictionary16.json +1 -0
  20. package/assets/components/assets/icon/dictionary24.json +1 -0
  21. package/assets/components/assets/icon/dictionary32.json +1 -0
  22. package/assets/components/assets/icon/jobDependency16.json +1 -0
  23. package/assets/components/assets/icon/jobDependency24.json +1 -0
  24. package/assets/components/assets/icon/jobDependency32.json +1 -0
  25. package/assets/components/assets/icon/referenceChip16.json +1 -0
  26. package/assets/components/assets/icon/referenceChip24.json +1 -0
  27. package/assets/components/assets/icon/referenceChip32.json +1 -0
  28. package/assets/esri/core/workers/RemoteClient.js +1 -1
  29. package/assets/esri/core/workers/chunks/{4e6f95d8c624d513849a.js → 05963f57cbe5a5249496.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{0b8681ca4a83e97f1f71.js → 067de1910190da228291.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{3c0fd1c6cda44e9f40ab.js → 070684943698fa43c2b4.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{bc1cb4b9a02e6c78deb7.js → 076e8d2e08ff2a013736.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{c10e040368065411506a.js → 10445313d0d57b34511b.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{d537c59b46cdaaf66034.js → 1188d0a136fffc009643.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{20af3f085f60c32c6c53.js → 178083d8ed7707b45ca2.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{f5efe3e800c6e23efcf3.js → 1819c45655c836b9a8d7.js} +1 -1
  37. package/assets/esri/core/workers/chunks/1b946714ca4a1a7359d4.js +2 -0
  38. package/assets/esri/core/workers/chunks/{d8d8b38ac8a91d9e45fc.js → 1cc744ab5eee5ee3bed8.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{05e39b4de7f62c5b22cc.js → 20f75cc777af13fa249b.js} +1 -1
  40. package/assets/esri/core/workers/chunks/2a1ec30f9ad305763f81.js +2 -0
  41. package/assets/esri/core/workers/chunks/34570e6bbf559f18c1a5.js +1 -0
  42. package/assets/esri/core/workers/chunks/{60f6d5da9480dd36e877.js → 3dddae78286d05eb10fc.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{9efd30bbd02ec0d1031b.js → 3ec3589f6e74d7cb87cf.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{0bec054fca104f3bf141.js → 3f776d9fd2ab68b21fca.js} +1 -1
  45. package/assets/esri/core/workers/chunks/402a82c77420254831bc.js +1 -0
  46. package/assets/esri/core/workers/chunks/{e2ebf0ea3af2e6907987.js → 406f24ec13eb30d43405.js} +1 -1
  47. package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +1 -0
  48. package/assets/esri/core/workers/chunks/{ddedc414bb478b376221.js → 46b2d4addfc73f9183a4.js} +1 -1
  49. package/assets/esri/core/workers/chunks/498d6dfd3bb0d3490548.js +1 -0
  50. package/assets/esri/core/workers/chunks/{36ef86701883a20dd6f6.js → 4a640548032355e57acd.js} +1 -1
  51. package/assets/esri/core/workers/chunks/5566f14afb63065e438f.js +1 -0
  52. package/assets/esri/core/workers/chunks/{c3b96d1d43afccd23e45.js → 590e6c70206122e4cc3c.js} +2 -2
  53. package/assets/esri/core/workers/chunks/{54860dd53a46cf4c47f3.js → 59295b99bdff4045a0e7.js} +1 -1
  54. package/assets/esri/core/workers/chunks/5aeb5e18514644fe2cf9.js +1 -0
  55. package/assets/esri/core/workers/chunks/{5da86409d70098fc6a10.js → 5b3cfe95314a75a735c1.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{a54678bfa0f1807b61cd.js → 5c855af73ee3c3e764fb.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{06da3409992bb1fa85b0.js → 5e90c1b49f2b7e21d05a.js} +39 -31
  58. package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +1 -0
  59. package/assets/esri/core/workers/chunks/{30f808cac8a34f95ea6e.js → 6079d27f4ab319fb8f0c.js} +1 -1
  60. package/assets/esri/core/workers/chunks/66c2a28a851130b87c04.js +1 -0
  61. package/assets/esri/core/workers/chunks/{dac90b3631f7f7158f68.js → 67f15538c51838201fc7.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{cfaba0470619786e1ef8.js → 68d8ae42ab71d01a70a5.js} +2 -2
  63. package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +1 -0
  64. package/assets/esri/core/workers/chunks/{864e7030c4ddbfcf0114.js → 6ccf9535013fe672c93b.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{ba7f0cf7e495d3ec2d55.js → 6e62581d933e7298d1f6.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{83b5dd4029e00abd80bf.js → 700b1d5bc67b7e1b3ff3.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{f9fea72cc222a30ef2f9.js → 72399062767abdfb0bee.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{2a7fbfd77002a24bf737.js → 747461bb6a1bc2f0a64d.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{c333f6ed42985bb2b11f.js → 7851aef196eea5d6c94e.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{f0b6bd6fab5320c3082f.js → 7a05b18f655c1167ce0a.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{04296b75d0f81fbd1bb5.js → 864194927d05ebc4cc31.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{3c4a13a9f0b305394a26.js → 876f7633c15f1e31078d.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{62298dba3f6cbdc3f4ae.js → 879b2f0ff1977bca9376.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{b547b3bce729c9dac90d.js → 898359be6996fd9763b8.js} +1 -1
  75. package/assets/esri/core/workers/chunks/8cb716f110d164030309.js +1 -0
  76. package/assets/esri/core/workers/chunks/8dc1c3042267618fd710.js +2 -0
  77. package/assets/esri/core/workers/chunks/{625f02db93d7fbf175ca.js → 9001e9a1e81bce175ddd.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{9ffa6c8d93d3443834c6.js → 912080c90b5cc2e817cf.js} +1 -1
  79. package/assets/esri/core/workers/chunks/96c50a0dda0f1503ef92.js +2 -0
  80. package/assets/esri/core/workers/chunks/{13e4379441499599c3b5.js → 9cbde13e536676767900.js} +1 -1
  81. package/assets/esri/core/workers/chunks/{408db4f32850b77264ae.js → 9cd3fcb5fca6f9dbbcd8.js} +1 -1
  82. package/assets/esri/core/workers/chunks/a054da6cbd8ee4774a57.js +1 -0
  83. package/assets/esri/core/workers/chunks/a05790444115e4cf1bcc.js +1 -0
  84. package/assets/esri/core/workers/chunks/{d1f2685782b423ef87a6.js → a556dd4e9e6d35e33a2c.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{00d576d355599c88931e.js → bc38def1983089514e4b.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{0725e515f3004bdd5c56.js → ca2adcbcf44454484fd5.js} +1 -1
  87. package/assets/esri/core/workers/chunks/{f3507b9e831ffd7a6bf8.js → cca8bd07bcd1d267a2e8.js} +1 -1
  88. package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +1 -0
  89. package/assets/esri/core/workers/chunks/{1d6b2a64f4e40e5cc13d.js → d201fbf3ceff946d2bd6.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{4439078780d9ba49fd26.js → d51bb11baadc741c46bc.js} +1 -1
  91. package/assets/esri/core/workers/chunks/db1ab9b9c8bf5c7635d3.js +1 -0
  92. package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +1 -0
  93. package/assets/esri/core/workers/chunks/e630f3c56c077cb2bd8e.js +1 -0
  94. package/assets/esri/core/workers/chunks/e81173724e8de8c1e65b.js +1 -0
  95. package/assets/esri/core/workers/chunks/{2025288bed125594ceda.js → f6e62d2d279a328cbed7.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{47c19778fcee7154ca38.js → f8bc474434fd365ab174.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{9a20dc26cb9c7b2087cf.js → f95a1f878c9c1146180e.js} +1 -1
  98. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ar.json +1 -1
  99. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bg.json +1 -1
  100. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bs.json +1 -1
  101. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ca.json +1 -1
  102. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.cs.json +1 -1
  103. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.da.json +1 -1
  104. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.de.json +1 -1
  105. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.el.json +1 -1
  106. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
  107. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.es.json +1 -1
  108. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.et.json +1 -1
  109. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fi.json +1 -1
  110. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fr.json +1 -1
  111. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.he.json +1 -1
  112. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hr.json +1 -1
  113. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hu.json +1 -1
  114. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.id.json +1 -1
  115. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.it.json +1 -1
  116. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ja.json +1 -1
  117. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ko.json +1 -1
  118. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lt.json +1 -1
  119. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lv.json +1 -1
  120. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.nl.json +1 -1
  121. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.no.json +1 -1
  122. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pl.json +1 -1
  123. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-BR.json +1 -1
  124. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-PT.json +1 -1
  125. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ro.json +1 -1
  126. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ru.json +1 -1
  127. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sk.json +1 -1
  128. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sl.json +1 -1
  129. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sr.json +1 -1
  130. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sv.json +1 -1
  131. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.th.json +1 -1
  132. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.tr.json +1 -1
  133. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.uk.json +1 -1
  134. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.vi.json +1 -1
  135. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-CN.json +1 -1
  136. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-HK.json +1 -1
  137. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-TW.json +1 -1
  138. package/assets/esri/widgets/FeatureForm/t9n/messages.ar.json +1 -1
  139. package/assets/esri/widgets/FeatureForm/t9n/messages.bg.json +1 -1
  140. package/assets/esri/widgets/FeatureForm/t9n/messages.bs.json +1 -1
  141. package/assets/esri/widgets/FeatureForm/t9n/messages.ca.json +1 -1
  142. package/assets/esri/widgets/FeatureForm/t9n/messages.cs.json +1 -1
  143. package/assets/esri/widgets/FeatureForm/t9n/messages.da.json +1 -1
  144. package/assets/esri/widgets/FeatureForm/t9n/messages.de.json +1 -1
  145. package/assets/esri/widgets/FeatureForm/t9n/messages.el.json +1 -1
  146. package/assets/esri/widgets/FeatureForm/t9n/messages.es.json +1 -1
  147. package/assets/esri/widgets/FeatureForm/t9n/messages.et.json +1 -1
  148. package/assets/esri/widgets/FeatureForm/t9n/messages.fi.json +1 -1
  149. package/assets/esri/widgets/FeatureForm/t9n/messages.fr.json +1 -1
  150. package/assets/esri/widgets/FeatureForm/t9n/messages.he.json +1 -1
  151. package/assets/esri/widgets/FeatureForm/t9n/messages.hr.json +1 -1
  152. package/assets/esri/widgets/FeatureForm/t9n/messages.hu.json +1 -1
  153. package/assets/esri/widgets/FeatureForm/t9n/messages.id.json +1 -1
  154. package/assets/esri/widgets/FeatureForm/t9n/messages.it.json +1 -1
  155. package/assets/esri/widgets/FeatureForm/t9n/messages.ja.json +1 -1
  156. package/assets/esri/widgets/FeatureForm/t9n/messages.ko.json +1 -1
  157. package/assets/esri/widgets/FeatureForm/t9n/messages.lt.json +1 -1
  158. package/assets/esri/widgets/FeatureForm/t9n/messages.lv.json +1 -1
  159. package/assets/esri/widgets/FeatureForm/t9n/messages.nl.json +1 -1
  160. package/assets/esri/widgets/FeatureForm/t9n/messages.no.json +1 -1
  161. package/assets/esri/widgets/FeatureForm/t9n/messages.pl.json +1 -1
  162. package/assets/esri/widgets/FeatureForm/t9n/messages.pt-BR.json +1 -1
  163. package/assets/esri/widgets/FeatureForm/t9n/messages.pt-PT.json +1 -1
  164. package/assets/esri/widgets/FeatureForm/t9n/messages.ro.json +1 -1
  165. package/assets/esri/widgets/FeatureForm/t9n/messages.ru.json +1 -1
  166. package/assets/esri/widgets/FeatureForm/t9n/messages.sk.json +1 -1
  167. package/assets/esri/widgets/FeatureForm/t9n/messages.sl.json +1 -1
  168. package/assets/esri/widgets/FeatureForm/t9n/messages.sr.json +1 -1
  169. package/assets/esri/widgets/FeatureForm/t9n/messages.sv.json +1 -1
  170. package/assets/esri/widgets/FeatureForm/t9n/messages.th.json +1 -1
  171. package/assets/esri/widgets/FeatureForm/t9n/messages.tr.json +1 -1
  172. package/assets/esri/widgets/FeatureForm/t9n/messages.uk.json +1 -1
  173. package/assets/esri/widgets/FeatureForm/t9n/messages.vi.json +1 -1
  174. package/assets/esri/widgets/FeatureForm/t9n/messages.zh-CN.json +1 -1
  175. package/assets/esri/widgets/FeatureForm/t9n/messages.zh-HK.json +1 -1
  176. package/assets/esri/widgets/FeatureForm/t9n/messages.zh-TW.json +1 -1
  177. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ar.json +1 -1
  178. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.bg.json +1 -1
  179. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.bs.json +1 -1
  180. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ca.json +1 -1
  181. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.cs.json +1 -1
  182. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.da.json +1 -1
  183. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.de.json +1 -1
  184. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.el.json +1 -1
  185. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.en.json +1 -1
  186. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.es.json +1 -1
  187. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.et.json +1 -1
  188. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.fi.json +1 -1
  189. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.fr.json +1 -1
  190. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.he.json +1 -1
  191. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.hr.json +1 -1
  192. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.hu.json +1 -1
  193. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.id.json +1 -1
  194. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.it.json +1 -1
  195. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ja.json +1 -1
  196. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ko.json +1 -1
  197. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.lt.json +1 -1
  198. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.lv.json +1 -1
  199. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.nl.json +1 -1
  200. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.no.json +1 -1
  201. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pl.json +1 -1
  202. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pt-BR.json +1 -1
  203. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pt-PT.json +1 -1
  204. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ro.json +1 -1
  205. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ru.json +1 -1
  206. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sk.json +1 -1
  207. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sl.json +1 -1
  208. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sr.json +1 -1
  209. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sv.json +1 -1
  210. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.th.json +1 -1
  211. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.tr.json +1 -1
  212. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.uk.json +1 -1
  213. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.vi.json +1 -1
  214. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-CN.json +1 -1
  215. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-HK.json +1 -1
  216. package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-TW.json +1 -1
  217. package/chunks/Bufferer-CclWhXVb.js +1 -1
  218. package/chunks/Component.glsl.js +3 -3
  219. package/chunks/DefaultMaterial.glsl.js +2 -2
  220. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  221. package/chunks/Envelope.js +1 -1
  222. package/chunks/Envelope2D.js +1 -1
  223. package/chunks/FocusArea.glsl.js +8 -10
  224. package/chunks/GaussianSplat.glsl.js +2 -2
  225. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  226. package/chunks/GeodeticUtils.js +1 -1
  227. package/chunks/Geometry.js +1 -1
  228. package/chunks/GeometryCleaner-CIE8Wfmb.js +1 -1
  229. package/chunks/GlobalIllumination.glsl.js +3 -3
  230. package/chunks/LineMarker.glsl.js +35 -42
  231. package/chunks/MultiPathImpl.js +1 -1
  232. package/chunks/OperatorAffineTransform.js +1 -1
  233. package/chunks/OperatorClip.js +1 -1
  234. package/chunks/OperatorDensify.js +1 -1
  235. package/chunks/OperatorDistance.js +1 -1
  236. package/chunks/OperatorGeneralize.js +1 -1
  237. package/chunks/OperatorGeodesicBuffer.js +1 -1
  238. package/chunks/OperatorGeodeticArea.js +1 -1
  239. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  240. package/chunks/OperatorGeodeticDistance.js +1 -1
  241. package/chunks/OperatorGeodeticLength.js +1 -1
  242. package/chunks/OperatorGraphicBuffer.js +1 -1
  243. package/chunks/OperatorIntegrate.js +1 -1
  244. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  245. package/chunks/OperatorProximity.js +1 -1
  246. package/chunks/OperatorProximityGeodesic.js +1 -1
  247. package/chunks/OperatorShapePreservingLength.js +1 -1
  248. package/chunks/OperatorShapePreservingProject.js +1 -1
  249. package/chunks/OperatorSimplifyOGC.js +1 -1
  250. package/chunks/Path.glsl.js +2 -2
  251. package/chunks/Point2D.js +1 -1
  252. package/chunks/RealisticTree.glsl.js +2 -2
  253. package/chunks/RibbonLine.glsl.js +51 -57
  254. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  255. package/chunks/Terrain.glsl.js +2 -2
  256. package/chunks/Transformation2D.js +1 -1
  257. package/chunks/UnitFactory.js +1 -1
  258. package/config.js +1 -1
  259. package/core/workers/RemoteClient.js +1 -1
  260. package/core/workers/workerFactory.js +1 -1
  261. package/editing/fieldUtils.d.ts +12 -0
  262. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  263. package/geometry/operators/extendOperator.js +1 -1
  264. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  265. package/geometry/operators/gx/operatorBoundary.js +1 -1
  266. package/geometry/operators/gx/operatorBuffer.js +1 -1
  267. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  268. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  269. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  270. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  271. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  272. package/geometry/operators/gx/operatorOffset.js +1 -1
  273. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  274. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  275. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  276. package/geometry/operators/isNearOperator.js +1 -1
  277. package/geometry/operators/reshapeOperator.js +1 -1
  278. package/geometry/operators/support/jsonConverter.js +1 -1
  279. package/geometry/support/curves/ellipticArc7Utils.js +1 -1
  280. package/geometry/support/ellipseUtils.js +2 -0
  281. package/interfaces.d.ts +15 -18
  282. package/kernel.js +1 -1
  283. package/layers/LinkChartLayer.js +1 -1
  284. package/layers/ParquetLayer.js +1 -1
  285. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  286. package/layers/list/LayerItemCollection.d.ts +1 -0
  287. package/layers/list/types.d.ts +5 -1
  288. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  289. package/layers/orientedImagery/queries.js +1 -1
  290. package/layers/support/TimeSeriesCalculation.d.ts +1 -1
  291. package/layers/support/TimeSeriesCalculation.js +1 -1
  292. package/layers/support/dataSeriesUtils.d.ts +10 -0
  293. package/layers/support/timeSeriesUtils.js +17 -6
  294. package/libs/lyr3d/Lyr3DModule.js +1 -1
  295. package/networks/UtilityNetwork.d.ts +15 -0
  296. package/networks/UtilityNetwork.js +1 -1
  297. package/package.json +4 -4
  298. package/popup/FeatureContent.d.ts +14 -1
  299. package/popup/FeatureContent.js +1 -1
  300. package/popup/FeatureContentCollection.d.ts +4 -10
  301. package/popup/FeatureContentCollection.js +1 -1
  302. package/popup/actions.js +1 -1
  303. package/popup/support/featureUtils.js +1 -1
  304. package/renderers/support/RenderingInfo.js +1 -1
  305. package/renderers/support/renderingInfoUtils.js +1 -1
  306. package/renderers/visualVariables/SizeVariable.d.ts +16 -20
  307. package/renderers/visualVariables/support/SizeStop.d.ts +6 -2
  308. package/rest/networks/support/TraceLocation.js +1 -1
  309. package/rest/networks/support/TraceResult.d.ts +7 -0
  310. package/rest/networks/support/TraceResult.js +1 -1
  311. package/smartMapping/renderers/color.js +1 -1
  312. package/smartMapping/renderers/opacity.js +1 -1
  313. package/smartMapping/renderers/size.js +1 -1
  314. package/smartMapping/renderers/support/timeSeriesUtils.js +1 -1
  315. package/smartMapping/statistics/histogramForTimeSeries.d.ts +11 -0
  316. package/smartMapping/statistics/histogramForTimeSeries.js +2 -0
  317. package/smartMapping/statistics/summaryStatisticsForTimeSeries.d.ts +11 -0
  318. package/smartMapping/statistics/summaryStatisticsForTimeSeries.js +2 -0
  319. package/smartMapping/statistics/support/timeSeriesUtils.js +24 -0
  320. package/smartMapping/statistics/types.d.ts +50 -0
  321. package/support/tests/serviceMockDependencies.js +1 -1
  322. package/support/tests/setupServiceMocksMesh.js +1 -1
  323. package/symbols/cim/CIMPlacements.js +1 -1
  324. package/symbols/cim/callouts/calloutAnalysisUtils.js +1 -1
  325. package/symbols/cim/callouts/effects/BackgroundCallout.js +1 -1
  326. package/symbols/cim/callouts/effects/BalloonCallout.js +1 -1
  327. package/symbols/cim/callouts/effects/PointSymbolCallout.js +1 -1
  328. package/symbols/cim/callouts/effects/calloutUtils.js +1 -1
  329. package/symbols/cim/cimAnalyzer.js +1 -1
  330. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  331. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  332. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  333. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  334. package/views/2d/engine/vectorTiles/decluttering/jobsUtil.js +1 -1
  335. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  336. package/views/2d/engine/webgl/definitions.js +1 -1
  337. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  338. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  339. package/views/2d/engine/webgl/shaderGraph/techniques/animated/ComputedAnimatedParams.js +1 -1
  340. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  341. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +1 -1
  342. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  343. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextParams.js +1 -1
  344. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  345. package/views/2d/layers/SketchLayerView2D.js +1 -1
  346. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  347. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  348. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
  349. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  350. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  351. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  352. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  353. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  354. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  355. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  356. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  357. package/views/2d/layers/features/layerAdapters/labelingUtils.js +1 -1
  358. package/views/2d/layers/features/schema/ExceedsLimitCache.js +1 -1
  359. package/views/2d/layers/features/schema/TimeSchema.js +2 -0
  360. package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
  361. package/views/2d/layers/features/schema/processor/MatcherSchema.js +1 -1
  362. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  363. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  364. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  365. package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
  366. package/views/2d/layers/support/vectorTileDebugUtils.js +1 -1
  367. package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
  368. package/views/2d/types.d.ts +2 -1
  369. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  370. package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
  371. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  372. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +24 -0
  373. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  374. package/views/3d/analysis/Viewshed/ViewshedObserverManipulatedObject3D.js +1 -1
  375. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  376. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  377. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  378. package/views/3d/camera/constraintUtils.js +1 -1
  379. package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +1 -1
  380. package/views/3d/input/handlers/ground/GroundNavigation.js +1 -1
  381. package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
  382. package/views/3d/interactive/placementTools/GroundNavigationPlacementTool3D.js +1 -1
  383. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  384. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  385. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  386. package/views/3d/state/controllers/GroundNavigationController.js +1 -1
  387. package/views/3d/state/controllers/momentum/GroundNavigationMomentumController.js +1 -1
  388. package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
  389. package/views/3d/state/utils/groundNavigationUtils.js +1 -1
  390. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  391. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  392. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +16 -8
  393. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +5 -1
  394. package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +12 -0
  395. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
  396. package/views/3d/webgl-engine/effects/focusArea/FocusArea.glsl.js +1 -1
  397. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  398. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  399. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  400. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  401. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  402. package/views/SelectionManager.d.ts +3 -3
  403. package/views/draw/support/Reshape.js +1 -1
  404. package/views/interactive/options/bindViewToolOptions.js +1 -1
  405. package/views/interactive/sketch/SketchLabelOptions.d.ts +3 -0
  406. package/views/interactive/sketch/SketchLabelOptions.js +1 -1
  407. package/views/interactive/sketch/SketchTooltipOptions.d.ts +3 -0
  408. package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
  409. package/views/interactive/sketch/SketchValueOptions.d.ts +3 -0
  410. package/views/interactive/sketch/SketchValueOptions.js +1 -1
  411. package/views/interactive/snapping/SnappingOptions.d.ts +3 -0
  412. package/views/interactive/snapping/SnappingOptions.js +1 -1
  413. package/views/interactive/snapping/snappingUtils.js +1 -1
  414. package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
  415. package/views/layers/SketchLayerView.d.ts +34 -0
  416. package/views/layers/SketchLayerView.js +2 -0
  417. package/views/layers/types.d.ts +3 -2
  418. package/views/selection/types.d.ts +15 -4
  419. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  420. package/widgets/BasemapGallery.js +1 -1
  421. package/widgets/Bookmarks/BookmarksViewModel.d.ts +4 -0
  422. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +5 -1
  423. package/widgets/Bookmarks/types.d.ts +2 -0
  424. package/widgets/Editor/EditorViewModel.d.ts +31 -30
  425. package/widgets/Editor/EditorViewModel.js +1 -1
  426. package/widgets/Editor/components/Settings.js +1 -1
  427. package/widgets/Editor/types.d.ts +44 -0
  428. package/widgets/Editor.d.ts +30 -27
  429. package/widgets/Editor.js +1 -1
  430. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -1
  431. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  432. package/widgets/FeatureTable/support/FeatureStore.d.ts +1 -1
  433. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  434. package/widgets/FeatureTable.d.ts +6 -0
  435. package/widgets/FeatureTable.js +1 -1
  436. package/widgets/Histogram/types.d.ts +10 -2
  437. package/widgets/HistogramRangeSlider/types.d.ts +4 -1
  438. package/widgets/LayerList/LayerListViewModel.d.ts +2 -1
  439. package/widgets/Legend/LegendViewModel.d.ts +2 -0
  440. package/widgets/Legend/styles/card/CardView.d.ts +2 -0
  441. package/widgets/Legend/styles/classic/ClassicView.d.ts +4 -1
  442. package/widgets/Legend.d.ts +3 -0
  443. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +7 -0
  444. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  445. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  446. package/widgets/OrientedImageryViewer/support/VideoFeatureCache.js +2 -0
  447. package/widgets/OrientedImageryViewer/types.d.ts +9 -0
  448. package/widgets/OrientedImageryViewer.d.ts +7 -0
  449. package/widgets/OrientedImageryViewer.js +2 -2
  450. package/widgets/PanoramicVideoViewer.js +1 -1
  451. package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
  452. package/widgets/ScaleRangeSlider/types.d.ts +9 -2
  453. package/widgets/Sketch/SketchViewModel.d.ts +32 -1
  454. package/widgets/Sketch/SketchViewModel.js +1 -1
  455. package/widgets/Sketch.d.ts +27 -1
  456. package/widgets/Sketch.js +1 -1
  457. package/widgets/Slider/types.d.ts +58 -13
  458. package/widgets/Slider.d.ts +6 -0
  459. package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.d.ts +2 -0
  460. package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.d.ts +2 -0
  461. package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.d.ts +2 -0
  462. package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.d.ts +2 -0
  463. package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.d.ts +2 -0
  464. package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.d.ts +2 -0
  465. package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.d.ts +2 -0
  466. package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.d.ts +3 -0
  467. package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.d.ts +2 -0
  468. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +2 -0
  469. package/widgets/smartMapping/types.d.ts +30 -7
  470. package/widgets/support/FilterBuilder/FilterBuilderViewModel.d.ts +21 -11
  471. package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +1 -1
  472. package/widgets/support/FilterBuilder/types.d.ts +28 -0
  473. package/widgets/support/FilterBuilder.js +1 -1
  474. package/widgets/support/FilterCondition/FilterConditionViewModel.d.ts +24 -0
  475. package/widgets/support/FilterCondition/FilterConditionViewModel.js +1 -1
  476. package/widgets/support/FilterCondition/types.d.ts +16 -1
  477. package/widgets/support/FilterCondition.js +1 -1
  478. package/widgets/support/SnappingControls/snappingLayerListUtils.js +1 -1
  479. package/widgets/support/iconUtils.js +1 -1
  480. package/assets/esri/core/workers/chunks/0606ab6fdfc1dfea3856.js +0 -1
  481. package/assets/esri/core/workers/chunks/078dcd17f46403d44b24.js +0 -1
  482. package/assets/esri/core/workers/chunks/1289204f8ca96032c17a.js +0 -1
  483. package/assets/esri/core/workers/chunks/12b5a645c0987a0efe54.js +0 -2
  484. package/assets/esri/core/workers/chunks/152fe3d6ad7aebbd23d1.js +0 -1
  485. package/assets/esri/core/workers/chunks/17b938ba49fb1e7ab8c4.js +0 -1
  486. package/assets/esri/core/workers/chunks/1dbb3e25e005a8220779.js +0 -2
  487. package/assets/esri/core/workers/chunks/3d6fef25af7e1a51e1bd.js +0 -1
  488. package/assets/esri/core/workers/chunks/3ef367c9b7bf1588307d.js +0 -1
  489. package/assets/esri/core/workers/chunks/5f4feca26102088ea565.js +0 -1
  490. package/assets/esri/core/workers/chunks/74211d096cc3296e0968.js +0 -1
  491. package/assets/esri/core/workers/chunks/7926faab76a721a2e1c4.js +0 -1
  492. package/assets/esri/core/workers/chunks/ad28486bc6afaa346de5.js +0 -1
  493. package/assets/esri/core/workers/chunks/ad29c729e90b5866713c.js +0 -1
  494. package/assets/esri/core/workers/chunks/b72a2514aa4cc4ae7d1b.js +0 -1
  495. package/assets/esri/core/workers/chunks/bb51cf52b8ea8283f4f8.js +0 -1
  496. package/assets/esri/core/workers/chunks/be761749f8d77fbd9df5.js +0 -1
  497. package/assets/esri/core/workers/chunks/dbfd25aa0d19aed5890c.js +0 -1
  498. package/assets/esri/core/workers/chunks/de28a86775235bd5d3c4.js +0 -2
  499. package/assets/esri/core/workers/chunks/f6cfc901267a229de7a1.js +0 -2
  500. package/assets/esri/core/workers/chunks/fb147097149a89e671ff.js +0 -1
  501. package/support/revision.js +0 -2
  502. /package/assets/esri/core/workers/chunks/{1dbb3e25e005a8220779.js.LICENSE.txt → 1b946714ca4a1a7359d4.js.LICENSE.txt} +0 -0
  503. /package/assets/esri/core/workers/chunks/{f6cfc901267a229de7a1.js.LICENSE.txt → 2a1ec30f9ad305763f81.js.LICENSE.txt} +0 -0
  504. /package/assets/esri/core/workers/chunks/{c3b96d1d43afccd23e45.js.LICENSE.txt → 590e6c70206122e4cc3c.js.LICENSE.txt} +0 -0
  505. /package/assets/esri/core/workers/chunks/{cfaba0470619786e1ef8.js.LICENSE.txt → 68d8ae42ab71d01a70a5.js.LICENSE.txt} +0 -0
  506. /package/assets/esri/core/workers/chunks/{de28a86775235bd5d3c4.js.LICENSE.txt → 8dc1c3042267618fd710.js.LICENSE.txt} +0 -0
  507. /package/assets/esri/core/workers/chunks/{12b5a645c0987a0efe54.js.LICENSE.txt → 96c50a0dda0f1503ef92.js.LICENSE.txt} +0 -0
@@ -1,20 +1,18 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{signal as e}from"../core/signal.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{IntegerPassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as a}from"../views/webgl/NoParameters.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";class s extends a{constructor(){super(...arguments),this.effect=0,this.fadeFactor=e(1)}}function c(e){let a=new o;return a.include(t),a.outputs.add(`fragColor`,`vec4`,0),a.fragment.uniforms.add(new i(`colorTexture`,e=>e.color),new i(`emissionTexture`,e=>e.emission),new i(`focusArea`,e=>e.focusArea),new r(`focusAreaEffectMode`,e=>e.effect),new n(`fadeFactor`,e=>e.fadeFactor.value)).constants.add(`EffectBright`,`int`,0).main.add(`
2
+ import{signal as e}from"../core/signal.js";import{ScreenSpacePass as t}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as o}from"../views/webgl/NoParameters.js";import{ShaderBuilder as s}from"../views/webgl/ShaderBuilder.js";class c extends o{constructor(){super(...arguments),this.effect=0,this.fadeFactor=e(1)}}function l(e){let o=new s;return o.include(t),o.outputs.add(`fragColor`,`vec4`,0),o.fragment.uniforms.add(new a(`colorTexture`,e=>e.color),new a(`emissionTexture`,e=>e.emission),new a(`focusArea`,e=>e.focusArea),new i(`focusAreaEffectMode`,e=>e.effect),new n(`fadeFactor`,e=>e.fadeFactor.value)).constants.add(`EffectBright`,`int`,0).code.add(`float getLuminance(in vec4 color) { return color.r * 0.25 + color.g * 0.5 + color.b * 0.25; }`).main.add(`
3
3
  float mask = texture(focusArea, uv).r;
4
4
 
5
5
  if (focusAreaEffectMode == EffectBright) {
6
6
  vec4 color = texture(colorTexture, uv);
7
- float luminance = color.r * 0.25 + color.g * 0.5 + color.b * 0.25;
7
+ float luminance = getLuminance(color);
8
8
  fragColor = mask > 0.0 ? color : mix(color, vec4(0.55 * luminance + 0.45), fadeFactor);
9
9
  } else {
10
10
  if(mask > 0.0) discard;
11
11
  fragColor = vec4(vec3(0.0), fadeFactor * 0.67);
12
12
  }
13
- `),e.hasEmissive&&(a.outputs.add(`fragEmission`,`vec4`,1),a.fragment.main.add(`
14
- if (focusAreaEffectMode == EffectBright) {
15
- vec4 color = texture(emissionTexture, uv);
16
- float luminance = color.r * 0.25 + color.g * 0.5 + color.b * 0.25;
17
- fragEmission = mask > 0.0 ? color : mix(color, vec4(0.67 * luminance), fadeFactor);
18
- } else
19
- fragEmission = vec4(vec3(0.0), fadeFactor * 0.9);
20
- `)),a}const l=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaPassParameters:s,build:c},Symbol.toStringTag,{value:`Module`}));export{s as F,l as a,c as b};
13
+ `),e.hasEmissive&&(o.outputs.add(`fragEmission`,`vec4`,1),o.fragment.main.add(r`if (focusAreaEffectMode == EffectBright) {
14
+ vec4 color = texture(emissionTexture, uv);
15
+ float luminance = getLuminance(color);
16
+ fragEmission = mask > 0.0 ? color : mix(color, vec4(0.67 * luminance), fadeFactor);
17
+ } else
18
+ fragEmission = vec4(vec3(0.0), fadeFactor * 0.9);`)),o}const u=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaPassParameters:c,build:l},Symbol.toStringTag,{value:`Module`}));export{c as F,u as a,l as b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n,addLightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowPass as a,readShadowMaps as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{RgbNormalizedDepthEncoding as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float3BindUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{glsl as l,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as d}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as f,GaussianSplatFading as p,gaussianSplatPerspectiveVertex as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(f,_),_.fadingEnabled&&w.include(p),w.uniforms.add(new c(`cameraPosition`,e=>e.camera.eye));let D=b?T:w;D.uniforms.add(new c(`cameraPosition`,e=>e.camera.eye)),D.include(t,_),D.include(i,_),n(D),r(D),b?S.include(a,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(l`ivec2 getShadowHighlightCoordinates() {
2
+ import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n,lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowPass as a,readShadowMaps as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{RgbNormalizedDepthEncoding as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float3BindUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{glsl as l,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as d}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as f,GaussianSplatFading as p,gaussianSplatPerspectiveVertex as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(f,_),_.fadingEnabled&&w.include(p),w.uniforms.add(new c(`cameraPosition`,e=>e.camera.eye));let D=b?T:w;D.uniforms.add(new c(`cameraPosition`,e=>e.camera.eye)),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(a,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(l`ivec2 getShadowHighlightCoordinates() {
3
3
  vec2 screenUV = gl_Position.xy / gl_Position.w * 0.5 + 0.5;
4
4
  ivec2 screenPixel = ivec2(screenUV / inverseScreenSize);
5
5
  return clamp(screenPixel, ivec2(0), textureSize(shadowHighlight, 0) - 1);
@@ -47,7 +47,7 @@ vColor.a = opacity;`)}
47
47
 
48
48
  ${m(_,O)}
49
49
  vColor.a = opacity;
50
- ${u(x,l`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
50
+ ${u(x,`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
51
51
 
52
52
  // Per-fragment lighting preserves crisp shadow borders; vertex lighting reduces overdraw cost.
53
53
  ${u(b,`forwardLinearDepth(-viewPos.z);`,A)}
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as n,G as r,g as i,d as a,v as o,j as s}from"./Geometry.js";import{S as c,P as l}from"./MultiPathImpl.js";import{O as u,D as d,an as f,ao as p,av as m,aw as h,ax as g,ay as _,az as v,aA as y,ag as b,aB as x,aC as S,r as C,ae as w}from"./UnitFactory.js";import{k as T,d as E}from"./Envelope.js";import{Envelope2D as D}from"./Envelope2D.js";import{P as O,c as k,o as A,E as j,p as M}from"./Point2D.js";import{T as N}from"./Transformation2D.js";import{s as P,w as F,m as I}from"./Distance2DCalculator-DjIp2uQi.js";import{O as L}from"./OperatorShapePreservingDensify.js";import{O as R}from"./OperatorClip.js";function z(){return new D}class B{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(e,t,n){this.m_peR1=new f,this.m_peR2=new f,this.m_peR3=new f,e===void 0?this.reset(1,0,1):this.reset(e,t,n)}reset(e,t,n){this.m_a=e,this.m_e2=t,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=n,this.m_unitToRad=3.141592653589793/180*n,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(e,t,n,r){let i=this.m_peR1,a=this.m_peR2,o=this.m_peR3;p.geodeticDistance(this.m_a,this.m_e2,e*this.m_unitToRad,t*this.m_unitToRad,n*this.m_unitToRad,r*this.m_unitToRad,o,i,a,0);let s=Math.cos(i.val),c=Math.cos(a.val+3.141592653589793),l=t*this.m_unitToRad,u=w.phiToEta(this.m_e2,l),d=Math.sin(i.val)*Math.cos(u),f=t;if(s*c<0){let e=Math.acos(Math.abs(d))*(s<0?-1:1);f=w.etaToPhi(this.m_e2,e)/this.m_unitToRad}let m=M((n-e)*this.m_unitToRad,2*Math.PI);Math.abs(m)>Math.PI&&(m=m>0?m-2*Math.PI:m+2*Math.PI),m/=this.m_unitToRad,n=e+m;let h=z();return h.xmin=Math.min(e,n),h.xmax=Math.max(e,n),h.ymin=Math.min(t,r),h.ymin=Math.min(h.ymin,f),h.ymax=Math.max(t,r),h.ymax=Math.max(h.ymax,f),h}minDistanceGeodesic(e,t){let n=V(e),r=V(t);if(n&&r)return this.lowerDistanceGeodetic_(e.xmin,e.ymin,t.xmin,t.ymin);let i=this.normalizeGeodesic_(t,e);return H(e,i)?e.ymin>=i.ymax?this.minDistanceGeodesicUpDown_(e,i):i.ymin>=e.ymax?this.minDistanceGeodesicUpDown_(i,e):e.xmin>i.xmax?this.minDistanceGeodesicLeftRight_(i,e):this.minDistanceGeodesicLeftRight_(e,i):0}normalizeGeodesic_(e,t){let n=e.clone(),r=e.clone(),i=U(n,t);if(i===0)return n;for(;r.xmax>t.xmin;){r.xmin-=this.m_u360,r.xmax-=this.m_u360;let e=U(r,t);if(e<i&&(n.assign(r),i=e,i===0))return n}for(r.assign(e);r.xmin<t.xmax;){r.xmin+=this.m_u360,r.xmax+=this.m_u360;let e=U(r,t);if(e<i&&(n.assign(r),i=e,i===0))return n}return n}lowerDistanceGeodetic_(e,t,n,r){let i=this.m_peR1;{let a=this.m_b*this.m_b/this.m_a,o=w.phiToPhig(this.m_e2,this.m_unitToRad*t),s=w.phiToPhig(this.m_e2,this.m_unitToRad*r);p.geodeticDistance(a,0,this.m_unitToRad*e,o,this.m_unitToRad*n,s,i,null,null,0)}return i.val}minDistanceGeodesicUpDown_(e,t){if(t.xmin<=e.xmin?t.xmax>=e.xmin:e.xmax>=t.xmin)return this.lowerDistanceGeodetic_(0,e.ymin,0,t.ymax);if(t.xmin>e.xmax){let n=this.lowerDistanceGeodeticSegMeridional_(e.xmax,e.ymin,e.ymax,t.xmin,t.ymin,t.ymax);if(t.xmax-e.xmin<this.m_u180)return n;let r=this.lowerDistanceGeodeticSegMeridional_(e.xmin,e.ymin,e.ymax,t.xmax,t.ymin,t.ymax);return Math.min(n,r)}{let n=this.lowerDistanceGeodeticSegMeridional_(e.xmin,e.ymin,e.ymax,t.xmax,t.ymin,t.ymax);if(e.xmax-t.xmin<this.m_u180)return n;let r=this.lowerDistanceGeodeticSegMeridional_(e.xmax,e.ymin,e.ymax,t.xmin,t.ymin,t.ymax);return Math.min(n,r)}}minDistanceGeodesicLeftRight_(e,t){let n=Math.abs(e.xmax-t.xmin);for(;n>this.m_u180;)n-=this.m_u360;let r=Math.abs(e.xmin-t.xmax);for(;r>this.m_u180;)r-=this.m_u360;return Math.abs(n)<=Math.abs(r)?this.minDistanceGeodesicLeftRightNormalized_(e,t):this.minDistanceGeodesicLeftRightNormalized_(t,e)}minDistanceGeodesicLeftRightNormalized_(e,t){let n,r;return n=this.lowerDistanceGeodetic_(e.xmax,e.ymin,t.xmin,t.ymin),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(e.xmax,e.ymin,t.xmin,t.ymin,t.ymax),n=Math.min(n,r)),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(t.xmin,t.ymin,e.xmax,e.ymin,e.ymax),n=Math.min(n,r)),r=this.lowerDistanceGeodetic_(e.xmax,e.ymax,t.xmin,t.ymax),n=Math.min(n,r),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(e.xmax,e.ymax,t.xmin,t.ymin,t.ymax),n=Math.min(n,r)),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(t.xmin,t.ymax,e.xmax,e.ymin,e.ymax),n=Math.min(n,r)),n}lowerDistanceGeodeticSegMeridional_(e,t,n,r,i,a){let o=this.lowerDistanceGeodeticPtMeridional_(e,t,r,i,a),s=this.lowerDistanceGeodeticPtMeridional_(e,n,r,i,a),c=this.lowerDistanceGeodeticPtMeridional_(r,i,e,t,n),l=this.lowerDistanceGeodeticPtMeridional_(r,a,e,t,n);return o=Math.min(o,s),c=Math.min(c,l),Math.min(o,c)}lowerDistanceGeodeticPtMeridional_(e,t,n,r,i){let a=this.m_b*this.m_b/this.m_a,o=w.phiToPhig(this.m_e2,this.m_unitToRad*t),s=w.phiToPhig(this.m_e2,this.m_unitToRad*r),c=w.phiToPhig(this.m_e2,this.m_unitToRad*i),l=this.m_peR1,u=this.m_peR2;p.geodeticDistance(a,0,this.m_unitToRad*n,s,this.m_unitToRad*e,o,l,null,null,0),p.geodeticDistance(a,0,this.m_unitToRad*n,c,this.m_unitToRad*e,o,u,null,null,0);let d=m(1,0,new O(this.m_unitToRad*e,o)),f=m(1,0,new O(this.m_unitToRad*n,s)),h=m(1,0,new O(this.m_unitToRad*n,c)),g=new T;g.setCrossProductVector(f,h);let _=f.dotProduct(h);if(g.length()<1568e-13)return _>=0?Math.min(l.val,u.val):0;g=g.getUnitVector();let v=new T;if(v.setCrossProductVector(g,d),v.length()<1568e-13)return Math.min(l.val,u.val)-a*1e-5;v=v.getUnitVector();let y=d.sub(g.mul(d.dotProduct(g)));{let t=new T;t.setCrossProductVector(f,y);let n=new T;n.setCrossProductVector(y,h);let r=g.dotProduct(t)>0&&g.dotProduct(n)>0;if(r||=(y.negateThis(),t.setCrossProductVector(f,y),n.setCrossProductVector(y,h),g.dotProduct(t)>0&&g.dotProduct(n)>0),r){y=y.getUnitVector();let t=S(1,0,y),n=this.m_peR3;p.geodeticDistance(a,0,this.m_unitToRad*e,o,t.x,t.y,n,null,null,0);let r=Math.min(l.val,u.val);return Math.min(r,n.val)}}return Math.min(l.val,u.val)}}function V(e){return e.xmin===e.xmax&&e.ymin===e.ymax}function H(e,t){return t.xmax<e.xmin||t.xmin>e.xmax||t.ymax<e.ymin||t.ymin>e.ymax}function U(e,t){let n=0,r;return r=e.xmin-t.xmax,r>n&&(n=r),r=t.xmin-e.xmax,r>n&&(n=r),n}class W{}function G(e){return{outPoint:e===void 0?new O:e.clone()}}function K(e,t){e.outPoint.assign(t.outPoint)}function q(){return new D}class J{m_ptDistFrom=new O;m_segStartPt=new O;m_segEndPt=new O;m_sr;m_distCurveType;m_segCurveType;m_a;m_eSquared;m_inputGCS;m_rpu;m_geodeticLength=new f;m_az12=new f;m_minGeodeticDist=new f;m_bIsPannablePcs;m_segStartPt3d=new T;m_segEndPt3d=new T;constructor(e,t,n,r,i=0,a=4){this.m_sr=r,this.m_distCurveType=i,this.m_segCurveType=a,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=this.m_sr.getCoordinateSystemType()===2&&this.m_sr.isPannable();let o=C();this.m_inputGCS.querySpheroidData(o),this.m_a=o.majorSemiAxis,this.m_eSquared=o.e2,this.setPointDistFrom(e),this.setSegmentEndPoints(t,n)}setSegmentEndPoints(e,t){this.m_segStartPt.assign(e),this.m_segEndPt.assign(t),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),this.m_segCurveType===2&&(this.m_segStartPt3d.assign(m(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign(m(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(e){this.m_ptDistFrom.assign(e),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(e){this.m_segCurveType=e}setDistanceCurveType(e){this.m_distCurveType=e}makeFunctor(){return n=>{let r;switch(this.m_segCurveType){case 0:case 1:case 3:{let i={stack:[],error:void 0,hasError:!1};try{let t=e(i,new f,!1),a=e(i,new f,!1);p.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*n,this.m_az12.val,t,a,this.m_segCurveType),r=new O(t.val,a.val);break}catch(e){i.error=e,i.hasError=!0}finally{t(i)}}case 2:{let e=T.lerp(this.m_segStartPt3d,this.m_segEndPt3d,n);r=S(this.m_a,this.m_eSquared,e);break}case 4:r=O.lerp(this.m_segStartPt,this.m_segEndPt,n),this.m_bIsPannablePcs&&(g(this.m_sr,0,[r],1),r.mulThis(this.m_rpu));break;default:a(`Invalid curve type`)}return p.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,r.x,r.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:p.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=O.distance(this.m_segStartPt,this.m_segEndPt);break;default:a(`Invalid curve type`)}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function Y(){return new W}class X{m_inputSR;m_distCurveType;m_progressTracker;m_maxDistance;m_maxDeviation;m_inputGCS;m_peGeogcs;m_a;m_eSquared;m_rpu;m_envHelper;m_boxGeomA=q();m_boxGeomB=q();m_envGeomA=new D;m_envGeomB=new D;m_progressCounter=0;m_bIsPannablePcs;m_transformPCS2GCS=null;m_segmentBoxesA=new Map;m_segmentBoxesB=new Map;m_boundaryPtsA=[];m_boundaryPtsB=[];m_scaleToRadians=new N;m_scaleToDegrees=new N;m_tolerance;[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(e,t,n,r,i){this.m_inputSR=e,this.m_distCurveType=t,this.m_progressTracker=n,this.m_maxDistance=r,this.m_maxDeviation=i,this.m_inputGCS=e.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;let a=C();this.m_inputGCS.querySpheroidData(a),this.m_a=a.majorSemiAxis,this.m_eSquared=a.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new B(this.m_a,this.m_eSquared,1),this.m_distCurveType===4&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=this.m_inputSR.getCoordinateSystemType()===2&&this.m_inputSR.isPannable()}progress(e=!1){}calculate(e,t,n,r){let i=G(),a=G();if(e.queryEnvelope(this.m_envGeomA),t.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(e,t,i,a))return n&&K(n,i),r&&K(r,a),0;let o=this.prepareGeometry(e);if(o.isEmpty())return NaN;let s=this.prepareGeometry(t);if(s.isEmpty())return NaN;this.m_tolerance=this.computeTolerance(o,s);let c=this._ExecuteBruteForce(o,s,i,a);return c>=this.m_maxDistance?NaN:(n&&(this.prepareOutput(i),K(n,i)),r&&(this.prepareOutput(a),K(r,a)),c)}createDistanceFunctor(e,t,n){let r=new J(e,t,n,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||this.m_inputSR.getCoordinateSystemType()===1||r.setSegmentCurveType(2),r}_NormalizeAndProject(e){if(this.m_inputSR.isPannable()&&(e=new u().foldInto360Range(e,this.m_inputSR)),this.m_inputSR.getCoordinateSystemType()===2){let t=d(this.m_inputSR,this.m_inputGCS,null);e=new u().execute(e,t,this.m_progressTracker)}return e}_ExecuteBruteForce(e,t,i,a){switch(e.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointGeometry(e,t,i,a);case r.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(e,t,i,a);case r.enumPolyline:case r.enumPolygon:case r.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(e,t,i,a);default:n(``)}}calculateDistanceGeodeticPointGeometry(e,t,i,a){switch(t.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointPoint(e,t,i,a);case r.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,i,a);case r.enumPolyline:case r.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(e,t,i,a);default:n(``)}}calculateDistanceGeodeticPointPoint(n,r,i,a){let o={stack:[],error:void 0,hasError:!1};try{let t=n.getXY();t.scale(this.m_rpu);let s=r.getXY();s.scale(this.m_rpu),i.outPoint.assign(t),a.outPoint.assign(s);let c=e(o,new f,!1);return p.geodeticDistance(this.m_a,this.m_eSquared,t.x,t.y,s.x,s.y,c,null,null,this.m_distCurveType),c.val}catch(e){o.error=e,o.hasError=!0}finally{t(o)}}calculateDistanceGeodeticPointMultipoint(n,r,i,a){let o={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(n,r);let t=this.estimateMinimumDistance(i,a),s=t<this.m_maxDistance?t:this.m_maxDistance,c=n.getXY();c.scale(this.m_rpu),i.outPoint.assign(c);let l=m(this.m_a,this.m_eSquared,c),u=new O,d=r.getImpl(),h=e(o,new f,!1),g=d.getPointCount();for(let e=0;e<g;++e){d.queryXY(e,u),u.scale(this.m_rpu);let t=m(this.m_a,this.m_eSquared,u);if(!(T.distance(l,t)>s)&&!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>s)&&(p.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,h,null,null,this.m_distCurveType),h.val<s&&(s=h.val,a.outPoint=u,s===0)))return s}return s===this.m_maxDistance?1/0:s}catch(e){o.error=e,o.hasError=!0}finally{t(o)}}calculateDistanceGeodeticPointMultipath(n,r,a,o){let s={stack:[],error:void 0,hasError:!1};try{let t=new O,c=new O;t.assign(n.getXY()),c.assign(n.getXY()),a.outPoint.assign(c.mul(this.m_rpu)),this.m_bIsPannablePcs&&h(this.m_inputSR,[t],1,!1),this.computeEnvelopesAndBoxes(n,r);let l=this.estimateMinimumDistance(a,o),u=l<this.m_maxDistance?l:this.m_maxDistance,d=r.getImpl(),f=new O(0,0),p=new O(0,0),m=[1],g=this.canUseSpatialTree(n,r),_=Y();g&&this.buildSpatialTree(_,r);let v=q();v.setCoords({xmin:c.x,ymin:c.y,xmax:c.x,ymax:c.y});let y=e(s,this.createDistanceFunctor(c,f,p),!1),b=d.querySegmentIterator();if(b.stripAttributes(),g)i(0);else for(;b.nextPath();)for(;b.hasNextSegment();){let e=b.nextSegment(),n=this.findOrComputeBoxSegment(b.getStartPointIndex(),e,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(v,n)>u)continue;let r=this.calculateDistanceGeodeticPointSegment(t,c,e,m,y);if(r.second<u&&(this.updateOutputSegment(o,e,r.first),u=r.second,u===0))return 0}return u===this.m_maxDistance?1/0:u}catch(e){s.error=e,s.hasError=!0}finally{t(s)}}calculateDistanceGeodeticMultipointGeometry(e,t,i,a){switch(t.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,a,i);case r.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(e,t,i,a);case r.enumPolyline:case r.enumPolygon:case r.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(e,t,i,a);default:n(``)}}calculateDistanceGeodeticMultipointMultipoint(n,r,i,a){let o={stack:[],error:void 0,hasError:!1};try{let t=e(o,new f,!1);this.computeEnvelopesAndBoxes(n,r);let s=this.estimateMinimumDistance(i,a),c=s<this.m_maxDistance?s:this.m_maxDistance,l=new O,u=new O,d=n.getImpl(),h=r.getImpl(),g=q(),_=d.getPointCount(),v=h.getPointCount();for(let e=0;e<_;++e){if(l.assign(d.getXY(e)),g.setCoords({xmin:l.x,ymin:l.y,xmax:l.x,ymax:l.y}),this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>c)continue;l.scale(this.m_rpu);let n=m(this.m_a,this.m_eSquared,l);for(let e=0;e<v;++e){u.assign(h.getXY(e)),u.scale(this.m_rpu);let r=m(this.m_a,this.m_eSquared,u);if(!(T.distance(n,r)>=c)&&(p.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,u.x,u.y,t,null,null,this.m_distCurveType),t.val<c&&(i.outPoint.assign(l),a.outPoint.assign(u),c=t.val,c===0)))return c}}return c===this.m_maxDistance?1/0:c}catch(e){o.error=e,o.hasError=!0}finally{t(o)}}calculateDistanceGeodeticMultipointMultipath(n,r,a,o){let s={stack:[],error:void 0,hasError:!1};try{let t=r.getImpl().querySegmentIterator();t.stripAttributes(),this.computeEnvelopesAndBoxes(n,r);let c=this.estimateMinimumDistance(a,o),l=c<this.m_maxDistance?c:this.m_maxDistance,u=new O,d=new O(0,0),f=new O(0,0),p=new O(0,0),m=[0],g=q(),_=e(s,this.createDistanceFunctor(d,f,p),!1),v=Y(),y=this.canUseSpatialTree(n,r);y&&this.buildSpatialTree(v,r);let b=n.getPointCount();for(let e=0;e<b;++e)if(u.assign(n.getXY(e)),d.assign(n.getXY(e)),this.m_bIsPannablePcs&&h(this.m_inputSR,[u],1,!1),g.setCoords({xmin:d.x,ymin:d.y,xmax:d.x,ymax:d.y}),!(this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>l)){if(_.setPointDistFrom(d),y)i(0);else{for(;t.nextPath();)for(;t.hasNextSegment();){let e=t.nextSegment();if(this.m_envHelper.minDistanceGeodesic(g,this.findOrComputeBoxSegment(t.getStartPointIndex(),e,this.m_segmentBoxesB))>l)continue;let n=this.calculateDistanceGeodeticPointSegment(u,d,e,m,_);if(n.second<l&&(a.outPoint.assign(d.mul(this.m_rpu)),this.updateOutputSegment(o,e,n.first),l=n.second,l===0))return 0}t.resetToFirstPath()}}return l===this.m_maxDistance?1/0:l}catch(e){s.error=e,s.hasError=!0}finally{t(s)}}calculateDistanceGeodeticMultipathGeometry(e,t,i,a){switch(t.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointMultipath(t,e,a,i);case r.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(t,e,a,i);case r.enumPolyline:case r.enumPolygon:case r.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(e,t,i,a);default:n(``)}}calculateDistanceGeodeticMultipathMultipath(e,t,n,r){let i=[e],a=[t],o=this.swapGeometries(i,a),s=i[0],c=a[0];this.computeEnvelopesAndBoxes(i[0],a[0]);let l=this.estimateMinimumDistance(n,r),u=this.calculateDistanceGeodeticMultipathMultipath_(s,c,n,r,l);return o&&(r.outPoint=k(n.outPoint,n.outPoint=r.outPoint)),u}calculateDistanceGeodeticMultipathMultipath_(n,r,a,o,s=Number.MAX_VALUE){let l={stack:[],error:void 0,hasError:!1};try{let t=s,u=new O(0,0),d=new O,f=new O(0,0),p=new O,m=new O(0,0),h=new O,v=new O,y=new O,b=[new O],x=[0],S=[0],C=q(),w=q(),T=e(l,this.createDistanceFunctor(m,u,f),!1),E=Y(),D=this.canUseSpatialTree(n,r);D&&this.buildSpatialTree(E,r);let k=r.querySegmentIterator();k.stripAttributes();let A=new c,j=P(n);for(let e=0;e<j.length;++e){let r=j[e];n.getSegmentBuffer(r,A,!0);let s=A.get();if(C.assign(this.findOrComputeBoxSegment(r,s,this.m_segmentBoxesA)),D)i(0);else{if(m.assign(s.getStartXY()),h.assign(s.getStartXY()),v.assign(s.getEndXY()),y.assign(s.getEndXY()),this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[h],1),g(this.m_inputSR,0,[y],1)),this.m_envHelper.minDistanceGeodesic(C,this.m_boxGeomB)>t)continue;for(;k.nextPath();){for(;k.hasNextSegment();){let e=k.nextSegment();if(u.assign(e.getStartXY()),d.assign(e.getStartXY()),f.assign(e.getEndXY()),p.assign(e.getEndXY()),s.intersect(e,b,x,S,this.m_tolerance))return this.updateOutputSegment(a,s,x[0]),this.updateOutputSegment(o,e,S[0]),0;if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[d],1),g(this.m_inputSR,0,[p],1)),w.assign(this.findOrComputeBoxPoint(k.getStartPointIndex(),d,p,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(C,w)>t)continue;T.setSegmentEndPoints(u,f),T.setPointDistFrom(h);let n=_(T.makeFunctor(),0,1,1e-10);if(n.second<t&&(a.outPoint.assign(h.mul(this.m_rpu)),this.updateOutputSegment(o,e,n.first),t=n.second,t===0)||(T.setPointDistFrom(y),n=_(T.makeFunctor(),0,1,1e-10),n.second<t&&(a.outPoint.assign(y.mul(this.m_rpu)),this.updateOutputSegment(o,e,n.first),t=n.second,t===0))||(T.setSegmentEndPoints(m,v),T.setPointDistFrom(d),n=_(T.makeFunctor(),0,1,1e-10),n.second<t&&(this.updateOutputSegment(a,s,n.first),o.outPoint.assign(d.mul(this.m_rpu)),t=n.second,t===0))||(T.setPointDistFrom(p),n=_(T.makeFunctor(),0,1,1e-10),n.second<t&&(this.updateOutputSegment(a,s,n.first),o.outPoint.assign(p.mul(this.m_rpu)),t=n.second,t===0)))break}if(t===0)return 0}k.resetToFirstPath()}}return t===this.m_maxDistance?1/0:t}catch(e){l.error=e,l.hasError=!0}finally{t(l)}}calculateDistanceGeodeticPointSegment(e,t,n,r,i){let a=n.getStartXY(),o=n.getEndXY();return n.intersectPoint(e,r,this.m_tolerance)?A(r[0],0):(i.setPointDistFrom(t),i.setSegmentEndPoints(a,o),_(i.makeFunctor(),0,1,1e-10))}prepareGeometry(e){let t=e.clone(),n=e.getGeometryType();if(n===r.enumPoint||n===r.enumMultiPoint)return this._NormalizeAndProject(t);if(n===r.enumEnvelope&&(t=this.envelopeToPolygon(t)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(t,4);if(this.m_inputSR.getCoordinateSystemType()===2){if(t=v(t,this.m_inputSR,0,null),t.isEmpty())return t;t=new L().execute(t,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);let e=this.m_inputSR.getSRToGCSTransform();return new u().execute(t,e,this.m_progressTracker)}let i=new D;t.queryLooseEnvelope(i);let a=this.m_inputSR.getPannableExtent();if(i.ymin<a.ymin||i.ymax>a.ymax){let e=new D(i.xmin-1,a.ymin,i.xmax+1,a.ymax);if(t=new R().execute(t,e,this.m_inputSR,this.m_progressTracker),t.isEmpty())return t}return i.width()>a.width()*2&&(t=y(t,-2*a.width(),2*a.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker)),t}prepareGeometryPannable(e,t){let n=new D;e.queryEnvelope(n);let r=this.m_inputSR.getPannableExtent();if(r.containsEnvelope(n))return e;let i=new j;r.queryIntervalX(i);let a=new j;return n.queryIntervalX(a),e=i.contains(a)?b(e,this.m_inputSR):new u().foldInto360RangeGeodetic(e,this.m_inputSR,t),e}prepareOutput(e){e.outPoint.scale(1/this.m_rpu),this.m_inputSR.getCoordinateSystemType()===2&&h(this.m_inputSR,[e.outPoint],1,!1)}updateOutputSegment(e,t,n){t.queryCoord2D(n,e.outPoint),this.m_bIsPannablePcs&&g(this.m_inputSR,0,[e.outPoint],1),e.outPoint.mulThis(this.m_rpu)}computeTolerance(e,t){e.queryEnvelope(this.m_envGeomA),t.queryEnvelope(this.m_envGeomB);let n=new D(this.m_envGeomA);return n.mergeEnvelope2D(this.m_envGeomB),E(null,n)}envelopeToPolygon(e){let t=new l;return t.addEnvelope(e,!1),t}computeEnvelopesAndBoxes(e,t){e.queryEnvelope(this.m_envGeomA),t.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(e,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(t,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(e,t,n){switch(e.getGeometryType()){case r.enumPoint:return this.computeBoxPoint(e,t);case r.enumMultiPoint:return this.computeBoxMultiPoint(e,t);case r.enumPolyline:case r.enumPolygon:return this.computeBoxMultiPath(e,t,n);default:a(`Invalid geometry type`)}}computeBoxPoint(e,t){let n=e.getXY();t.length=0,t.push(n.mul(this.m_rpu));let r=q();return r.setCoords({xmin:n.x,ymin:n.y,xmax:n.x,ymax:n.y}),r}computeBoxMultiPoint(e,t){let n=!0;for(let r=0;r<e.getPointCount();++r){let i=e.getXY(r);if(n){t.length=0;for(let e=0;e<4;++e)t.push(i.clone());n=!1}i.x<t[0].x&&t[0].assign(i),i.y>t[1].y&&t[1].assign(i),i.x>t[2].x&&t[2].assign(i),i.y<t[3].y&&t[3].assign(i)}for(let e=0;e<t.length;++e)t[e].mulThis(this.m_rpu);let r=q();return e.queryEnvelope(r),r}computeBoxMultiPath(e,t,n){let r=!0,i=q();i.setEmpty();let a=e.querySegmentIterator();for(a.stripAttributes();a.nextPath();)for(;a.hasNextSegment();){let e=a.nextSegment(),o=e.getStartXY(),s=e.getEndXY();if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[o],1),g(this.m_inputSR,0,[s],1)),r){for(let e=0;e<4;++e)t.push(o.clone());r=!1}o.x<t[0].x&&t[0].assign(o),o.y>t[1].y&&t[1].assign(o),o.x>t[2].x&&t[2].assign(o),o.y<t[3].y&&t[3].assign(o),s.x<t[0].x&&t[0].assign(s),s.y>t[1].y&&t[1].assign(s),s.x>t[2].x&&t[2].assign(s),s.y<t[3].y&&t[3].assign(s);let c=this.findOrComputeBoxPoint(a.getStartPointIndex(),o,s,n);i.mergeEnvelope2D(c)}for(let e=0;e<t.length;++e)t[e].mulThis(this.m_rpu);return i}findOrComputeBoxSegment(e,t,n){if(!n.has(e)){let r=q();if(t.queryEnvelope(r),this.m_bIsPannablePcs){let e=O.construct(r.xmin,r.ymin),t=O.construct(r.xmax,r.ymax);g(this.m_inputSR,0,[e],1),g(this.m_inputSR,0,[t],1),r=this.m_envHelper.calculateBbox(e.x,e.y,t.x,t.y)}return n.set(e,r),r}return n.get(e)}findOrComputeBoxPoint(e,t,n,r){if(!r.has(e)){let i=q();return i.setCoords({xmin:t.x,ymin:t.y,xmax:n.x,ymax:n.y}),this.m_bIsPannablePcs&&(i=this.m_envHelper.calculateBbox(i.xmin,i.ymin,i.xmax,i.ymax)),r.set(e,i),i}return r.get(e)}estimateMinimumDistance(n,r){let i={stack:[],error:void 0,hasError:!1};try{let t=e=>m(this.m_a,this.m_eSquared,e),a=this.m_boundaryPtsA.map(t),o=this.m_boundaryPtsB.map(t),s=Number.MAX_VALUE,c=0,l=0;for(let e=0;e<a.length;++e)for(let t=0;t<o.length;++t){let n=T.distance(a[e],o[t]);n<s&&(s=n,c=e,l=t)}n.outPoint.assign(this.m_boundaryPtsA[c]),r.outPoint.assign(this.m_boundaryPtsB[l]);let u=e(i,new f,!1);return p.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[c].x,this.m_boundaryPtsA[c].y,this.m_boundaryPtsB[l].x,this.m_boundaryPtsB[l].y,u,null,null,this.m_distCurveType),u.val}catch(e){i.error=e,i.hasError=!0}finally{t(i)}}swapGeometries(e,t){return o(e[0])>o(t[0])&&(t[0]=k(e[0],e[0]=t[0]),this.m_envGeomB=k(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(e,t){return!1}checkGeometriesIntersect(e,t,n,i){let a=e.getGeometryType(),o=t.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(a===r.enumPoint&&t.getDimension()===2){let r=[0],a=[e.getXY()];if(x(t,a,1,this.m_tolerance,r),r[0]!==0)return n.outPoint.assign(a[0]),i.outPoint.assign(a[0]),!0}else if(o===r.enumPoint&&e.getDimension()===2){let r=[2],a=[t.getXY()];if(x(e,a,1,this.m_tolerance,r),r[0]!==0)return n.outPoint.assign(a[0]),i.outPoint.assign(a[0]),!0}if(a===r.enumMultiPoint&&t.getDimension()===2)return this.multipointIntersectsArea(e,t,n,i);if(o===r.enumMultiPoint&&e.getDimension()===2)return this.multipointIntersectsArea(t,e,i,n);let c=e,l=t,u,d;if(a===r.enumEnvelope&&(u=this.envelopeToPolygon(e),c=u,a=r.enumPolygon),o===r.enumEnvelope&&(d=this.envelopeToPolygon(t),l=d,o=r.enumPolygon),s(a)&&s(o)){let e=c.querySegmentIterator(),t=l.querySegmentIterator(),r=I(),a=I();if(F(c,l,e,t,r,a))return n.outPoint.assign(r.outPoint),i.outPoint.assign(r.outPoint),!0}}return!1}multipointIntersectsArea(e,t,n,r){let i=e.getPointCount();for(let a=0;a<i;++a){let i=[2],o=e.getXY(a);if(x(t,[o],1,this.m_tolerance,i),i[0]!==0)return n.outPoint.assign(o),r.outPoint.assign(o),!0}return!1}getNearestNeighbourVisitor(e,t,n,r,a,o,s){return i(0),{}}buildSpatialTree(e,t){i(0)}}export{X as G,J as a,G as m};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{b as n,G as r,g as i,d as a,v as o,j as s}from"./Geometry.js";import{S as c,P as l}from"./MultiPathImpl.js";import{O as u,D as d,an as f,ao as p,av as m,aw as h,ax as g,ay as _,az as v,aA as y,ag as b,aB as x,aC as S,r as C,ae as w}from"./UnitFactory.js";import{k as T,d as E}from"./Envelope.js";import{Envelope2D as D}from"./Envelope2D.js";import{P as O,s as k,o as A,E as j,p as M}from"./Point2D.js";import{T as N}from"./Transformation2D.js";import{s as P,w as F,m as I}from"./Distance2DCalculator-DjIp2uQi.js";import{O as L}from"./OperatorShapePreservingDensify.js";import{O as R}from"./OperatorClip.js";function z(){return new D}class B{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(e,t,n){this.m_peR1=new f,this.m_peR2=new f,this.m_peR3=new f,e===void 0?this.reset(1,0,1):this.reset(e,t,n)}reset(e,t,n){this.m_a=e,this.m_e2=t,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=n,this.m_unitToRad=3.141592653589793/180*n,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(e,t,n,r){let i=this.m_peR1,a=this.m_peR2,o=this.m_peR3;p.geodeticDistance(this.m_a,this.m_e2,e*this.m_unitToRad,t*this.m_unitToRad,n*this.m_unitToRad,r*this.m_unitToRad,o,i,a,0);let s=Math.cos(i.val),c=Math.cos(a.val+3.141592653589793),l=t*this.m_unitToRad,u=w.phiToEta(this.m_e2,l),d=Math.sin(i.val)*Math.cos(u),f=t;if(s*c<0){let e=Math.acos(Math.abs(d))*(s<0?-1:1);f=w.etaToPhi(this.m_e2,e)/this.m_unitToRad}let m=M((n-e)*this.m_unitToRad,2*Math.PI);Math.abs(m)>Math.PI&&(m=m>0?m-2*Math.PI:m+2*Math.PI),m/=this.m_unitToRad,n=e+m;let h=z();return h.xmin=Math.min(e,n),h.xmax=Math.max(e,n),h.ymin=Math.min(t,r),h.ymin=Math.min(h.ymin,f),h.ymax=Math.max(t,r),h.ymax=Math.max(h.ymax,f),h}minDistanceGeodesic(e,t){let n=V(e),r=V(t);if(n&&r)return this.lowerDistanceGeodetic_(e.xmin,e.ymin,t.xmin,t.ymin);let i=this.normalizeGeodesic_(t,e);return H(e,i)?e.ymin>=i.ymax?this.minDistanceGeodesicUpDown_(e,i):i.ymin>=e.ymax?this.minDistanceGeodesicUpDown_(i,e):e.xmin>i.xmax?this.minDistanceGeodesicLeftRight_(i,e):this.minDistanceGeodesicLeftRight_(e,i):0}normalizeGeodesic_(e,t){let n=e.clone(),r=e.clone(),i=U(n,t);if(i===0)return n;for(;r.xmax>t.xmin;){r.xmin-=this.m_u360,r.xmax-=this.m_u360;let e=U(r,t);if(e<i&&(n.assign(r),i=e,i===0))return n}for(r.assign(e);r.xmin<t.xmax;){r.xmin+=this.m_u360,r.xmax+=this.m_u360;let e=U(r,t);if(e<i&&(n.assign(r),i=e,i===0))return n}return n}lowerDistanceGeodetic_(e,t,n,r){let i=this.m_peR1;{let a=this.m_b*this.m_b/this.m_a,o=w.phiToPhig(this.m_e2,this.m_unitToRad*t),s=w.phiToPhig(this.m_e2,this.m_unitToRad*r);p.geodeticDistance(a,0,this.m_unitToRad*e,o,this.m_unitToRad*n,s,i,null,null,0)}return i.val}minDistanceGeodesicUpDown_(e,t){if(t.xmin<=e.xmin?t.xmax>=e.xmin:e.xmax>=t.xmin)return this.lowerDistanceGeodetic_(0,e.ymin,0,t.ymax);if(t.xmin>e.xmax){let n=this.lowerDistanceGeodeticSegMeridional_(e.xmax,e.ymin,e.ymax,t.xmin,t.ymin,t.ymax);if(t.xmax-e.xmin<this.m_u180)return n;let r=this.lowerDistanceGeodeticSegMeridional_(e.xmin,e.ymin,e.ymax,t.xmax,t.ymin,t.ymax);return Math.min(n,r)}{let n=this.lowerDistanceGeodeticSegMeridional_(e.xmin,e.ymin,e.ymax,t.xmax,t.ymin,t.ymax);if(e.xmax-t.xmin<this.m_u180)return n;let r=this.lowerDistanceGeodeticSegMeridional_(e.xmax,e.ymin,e.ymax,t.xmin,t.ymin,t.ymax);return Math.min(n,r)}}minDistanceGeodesicLeftRight_(e,t){let n=Math.abs(e.xmax-t.xmin);for(;n>this.m_u180;)n-=this.m_u360;let r=Math.abs(e.xmin-t.xmax);for(;r>this.m_u180;)r-=this.m_u360;return Math.abs(n)<=Math.abs(r)?this.minDistanceGeodesicLeftRightNormalized_(e,t):this.minDistanceGeodesicLeftRightNormalized_(t,e)}minDistanceGeodesicLeftRightNormalized_(e,t){let n,r;return n=this.lowerDistanceGeodetic_(e.xmax,e.ymin,t.xmin,t.ymin),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(e.xmax,e.ymin,t.xmin,t.ymin,t.ymax),n=Math.min(n,r)),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(t.xmin,t.ymin,e.xmax,e.ymin,e.ymax),n=Math.min(n,r)),r=this.lowerDistanceGeodetic_(e.xmax,e.ymax,t.xmin,t.ymax),n=Math.min(n,r),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(e.xmax,e.ymax,t.xmin,t.ymin,t.ymax),n=Math.min(n,r)),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(r=this.lowerDistanceGeodeticPtMeridional_(t.xmin,t.ymax,e.xmax,e.ymin,e.ymax),n=Math.min(n,r)),n}lowerDistanceGeodeticSegMeridional_(e,t,n,r,i,a){let o=this.lowerDistanceGeodeticPtMeridional_(e,t,r,i,a),s=this.lowerDistanceGeodeticPtMeridional_(e,n,r,i,a),c=this.lowerDistanceGeodeticPtMeridional_(r,i,e,t,n),l=this.lowerDistanceGeodeticPtMeridional_(r,a,e,t,n);return o=Math.min(o,s),c=Math.min(c,l),Math.min(o,c)}lowerDistanceGeodeticPtMeridional_(e,t,n,r,i){let a=this.m_b*this.m_b/this.m_a,o=w.phiToPhig(this.m_e2,this.m_unitToRad*t),s=w.phiToPhig(this.m_e2,this.m_unitToRad*r),c=w.phiToPhig(this.m_e2,this.m_unitToRad*i),l=this.m_peR1,u=this.m_peR2;p.geodeticDistance(a,0,this.m_unitToRad*n,s,this.m_unitToRad*e,o,l,null,null,0),p.geodeticDistance(a,0,this.m_unitToRad*n,c,this.m_unitToRad*e,o,u,null,null,0);let d=m(1,0,new O(this.m_unitToRad*e,o)),f=m(1,0,new O(this.m_unitToRad*n,s)),h=m(1,0,new O(this.m_unitToRad*n,c)),g=new T;g.setCrossProductVector(f,h);let _=f.dotProduct(h);if(g.length()<1568e-13)return _>=0?Math.min(l.val,u.val):0;g=g.getUnitVector();let v=new T;if(v.setCrossProductVector(g,d),v.length()<1568e-13)return Math.min(l.val,u.val)-a*1e-5;v=v.getUnitVector();let y=d.sub(g.mul(d.dotProduct(g)));{let t=new T;t.setCrossProductVector(f,y);let n=new T;n.setCrossProductVector(y,h);let r=g.dotProduct(t)>0&&g.dotProduct(n)>0;if(r||=(y.negateThis(),t.setCrossProductVector(f,y),n.setCrossProductVector(y,h),g.dotProduct(t)>0&&g.dotProduct(n)>0),r){y=y.getUnitVector();let t=S(1,0,y),n=this.m_peR3;p.geodeticDistance(a,0,this.m_unitToRad*e,o,t.x,t.y,n,null,null,0);let r=Math.min(l.val,u.val);return Math.min(r,n.val)}}return Math.min(l.val,u.val)}}function V(e){return e.xmin===e.xmax&&e.ymin===e.ymax}function H(e,t){return t.xmax<e.xmin||t.xmin>e.xmax||t.ymax<e.ymin||t.ymin>e.ymax}function U(e,t){let n=0,r;return r=e.xmin-t.xmax,r>n&&(n=r),r=t.xmin-e.xmax,r>n&&(n=r),n}class W{}function G(e){return{outPoint:e===void 0?new O:e.clone()}}function K(e,t){e.outPoint.assign(t.outPoint)}function q(){return new D}class J{m_ptDistFrom=new O;m_segStartPt=new O;m_segEndPt=new O;m_sr;m_distCurveType;m_segCurveType;m_a;m_eSquared;m_inputGCS;m_rpu;m_geodeticLength=new f;m_az12=new f;m_minGeodeticDist=new f;m_bIsPannablePcs;m_segStartPt3d=new T;m_segEndPt3d=new T;constructor(e,t,n,r,i=0,a=4){this.m_sr=r,this.m_distCurveType=i,this.m_segCurveType=a,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=this.m_sr.getCoordinateSystemType()===2&&this.m_sr.isPannable();let o=C();this.m_inputGCS.querySpheroidData(o),this.m_a=o.majorSemiAxis,this.m_eSquared=o.e2,this.setPointDistFrom(e),this.setSegmentEndPoints(t,n)}setSegmentEndPoints(e,t){this.m_segStartPt.assign(e),this.m_segEndPt.assign(t),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),this.m_segCurveType===2&&(this.m_segStartPt3d.assign(m(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign(m(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(e){this.m_ptDistFrom.assign(e),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(e){this.m_segCurveType=e}setDistanceCurveType(e){this.m_distCurveType=e}makeFunctor(){return n=>{let r;switch(this.m_segCurveType){case 0:case 1:case 3:{let i={stack:[],error:void 0,hasError:!1};try{let t=e(i,new f,!1),a=e(i,new f,!1);p.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*n,this.m_az12.val,t,a,this.m_segCurveType),r=new O(t.val,a.val);break}catch(e){i.error=e,i.hasError=!0}finally{t(i)}}case 2:{let e=T.lerp(this.m_segStartPt3d,this.m_segEndPt3d,n);r=S(this.m_a,this.m_eSquared,e);break}case 4:r=O.lerp(this.m_segStartPt,this.m_segEndPt,n),this.m_bIsPannablePcs&&(g(this.m_sr,0,[r],1),r.mulThis(this.m_rpu));break;default:a(`Invalid curve type`)}return p.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,r.x,r.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:p.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=O.distance(this.m_segStartPt,this.m_segEndPt);break;default:a(`Invalid curve type`)}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function Y(){return new W}class X{m_inputSR;m_distCurveType;m_progressTracker;m_maxDistance;m_maxDeviation;m_inputGCS;m_peGeogcs;m_a;m_eSquared;m_rpu;m_envHelper;m_boxGeomA=q();m_boxGeomB=q();m_envGeomA=new D;m_envGeomB=new D;m_progressCounter=0;m_bIsPannablePcs;m_transformPCS2GCS=null;m_segmentBoxesA=new Map;m_segmentBoxesB=new Map;m_boundaryPtsA=[];m_boundaryPtsB=[];m_scaleToRadians=new N;m_scaleToDegrees=new N;m_tolerance;[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(e,t,n,r,i){this.m_inputSR=e,this.m_distCurveType=t,this.m_progressTracker=n,this.m_maxDistance=r,this.m_maxDeviation=i,this.m_inputGCS=e.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;let a=C();this.m_inputGCS.querySpheroidData(a),this.m_a=a.majorSemiAxis,this.m_eSquared=a.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new B(this.m_a,this.m_eSquared,1),this.m_distCurveType===4&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=this.m_inputSR.getCoordinateSystemType()===2&&this.m_inputSR.isPannable()}progress(e=!1){}calculate(e,t,n,r){let i=G(),a=G();if(e.queryEnvelope(this.m_envGeomA),t.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(e,t,i,a))return n&&K(n,i),r&&K(r,a),0;let o=this.prepareGeometry(e);if(o.isEmpty())return NaN;let s=this.prepareGeometry(t);if(s.isEmpty())return NaN;this.m_tolerance=this.computeTolerance(o,s);let c=this._ExecuteBruteForce(o,s,i,a);return c>=this.m_maxDistance?NaN:(n&&(this.prepareOutput(i),K(n,i)),r&&(this.prepareOutput(a),K(r,a)),c)}createDistanceFunctor(e,t,n){let r=new J(e,t,n,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||this.m_inputSR.getCoordinateSystemType()===1||r.setSegmentCurveType(2),r}_NormalizeAndProject(e){if(this.m_inputSR.isPannable()&&(e=new u().foldInto360Range(e,this.m_inputSR)),this.m_inputSR.getCoordinateSystemType()===2){let t=d(this.m_inputSR,this.m_inputGCS,null);e=new u().execute(e,t,this.m_progressTracker)}return e}_ExecuteBruteForce(e,t,i,a){switch(e.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointGeometry(e,t,i,a);case r.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(e,t,i,a);case r.enumPolyline:case r.enumPolygon:case r.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(e,t,i,a);default:n(``)}}calculateDistanceGeodeticPointGeometry(e,t,i,a){switch(t.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointPoint(e,t,i,a);case r.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,i,a);case r.enumPolyline:case r.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(e,t,i,a);default:n(``)}}calculateDistanceGeodeticPointPoint(n,r,i,a){let o={stack:[],error:void 0,hasError:!1};try{let t=n.getXY();t.scale(this.m_rpu);let s=r.getXY();s.scale(this.m_rpu),i.outPoint.assign(t),a.outPoint.assign(s);let c=e(o,new f,!1);return p.geodeticDistance(this.m_a,this.m_eSquared,t.x,t.y,s.x,s.y,c,null,null,this.m_distCurveType),c.val}catch(e){o.error=e,o.hasError=!0}finally{t(o)}}calculateDistanceGeodeticPointMultipoint(n,r,i,a){let o={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(n,r);let t=this.estimateMinimumDistance(i,a),s=t<this.m_maxDistance?t:this.m_maxDistance,c=n.getXY();c.scale(this.m_rpu),i.outPoint.assign(c);let l=m(this.m_a,this.m_eSquared,c),u=new O,d=r.getImpl(),h=e(o,new f,!1),g=d.getPointCount();for(let e=0;e<g;++e){d.queryXY(e,u),u.scale(this.m_rpu);let t=m(this.m_a,this.m_eSquared,u);if(!(T.distance(l,t)>s)&&!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>s)&&(p.geodeticDistance(this.m_a,this.m_eSquared,c.x,c.y,u.x,u.y,h,null,null,this.m_distCurveType),h.val<s&&(s=h.val,a.outPoint=u,s===0)))return s}return s===this.m_maxDistance?1/0:s}catch(e){o.error=e,o.hasError=!0}finally{t(o)}}calculateDistanceGeodeticPointMultipath(n,r,a,o){let s={stack:[],error:void 0,hasError:!1};try{let t=new O,c=new O;t.assign(n.getXY()),c.assign(n.getXY()),a.outPoint.assign(c.mul(this.m_rpu)),this.m_bIsPannablePcs&&h(this.m_inputSR,[t],1,!1),this.computeEnvelopesAndBoxes(n,r);let l=this.estimateMinimumDistance(a,o),u=l<this.m_maxDistance?l:this.m_maxDistance,d=r.getImpl(),f=new O(0,0),p=new O(0,0),m=[1],g=this.canUseSpatialTree(n,r),_=Y();g&&this.buildSpatialTree(_,r);let v=q();v.setCoords({xmin:c.x,ymin:c.y,xmax:c.x,ymax:c.y});let y=e(s,this.createDistanceFunctor(c,f,p),!1),b=d.querySegmentIterator();if(b.stripAttributes(),g)i(0);else for(;b.nextPath();)for(;b.hasNextSegment();){let e=b.nextSegment(),n=this.findOrComputeBoxSegment(b.getStartPointIndex(),e,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(v,n)>u)continue;let r=this.calculateDistanceGeodeticPointSegment(t,c,e,m,y);if(r.second<u&&(this.updateOutputSegment(o,e,r.first),u=r.second,u===0))return 0}return u===this.m_maxDistance?1/0:u}catch(e){s.error=e,s.hasError=!0}finally{t(s)}}calculateDistanceGeodeticMultipointGeometry(e,t,i,a){switch(t.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,a,i);case r.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(e,t,i,a);case r.enumPolyline:case r.enumPolygon:case r.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(e,t,i,a);default:n(``)}}calculateDistanceGeodeticMultipointMultipoint(n,r,i,a){let o={stack:[],error:void 0,hasError:!1};try{let t=e(o,new f,!1);this.computeEnvelopesAndBoxes(n,r);let s=this.estimateMinimumDistance(i,a),c=s<this.m_maxDistance?s:this.m_maxDistance,l=new O,u=new O,d=n.getImpl(),h=r.getImpl(),g=q(),_=d.getPointCount(),v=h.getPointCount();for(let e=0;e<_;++e){if(l.assign(d.getXY(e)),g.setCoords({xmin:l.x,ymin:l.y,xmax:l.x,ymax:l.y}),this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>c)continue;l.scale(this.m_rpu);let n=m(this.m_a,this.m_eSquared,l);for(let e=0;e<v;++e){u.assign(h.getXY(e)),u.scale(this.m_rpu);let r=m(this.m_a,this.m_eSquared,u);if(!(T.distance(n,r)>=c)&&(p.geodeticDistance(this.m_a,this.m_eSquared,l.x,l.y,u.x,u.y,t,null,null,this.m_distCurveType),t.val<c&&(i.outPoint.assign(l),a.outPoint.assign(u),c=t.val,c===0)))return c}}return c===this.m_maxDistance?1/0:c}catch(e){o.error=e,o.hasError=!0}finally{t(o)}}calculateDistanceGeodeticMultipointMultipath(n,r,a,o){let s={stack:[],error:void 0,hasError:!1};try{let t=r.getImpl().querySegmentIterator();t.stripAttributes(),this.computeEnvelopesAndBoxes(n,r);let c=this.estimateMinimumDistance(a,o),l=c<this.m_maxDistance?c:this.m_maxDistance,u=new O,d=new O(0,0),f=new O(0,0),p=new O(0,0),m=[0],g=q(),_=e(s,this.createDistanceFunctor(d,f,p),!1),v=Y(),y=this.canUseSpatialTree(n,r);y&&this.buildSpatialTree(v,r);let b=n.getPointCount();for(let e=0;e<b;++e)if(u.assign(n.getXY(e)),d.assign(n.getXY(e)),this.m_bIsPannablePcs&&h(this.m_inputSR,[u],1,!1),g.setCoords({xmin:d.x,ymin:d.y,xmax:d.x,ymax:d.y}),!(this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>l)){if(_.setPointDistFrom(d),y)i(0);else{for(;t.nextPath();)for(;t.hasNextSegment();){let e=t.nextSegment();if(this.m_envHelper.minDistanceGeodesic(g,this.findOrComputeBoxSegment(t.getStartPointIndex(),e,this.m_segmentBoxesB))>l)continue;let n=this.calculateDistanceGeodeticPointSegment(u,d,e,m,_);if(n.second<l&&(a.outPoint.assign(d.mul(this.m_rpu)),this.updateOutputSegment(o,e,n.first),l=n.second,l===0))return 0}t.resetToFirstPath()}}return l===this.m_maxDistance?1/0:l}catch(e){s.error=e,s.hasError=!0}finally{t(s)}}calculateDistanceGeodeticMultipathGeometry(e,t,i,a){switch(t.getGeometryType()){case r.enumPoint:return this.calculateDistanceGeodeticPointMultipath(t,e,a,i);case r.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(t,e,a,i);case r.enumPolyline:case r.enumPolygon:case r.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(e,t,i,a);default:n(``)}}calculateDistanceGeodeticMultipathMultipath(e,t,n,r){let i=[e],a=[t],o=this.swapGeometries(i,a),s=i[0],c=a[0];this.computeEnvelopesAndBoxes(i[0],a[0]);let l=this.estimateMinimumDistance(n,r),u=this.calculateDistanceGeodeticMultipathMultipath_(s,c,n,r,l);return o&&(r.outPoint=k(n.outPoint,n.outPoint=r.outPoint)),u}calculateDistanceGeodeticMultipathMultipath_(n,r,a,o,s=Number.MAX_VALUE){let l={stack:[],error:void 0,hasError:!1};try{let t=s,u=new O(0,0),d=new O,f=new O(0,0),p=new O,m=new O(0,0),h=new O,v=new O,y=new O,b=[new O],x=[0],S=[0],C=q(),w=q(),T=e(l,this.createDistanceFunctor(m,u,f),!1),E=Y(),D=this.canUseSpatialTree(n,r);D&&this.buildSpatialTree(E,r);let k=r.querySegmentIterator();k.stripAttributes();let A=new c,j=P(n);for(let e=0;e<j.length;++e){let r=j[e];n.getSegmentBuffer(r,A,!0);let s=A.get();if(C.assign(this.findOrComputeBoxSegment(r,s,this.m_segmentBoxesA)),D)i(0);else{if(m.assign(s.getStartXY()),h.assign(s.getStartXY()),v.assign(s.getEndXY()),y.assign(s.getEndXY()),this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[h],1),g(this.m_inputSR,0,[y],1)),this.m_envHelper.minDistanceGeodesic(C,this.m_boxGeomB)>t)continue;for(;k.nextPath();){for(;k.hasNextSegment();){let e=k.nextSegment();if(u.assign(e.getStartXY()),d.assign(e.getStartXY()),f.assign(e.getEndXY()),p.assign(e.getEndXY()),s.intersect(e,b,x,S,this.m_tolerance))return this.updateOutputSegment(a,s,x[0]),this.updateOutputSegment(o,e,S[0]),0;if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[d],1),g(this.m_inputSR,0,[p],1)),w.assign(this.findOrComputeBoxPoint(k.getStartPointIndex(),d,p,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(C,w)>t)continue;T.setSegmentEndPoints(u,f),T.setPointDistFrom(h);let n=_(T.makeFunctor(),0,1,1e-10);if(n.second<t&&(a.outPoint.assign(h.mul(this.m_rpu)),this.updateOutputSegment(o,e,n.first),t=n.second,t===0)||(T.setPointDistFrom(y),n=_(T.makeFunctor(),0,1,1e-10),n.second<t&&(a.outPoint.assign(y.mul(this.m_rpu)),this.updateOutputSegment(o,e,n.first),t=n.second,t===0))||(T.setSegmentEndPoints(m,v),T.setPointDistFrom(d),n=_(T.makeFunctor(),0,1,1e-10),n.second<t&&(this.updateOutputSegment(a,s,n.first),o.outPoint.assign(d.mul(this.m_rpu)),t=n.second,t===0))||(T.setPointDistFrom(p),n=_(T.makeFunctor(),0,1,1e-10),n.second<t&&(this.updateOutputSegment(a,s,n.first),o.outPoint.assign(p.mul(this.m_rpu)),t=n.second,t===0)))break}if(t===0)return 0}k.resetToFirstPath()}}return t===this.m_maxDistance?1/0:t}catch(e){l.error=e,l.hasError=!0}finally{t(l)}}calculateDistanceGeodeticPointSegment(e,t,n,r,i){let a=n.getStartXY(),o=n.getEndXY();return n.intersectPoint(e,r,this.m_tolerance)?A(r[0],0):(i.setPointDistFrom(t),i.setSegmentEndPoints(a,o),_(i.makeFunctor(),0,1,1e-10))}prepareGeometry(e){let t=e.clone(),n=e.getGeometryType();if(n===r.enumPoint||n===r.enumMultiPoint)return this._NormalizeAndProject(t);if(n===r.enumEnvelope&&(t=this.envelopeToPolygon(t)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(t,4);if(this.m_inputSR.getCoordinateSystemType()===2){if(t=v(t,this.m_inputSR,0,null),t.isEmpty())return t;t=new L().execute(t,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);let e=this.m_inputSR.getSRToGCSTransform();return new u().execute(t,e,this.m_progressTracker)}let i=new D;t.queryLooseEnvelope(i);let a=this.m_inputSR.getPannableExtent();if(i.ymin<a.ymin||i.ymax>a.ymax){let e=new D(i.xmin-1,a.ymin,i.xmax+1,a.ymax);if(t=new R().execute(t,e,this.m_inputSR,this.m_progressTracker),t.isEmpty())return t}return i.width()>a.width()*2&&(t=y(t,-2*a.width(),2*a.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker)),t}prepareGeometryPannable(e,t){let n=new D;e.queryEnvelope(n);let r=this.m_inputSR.getPannableExtent();if(r.containsEnvelope(n))return e;let i=new j;r.queryIntervalX(i);let a=new j;return n.queryIntervalX(a),e=i.contains(a)?b(e,this.m_inputSR):new u().foldInto360RangeGeodetic(e,this.m_inputSR,t),e}prepareOutput(e){e.outPoint.scale(1/this.m_rpu),this.m_inputSR.getCoordinateSystemType()===2&&h(this.m_inputSR,[e.outPoint],1,!1)}updateOutputSegment(e,t,n){t.queryCoord2D(n,e.outPoint),this.m_bIsPannablePcs&&g(this.m_inputSR,0,[e.outPoint],1),e.outPoint.mulThis(this.m_rpu)}computeTolerance(e,t){e.queryEnvelope(this.m_envGeomA),t.queryEnvelope(this.m_envGeomB);let n=new D(this.m_envGeomA);return n.mergeEnvelope2D(this.m_envGeomB),E(null,n)}envelopeToPolygon(e){let t=new l;return t.addEnvelope(e,!1),t}computeEnvelopesAndBoxes(e,t){e.queryEnvelope(this.m_envGeomA),t.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(e,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(t,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(e,t,n){switch(e.getGeometryType()){case r.enumPoint:return this.computeBoxPoint(e,t);case r.enumMultiPoint:return this.computeBoxMultiPoint(e,t);case r.enumPolyline:case r.enumPolygon:return this.computeBoxMultiPath(e,t,n);default:a(`Invalid geometry type`)}}computeBoxPoint(e,t){let n=e.getXY();t.length=0,t.push(n.mul(this.m_rpu));let r=q();return r.setCoords({xmin:n.x,ymin:n.y,xmax:n.x,ymax:n.y}),r}computeBoxMultiPoint(e,t){let n=!0;for(let r=0;r<e.getPointCount();++r){let i=e.getXY(r);if(n){t.length=0;for(let e=0;e<4;++e)t.push(i.clone());n=!1}i.x<t[0].x&&t[0].assign(i),i.y>t[1].y&&t[1].assign(i),i.x>t[2].x&&t[2].assign(i),i.y<t[3].y&&t[3].assign(i)}for(let e=0;e<t.length;++e)t[e].mulThis(this.m_rpu);let r=q();return e.queryEnvelope(r),r}computeBoxMultiPath(e,t,n){let r=!0,i=q();i.setEmpty();let a=e.querySegmentIterator();for(a.stripAttributes();a.nextPath();)for(;a.hasNextSegment();){let e=a.nextSegment(),o=e.getStartXY(),s=e.getEndXY();if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[o],1),g(this.m_inputSR,0,[s],1)),r){for(let e=0;e<4;++e)t.push(o.clone());r=!1}o.x<t[0].x&&t[0].assign(o),o.y>t[1].y&&t[1].assign(o),o.x>t[2].x&&t[2].assign(o),o.y<t[3].y&&t[3].assign(o),s.x<t[0].x&&t[0].assign(s),s.y>t[1].y&&t[1].assign(s),s.x>t[2].x&&t[2].assign(s),s.y<t[3].y&&t[3].assign(s);let c=this.findOrComputeBoxPoint(a.getStartPointIndex(),o,s,n);i.mergeEnvelope2D(c)}for(let e=0;e<t.length;++e)t[e].mulThis(this.m_rpu);return i}findOrComputeBoxSegment(e,t,n){if(!n.has(e)){let r=q();if(t.queryEnvelope(r),this.m_bIsPannablePcs){let e=O.construct(r.xmin,r.ymin),t=O.construct(r.xmax,r.ymax);g(this.m_inputSR,0,[e],1),g(this.m_inputSR,0,[t],1),r=this.m_envHelper.calculateBbox(e.x,e.y,t.x,t.y)}return n.set(e,r),r}return n.get(e)}findOrComputeBoxPoint(e,t,n,r){if(!r.has(e)){let i=q();return i.setCoords({xmin:t.x,ymin:t.y,xmax:n.x,ymax:n.y}),this.m_bIsPannablePcs&&(i=this.m_envHelper.calculateBbox(i.xmin,i.ymin,i.xmax,i.ymax)),r.set(e,i),i}return r.get(e)}estimateMinimumDistance(n,r){let i={stack:[],error:void 0,hasError:!1};try{let t=e=>m(this.m_a,this.m_eSquared,e),a=this.m_boundaryPtsA.map(t),o=this.m_boundaryPtsB.map(t),s=Number.MAX_VALUE,c=0,l=0;for(let e=0;e<a.length;++e)for(let t=0;t<o.length;++t){let n=T.distance(a[e],o[t]);n<s&&(s=n,c=e,l=t)}n.outPoint.assign(this.m_boundaryPtsA[c]),r.outPoint.assign(this.m_boundaryPtsB[l]);let u=e(i,new f,!1);return p.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[c].x,this.m_boundaryPtsA[c].y,this.m_boundaryPtsB[l].x,this.m_boundaryPtsB[l].y,u,null,null,this.m_distCurveType),u.val}catch(e){i.error=e,i.hasError=!0}finally{t(i)}}swapGeometries(e,t){return o(e[0])>o(t[0])&&(t[0]=k(e[0],e[0]=t[0]),this.m_envGeomB=k(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(e,t){return!1}checkGeometriesIntersect(e,t,n,i){let a=e.getGeometryType(),o=t.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(a===r.enumPoint&&t.getDimension()===2){let r=[0],a=[e.getXY()];if(x(t,a,1,this.m_tolerance,r),r[0]!==0)return n.outPoint.assign(a[0]),i.outPoint.assign(a[0]),!0}else if(o===r.enumPoint&&e.getDimension()===2){let r=[2],a=[t.getXY()];if(x(e,a,1,this.m_tolerance,r),r[0]!==0)return n.outPoint.assign(a[0]),i.outPoint.assign(a[0]),!0}if(a===r.enumMultiPoint&&t.getDimension()===2)return this.multipointIntersectsArea(e,t,n,i);if(o===r.enumMultiPoint&&e.getDimension()===2)return this.multipointIntersectsArea(t,e,i,n);let c=e,l=t,u,d;if(a===r.enumEnvelope&&(u=this.envelopeToPolygon(e),c=u,a=r.enumPolygon),o===r.enumEnvelope&&(d=this.envelopeToPolygon(t),l=d,o=r.enumPolygon),s(a)&&s(o)){let e=c.querySegmentIterator(),t=l.querySegmentIterator(),r=I(),a=I();if(F(c,l,e,t,r,a))return n.outPoint.assign(r.outPoint),i.outPoint.assign(r.outPoint),!0}}return!1}multipointIntersectsArea(e,t,n,r){let i=e.getPointCount();for(let a=0;a<i;++a){let i=[2],o=e.getXY(a);if(x(t,[o],1,this.m_tolerance,i),i[0]!==0)return n.outPoint.assign(o),r.outPoint.assign(o),!0}return!1}getNearestNeighbourVisitor(e,t,n,r,a,o,s){return i(0),{}}buildSpatialTree(e,t){i(0)}}export{X as G,J as a,G as m};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{t as n}from"./Geometry.js";import{m as r,P as i}from"./Point2D.js";import"./MultiPathImpl.js";import{h as a,r as o,an as s,O as c,ao as l,aJ as u}from"./UnitFactory.js";function d(u,d,f,p,m,h){let g={stack:[],error:void 0,hasError:!1};try{p===4&&n(``);let t=u,_=a(t),v=o();_.querySpheroidData(v);let y=v.e2,b=v.majorSemiAxis,x=_.getUnit().getUnitToBaseFactor(),S=e(g,new s,!1),C=e(g,new s,!1),w=e(g,new s,!1);if(d.isNAN()||f.isNAN())return NaN;let T=r(i,2);T[0].assign(d),T[1].assign(f);let E=r(i,2),D=t.getGCS()===t?null:t.getSRToGCSTransform();if(D){if(new c().transform(D,T,2,E)!==2)return NaN}else E[0].assign(T[0]),E[1].assign(T[1]);return E[0].scale(x),E[1].scale(x),l.geodeticDistance(b,y,E[0].x,E[0].y,E[1].x,E[1].y,S,C,w,p),m[0]=C.val,h[0]=w.val,S.val}catch(e){g.error=e,g.hasError=!0}finally{t(g)}}function f(c,d,f,p,m,h){let g={stack:[],error:void 0,hasError:!1};try{h===4&&n(``);let t=c,_=a(t),v=o();_.querySpheroidData(v);let y=v.e2,b=v.majorSemiAxis,x=_.getUnit().getUnitToBaseFactor(),S=e(g,new s,!1),C=e(g,new s,!1),w=t.getSRToGCSTransform(),T=t.getGCSToSRTransform(),E=r(i,100),D=r(i,100),O=0;for(let e=0,t=0;e<f;){let n=f-e;n>E.length&&(n=E.length);for(let t=0;t<n;t++)E[t].assign(d[e+t]);if(u(w,E,n,D,null)>0){for(let e=0;e<n;e++){let t=D[e].clone();if(t.isNAN()){E[e].assign(t);continue}t.scale(x),l.geodeticCoordinate(b,y,t.x,t.y,p,m,S,C,h),t.x=S.val,t.y=C.val,t.scale(1/x),E[e].assign(t)}let e=u(T,E,n,D,null);O+=e}for(let e=0;e<n;e++)d[t+e].assign(D[e]);e+=n,t+=n}return O}catch(e){g.error=e,g.hasError=!0}finally{t(g)}}export{d as calculateDistanceAndAzimuth,f as movePointsByDistance};
2
+ import{__addDisposableResource as e,__disposeResources as t}from"tslib";import{a as n}from"./Geometry.js";import{d as r,P as i}from"./Point2D.js";import"./MultiPathImpl.js";import{h as a,r as o,an as s,O as c,ao as l,aJ as u}from"./UnitFactory.js";function d(u,d,f,p,m,h){let g={stack:[],error:void 0,hasError:!1};try{p===4&&n(``);let t=u,_=a(t),v=o();_.querySpheroidData(v);let y=v.e2,b=v.majorSemiAxis,x=_.getUnit().getUnitToBaseFactor(),S=e(g,new s,!1),C=e(g,new s,!1),w=e(g,new s,!1);if(d.isNAN()||f.isNAN())return NaN;let T=r(i,2);T[0].assign(d),T[1].assign(f);let E=r(i,2),D=t.getGCS()===t?null:t.getSRToGCSTransform();if(D){if(new c().transform(D,T,2,E)!==2)return NaN}else E[0].assign(T[0]),E[1].assign(T[1]);return E[0].scale(x),E[1].scale(x),l.geodeticDistance(b,y,E[0].x,E[0].y,E[1].x,E[1].y,S,C,w,p),m[0]=C.val,h[0]=w.val,S.val}catch(e){g.error=e,g.hasError=!0}finally{t(g)}}function f(c,d,f,p,m,h){let g={stack:[],error:void 0,hasError:!1};try{h===4&&n(``);let t=c,_=a(t),v=o();_.querySpheroidData(v);let y=v.e2,b=v.majorSemiAxis,x=_.getUnit().getUnitToBaseFactor(),S=e(g,new s,!1),C=e(g,new s,!1),w=t.getSRToGCSTransform(),T=t.getGCSToSRTransform(),E=r(i,100),D=r(i,100),O=0;for(let e=0,t=0;e<f;){let n=f-e;n>E.length&&(n=E.length);for(let t=0;t<n;t++)E[t].assign(d[e+t]);if(u(w,E,n,D,null)>0){for(let e=0;e<n;e++){let t=D[e].clone();if(t.isNAN()){E[e].assign(t);continue}t.scale(x),l.geodeticCoordinate(b,y,t.x,t.y,p,m,S,C,h),t.x=S.val,t.y=C.val,t.scale(1/x),E[e].assign(t)}let e=u(T,E,n,D,null);O+=e}for(let e=0;e<n;e++)d[t+e].assign(D[e]);e+=n,t+=n}return O}catch(e){g.error=e,g.hasError=!0}finally{t(g)}}export{d as calculateDistanceAndAzimuth,f as movePointsByDistance};
@@ -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 t(e,t){try{if(!e)throw Error(t)}catch(e){throw e}}class n extends Error{constructor(e,t){super(t),this.m_AdditionalMessage=t,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 n{constructor(e){super(2,e),this.name=`CorruptedGeometryError`}}class i extends n{constructor(e){super(3,e),this.name=`EmptyGeometryError`}}class a extends n{constructor(e){super(4,e),this.name=`MathSingularityError`}}class o extends n{constructor(e){super(21,e),this.name=`ProjectionEngineNotLoadedError`}}class s extends n{constructor(e){super(8,e),this.name=`NonSimpleGeometryError`}}var c;(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`})(c||={});const l=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function u(e){return l[e&15]}function d(e){return!!(e&512)}function f(e){return!!(e&1024)}function p(e){return!!(e&2048)}function m(e){return!!(e&4096)}function h(e){return!!(e&8192)}function g(e){return!!(e&16384)}function _(e){return!!(e&32768)}function v(e){let t=e.getGeometryType();if(h(t))return e.getPointCount();if(e.isEmpty())return 0;if(t===c.enumEnvelope)return 4;if(t===c.enumPoint)return 1;if(m(t))return 2;k(`missing type`)}function y(e){let t=e.getGeometryType();if(g(t))return e.hasNonLinearSegments();if(t===c.enumGeometryCollection){let t=e;for(let e=0,n=t.getGeometryCount();e<n;e++)if(y(t.getGeometry(e)))return!0;return!1}return m(t)?t!==c.enumLine:!1}function b(e){throw new o(e)}function x(e){throw new r(e)}function S(e){throw Error(e)}function C(e){throw new a(e)}function w(){S(`Geometry type is not supported for 3D operations.`)}function T(e){throw new n(12,e)}function E(e){throw new i(e)}function D(e){throw new n(14,e)}function O(e){throw Error(e)}function k(e){throw new n(13,e)}function A(e){throw Error(e)}function j(e){throw new s(e)}function M(){D(`Operation does not support curves.`)}function N(e){e&&y(e)&&M()}function P(e){e&&_(e.getGeometryType())&&D(`Unsupported geometry type.`)}function F(e){e===c.enumGeometryCollection&&S(`Geometry_collection instances are not supported in this operation`)}function I(e){F(e.getGeometryType())}function L(e){S(`bad wkid: ${e}`)}function R(e){let t=`bad wkt: `;t+=e,t+=`...`,S(t)}function z(e,t){e||S(t)}export{j as A,A as B,E as C,z as D,c as G,S as a,C as b,P as c,k as d,b as e,d as f,t as g,m as h,h as i,g as j,_ as k,p as l,f as m,y as n,x as o,N as p,T as q,O as r,I as s,D as t,u,v,F as w,w as x,L as y,R 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 t(e,t){try{if(!e)throw Error(t)}catch(e){throw e}}class n extends Error{constructor(e,t){super(t),this.m_AdditionalMessage=t,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 n{constructor(e){super(2,e),this.name=`CorruptedGeometryError`}}class i extends n{constructor(e){super(3,e),this.name=`EmptyGeometryError`}}class a extends n{constructor(e){super(4,e),this.name=`MathSingularityError`}}class o extends n{constructor(e){super(21,e),this.name=`ProjectionEngineNotLoadedError`}}class s extends n{constructor(e){super(8,e),this.name=`NonSimpleGeometryError`}}var c;(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`})(c||={});const l=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function u(e){return l[e&15]}function d(e){return!!(e&512)}function f(e){return!!(e&1024)}function p(e){return!!(e&2048)}function m(e){return!!(e&4096)}function h(e){return!!(e&8192)}function g(e){return!!(e&16384)}function _(e){return!!(e&32768)}function v(e){let t=e.getGeometryType();if(h(t))return e.getPointCount();if(e.isEmpty())return 0;if(t===c.enumEnvelope)return 4;if(t===c.enumPoint)return 1;if(m(t))return 2;k(`missing type`)}function y(e){let t=e.getGeometryType();if(g(t))return e.hasNonLinearSegments();if(t===c.enumGeometryCollection){let t=e;for(let e=0,n=t.getGeometryCount();e<n;e++)if(y(t.getGeometry(e)))return!0;return!1}return m(t)?t!==c.enumLine:!1}function b(e){throw new o(e)}function x(e){throw new r(e)}function S(e){throw Error(e)}function C(e){throw new a(e)}function w(){S(`Geometry type is not supported for 3D operations.`)}function T(e){throw new n(12,e)}function E(e){throw new i(e)}function D(e){throw new n(14,e)}function O(e){throw Error(e)}function k(e){throw new n(13,e)}function A(e){throw Error(e)}function j(e){throw new s(e)}function M(){D(`Operation does not support curves.`)}function N(e){e&&y(e)&&M()}function P(e){e&&_(e.getGeometryType())&&D(`Unsupported geometry type.`)}function F(e){e===c.enumGeometryCollection&&S(`Geometry_collection instances are not supported in this operation`)}function I(e){F(e.getGeometryType())}function L(e){S(`bad wkid: ${e}`)}function R(e){let t=`bad wkt: `;t+=e,t+=`...`,S(t)}function z(e,t){e||S(t)}export{j as A,E as B,A as C,z as D,c as G,D as a,S as b,C as c,k as d,b as e,d as f,t as g,m as h,h as i,g as j,_ as k,p as l,f as m,y as n,x as o,N as p,T as q,O as r,I as s,P as t,u,v,F as w,w as x,L as y,R as z};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as e,j as t,t as n}from"./Geometry.js";function r(r,s){let c=r.getGeometryType();return c===e.enumPoint?i(r):t(c)?a(r):c===e.enumMultiPoint?o(r):(c===e.enumEnvelope||c===e.enumMultipatch&&n(`not implemented for multipatch`),r)}function i(e){return e}function a(t){if(s(t))return t;let n=t.createInstance();for(let r=0,i=t.getPathCount();r<i;r++){let i=t.getPathSize(r);i!==0&&(i!==1||t.getSegmentCountPath(r)!==0&&t.getSegmentType(t.getPathStart(r))!==e.enumLine&&t.isClosedPath(r))&&n.addPath(t,r,!0)}return n}function o(e){return e}function s(t){for(let n=0,r=t.getPathCount();n<r;n++){let r=t.getPathSize(n);if(r===0||r===1&&(t.getSegmentCountPath(n)===0||t.getSegmentType(t.getPathStart(n))===e.enumLine||!t.isClosedPath(n)))return!1}return!0}export{r as c};
2
+ import{G as e,j as t,a as n}from"./Geometry.js";function r(r,s){let c=r.getGeometryType();return c===e.enumPoint?i(r):t(c)?a(r):c===e.enumMultiPoint?o(r):(c===e.enumEnvelope||c===e.enumMultipatch&&n(`not implemented for multipatch`),r)}function i(e){return e}function a(t){if(s(t))return t;let n=t.createInstance();for(let r=0,i=t.getPathCount();r<i;r++){let i=t.getPathSize(r);i!==0&&(i!==1||t.getSegmentCountPath(r)!==0&&t.getSegmentType(t.getPathStart(r))!==e.enumLine&&t.isClosedPath(r))&&n.addPath(t,r,!0)}return n}function o(e){return e}function s(t){for(let n=0,r=t.getPathCount();n<r;n++){let r=t.getPathSize(n);if(r===0||r===1&&(t.getSegmentCountPath(n)===0||t.getSegmentType(t.getPathStart(n))===e.enumLine||!t.isClosedPath(n)))return!1}return!0}export{r as c};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{Gamma as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{mainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{ScreenSpaceRayMarching as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{viewMatrix as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{FloatBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as m}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{floatBlendReductionFactor as h}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ToneMapping as g}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ColorAttachment1 as _,SizedPixelFormat as v}from"../views/webgl/enums.js";import{NoParameters as y}from"../views/webgl/NoParameters.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";const x=2.5,S=.15,C=25,w=.15,T=.5,E=1,D=1,O=16;class k extends y{constructor(){super(...arguments),this.projScale=1,this.resolutionScale=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.rayMarchMinReach=w,this.rayMarchMaxReach=T,this.rayMarchWorldReach=25,this.rayMarchMinReachEmissionWeight=1,this.rayMarchMaxReachEmissionWeight=1,this.rayMarchMaxSteps=16,this.colorBleedWeight=S,this.highQualityIdleColorBlendStart=.3,this.emissionBoostFactor=x}}function A(y){let x=new b,S=x.fragment;x.include(e),x.include(a),S.include(t),S.include(n),S.include(m),S.include(g),x.include(i,y),S.uniforms.add(r,o,new p(`normalMap`,e=>e.normalTexture),new p(`depthMap`,e=>e.depthTexture),new p(`lastFrameGlobalIlluminationTexture`,(e,t)=>e.globalIllumination??t.globalIllumination?.getTexture()),new p(`lastFrameGlobalIlluminationWeightTexture`,(e,t)=>e.globalIlluminationWeights??t.globalIllumination?.getTexture(_)),new f(`lastFrameColorTexture`,e=>e.reprojection.lastFrameColor?.getTexture()),new f(`lastFrameDepthTexture`,e=>e.reprojection.lastFrameDepth?.attachment),new d(`reprojectionProjectionMatrix`,e=>e.reprojection.lastFrameCamera.projectionMatrix),new d(`reprojectionViewMatrix`,e=>e.reprojection.viewMatrix),new c(`accumulatedFrames`,e=>e.accumulatedFrames),new c(`temporalSampleFrame`,e=>e.temporalSampleFrame),new c(`resolutionScale`,e=>e.resolutionScale)),S.uniforms.add(new c(`rayMarchMinReach`,e=>e.rayMarchMinReach),new c(`rayMarchMaxReach`,e=>e.rayMarchMaxReach),new c(`rayMarchWorldReach`,e=>e.rayMarchWorldReach),new c(`rayMarchMinReachEmissionWeight`,e=>e.rayMarchMinReachEmissionWeight),new c(`rayMarchMaxReachEmissionWeight`,e=>e.rayMarchMaxReachEmissionWeight),new c(`rayMarchMaxSteps`,e=>e.rayMarchMaxSteps),new c(`colorBleedWeight`,e=>e.colorBleedWeight),new c(`highQualityIdleColorBlendStart`,e=>e.highQualityIdleColorBlendStart),new c(`emissionBoostFactor`,e=>e.emissionBoostFactor));let{hasEmission:C,hasColor:w}=y;return C&&(S.uniforms.add(new s(`inputScale`,e=>e.reprojection.lastFrameEmission?.getTexture()?.descriptor.internalFormat===v.RGBA8?h:1),new f(`lastFrameEmissionTexture`,e=>e.reprojection.lastFrameEmission?.getTexture())),S.code.add(l`bool hasHitReprojectionMismatch(vec3 hit, vec2 hitReprojectedCoordinate, float colorBlendWeight) {
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{Gamma as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{mainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{ScreenSpaceRayMarching as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{viewMatrix as o}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{FloatBindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js";import{FloatPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as f}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as p}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as m}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{floatBlendReductionFactor as h}from"../views/3d/webgl-engine/shaders/floatBlendScale.glsl.js";import{ToneMapping as g}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ColorAttachment1 as _,SizedPixelFormat as v}from"../views/webgl/enums.js";import{NoParameters as y}from"../views/webgl/NoParameters.js";import{ShaderBuilder as b}from"../views/webgl/ShaderBuilder.js";const x=2.5,S=0,C=.8,w=25,T=.15,E=.5,D=1,O=1,k=16;class A extends y{constructor(){super(...arguments),this.projScale=1,this.resolutionScale=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.glowBoost=0,this.rayMarchMinReach=T,this.rayMarchMaxReach=E,this.rayMarchWorldReach=25,this.rayMarchMinReachEmissionWeight=1,this.rayMarchMaxReachEmissionWeight=1,this.rayMarchMaxSteps=16,this.colorBleedWeight=0,this.highQualityIdleColorBlendStart=.3,this.emissionBoostFactor=x,this.factorDaylightDirectional=C}}function j(y){let x=new b,S=x.fragment;x.include(e),x.include(a),S.include(t),S.include(n),S.include(m),S.include(g),x.include(i,y),S.uniforms.add(r,o,new p(`normalMap`,e=>e.normalTexture),new p(`depthMap`,e=>e.depthTexture),new p(`lastFrameGlobalIlluminationTexture`,(e,t)=>e.globalIllumination??t.globalIllumination?.getTexture()),new p(`lastFrameGlobalIlluminationWeightTexture`,(e,t)=>e.globalIlluminationWeights??t.globalIllumination?.getTexture(_)),new f(`lastFrameColorTexture`,e=>e.reprojection.lastFrameColor?.getTexture()),new f(`lastFrameDepthTexture`,e=>e.reprojection.lastFrameDepth?.attachment),new d(`reprojectionProjectionMatrix`,e=>e.reprojection.lastFrameCamera.projectionMatrix),new d(`reprojectionViewMatrix`,e=>e.reprojection.viewMatrix),new c(`accumulatedFrames`,e=>e.accumulatedFrames),new c(`temporalSampleFrame`,e=>e.temporalSampleFrame),new c(`resolutionScale`,e=>e.resolutionScale)),S.uniforms.add(new c(`rayMarchMinReach`,e=>e.rayMarchMinReach),new c(`rayMarchMaxReach`,e=>e.rayMarchMaxReach),new c(`rayMarchWorldReach`,e=>e.rayMarchWorldReach),new c(`rayMarchMinReachEmissionWeight`,e=>e.rayMarchMinReachEmissionWeight),new c(`rayMarchMaxReachEmissionWeight`,e=>e.rayMarchMaxReachEmissionWeight),new c(`rayMarchMaxSteps`,e=>e.rayMarchMaxSteps),new c(`colorBleedWeight`,e=>e.colorBleedWeight),new c(`highQualityIdleColorBlendStart`,e=>e.highQualityIdleColorBlendStart),new c(`emissionBoostFactor`,e=>e.emissionBoostFactor+e.glowBoost),new c(`factorDaylightDirectional`,e=>e.factorDaylightDirectional));let{hasEmission:C,hasColor:w}=y;return C&&(S.uniforms.add(new s(`inputScale`,e=>e.reprojection.lastFrameEmission?.getTexture()?.descriptor.internalFormat===v.RGBA8?h:1),new f(`lastFrameEmissionTexture`,e=>e.reprojection.lastFrameEmission?.getTexture())),S.code.add(l`bool hasHitReprojectionMismatch(vec3 hit, vec2 hitReprojectedCoordinate, float colorBlendWeight) {
3
3
  if (colorBlendWeight != 1.0) {
4
4
  return false;
5
5
  }
@@ -207,7 +207,7 @@ return value * 2.0 - 1.0;
207
207
  vec4 viewMainLightDirection = view * vec4(mainLightDirection, 0.0);
208
208
  float skyModulation = pow(max(dot(rayDirection, viewMainLightDirection.xyz), 0.0), 3.0) * 5.5;
209
209
  float skyFacingWeight = clamp(3.5 * dot(viewMainLightDirection.xyz, normal), 0.0, 1.0);
210
- skyModulation = mix(1.0, skyModulation * 0.2 + 0.8, skyFacingWeight);
210
+ skyModulation = mix(1.0, skyModulation * (1.0 - factorDaylightDirectional) + factorDaylightDirectional, skyFacingWeight);
211
211
  fragGlobalIllumination.a += (1.0 - hitOpacity) * skyModulation * stepSize;
212
212
  }
213
213
  }
@@ -245,4 +245,4 @@ return value * 2.0 - 1.0;
245
245
  fragGlobalIllumination.a = mix(lastFrameGlobalIllumination.a + accumulationDither, fragGlobalIllumination.a, occlusionBlendWeight);
246
246
 
247
247
  fragWeight = vec2(occlusionBlendWeight, colorBlendWeight * storedColorBlendWeightScale);
248
- `),x}const j=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:k,build:A,defaultColorBleedWeight:S,defaultEmissionBoostFactor:x,defaultRayMarchMaxReach:T,defaultRayMarchMaxReachEmissionWeight:1,defaultRayMarchMaxSteps:16,defaultRayMarchMinReach:w,defaultRayMarchMinReachEmissionWeight:1,defaultRayMarchWorldReach:25},Symbol.toStringTag,{value:`Module`}));export{k as G,j as a,O as b,A as c,T as d,S as e,x as f,D as g,w as h,E as i,C as j};
248
+ `),x}const M=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:A,build:j,defaultColorBleedWeight:0,defaultEmissionBoostFactor:x,defaultFactorDaylightDirectional:C,defaultRayMarchMaxReach:E,defaultRayMarchMaxReachEmissionWeight:1,defaultRayMarchMaxSteps:16,defaultRayMarchMinReach:T,defaultRayMarchMinReachEmissionWeight:1,defaultRayMarchWorldReach:25},Symbol.toStringTag,{value:`Module`}));export{A as G,M as a,k as b,j as c,E as d,S as e,x as f,C as g,O as h,T as i,D as j,w as k};
@@ -1,50 +1,50 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{markerTextureSize as e,markerSymbolSize as t,markerTipThicknessFactor as n}from"../views/3d/support/engineContent/marker.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{EvaluateAmbientOcclusion as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js";import{EvaluateSceneLighting as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{mainLightIntensity as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{MarkerSizing as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readFragmentShadow as f}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readFragmentShadow.glsl.js";import{nearFar as p,viewport as m,viewNormal as h,inverseProjectionMatrix as g,screenPixelSizePerDistance as _}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as y,NoPerspectiveRead as b}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as x,addPixelRatio as S,addCameraPosition as C}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as T,If as E}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{alphaCutoff as O}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as k}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as A}from"../views/webgl/ShaderBuilder.js";function j(j){let M=new A,{draped:N,worldSpace:P,anchor:F,hasTip:I,shadingEnabled:L}=j,R=!N&&!P;M.attributes.add(`position`,`vec3`),M.attributes.add(j.hasVVSize?`sizeFeatureAttribute`:`size`,`float`),j.hasVVOpacity&&M.attributes.add(`opacityFeatureAttribute`,`float`),M.attributes.add(j.hasVVColor?`colorFeatureAttribute`:`color`,j.hasVVColor?`float`:`vec4`),M.vertex.inputs.add(`position`,()=>`position`),j.hasVVSize?M.vertex.inputs.add(`sizeFeatureAttribute`,()=>`sizeFeatureAttribute`):M.vertex.inputs.add(`size`,()=>`size`),j.hasVVOpacity&&M.vertex.inputs.add(`opacityFeatureAttribute`,()=>`opacityFeatureAttribute`),j.hasVVColor?M.vertex.inputs.add(`colorFeatureAttribute`,()=>`colorFeatureAttribute`):M.vertex.inputs.add(`color`,()=>`color`),M.include(i,j),M.include(l,j);let{vertex:z,fragment:B,varyings:V}=M;x(z,j),M.attributes.add(`previousDelta`,`vec4`),M.attributes.add(`uv0`,`vec2`),V.add(`vColor`,`vec4`),V.add(`vpos`,`vec3`,{invariant:!0}),V.add(`vUV`,`vec2`),V.add(`vSize`,`float`),I&&V.add(`vLineWidth`,`float`),z.uniforms.add(p,m).code.add(T`vec4 projectAndScale(vec4 pos) {
2
+ import{markerTextureSize as e,markerSymbolSize as t,markerTipThicknessFactor as n}from"../views/3d/support/engineContent/marker.js";import{sliceDraw as r}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{RibbonVertexPosition as i}from"../views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import{OutputHighlight as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js";import{evaluateSceneLightingFragment as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import{MarkerSizing as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js";import{NormalUtils as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as u,viewport as d,viewNormal as f,inverseProjectionMatrix as p,screenPixelSizePerDistance as m}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{ColorConversion as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/ColorConversion.glsl.js";import{NoPerspectiveWrite as g,NoPerspectiveRead as _}from"../views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js";import{addProjViewLocalOrigin as v,addPixelRatio as y}from"../views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js";import{Float4PassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js";import{glsl as x,If as S}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{alphaCutoff as w}from"../views/3d/webgl-engine/shaders/alphaCutoff.glsl.js";import{outputColorHighlightOLID as T}from"../views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js";import{ShaderBuilder as E}from"../views/webgl/ShaderBuilder.js";function D(D){let O=new E,{draped:k,worldSpace:A,anchor:j,hasTip:M,shadingEnabled:N}=D,P=!k&&!A;O.attributes.add(`position`,`vec3`),O.attributes.add(D.hasVVSize?`sizeFeatureAttribute`:`size`,`float`),D.hasVVOpacity&&O.attributes.add(`opacityFeatureAttribute`,`float`),O.attributes.add(D.hasVVColor?`colorFeatureAttribute`:`color`,D.hasVVColor?`float`:`vec4`),O.vertex.inputs.add(`position`,()=>`position`),D.hasVVSize?O.vertex.inputs.add(`sizeFeatureAttribute`,()=>`sizeFeatureAttribute`):O.vertex.inputs.add(`size`,()=>`size`),D.hasVVOpacity&&O.vertex.inputs.add(`opacityFeatureAttribute`,()=>`opacityFeatureAttribute`),D.hasVVColor?O.vertex.inputs.add(`colorFeatureAttribute`,()=>`colorFeatureAttribute`):O.vertex.inputs.add(`color`,()=>`color`),O.include(i,D),O.include(s,D);let{vertex:F,fragment:I,varyings:L}=O;v(F,D),O.attributes.add(`previousDelta`,`vec4`),O.attributes.add(`uv0`,`vec2`),L.add(`vColor`,`vec4`),L.add(`vpos`,`vec3`,{invariant:!0}),L.add(`vUV`,`vec2`),L.add(`vSize`,`float`),M&&L.add(`vLineWidth`,`float`),F.uniforms.add(u,d).code.add(x`vec4 projectAndScale(vec4 pos) {
3
3
  vec4 posNdc = proj * pos;
4
4
  posNdc.xy *= viewport.zw / posNdc.w;
5
5
  return posNdc;
6
- }`),z.code.add(T`void clip(vec4 pos, inout vec4 prev) {
6
+ }`),F.code.add(x`void clip(vec4 pos, inout vec4 prev) {
7
7
  float vnp = nearFar[0] * 0.99;
8
8
  if (prev.z > -nearFar[0]) {
9
9
  float interpolation = (-vnp - pos.z) / (prev.z - pos.z);
10
10
  prev = mix(pos, prev, interpolation);
11
11
  }
12
- }`),P?(M.attributes.add(`normal`,`vec3`),z.constants.add(`tiltThreshold`,`float`,.7).uniforms.add(h).code.add(T`vec3 perpendicular(vec3 v) {
12
+ }`),A?(O.attributes.add(`normal`,`vec3`),F.constants.add(`tiltThreshold`,`float`,.7).uniforms.add(f).code.add(x`vec3 perpendicular(vec3 v) {
13
13
  vec3 n = (viewNormal * vec4(normal.xyz, 1.0)).xyz;
14
14
  vec3 n2 = cross(v, n);
15
15
  vec3 forward = vec3(0.0, 0.0, 1.0);
16
16
  float tiltDot = dot(forward, n);
17
17
  return abs(tiltDot) < tiltThreshold ? n : n2;
18
- }`)):z.code.add(T`vec2 perpendicular(vec2 v) {
18
+ }`)):F.code.add(x`vec2 perpendicular(vec2 v) {
19
19
  return vec2(v.y, -v.x);
20
- }`);let H=P?`vec3`:`vec2`;return z.code.add(T`
21
- ${H} normalizedSegment(${H} pos, ${H} prev) {
22
- ${H} segment = pos - prev;
20
+ }`);let R=A?`vec3`:`vec2`;return F.code.add(x`
21
+ ${R} normalizedSegment(${R} pos, ${R} prev) {
22
+ ${R} segment = pos - prev;
23
23
  float segmentLen = length(segment);
24
24
 
25
25
  // normalize or zero if too short
26
- return (segmentLen > 0.001) ? segment / segmentLen : ${P?`vec3(0.0, 0.0, 0.0)`:`vec2(0.0, 0.0)`};
26
+ return (segmentLen > 0.001) ? segment / segmentLen : ${A?`vec3(0.0, 0.0, 0.0)`:`vec2(0.0, 0.0)`};
27
27
  }
28
28
 
29
- ${H} displace(${H} pos, ${H} prev, float displacementLen) {
30
- ${H} segment = normalizedSegment(pos, prev);
29
+ ${R} displace(${R} pos, ${R} prev, float displacementLen) {
30
+ ${R} segment = normalizedSegment(pos, prev);
31
31
 
32
- ${H} displacementDirU = perpendicular(segment);
33
- ${H} displacementDirV = segment;
32
+ ${R} displacementDirU = perpendicular(segment);
33
+ ${R} displacementDirV = segment;
34
34
 
35
- ${F===1?`pos -= 0.5 * displacementLen * displacementDirV;`:``}
35
+ ${j===1?`pos -= 0.5 * displacementLen * displacementDirV;`:``}
36
36
 
37
37
  return pos + displacementLen * (uv0.x * displacementDirU + uv0.y * displacementDirV);
38
38
  }
39
- `),R&&(z.uniforms.add(g),z.code.add(T`vec3 inverseProject(vec4 posScreen) {
39
+ `),P&&(F.uniforms.add(p),F.code.add(x`vec3 inverseProject(vec4 posScreen) {
40
40
  posScreen.xy = (posScreen.xy / viewport.zw) * posScreen.w;
41
41
  return (inverseProjectionMatrix * posScreen).xyz;
42
- }`),z.code.add(T`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
42
+ }`),F.code.add(x`bool rayIntersectPlane(vec3 rayDir, vec3 planeOrigin, vec3 planeNormal, out vec3 intersection) {
43
43
  float cos = dot(rayDir, planeNormal);
44
44
  float t = dot(planeOrigin, planeNormal) / cos;
45
45
  intersection = t * rayDir;
46
46
  return abs(cos) > 0.001 && t > 0.0;
47
- }`),z.uniforms.add(_),z.code.add(T`
47
+ }`),F.uniforms.add(m),F.code.add(x`
48
48
  vec4 toFront(vec4 displacedPosScreen, vec3 posLeft, vec3 posRight, vec3 prev, float lineWidth) {
49
49
  // Project displaced position back to camera space
50
50
  vec3 displacedPos = inverseProject(displacedPosScreen);
@@ -54,7 +54,7 @@ return abs(cos) > 0.001 && t > 0.0;
54
54
  vec3 planeNormal = normalize(cross(posLeft - posRight, posLeft - prev));
55
55
  vec3 planeOrigin = posLeft;
56
56
 
57
- ${E(j.hasCap,`if(prev.z > posLeft.z) {
57
+ ${S(D.hasCap,`if(prev.z > posLeft.z) {
58
58
  vec2 diff = posLeft.xy - posRight.xy;
59
59
  planeOrigin.xy += perpendicular(diff) / 2.0;
60
60
  }`)};
@@ -76,36 +76,36 @@ return abs(cos) > 0.001 && t > 0.0;
76
76
  displacedPos *= minDepth / length(displacedPos);
77
77
  return vec4(displacedPos.xyz, 1.0);
78
78
  }
79
- `)),S(z),M.include(y),z.main.add(T`
79
+ `)),y(F),O.include(g),F.main.add(x`
80
80
  // Check for special value of uv0.y which is used by the Renderer when graphics are removed before the VBO is
81
81
  // recompacted. If this is the case, then we just project outside of clip space.
82
82
  if (uv0.y == 0.0) {
83
83
  // Project out of clip space
84
- gl_Position = ${d};
84
+ gl_Position = ${l};
85
85
  return;
86
86
  }
87
87
 
88
88
  vec4 pos = view * vec4(position, 1.0);
89
89
  vec4 prev = view * vec4(position + previousDelta.xyz * previousDelta.w, 1.0);
90
90
 
91
- float lineWidth = getLineWidth(${E(j.lineWidthRequiresPosition,`pos.xyz`)});
91
+ float lineWidth = getLineWidth(${S(D.lineWidthRequiresPosition,`pos.xyz`)});
92
92
  float screenMarkerSize = getScreenMarkerSize(lineWidth);
93
93
 
94
94
  clip(pos, prev);
95
95
 
96
- ${P?T`${E(j.hideOnShortSegments,T`
96
+ ${A?x`${S(D.hideOnShortSegments,x`
97
97
  if (areWorldMarkersHidden(pos.xyz, prev.xyz)) {
98
- gl_Position = ${d};
98
+ gl_Position = ${l};
99
99
  return;
100
100
  }`)}
101
101
  pos.xyz = displace(pos.xyz, prev.xyz, getWorldMarkerSize(pos.xyz));
102
- vec4 displacedPosScreen = projectAndScale(pos);`:T`
102
+ vec4 displacedPosScreen = projectAndScale(pos);`:x`
103
103
  vec4 posScreen = projectAndScale(pos);
104
104
  vec4 prevScreen = projectAndScale(prev);
105
105
  vec4 displacedPosScreen = posScreen;
106
106
 
107
107
  displacedPosScreen.xy = displace(posScreen.xy, prevScreen.xy, screenMarkerSize);
108
- ${E(R,T`
108
+ ${S(P,x`
109
109
  vec2 displacementDirU = perpendicular(normalizedSegment(posScreen.xy, prevScreen.xy));
110
110
 
111
111
  // We need three points of the ribbon line in camera space to calculate the plane it lies in
@@ -121,8 +121,8 @@ return abs(cos) > 0.001 && t > 0.0;
121
121
 
122
122
  // Convert texture coordinate into [0,1]
123
123
  vUV = (uv0 + 1.0) / 2.0;
124
- ${E(!P,`vUV = noPerspectiveWrite(vUV, displacedPosScreen.w);`)}
125
- ${E(I,`vLineWidth = noPerspectiveWrite(lineWidth, displacedPosScreen.w);`)}
124
+ ${S(!A,`vUV = noPerspectiveWrite(vUV, displacedPosScreen.w);`)}
125
+ ${S(M,`vLineWidth = noPerspectiveWrite(lineWidth, displacedPosScreen.w);`)}
126
126
 
127
127
  vSize = screenMarkerSize;
128
128
  vColor = getColor();
@@ -131,13 +131,13 @@ return abs(cos) > 0.001 && t > 0.0;
131
131
  vpos = pos.xyz;
132
132
 
133
133
  gl_Position = displacedPosScreen;
134
- `),B.include(r,j),M.include(k,j),B.include(v),B.include(O),B.uniforms.add(new w(`intrinsicColor`,({color:e})=>e),new D(`tex`,({markerTexture:e})=>e)).constants.add(`texelSize`,`float`,1/e).code.add(T`float markerAlpha(vec2 samplePos) {
134
+ `),I.include(r,D),O.include(T,D),I.include(h),I.include(w),I.uniforms.add(new b(`intrinsicColor`,({color:e})=>e),new C(`tex`,({markerTexture:e})=>e)).constants.add(`texelSize`,`float`,1/e).code.add(x`float markerAlpha(vec2 samplePos) {
135
135
  samplePos += vec2(0.5, -0.5) * texelSize;
136
136
  float sdf = texture(tex, samplePos).r;
137
137
  float pixelDistance = sdf * vSize;
138
138
  pixelDistance -= 0.5;
139
139
  return clamp(0.5 - pixelDistance, 0.0, 1.0);
140
- }`),I&&(M.include(b),B.constants.add(`relativeMarkerSize`,`float`,t/e).constants.add(`relativeTipLineWidth`,`float`,n).code.add(T`
140
+ }`),M&&(O.include(_),I.constants.add(`relativeMarkerSize`,`float`,t/e).constants.add(`relativeTipLineWidth`,`float`,n).code.add(x`
141
141
  float tipAlpha(vec2 samplePos) {
142
142
  // Convert coordinates s.t. they are in pixels and relative to the tip of an arrow marker
143
143
  samplePos -= vec2(0.5, 0.5 + 0.5 * relativeMarkerSize);
@@ -146,25 +146,18 @@ return clamp(0.5 - pixelDistance, 0.0, 1.0);
146
146
  float halfMarkerSize = 0.5 * relativeMarkerSize * vSize;
147
147
  float halfTipLineWidth = 0.5 * max(1.0, relativeTipLineWidth * noPerspectiveRead(vLineWidth));
148
148
 
149
- ${E(P,`halfTipLineWidth *= fwidth(samplePos.y);`)}
149
+ ${S(A,`halfTipLineWidth *= fwidth(samplePos.y);`)}
150
150
 
151
151
  float distance = max(abs(samplePos.x) - halfMarkerSize, abs(samplePos.y) - halfTipLineWidth);
152
152
  return clamp(0.5 - distance, 0.0, 1.0);
153
153
  }
154
- `)),M.include(a,j),M.include(b),B.main.add(T`
154
+ `)),O.include(a,D),O.include(_),I.main.add(x`
155
155
  discardBySlice(vpos);
156
156
 
157
- vec4 finalColor = intrinsicColor * vColor;
157
+ vec4 albedo = intrinsicColor * vColor;
158
158
 
159
159
  // Cancel out perspective correct interpolation if in screen space or draped
160
- vec2 samplePos = ${E(P,`vUV`,`noPerspectiveRead(vUV)`)};
161
- finalColor.a *= ${I?`max(markerAlpha(samplePos), tipAlpha(samplePos))`:`markerAlpha(samplePos)`};
162
- if(finalColor.a < alphaCutoff) discard; // We also want to discard in the opaque color pass
163
- `),L&&(V.add(`vnormal`,`vec3`),z.include(u,j),z.main.add(T`vnormal = getLocalUp(vpos, localOrigin);
164
- forwardLinearDepthToReadShadow();`),C(B,j),M.include(f,j),B.include(s,j),B.include(o,j),B.uniforms.add(c,z.uniforms.get(`localOrigin`)).main.add(T`vec3 posWorld = vpos + localOrigin;
165
- float additionalAmbientScale = additionalDirectedAmbientLight(posWorld);
166
- float shadow = readFragmentShadow(additionalAmbientScale);
167
- float ssao = evaluateAmbientOcclusionInverse();
168
- vec3 additionalLight = ssao * mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;
169
- vec3 viewDirection = normalize(vpos - cameraPosition);
170
- finalColor = vec4(evaluateSceneLighting(vnormal, finalColor.rgb, shadow, 1.0 - ssao, additionalLight, viewDirection, vnormal), finalColor.a);`)),B.main.add(`outputColorHighlightOLID(applySlice(finalColor, vpos), finalColor.rgb);`),M}const M=Object.freeze(Object.defineProperty({__proto__:null,build:j},Symbol.toStringTag,{value:`Module`}));export{M as L,j as b};
160
+ vec2 samplePos = ${S(A,`vUV`,`noPerspectiveRead(vUV)`)};
161
+ albedo.a *= ${M?`max(markerAlpha(samplePos), tipAlpha(samplePos))`:`markerAlpha(samplePos)`};
162
+ if(albedo.a < alphaCutoff) discard; // We also want to discard in the opaque color pass
163
+ `),N?(L.add(`vnormal`,`vec3`),F.include(c,D),F.main.add(`vnormal = getLocalUp(vpos, localOrigin);`),O.include(o,D),I.main.add(`vec4 finalColor = evaluateSceneLightingFragment(vpos, vnormal, albedo);`)):I.main.add(`vec4 finalColor = albedo;`),I.main.add(`outputColorHighlightOLID(applySlice(finalColor, vpos), albedo.rgb);`),O}const O=Object.freeze(Object.defineProperty({__proto__:null,build:D},Symbol.toStringTag,{value:`Module`}));export{O as L,D as b};