@arcgis/core 5.2.0-next.94 → 5.2.0-next.96

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 (604) hide show
  1. package/applications/WebEditor/geometryUtils.d.ts +1 -1
  2. package/arcade/arcadeAsyncRuntime.js +1 -1
  3. package/arcade/arcadeCompiler.js +1 -1
  4. package/arcade/arcadeRuntime.js +1 -1
  5. package/arcade/containerUtils.js +1 -1
  6. package/arcade/functions/track.js +1 -1
  7. package/arcgisGlobal.d.ts +2 -0
  8. package/assets/components/assets/icon/aiAgent16.json +1 -0
  9. package/assets/components/assets/icon/aiAgent24.json +1 -0
  10. package/assets/components/assets/icon/aiAgent32.json +1 -0
  11. package/assets/components/assets/icon/aiAgents16.json +1 -0
  12. package/assets/components/assets/icon/aiAgents24.json +1 -0
  13. package/assets/components/assets/icon/aiAgents32.json +1 -0
  14. package/assets/components/assets/icon/explodeGeometry16.json +1 -0
  15. package/assets/components/assets/icon/explodeGeometry24.json +1 -0
  16. package/assets/components/assets/icon/explodeGeometry32.json +1 -0
  17. package/assets/components/assets/icon/integration16.json +1 -0
  18. package/assets/components/assets/icon/integration24.json +1 -0
  19. package/assets/components/assets/icon/integration32.json +1 -0
  20. package/assets/components/assets/icon/spatiotemporalCatalog16.json +1 -0
  21. package/assets/components/assets/icon/spatiotemporalCatalog24.json +1 -0
  22. package/assets/components/assets/icon/spatiotemporalCatalog32.json +1 -0
  23. package/assets/components/assets/input-time-zone/t9n/messages.de.json +1 -1
  24. package/assets/esri/core/workers/RemoteClient.js +1 -1
  25. package/assets/esri/core/workers/chunks/000f91a18c22377f8525.js +1 -0
  26. package/assets/esri/core/workers/chunks/{c4a0d3149947a1d2c484.js → 006146ad6d4a5cbf1a1f.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{bd1a7e95a797e1ed4a7b.js → 013c17e07756fa465845.js} +1 -1
  28. package/assets/esri/core/workers/chunks/014eaccf2c2d357981f0.js +1 -0
  29. package/assets/esri/core/workers/chunks/{f253875feb11883deb84.js → 04d4cd66485b622403d0.js} +1 -1
  30. package/assets/esri/core/workers/chunks/05eb064f9b543890ae24.js +1 -0
  31. package/assets/esri/core/workers/chunks/05fbd1f373cfa3724f0c.js +1 -0
  32. package/assets/esri/core/workers/chunks/0809a55a2f9be07cc5a9.js +1 -0
  33. package/assets/esri/core/workers/chunks/0930738f43ce09b2ed2d.js +1 -0
  34. package/assets/esri/core/workers/chunks/{691434d4c6a38e63d819.js → 0a242e76bc293b0ad04b.js} +1 -1
  35. package/assets/esri/core/workers/chunks/0a4092578dc7578bcf76.js +1 -0
  36. package/assets/esri/core/workers/chunks/0e11bee9b56a7f51b012.js +1 -0
  37. package/assets/esri/core/workers/chunks/0e65869a5dd5a3917da7.js +1 -0
  38. package/assets/esri/core/workers/chunks/0ffb5a1275d07dcd9115.js +1 -0
  39. package/assets/esri/core/workers/chunks/{e370a3337b3c90240e73.js → 105da965fc90604eb6bf.js} +1 -1
  40. package/assets/esri/core/workers/chunks/1082bb0858585bd4fa21.js +2 -0
  41. package/assets/esri/core/workers/chunks/10c13c36c42c5ac41d12.js +1 -0
  42. package/assets/esri/core/workers/chunks/{5235b9c21ac4156c2375.js → 10f4c5533f50c3693318.js} +1 -1
  43. package/assets/esri/core/workers/chunks/1201bb22a2bfd7d7ecba.js +1 -0
  44. package/assets/esri/core/workers/chunks/16f55c5d642a23c2547e.js +1 -0
  45. package/assets/esri/core/workers/chunks/{09e01fd1c199be0c8e03.js → 16ffbe484f6cd4736f79.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{1bf967c68d0c795d3fb4.js → 19a4907fc93ae8b817e9.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{f74c7cbe4bd12f73ae90.js → 19d7339f20f3008c4893.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{9226205850e35b7fc610.js → 1a9f17781e0a3bc5106f.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{bf7875fda48b15271a10.js → 1bef7097fe5e402539ea.js} +1 -1
  50. package/assets/esri/core/workers/chunks/1d7f633f158062eb3f64.js +1 -0
  51. package/assets/esri/core/workers/chunks/{fa377112ef3b78f6ed18.js → 1de1cc0ed0f169a58aff.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{0549e2badf511e27aa54.js → 1e3b07cf0e608431a277.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{8a87e1a89a0d8c6203a7.js → 20feca2fdd304b3e9664.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{4c73c2f4331351e2a50c.js → 22ff018342860249b3eb.js} +1 -1
  55. package/assets/esri/core/workers/chunks/248df6fda489a9de5852.js +1 -0
  56. package/assets/esri/core/workers/chunks/2524e2385f61a6898411.js +1 -0
  57. package/assets/esri/core/workers/chunks/279b16727d4b515eca44.js +1 -0
  58. package/assets/esri/core/workers/chunks/2b10d6597af3eeec5396.js +1 -0
  59. package/assets/esri/core/workers/chunks/2bd4b536e329112591c4.js +1 -0
  60. package/assets/esri/core/workers/chunks/2c01477b69c38f691e19.js +1 -0
  61. package/assets/esri/core/workers/chunks/2e2349387a2b9903f13c.js +2 -0
  62. package/assets/esri/core/workers/chunks/{e594b6db9caee1f7b9fc.js → 32aa1529e84b839d051d.js} +1 -1
  63. package/assets/esri/core/workers/chunks/33041e50ea02d99480b0.js +1 -0
  64. package/assets/esri/core/workers/chunks/{5d7a5aa608ed6192b016.js → 349982635e921e838030.js} +1 -1
  65. package/assets/esri/core/workers/chunks/35d0a7597473d46866de.js +1 -0
  66. package/assets/esri/core/workers/chunks/374d726fdd0a9848cea5.js +1 -0
  67. package/assets/esri/core/workers/chunks/379f5ca5372d834af497.js +1 -0
  68. package/assets/esri/core/workers/chunks/37ae52c71bf9c70fbb92.js +1 -0
  69. package/assets/esri/core/workers/chunks/{05393b23ab24126d4236.js → 38bc5d09ae07f486d457.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{d270b49c037085503016.js → 3a9435569ba460ff7e3d.js} +1 -1
  71. package/assets/esri/core/workers/chunks/3bafa01ca01a67d09432.js +1 -0
  72. package/assets/esri/core/workers/chunks/3c7901ea007c9615ba54.js +1 -0
  73. package/assets/esri/core/workers/chunks/4047208f9559e06d7102.js +1 -0
  74. package/assets/esri/core/workers/chunks/4049e9b86c8e27a7ff12.js +1 -0
  75. package/assets/esri/core/workers/chunks/411bbdecba340df11d95.js +2 -0
  76. package/assets/esri/core/workers/chunks/42b5533f94ebcdc4befe.js +1 -0
  77. package/assets/esri/core/workers/chunks/44ca13c874b5aa0ed5a0.js +1 -0
  78. package/assets/esri/core/workers/chunks/{e488e5c62cb375c87a39.js → 471027e4280bd51167b0.js} +1 -1
  79. package/assets/esri/core/workers/chunks/4717831effb1ac6d5f5d.js +1 -0
  80. package/assets/esri/core/workers/chunks/{a89dbef8155d7c4354da.js → 476535cfb06ced74d611.js} +2 -2
  81. package/assets/esri/core/workers/chunks/486f1277fe834c0fc4c1.js +1 -0
  82. package/assets/esri/core/workers/chunks/48ade66f1685a1aaffba.js +1 -0
  83. package/assets/esri/core/workers/chunks/4c088c26d5d546c95c90.js +1 -0
  84. package/assets/esri/core/workers/chunks/4d13c1a04788e5222678.js +1 -0
  85. package/assets/esri/core/workers/chunks/{a46ac0be9aabc4cfedc7.js → 4d7f6c92041d52cc8732.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{595edbc1e9bba47d5676.js → 4f89da01b67b66a92c01.js} +1 -1
  87. package/assets/esri/core/workers/chunks/507bbcde2b39321b50a4.js +1 -0
  88. package/assets/esri/core/workers/chunks/{9b8e33985310f281f084.js → 56a5b65961e722f5cae9.js} +1 -1
  89. package/assets/esri/core/workers/chunks/5830deda121e4c95d199.js +1 -0
  90. package/assets/esri/core/workers/chunks/{19e93d4d37018e3ee849.js → 58a52adc42fbe5cd12c6.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{b0e25ccb5a1e57a82628.js → 58b93f13316196d2e97d.js} +1 -1
  92. package/assets/esri/core/workers/chunks/58f98bd89b644cfdafae.js +1 -0
  93. package/assets/esri/core/workers/chunks/5a8658e4ef5163e8ab3b.js +1 -0
  94. package/assets/esri/core/workers/chunks/5aa3e1e9c701c7fef6e4.js +1 -0
  95. package/assets/esri/core/workers/chunks/5bb8d9d887dd4211afd2.js +1 -0
  96. package/assets/esri/core/workers/chunks/5d7625eb9997cd0dff09.js +1 -0
  97. package/assets/esri/core/workers/chunks/5e56a004b4407b8066eb.js +1 -0
  98. package/assets/esri/core/workers/chunks/5efc66be4576c6f67064.js +1 -0
  99. package/assets/esri/core/workers/chunks/60b1af54e7fc20fd9588.js +1 -0
  100. package/assets/esri/core/workers/chunks/6134a2c6983792787184.js +1 -0
  101. package/assets/esri/core/workers/chunks/6319413b89e23f671487.js +1 -0
  102. package/assets/esri/core/workers/chunks/{e50adcfb392adfb3f79c.js → 633454b27c34f9ec7940.js} +1 -1
  103. package/assets/esri/core/workers/chunks/63c43ebf46964c283b4d.js +1 -0
  104. package/assets/esri/core/workers/chunks/65d3638ded62c5606ae3.js +1 -0
  105. package/assets/esri/core/workers/chunks/{aa0ef4493a7e9bed159f.js → 662f4b39ec44c68e0733.js} +1 -1
  106. package/assets/esri/core/workers/chunks/680bef5e8237cc3bdd84.js +1 -0
  107. package/assets/esri/core/workers/chunks/6835f959952f70972fce.js +1 -0
  108. package/assets/esri/core/workers/chunks/{ddf284648a73b6993737.js → 68d823697c298122ee08.js} +1 -1
  109. package/assets/esri/core/workers/chunks/6aaefd61505027267c9b.js +1 -0
  110. package/assets/esri/core/workers/chunks/6ceb17eada151230abf7.js +1 -0
  111. package/assets/esri/core/workers/chunks/6df29716f75696434807.js +1 -0
  112. package/assets/esri/core/workers/chunks/6e804bd6bb4b0ee44fa9.js +1 -0
  113. package/assets/esri/core/workers/chunks/{ee77999df3785468b2b6.js → 6f6e8b7e6e2c856e4ed1.js} +1 -1
  114. package/assets/esri/core/workers/chunks/{8ea28a4b1afe8bb2d313.js → 7091bbdc36f1f03f14b3.js} +1 -1
  115. package/assets/esri/core/workers/chunks/7608de0d942b4c16b2f6.js +1 -0
  116. package/assets/esri/core/workers/chunks/{4b6f433022a6822706cb.js → 762817d30474c15142b4.js} +1 -1
  117. package/assets/esri/core/workers/chunks/762e9a15b2638475a2b4.js +1 -0
  118. package/assets/esri/core/workers/chunks/79088d5c9c2e6a780929.js +1 -0
  119. package/assets/esri/core/workers/chunks/7bb3411a86cdd736d555.js +1 -0
  120. package/assets/esri/core/workers/chunks/{f3d57c5b9dffd12e45b4.js → 7c3a89c12ea32a071ad4.js} +1 -1
  121. package/assets/esri/core/workers/chunks/7c67596c0792282afdfc.js +1 -0
  122. package/assets/esri/core/workers/chunks/7cef6e5f39137e74bbc3.js +1 -0
  123. package/assets/esri/core/workers/chunks/7efc51324cfc8e08c756.js +1 -0
  124. package/assets/esri/core/workers/chunks/{87e0ceb1a64ab08e679a.js → 7fd54fa2f91cdab44ab3.js} +1 -1
  125. package/assets/esri/core/workers/chunks/822a5020afbca21df7f7.js +1 -0
  126. package/assets/esri/core/workers/chunks/8599d2f2eb0fbb4a8bf5.js +1 -0
  127. package/assets/esri/core/workers/chunks/862f7090ba4a56c07093.js +1 -0
  128. package/assets/esri/core/workers/chunks/{97c7dfd29ad4c2966cb4.js → 88252899a5291ad29710.js} +1 -1
  129. package/assets/esri/core/workers/chunks/8837fbcc0d484659b79c.js +1 -0
  130. package/assets/esri/core/workers/chunks/8dcc7749de3391710864.js +1 -0
  131. package/assets/esri/core/workers/chunks/900dad076347443b3ad9.js +1 -0
  132. package/assets/esri/core/workers/chunks/{f8f7b86bbd62106bc3d4.js → 925f83be3c1eb4b5c6af.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{a4a22149077c7780481c.js → 9378ce457b02717304e6.js} +1 -1
  134. package/assets/esri/core/workers/chunks/93a7cf23f73b23fc7802.js +1 -0
  135. package/assets/esri/core/workers/chunks/93c1d1e7c0935242071e.js +1 -0
  136. package/assets/esri/core/workers/chunks/{fddcb8be714ad18ad0c8.js → 970b33947bf61fccd461.js} +1 -1
  137. package/assets/esri/core/workers/chunks/97aaff86e06380a68df8.js +1 -0
  138. package/assets/esri/core/workers/chunks/9bc7df2b8ae0ed443d13.js +1 -0
  139. package/assets/esri/core/workers/chunks/9cc14a41d4a90f6d626e.js +1 -0
  140. package/assets/esri/core/workers/chunks/9e514a58b1165e273202.js +1 -0
  141. package/assets/esri/core/workers/chunks/9fe1db0762ab3326eab4.js +1 -0
  142. package/assets/esri/core/workers/chunks/{a5bb19d2b7d7db22222b.js → a10188c4d1904965898a.js} +1 -1
  143. package/assets/esri/core/workers/chunks/a2288d44cba34d947613.js +1 -0
  144. package/assets/esri/core/workers/chunks/a26916de4c105859621e.js +1 -0
  145. package/assets/esri/core/workers/chunks/a322afbb48898ce35851.js +1 -0
  146. package/assets/esri/core/workers/chunks/a34cadd486e7fcc79063.js +1 -0
  147. package/assets/esri/core/workers/chunks/{cefb70d633c220cbedf9.js → a4dc1a80ed6604d71722.js} +1 -1
  148. package/assets/esri/core/workers/chunks/{20f6e681ccd8bf884b77.js → a72983c3621810d4b1af.js} +1 -1
  149. package/assets/esri/core/workers/chunks/a8e9aa5461c71c88e2e5.js +1 -0
  150. package/assets/esri/core/workers/chunks/{32f11b4aeae1ef00e466.js → a8f70cece5ce2b095cdd.js} +1 -1
  151. package/assets/esri/core/workers/chunks/ab332bd411d6c7d4190c.js +1 -0
  152. package/assets/esri/core/workers/chunks/{777f2fdf1f4b9f243893.js → ab3a6ce7bc2a27b92469.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{15f4f7e34e14e3cf52e6.js → abd2f8fae6b918fbdd6d.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{b13d2da33ec07e9d41ff.js → b0da2b089a89d643df1e.js} +1 -1
  155. package/assets/esri/core/workers/chunks/{65f4ca7201e7267bfc81.js → b5fcf4165ac72654742d.js} +1 -1
  156. package/assets/esri/core/workers/chunks/b82b523b6837ed1f28d3.js +2 -0
  157. package/assets/esri/core/workers/chunks/{527b87fddf33bb5d519e.js → ba77a8892cb23c7a297d.js} +1 -1
  158. package/assets/esri/core/workers/chunks/bb8089929ded0613d8e7.js +1 -0
  159. package/assets/esri/core/workers/chunks/bc7ca87d3bfe8a4aec81.js +1 -0
  160. package/assets/esri/core/workers/chunks/bc9b96a539f28afcb8cb.js +1 -0
  161. package/assets/esri/core/workers/chunks/{2d07d5a9ec67c39ef10c.js → bd4f29d2681e5596591a.js} +1 -1
  162. package/assets/esri/core/workers/chunks/bf9eba555aebca2c132b.js +1 -0
  163. package/assets/esri/core/workers/chunks/{903c7bd079888f65fef1.js → c3fbd81bb5820e48038f.js} +1 -1
  164. package/assets/esri/core/workers/chunks/c9df18e9ff7367a004b6.js +1 -0
  165. package/assets/esri/core/workers/chunks/ca8061e0a6d78d646ebf.js +1 -0
  166. package/assets/esri/core/workers/chunks/cc73ac8404615dc392d2.js +1 -0
  167. package/assets/esri/core/workers/chunks/{e823c9ccb7bc348d8824.js → ccb26860518dce6d01c0.js} +1 -1
  168. package/assets/esri/core/workers/chunks/cded34b161fcc790e672.js +1 -0
  169. package/assets/esri/core/workers/chunks/{1bf5c0a4bc5a960a3fa2.js → d1d4979e9dcabe5e4619.js} +1 -1
  170. package/assets/esri/core/workers/chunks/d2865c604849ce79183f.js +1 -0
  171. package/assets/esri/core/workers/chunks/{9b81bd62a2c72f592db1.js → d826f6d32b4c5885276a.js} +1 -1
  172. package/assets/esri/core/workers/chunks/d92540d3ffc4af980dd8.js +1 -0
  173. package/assets/esri/core/workers/chunks/dc7853795439ae77ace9.js +1 -0
  174. package/assets/esri/core/workers/chunks/dd55737fba0a8fe68101.js +1684 -0
  175. package/assets/esri/core/workers/chunks/dd8d19eb6b8e955c8067.js +1 -0
  176. package/assets/esri/core/workers/chunks/dda269a088275c823b40.js +1 -0
  177. package/assets/esri/core/workers/chunks/{97e41500fc2d24a88938.js → de95dee8db92cf8f796f.js} +1 -1
  178. package/assets/esri/core/workers/chunks/e1c8767143f9f9d1f049.js +1 -0
  179. package/assets/esri/core/workers/chunks/e5b6fa57cc4028fbd401.js +1 -0
  180. package/assets/esri/core/workers/chunks/{2cf2f2842c19be84ab4d.js → e6cb31c727f799c1297c.js} +1 -1
  181. package/assets/esri/core/workers/chunks/e7fdad0c07beb3614b60.js +1 -0
  182. package/assets/esri/core/workers/chunks/e934ef66d130c212c05b.js +1 -0
  183. package/assets/esri/core/workers/chunks/{7c56446184abcd14678b.js → ea77654c8964cc39b9a6.js} +1 -1
  184. package/assets/esri/core/workers/chunks/eb167f9f6132a6348d2e.js +1 -0
  185. package/assets/esri/core/workers/chunks/ed5ac1efd3cba49be756.js +1 -0
  186. package/assets/esri/core/workers/chunks/ef24fd6c0322e5de9fdf.js +2 -0
  187. package/assets/esri/core/workers/chunks/f219ba010c480bb75684.js +1 -0
  188. package/assets/esri/core/workers/chunks/f331c24247d132589859.js +1 -0
  189. package/assets/esri/core/workers/chunks/fbf2d90240d36f8b423f.js +1 -0
  190. package/assets/esri/core/workers/chunks/{4ee99e654dad6f09abee.js → fc042b9936686785c39e.js} +1 -1
  191. package/assets/esri/core/workers/chunks/fc1658eae7b312502fab.js +1 -0
  192. package/assets/esri/core/workers/chunks/{1ab8307ba9981124f669.js → fd4d124c5bf810d9e352.js} +1 -1
  193. package/assets/esri/core/workers/chunks/ffa35ecc681ec1c4739a.js +1 -0
  194. package/assets/esri/core/workers/chunks/ffca0b2333e760b66d3a.js +1 -0
  195. package/chunks/{GlowBlur.glsl.js → BlurEmission.glsl.js} +1 -1
  196. package/chunks/EmissionComposite.glsl.js +3 -3
  197. package/chunks/Fog.glsl.js +5 -3
  198. package/chunks/RibbonLine.glsl.js +52 -52
  199. package/config.js +1 -1
  200. package/core/timeUtils.d.ts +62 -0
  201. package/core/timeUtils.js +1 -1
  202. package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
  203. package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
  204. package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
  205. package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
  206. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  207. package/editing/sharedTemplates/executor/support/createPresetServiceEdit.js +1 -1
  208. package/geometry/Polygon.js +1 -1
  209. package/geometry/geometryEngine.d.ts +36 -36
  210. package/geometry/operators/affineTransformOperator.d.ts +30 -1
  211. package/geometry/operators/affineTransformOperator.js +1 -1
  212. package/geometry/operators/alphaShapeOperator.d.ts +49 -5
  213. package/geometry/operators/alphaShapeOperator.js +1 -1
  214. package/geometry/operators/areaOperator.d.ts +28 -4
  215. package/geometry/operators/areaOperator.js +1 -1
  216. package/geometry/operators/autoCompleteOperator.d.ts +25 -2
  217. package/geometry/operators/autoCompleteOperator.js +1 -1
  218. package/geometry/operators/boundaryOperator.d.ts +40 -2
  219. package/geometry/operators/boundaryOperator.js +1 -1
  220. package/geometry/operators/bufferOperator.d.ts +51 -6
  221. package/geometry/operators/bufferOperator.js +1 -1
  222. package/geometry/operators/centroidOperator.d.ts +23 -2
  223. package/geometry/operators/centroidOperator.js +1 -1
  224. package/geometry/operators/clipOperator.d.ts +34 -2
  225. package/geometry/operators/clipOperator.js +1 -1
  226. package/geometry/operators/containsOperator.d.ts +32 -2
  227. package/geometry/operators/containsOperator.js +1 -1
  228. package/geometry/operators/convexHullOperator.d.ts +47 -4
  229. package/geometry/operators/convexHullOperator.js +1 -1
  230. package/geometry/operators/crossesOperator.d.ts +35 -2
  231. package/geometry/operators/crossesOperator.js +1 -1
  232. package/geometry/operators/cutOperator.d.ts +23 -2
  233. package/geometry/operators/cutOperator.js +1 -1
  234. package/geometry/operators/densifyOperator.d.ts +61 -6
  235. package/geometry/operators/densifyOperator.js +1 -1
  236. package/geometry/operators/differenceOperator.d.ts +34 -2
  237. package/geometry/operators/differenceOperator.js +1 -1
  238. package/geometry/operators/disjointOperator.d.ts +33 -2
  239. package/geometry/operators/disjointOperator.js +1 -1
  240. package/geometry/operators/distanceOperator.d.ts +29 -4
  241. package/geometry/operators/distanceOperator.js +1 -1
  242. package/geometry/operators/equalsOperator.d.ts +32 -2
  243. package/geometry/operators/equalsOperator.js +1 -1
  244. package/geometry/operators/extendOperator.d.ts +29 -3
  245. package/geometry/operators/extendOperator.js +1 -1
  246. package/geometry/operators/generalizeOperator.d.ts +46 -5
  247. package/geometry/operators/generalizeOperator.js +1 -1
  248. package/geometry/operators/geodesicBufferOperator.d.ts +71 -7
  249. package/geometry/operators/geodesicBufferOperator.js +1 -1
  250. package/geometry/operators/geodesicProximityOperator.d.ts +106 -14
  251. package/geometry/operators/geodesicProximityOperator.js +1 -1
  252. package/geometry/operators/geodeticAreaOperator.d.ts +51 -5
  253. package/geometry/operators/geodeticAreaOperator.js +1 -1
  254. package/geometry/operators/geodeticDensifyOperator.d.ts +65 -6
  255. package/geometry/operators/geodeticDensifyOperator.js +1 -1
  256. package/geometry/operators/geodeticDistanceOperator.d.ts +52 -5
  257. package/geometry/operators/geodeticDistanceOperator.js +1 -1
  258. package/geometry/operators/geodeticLengthOperator.d.ts +51 -5
  259. package/geometry/operators/geodeticLengthOperator.js +1 -1
  260. package/geometry/operators/geodeticUtilsOperator.d.ts +79 -9
  261. package/geometry/operators/geodeticUtilsOperator.js +1 -1
  262. package/geometry/operators/graphicBufferOperator.d.ts +47 -4
  263. package/geometry/operators/graphicBufferOperator.js +1 -1
  264. package/geometry/operators/integrateOperator.d.ts +24 -2
  265. package/geometry/operators/integrateOperator.js +1 -1
  266. package/geometry/operators/intersectionOperator.d.ts +88 -3
  267. package/geometry/operators/intersectionOperator.js +1 -1
  268. package/geometry/operators/intersectsOperator.d.ts +32 -2
  269. package/geometry/operators/intersectsOperator.js +1 -1
  270. package/geometry/operators/isNearOperator.d.ts +31 -4
  271. package/geometry/operators/isNearOperator.js +1 -1
  272. package/geometry/operators/json/bufferOperator.js +1 -1
  273. package/geometry/operators/json/containsOperator.js +1 -1
  274. package/geometry/operators/json/convexHullOperator.js +1 -1
  275. package/geometry/operators/json/crossesOperator.js +1 -1
  276. package/geometry/operators/json/disjointOperator.js +1 -1
  277. package/geometry/operators/json/generalizeOperator.js +1 -1
  278. package/geometry/operators/json/geodesicBufferOperator.js +1 -1
  279. package/geometry/operators/json/graphicBufferOperator.js +1 -1
  280. package/geometry/operators/json/intersectionOperator.js +1 -1
  281. package/geometry/operators/json/intersectsOperator.js +1 -1
  282. package/geometry/operators/json/lengthOperator.js +1 -1
  283. package/geometry/operators/json/offsetOperator.js +1 -1
  284. package/geometry/operators/json/overlapsOperator.js +1 -1
  285. package/geometry/operators/json/projectOperator.js +1 -1
  286. package/geometry/operators/json/simplifyOperator.js +1 -1
  287. package/geometry/operators/json/simplifyOperatorOGC.js +1 -1
  288. package/geometry/operators/json/touchesOperator.js +1 -1
  289. package/geometry/operators/json/unionOperator.js +1 -1
  290. package/geometry/operators/json/withinOperator.js +1 -1
  291. package/geometry/operators/labelPointOperator.d.ts +32 -2
  292. package/geometry/operators/labelPointOperator.js +1 -1
  293. package/geometry/operators/lengthOperator.d.ts +28 -4
  294. package/geometry/operators/lengthOperator.js +1 -1
  295. package/geometry/operators/linesToPolygonsOperator.d.ts +23 -2
  296. package/geometry/operators/linesToPolygonsOperator.js +1 -1
  297. package/geometry/operators/locateBetweenOperator.d.ts +28 -2
  298. package/geometry/operators/locateBetweenOperator.js +1 -1
  299. package/geometry/operators/minimumBoundingCircleOperator.d.ts +38 -4
  300. package/geometry/operators/minimumBoundingCircleOperator.js +1 -1
  301. package/geometry/operators/multiPartToSinglePartOperator.d.ts +33 -4
  302. package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
  303. package/geometry/operators/offsetOperator.d.ts +50 -5
  304. package/geometry/operators/offsetOperator.js +1 -1
  305. package/geometry/operators/overlapsOperator.d.ts +33 -2
  306. package/geometry/operators/overlapsOperator.js +1 -1
  307. package/geometry/operators/polygonOverlayOperator.d.ts +31 -5
  308. package/geometry/operators/polygonOverlayOperator.js +1 -1
  309. package/geometry/operators/polygonSlicerOperator.d.ts +72 -10
  310. package/geometry/operators/polygonSlicerOperator.js +1 -1
  311. package/geometry/operators/projectOperator.d.ts +63 -3
  312. package/geometry/operators/projectOperator.js +1 -1
  313. package/geometry/operators/proximityOperator.d.ts +71 -9
  314. package/geometry/operators/proximityOperator.js +1 -1
  315. package/geometry/operators/relateOperator.d.ts +41 -2
  316. package/geometry/operators/relateOperator.js +1 -1
  317. package/geometry/operators/reshapeOperator.d.ts +28 -2
  318. package/geometry/operators/reshapeOperator.js +1 -1
  319. package/geometry/operators/shapePreservingProjectOperator.d.ts +64 -6
  320. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  321. package/geometry/operators/simplifyOGCOperator.d.ts +72 -6
  322. package/geometry/operators/simplifyOGCOperator.js +1 -1
  323. package/geometry/operators/simplifyOperator.d.ts +72 -4
  324. package/geometry/operators/simplifyOperator.js +1 -1
  325. package/geometry/operators/singlePartToMultiPartOperator.js +1 -1
  326. package/geometry/operators/support/Transformation.d.ts +17 -11
  327. package/geometry/operators/support/jsonConverter.js +1 -1
  328. package/geometry/operators/symmetricDifferenceOperator.d.ts +33 -2
  329. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  330. package/geometry/operators/touchesOperator.d.ts +32 -2
  331. package/geometry/operators/touchesOperator.js +1 -1
  332. package/geometry/operators/types.d.ts +4 -1
  333. package/geometry/operators/unionOperator.d.ts +33 -2
  334. package/geometry/operators/unionOperator.js +1 -1
  335. package/geometry/operators/withinOperator.d.ts +32 -2
  336. package/geometry/operators/withinOperator.js +1 -1
  337. package/geometry/projectionUtils.js +1 -1
  338. package/geometry/support/geometryUtils.js +1 -1
  339. package/geometry/support/normalizeUtils.d.ts +5 -3
  340. package/geometry/support/normalizeUtils.js +1 -1
  341. package/interfaces.d.ts +202 -202
  342. package/kernel.js +1 -1
  343. package/layers/AnnotationFeatureLayer.d.ts +0 -1
  344. package/layers/graphics/data/QueryEngineResult.js +1 -1
  345. package/layers/graphics/data/queryUtils.js +1 -1
  346. package/layers/graphics/data/spatialQuerySupport.js +1 -1
  347. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  348. package/layers/mixins/ArcGISImageService.js +1 -1
  349. package/layers/mixins/TiledImagery.js +1 -1
  350. package/layers/orientedImagery/transformations/updateElevationUtils.js +1 -1
  351. package/layers/raster/datasets/FunctionRaster.js +1 -1
  352. package/layers/raster/datasets/pixelReader.js +1 -1
  353. package/layers/raster/functions/clipUtils.js +1 -1
  354. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  355. package/layers/support/Sublayer.js +1 -1
  356. package/layers/video/videoUtils.js +1 -1
  357. package/package.json +4 -4
  358. package/popup/FeatureContentCollection.d.ts +3 -3
  359. package/popup/FeatureContentCollection.js +1 -1
  360. package/rest/imageService/fetchRasterInfo.js +1 -1
  361. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  362. package/support/revision.js +1 -1
  363. package/support/tests/serviceMockDependencies.js +1 -1
  364. package/support/tests/setupServiceMocksMesh.js +1 -1
  365. package/symbols/cim/CIMEffects.js +1 -1
  366. package/symbols/cim/effects/EffectBuffer.js +1 -1
  367. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  368. package/symbols/cim/effects/EffectDonut.js +1 -1
  369. package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
  370. package/symbols/cim/effects/EffectOffset.js +1 -1
  371. package/symbols/cim/effects/EffectTaperedPolygon.js +1 -1
  372. package/symbols/cim/types.d.ts +2 -1
  373. package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
  374. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementController.js +1 -1
  375. package/views/2d/engine/webgl/Overlay.js +1 -1
  376. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  377. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  378. package/views/2d/layers/TileLayerView2D.js +1 -1
  379. package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
  380. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  381. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
  382. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  383. package/views/3d/layers/ElevationLayerView3DModifications.js +1 -1
  384. package/views/3d/layers/I3SMeshView3D.js +1 -1
  385. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  386. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  387. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  388. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  389. package/views/3d/state/ViewStateManager.js +1 -1
  390. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  391. package/views/3d/webgl/RenderCamera.js +1 -1
  392. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -5
  393. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  394. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  395. package/views/3d/webgl-engine/effects/fog/FogTechnique.js +1 -1
  396. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  397. package/views/3d/webgl-engine/effects/glow/{GlowBlur.glsl.js → BlurEmission.glsl.js} +1 -1
  398. package/views/3d/webgl-engine/effects/glow/BlurEmission.js +2 -0
  399. package/views/3d/webgl-engine/effects/glow/BlurEmissionTechnique.js +2 -0
  400. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +37 -0
  401. package/views/3d/webgl-engine/lib/BufferGeometry.js +2 -0
  402. package/views/3d/webgl-engine/lib/EmissionComposite.glsl.js +1 -1
  403. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  404. package/views/3d/webgl-engine/lib/EmissionCompositeTechnique.js +1 -1
  405. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  406. package/views/3d/webgl-engine/lib/GeometryBaseInstance.js +1 -1
  407. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  408. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  409. package/views/3d/webgl-engine/lib/rendererUtils.js +1 -1
  410. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  411. package/views/3d/webgl-engine/materials/renderers/Instance.js +1 -1
  412. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
  413. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  414. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  415. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  416. package/views/3d/webgl-engine/shaders/EmissiveTechniqueConfiguration.js +1 -1
  417. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  418. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  419. package/views/3d/webgl-engine/shaders/floatBlendScale.glsl.js +1 -1
  420. package/views/MapView.d.ts +3 -3
  421. package/views/SceneView.d.ts +1 -0
  422. package/views/SceneView.js +1 -1
  423. package/views/VideoView.js +1 -1
  424. package/views/View2D.d.ts +22 -22
  425. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  426. package/views/draw/DrawTool.js +1 -1
  427. package/views/draw/support/createUtils.js +1 -1
  428. package/views/layers/SceneLayerView.js +1 -1
  429. package/views/support/GeometryWorker.js +1 -1
  430. package/views/support/imageReprojection.js +1 -1
  431. package/views/video/VideoOperationalDataView.js +1 -1
  432. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  433. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  434. package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
  435. package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
  436. package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
  437. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  438. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  439. package/widgets/Editor/support/mergeFeaturesUtils.js +1 -1
  440. package/widgets/Editor/support/splitFeatureUtils.js +1 -1
  441. package/widgets/ElevationProfile/support/ElevationProfileView.js +1 -1
  442. package/widgets/ElevationProfile/support/InputRepresentation2D.js +1 -1
  443. package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
  444. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  445. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  446. package/widgets/Features/FeaturesViewModel.js +1 -1
  447. package/widgets/Features.js +1 -1
  448. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  449. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  450. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  451. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  452. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  453. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  454. package/widgets/OrientedImageryViewer/support/panConstraint.js +1 -1
  455. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  456. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  457. package/widgets/Print.js +1 -1
  458. package/widgets/Search/SearchViewModel.js +1 -1
  459. package/widgets/Search/support/layerSearchUtils.js +1 -1
  460. package/widgets/Search/support/locatorUtils.js +1 -1
  461. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  462. package/widgets/support/FilterBuilder/FilterBuilderViewModel.d.ts +104 -0
  463. package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +1 -1
  464. package/widgets/support/FilterBuilder.js +1 -1
  465. package/widgets/support/FilterCondition/FilterConditionViewModel.d.ts +145 -0
  466. package/widgets/support/FilterCondition/FilterConditionViewModel.js +1 -1
  467. package/widgets/support/FilterCondition/types.d.ts +20 -0
  468. package/widgets/support/ItemList.js +1 -1
  469. package/widgets/support/SelectionList/FeatureItem.d.ts +17 -68
  470. package/widgets/support/SelectionList/FeatureItem.js +1 -1
  471. package/widgets/support/SelectionList/GroupLayerItem.d.ts +12 -50
  472. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  473. package/widgets/support/SelectionList/ItemBase.d.ts +14 -44
  474. package/widgets/support/SelectionList/ItemBase.js +1 -1
  475. package/widgets/support/SelectionList/LayerItem.d.ts +10 -56
  476. package/widgets/support/SelectionList/LayerItem.js +1 -1
  477. package/widgets/support/SelectionList/types.d.ts +4 -4
  478. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  479. package/assets/esri/core/workers/chunks/0336f4f8498a22347720.js +0 -1
  480. package/assets/esri/core/workers/chunks/090ea7a131f8f60203ed.js +0 -1
  481. package/assets/esri/core/workers/chunks/0b4a7209b99227a842ad.js +0 -1
  482. package/assets/esri/core/workers/chunks/0be98adfef79fc5036f0.js +0 -1
  483. package/assets/esri/core/workers/chunks/0d2e2d90a4e4a28e2c0c.js +0 -1
  484. package/assets/esri/core/workers/chunks/0d7763d39a5a8586a0ae.js +0 -1
  485. package/assets/esri/core/workers/chunks/0d95f72e1c07ab867d21.js +0 -1
  486. package/assets/esri/core/workers/chunks/0dbbac7a2378728571a7.js +0 -1
  487. package/assets/esri/core/workers/chunks/104d74bc36c28c519396.js +0 -1
  488. package/assets/esri/core/workers/chunks/1554feab934e8e1bcd28.js +0 -1
  489. package/assets/esri/core/workers/chunks/1670e9867efde4d7a6d6.js +0 -1
  490. package/assets/esri/core/workers/chunks/188c6ff5f4664827c254.js +0 -2
  491. package/assets/esri/core/workers/chunks/19ab024f6f732fd6c69b.js +0 -1
  492. package/assets/esri/core/workers/chunks/1e192ac0533a5c0b5a7a.js +0 -1
  493. package/assets/esri/core/workers/chunks/1fe077f57a087c0e9119.js +0 -1
  494. package/assets/esri/core/workers/chunks/20f7b5fe64a217cb3d3d.js +0 -1
  495. package/assets/esri/core/workers/chunks/212222b64039d436b9a6.js +0 -1
  496. package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +0 -1
  497. package/assets/esri/core/workers/chunks/24944b625ed8dcd904f0.js +0 -1
  498. package/assets/esri/core/workers/chunks/24c44541046576fee7e0.js +0 -2
  499. package/assets/esri/core/workers/chunks/2754ba5cc094028a7a3c.js +0 -1
  500. package/assets/esri/core/workers/chunks/2bc3e7f394386fa75447.js +0 -1
  501. package/assets/esri/core/workers/chunks/2ec44ebc48beeba11201.js +0 -1
  502. package/assets/esri/core/workers/chunks/30af0f7c4cfa541c9efd.js +0 -1
  503. package/assets/esri/core/workers/chunks/30d816bdeea00f6fa1ca.js +0 -1
  504. package/assets/esri/core/workers/chunks/349b0c7febc46267441d.js +0 -1684
  505. package/assets/esri/core/workers/chunks/35d46c2f658a8e92d913.js +0 -1
  506. package/assets/esri/core/workers/chunks/3869dca884d7ca6488f5.js +0 -1
  507. package/assets/esri/core/workers/chunks/3a65693964e3976d8035.js +0 -1
  508. package/assets/esri/core/workers/chunks/3f5234120d3a14186c1c.js +0 -1
  509. package/assets/esri/core/workers/chunks/45c1c90ac6c14657f3ff.js +0 -1
  510. package/assets/esri/core/workers/chunks/48726010778d6004e347.js +0 -2
  511. package/assets/esri/core/workers/chunks/4a40b894ec89b0a4f9bf.js +0 -1
  512. package/assets/esri/core/workers/chunks/5165d367328ac7badf47.js +0 -1
  513. package/assets/esri/core/workers/chunks/545bec045167c433af8f.js +0 -1
  514. package/assets/esri/core/workers/chunks/5782c0362a1799ceef41.js +0 -1
  515. package/assets/esri/core/workers/chunks/59598023c0aea62a6297.js +0 -1
  516. package/assets/esri/core/workers/chunks/59f0a2bd40b033ce77e4.js +0 -1
  517. package/assets/esri/core/workers/chunks/5aa23b0f4521ba9a07ad.js +0 -1
  518. package/assets/esri/core/workers/chunks/5af16937904c06fb06f6.js +0 -1
  519. package/assets/esri/core/workers/chunks/5bf2ce280ea35ea4c96b.js +0 -1
  520. package/assets/esri/core/workers/chunks/607acd9f615f87e14075.js +0 -1
  521. package/assets/esri/core/workers/chunks/62ee6c247f783acabb74.js +0 -1
  522. package/assets/esri/core/workers/chunks/6564f17c4700dc8d9c0e.js +0 -2
  523. package/assets/esri/core/workers/chunks/6a2d890640b2cd6c5ccb.js +0 -1
  524. package/assets/esri/core/workers/chunks/6b84982dfaf084a61b93.js +0 -1
  525. package/assets/esri/core/workers/chunks/6b9dbf43c0659e55c539.js +0 -1
  526. package/assets/esri/core/workers/chunks/6cbc30b31f0bb39c73ca.js +0 -1
  527. package/assets/esri/core/workers/chunks/75b90fb05e4a2d32b7bb.js +0 -1
  528. package/assets/esri/core/workers/chunks/75bddfe2be64379db8fd.js +0 -1
  529. package/assets/esri/core/workers/chunks/76e7d3cde2da4bdd7820.js +0 -1
  530. package/assets/esri/core/workers/chunks/7cf903db44f3647c8fd4.js +0 -1
  531. package/assets/esri/core/workers/chunks/7e41cee4a0ae75e1490d.js +0 -1
  532. package/assets/esri/core/workers/chunks/7eae9053065d3d38e54e.js +0 -1
  533. package/assets/esri/core/workers/chunks/87e9f7e85221bc7e6709.js +0 -1
  534. package/assets/esri/core/workers/chunks/88f03352a4dc6184ea1f.js +0 -1
  535. package/assets/esri/core/workers/chunks/909ee7d2a0eec773037a.js +0 -1
  536. package/assets/esri/core/workers/chunks/91ac9328afff8a51bd96.js +0 -1
  537. package/assets/esri/core/workers/chunks/91de343844ac578e7c93.js +0 -1
  538. package/assets/esri/core/workers/chunks/9246e2468528650bdc7c.js +0 -1
  539. package/assets/esri/core/workers/chunks/94ddfe165ac25aef8229.js +0 -1
  540. package/assets/esri/core/workers/chunks/9509bef285929c52c244.js +0 -1
  541. package/assets/esri/core/workers/chunks/95a3f09751bff63f4fab.js +0 -1
  542. package/assets/esri/core/workers/chunks/98d614d6fc9de8ebaf94.js +0 -1
  543. package/assets/esri/core/workers/chunks/99966339b061eb9945b8.js +0 -1
  544. package/assets/esri/core/workers/chunks/99f627938dbf0152fc02.js +0 -1
  545. package/assets/esri/core/workers/chunks/9e2b3754a76e0dd4a94a.js +0 -1
  546. package/assets/esri/core/workers/chunks/a0565137027c83108953.js +0 -1
  547. package/assets/esri/core/workers/chunks/a0eb882a5a81d25b9153.js +0 -1
  548. package/assets/esri/core/workers/chunks/a785e827f0215a73103d.js +0 -1
  549. package/assets/esri/core/workers/chunks/abe7670db06b27c0c8c8.js +0 -1
  550. package/assets/esri/core/workers/chunks/b19cff0e43fab2632660.js +0 -1
  551. package/assets/esri/core/workers/chunks/b6af90be328ebda26b8d.js +0 -1
  552. package/assets/esri/core/workers/chunks/bd7d87d175ba933ab2ce.js +0 -1
  553. package/assets/esri/core/workers/chunks/bdfffa5f88b559a4b42d.js +0 -1
  554. package/assets/esri/core/workers/chunks/c30b6bbabd05e4976fba.js +0 -1
  555. package/assets/esri/core/workers/chunks/c352696478b48a2090d5.js +0 -1
  556. package/assets/esri/core/workers/chunks/c35553d07ad169910742.js +0 -1
  557. package/assets/esri/core/workers/chunks/c4fef90cf08bbe4f0bb5.js +0 -1
  558. package/assets/esri/core/workers/chunks/c5c2fed38e0ccf84f1fa.js +0 -1
  559. package/assets/esri/core/workers/chunks/c88bfa51d2a8a024fc24.js +0 -1
  560. package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +0 -1
  561. package/assets/esri/core/workers/chunks/ca36d85a47179d95f2fc.js +0 -1
  562. package/assets/esri/core/workers/chunks/cd02a6078443b8f63927.js +0 -1
  563. package/assets/esri/core/workers/chunks/d0cf9ff48f051adbd455.js +0 -1
  564. package/assets/esri/core/workers/chunks/d1304d414b1fa725168a.js +0 -1
  565. package/assets/esri/core/workers/chunks/d24125a791247019e2ca.js +0 -1
  566. package/assets/esri/core/workers/chunks/d26be8313526ecea9c68.js +0 -1
  567. package/assets/esri/core/workers/chunks/d2cb3d5ef0a9285afb78.js +0 -1
  568. package/assets/esri/core/workers/chunks/d44338bf5edafa3ca926.js +0 -1
  569. package/assets/esri/core/workers/chunks/d4b0012ae1d3b8a9ba01.js +0 -1
  570. package/assets/esri/core/workers/chunks/d58d6b55b2749a535eb3.js +0 -1
  571. package/assets/esri/core/workers/chunks/d7d5275d8b3c9430de1f.js +0 -1
  572. package/assets/esri/core/workers/chunks/da8a314800944706511b.js +0 -1
  573. package/assets/esri/core/workers/chunks/e018cbd97e6e0e4ca5c4.js +0 -1
  574. package/assets/esri/core/workers/chunks/e39bccc000c768120a32.js +0 -1
  575. package/assets/esri/core/workers/chunks/e4380706b629729f2212.js +0 -1
  576. package/assets/esri/core/workers/chunks/e90076ac1cf88a83a7f9.js +0 -1
  577. package/assets/esri/core/workers/chunks/ea1877ce00da3b585a30.js +0 -1
  578. package/assets/esri/core/workers/chunks/ea91c57a0b31f3f65ee5.js +0 -1
  579. package/assets/esri/core/workers/chunks/ec77222776f755dc372c.js +0 -1
  580. package/assets/esri/core/workers/chunks/ef851a2cff76fd211c07.js +0 -1
  581. package/assets/esri/core/workers/chunks/f3e53be08ab9dbdf17ae.js +0 -1
  582. package/assets/esri/core/workers/chunks/f53010adb70463b75bb9.js +0 -1
  583. package/assets/esri/core/workers/chunks/f5a058a0ce006bce2a2a.js +0 -1
  584. package/assets/esri/core/workers/chunks/f5f5b54cab722abe88e0.js +0 -1
  585. package/assets/esri/core/workers/chunks/f60ed579981913d44675.js +0 -1
  586. package/assets/esri/core/workers/chunks/f6f56f3e011dcef90bbb.js +0 -1
  587. package/assets/esri/core/workers/chunks/f83c3597e9332bd991eb.js +0 -1
  588. package/assets/esri/core/workers/chunks/f9a4387f850d85c44ca5.js +0 -1
  589. package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +0 -1
  590. package/assets/esri/core/workers/chunks/fdd0e6d9927d3c43b0d3.js +0 -1
  591. package/assets/esri/core/workers/chunks/ff83d0337ac489ab08de.js +0 -2
  592. package/chunks/GlowComposite.glsl.js +0 -2
  593. package/geometry/operators/importUtils.js +0 -2
  594. package/views/3d/webgl-engine/effects/glow/Glow.js +0 -2
  595. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +0 -2
  596. package/views/3d/webgl-engine/effects/glow/GlowComposite.glsl.js +0 -2
  597. package/views/3d/webgl-engine/effects/glow/GlowCompositeTechnique.js +0 -2
  598. package/views/3d/webgl-engine/effects/glow/blurEmission.glsl.js +0 -38
  599. /package/assets/esri/core/workers/chunks/{188c6ff5f4664827c254.js.LICENSE.txt → 1082bb0858585bd4fa21.js.LICENSE.txt} +0 -0
  600. /package/assets/esri/core/workers/chunks/{24c44541046576fee7e0.js.LICENSE.txt → 2e2349387a2b9903f13c.js.LICENSE.txt} +0 -0
  601. /package/assets/esri/core/workers/chunks/{ff83d0337ac489ab08de.js.LICENSE.txt → 411bbdecba340df11d95.js.LICENSE.txt} +0 -0
  602. /package/assets/esri/core/workers/chunks/{a89dbef8155d7c4354da.js.LICENSE.txt → 476535cfb06ced74d611.js.LICENSE.txt} +0 -0
  603. /package/assets/esri/core/workers/chunks/{6564f17c4700dc8d9c0e.js.LICENSE.txt → b82b523b6837ed1f28d3.js.LICENSE.txt} +0 -0
  604. /package/assets/esri/core/workers/chunks/{48726010778d6004e347.js.LICENSE.txt → ef24fd6c0322e5de9fdf.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../Color.js";import i from"../Viewpoint.js";import s from"../core/Accessor.js";import{EventedMixin as o}from"../core/Evented.js";import{destroyMaybe as r}from"../core/maybe.js";import{EsriPromiseMixin as a}from"../core/Promise.js";import{watch as n,syncAndInitial as p,whenOnce as l,when as h}from"../core/reactiveUtils.js";import{property as d,cast as m,subclass as c}from"../core/accessorSupport/decorators.js";import{ensureClass as g}from"../core/accessorSupport/ensureType.js";import{create as y,fromValues as u}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import f from"../geometry/Extent.js";import w from"../geometry/Point.js";import v from"../geometry/SpatialReference.js";import{load as j,execute as _}from"../geometry/operators/projectOperator.js";import b from"../layers/support/ExtentAndRotationGeoreference.js";import{MediaElementView as C}from"../layers/support/MediaElementView.js";import S from"../layers/support/TileInfo.js";import V from"../layers/support/VideoElement.js";import{DOMContainer as M}from"./DOMContainer.js";import{Viewport2DBaseMixin as x}from"./Viewport2DBaseMixin.js";import{Viewport2DMixin as R}from"./Viewport2DMixin.js";import D from"./2d/AnimationManager.js";import z from"./2d/MapViewConstraints.js";import"./2d/engine/Stage.js";import"../core/libs/gl-matrix-2/factories/vec4f32.js";import"../core/RandomLCG.js";import"../core/has.js";import"../core/Logger.js";import"./2d/engine/transitions/FadeTransition.js";import"./webgl/BufferObject.js";import"./webgl/FramebufferObject.js";import"./webgl/Program.js";import"./webgl/Renderbuffer.js";import"./webgl/Texture.js";import"./webgl/enums.js";import"./webgl/Util.js";import"./2d/engine/webgl/meshing/definitions.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"./2d/LabelManager.js";import"./2d/layers/graphics/GraphicsView2D.js";import"../core/Collection.js";import"../core/mathUtils.js";import"../core/units.js";import"../geometry/Geometry.js";import"../geometry/ellipsoidUtils.js";import"../geometry/Multipoint.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/spatialReferenceEllipsoidUtils.js";import"../geometry/operators/support/GeographicTransformation.js";import"../geometry/projection/projectors.js";import"../geometry/support/spatialReferenceUtils.js";import"../geometry/support/normalizeUtils.js";import{Container as P}from"./2d/engine/Container.js";import"./2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"./2d/engine/webgl/AFeatureTile.js";import"./2d/engine/webgl/DisplayEntity.js";import"../core/libs/gl-matrix-2/factories/vec2f32.js";import"./2d/engine/webgl/number.js";import"./2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"./2d/engine/webgl/cpuMapped/GpuMeshState.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/Tile.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/TileInfo.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js";import"./2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../core/libs/gl-matrix-2/factories/vec3f32.js";import"./2d/layers/support/util.js";import T from"./2d/navigation/MapViewNavigation.js";import"../request.js";import"../core/asyncUtils.js";import"../core/support/UpdatingHandles.js";import"../core/urlUtils.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../geometry/support/geodesicConstants.js";import"../geometry/support/Ellipsoid.js";import{ViewStateManager as G}from"./2d/ViewStateManager.js";import E from"./2d/engine/webgl/Overlay.js";import O from"./2d/engine/webgl/OverlayContainer.js";import q from"./navigation/Navigation.js";import U from"./ui/DefaultUI.js";import H from"./ui/video/DefaultUIVideo.js";const F=new t("#000");let I;async function k(){const[,{ParentStage:e}]=await Promise.all([import("./2d/webglDeps.js"),import("./2d/mapViewDeps.js")]);I=e}const A=.01,L=["feature","geojson","csv","stream","ogc-feature","catalog","wfs","parquet","graphics","group"];let N=class extends(R(x(M(o(a(s)))))){constructor(e){super(e),this._isValid=!1,this._readyCycleForced=!1,this._prevZoomEnabled=!1,this._prevRotationEnabled=!1,this.stage=null,this.childStage=null,this._operationalDataView=null,this.operationalDataVisible=!1,this.map=null,this.navigation=new q,this.ready=!1,this.spatialReference=new v({wkid:0}),this.stateManager=new G({constraints:new z({view:this,minScale:1,maxScale:A})}),this.type="2d",this.ui=new H,this.view2dType="video",this.addHandles([n(()=>this.preconditionsReady,e=>e?this._startup():this._teardown()),n(()=>this.videoSize,([e,t])=>{this._extent&&e&&t&&(this._extent.xmax=e,this._extent.ymax=t)}),n(()=>this.size,e=>{this._operationalDataView&&this._operationalDataView.stateManager.resize(e[0],e[1])}),n(()=>[this.layer?.frameEffect,this._effectsContainer],()=>{this._effectsContainer&&(this._effectsContainer.effect=this.layer?.frameEffect??null)},p)])}initialize(){this._prevZoomEnabled="zoom"===this.navigation.actionMap.mouseWheel&&this.ui.components.includes("zoom"),this._prevRotationEnabled="rotate"===this.navigation.actionMap.dragSecondary&&this.ui.components.includes("compass"),this.addHandles([n(()=>[this.operationalDataVisible,this.childStage],()=>{this.childStage&&(this.childStage.videoScreenRenderer.visible=this.operationalDataVisible),this.operationalDataVisible&&(this.scale=1,this.rotation=0),this.navigation&&(this._prevZoomEnabled&&(this.navigation.actionMap.mouseWheel=this.operationalDataVisible?"none":"zoom",this.navigation.actionMap.dragPrimary=this.operationalDataVisible?"none":"pan",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"zoom"!==e):[...new Set([...this.ui.components,"zoom"])])),this._prevRotationEnabled&&(this.navigation.actionMap.dragSecondary=this.operationalDataVisible?"none":"rotate",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"compass"!==e):[...new Set([...this.ui.components,"compass"])])))},p)]),this.addResolvingPromise(k().then(()=>(this._isValid=!0,l(()=>this.ready))))}destroy(){this._teardown(),this.removeAllHandles(),this._set("preconditionsReady",!1),this.frameTask=r(this.frameTask),this.goToManager.destroy(),this.inputManager.destroy(),this._set("inputManager",null)}get constraintsInfo(){return{lods:null,spatialReference:this.spatialReference}}get layer(){return this._get("layer")}set layer(e){e!==this._get("layer")&&(this.constructed&&!this.destroyed&&(this._forceReadyCycle(),this.addResolvingPromise(l(()=>this.ready))),this._set("layer",e))}get preconditionsReady(){return!(!this._isValid||this._readyCycleForced||0===this.width||0===this.height||0===this.videoSize[0]||0===this.videoSize[1])}get rendering(){return this.stage?.renderRequested??!1}get scale(){return this.stateManager?.scale??0}set scale(e){this.stateManager&&(this.stateManager.scale=e)}get videoSize(){if(!this.layer?.videoWidth||!this.layer?.videoHeight)return[0,0];const[e,t]=this.size,i=(this.layer?.videoWidth||0)/(this.layer?.videoHeight||0),s=t*i,o=e/i;return e/t>=1?i>=1?s<=e?[s,t]:[e,o]:o<=t?[e,o]:[s,t]:i>=1?o<=t?[e,o]:[s,t]:s<=e?[s,t]:[e,o]}async hitTest(e,t){if(!this._operationalDataView||!this._operationalDataView.ready)return{screenPoint:e,results:[]};const i=this._operationalDataView.videoToMap(e);if(!i)return{screenPoint:e,results:[]};const s=this._operationalDataView.state.toScreen(y(),i);return this._operationalDataView.hitTest({x:s[0],y:s[1]},t)}_startup(){if(!this.layer)return;const e=this._getViewpoint();this.stateManager.startup(e,this.size,e.targetGeometry.spatialReference);const t={renderingOptions:this.renderingOptions,backgroundColor:F,groundControlPoints:()=>this._groundControlPoints(),getSize:()=>this.videoSize},i=new I(this._getOrCreateRenderCanvas(),t);this.stage=i,this._prepareStage(this.stage),this.childStage=i.childStage,this._prepareChildStage(this.childStage);const s=new D({view:this});this._set("animationManager",s);const o=new T({view:this,animationManager:s});this._set("mapViewNavigation",o),this._updateConstraints(),this.frameTask.start(),this._set("ready",!0)}_teardown(){this.frameTask?.stop(),this.stationaryManager?.clear(),this.stage?.destroy(),this.stage=null,this._videoElementView=null,this._overlayContainer?.removeAllChildren(),this._overlayContainer=null,this.removeHandles("video-view"),this._set("ready",!1),this.stateManager?.ready&&this.stateManager.teardown()}_getViewpoint(){return new i({targetGeometry:new w({x:this.videoSize[0]/2,y:this.videoSize[1]/2,spatialReference:this.spatialReference}),scale:1})}_prepareStage(e){this.addHandles([n(()=>this.stationary,t=>e.stationary=t,p),n(()=>this.state.id,()=>e.state=this.state,p),n(()=>this.renderingOptions,t=>e.renderingOptions=t,p)],"video-view"),this._extent=new f({xmin:0,ymin:0,xmax:this.videoSize[0],ymax:this.videoSize[1],spatialReference:{wkid:0}}),this._videoElementView=new C({element:new V({video:this.layer?.videoElement,georeference:new b({extent:this._extent}),autoplay:!1}),spatialReference:this.spatialReference});const t=new E(this._videoElementView);this._overlayContainer=new O,this._overlayContainer.addChild(t),this._effectsContainer=new P,this._effectsContainer.addChild(this._overlayContainer),this.stage.addChild(this._effectsContainer);const i=document.createElement("div");i.classList.add("esri-video-poster"),this.container?.classList.add("esri-video-view"),this.container?.appendChild(i)}_prepareChildStage(e){this.addHandles([n(()=>this.map,async t=>{if(!t)return;const{default:i}=await(import("./video/VideoOperationalDataView.js"));this._operationalDataView=new i({stage:e,layerViewFilter:e=>new Set(L).has(e.type),width:this.size[0],height:this.size[1],map:t,groundControlPoints:()=>this._groundControlPoints(),getVideoResolution:()=>u(this.layer?.videoWidth||0,this.layer?.videoHeight||0),getSize:()=>this.size}),l(()=>this._operationalDataView?.ready).then(()=>{e.videoScreenRenderer.visible=this.operationalDataVisible})},p),n(()=>this.layer?.groundControlPoints,async()=>{if(!this.layer?.groundControlPoints||!e.state)return;const t=this.layer.groundControlPoints,i=t?.length;if(!i)return;await j();const s=new Array(i),o=e.state.spatialReference;for(let e=0;e<i;e++){const{lat:i,lon:r}=t[e];s[e]=_(new w(r,i),o)}let r=1/0,a=1/0,n=-1/0,p=-1/0;for(const e of s)r=Math.min(r,e.x),a=Math.min(a,e.y),n=Math.max(n,e.x),p=Math.max(p,e.y);const l=f.fromJSON({xmin:r,ymin:a,xmax:n,ymax:p,spatialReference:o});await(this._operationalDataView?.goTo(l,{animate:!1}).catch(()=>{}))},p)])}_updateConstraints(){this._updateZoomConstraints(),this._updatePanConstraints()}_updateZoomConstraints(){const e=this.videoSize,t=Math.max(e[0]/this.size[0],e[1]/this.size[1]),i=[];for(let o=t;o>A;o/=2)i.push(o);i.push(A);const{lods:s}=S.create({scales:i});this.constraints.set({lods:s,minScale:t})}_updatePanConstraints(){const e=e=>{if(!e.targetGeometry)return e;const[t,i]=this.videoSize,s=t*e.scale/2,o=i*e.scale/2,r=e.targetGeometry.clone();return r.x=Math.max(s,Math.min(t-s,r.x)),r.y=Math.max(o,Math.min(i-o,r.y)),e.targetGeometry=r,e};this.constraints.customConstraints.add({constrain:e,applyPanConstraint:e})}_forceReadyCycle(){this.ready&&(h(()=>this.destroyed||!1===this.preconditionsReady,()=>this._readyCycleForced=!1,{once:!0}),this._readyCycleForced=!0)}_groundControlPoints(){return this.layer?.groundControlPoints}};e([d()],N.prototype,"_overlayContainer",void 0),e([d()],N.prototype,"_isValid",void 0),e([d()],N.prototype,"_readyCycleForced",void 0),e([d()],N.prototype,"_effectsContainer",void 0),e([d()],N.prototype,"constraintsInfo",null),e([d()],N.prototype,"operationalDataVisible",void 0),e([d()],N.prototype,"layer",null),e([d()],N.prototype,"map",void 0),e([d({type:q,nonNullable:!0})],N.prototype,"navigation",void 0),e([d({readOnly:!0})],N.prototype,"preconditionsReady",null),e([d({readOnly:!0})],N.prototype,"ready",void 0),e([d({readOnly:!0})],N.prototype,"rendering",null),e([d()],N.prototype,"scale",null),e([d()],N.prototype,"spatialReference",void 0),e([d()],N.prototype,"stateManager",void 0),e([d()],N.prototype,"type",void 0),e([d(),m(e=>e instanceof U?e:g(H,e))],N.prototype,"ui",void 0),e([d({readOnly:!0})],N.prototype,"videoSize",null),e([d({readOnly:!0})],N.prototype,"view2dType",void 0),N=e([c("esri.views.VideoView")],N);const W=N;export{W as default};
2
+ import{__decorate as e}from"tslib";import t from"../Color.js";import i from"../Viewpoint.js";import s from"../core/Accessor.js";import{EventedMixin as o}from"../core/Evented.js";import{destroyMaybe as r}from"../core/maybe.js";import{EsriPromiseMixin as a}from"../core/Promise.js";import{watch as n,syncAndInitial as p,whenOnce as l,when as h}from"../core/reactiveUtils.js";import{property as d,cast as m,subclass as c}from"../core/accessorSupport/decorators.js";import{ensureClass as g}from"../core/accessorSupport/ensureType.js";import{create as y,fromValues as u}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import f from"../geometry/Extent.js";import w from"../geometry/Point.js";import v from"../geometry/SpatialReference.js";import{projectLoad as j,projectExecute as _}from"../geometry/operators/projectOperator.js";import b from"../layers/support/ExtentAndRotationGeoreference.js";import{MediaElementView as C}from"../layers/support/MediaElementView.js";import S from"../layers/support/TileInfo.js";import V from"../layers/support/VideoElement.js";import{DOMContainer as M}from"./DOMContainer.js";import{Viewport2DBaseMixin as x}from"./Viewport2DBaseMixin.js";import{Viewport2DMixin as R}from"./Viewport2DMixin.js";import D from"./2d/AnimationManager.js";import z from"./2d/MapViewConstraints.js";import"./2d/engine/Stage.js";import"../core/libs/gl-matrix-2/factories/vec4f32.js";import"../core/RandomLCG.js";import"../core/has.js";import"../core/Logger.js";import"./2d/engine/transitions/FadeTransition.js";import"./webgl/BufferObject.js";import"./webgl/FramebufferObject.js";import"./webgl/Program.js";import"./webgl/Renderbuffer.js";import"./webgl/Texture.js";import"./webgl/enums.js";import"./webgl/Util.js";import"./2d/engine/webgl/meshing/definitions.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"./2d/LabelManager.js";import"./2d/layers/graphics/GraphicsView2D.js";import"../core/Collection.js";import"../core/mathUtils.js";import"../core/units.js";import"../geometry/Geometry.js";import"../geometry/ellipsoidUtils.js";import"../geometry/Multipoint.js";import"../geometry/Polygon.js";import"../geometry/Polyline.js";import"../geometry/spatialReferenceEllipsoidUtils.js";import"../geometry/operators/support/GeographicTransformation.js";import"../geometry/projection/projectors.js";import"../geometry/support/spatialReferenceUtils.js";import"../geometry/support/normalizeUtils.js";import{Container as P}from"./2d/engine/Container.js";import"./2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"./2d/engine/webgl/AFeatureTile.js";import"./2d/engine/webgl/DisplayEntity.js";import"../core/libs/gl-matrix-2/factories/vec2f32.js";import"./2d/engine/webgl/number.js";import"./2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"./2d/engine/webgl/cpuMapped/GpuMeshState.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/Tile.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/TileInfo.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js";import"./2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../core/libs/gl-matrix-2/factories/vec3f32.js";import"./2d/layers/support/util.js";import T from"./2d/navigation/MapViewNavigation.js";import"../request.js";import"../core/asyncUtils.js";import"../core/support/UpdatingHandles.js";import"../core/urlUtils.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"./2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../geometry/support/geodesicConstants.js";import"../geometry/support/Ellipsoid.js";import{ViewStateManager as G}from"./2d/ViewStateManager.js";import E from"./2d/engine/webgl/Overlay.js";import O from"./2d/engine/webgl/OverlayContainer.js";import q from"./navigation/Navigation.js";import U from"./ui/DefaultUI.js";import H from"./ui/video/DefaultUIVideo.js";const F=new t("#000");let I;async function k(){const[,{ParentStage:e}]=await Promise.all([import("./2d/webglDeps.js"),import("./2d/mapViewDeps.js")]);I=e}const A=.01,L=["feature","geojson","csv","stream","ogc-feature","catalog","wfs","parquet","graphics","group"];let N=class extends(R(x(M(o(a(s)))))){constructor(e){super(e),this._isValid=!1,this._readyCycleForced=!1,this._prevZoomEnabled=!1,this._prevRotationEnabled=!1,this.stage=null,this.childStage=null,this._operationalDataView=null,this.operationalDataVisible=!1,this.map=null,this.navigation=new q,this.ready=!1,this.spatialReference=new v({wkid:0}),this.stateManager=new G({constraints:new z({view:this,minScale:1,maxScale:A})}),this.type="2d",this.ui=new H,this.view2dType="video",this.addHandles([n(()=>this.preconditionsReady,e=>e?this._startup():this._teardown()),n(()=>this.videoSize,([e,t])=>{this._extent&&e&&t&&(this._extent.xmax=e,this._extent.ymax=t)}),n(()=>this.size,e=>{this._operationalDataView&&this._operationalDataView.stateManager.resize(e[0],e[1])}),n(()=>[this.layer?.frameEffect,this._effectsContainer],()=>{this._effectsContainer&&(this._effectsContainer.effect=this.layer?.frameEffect??null)},p)])}initialize(){this._prevZoomEnabled="zoom"===this.navigation.actionMap.mouseWheel&&this.ui.components.includes("zoom"),this._prevRotationEnabled="rotate"===this.navigation.actionMap.dragSecondary&&this.ui.components.includes("compass"),this.addHandles([n(()=>[this.operationalDataVisible,this.childStage],()=>{this.childStage&&(this.childStage.videoScreenRenderer.visible=this.operationalDataVisible),this.operationalDataVisible&&(this.scale=1,this.rotation=0),this.navigation&&(this._prevZoomEnabled&&(this.navigation.actionMap.mouseWheel=this.operationalDataVisible?"none":"zoom",this.navigation.actionMap.dragPrimary=this.operationalDataVisible?"none":"pan",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"zoom"!==e):[...new Set([...this.ui.components,"zoom"])])),this._prevRotationEnabled&&(this.navigation.actionMap.dragSecondary=this.operationalDataVisible?"none":"rotate",this.ui.components&&(this.ui.components=this.operationalDataVisible?this.ui.components.filter(e=>"compass"!==e):[...new Set([...this.ui.components,"compass"])])))},p)]),this.addResolvingPromise(k().then(()=>(this._isValid=!0,l(()=>this.ready))))}destroy(){this._teardown(),this.removeAllHandles(),this._set("preconditionsReady",!1),this.frameTask=r(this.frameTask),this.goToManager.destroy(),this.inputManager.destroy(),this._set("inputManager",null)}get constraintsInfo(){return{lods:null,spatialReference:this.spatialReference}}get layer(){return this._get("layer")}set layer(e){e!==this._get("layer")&&(this.constructed&&!this.destroyed&&(this._forceReadyCycle(),this.addResolvingPromise(l(()=>this.ready))),this._set("layer",e))}get preconditionsReady(){return!(!this._isValid||this._readyCycleForced||0===this.width||0===this.height||0===this.videoSize[0]||0===this.videoSize[1])}get rendering(){return this.stage?.renderRequested??!1}get scale(){return this.stateManager?.scale??0}set scale(e){this.stateManager&&(this.stateManager.scale=e)}get videoSize(){if(!this.layer?.videoWidth||!this.layer?.videoHeight)return[0,0];const[e,t]=this.size,i=(this.layer?.videoWidth||0)/(this.layer?.videoHeight||0),s=t*i,o=e/i;return e/t>=1?i>=1?s<=e?[s,t]:[e,o]:o<=t?[e,o]:[s,t]:i>=1?o<=t?[e,o]:[s,t]:s<=e?[s,t]:[e,o]}async hitTest(e,t){if(!this._operationalDataView||!this._operationalDataView.ready)return{screenPoint:e,results:[]};const i=this._operationalDataView.videoToMap(e);if(!i)return{screenPoint:e,results:[]};const s=this._operationalDataView.state.toScreen(y(),i);return this._operationalDataView.hitTest({x:s[0],y:s[1]},t)}_startup(){if(!this.layer)return;const e=this._getViewpoint();this.stateManager.startup(e,this.size,e.targetGeometry.spatialReference);const t={renderingOptions:this.renderingOptions,backgroundColor:F,groundControlPoints:()=>this._groundControlPoints(),getSize:()=>this.videoSize},i=new I(this._getOrCreateRenderCanvas(),t);this.stage=i,this._prepareStage(this.stage),this.childStage=i.childStage,this._prepareChildStage(this.childStage);const s=new D({view:this});this._set("animationManager",s);const o=new T({view:this,animationManager:s});this._set("mapViewNavigation",o),this._updateConstraints(),this.frameTask.start(),this._set("ready",!0)}_teardown(){this.frameTask?.stop(),this.stationaryManager?.clear(),this.stage?.destroy(),this.stage=null,this._videoElementView=null,this._overlayContainer?.removeAllChildren(),this._overlayContainer=null,this.removeHandles("video-view"),this._set("ready",!1),this.stateManager?.ready&&this.stateManager.teardown()}_getViewpoint(){return new i({targetGeometry:new w({x:this.videoSize[0]/2,y:this.videoSize[1]/2,spatialReference:this.spatialReference}),scale:1})}_prepareStage(e){this.addHandles([n(()=>this.stationary,t=>e.stationary=t,p),n(()=>this.state.id,()=>e.state=this.state,p),n(()=>this.renderingOptions,t=>e.renderingOptions=t,p)],"video-view"),this._extent=new f({xmin:0,ymin:0,xmax:this.videoSize[0],ymax:this.videoSize[1],spatialReference:{wkid:0}}),this._videoElementView=new C({element:new V({video:this.layer?.videoElement,georeference:new b({extent:this._extent}),autoplay:!1}),spatialReference:this.spatialReference});const t=new E(this._videoElementView);this._overlayContainer=new O,this._overlayContainer.addChild(t),this._effectsContainer=new P,this._effectsContainer.addChild(this._overlayContainer),this.stage.addChild(this._effectsContainer);const i=document.createElement("div");i.classList.add("esri-video-poster"),this.container?.classList.add("esri-video-view"),this.container?.appendChild(i)}_prepareChildStage(e){this.addHandles([n(()=>this.map,async t=>{if(!t)return;const{default:i}=await(import("./video/VideoOperationalDataView.js"));this._operationalDataView=new i({stage:e,layerViewFilter:e=>new Set(L).has(e.type),width:this.size[0],height:this.size[1],map:t,groundControlPoints:()=>this._groundControlPoints(),getVideoResolution:()=>u(this.layer?.videoWidth||0,this.layer?.videoHeight||0),getSize:()=>this.size}),l(()=>this._operationalDataView?.ready).then(()=>{e.videoScreenRenderer.visible=this.operationalDataVisible})},p),n(()=>this.layer?.groundControlPoints,async()=>{if(!this.layer?.groundControlPoints||!e.state)return;const t=this.layer.groundControlPoints,i=t?.length;if(!i)return;await j();const s=new Array(i),o=e.state.spatialReference;for(let e=0;e<i;e++){const{lat:i,lon:r}=t[e];s[e]=_(new w(r,i),o)}let r=1/0,a=1/0,n=-1/0,p=-1/0;for(const e of s)r=Math.min(r,e.x),a=Math.min(a,e.y),n=Math.max(n,e.x),p=Math.max(p,e.y);const l=f.fromJSON({xmin:r,ymin:a,xmax:n,ymax:p,spatialReference:o});await(this._operationalDataView?.goTo(l,{animate:!1}).catch(()=>{}))},p)])}_updateConstraints(){this._updateZoomConstraints(),this._updatePanConstraints()}_updateZoomConstraints(){const e=this.videoSize,t=Math.max(e[0]/this.size[0],e[1]/this.size[1]),i=[];for(let o=t;o>A;o/=2)i.push(o);i.push(A);const{lods:s}=S.create({scales:i});this.constraints.set({lods:s,minScale:t})}_updatePanConstraints(){const e=e=>{if(!e.targetGeometry)return e;const[t,i]=this.videoSize,s=t*e.scale/2,o=i*e.scale/2,r=e.targetGeometry.clone();return r.x=Math.max(s,Math.min(t-s,r.x)),r.y=Math.max(o,Math.min(i-o,r.y)),e.targetGeometry=r,e};this.constraints.customConstraints.add({constrain:e,applyPanConstraint:e})}_forceReadyCycle(){this.ready&&(h(()=>this.destroyed||!1===this.preconditionsReady,()=>this._readyCycleForced=!1,{once:!0}),this._readyCycleForced=!0)}_groundControlPoints(){return this.layer?.groundControlPoints}};e([d()],N.prototype,"_overlayContainer",void 0),e([d()],N.prototype,"_isValid",void 0),e([d()],N.prototype,"_readyCycleForced",void 0),e([d()],N.prototype,"_effectsContainer",void 0),e([d()],N.prototype,"constraintsInfo",null),e([d()],N.prototype,"operationalDataVisible",void 0),e([d()],N.prototype,"layer",null),e([d()],N.prototype,"map",void 0),e([d({type:q,nonNullable:!0})],N.prototype,"navigation",void 0),e([d({readOnly:!0})],N.prototype,"preconditionsReady",null),e([d({readOnly:!0})],N.prototype,"ready",void 0),e([d({readOnly:!0})],N.prototype,"rendering",null),e([d()],N.prototype,"scale",null),e([d()],N.prototype,"spatialReference",void 0),e([d()],N.prototype,"stateManager",void 0),e([d()],N.prototype,"type",void 0),e([d(),m(e=>e instanceof U?e:g(H,e))],N.prototype,"ui",void 0),e([d({readOnly:!0})],N.prototype,"videoSize",null),e([d({readOnly:!0})],N.prototype,"view2dType",void 0),N=e([c("esri.views.VideoView")],N);const W=N;export{W as default};
package/views/View2D.d.ts CHANGED
@@ -94,10 +94,10 @@ export interface View2DProperties extends ViewProperties, DOMContainerProperties
94
94
  * >
95
95
  * > - If the spatial reference of `center` set in the constructor does not match the
96
96
  * > [spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReference) of the view, then [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) will be loaded dynamically.
97
- * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) when
97
+ * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) when
98
98
  * > setting the `center` to a spatial reference that doesn't match the view spatial reference. You can check if the projectOperator is
99
- * > loaded prior to setting the center by calling [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded). If it is not yet loaded,
100
- * > you can call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load).
99
+ * > loaded prior to setting the center by calling [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded). If it is not yet loaded,
100
+ * > you can call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad).
101
101
  *
102
102
  * @see [MapView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#goTo)
103
103
  * @example
@@ -202,10 +202,10 @@ export interface View2DProperties extends ViewProperties, DOMContainerProperties
202
202
  * >
203
203
  * > - If the spatial reference of `extent` set in the constructor does not match the
204
204
  * > [spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReference) of the view, then [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) will be loaded dynamically.
205
- * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) when
205
+ * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) when
206
206
  * > setting the `extent` to a spatial reference that doesn't match the view spatial reference. You can check if the projectOperator is
207
- * > loaded prior to setting the extent by calling [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded).
208
- * > If it is not yet loaded, you can call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load).
207
+ * > loaded prior to setting the extent by calling [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded).
208
+ * > If it is not yet loaded, you can call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad).
209
209
  *
210
210
  * @see [MapView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#goTo)
211
211
  * @example
@@ -230,8 +230,8 @@ export interface View2DProperties extends ViewProperties, DOMContainerProperties
230
230
  * Set MapView's [spatialReferenceLocked](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReferenceLocked) property to `true` to prevent users from changing the view's spatial reference at runtime.
231
231
  *
232
232
  * Prior to changing the spatial reference, check if the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) is loaded by calling
233
- * [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded).
234
- * If it is not yet loaded, call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) method.
233
+ * [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded).
234
+ * If it is not yet loaded, call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) method.
235
235
  * If the projectOperator is not loaded, the view's [center](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#center) will default to `[0, 0]`
236
236
  * in the new spatial reference of the view and a console error will be thrown.
237
237
  *
@@ -333,10 +333,10 @@ export interface View2DProperties extends ViewProperties, DOMContainerProperties
333
333
  * > - If the spatial reference of `viewpoint` set in the constructor does not match the
334
334
  * > [spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReference) of the view, then [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) will be loaded dynamically.
335
335
  * >
336
- * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) when
336
+ * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) when
337
337
  * > setting the `viewPoint` to a spatial reference that doesn't match the view spatial reference. You can check if the projectOperator is
338
- * > loaded prior to setting the center by calling [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded).
339
- * > If it is not yet loaded, you can call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load).
338
+ * > loaded prior to setting the center by calling [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded).
339
+ * > If it is not yet loaded, you can call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad).
340
340
  *
341
341
  * @see [MapView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#goTo)
342
342
  */
@@ -415,10 +415,10 @@ export default abstract class View2D extends View2DSuperclass {
415
415
  * >
416
416
  * > - If the spatial reference of `center` set in the constructor does not match the
417
417
  * > [spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReference) of the view, then [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) will be loaded dynamically.
418
- * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) when
418
+ * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) when
419
419
  * > setting the `center` to a spatial reference that doesn't match the view spatial reference. You can check if the projectOperator is
420
- * > loaded prior to setting the center by calling [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded). If it is not yet loaded,
421
- * > you can call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load).
420
+ * > loaded prior to setting the center by calling [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded). If it is not yet loaded,
421
+ * > you can call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad).
422
422
  *
423
423
  * @see [MapView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#goTo)
424
424
  * @example
@@ -525,10 +525,10 @@ export default abstract class View2D extends View2DSuperclass {
525
525
  * >
526
526
  * > - If the spatial reference of `extent` set in the constructor does not match the
527
527
  * > [spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReference) of the view, then [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) will be loaded dynamically.
528
- * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) when
528
+ * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) when
529
529
  * > setting the `extent` to a spatial reference that doesn't match the view spatial reference. You can check if the projectOperator is
530
- * > loaded prior to setting the extent by calling [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded).
531
- * > If it is not yet loaded, you can call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load).
530
+ * > loaded prior to setting the extent by calling [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded).
531
+ * > If it is not yet loaded, you can call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad).
532
532
  *
533
533
  * @see [MapView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#goTo)
534
534
  * @example
@@ -605,8 +605,8 @@ export default abstract class View2D extends View2DSuperclass {
605
605
  * Set MapView's [spatialReferenceLocked](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReferenceLocked) property to `true` to prevent users from changing the view's spatial reference at runtime.
606
606
  *
607
607
  * Prior to changing the spatial reference, check if the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) is loaded by calling
608
- * [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded).
609
- * If it is not yet loaded, call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) method.
608
+ * [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded).
609
+ * If it is not yet loaded, call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) method.
610
610
  * If the projectOperator is not loaded, the view's [center](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#center) will default to `[0, 0]`
611
611
  * in the new spatial reference of the view and a console error will be thrown.
612
612
  *
@@ -776,10 +776,10 @@ export default abstract class View2D extends View2DSuperclass {
776
776
  * > - If the spatial reference of `viewpoint` set in the constructor does not match the
777
777
  * > [spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#spatialReference) of the view, then [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) will be loaded dynamically.
778
778
  * >
779
- * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load) when
779
+ * > - At runtime, the [projectOperator](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/) must be [loaded](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad) when
780
780
  * > setting the `viewPoint` to a spatial reference that doesn't match the view spatial reference. You can check if the projectOperator is
781
- * > loaded prior to setting the center by calling [isLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#isLoaded).
782
- * > If it is not yet loaded, you can call [load()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#load).
781
+ * > loaded prior to setting the center by calling [projectIsLoaded()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectIsLoaded).
782
+ * > If it is not yet loaded, you can call [projectLoad()](https://developers.arcgis.com/javascript/latest/references/core/geometry/operators/projectOperator/#projectLoad).
783
783
  *
784
784
  * @see [MapView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#goTo)
785
785
  */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{floatEqualUlp as e,lerp as t}from"../../../core/mathUtils.js";import{throwIfAborted as n}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as r}from"../../../core/units.js";import{distance as s,lerp as o}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{lerp as i}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{geodesicLengths as a,isSupported as c,inverseGeodeticSolver as u,directGeodeticSolver as l}from"../../../geometry/geodesicUtils.js";import f from"../../../geometry/Polyline.js";import{initializeProjection as h,project as m}from"../../../geometry/projectionUtils.js";import p from"../../../geometry/SpatialReference.js";import{getElevationOffset as d}from"../../../support/elevationInfoUtils.js";import{TooComplexError as g}from"./elevationProfileErrors.js";async function y(e,t,s,o,i,c,u){let l,f,d;const y=e.spatialReference,j=y.isGeographic||y.isWebMercator;let v=0;if(!j){const{execute:t}=await(import("../../../geometry/operators/lengthOperator.js"));n(u),v=t(e,{unit:"meters"}),n(u)}const P=1/r(o);if(j){await h([{source:y,dest:o},{source:y,dest:p.WGS84}],u);const n=q(e);l=a([n],"meters")[0];const r=w(l,i);if(C(e,l,r)>c)throw new g;const j=R(n,t,s);({densifiedPath:f,distances:d}=W(j,r,P)),f=m(f,o)}else{await h([{source:y,dest:o}],u),l=v;const r=w(l,i);if(C(e,l,r)>c)throw new g;const a=R(e,t,s);({densifiedPath:f,distances:d}=G(a,r,P)),n(u),f=m(f,o)}return{densifiedPath:f,pathLength:l*P,distances:d}}function w(e,t){const n=e/t.densificationMaxSamples;return Math.max(t.samplingDistance,n)}function R(e,t,n){if(null==t)return P(e);const r=e.spatialReference,s=t.mode,o=d(t,r);let i=null;switch(n.type){case"2d":i=j(e,s,o);break;case"3d":i=v(e,s,o,n)}return null==i?P(e):new f({hasZ:!0,hasM:!1,spatialReference:r,paths:Z(e.paths,i)})}function j({hasZ:e},t,n){return"absolute-height"===t?e?([e,t,r])=>[e,t,r+n]:([e,t])=>[e,t,n]:null}function v({spatialReference:e,hasZ:t},n,r,{elevationProvider:s}){const o=(t,n,r,o)=>s?.getElevation(t,n,r,e,o)??0;switch(n){case"on-the-ground":return([e,t])=>[e,t,o(e,t,0,"ground")];case"absolute-height":return t?([e,t,n])=>[e,t,n+r]:([e,t])=>[e,t,r];case"relative-to-ground":return t?([e,t,n])=>[e,t,n+o(e,t,n,"ground")+r]:([e,t])=>[e,t,o(e,t,0,"ground")+r];case"relative-to-scene":return t?([e,t,n])=>[e,t,n+o(e,t,n,"scene")+r]:([e,t])=>[e,t,o(e,t,0,"scene")+r];default:return null}}function P(e){return e.hasZ?new f({hasZ:!1,hasM:!1,spatialReference:e.spatialReference,paths:Z(e.paths,([e,t])=>[e,t])}):e}function Z(e,t){const n=e.length,r=new Array(n);for(let s=0;s<n;++s){const n=e[s],o=n.length,i=new Array(n.length);r[s]=i;for(let e=0;e<o;++e)i[e]=t(n[e])}return r}function x(e){return S(e)&&e.paths.some(e=>e.length>1)}function M(e){return b(e)&&x(e.geometry)}function b(e){return A(e)&&S(e?.geometry)}function S(e){return!A(e)&&null!=e&&"polyline"===e.type}function A(e){return null!=e&&"geometry"in e}function U(e){const t=e?.layer;return null!=t&&"graphics"===t.type&&t.internal}function z(t,n,s,o,i){const{spatialReference:a,hasZ:c}=t,u={from:null,to:null,distance:0,azimuth:0,reverseAzimuth:0,spatialReference:a,metersPerSR:r(a)},l=[],h=[];let m=0;for(let r=0;r<t.paths.length;++r){const a=t.paths[r],c=new Array,f=new Array;let p=0;for(let t=1;t<a.length;++t){const r=a[t-1],l=a[t],h=o(u,r,l);let d;for(d=p;d<h.distance&&!e(d,h.distance);d+=n)c.push(i(h,d)),f.push((m+d)*s);p=d-h.distance,m+=h.distance,c.push(l),f.push(m*s)}l[r]=c,h[r]=f}return{densifiedPath:new f({spatialReference:a,hasZ:c,paths:l}),distances:h}}function G(e,t,n){const{hasZ:r}=e;return z(e,t,n,k,r?O:L)}function W(e,t,n){const{hasZ:r}=e;return z(e,t,n,E,r?I:D)}function E(e,t,n){return e.distance=0,u(e,t,n,e.spatialReference),e.from=t,e.to=n,e}function k(e,t,n){return e.from=t,e.to=n,e.distance=s(n,t)*e.metersPerSR,e}function D({from:e,azimuth:t,spatialReference:n},r){return l([0,0],e,t,r,n)}function I({from:e,to:n,azimuth:r,distance:s,spatialReference:o},i){const a=i/s,c=[0,0,t(e[2],n[2],a)];return l(c,e,r,i,o),c}function L({from:e,to:t,distance:n},r){return o([0,0],e,t,r/n)}function O({from:e,to:t,distance:n},r){return i([0,0,0],e,t,r/n)}function q(e){return c(e.spatialReference)?e:m(e,p.WGS84)}function B(e){return e.paths.reduce((e,t)=>e+t.length,0)}function C(e,t,n){return B(e)+Math.floor(t/n)+Math.max(0,e.paths.reduce(e=>1+e,0)-1)}export{B as countPoints,y as densifyPath,A as isGraphic,U as isInternalGraphic,S as isPolyline,b as isPolylineGraphic,M as isValidInputGraphic,x as isValidInputPath,R as toAbsoluteHeightElevation};
2
+ import{floatEqualUlp as e,lerp as t}from"../../../core/mathUtils.js";import{throwIfAborted as n}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as r}from"../../../core/units.js";import{distance as s,lerp as o}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{lerp as i}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{geodesicLengths as a,isSupported as c,inverseGeodeticSolver as u,directGeodeticSolver as l}from"../../../geometry/geodesicUtils.js";import f from"../../../geometry/Polyline.js";import{initializeProjection as h,project as m}from"../../../geometry/projectionUtils.js";import p from"../../../geometry/SpatialReference.js";import{getElevationOffset as d}from"../../../support/elevationInfoUtils.js";import{TooComplexError as g}from"./elevationProfileErrors.js";async function y(e,t,s,o,i,c,u){let l,f,d;const y=e.spatialReference,j=y.isGeographic||y.isWebMercator;let v=0;if(!j){const{lengthExecute:t}=await(import("../../../geometry/operators/lengthOperator.js"));n(u),v=t(e,{unit:"meters"}),n(u)}const P=1/r(o);if(j){await h([{source:y,dest:o},{source:y,dest:p.WGS84}],u);const n=q(e);l=a([n],"meters")[0];const r=w(l,i);if(C(e,l,r)>c)throw new g;const j=R(n,t,s);({densifiedPath:f,distances:d}=G(j,r,P)),f=m(f,o)}else{await h([{source:y,dest:o}],u),l=v;const r=w(l,i);if(C(e,l,r)>c)throw new g;const a=R(e,t,s);({densifiedPath:f,distances:d}=E(a,r,P)),n(u),f=m(f,o)}return{densifiedPath:f,pathLength:l*P,distances:d}}function w(e,t){const n=e/t.densificationMaxSamples;return Math.max(t.samplingDistance,n)}function R(e,t,n){if(null==t)return P(e);const r=e.spatialReference,s=t.mode,o=d(t,r);let i=null;switch(n.type){case"2d":i=j(e,s,o);break;case"3d":i=v(e,s,o,n)}return null==i?P(e):new f({hasZ:!0,hasM:!1,spatialReference:r,paths:Z(e.paths,i)})}function j({hasZ:e},t,n){return"absolute-height"===t?e?([e,t,r])=>[e,t,r+n]:([e,t])=>[e,t,n]:null}function v({spatialReference:e,hasZ:t},n,r,{elevationProvider:s}){const o=(t,n,r,o)=>s?.getElevation(t,n,r,e,o)??0;switch(n){case"on-the-ground":return([e,t])=>[e,t,o(e,t,0,"ground")];case"absolute-height":return t?([e,t,n])=>[e,t,n+r]:([e,t])=>[e,t,r];case"relative-to-ground":return t?([e,t,n])=>[e,t,n+o(e,t,n,"ground")+r]:([e,t])=>[e,t,o(e,t,0,"ground")+r];case"relative-to-scene":return t?([e,t,n])=>[e,t,n+o(e,t,n,"scene")+r]:([e,t])=>[e,t,o(e,t,0,"scene")+r];default:return null}}function P(e){return e.hasZ?new f({hasZ:!1,hasM:!1,spatialReference:e.spatialReference,paths:Z(e.paths,([e,t])=>[e,t])}):e}function Z(e,t){const n=e.length,r=new Array(n);for(let s=0;s<n;++s){const n=e[s],o=n.length,i=new Array(n.length);r[s]=i;for(let e=0;e<o;++e)i[e]=t(n[e])}return r}function x(e){return S(e)&&e.paths.some(e=>e.length>1)}function M(e){return b(e)&&x(e.geometry)}function b(e){return A(e)&&S(e?.geometry)}function S(e){return!A(e)&&null!=e&&"polyline"===e.type}function A(e){return null!=e&&"geometry"in e}function U(e){const t=e?.layer;return null!=t&&"graphics"===t.type&&t.internal}function z(t,n,s,o,i){const{spatialReference:a,hasZ:c}=t,u={from:null,to:null,distance:0,azimuth:0,reverseAzimuth:0,spatialReference:a,metersPerSR:r(a)},l=[],h=[];let m=0;for(let r=0;r<t.paths.length;++r){const a=t.paths[r],c=new Array,f=new Array;let p=0;for(let t=1;t<a.length;++t){const r=a[t-1],l=a[t],h=o(u,r,l);let d;for(d=p;d<h.distance&&!e(d,h.distance);d+=n)c.push(i(h,d)),f.push((m+d)*s);p=d-h.distance,m+=h.distance,c.push(l),f.push(m*s)}l[r]=c,h[r]=f}return{densifiedPath:new f({spatialReference:a,hasZ:c,paths:l}),distances:h}}function E(e,t,n){const{hasZ:r}=e;return z(e,t,n,k,r?O:L)}function G(e,t,n){const{hasZ:r}=e;return z(e,t,n,W,r?I:D)}function W(e,t,n){return e.distance=0,u(e,t,n,e.spatialReference),e.from=t,e.to=n,e}function k(e,t,n){return e.from=t,e.to=n,e.distance=s(n,t)*e.metersPerSR,e}function D({from:e,azimuth:t,spatialReference:n},r){return l([0,0],e,t,r,n)}function I({from:e,to:n,azimuth:r,distance:s,spatialReference:o},i){const a=i/s,c=[0,0,t(e[2],n[2],a)];return l(c,e,r,i,o),c}function L({from:e,to:t,distance:n},r){return o([0,0],e,t,r/n)}function O({from:e,to:t,distance:n},r){return i([0,0,0],e,t,r/n)}function q(e){return c(e.spatialReference)?e:m(e,p.WGS84)}function B(e){return e.paths.reduce((e,t)=>e+t.length,0)}function C(e,t,n){return B(e)+Math.floor(t/n)+Math.max(0,e.paths.reduce(e=>1+e,0)-1)}export{B as countPoints,y as densifyPath,A as isGraphic,U as isInternalGraphic,S as isPolyline,b as isPolylineGraphic,M as isValidInputGraphic,x as isValidInputPath,R as toAbsoluteHeightElevation};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as e,__disposeResources as t,__decorate as i}from"tslib";import{createTask as n}from"../../core/asyncUtils.js";import{makeHandle as a,disposable as s}from"../../core/handleUtils.js";import r from"../../core/Logger.js";import{getOrCreateMapValue as o}from"../../core/MapUtils.js";import{destroyMaybe as l,abortMaybe as d}from"../../core/maybe.js";import{ignoreAbortErrors as p}from"../../core/promiseUtils.js";import{when as u,initial as c,watch as g,syncAndInitial as h,on as m,sync as v}from"../../core/reactiveUtils.js";import{screenPointEqual as y,createScreenPoint as f}from"../../core/screenUtils.js";import{diff as M}from"../../core/accessorSupport/diffUtils.js";import{property as _}from"../../core/accessorSupport/decorators/property.js";import{subclass as b}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as w}from"../../core/support/UpdatingHandles.js";import S from"../../geometry/Polygon.js";import{isSimple as C,execute as P}from"../../geometry/operators/simplifyOperator.js";import{isPolygon as H}from"../../geometry/support/typeUtils.js";import{isCurvedGeometry as x}from"../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as I}from"../../geometry/support/curves/densifyCurvedGeometry.js";import{getEffectiveElevationInfo as L}from"../../support/elevationInfoUtils.js";import{getMaxDeviationInPixels as O,getMinSegmentsPerCurve as k}from"../2d/layers/graphics/densificationConstants.js";import{createSnappingVisualizer as T}from"./support/createSnappingVisualizer.js";import{multipointFromGeometry as V,markHandled as G,getPointerType as j,getPointerId as E}from"./support/drawToolUtils.js";import{PluginContext as D}from"./support/PluginContext.js";import{viewEventToCommand as U}from"./support/input/drawToolInput.js";import{EditSessionManager as A}from"./support/managers/EditSessionManager.js";import{GlobalStateManager as F}from"./support/managers/GlobalStateManager.js";import{InteractiveHandleManager as R}from"./support/managers/InteractiveHandleManager.js";import{MeasurementManager as Z}from"./support/managers/MeasurementManager.js";import{PluginLifecycleManager as B}from"./support/managers/PluginLifecycleManager.js";import{SurfaceManager as q}from"./support/managers/SurfaceManager.js";import{TooltipManager as z}from"./support/managers/TooltipManager.js";import{ViewEventPriorities as K}from"../input/InputManager.js";import{createCoordinateHelper as N}from"../interactive/coordinateHelper.js";import{InteractiveToolBase as Q}from"../interactive/InteractiveToolBase.js";import{KeyBindings as W,mediaKeys as $,sketchKeys as J,advancedSketchKeys as X,tooltipKeys as Y}from"../interactive/keybindings.js";import{isInputModeAvailable as ee}from"../interactive/tooltip/tooltipCommonUtils.js";const te=Symbol();let ie=class extends Q{constructor(e){super(e),this._shapeVisualId=Symbol(),this._vertexVisualId=Symbol(),this._pluginContexts=new Map,this._queuedFeedbackEvents=[],this._flushingQueuedFeedbackEvents=!1,this._commandsSuspended=!1,this._snappingVisualizer=null,this._segmentLabels=null,this._segmentLabelsImportTask=null,this._updatingHandles=new w,this._keybindings=this._makeKeyBindings(),this._pendingBeginRequest=null,this.type="draw-2.0",this.automaticManipulatorSelection=!0,this.snappingManager=null,this.toolOptions=null,this.elevationInfo=null,this.hasZ=!1,this.defaultZ=0,this.lastScreenPosition=null,this.measurementManager=new Z,this.globalStateManager=new F({getPluginStack:()=>this.pluginStack}),this.editSessionManager=new A({getContext:()=>this._editSessionManagerContext}),this.lifecycleManager=new B({getContext:this._getContextForPlugin.bind(this),editSessionManager:this.editSessionManager,afterAttach:this._afterAttach.bind(this),afterDetach:this._afterDetach.bind(this),beforeResume:this._beforeResume.bind(this)}),this.surfaceManager=null,this.interactiveHandleManager=null,this.renderer=null,this.readPluginSetting=null,this.enableVertexVisuals=!0}initialize(){const{view:e}=this;this.interactiveHandleManager=new R({view:e,renderer:this.renderer}),this._override("manipulators",this.interactiveHandleManager.manipulators),this.tooltipManager=new z({getDependencies:()=>this._tooltipDependencies,getLastScreenPosition:()=>this.lastScreenPosition}),this.addHandles(u(()=>this.renderer,t=>{t.addOrUpdateVisual(this._shapeVisualId,{role:"outputGeometry"}),t.addOrUpdateVisual(this._vertexVisualId,{role:"vertex"}),this._updatingHandles.addPromise(T(e,t).then(e=>this._snappingVisualizer=e))},c)),this.addHandles([g(()=>[this.view,this.coordinateHelper.spatialReference,this.defaultZ,this.hasZ,this.elevationInfo],([e,t,i,n,a])=>{this.surfaceManager?.destroy(),this.surfaceManager=new q({spatialReference:t,excludedGraphicsLayer:null,defaultZ:i,hasZ:n,view:e,elevationInfo:a,getContext:()=>({drawAtFixedElevation:this.globalStateManager.drawAtFixedElevation,elevationConstraint:this.tooltipManager?.elevationConstraint,constraintsEnabled:this.tooltipManager?.constraintsEnabled??!1})})},h),u(()=>this.toolOptions?.tooltips.effectiveEnabled,()=>this.measurementManager.preloadMeasurementUtils(),{once:!0,initial:!0}),g(()=>[this.editGeometryOperations,this.toolOptions?.labels.enabled,this.globalStateManager.segmentLabelsDisabled],()=>{this._updatingHandles.addPromise(this._setupSegmentLabels())},c),m(()=>this.editSessionManager,"cancelPlugin",({plugin:e})=>{this._suspendPlugin(e)},v),m(()=>this.editSessionManager,"restartPlugin",({restartInfo:e})=>{this._resumePlugin(e)},v),g(()=>this.lifecycleManager.updating,e=>{e||this._emitQueuedFeedbackEvents()},v),m(()=>this.editGeometryOperations,["vertex-add","vertex-update","vertex-remove"],e=>{const t=e.vertices.map(e=>({componentIndex:0,vertexIndex:e.index,coordinates:this.coordinateHelper.vectorToArray(e.pos)})),i=t.map(e=>e.coordinates);switch(e.type){case"vertex-add":this._emitWhenReady(e.type,{...e,added:i,vertices:t});break;case"vertex-update":this._emitWhenReady(e.type,{...e,updated:i,vertices:t});break;case"vertex-remove":this._emitWhenReady(e.type,{...e,removed:i,vertices:t})}})])}destroy(){this.active&&this.onDeactivate(),this.editSessionManager.destroy(),this.lifecycleManager.destroy(),this.measurementManager.destroy(),this.globalStateManager.destroy();for(const e of this._pluginContexts.values())e.destroy();this._pluginContexts.clear(),this.surfaceManager=l(this.surfaceManager),this.interactiveHandleManager=l(this.interactiveHandleManager),this._segmentLabelsImportTask=d(this._segmentLabelsImportTask),this._segmentLabels=l(this._segmentLabels),this.tooltipManager=l(this.tooltipManager)}get _zOfLastUserInput(){const e=this.mostDownstreamPlugin&&this.editSessionManager.getSession(this.mostDownstreamPlugin),t=e?.firstPointAddedBySession?.point;return t?.hasZ?t.z:null}get _tooltipDependencies(){const{defaultZ:e,editGeometryOperations:t,toolOptions:i,directionOptions:n,elevationInfo:a,view:s}=this;return t&&i&&s?{defaultZ:e,directionOptions:n,elevationInfo:a,editGeometryOperations:t,toolOptions:i,view:s,getActiveHandle:()=>this.interactiveHandleManager?.focusedHandle,getAllHandles:()=>this.interactiveHandleManager?.allhandles,getHelpMessageKey:()=>this.helpMessageKey,notifyTooltipsChanged:()=>{const{interactiveHandleManager:e,movementCommandContext:t}=this;e&&t&&e.reapplyPositions(t)}}:null}get _editSessionManagerContext(){const{coordinateHelper:e,view:t}=this;if(!t)return null;return{coordinateHelper:e,viewingMode:"3d"===t.type&&"global"===t.viewingMode?1:2}}get _densificationParameters(){const{view:e,coordinateHelper:t}=this,i=t.spatialReference,n=e?.spatialReference,a=e.resolution;if(!(i&&n&&a&&Number.isFinite(a)))return null;const s=n.metersPerUnit/i.metersPerUnit;return{maxDeviation:2**Math.round(Math.log2(a))*O()*s,minSegmentsPerCurve:k()}}get test(){return{densificationParameters:this._densificationParameters,segmentLabels:this._segmentLabels}}get updating(){return this._updatingHandles.updating||this.snappingManager?.updating||this.lifecycleManager.updating||!!this._segmentLabels?.updating}get coordinateHelper(){return N(this.hasZ,!1,this.view.spatialReference)}get editGeometry(){return this.editGeometryOperations?.data}get editGeometryOperations(){return this.editSessionManager.editGeometryOperations}get unprocessedGeometry(){return this.editSessionManager.outputGeometry}get simplifiedGeometryPreview(){const e=this.editSessionManager.outputGeometry;if(e&&H(e))try{const t=this._densificationParameters,i=x(e)&&t?new S({...I(e,t)}):e;if(!C(i))return P(i)}catch(t){return e}return e}get _suppressCoincidentPointOverlaysIn3D(){return"3d"===this.view.type&&"point"===this.unprocessedGeometry?.type&&!!this.interactiveHandleManager?.allhandles?.find(e=>"primary"===e.role)?.outputMapPosition}get _shapeVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.simplifiedGeometryPreview}get _vertexVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.unprocessedGeometry}get canUndo(){return this.editSessionManager.canUndo}get canRedo(){return this.editSessionManager.canRedo}get pluginStack(){return this.lifecycleManager.pluginStack}get mostDownstreamPlugin(){return this.pluginStack.at(-1)}get mostUpstreamPlugin(){return this.pluginStack.at(0)}get positionOfLastUserInput(){const e=this.lastScreenPosition;return e?this.surfaceManager?.screenToMap(e,{firstPointZ:this._zOfLastUserInput})??this.view.toMap(e):this.view.center}get movementCommandContext(){const{editGeometryOperations:e,tooltipManager:t,surfaceManager:i,snappingManager:n,interactiveHandleManager:a,_snappingVisualizer:s,defaultZ:r,hasZ:o,globalStateManager:{drawAtFixedElevation:l},view:d}=this;return{tooltipManager:t,editGeometryOperations:e,surfaceManager:i,interactiveHandleManager:a,snappingManager:n,snappingVisualizer:s,pointerType:"mouse",hasZ:o,defaultZ:r,view:d,drawAtFixedElevation:l}}get tooltip(){return this.tooltipManager?.tooltip}get activeTooltipInfo(){return this.tooltipManager?.tooltipInfo}get helpMessageKey(){return this.pluginStack.items.findLast(e=>e.helpMessageKey)?.helpMessageKey??"noTool"}begin(e){this.active?(this.lifecycleManager.begin(e),this._pendingBeginRequest=null):this._pendingBeginRequest=e}complete(e){const t=this.lifecycleManager;if(e&&t.complete(e),0===t.pluginStack.length){const e=this.unprocessedGeometry,t=!e||"mesh"===e.type||C(e);this.emit("complete",{geometry:e,isSimple:t,aborted:!1,type:"complete",vertices:[]}),this.view?.activeTool===this&&(this.view.activeTool=null)}}cancelFirstUserLeafPlugin(){const e=this.pluginStack.toArray().findLast(e=>!0!==e.configuration?.hidden);e&&this.lifecycleManager.cancel(e)}getVertexSnappingCandidates(){return"secondary"===this.interactiveHandleManager?.capturingHandle?.role?[]:this.snappingManager?.getVertexCandidates()??[]}replaceLeaf(e){const t=this.lifecycleManager;t.updating?r.getLogger(this).info("Ignoring command; arrived while updating:","replaceLeaf"):t.replaceLeaf(e)}finishPart(){const e=this.mostUpstreamPlugin,t=e?.configuration;if(this.editGeometryOperations&&t&&t.kind?.includes("multipart")){const e=this.pluginStack.at(1);e&&this.complete(e)}}undo(){this._handleCommand({action:"undo"})}redo(){this._handleCommand({action:"redo"})}executeCommand(e){return this._handleCommand(e)}suspendCommands(){return this._commandsSuspended=!0,a(()=>{this._commandsSuspended=!1;const e=this.view?.inputManager.latestPointerInfo;if(e){const{x:t,y:i}=e.location;this._handleCommand({action:"manipulator-move-to",x:t,y:i})}})}addPromise(e){return this._updatingHandles.addPromise(e)}readPluginSettingValue(e,t){return this.readPluginSetting?.(e,t)}getGeometryIfCompleted(){const e=this.lifecycleManager.gatherCompletablePlugins();return this.editSessionManager?.generatePreviewGeometryForPlugins(e)}onActivate(){super.onActivate();const{view:e}=this;this.lastScreenPosition=e?.inputManager.latestPointerInfo?.location,this.renderer?.activate(),this._pendingBeginRequest&&(this.begin(this._pendingBeginRequest),this._pendingBeginRequest=null),this.enableVertexVisuals&&this.addHandles(g(()=>this._vertexVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._vertexVisualId,{geometry:e?V(e):null})},c)),this.addHandles([g(()=>this._shapeVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._shapeVisualId,{geometry:e})},c),u(()=>this.interactiveHandleManager?.capturingHandle?.screenPosition,e=>this.lastScreenPosition=e,{initial:!0,equals:y}),g(()=>this.interactiveHandleManager?.capturingHandle?.outputMapPosition,(e,t)=>{const i=this.interactiveHandleManager?.capturingHandle?.editSession?.endVertex;e&&t&&i&&this._emitWhenReady("cursor-update",{updated:i.pos,type:"vertex-update",operation:"apply",vertices:[{componentIndex:i.part.index,vertexIndex:i.index,coordinates:i.pos}]})},v),this._keybindings.register(e,K.TOOL),g(()=>e.viewpoint,(e,t)=>{e&&t&&M(e,t)&&this._handleCommand({action:"viewpoint-moved"})})],te)}onDeactivate(){super.onDeactivate(),this.removeHandles(te),this.renderer?.deactivate(),this.snappingManager?.doneSnapping(),this.lifecycleManager.cancelAll(),this._pendingBeginRequest=null}onInputEvent(e){"pointer-down"===e.type?this.interactiveHandleManager?.notePointerDown(e.pointerId,e.pointerType):"pointer-up"!==e.type&&"pointer-leave"!==e.type||this.interactiveHandleManager?.notePointerUp(e.pointerId,e.pointerType);const t=U(e);t&&this._handleCommand(t)}forceAddVertex(){this._commitNext()}_emitWhenReady(e,t){if(this.destroyed)return;const i=()=>{this.emit(e,t)};this.lifecycleManager.updating||this._flushingQueuedFeedbackEvents?this._queuedFeedbackEvents.push(i):i()}_emitQueuedFeedbackEvents(){if(!(this.destroyed||this._flushingQueuedFeedbackEvents||this.lifecycleManager.updating||0===this._queuedFeedbackEvents.length)){this._flushingQueuedFeedbackEvents=!0;try{for(;!this.destroyed&&!this.lifecycleManager.updating&&this._queuedFeedbackEvents.length>0;)this._queuedFeedbackEvents.shift()?.()}finally{this._flushingQueuedFeedbackEvents=!1}}}async _handleCommand(e){if(!this._commandsSuspended)if(this.lifecycleManager.updating)r.getLogger(this).info("Ignoring command; arrived while updating:",e.action);else switch(e.action){case"view-drag":return await this._handleViewDragCommand(e);case"vertex-add":return this._guardCommand(e,()=>{G(e),this._commitNext()});case"vertex-add-and-finish-part":return this._handleVertexAddAndFinishPartCommand(e);case"cancel":return this._guardCommand(e,()=>this.cancel());case"complete":return this._guardCommand(e,()=>{this.mostUpstreamPlugin&&(G(e),this.complete(this.mostUpstreamPlugin))});case"finish-part":return this._guardCommand(e,()=>this.finishPart());case"undo":return this._guardCommand(e,()=>this.editSessionManager.undo());case"redo":return this._guardCommand(e,()=>this.editSessionManager.redo());case"next-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("forward"));case"previous-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("backward"));case"toggle-manipulator-follow":this.interactiveHandleManager?.toggleFollow()&&G(e);break;case"viewpoint-moved":return await this._handleViewpointMovedCommand(e);case"manipulator-move-to":return await this._handleManipulatorMoveToCommand(e);case"manipulator-drag-to":return await this._handleManipulatorDragToCommand(e);case"vertex-add-at-point":return await this._handleVertexAddAtPointCommand(e);case"show-tooltip":return this._guardCommand(e,async()=>{const t=this.tooltipManager?.tooltip;t&&ee(t.info)&&(await t.enterInputMode(),G(e))});case"constraint-center":this.globalStateManager.setCentered(e.enabled);break;case"constraint-aspect":this.globalStateManager.setPreserveAspectRatio(e.enabled)}}async _handleViewDragCommand(e){if(!this.editable)return;const t=e.originalEvent,i=this.interactiveHandleManager?.capturingHandle;(!t||!("pointerType"in t)||"touch"!==t.pointerType||"capture-always"!==i?.captureMode&&"capture-when-engaged"!==i?.captureMode)&&"capture-when-engaged"!==this.interactiveHandleManager?.capturingHandle?.captureMode?this._before(e)&&G(e):G(e)}_handleVertexAddAndFinishPartCommand(e){this._before(e)||(G(e),this._commitNext(),this.finishPart())}async _handleViewpointMovedCommand(e){if(!this.editable)return;const t=j(e.originalEvent),i=E(e.originalEvent);await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(null,{...this.movementCommandContext,pointerType:t,pointerId:i})),this.interactiveHandleManager?.updateAllScreenPositions(this.movementCommandContext.surfaceManager)}async _handleManipulatorMoveToCommand(e){if(!this.editable)return;const t=j(e.originalEvent),i=E(e.originalEvent);if(!this.interactiveHandleManager?.shouldCaptureInput(i,t))return;const n=this._updateLastScreenPosition(e);this.interactiveHandleManager?.capturingHandle&&G(e),await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(n,{...this.movementCommandContext,pointerType:t,pointerId:i}))}async _handleManipulatorDragToCommand(e){if(!this.editable)return;const t=j(e.originalEvent),i=E(e.originalEvent);if(!this.interactiveHandleManager?.shouldCaptureInput(i,t))return;const n=this._updateLastScreenPosition(e),a=this.interactiveHandleManager?.findHandleByManipulator(n,t);"touch"===t&&a&&"start"===e.state&&this.interactiveHandleManager?.releaseHandle();const s=this.interactiveHandleManager?.findHandleDragging(),r=this.interactiveHandleManager?.capturingHandle,o=s??r??a;o&&!a&&G(e),"capture-when-engaged"===o?.captureMode||"capture-always"===o?.captureMode&&"touch"===t?"end"===e.state?await this._updatingHandles.addPromise(o.noteDragEnd(n,{...this.movementCommandContext,pointerType:t,pointerId:i}).then(()=>{o&&"touch"===j(e.originalEvent)&&"grabbable-object"!==o.captureMode&&"capture-when-engaged"!==o.defaultCaptureMode&&"primary"===o.role&&(1===this.interactiveHandleManager?.handleCount?this._handleCommand({action:"vertex-add"}):this.interactiveHandleManager?.releaseHandle())})):"start"===e.state?await this._updatingHandles.addPromise(o.noteDragStart(n,{...this.movementCommandContext,pointerType:t,pointerId:i}).then(()=>{o&&"touch"===j(e.originalEvent)&&"grabbable-object"!==o.captureMode&&"capture-when-engaged"!==o.defaultCaptureMode&&!o.editSession?.lastPointAddedBySession&&this._handleCommand({action:"vertex-add"})})):await this._updatingHandles.addPromise(o?.moveTo(n,{...this.movementCommandContext,pointerType:t,pointerId:i})):"grabbable-object"===o?.captureMode&&(this.interactiveHandleManager?.releaseHandle(r),await this._updatingHandles.addPromise(o.moveTo(n,{...this.movementCommandContext,pointerType:t,pointerId:i})))}async _handleVertexAddAtPointCommand(e){const t=this._updateLastScreenPosition(e),i=j(e.originalEvent),n=E(e.originalEvent);if(!this.interactiveHandleManager?.shouldCaptureInput(n,i))return;const a=this.interactiveHandleManager?.capturingHandle??this.interactiveHandleManager?.findHandleByManipulator(t,i);this.editable&&a&&(this._before(e)||(G(e),await this._updatingHandles.addPromise(a.moveTo(t,{...this.movementCommandContext,skipSnapping:!0,pointerType:i,pointerId:n}).finally(()=>this._commitNext()))))}_makeKeyBindings(){const e=new W,t=(t,i)=>{e.addToggle(t,e=>this._handleCommand({action:i,originalEvent:e,enabled:"key-down"===e.type}))},i=(t,i)=>{e.add(t,e=>this._handleCommand({action:i,originalEvent:e}))};return t($.preserveAspectRatio,"constraint-aspect"),t(J.center,"constraint-center"),i(X.toggleFollowManipulator,"toggle-manipulator-follow"),i(J.undo,"undo"),i(J.redo,"redo"),i(J.complete,"complete"),i(J.vertexAdd,"vertex-add"),i({key:Y.enterInputMode,continuePropagation:!0,repeats:!0},"show-tooltip"),e}_afterAttach(){}_afterDetach(e){this.interactiveHandleManager?.unregisterCustomConstraint(e),this.interactiveHandleManager?.unregisterHandle(e),this.tooltipManager?.unregisterPluginFields(e),this.globalStateManager.clearPluginOverrides(e);const t=this._pluginContexts.get(e);t&&(t.destroy(),this._pluginContexts.delete(e))}_beforeResume(e,t){this.interactiveHandleManager?.replaceEditSessions(e,t)}_commitNext(){const i={stack:[],error:void 0,hasError:!1};try{const t=this.mostDownstreamPlugin;if(!t)return;this.tooltipManager?.storeConstraintSnapshot();let n=!1;const a=this.editGeometryOperations;e(i,a?s(a.on("vertex-add",()=>n=!0)):null,!1);t.completeStep?t.completeStep():this.complete(t),n&&this.tooltipManager?.unlockOnVertexPlacement()}catch(n){i.error=n,i.hasError=!0}finally{t(i)}}_suspendPlugin(e){this.lifecycleManager.suspend(e),this.measurementManager.suspendPlugin(e)}_resumePlugin(e){this.lifecycleManager.resume(e)}_updateLastScreenPosition(e){const t=f(e.x,e.y);return this.lastScreenPosition=t,t}_getContextForPlugin(e,t){const i=o(this._pluginContexts,e,()=>new D({drawTool:this,plugin:e,session:t}));return i.session=t,i}_before(e){if(!this.hasEventListener(`before-${e.action}`))return!1;const t=new CustomEvent(`before-${e.action}`,{detail:e,cancelable:!0});return this.emit(`before-${e.action}`,t),t.defaultPrevented}_guardCommand(e,t,i){return this._before(e)?i?.():t()}async _setupSegmentLabels(){const e=this.editGeometryOperations,t=this.toolOptions?.labels,i=!!t?.enabled,n=this.globalStateManager.segmentLabelsDisabled;if(!e||!t||!i)return void(this._segmentLabels=l(this._segmentLabels));if(n)return void(this._segmentLabels&&(this._segmentLabels.visible=!1));if(this._segmentLabels?.context?.editGeometryOperations===e&&this._segmentLabels.context.labelOptions===t)return void(this._segmentLabels.visible=!0);const a=await this._createSegmentLabels(e,t);a&&(this._segmentLabels=l(this._segmentLabels),this._segmentLabels=a)}async _createSegmentLabels(e,t){this._segmentLabelsImportTask?.abort();const i=this._segmentLabelsImportTask=n(async i=>{if("3d"===this.view.type){const n=import("../3d/interactive/SegmentLabels3D.js"),{SegmentLabels3D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})}const n=import("../2d/interactive/SegmentLabels2D.js"),{SegmentLabels2D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})});return p(i.promise)}_isSegmentLabelsSetupStale(e,t,i){return e.aborted||this.editGeometryOperations!==t||this.toolOptions?.labels!==i||!i.enabled||this.globalStateManager.segmentLabelsDisabled}};i([_()],ie.prototype,"_commandsSuspended",void 0),i([_()],ie.prototype,"_zOfLastUserInput",null),i([_()],ie.prototype,"_snappingVisualizer",void 0),i([_()],ie.prototype,"_segmentLabels",void 0),i([_()],ie.prototype,"_segmentLabelsImportTask",void 0),i([_()],ie.prototype,"_tooltipDependencies",null),i([_()],ie.prototype,"_editSessionManagerContext",null),i([_()],ie.prototype,"_densificationParameters",null),i([_({constructOnly:!0,nonNullable:!0})],ie.prototype,"view",void 0),i([_()],ie.prototype,"automaticManipulatorSelection",void 0),i([_()],ie.prototype,"updating",null),i([_()],ie.prototype,"coordinateHelper",null),i([_()],ie.prototype,"editGeometry",null),i([_()],ie.prototype,"editGeometryOperations",null),i([_()],ie.prototype,"unprocessedGeometry",null),i([_()],ie.prototype,"simplifiedGeometryPreview",null),i([_()],ie.prototype,"_suppressCoincidentPointOverlaysIn3D",null),i([_()],ie.prototype,"_shapeVisualGeometry",null),i([_()],ie.prototype,"_vertexVisualGeometry",null),i([_()],ie.prototype,"snappingManager",void 0),i([_()],ie.prototype,"toolOptions",void 0),i([_()],ie.prototype,"elevationInfo",void 0),i([_()],ie.prototype,"hasZ",void 0),i([_()],ie.prototype,"defaultZ",void 0),i([_()],ie.prototype,"directionOptions",void 0),i([_()],ie.prototype,"canUndo",null),i([_()],ie.prototype,"canRedo",null),i([_()],ie.prototype,"pluginStack",null),i([_()],ie.prototype,"mostDownstreamPlugin",null),i([_()],ie.prototype,"mostUpstreamPlugin",null),i([_()],ie.prototype,"lastScreenPosition",void 0),i([_()],ie.prototype,"positionOfLastUserInput",null),i([_()],ie.prototype,"tooltipManager",void 0),i([_()],ie.prototype,"measurementManager",void 0),i([_()],ie.prototype,"globalStateManager",void 0),i([_()],ie.prototype,"editSessionManager",void 0),i([_()],ie.prototype,"lifecycleManager",void 0),i([_()],ie.prototype,"surfaceManager",void 0),i([_()],ie.prototype,"interactiveHandleManager",void 0),i([_()],ie.prototype,"renderer",void 0),i([_()],ie.prototype,"readPluginSetting",void 0),i([_()],ie.prototype,"movementCommandContext",null),i([_()],ie.prototype,"tooltip",null),i([_()],ie.prototype,"activeTooltipInfo",null),i([_()],ie.prototype,"helpMessageKey",null),i([_({constructOnly:!0})],ie.prototype,"enableVertexVisuals",void 0),ie=i([b("esri.views.draw.DrawTool")],ie);export{ie as DrawTool};
2
+ import{__addDisposableResource as e,__disposeResources as t,__decorate as i}from"tslib";import{createTask as n}from"../../core/asyncUtils.js";import{makeHandle as a,disposable as s}from"../../core/handleUtils.js";import r from"../../core/Logger.js";import{getOrCreateMapValue as o}from"../../core/MapUtils.js";import{destroyMaybe as l,abortMaybe as d}from"../../core/maybe.js";import{ignoreAbortErrors as p}from"../../core/promiseUtils.js";import{when as u,initial as c,watch as g,syncAndInitial as h,on as m,sync as v}from"../../core/reactiveUtils.js";import{screenPointEqual as y,createScreenPoint as f}from"../../core/screenUtils.js";import{diff as M}from"../../core/accessorSupport/diffUtils.js";import{property as _}from"../../core/accessorSupport/decorators/property.js";import{subclass as b}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as w}from"../../core/support/UpdatingHandles.js";import S from"../../geometry/Polygon.js";import{simplifyIsSimple as C,simplifyExecute as P}from"../../geometry/operators/simplifyOperator.js";import{isPolygon as H}from"../../geometry/support/typeUtils.js";import{isCurvedGeometry as x}from"../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as I}from"../../geometry/support/curves/densifyCurvedGeometry.js";import{getEffectiveElevationInfo as L}from"../../support/elevationInfoUtils.js";import{getMaxDeviationInPixels as O,getMinSegmentsPerCurve as k}from"../2d/layers/graphics/densificationConstants.js";import{createSnappingVisualizer as T}from"./support/createSnappingVisualizer.js";import{multipointFromGeometry as V,markHandled as G,getPointerType as j,getPointerId as E}from"./support/drawToolUtils.js";import{PluginContext as D}from"./support/PluginContext.js";import{viewEventToCommand as U}from"./support/input/drawToolInput.js";import{EditSessionManager as A}from"./support/managers/EditSessionManager.js";import{GlobalStateManager as F}from"./support/managers/GlobalStateManager.js";import{InteractiveHandleManager as R}from"./support/managers/InteractiveHandleManager.js";import{MeasurementManager as Z}from"./support/managers/MeasurementManager.js";import{PluginLifecycleManager as B}from"./support/managers/PluginLifecycleManager.js";import{SurfaceManager as q}from"./support/managers/SurfaceManager.js";import{TooltipManager as z}from"./support/managers/TooltipManager.js";import{ViewEventPriorities as K}from"../input/InputManager.js";import{createCoordinateHelper as N}from"../interactive/coordinateHelper.js";import{InteractiveToolBase as Q}from"../interactive/InteractiveToolBase.js";import{KeyBindings as W,mediaKeys as $,sketchKeys as J,advancedSketchKeys as X,tooltipKeys as Y}from"../interactive/keybindings.js";import{isInputModeAvailable as ee}from"../interactive/tooltip/tooltipCommonUtils.js";const te=Symbol();let ie=class extends Q{constructor(e){super(e),this._shapeVisualId=Symbol(),this._vertexVisualId=Symbol(),this._pluginContexts=new Map,this._queuedFeedbackEvents=[],this._flushingQueuedFeedbackEvents=!1,this._commandsSuspended=!1,this._snappingVisualizer=null,this._segmentLabels=null,this._segmentLabelsImportTask=null,this._updatingHandles=new w,this._keybindings=this._makeKeyBindings(),this._pendingBeginRequest=null,this.type="draw-2.0",this.automaticManipulatorSelection=!0,this.snappingManager=null,this.toolOptions=null,this.elevationInfo=null,this.hasZ=!1,this.defaultZ=0,this.lastScreenPosition=null,this.measurementManager=new Z,this.globalStateManager=new F({getPluginStack:()=>this.pluginStack}),this.editSessionManager=new A({getContext:()=>this._editSessionManagerContext}),this.lifecycleManager=new B({getContext:this._getContextForPlugin.bind(this),editSessionManager:this.editSessionManager,afterAttach:this._afterAttach.bind(this),afterDetach:this._afterDetach.bind(this),beforeResume:this._beforeResume.bind(this)}),this.surfaceManager=null,this.interactiveHandleManager=null,this.renderer=null,this.readPluginSetting=null,this.enableVertexVisuals=!0}initialize(){const{view:e}=this;this.interactiveHandleManager=new R({view:e,renderer:this.renderer}),this._override("manipulators",this.interactiveHandleManager.manipulators),this.tooltipManager=new z({getDependencies:()=>this._tooltipDependencies,getLastScreenPosition:()=>this.lastScreenPosition}),this.addHandles(u(()=>this.renderer,t=>{t.addOrUpdateVisual(this._shapeVisualId,{role:"outputGeometry"}),t.addOrUpdateVisual(this._vertexVisualId,{role:"vertex"}),this._updatingHandles.addPromise(T(e,t).then(e=>this._snappingVisualizer=e))},c)),this.addHandles([g(()=>[this.view,this.coordinateHelper.spatialReference,this.defaultZ,this.hasZ,this.elevationInfo],([e,t,i,n,a])=>{this.surfaceManager?.destroy(),this.surfaceManager=new q({spatialReference:t,excludedGraphicsLayer:null,defaultZ:i,hasZ:n,view:e,elevationInfo:a,getContext:()=>({drawAtFixedElevation:this.globalStateManager.drawAtFixedElevation,elevationConstraint:this.tooltipManager?.elevationConstraint,constraintsEnabled:this.tooltipManager?.constraintsEnabled??!1})})},h),u(()=>this.toolOptions?.tooltips.effectiveEnabled,()=>this.measurementManager.preloadMeasurementUtils(),{once:!0,initial:!0}),g(()=>[this.editGeometryOperations,this.toolOptions?.labels.enabled,this.globalStateManager.segmentLabelsDisabled],()=>{this._updatingHandles.addPromise(this._setupSegmentLabels())},c),m(()=>this.editSessionManager,"cancelPlugin",({plugin:e})=>{this._suspendPlugin(e)},v),m(()=>this.editSessionManager,"restartPlugin",({restartInfo:e})=>{this._resumePlugin(e)},v),g(()=>this.lifecycleManager.updating,e=>{e||this._emitQueuedFeedbackEvents()},v),m(()=>this.editGeometryOperations,["vertex-add","vertex-update","vertex-remove"],e=>{const t=e.vertices.map(e=>({componentIndex:0,vertexIndex:e.index,coordinates:this.coordinateHelper.vectorToArray(e.pos)})),i=t.map(e=>e.coordinates);switch(e.type){case"vertex-add":this._emitWhenReady(e.type,{...e,added:i,vertices:t});break;case"vertex-update":this._emitWhenReady(e.type,{...e,updated:i,vertices:t});break;case"vertex-remove":this._emitWhenReady(e.type,{...e,removed:i,vertices:t})}})])}destroy(){this.active&&this.onDeactivate(),this.editSessionManager.destroy(),this.lifecycleManager.destroy(),this.measurementManager.destroy(),this.globalStateManager.destroy();for(const e of this._pluginContexts.values())e.destroy();this._pluginContexts.clear(),this.surfaceManager=l(this.surfaceManager),this.interactiveHandleManager=l(this.interactiveHandleManager),this._segmentLabelsImportTask=d(this._segmentLabelsImportTask),this._segmentLabels=l(this._segmentLabels),this.tooltipManager=l(this.tooltipManager)}get _zOfLastUserInput(){const e=this.mostDownstreamPlugin&&this.editSessionManager.getSession(this.mostDownstreamPlugin),t=e?.firstPointAddedBySession?.point;return t?.hasZ?t.z:null}get _tooltipDependencies(){const{defaultZ:e,editGeometryOperations:t,toolOptions:i,directionOptions:n,elevationInfo:a,view:s}=this;return t&&i&&s?{defaultZ:e,directionOptions:n,elevationInfo:a,editGeometryOperations:t,toolOptions:i,view:s,getActiveHandle:()=>this.interactiveHandleManager?.focusedHandle,getAllHandles:()=>this.interactiveHandleManager?.allhandles,getHelpMessageKey:()=>this.helpMessageKey,notifyTooltipsChanged:()=>{const{interactiveHandleManager:e,movementCommandContext:t}=this;e&&t&&e.reapplyPositions(t)}}:null}get _editSessionManagerContext(){const{coordinateHelper:e,view:t}=this;if(!t)return null;return{coordinateHelper:e,viewingMode:"3d"===t.type&&"global"===t.viewingMode?1:2}}get _densificationParameters(){const{view:e,coordinateHelper:t}=this,i=t.spatialReference,n=e?.spatialReference,a=e.resolution;if(!(i&&n&&a&&Number.isFinite(a)))return null;const s=n.metersPerUnit/i.metersPerUnit;return{maxDeviation:2**Math.round(Math.log2(a))*O()*s,minSegmentsPerCurve:k()}}get test(){return{densificationParameters:this._densificationParameters,segmentLabels:this._segmentLabels}}get updating(){return this._updatingHandles.updating||this.snappingManager?.updating||this.lifecycleManager.updating||!!this._segmentLabels?.updating}get coordinateHelper(){return N(this.hasZ,!1,this.view.spatialReference)}get editGeometry(){return this.editGeometryOperations?.data}get editGeometryOperations(){return this.editSessionManager.editGeometryOperations}get unprocessedGeometry(){return this.editSessionManager.outputGeometry}get simplifiedGeometryPreview(){const e=this.editSessionManager.outputGeometry;if(e&&H(e))try{const t=this._densificationParameters,i=x(e)&&t?new S({...I(e,t)}):e;if(!C(i))return P(i)}catch(t){return e}return e}get _suppressCoincidentPointOverlaysIn3D(){return"3d"===this.view.type&&"point"===this.unprocessedGeometry?.type&&!!this.interactiveHandleManager?.allhandles?.find(e=>"primary"===e.role)?.outputMapPosition}get _shapeVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.simplifiedGeometryPreview}get _vertexVisualGeometry(){return this._suppressCoincidentPointOverlaysIn3D?null:this.unprocessedGeometry}get canUndo(){return this.editSessionManager.canUndo}get canRedo(){return this.editSessionManager.canRedo}get pluginStack(){return this.lifecycleManager.pluginStack}get mostDownstreamPlugin(){return this.pluginStack.at(-1)}get mostUpstreamPlugin(){return this.pluginStack.at(0)}get positionOfLastUserInput(){const e=this.lastScreenPosition;return e?this.surfaceManager?.screenToMap(e,{firstPointZ:this._zOfLastUserInput})??this.view.toMap(e):this.view.center}get movementCommandContext(){const{editGeometryOperations:e,tooltipManager:t,surfaceManager:i,snappingManager:n,interactiveHandleManager:a,_snappingVisualizer:s,defaultZ:r,hasZ:o,globalStateManager:{drawAtFixedElevation:l},view:d}=this;return{tooltipManager:t,editGeometryOperations:e,surfaceManager:i,interactiveHandleManager:a,snappingManager:n,snappingVisualizer:s,pointerType:"mouse",hasZ:o,defaultZ:r,view:d,drawAtFixedElevation:l}}get tooltip(){return this.tooltipManager?.tooltip}get activeTooltipInfo(){return this.tooltipManager?.tooltipInfo}get helpMessageKey(){return this.pluginStack.items.findLast(e=>e.helpMessageKey)?.helpMessageKey??"noTool"}begin(e){this.active?(this.lifecycleManager.begin(e),this._pendingBeginRequest=null):this._pendingBeginRequest=e}complete(e){const t=this.lifecycleManager;if(e&&t.complete(e),0===t.pluginStack.length){const e=this.unprocessedGeometry,t=!e||"mesh"===e.type||C(e);this.emit("complete",{geometry:e,isSimple:t,aborted:!1,type:"complete",vertices:[]}),this.view?.activeTool===this&&(this.view.activeTool=null)}}cancelFirstUserLeafPlugin(){const e=this.pluginStack.toArray().findLast(e=>!0!==e.configuration?.hidden);e&&this.lifecycleManager.cancel(e)}getVertexSnappingCandidates(){return"secondary"===this.interactiveHandleManager?.capturingHandle?.role?[]:this.snappingManager?.getVertexCandidates()??[]}replaceLeaf(e){const t=this.lifecycleManager;t.updating?r.getLogger(this).info("Ignoring command; arrived while updating:","replaceLeaf"):t.replaceLeaf(e)}finishPart(){const e=this.mostUpstreamPlugin,t=e?.configuration;if(this.editGeometryOperations&&t&&t.kind?.includes("multipart")){const e=this.pluginStack.at(1);e&&this.complete(e)}}undo(){this._handleCommand({action:"undo"})}redo(){this._handleCommand({action:"redo"})}executeCommand(e){return this._handleCommand(e)}suspendCommands(){return this._commandsSuspended=!0,a(()=>{this._commandsSuspended=!1;const e=this.view?.inputManager.latestPointerInfo;if(e){const{x:t,y:i}=e.location;this._handleCommand({action:"manipulator-move-to",x:t,y:i})}})}addPromise(e){return this._updatingHandles.addPromise(e)}readPluginSettingValue(e,t){return this.readPluginSetting?.(e,t)}getGeometryIfCompleted(){const e=this.lifecycleManager.gatherCompletablePlugins();return this.editSessionManager?.generatePreviewGeometryForPlugins(e)}onActivate(){super.onActivate();const{view:e}=this;this.lastScreenPosition=e?.inputManager.latestPointerInfo?.location,this.renderer?.activate(),this._pendingBeginRequest&&(this.begin(this._pendingBeginRequest),this._pendingBeginRequest=null),this.enableVertexVisuals&&this.addHandles(g(()=>this._vertexVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._vertexVisualId,{geometry:e?V(e):null})},c)),this.addHandles([g(()=>this._shapeVisualGeometry,e=>{this.renderer?.addOrUpdateVisual(this._shapeVisualId,{geometry:e})},c),u(()=>this.interactiveHandleManager?.capturingHandle?.screenPosition,e=>this.lastScreenPosition=e,{initial:!0,equals:y}),g(()=>this.interactiveHandleManager?.capturingHandle?.outputMapPosition,(e,t)=>{const i=this.interactiveHandleManager?.capturingHandle?.editSession?.endVertex;e&&t&&i&&this._emitWhenReady("cursor-update",{updated:i.pos,type:"vertex-update",operation:"apply",vertices:[{componentIndex:i.part.index,vertexIndex:i.index,coordinates:i.pos}]})},v),this._keybindings.register(e,K.TOOL),g(()=>e.viewpoint,(e,t)=>{e&&t&&M(e,t)&&this._handleCommand({action:"viewpoint-moved"})})],te)}onDeactivate(){super.onDeactivate(),this.removeHandles(te),this.renderer?.deactivate(),this.snappingManager?.doneSnapping(),this.lifecycleManager.cancelAll(),this._pendingBeginRequest=null}onInputEvent(e){"pointer-down"===e.type?this.interactiveHandleManager?.notePointerDown(e.pointerId,e.pointerType):"pointer-up"!==e.type&&"pointer-leave"!==e.type||this.interactiveHandleManager?.notePointerUp(e.pointerId,e.pointerType);const t=U(e);t&&this._handleCommand(t)}forceAddVertex(){this._commitNext()}_emitWhenReady(e,t){if(this.destroyed)return;const i=()=>{this.emit(e,t)};this.lifecycleManager.updating||this._flushingQueuedFeedbackEvents?this._queuedFeedbackEvents.push(i):i()}_emitQueuedFeedbackEvents(){if(!(this.destroyed||this._flushingQueuedFeedbackEvents||this.lifecycleManager.updating||0===this._queuedFeedbackEvents.length)){this._flushingQueuedFeedbackEvents=!0;try{for(;!this.destroyed&&!this.lifecycleManager.updating&&this._queuedFeedbackEvents.length>0;)this._queuedFeedbackEvents.shift()?.()}finally{this._flushingQueuedFeedbackEvents=!1}}}async _handleCommand(e){if(!this._commandsSuspended)if(this.lifecycleManager.updating)r.getLogger(this).info("Ignoring command; arrived while updating:",e.action);else switch(e.action){case"view-drag":return await this._handleViewDragCommand(e);case"vertex-add":return this._guardCommand(e,()=>{G(e),this._commitNext()});case"vertex-add-and-finish-part":return this._handleVertexAddAndFinishPartCommand(e);case"cancel":return this._guardCommand(e,()=>this.cancel());case"complete":return this._guardCommand(e,()=>{this.mostUpstreamPlugin&&(G(e),this.complete(this.mostUpstreamPlugin))});case"finish-part":return this._guardCommand(e,()=>this.finishPart());case"undo":return this._guardCommand(e,()=>this.editSessionManager.undo());case"redo":return this._guardCommand(e,()=>this.editSessionManager.redo());case"next-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("forward"));case"previous-manipulator":return this._guardCommand(e,()=>this.interactiveHandleManager?.cycleManipulator("backward"));case"toggle-manipulator-follow":this.interactiveHandleManager?.toggleFollow()&&G(e);break;case"viewpoint-moved":return await this._handleViewpointMovedCommand(e);case"manipulator-move-to":return await this._handleManipulatorMoveToCommand(e);case"manipulator-drag-to":return await this._handleManipulatorDragToCommand(e);case"vertex-add-at-point":return await this._handleVertexAddAtPointCommand(e);case"show-tooltip":return this._guardCommand(e,async()=>{const t=this.tooltipManager?.tooltip;t&&ee(t.info)&&(await t.enterInputMode(),G(e))});case"constraint-center":this.globalStateManager.setCentered(e.enabled);break;case"constraint-aspect":this.globalStateManager.setPreserveAspectRatio(e.enabled)}}async _handleViewDragCommand(e){if(!this.editable)return;const t=e.originalEvent,i=this.interactiveHandleManager?.capturingHandle;(!t||!("pointerType"in t)||"touch"!==t.pointerType||"capture-always"!==i?.captureMode&&"capture-when-engaged"!==i?.captureMode)&&"capture-when-engaged"!==this.interactiveHandleManager?.capturingHandle?.captureMode?this._before(e)&&G(e):G(e)}_handleVertexAddAndFinishPartCommand(e){this._before(e)||(G(e),this._commitNext(),this.finishPart())}async _handleViewpointMovedCommand(e){if(!this.editable)return;const t=j(e.originalEvent),i=E(e.originalEvent);await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(null,{...this.movementCommandContext,pointerType:t,pointerId:i})),this.interactiveHandleManager?.updateAllScreenPositions(this.movementCommandContext.surfaceManager)}async _handleManipulatorMoveToCommand(e){if(!this.editable)return;const t=j(e.originalEvent),i=E(e.originalEvent);if(!this.interactiveHandleManager?.shouldCaptureInput(i,t))return;const n=this._updateLastScreenPosition(e);this.interactiveHandleManager?.capturingHandle&&G(e),await this._updatingHandles.addPromise(this.interactiveHandleManager?.capturingHandle?.moveTo(n,{...this.movementCommandContext,pointerType:t,pointerId:i}))}async _handleManipulatorDragToCommand(e){if(!this.editable)return;const t=j(e.originalEvent),i=E(e.originalEvent);if(!this.interactiveHandleManager?.shouldCaptureInput(i,t))return;const n=this._updateLastScreenPosition(e),a=this.interactiveHandleManager?.findHandleByManipulator(n,t);"touch"===t&&a&&"start"===e.state&&this.interactiveHandleManager?.releaseHandle();const s=this.interactiveHandleManager?.findHandleDragging(),r=this.interactiveHandleManager?.capturingHandle,o=s??r??a;o&&!a&&G(e),"capture-when-engaged"===o?.captureMode||"capture-always"===o?.captureMode&&"touch"===t?"end"===e.state?await this._updatingHandles.addPromise(o.noteDragEnd(n,{...this.movementCommandContext,pointerType:t,pointerId:i}).then(()=>{o&&"touch"===j(e.originalEvent)&&"grabbable-object"!==o.captureMode&&"capture-when-engaged"!==o.defaultCaptureMode&&"primary"===o.role&&(1===this.interactiveHandleManager?.handleCount?this._handleCommand({action:"vertex-add"}):this.interactiveHandleManager?.releaseHandle())})):"start"===e.state?await this._updatingHandles.addPromise(o.noteDragStart(n,{...this.movementCommandContext,pointerType:t,pointerId:i}).then(()=>{o&&"touch"===j(e.originalEvent)&&"grabbable-object"!==o.captureMode&&"capture-when-engaged"!==o.defaultCaptureMode&&!o.editSession?.lastPointAddedBySession&&this._handleCommand({action:"vertex-add"})})):await this._updatingHandles.addPromise(o?.moveTo(n,{...this.movementCommandContext,pointerType:t,pointerId:i})):"grabbable-object"===o?.captureMode&&(this.interactiveHandleManager?.releaseHandle(r),await this._updatingHandles.addPromise(o.moveTo(n,{...this.movementCommandContext,pointerType:t,pointerId:i})))}async _handleVertexAddAtPointCommand(e){const t=this._updateLastScreenPosition(e),i=j(e.originalEvent),n=E(e.originalEvent);if(!this.interactiveHandleManager?.shouldCaptureInput(n,i))return;const a=this.interactiveHandleManager?.capturingHandle??this.interactiveHandleManager?.findHandleByManipulator(t,i);this.editable&&a&&(this._before(e)||(G(e),await this._updatingHandles.addPromise(a.moveTo(t,{...this.movementCommandContext,skipSnapping:!0,pointerType:i,pointerId:n}).finally(()=>this._commitNext()))))}_makeKeyBindings(){const e=new W,t=(t,i)=>{e.addToggle(t,e=>this._handleCommand({action:i,originalEvent:e,enabled:"key-down"===e.type}))},i=(t,i)=>{e.add(t,e=>this._handleCommand({action:i,originalEvent:e}))};return t($.preserveAspectRatio,"constraint-aspect"),t(J.center,"constraint-center"),i(X.toggleFollowManipulator,"toggle-manipulator-follow"),i(J.undo,"undo"),i(J.redo,"redo"),i(J.complete,"complete"),i(J.vertexAdd,"vertex-add"),i({key:Y.enterInputMode,continuePropagation:!0,repeats:!0},"show-tooltip"),e}_afterAttach(){}_afterDetach(e){this.interactiveHandleManager?.unregisterCustomConstraint(e),this.interactiveHandleManager?.unregisterHandle(e),this.tooltipManager?.unregisterPluginFields(e),this.globalStateManager.clearPluginOverrides(e);const t=this._pluginContexts.get(e);t&&(t.destroy(),this._pluginContexts.delete(e))}_beforeResume(e,t){this.interactiveHandleManager?.replaceEditSessions(e,t)}_commitNext(){const i={stack:[],error:void 0,hasError:!1};try{const t=this.mostDownstreamPlugin;if(!t)return;this.tooltipManager?.storeConstraintSnapshot();let n=!1;const a=this.editGeometryOperations;e(i,a?s(a.on("vertex-add",()=>n=!0)):null,!1);t.completeStep?t.completeStep():this.complete(t),n&&this.tooltipManager?.unlockOnVertexPlacement()}catch(n){i.error=n,i.hasError=!0}finally{t(i)}}_suspendPlugin(e){this.lifecycleManager.suspend(e),this.measurementManager.suspendPlugin(e)}_resumePlugin(e){this.lifecycleManager.resume(e)}_updateLastScreenPosition(e){const t=f(e.x,e.y);return this.lastScreenPosition=t,t}_getContextForPlugin(e,t){const i=o(this._pluginContexts,e,()=>new D({drawTool:this,plugin:e,session:t}));return i.session=t,i}_before(e){if(!this.hasEventListener(`before-${e.action}`))return!1;const t=new CustomEvent(`before-${e.action}`,{detail:e,cancelable:!0});return this.emit(`before-${e.action}`,t),t.defaultPrevented}_guardCommand(e,t,i){return this._before(e)?i?.():t()}async _setupSegmentLabels(){const e=this.editGeometryOperations,t=this.toolOptions?.labels,i=!!t?.enabled,n=this.globalStateManager.segmentLabelsDisabled;if(!e||!t||!i)return void(this._segmentLabels=l(this._segmentLabels));if(n)return void(this._segmentLabels&&(this._segmentLabels.visible=!1));if(this._segmentLabels?.context?.editGeometryOperations===e&&this._segmentLabels.context.labelOptions===t)return void(this._segmentLabels.visible=!0);const a=await this._createSegmentLabels(e,t);a&&(this._segmentLabels=l(this._segmentLabels),this._segmentLabels=a)}async _createSegmentLabels(e,t){this._segmentLabelsImportTask?.abort();const i=this._segmentLabelsImportTask=n(async i=>{if("3d"===this.view.type){const n=import("../3d/interactive/SegmentLabels3D.js"),{SegmentLabels3D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})}const n=import("../2d/interactive/SegmentLabels2D.js"),{SegmentLabels2D:a}=await this._updatingHandles.addPromise(n);return this._isSegmentLabelsSetupStale(i,e,t)?null:new a({context:{view:this.view,editGeometryOperations:e,elevationInfo:L(this.hasZ,this.elevationInfo),labelOptions:t},visible:!0})});return p(i.promise)}_isSegmentLabelsSetupStale(e,t,i){return e.aborted||this.editGeometryOperations!==t||this.toolOptions?.labels!==i||!i.enabled||this.globalStateManager.segmentLabelsDisabled}};i([_()],ie.prototype,"_commandsSuspended",void 0),i([_()],ie.prototype,"_zOfLastUserInput",null),i([_()],ie.prototype,"_snappingVisualizer",void 0),i([_()],ie.prototype,"_segmentLabels",void 0),i([_()],ie.prototype,"_segmentLabelsImportTask",void 0),i([_()],ie.prototype,"_tooltipDependencies",null),i([_()],ie.prototype,"_editSessionManagerContext",null),i([_()],ie.prototype,"_densificationParameters",null),i([_({constructOnly:!0,nonNullable:!0})],ie.prototype,"view",void 0),i([_()],ie.prototype,"automaticManipulatorSelection",void 0),i([_()],ie.prototype,"updating",null),i([_()],ie.prototype,"coordinateHelper",null),i([_()],ie.prototype,"editGeometry",null),i([_()],ie.prototype,"editGeometryOperations",null),i([_()],ie.prototype,"unprocessedGeometry",null),i([_()],ie.prototype,"simplifiedGeometryPreview",null),i([_()],ie.prototype,"_suppressCoincidentPointOverlaysIn3D",null),i([_()],ie.prototype,"_shapeVisualGeometry",null),i([_()],ie.prototype,"_vertexVisualGeometry",null),i([_()],ie.prototype,"snappingManager",void 0),i([_()],ie.prototype,"toolOptions",void 0),i([_()],ie.prototype,"elevationInfo",void 0),i([_()],ie.prototype,"hasZ",void 0),i([_()],ie.prototype,"defaultZ",void 0),i([_()],ie.prototype,"directionOptions",void 0),i([_()],ie.prototype,"canUndo",null),i([_()],ie.prototype,"canRedo",null),i([_()],ie.prototype,"pluginStack",null),i([_()],ie.prototype,"mostDownstreamPlugin",null),i([_()],ie.prototype,"mostUpstreamPlugin",null),i([_()],ie.prototype,"lastScreenPosition",void 0),i([_()],ie.prototype,"positionOfLastUserInput",null),i([_()],ie.prototype,"tooltipManager",void 0),i([_()],ie.prototype,"measurementManager",void 0),i([_()],ie.prototype,"globalStateManager",void 0),i([_()],ie.prototype,"editSessionManager",void 0),i([_()],ie.prototype,"lifecycleManager",void 0),i([_()],ie.prototype,"surfaceManager",void 0),i([_()],ie.prototype,"interactiveHandleManager",void 0),i([_()],ie.prototype,"renderer",void 0),i([_()],ie.prototype,"readPluginSetting",void 0),i([_()],ie.prototype,"movementCommandContext",null),i([_()],ie.prototype,"tooltip",null),i([_()],ie.prototype,"activeTooltipInfo",null),i([_()],ie.prototype,"helpMessageKey",null),i([_({constructOnly:!0})],ie.prototype,"enableVertexVisuals",void 0),ie=i([b("esri.views.draw.DrawTool")],ie);export{ie as DrawTool};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{isSome as t,equals as e}from"../../../core/arrayUtils.js";import{clone as o}from"../../../core/lang.js";import{getMetersPerUnitForSR as r}from"../../../core/units.js";import{lerp as n}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as a}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import l from"../../../geometry/Circle.js";import s from"../../../geometry/Multipoint.js";import i from"../../../geometry/Point.js";import c from"../../../geometry/Polygon.js";import p from"../../../geometry/Polyline.js";import{execute as y}from"../../../geometry/operators/distanceOperator.js";import{isSimple as u,execute as m}from"../../../geometry/operators/simplifyOperator.js";import{isClockwise as f}from"../../../geometry/support/coordsUtils.js";import{isValid as x}from"../../../geometry/support/spatialReferenceUtils.js";import{makeSurfacePoint as h}from"./surfaceCoordinateSystems.js";import{unnormalize as M}from"../../support/unnormalizationUtils.js";function g(t,e){const o=new i({x:t[0],y:t[1],spatialReference:e});return t.length>2&&(o.z=t[2]),o}function d(t,e){return new s({points:t,spatialReference:e})}function R(t,e,o){const r=new p({paths:t,spatialReference:e});return o&&M(r,r.spatialReference),r}function j(t,r,n,a=!0){const l=o(t);l.forEach(t=>{const o=t[0],r=t[t.length-1];e(o,r)&&1!==t.length||t.push(t[0])});let s=new c({rings:l,spatialReference:r});return s.rings.forEach(t=>{f(t)||t.reverse()}),n&&M(s,s.spatialReference),a&&!u(s)&&x(r)&&(s=m(s)||s),s}function T(e,o,r){const n=o.mapToLocalMultiple(e),a=[],l={x:n[0].x,y:n[0].y},s={x:n[1].x,y:n[1].y},i=Math.round(s.x-l.x),c=Math.round(s.y-l.y),p=Math.max(Math.abs(i),Math.abs(c));if(r){const t={x:l.x+p,y:l.y+p},e={x:l.x-p,y:l.y-p};a.push(h(t.x,e.y),h(e.x,e.y),h(e.x,t.y),h(t.x,t.y))}else{const t={x:i>0?l.x+p:l.x-p,y:c>0?l.y+p:l.y-p};a.push(h(l.x,l.y),h(t.x,l.y),h(t.x,t.y),h(l.x,t.y))}return U(j([a.map(t=>o.localToMap(t)).filter(t)],o.spatialReference,o.doUnnormalization,!0),a,o)}function b(e,o,r){let n=o.mapToLocalMultiple(e);if(1===n.length){const t=48,e=n[0];n=[h(e.x-t,e.y+t),h(e.x+t,e.y-t),h(e.x+t,e.y-t),h(e.x-t,e.y+t)]}const a=[],l={x:n[0].x,y:n[0].y},s={x:n[1].x,y:n[1].y};if(r){const t=Math.round(s.x-l.x),e=Math.round(s.y-l.y);a.push(h(l.x-t,l.y-e),h(s.x,l.y-e),h(s.x,s.y),h(l.x-t,s.y))}else a.push(h(l.x,l.y),h(s.x,l.y),h(s.x,s.y),h(l.x,s.y));return U(j([a.map(t=>o.localToMap(t)).filter(t)],o.spatialReference,o.doUnnormalization,!0),a,o)}function U(t,e,o){const r=z(e[3],e[2],o),n=z(e[1],e[2],o),a=z(e[0],e[1],o),l=z(e[0],e[3],o);return{geometry:t,midpoints:null!=r&&null!=n&&null!=a&&null!=l?{top:r,right:n,bottom:a,left:l}:null}}function z(t,e,o){w[0]=t.x,w[1]=t.y,w[2]=0,I[0]=e.x,I[1]=e.y,I[2]=0,n(w,w,I,.5),P.x=w[0],P.y=I[1],P.z=I[2];const r=o.localToMap(P);return null!=r?g(r,o.spatialReference):null}const P=h(0,0,0),w=a(),I=a();function L(t,e,o,n){const a=e.mapToLocalMultiple(t);let s=null,i=null;if(o)s=a[0],i=a[1];else{const t=a[0],e=a[1],o=Math.round(e.x-t.x),r=Math.round(e.y-t.y),n=Math.max(Math.abs(o),Math.abs(r));s=h(o>0?t.x+n/2:t.x-n/2,r>0?t.y+n/2:t.y-n/2),i=h(Math.abs(o)>Math.abs(r)?s.x-n/2:s.x,Math.abs(o)>Math.abs(r)?s.y:s.y-n/2)}const c=e.localToMap(s),p=e.localToMap(i);if(null==c||null==p)return null;e.doUnnormalization&&M([[c,p]],e.spatialReference);const u=g(c,e.spatialReference),m=g(p,e.spatialReference),f=r(e.spatialReference);let d=0;if(x(e.spatialReference))d=f*y(u,m);else{const t=s.x-i.x,e=s.y-i.y;d=f*Math.sqrt(t*t+e*e)*(n||1)}const R=new l({center:u,radius:d,radiusUnit:"meters",spatialReference:e.spatialReference});return{geometry:j(R.rings,R.spatialReference,!1),center:u,edge:m}}function v(e,o,r){const n=o.mapToLocalMultiple(e),a=n[0],l=n[1],s=Math.round(l.x-a.x),i=Math.round(l.y-a.y),c=h(r?a.x:a.x+s/2,r?a.y:a.y+i/2),p=r?s:s/2,y=r?i:i/2,u=60,m=[],f=2*Math.PI/u;function x(t){const e=Math.cos(t),o=Math.sin(t);return h(p*e+c.x,y*o+c.y)}for(let t=0;t<u;t++)m.push(x(t*f));m.push(m[0]);const{spatialReference:M,doUnnormalization:d}=o,R=j([m.map(t=>o.localToMap(t)).filter(t)],M,d,!1),T=o.localToMap(x(Math.PI/2)),b=o.localToMap(x(0)),U=o.localToMap(x(-Math.PI/2)),z=o.localToMap(x(Math.PI));return{geometry:R,midpoints:null!=T&&null!=b&&null!=U&&null!=z?{top:g(T,M),right:g(b,M),bottom:g(U,M),left:g(z,M)}:null}}export{L as createCircle,v as createEllipse,d as createMultipoint,g as createPoint,j as createPolygon,R as createPolyline,b as createRectangle,T as createSquare};
2
+ import{isSome as t,equals as e}from"../../../core/arrayUtils.js";import{clone as o}from"../../../core/lang.js";import{getMetersPerUnitForSR as r}from"../../../core/units.js";import{lerp as n}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{create as a}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import l from"../../../geometry/Circle.js";import s from"../../../geometry/Multipoint.js";import i from"../../../geometry/Point.js";import c from"../../../geometry/Polygon.js";import p from"../../../geometry/Polyline.js";import{distanceExecute as y}from"../../../geometry/operators/distanceOperator.js";import{simplifyIsSimple as m,simplifyExecute as u}from"../../../geometry/operators/simplifyOperator.js";import{isClockwise as f}from"../../../geometry/support/coordsUtils.js";import{isValid as x}from"../../../geometry/support/spatialReferenceUtils.js";import{makeSurfacePoint as h}from"./surfaceCoordinateSystems.js";import{unnormalize as M}from"../../support/unnormalizationUtils.js";function g(t,e){const o=new i({x:t[0],y:t[1],spatialReference:e});return t.length>2&&(o.z=t[2]),o}function d(t,e){return new s({points:t,spatialReference:e})}function R(t,e,o){const r=new p({paths:t,spatialReference:e});return o&&M(r,r.spatialReference),r}function j(t,r,n,a=!0){const l=o(t);l.forEach(t=>{const o=t[0],r=t[t.length-1];e(o,r)&&1!==t.length||t.push(t[0])});let s=new c({rings:l,spatialReference:r});return s.rings.forEach(t=>{f(t)||t.reverse()}),n&&M(s,s.spatialReference),a&&!m(s)&&x(r)&&(s=u(s)||s),s}function T(e,o,r){const n=o.mapToLocalMultiple(e),a=[],l={x:n[0].x,y:n[0].y},s={x:n[1].x,y:n[1].y},i=Math.round(s.x-l.x),c=Math.round(s.y-l.y),p=Math.max(Math.abs(i),Math.abs(c));if(r){const t={x:l.x+p,y:l.y+p},e={x:l.x-p,y:l.y-p};a.push(h(t.x,e.y),h(e.x,e.y),h(e.x,t.y),h(t.x,t.y))}else{const t={x:i>0?l.x+p:l.x-p,y:c>0?l.y+p:l.y-p};a.push(h(l.x,l.y),h(t.x,l.y),h(t.x,t.y),h(l.x,t.y))}return U(j([a.map(t=>o.localToMap(t)).filter(t)],o.spatialReference,o.doUnnormalization,!0),a,o)}function b(e,o,r){let n=o.mapToLocalMultiple(e);if(1===n.length){const t=48,e=n[0];n=[h(e.x-t,e.y+t),h(e.x+t,e.y-t),h(e.x+t,e.y-t),h(e.x-t,e.y+t)]}const a=[],l={x:n[0].x,y:n[0].y},s={x:n[1].x,y:n[1].y};if(r){const t=Math.round(s.x-l.x),e=Math.round(s.y-l.y);a.push(h(l.x-t,l.y-e),h(s.x,l.y-e),h(s.x,s.y),h(l.x-t,s.y))}else a.push(h(l.x,l.y),h(s.x,l.y),h(s.x,s.y),h(l.x,s.y));return U(j([a.map(t=>o.localToMap(t)).filter(t)],o.spatialReference,o.doUnnormalization,!0),a,o)}function U(t,e,o){const r=z(e[3],e[2],o),n=z(e[1],e[2],o),a=z(e[0],e[1],o),l=z(e[0],e[3],o);return{geometry:t,midpoints:null!=r&&null!=n&&null!=a&&null!=l?{top:r,right:n,bottom:a,left:l}:null}}function z(t,e,o){w[0]=t.x,w[1]=t.y,w[2]=0,I[0]=e.x,I[1]=e.y,I[2]=0,n(w,w,I,.5),P.x=w[0],P.y=I[1],P.z=I[2];const r=o.localToMap(P);return null!=r?g(r,o.spatialReference):null}const P=h(0,0,0),w=a(),I=a();function L(t,e,o,n){const a=e.mapToLocalMultiple(t);let s=null,i=null;if(o)s=a[0],i=a[1];else{const t=a[0],e=a[1],o=Math.round(e.x-t.x),r=Math.round(e.y-t.y),n=Math.max(Math.abs(o),Math.abs(r));s=h(o>0?t.x+n/2:t.x-n/2,r>0?t.y+n/2:t.y-n/2),i=h(Math.abs(o)>Math.abs(r)?s.x-n/2:s.x,Math.abs(o)>Math.abs(r)?s.y:s.y-n/2)}const c=e.localToMap(s),p=e.localToMap(i);if(null==c||null==p)return null;e.doUnnormalization&&M([[c,p]],e.spatialReference);const m=g(c,e.spatialReference),u=g(p,e.spatialReference),f=r(e.spatialReference);let d=0;if(x(e.spatialReference))d=f*y(m,u);else{const t=s.x-i.x,e=s.y-i.y;d=f*Math.sqrt(t*t+e*e)*(n||1)}const R=new l({center:m,radius:d,radiusUnit:"meters",spatialReference:e.spatialReference});return{geometry:j(R.rings,R.spatialReference,!1),center:m,edge:u}}function v(e,o,r){const n=o.mapToLocalMultiple(e),a=n[0],l=n[1],s=Math.round(l.x-a.x),i=Math.round(l.y-a.y),c=h(r?a.x:a.x+s/2,r?a.y:a.y+i/2),p=r?s:s/2,y=r?i:i/2,m=60,u=[],f=2*Math.PI/m;function x(t){const e=Math.cos(t),o=Math.sin(t);return h(p*e+c.x,y*o+c.y)}for(let t=0;t<m;t++)u.push(x(t*f));u.push(u[0]);const{spatialReference:M,doUnnormalization:d}=o,R=j([u.map(t=>o.localToMap(t)).filter(t)],M,d,!1),T=o.localToMap(x(Math.PI/2)),b=o.localToMap(x(0)),U=o.localToMap(x(-Math.PI/2)),z=o.localToMap(x(Math.PI));return{geometry:R,midpoints:null!=T&&null!=b&&null!=U&&null!=z?{top:g(T,M),right:g(b,M),bottom:g(U,M),left:g(z,M)}:null}}export{L as createCircle,v as createEllipse,d as createMultipoint,g as createPoint,j as createPolygon,R as createPolyline,b as createRectangle,T as createSquare};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{isSome as t}from"../../core/arrayUtils.js";import r from"../../core/Logger.js";import{abortMaybe as o}from"../../core/maybe.js";import{unwrapUpdating as i,updating as n,isUpdating as l}from"../../core/maybeUpdating.js";import{throwIfAbortError as s,throwIfNotAbortError as a}from"../../core/promiseUtils.js";import{whenOnce as m}from"../../core/reactiveUtils.js";import{property as p,subclass as y}from"../../core/accessorSupport/decorators.js";import{project as u,canProjectWithoutEngine as c,isLoaded as g,load as d}from"../../geometry/projectionUtils.js";import h from"../../layers/support/FeatureFilter.js";import{SceneLayerViewFilter as f}from"../../layers/support/SceneLayerViewFilter.js";import w from"./LayerView.js";let x=class extends w{constructor(e){super(e),this.layer=null,this.filter=null,this._geometryOperators=null,this._projectionEngineLoaded=!1,this._abortController=new AbortController}get availableFields(){return[]}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){throw new Error("Not implemented")}get maximumNumberOfFeaturesExceeded(){return!1}get layerFilter(){return i(this._layerFilter)}get _layerFilter(){const e=this.layer?.filter;if(null==e||e.geometries.length<1)return null;if(!this._geometryOperators||!this._projectionEngineLoaded&&this._filterNeedsProjectionEngine)return n;const[o,i,l]=this._geometryOperators,s=e.geometries.at(0).spatialReference,a=e.geometries.toArray().map(e=>{let t;try{t=i.execute(e)}catch(o){return r.getLogger(this).warnOncePerTick("Failed to simplify scene filter mask polygon. Polygon will be ignored."),null}if(!t)return null;if(t.spatialReference.equals(s))return t;try{return u(t,s)}catch(o){return r.getLogger(this).warnOncePerTick("Failed to project scene filter mask polygon. Polygon will be ignored."),null}}).filter(t).sort((e,t)=>e.extent.xmin-t.extent.xmin),m=new Set,p=new Array,y=new Array;for(let t of a){const e=t.extent.xmin;if(p.length=0,m.forEach(r=>{if(e>=r.extent.xmax)return y.push(r),void m.delete(r);t.extent.ymin<=r.extent.ymax&&t.extent.ymax>=r.extent.ymin&&o.execute(t,r)&&p.push(r)}),p.length>0){let e;p.push(t);try{e=l.executeMany(p)}catch(c){r.getLogger(this).warnOncePerTick("Failed to unify filter mask polygons. Polygon will be ignored.");continue}p.pop(),e&&(p.forEach(e=>m.delete(e)),t=e)}m.add(t)}return m.forEach(e=>y.push(e)),y.length>0?new f(y,e.spatialRelationship):null}get _filterNeedsProjectionEngine(){const e=this.layer.filter;if(null==e||e.geometries.length<=1)return!1;const t=e.geometries.at(0).spatialReference;return e.geometries.some(({spatialReference:e})=>!e.equals(t)&&!c(e,t))}get layerFilterUpdating(){return l(this._layerFilter)}initialize(){const{signal:e}=this._abortController;m(()=>this.destroyed||!this._geometryOperators&&this.layer?.filter?.geometries?.length,e).then(async()=>{s(e),this._geometryOperators=await Promise.all([import("../../geometry/operators/intersectsOperator.js"),import("../../geometry/operators/simplifyOperator.js"),import("../../geometry/operators/unionOperator.js")])}).catch(a),this._projectionEngineLoaded=g(),m(()=>this.destroyed||!this._projectionEngineLoaded&&this._filterNeedsProjectionEngine,e).then(async()=>{s(e),await d(),this._projectionEngineLoaded=!0}).catch(a)}destroy(){this._abortController=o(this._abortController)}highlight(e,t){throw new Error("Not implemented")}queryFeatures(e,t){throw new Error("Not implemented")}queryObjectIds(e,t){throw new Error("Not implemented")}queryFeatureCount(e,t){throw new Error("Not implemented")}createQuery(){throw new Error("Not implemented")}queryExtent(e,t){throw new Error("Not implemented")}};e([p()],x.prototype,"layer",void 0),e([p()],x.prototype,"availableFields",null),e([p()],x.prototype,"maximumNumberOfFeatures",null),e([p({readOnly:!0})],x.prototype,"maximumNumberOfFeaturesExceeded",null),e([p({type:h})],x.prototype,"filter",void 0),e([p({readOnly:!0})],x.prototype,"layerFilter",null),e([p({readOnly:!0})],x.prototype,"_layerFilter",null),e([p()],x.prototype,"_geometryOperators",void 0),e([p()],x.prototype,"_projectionEngineLoaded",void 0),e([p()],x.prototype,"_filterNeedsProjectionEngine",null),e([p()],x.prototype,"layerFilterUpdating",null),x=e([y("esri.views.layers.SceneLayerView")],x);const j=x;export{j as default};
2
+ import{__decorate as e}from"tslib";import{isSome as t}from"../../core/arrayUtils.js";import r from"../../core/Logger.js";import{abortMaybe as o}from"../../core/maybe.js";import{unwrapUpdating as i,updating as n,isUpdating as l}from"../../core/maybeUpdating.js";import{throwIfAbortError as s,throwIfNotAbortError as a}from"../../core/promiseUtils.js";import{whenOnce as m}from"../../core/reactiveUtils.js";import{property as p,subclass as y}from"../../core/accessorSupport/decorators.js";import{project as u,canProjectWithoutEngine as c,isLoaded as g,load as d}from"../../geometry/projectionUtils.js";import h from"../../layers/support/FeatureFilter.js";import{SceneLayerViewFilter as f}from"../../layers/support/SceneLayerViewFilter.js";import w from"./LayerView.js";let x=class extends w{constructor(e){super(e),this.layer=null,this.filter=null,this._geometryOperators=null,this._projectionEngineLoaded=!1,this._abortController=new AbortController}get availableFields(){return[]}get maximumNumberOfFeatures(){return 0}set maximumNumberOfFeatures(e){throw new Error("Not implemented")}get maximumNumberOfFeaturesExceeded(){return!1}get layerFilter(){return i(this._layerFilter)}get _layerFilter(){const e=this.layer?.filter;if(null==e||e.geometries.length<1)return null;if(!this._geometryOperators||!this._projectionEngineLoaded&&this._filterNeedsProjectionEngine)return n;const[o,i,l]=this._geometryOperators,s=e.geometries.at(0).spatialReference,a=e.geometries.toArray().map(e=>{let t;try{t=i.simplifyExecute(e)}catch(o){return r.getLogger(this).warnOncePerTick("Failed to simplify scene filter mask polygon. Polygon will be ignored."),null}if(!t)return null;if(t.spatialReference.equals(s))return t;try{return u(t,s)}catch(o){return r.getLogger(this).warnOncePerTick("Failed to project scene filter mask polygon. Polygon will be ignored."),null}}).filter(t).sort((e,t)=>e.extent.xmin-t.extent.xmin),m=new Set,p=new Array,y=new Array;for(let t of a){const e=t.extent.xmin;if(p.length=0,m.forEach(r=>{if(e>=r.extent.xmax)return y.push(r),void m.delete(r);t.extent.ymin<=r.extent.ymax&&t.extent.ymax>=r.extent.ymin&&o.intersectsExecute(t,r)&&p.push(r)}),p.length>0){let e;p.push(t);try{e=l.unionExecuteMany(p)}catch(c){r.getLogger(this).warnOncePerTick("Failed to unify filter mask polygons. Polygon will be ignored.");continue}p.pop(),e&&(p.forEach(e=>m.delete(e)),t=e)}m.add(t)}return m.forEach(e=>y.push(e)),y.length>0?new f(y,e.spatialRelationship):null}get _filterNeedsProjectionEngine(){const e=this.layer.filter;if(null==e||e.geometries.length<=1)return!1;const t=e.geometries.at(0).spatialReference;return e.geometries.some(({spatialReference:e})=>!e.equals(t)&&!c(e,t))}get layerFilterUpdating(){return l(this._layerFilter)}initialize(){const{signal:e}=this._abortController;m(()=>this.destroyed||!this._geometryOperators&&this.layer?.filter?.geometries?.length,e).then(async()=>{s(e),this._geometryOperators=await Promise.all([import("../../geometry/operators/intersectsOperator.js"),import("../../geometry/operators/simplifyOperator.js"),import("../../geometry/operators/unionOperator.js")])}).catch(a),this._projectionEngineLoaded=g(),m(()=>this.destroyed||!this._projectionEngineLoaded&&this._filterNeedsProjectionEngine,e).then(async()=>{s(e),await d(),this._projectionEngineLoaded=!0}).catch(a)}destroy(){this._abortController=o(this._abortController)}highlight(e,t){throw new Error("Not implemented")}queryFeatures(e,t){throw new Error("Not implemented")}queryObjectIds(e,t){throw new Error("Not implemented")}queryFeatureCount(e,t){throw new Error("Not implemented")}createQuery(){throw new Error("Not implemented")}queryExtent(e,t){throw new Error("Not implemented")}};e([p()],x.prototype,"layer",void 0),e([p()],x.prototype,"availableFields",null),e([p()],x.prototype,"maximumNumberOfFeatures",null),e([p({readOnly:!0})],x.prototype,"maximumNumberOfFeaturesExceeded",null),e([p({type:h})],x.prototype,"filter",void 0),e([p({readOnly:!0})],x.prototype,"layerFilter",null),e([p({readOnly:!0})],x.prototype,"_layerFilter",null),e([p()],x.prototype,"_geometryOperators",void 0),e([p()],x.prototype,"_projectionEngineLoaded",void 0),e([p()],x.prototype,"_filterNeedsProjectionEngine",null),e([p()],x.prototype,"layerFilterUpdating",null),x=e([y("esri.views.layers.SceneLayerView")],x);const j=x;export{j as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{max as e,createLength as t,createArea as o}from"../../core/quantity.js";import{deriveLengthUnitFromAreaUnit as r}from"../../core/units.js";import{set as n,scale as i,normalize as s,cross as a,subtract as m,dot as c,add as f}from"../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isEarth as u,isSphericalECEF as l}from"../../geometry/ellipsoidUtils.js";import g from"../../geometry/Multipoint.js";import y from"../../geometry/Point.js";import O from"../../geometry/Polygon.js";import S from"../../geometry/Polyline.js";import{projectWithoutEngine as J}from"../../geometry/projectionUtils.js";import N from"../../geometry/SpatialReference.js";import{WGS84ECEFSpatialReference as h,getSphericalPCPF as d,SphericalECEFSpatialReference as j}from"../../geometry/spatialReferenceEllipsoidUtils.js";import{execute as R}from"../../geometry/operators/areaOperator.js";import{execute as w}from"../../geometry/operators/centroidOperator.js";import{execute as x}from"../../geometry/operators/distanceOperator.js";import{load as v,execute as P}from"../../geometry/operators/geodeticAreaOperator.js";import{load as U,execute as L}from"../../geometry/operators/geodeticDistanceOperator.js";import{load as M,execute as b}from"../../geometry/operators/geodeticLengthOperator.js";import{execute as k}from"../../geometry/operators/lengthOperator.js";import{execute as C}from"../../geometry/operators/simplifyOperator.js";import{projectDirection as E}from"../../geometry/projection/projectDirection.js";import{fromJSON as q}from"../../geometry/support/jsonUtils.js";import{isWGS84 as z,isWebMercator as Z,isCGCS2000 as D,equals as W}from"../../geometry/support/spatialReferenceUtils.js";import{makeOrthonormal as $}from"../3d/support/mathUtils.js";import{autoMeasurementMode as A}from"./measurementWorkerUtils.js";async function I({geometryJSON:e,options:t}){await Promise.allSettled([v(),t?.returnLength?M():void 0]);const n=F(e,t),i=t?.unit??"square-meters",s=C(n)??n,a=P(s,{unit:i,...t}),m=o(a,i),c=t?.lengthUnit??r(i);return{area:m,centroid:t?.returnCentroid?G(s).toJSON():void 0,length:t?.returnLength?await H(s,{unit:c}):void 0}}function B(){v(),M(),U()}function F(e,t){const o="rings"in e?O.fromJSON(e):S.fromJSON(e);if(t?.stagedPoint){const e=y.fromJSON(t.stagedPoint),r=("rings"in o?o.rings:o.paths).at(-1);if(r){const{x:t,y:n,z:i,m:s}=e,a=o.hasZ&&o.hasM?[t,n,i??0,s??0]:o.hasZ?[t,n,i??0]:o.hasM?[t,n,s??0]:[t,n];r.push(a)}}return o}function G(e){return w(e)}async function H(e,o){await M();const r=o?.unit??"meters";return t(b(e,{...o,unit:r}),r)}function K({geometryJSON:e,options:t}){return H(F(e,t),t)}async function Q({geometry1JSON:e,geometry2JSON:o,options:r}){await U();const n=y.fromJSON(e),i=y.fromJSON(o),s=r?.unit??"meters";return t(L(n,i,{...r,unit:s}),s)}async function T({geometry1JSON:e,geometry2JSON:o,options:r}){await U();const n=g.fromJSON(e),i=g.fromJSON(o);if(n.points.length!==i.points.length)throw new Error("Input multipoints must have the same number of points.");const s=n.points.length,a=r?.unit??"meters",m=[],c={...r,unit:a};for(let f=0;f<s;f++){const e=n.getPoint(f),o=i.getPoint(f);m.push(null!=e&&null!=o?t(L(e,o,c),a):null)}return m}function V({geometryJSON:e,options:t}){return X(F(e,t),t)}function X(e,t){const n=t?.unit??"square-meters",i=t?.lengthUnit??r(n),s=C(e)??e,a=R(s,{unit:n,...t});return{area:o(a,n),centroid:t?.returnCentroid?G(s).toJSON():void 0,length:t?.returnLength?Y(s,{unit:i}):void 0}}function Y(e,o){const r=o?.unit??"meters";return t(k(e,{...o,unit:r}),r)}function _({geometryJSON:e,options:t}){return Y(F(e,t),t)}function ee({geometry1JSON:e,geometry2JSON:o,options:r}){const n=y.fromJSON(e),i=y.fromJSON(o),s=r?.unit??"meters";return t(x(n,i,{...r,unit:s}),s)}async function te(e){return ie(e.geometryJSON.spatialReference,I,V)(e)}async function oe(e){return ie(e.geometryJSON.spatialReference,K,_)(e)}async function re(e){return ie(e.geometry1JSON.spatialReference,Q,ee)(e)}async function ne(t){const o=ie(t.topLeftJSON.spatialReference,Q,ee),{topLeftJSON:r,topRightJSON:n,bottomRightJSON:i,bottomLeftJSON:s,options:a}=t,[m,c,f,p]=await Promise.all([o({geometry1JSON:s,geometry2JSON:i,options:a}),o({geometry1JSON:r,geometry2JSON:n,options:a}),o({geometry1JSON:i,geometry2JSON:n,options:a}),o({geometry1JSON:s,geometry2JSON:r,options:a})]);return{width:e(m,c),height:e(p,f)}}function ie(e,t,o){switch(A(e)){case 0:return t;case 1:return o}}function se(e){const{geometryJSON:t}=e,o=pe(t.spatialReference);if(!o)throw new Error("Cannot compute horizontal area without a valid spatial reference.");switch(o.mode){case 0:return V(e);case 1:return me(o,e)}}function ae({geometryJSON:e}){const t=q(e);if(!t)return null;const o=C(t);return o?o.toJSON():null}function me(e,{geometryJSON:t,options:o}){const r=F(t,o),n=ge,i=ue,s=le,a=W(r.spatialReference,e.spatialReference)?r.clone():J(r,r.spatialReference,e.spatialReference);if(!a)throw new Error(`Cannot project geometry from ${r.spatialReference?.wkid??"unknown"} to ${e.spatialReference.wkid}.`);fe(a,n,i,s);const{area:m,centroid:c,length:f}=X(a,o);return{area:m,centroid:ce(c,n,i,s,e.spatialReference,r.spatialReference),length:f}}function ce(e,t,o,r,n,s){if(!e)return e;i(o,o,e.x),i(r,r,e.y);const a=ye;return f(a,o,r),f(a,a,t),e.x=a[0],e.y=a[1],e.z=a[2],e.spatialReference=n,J(e,e.spatialReference,s)?.toJSON()??void 0}function fe(e,t,o,r){let f=0;n(t,0,0,0);for(const n of e.rings)for(const e of n)t[0]+=e[0],t[1]+=e[1],t[2]+=e[2],f++;i(t,t,1/f);const p=Oe;s(p,t);const u=Se,l=Math.atan2(p[1],p[0]);n(u,-Math.sin(l),Math.cos(l),0),W(e.spatialReference,h)&&(E(t,p,j,p,e.spatialReference),E(t,u,j,u,e.spatialReference)),$(u,p,o),a(r,o,p);const g=ye;for(const i of e.rings)for(const e of i){n(g,e[0],e[1],e[2]),m(g,g,t);const i=c(o,g),s=c(r,g);e[0]=i,e[1]=s}e.hasZ=!1,e.spatialReference=N.WebMercator}function pe(e){return e?u(e)?z(e)||Z(e)||D(e)||l(e)||W(e,h)?{mode:1,spatialReference:h}:{mode:0,spatialReference:e}:{mode:1,spatialReference:d(e)}:null}const ue=p(),le=p(),ge=p(),ye=p(),Oe=p(),Se=p();export{V as area2D,se as areaHorizontal,te as autoArea2D,re as autoDistance2DBetweenPoints,oe as autoLength2D,ne as autoSize2D,ee as distance2DBetweenPoints,I as geodeticArea,Q as geodeticDistanceBetweenPoints,T as geodeticDistanceBetweenPointsMany,K as geodeticLength,_ as length2D,B as preloadGeodetic,ae as simplify};
2
+ import{max as t,createLength as e,createArea as o}from"../../core/quantity.js";import{deriveLengthUnitFromAreaUnit as r}from"../../core/units.js";import{set as n,scale as i,normalize as s,cross as a,subtract as m,dot as c,add as f}from"../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isEarth as u,isSphericalECEF as l}from"../../geometry/ellipsoidUtils.js";import g from"../../geometry/Multipoint.js";import y from"../../geometry/Point.js";import O from"../../geometry/Polygon.js";import S from"../../geometry/Polyline.js";import{projectWithoutEngine as J}from"../../geometry/projectionUtils.js";import N from"../../geometry/SpatialReference.js";import{WGS84ECEFSpatialReference as h,getSphericalPCPF as d,SphericalECEFSpatialReference as j}from"../../geometry/spatialReferenceEllipsoidUtils.js";import{areaExecute as R}from"../../geometry/operators/areaOperator.js";import{centroidExecute as w}from"../../geometry/operators/centroidOperator.js";import{distanceExecute as v}from"../../geometry/operators/distanceOperator.js";import{geodeticAreaLoad as P,geodeticAreaExecute as U}from"../../geometry/operators/geodeticAreaOperator.js";import{geodeticDistanceLoad as L,geodeticDistanceExecute as M}from"../../geometry/operators/geodeticDistanceOperator.js";import{geodeticLengthLoad as b,geodeticLengthExecute as x}from"../../geometry/operators/geodeticLengthOperator.js";import{lengthExecute as k}from"../../geometry/operators/lengthOperator.js";import{simplifyExecute as C}from"../../geometry/operators/simplifyOperator.js";import{projectDirection as E}from"../../geometry/projection/projectDirection.js";import{fromJSON as q}from"../../geometry/support/jsonUtils.js";import{isWGS84 as z,isWebMercator as Z,isCGCS2000 as D,equals as W}from"../../geometry/support/spatialReferenceUtils.js";import{makeOrthonormal as $}from"../3d/support/mathUtils.js";import{autoMeasurementMode as A}from"./measurementWorkerUtils.js";async function I({geometryJSON:t,options:e}){await Promise.allSettled([P(),e?.returnLength?b():void 0]);const n=F(t,e),i=e?.unit??"square-meters",s=C(n)??n,a=U(s,{unit:i,...e}),m=o(a,i),c=e?.lengthUnit??r(i);return{area:m,centroid:e?.returnCentroid?G(s).toJSON():void 0,length:e?.returnLength?await H(s,{unit:c}):void 0}}function B(){P(),b(),L()}function F(t,e){const o="rings"in t?O.fromJSON(t):S.fromJSON(t);if(e?.stagedPoint){const t=y.fromJSON(e.stagedPoint),r=("rings"in o?o.rings:o.paths).at(-1);if(r){const{x:e,y:n,z:i,m:s}=t,a=o.hasZ&&o.hasM?[e,n,i??0,s??0]:o.hasZ?[e,n,i??0]:o.hasM?[e,n,s??0]:[e,n];r.push(a)}}return o}function G(t){return w(t)}async function H(t,o){await b();const r=o?.unit??"meters";return e(x(t,{...o,unit:r}),r)}function K({geometryJSON:t,options:e}){return H(F(t,e),e)}async function Q({geometry1JSON:t,geometry2JSON:o,options:r}){await L();const n=y.fromJSON(t),i=y.fromJSON(o),s=r?.unit??"meters";return e(M(n,i,{...r,unit:s}),s)}async function T({geometry1JSON:t,geometry2JSON:o,options:r}){await L();const n=g.fromJSON(t),i=g.fromJSON(o);if(n.points.length!==i.points.length)throw new Error("Input multipoints must have the same number of points.");const s=n.points.length,a=r?.unit??"meters",m=[],c={...r,unit:a};for(let f=0;f<s;f++){const t=n.getPoint(f),o=i.getPoint(f);m.push(null!=t&&null!=o?e(M(t,o,c),a):null)}return m}function V({geometryJSON:t,options:e}){return X(F(t,e),e)}function X(t,e){const n=e?.unit??"square-meters",i=e?.lengthUnit??r(n),s=C(t)??t,a=R(s,{unit:n,...e});return{area:o(a,n),centroid:e?.returnCentroid?G(s).toJSON():void 0,length:e?.returnLength?Y(s,{unit:i}):void 0}}function Y(t,o){const r=o?.unit??"meters";return e(k(t,{...o,unit:r}),r)}function _({geometryJSON:t,options:e}){return Y(F(t,e),e)}function tt({geometry1JSON:t,geometry2JSON:o,options:r}){const n=y.fromJSON(t),i=y.fromJSON(o),s=r?.unit??"meters";return e(v(n,i,{...r,unit:s}),s)}async function et(t){return it(t.geometryJSON.spatialReference,I,V)(t)}async function ot(t){return it(t.geometryJSON.spatialReference,K,_)(t)}async function rt(t){return it(t.geometry1JSON.spatialReference,Q,tt)(t)}async function nt(e){const o=it(e.topLeftJSON.spatialReference,Q,tt),{topLeftJSON:r,topRightJSON:n,bottomRightJSON:i,bottomLeftJSON:s,options:a}=e,[m,c,f,p]=await Promise.all([o({geometry1JSON:s,geometry2JSON:i,options:a}),o({geometry1JSON:r,geometry2JSON:n,options:a}),o({geometry1JSON:i,geometry2JSON:n,options:a}),o({geometry1JSON:s,geometry2JSON:r,options:a})]);return{width:t(m,c),height:t(p,f)}}function it(t,e,o){switch(A(t)){case 0:return e;case 1:return o}}function st(t){const{geometryJSON:e}=t,o=pt(e.spatialReference);if(!o)throw new Error("Cannot compute horizontal area without a valid spatial reference.");switch(o.mode){case 0:return V(t);case 1:return mt(o,t)}}function at({geometryJSON:t}){const e=q(t);if(!e)return null;const o=C(e);return o?o.toJSON():null}function mt(t,{geometryJSON:e,options:o}){const r=F(e,o),n=gt,i=ut,s=lt,a=W(r.spatialReference,t.spatialReference)?r.clone():J(r,r.spatialReference,t.spatialReference);if(!a)throw new Error(`Cannot project geometry from ${r.spatialReference?.wkid??"unknown"} to ${t.spatialReference.wkid}.`);ft(a,n,i,s);const{area:m,centroid:c,length:f}=X(a,o);return{area:m,centroid:ct(c,n,i,s,t.spatialReference,r.spatialReference),length:f}}function ct(t,e,o,r,n,s){if(!t)return t;i(o,o,t.x),i(r,r,t.y);const a=yt;return f(a,o,r),f(a,a,e),t.x=a[0],t.y=a[1],t.z=a[2],t.spatialReference=n,J(t,t.spatialReference,s)?.toJSON()??void 0}function ft(t,e,o,r){let f=0;n(e,0,0,0);for(const n of t.rings)for(const t of n)e[0]+=t[0],e[1]+=t[1],e[2]+=t[2],f++;i(e,e,1/f);const p=Ot;s(p,e);const u=St,l=Math.atan2(p[1],p[0]);n(u,-Math.sin(l),Math.cos(l),0),W(t.spatialReference,h)&&(E(e,p,j,p,t.spatialReference),E(e,u,j,u,t.spatialReference)),$(u,p,o),a(r,o,p);const g=yt;for(const i of t.rings)for(const t of i){n(g,t[0],t[1],t[2]),m(g,g,e);const i=c(o,g),s=c(r,g);t[0]=i,t[1]=s}t.hasZ=!1,t.spatialReference=N.WebMercator}function pt(t){return t?u(t)?z(t)||Z(t)||D(t)||l(t)||W(t,h)?{mode:1,spatialReference:h}:{mode:0,spatialReference:t}:{mode:1,spatialReference:d(t)}:null}const ut=p(),lt=p(),gt=p(),yt=p(),Ot=p(),St=p();export{V as area2D,st as areaHorizontal,et as autoArea2D,rt as autoDistance2DBetweenPoints,ot as autoLength2D,nt as autoSize2D,tt as distance2DBetweenPoints,I as geodeticArea,Q as geodeticDistanceBetweenPoints,T as geodeticDistanceBetweenPointsMany,K as geodeticLength,_ as length2D,B as preloadGeodetic,at as simplify};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../request.js";import t from"../../geometry/Point.js";import{execute as r}from"../../geometry/operators/projectOperator.js";import{projectResolution as i,getProjectionOffsetGrid as n,load as s}from"../../layers/raster/functions/rasterProjectionHelper.js";import{isImageSource as a,rasterize as o}from"../2d/engine/Bitmap.js";import{RenderingDevice as c}from"../2d/engine/webgl/RenderingDevice.js";import{SimpleMesh as p}from"../2d/engine/webgl/meshing/SimpleMesh.js";import{ReprojectShader as h}from"../2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ReprojectShader.js";import{PixelType as m}from"../webgl/enums.js";import{DisposableFramebufferObject as x}from"../webgl/FramebufferObject.js";import{createTransformTexture as d}from"../webgl/rasterUtils.js";import{RenderingContext as u}from"../webgl/RenderingContext.js";import{RenderingContextOptions as g}from"../webgl/RenderingContextOptions.js";import l from"../webgl/Texture.js";import{TextureDescriptor as f}from"../webgl/TextureDescriptor.js";const w={color:{blendMode:"none",write:[!0,!0,!0,!0]},depth:!1,stencil:!1};class _{static{this._instanceRefCount=0}constructor(e){if(this._ownsRctx=!1,e)this._ownsRctx=!1,this._rctx=e;else{if(_._instance)return _._instanceRefCount++,_._instance;_._instanceRefCount=1,_._instance=this,this._ownsRctx=!0;const e=document.createElement("canvas").getContext("webgl2");e.getExtension("OES_texture_float"),this._rctx=new u(e,new g)}this._renderingDevice=new c,this._renderingDevice.setPipelineState(w),this._shader=new h,this._quad=p.fromVertexStream(this._rctx,[0,0,1,0,0,1,1,1])}reprojectTexture(e,s,a=!1){const o=r(e.extent,s),c=new t({x:(e.extent.xmax-e.extent.xmin)/e.texture.descriptor.width,y:(e.extent.ymax-e.extent.ymin)/e.texture.descriptor.height,spatialReference:e.extent.spatialReference}),{x:p,y:h}=i(c,s,e.extent);let u=(p+h)/2;const g=Math.round((o.xmax-o.xmin)/u),l=Math.round((o.ymax-o.ymin)/u);u=(o.width/g+o.height/l)/2;const w=new t({x:u,y:u,spatialReference:o.spatialReference}),_=n({projectedExtent:o,srcBufferExtent:e.extent,pixelSize:w,hasWrapAround:!0,spacing:[16,16]}),b=d(this._rctx,_),j=new f(g,l);j.wrapMode=33071;const D=new x(this._rctx,j);if(this._rctx.bindFramebuffer(D),this._rctx.setViewport(0,0,g,l),this._drawReprojectedTexture(e.texture,b,{targetImageSize:[g,l],transformSpacing:_.spacing,transformGridSize:_.size}),this._rctx.useProgram(null),this._rctx.bindFramebuffer(null),b.dispose(),a){const{width:e,height:t}=D,r=new ImageData(e??0,t??0);D.readPixels(0,0,e??0,t??0,6408,m.UNSIGNED_BYTE,r.data);const i=D.detachColorTexture();return D.dispose(),{texture:i,extent:o,imageData:r}}const R=D.detachColorTexture();return D.dispose(),{texture:R,extent:o}}reprojectBitmapData(e,t){const r=a(e.bitmapData)?o(e.bitmapData):e.bitmapData,i=new f(e.bitmapData.width,e.bitmapData.height);i.wrapMode=33071;const n=new l(this._rctx,i,r),s=this.reprojectTexture({texture:n,extent:e.extent},t,!0);s.texture.dispose();const c=document.createElement("canvas"),p=s.imageData;c.width=p.width,c.height=p.height;return c.getContext("2d").putImageData(p,0,0),{bitmapData:c,extent:s.extent}}async loadAndReprojectBitmapData(t,r,i){const[n]=await Promise.all([e(t,{responseType:"image"}).then(e=>e.data),s()]),a=document.createElement("canvas");a.width=n.width,a.height=n.height;const o=a.getContext("2d");o.drawImage(n,0,0);const c=o.getImageData(0,0,a.width,a.height);if(r.spatialReference.equals(i))return{bitmapData:c,extent:r};const p=this.reprojectBitmapData({bitmapData:c,extent:r},i);return{bitmapData:p.bitmapData,extent:p.extent}}_drawReprojectedTexture(e,t,r){const{width:i=0,height:n=0}=e.descriptor,s={coordScale:[1,1],srcImageSize:[i,n],opacity:1},a={texture:{texture:e,unit:0},projectionTextures:{transformTexture:{texture:t,unit:1}},pixelMaskTexture:null,highlightTexture:null},o={shader:this._shader,uniforms:{config:s,projectionConfig:r},textures:a,defines:{applyProjection:!0,lookupProjection:1===r.transformSpacing[0],bilinear:!1,bicubic:!1,nearestOnEdge:!1,applyPixelMask:!1,applyPixelHighlights:!1},optionalAttributes:{},useComputeBuffer:!1};this._renderingDevice.setPipelineStateNeedsUpdate(!0),this._renderingDevice.submitDrawMesh(this._rctx,o,this._quad)}destroy(){this._ownsRctx?(_._instanceRefCount--,0===_._instanceRefCount&&(this._destroyWebGLResource(),this._rctx.dispose(),_._instance=null)):this._destroyWebGLResource()}_destroyWebGLResource(){this._quad.destroy(),this._renderingDevice.dispose()}}export{_ as ImageReprojector};
2
+ import e from"../../request.js";import t from"../../geometry/Point.js";import{projectExecute as r}from"../../geometry/operators/projectOperator.js";import{projectResolution as i,getProjectionOffsetGrid as n,load as s}from"../../layers/raster/functions/rasterProjectionHelper.js";import{isImageSource as a,rasterize as o}from"../2d/engine/Bitmap.js";import{RenderingDevice as c}from"../2d/engine/webgl/RenderingDevice.js";import{SimpleMesh as p}from"../2d/engine/webgl/meshing/SimpleMesh.js";import{ReprojectShader as h}from"../2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ReprojectShader.js";import{PixelType as m}from"../webgl/enums.js";import{DisposableFramebufferObject as x}from"../webgl/FramebufferObject.js";import{createTransformTexture as d}from"../webgl/rasterUtils.js";import{RenderingContext as u}from"../webgl/RenderingContext.js";import{RenderingContextOptions as g}from"../webgl/RenderingContextOptions.js";import l from"../webgl/Texture.js";import{TextureDescriptor as f}from"../webgl/TextureDescriptor.js";const w={color:{blendMode:"none",write:[!0,!0,!0,!0]},depth:!1,stencil:!1};class _{static{this._instanceRefCount=0}constructor(e){if(this._ownsRctx=!1,e)this._ownsRctx=!1,this._rctx=e;else{if(_._instance)return _._instanceRefCount++,_._instance;_._instanceRefCount=1,_._instance=this,this._ownsRctx=!0;const e=document.createElement("canvas").getContext("webgl2");e.getExtension("OES_texture_float"),this._rctx=new u(e,new g)}this._renderingDevice=new c,this._renderingDevice.setPipelineState(w),this._shader=new h,this._quad=p.fromVertexStream(this._rctx,[0,0,1,0,0,1,1,1])}reprojectTexture(e,s,a=!1){const o=r(e.extent,s),c=new t({x:(e.extent.xmax-e.extent.xmin)/e.texture.descriptor.width,y:(e.extent.ymax-e.extent.ymin)/e.texture.descriptor.height,spatialReference:e.extent.spatialReference}),{x:p,y:h}=i(c,s,e.extent);let u=(p+h)/2;const g=Math.round((o.xmax-o.xmin)/u),l=Math.round((o.ymax-o.ymin)/u);u=(o.width/g+o.height/l)/2;const w=new t({x:u,y:u,spatialReference:o.spatialReference}),_=n({projectedExtent:o,srcBufferExtent:e.extent,pixelSize:w,hasWrapAround:!0,spacing:[16,16]}),b=d(this._rctx,_),j=new f(g,l);j.wrapMode=33071;const D=new x(this._rctx,j);if(this._rctx.bindFramebuffer(D),this._rctx.setViewport(0,0,g,l),this._drawReprojectedTexture(e.texture,b,{targetImageSize:[g,l],transformSpacing:_.spacing,transformGridSize:_.size}),this._rctx.useProgram(null),this._rctx.bindFramebuffer(null),b.dispose(),a){const{width:e,height:t}=D,r=new ImageData(e??0,t??0);D.readPixels(0,0,e??0,t??0,6408,m.UNSIGNED_BYTE,r.data);const i=D.detachColorTexture();return D.dispose(),{texture:i,extent:o,imageData:r}}const R=D.detachColorTexture();return D.dispose(),{texture:R,extent:o}}reprojectBitmapData(e,t){const r=a(e.bitmapData)?o(e.bitmapData):e.bitmapData,i=new f(e.bitmapData.width,e.bitmapData.height);i.wrapMode=33071;const n=new l(this._rctx,i,r),s=this.reprojectTexture({texture:n,extent:e.extent},t,!0);s.texture.dispose();const c=document.createElement("canvas"),p=s.imageData;c.width=p.width,c.height=p.height;return c.getContext("2d").putImageData(p,0,0),{bitmapData:c,extent:s.extent}}async loadAndReprojectBitmapData(t,r,i){const[n]=await Promise.all([e(t,{responseType:"image"}).then(e=>e.data),s()]),a=document.createElement("canvas");a.width=n.width,a.height=n.height;const o=a.getContext("2d");o.drawImage(n,0,0);const c=o.getImageData(0,0,a.width,a.height);if(r.spatialReference.equals(i))return{bitmapData:c,extent:r};const p=this.reprojectBitmapData({bitmapData:c,extent:r},i);return{bitmapData:p.bitmapData,extent:p.extent}}_drawReprojectedTexture(e,t,r){const{width:i=0,height:n=0}=e.descriptor,s={coordScale:[1,1],srcImageSize:[i,n],opacity:1},a={texture:{texture:e,unit:0},projectionTextures:{transformTexture:{texture:t,unit:1}},pixelMaskTexture:null,highlightTexture:null},o={shader:this._shader,uniforms:{config:s,projectionConfig:r},textures:a,defines:{applyProjection:!0,lookupProjection:1===r.transformSpacing[0],bilinear:!1,bicubic:!1,nearestOnEdge:!1,applyPixelMask:!1,applyPixelHighlights:!1},optionalAttributes:{},useComputeBuffer:!1};this._renderingDevice.setPipelineStateNeedsUpdate(!0),this._renderingDevice.submitDrawMesh(this._rctx,o,this._quad)}destroy(){this._ownsRctx?(_._instanceRefCount--,0===_._instanceRefCount&&(this._destroyWebGLResource(),this._rctx.dispose(),_._instance=null)):this._destroyWebGLResource()}_destroyWebGLResource(){this._quad.destroy(),this._renderingDevice.dispose()}}export{_ as ImageReprojector};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import e from"../../Viewpoint.js";import i from"../../core/CollectionFlattener.js";import{destroyMaybe as s}from"../../core/maybe.js";import{whenOnce as r,watch as o,syncAndInitial as a}from"../../core/reactiveUtils.js";import{property as n,subclass as l}from"../../core/accessorSupport/decorators.js";import{initialize as p}from"../../core/workers/workers.js";import{isLoadedOrLoadFor as h}from"../../geometry/projectionUtils.js";import{load as d}from"../../geometry/operators/projectOperator.js";import g from"../../layers/support/TileInfo.js";import{computeVideoToMapBaricentric as m}from"../../layers/video/videoUtils.js";import c from"../View.js";import{Viewport2DBaseMixin as u}from"../Viewport2DBaseMixin.js";import w from"../2d/AnimationManager.js";import{GoToManager as y}from"../2d/GoToManager.js";import{layerView2DImporter as f}from"../2d/layerViewModuleImportUtils.js";import V from"../2d/tiling/TileInfoView.js";import"../2d/tiling/TileKey.js";import"../2d/tiling/TileQueue.js";import"../2d/tiling/TileStrategy.js";import{extentToScale as v}from"../2d/viewpointUtils.js";import T from"../2d/layers/features/support/TileStore.js";import{hitTest as j}from"../2d/support/hitTestUtils.js";import{Timeline as M}from"../2d/support/Timeline.js";let _,S,C;async function R(){const[,{GraphicsView2D:t,GraphicContainer:e,MapViewNavigation:i}]=await Promise.all([import("../2d/webglDeps.js"),import("../2d/mapViewDeps.js"),d()]);_=t,S=e,C=i}let b=class extends(u(c)){constructor(t){super(t),this.stage=null,this.rootLayerViews=new i({getCollections:()=>[this.layerViews],getChildrenFunction:()=>null}),this.featuresTilingScheme=null,this.graphicsView=null,this.timeline=new M,this.goToManager=new y({view:this}),this.map=null,this.surface=null,this.padding={top:0,right:0,bottom:0,left:0},p(),this._groundControlPoints=t?.groundControlPoints.bind(this),this._getVideoResolution=t?.getVideoResolution.bind(this),this._getSize=t?.getSize.bind(this)}initialize(){this.addResolvingPromise(r(()=>this.ready))}destroy(){this.layerViewManager.clear(),this._set("preconditionsReady",!1),this.frameTask=s(this.frameTask),this.goToManager.destroy(),this.rootLayerViews.destroy()}get graphicsTileStore(){return new T(this.featuresTilingScheme)}get typeSpecificPreconditionsReady(){const t=this._getDefaultViewpoint();if(!t)return!1;const e=t.targetGeometry,i=this.spatialReference;return h(e.spatialReference,i)}videoToMap(t){const e=this._groundControlPoints?.();if(!e)return null;const i=this._getVideoResolution?.(),s=this._getSize?.();if(!i||!s||0===i[1]||0===s[1])return null;const r=i[0]/s[0],o=i[1]/s[1];return t.x*=r,t.y*=-o,m(t,e,this.state.spatialReference)}async hitTest(t,e){return j(this,t,e)}goTo(t,e){return this.goToManager.goTo(t,e)}toMap(t){return this.stateManager.toMap(t)}requestUpdate(){this.ready&&this.frameTask.requestUpdate()}loadAsyncDependencies(){return R()}hasLayerViewModule(t){return f.hasLayerViewModule(t)}importLayerView(t){return f.importLayerView(t)}_getDefaultViewpoint(){const{constraints:t,initialExtent:i,map:s,padding:r,size:o}=this;if(!t)return null;const a=s&&"initialViewProperties"in s?s.initialViewProperties:void 0,n=this.stateManager.getUserStartupOptions(this.size),l=a?.viewpoint,p=l?.targetGeometry?.extent??i,h=p?.center,d=l?.rotation??0,g=l?.scale||p&&v(p,[o[0]-r.left-r.right,o[1]-r.top-r.bottom]),m=n.center??h,c=n.rotation??d,u=n.scale??g;return m&&u?new e({targetGeometry:m,scale:u,rotation:c}):null}_updateStageChildren(){this.stage.removeAllChildren(),this.rootLayerViews.forEach(t=>{this.stage.addChild(t.container)});const t=this.graphicsView;this.stage.addChild(t.container)}_startup(){this.timeline.begin("VideoOperationalDataView Startup");const t=this._getDefaultViewpoint();this.stateManager.startup(t,this.size,this.spatialReference,this.defaultsFromMap.extent?.center),this.graphics.owner=this;const e=new w({view:this});this._set("animationManager",e);const i=new C({view:this,animationManager:e});this._set("mapViewNavigation",i);const s=new V(g.create({spatialReference:this.spatialReference,size:512,numLODs:36}));this._set("featuresTilingScheme",s),this.stage.labelManager.featuresTilingScheme=s;const r=new _({view:this,graphics:this.graphics,requestUpdateCallback:()=>this.requestUpdate(),container:new S(s)});this._set("graphicsView",r),this.addHandles([this.rootLayerViews.on("change",()=>this._updateStageChildren()),this.stage.on("webgl-error",t=>this.fatalError=t.error),o(()=>this.stationary,t=>this.stage.stationary=t,a),o(()=>this.state.id,()=>this.stage.state=this.state,a)],"video-graphics-view"),this._updateStageChildren(),this.timeline.end("VideoOperationalDataView Startup"),this.frameTask.start(),this.stage.viewIsReady=!0,this._set("ready",!0)}_teardown(){this.removeHandles("video-graphics-view"),this.mapViewNavigation.destroy(),this._set("mapViewNavigation",null),this.animation=null,this.animationManager.destroy(),this._set("animationManager",null),this.layerViewManager.clear(),this.stage.destroy(),this.stage=null;const t=this.graphicsView;this._set("graphicsView",null),t.destroy(),this._set("featuresTilingScheme",null),this._set("mapViewNavigation",null),this.graphics.owner=null,this.frameTask.stop(),this.stationaryManager.clear(),this._set("ready",!1),this.stateManager.teardown()}};t([n()],b.prototype,"stage",void 0),t([n({readOnly:!0})],b.prototype,"featuresTilingScheme",void 0),t([n({readOnly:!0})],b.prototype,"graphicsTileStore",null),t([n()],b.prototype,"graphicsView",void 0),t([n({type:M,readOnly:!0})],b.prototype,"timeline",void 0),t([n()],b.prototype,"goToManager",void 0),t([n()],b.prototype,"map",void 0),t([n({readOnly:!0})],b.prototype,"typeSpecificPreconditionsReady",null),t([n({readOnly:!0})],b.prototype,"surface",void 0),b=t([l("esri.views.video.VideoOperationalDataView")],b);const D=b;export{D as default};
2
+ import{__decorate as t}from"tslib";import e from"../../Viewpoint.js";import i from"../../core/CollectionFlattener.js";import{destroyMaybe as s}from"../../core/maybe.js";import{whenOnce as r,watch as o,syncAndInitial as a}from"../../core/reactiveUtils.js";import{property as n,subclass as l}from"../../core/accessorSupport/decorators.js";import{initialize as p}from"../../core/workers/workers.js";import{isLoadedOrLoadFor as h}from"../../geometry/projectionUtils.js";import{projectLoad as d}from"../../geometry/operators/projectOperator.js";import g from"../../layers/support/TileInfo.js";import{computeVideoToMapBaricentric as m}from"../../layers/video/videoUtils.js";import c from"../View.js";import{Viewport2DBaseMixin as u}from"../Viewport2DBaseMixin.js";import w from"../2d/AnimationManager.js";import{GoToManager as y}from"../2d/GoToManager.js";import{layerView2DImporter as f}from"../2d/layerViewModuleImportUtils.js";import V from"../2d/tiling/TileInfoView.js";import"../2d/tiling/TileKey.js";import"../2d/tiling/TileQueue.js";import"../2d/tiling/TileStrategy.js";import{extentToScale as v}from"../2d/viewpointUtils.js";import T from"../2d/layers/features/support/TileStore.js";import{hitTest as j}from"../2d/support/hitTestUtils.js";import{Timeline as M}from"../2d/support/Timeline.js";let _,S,C;async function R(){const[,{GraphicsView2D:t,GraphicContainer:e,MapViewNavigation:i}]=await Promise.all([import("../2d/webglDeps.js"),import("../2d/mapViewDeps.js"),d()]);_=t,S=e,C=i}let b=class extends(u(c)){constructor(t){super(t),this.stage=null,this.rootLayerViews=new i({getCollections:()=>[this.layerViews],getChildrenFunction:()=>null}),this.featuresTilingScheme=null,this.graphicsView=null,this.timeline=new M,this.goToManager=new y({view:this}),this.map=null,this.surface=null,this.padding={top:0,right:0,bottom:0,left:0},p(),this._groundControlPoints=t?.groundControlPoints.bind(this),this._getVideoResolution=t?.getVideoResolution.bind(this),this._getSize=t?.getSize.bind(this)}initialize(){this.addResolvingPromise(r(()=>this.ready))}destroy(){this.layerViewManager.clear(),this._set("preconditionsReady",!1),this.frameTask=s(this.frameTask),this.goToManager.destroy(),this.rootLayerViews.destroy()}get graphicsTileStore(){return new T(this.featuresTilingScheme)}get typeSpecificPreconditionsReady(){const t=this._getDefaultViewpoint();if(!t)return!1;const e=t.targetGeometry,i=this.spatialReference;return h(e.spatialReference,i)}videoToMap(t){const e=this._groundControlPoints?.();if(!e)return null;const i=this._getVideoResolution?.(),s=this._getSize?.();if(!i||!s||0===i[1]||0===s[1])return null;const r=i[0]/s[0],o=i[1]/s[1];return t.x*=r,t.y*=-o,m(t,e,this.state.spatialReference)}async hitTest(t,e){return j(this,t,e)}goTo(t,e){return this.goToManager.goTo(t,e)}toMap(t){return this.stateManager.toMap(t)}requestUpdate(){this.ready&&this.frameTask.requestUpdate()}loadAsyncDependencies(){return R()}hasLayerViewModule(t){return f.hasLayerViewModule(t)}importLayerView(t){return f.importLayerView(t)}_getDefaultViewpoint(){const{constraints:t,initialExtent:i,map:s,padding:r,size:o}=this;if(!t)return null;const a=s&&"initialViewProperties"in s?s.initialViewProperties:void 0,n=this.stateManager.getUserStartupOptions(this.size),l=a?.viewpoint,p=l?.targetGeometry?.extent??i,h=p?.center,d=l?.rotation??0,g=l?.scale||p&&v(p,[o[0]-r.left-r.right,o[1]-r.top-r.bottom]),m=n.center??h,c=n.rotation??d,u=n.scale??g;return m&&u?new e({targetGeometry:m,scale:u,rotation:c}):null}_updateStageChildren(){this.stage.removeAllChildren(),this.rootLayerViews.forEach(t=>{this.stage.addChild(t.container)});const t=this.graphicsView;this.stage.addChild(t.container)}_startup(){this.timeline.begin("VideoOperationalDataView Startup");const t=this._getDefaultViewpoint();this.stateManager.startup(t,this.size,this.spatialReference,this.defaultsFromMap.extent?.center),this.graphics.owner=this;const e=new w({view:this});this._set("animationManager",e);const i=new C({view:this,animationManager:e});this._set("mapViewNavigation",i);const s=new V(g.create({spatialReference:this.spatialReference,size:512,numLODs:36}));this._set("featuresTilingScheme",s),this.stage.labelManager.featuresTilingScheme=s;const r=new _({view:this,graphics:this.graphics,requestUpdateCallback:()=>this.requestUpdate(),container:new S(s)});this._set("graphicsView",r),this.addHandles([this.rootLayerViews.on("change",()=>this._updateStageChildren()),this.stage.on("webgl-error",t=>this.fatalError=t.error),o(()=>this.stationary,t=>this.stage.stationary=t,a),o(()=>this.state.id,()=>this.stage.state=this.state,a)],"video-graphics-view"),this._updateStageChildren(),this.timeline.end("VideoOperationalDataView Startup"),this.frameTask.start(),this.stage.viewIsReady=!0,this._set("ready",!0)}_teardown(){this.removeHandles("video-graphics-view"),this.mapViewNavigation.destroy(),this._set("mapViewNavigation",null),this.animation=null,this.animationManager.destroy(),this._set("animationManager",null),this.layerViewManager.clear(),this.stage.destroy(),this.stage=null;const t=this.graphicsView;this._set("graphicsView",null),t.destroy(),this._set("featuresTilingScheme",null),this._set("mapViewNavigation",null),this.graphics.owner=null,this.frameTask.stop(),this.stationaryManager.clear(),this._set("ready",!1),this.stateManager.teardown()}};t([n()],b.prototype,"stage",void 0),t([n({readOnly:!0})],b.prototype,"featuresTilingScheme",void 0),t([n({readOnly:!0})],b.prototype,"graphicsTileStore",null),t([n()],b.prototype,"graphicsView",void 0),t([n({type:M,readOnly:!0})],b.prototype,"timeline",void 0),t([n()],b.prototype,"goToManager",void 0),t([n()],b.prototype,"map",void 0),t([n({readOnly:!0})],b.prototype,"typeSpecificPreconditionsReady",null),t([n({readOnly:!0})],b.prototype,"surface",void 0),b=t([l("esri.views.video.VideoOperationalDataView")],b);const D=b;export{D as default};