@arcgis/core 4.33.0-next.20250513 → 4.33.0-next.20250515

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 (540) hide show
  1. package/Graphic.js +1 -1
  2. package/Map.js +1 -1
  3. package/WebScene.js +1 -1
  4. package/applications/Components/SelectionOperation.js +1 -1
  5. package/arcade/functions/centroid.js +1 -1
  6. package/arcade/functions/featuresetbase.js +1 -1
  7. package/arcade/functions/geomasync.js +1 -1
  8. package/arcade/functions/geometry.js +1 -1
  9. package/arcade/functions/geomsync.js +1 -1
  10. package/arcade/geometry/operators.js +1 -1
  11. package/arcade/geometry/operatorsWorker.js +1 -1
  12. package/arcade/treeAnalysis.js +1 -1
  13. package/assets/components/assets/combobox/t9n/messages.en.json +1 -1
  14. package/assets/components/assets/combobox/t9n/messages.json +1 -1
  15. package/assets/components/assets/icon/calendarHeatChart16.json +1 -0
  16. package/assets/components/assets/icon/calendarHeatChart24.json +1 -0
  17. package/assets/components/assets/icon/calendarHeatChart32.json +1 -0
  18. package/assets/components/assets/icon/matrixHeatChart16.json +1 -0
  19. package/assets/components/assets/icon/matrixHeatChart24.json +1 -0
  20. package/assets/components/assets/icon/matrixHeatChart32.json +1 -0
  21. package/assets/components/assets/icon/progressBarChart16.json +1 -0
  22. package/assets/components/assets/icon/progressBarChart24.json +1 -0
  23. package/assets/components/assets/icon/progressBarChart32.json +1 -0
  24. package/assets/components/assets/icon/spikeDataVisualization16.json +1 -0
  25. package/assets/components/assets/icon/spikeDataVisualization24.json +1 -0
  26. package/assets/components/assets/icon/spikeDataVisualization32.json +1 -0
  27. package/assets/components/assets/icon/spikeDataVisualizationOpen16.json +1 -0
  28. package/assets/components/assets/icon/spikeDataVisualizationOpen24.json +1 -0
  29. package/assets/components/assets/icon/spikeDataVisualizationOpen32.json +1 -0
  30. package/assets/components/assets/icon/spikeDataVisualizationOutlined16F.json +1 -0
  31. package/assets/components/assets/icon/spikeDataVisualizationOutlined24F.json +1 -0
  32. package/assets/components/assets/icon/spikeDataVisualizationOutlined32F.json +1 -0
  33. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked16.json +1 -0
  34. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked24.json +1 -0
  35. package/assets/components/assets/icon/spikeDataVisualizationOutlinedColorLocked32.json +1 -0
  36. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen16.json +1 -0
  37. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen24.json +1 -0
  38. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpen32.json +1 -0
  39. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked16.json +1 -0
  40. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked24.json +1 -0
  41. package/assets/components/assets/icon/spikeDataVisualizationOutlinedOpenColorLocked32.json +1 -0
  42. package/assets/esri/core/workers/RemoteClient.js +1 -1
  43. package/assets/esri/core/workers/chunks/009730713ed9bc7c7388.js +1 -0
  44. package/assets/esri/core/workers/chunks/02853ab923245459b32e.js +1 -0
  45. package/assets/esri/core/workers/chunks/0624ae07d3af8d5f1ac8.js +1 -0
  46. package/assets/esri/core/workers/chunks/0817ddd885ce8b2459cb.js +1 -0
  47. package/assets/esri/core/workers/chunks/{69e8aabe5a1eb2d1e414.js → 0832bd5195b5791dd803.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{4deeeceb784e4390441d.js → 0a4cece5e96fb7e8a57b.js} +1 -1
  49. package/assets/esri/core/workers/chunks/0d23610475c85385fbff.js +1 -0
  50. package/assets/esri/core/workers/chunks/{b4f38fe9cc948a39ad87.js → 0fd6d80393722132e044.js} +2 -2
  51. package/assets/esri/core/workers/chunks/{0766ecb677d667e5fb83.js.LICENSE.txt → 0fd6d80393722132e044.js.LICENSE.txt} +1 -1
  52. package/assets/esri/core/workers/chunks/1051a5a57b2fb843a555.js +1 -0
  53. package/assets/esri/core/workers/chunks/12e99071f6582f6caeaf.js +1 -0
  54. package/assets/esri/core/workers/chunks/133e4bde346828d4510b.js +1 -0
  55. package/assets/esri/core/workers/chunks/1991f0d0f0a12175f849.js +1 -0
  56. package/assets/esri/core/workers/chunks/19a58adc75a34f84b0ef.js +1 -0
  57. package/assets/esri/core/workers/chunks/1d7f2abfccc54659d6f2.js +1 -0
  58. package/assets/esri/core/workers/chunks/{339e7a900e2bba9d3647.js → 1f19bd3ef795c6765384.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{837f886f759fc6f0489d.js → 1f4fd9e3849f4e593375.js} +1 -1
  60. package/assets/esri/core/workers/chunks/1f9c6fbcd4d0eae1e574.js +1 -0
  61. package/assets/esri/core/workers/chunks/234117cc5cb7c6863313.js +1 -0
  62. package/assets/esri/core/workers/chunks/{07695960aa0344dbfbf3.js → 28d9e2ffc3059a55311e.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{1c025beaaac5ec7c04fb.js → 2adf558cd8d8155d07d7.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{47f64a340b5d56bf9e59.js → 2cf82d3645c75d311e99.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{f7ab3511f6627f467796.js → 377a7f0f7d304ff9fe5b.js} +1 -1
  66. package/assets/esri/core/workers/chunks/3b4b4f84d594db8945f9.js +1 -0
  67. package/assets/esri/core/workers/chunks/3bf1cf6c3cba172e2f6d.js +1 -0
  68. package/assets/esri/core/workers/chunks/{b3ca65d6112079fb1d00.js → 3ce5d7ad16e41eea05be.js} +1 -1
  69. package/assets/esri/core/workers/chunks/465f2db4ab8aa9c9f907.js +1 -0
  70. package/assets/esri/core/workers/chunks/{1e13e03aad422f9e871e.js → 47fe2379f2214bf50036.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{3c45603af279ad7fed8c.js → 4954e0cf4a40e45d237f.js} +1 -1
  72. package/assets/esri/core/workers/chunks/4a362a35bcdb8405a53a.js +1 -0
  73. package/assets/esri/core/workers/chunks/4f8ebd9f0758b801835c.js +1 -0
  74. package/assets/esri/core/workers/chunks/5228d39c05d660a135b6.js +1 -0
  75. package/assets/esri/core/workers/chunks/{736cb9f74bf050b70f4c.js → 52a3d0e041717da7697e.js} +1 -1
  76. package/assets/esri/core/workers/chunks/54ea93f416ab52b413c1.js +1 -0
  77. package/assets/esri/core/workers/chunks/554a8bf4626336e68798.js +1 -0
  78. package/assets/esri/core/workers/chunks/55f087bca75c3f2a4515.js +1 -0
  79. package/assets/esri/core/workers/chunks/56569d0c2cf5c5167651.js +1 -0
  80. package/assets/esri/core/workers/chunks/{bbaadce582df7e20397b.js → 56d2a20c1b143697aa19.js} +1 -1
  81. package/assets/esri/core/workers/chunks/57211c35a9646f088d86.js +1 -0
  82. package/assets/esri/core/workers/chunks/58526def64536b6581ab.js +1 -0
  83. package/assets/esri/core/workers/chunks/5890740d5a761b038560.js +1 -0
  84. package/assets/esri/core/workers/chunks/{9a641fb94819574e48f6.js → 5a73d8b7b01758ed4fdd.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{ba3193ea145960a50e87.js → 5c8d52b72a3bea4202ac.js} +1 -1
  86. package/assets/esri/core/workers/chunks/5dbd8d81d94cfda5bb32.js +1 -0
  87. package/assets/esri/core/workers/chunks/5e52c1c076a1502f9fe4.js +1 -0
  88. package/assets/esri/core/workers/chunks/609c7c9b7046b3a7acde.js +1 -0
  89. package/assets/esri/core/workers/chunks/{30f3014c0ac6e2bc14bf.js → 622c0552ca3cd674d46c.js} +1 -1
  90. package/assets/esri/core/workers/chunks/62798f66872dc32e77d6.js +346 -0
  91. package/assets/esri/core/workers/chunks/6409160d226a0bea5ac6.js +1 -0
  92. package/assets/esri/core/workers/chunks/65fd971d0574d69cbc26.js +1 -0
  93. package/assets/esri/core/workers/chunks/6993a59cbb78bc26f029.js +1 -0
  94. package/assets/esri/core/workers/chunks/6b23ca6570357f9fb724.js +1 -0
  95. package/assets/esri/core/workers/chunks/6c37a5bd00d255d1337a.js +1 -0
  96. package/assets/esri/core/workers/chunks/{2b01e3bce78541620a86.js → 6cbe8205a4e0f62da519.js} +1 -1
  97. package/assets/esri/core/workers/chunks/6ce4327f63e6eb92bba8.js +1 -0
  98. package/assets/esri/core/workers/chunks/6f9b8df290b0ce09beae.js +1 -0
  99. package/assets/esri/core/workers/chunks/{fef1a5f8a6fd3502b33b.js → 6fa1a5b7276a037dbd6a.js} +67 -89
  100. package/assets/esri/core/workers/chunks/7c819b3e6d69c526f4b2.js +1 -0
  101. package/assets/esri/core/workers/chunks/7df147da40474b028705.js +1 -0
  102. package/assets/esri/core/workers/chunks/{0766ecb677d667e5fb83.js → 7e1dc8e5e18f18dd21e2.js} +2 -2
  103. package/assets/esri/core/workers/chunks/{b4f38fe9cc948a39ad87.js.LICENSE.txt → 7e1dc8e5e18f18dd21e2.js.LICENSE.txt} +1 -1
  104. package/assets/esri/core/workers/chunks/{e662c86b8bafc5512d3d.js → 847e88e1d6da1e74cdc8.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{6f5ec9bf7cf8a36d8e8b.js → 87eca6de502d18d8b7eb.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{a73c6b4bc5baf440f85a.js → 88b7265270feede80e1d.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{10e6dffa57aa1a626708.js → 8a6aac37b3133de74cce.js} +1 -1
  108. package/assets/esri/core/workers/chunks/8a87c181b85d0b86b9bb.js.LICENSE.txt +1 -1
  109. package/assets/esri/core/workers/chunks/{243dc74ec62891ba1ef7.js → 8e82acd1f730571680f4.js} +1 -1
  110. package/assets/esri/core/workers/chunks/8f1fbfdac04e694f621d.js +1 -0
  111. package/assets/esri/core/workers/chunks/91cd29f53f07bc38fe75.js +1 -0
  112. package/assets/esri/core/workers/chunks/{5583d18032ed8bc17c74.js → 938f1eebc48871be64e9.js} +1 -1
  113. package/assets/esri/core/workers/chunks/97c148adf0347c69a79c.js +1 -0
  114. package/assets/esri/core/workers/chunks/{029a118e6dfb3f544a5c.js → 98ef17d15517368d2383.js} +1 -1
  115. package/assets/esri/core/workers/chunks/9c8224ca29475556e5ea.js +1 -0
  116. package/assets/esri/core/workers/chunks/9d5eac3bd1526e2b33e3.js +1 -0
  117. package/assets/esri/core/workers/chunks/{38f5e6a202ce292edd9f.js → 9eb9c8db2510154c09cc.js} +1 -1
  118. package/assets/esri/core/workers/chunks/a036503087baa1f9fd00.js +1 -0
  119. package/assets/esri/core/workers/chunks/a09b5700c92bb76c3234.js +1 -0
  120. package/assets/esri/core/workers/chunks/a673128da9e6656ead2e.js +1 -0
  121. package/assets/esri/core/workers/chunks/{90ae15ce22a49bd84876.js → ab9614555a15f04396f6.js} +2 -2
  122. package/assets/esri/core/workers/chunks/{90ae15ce22a49bd84876.js.LICENSE.txt → ab9614555a15f04396f6.js.LICENSE.txt} +1 -1
  123. package/assets/esri/core/workers/chunks/ae733c963d61065faa54.js +1 -0
  124. package/assets/esri/core/workers/chunks/b0522dffa5600345c07e.js +1 -0
  125. package/assets/esri/core/workers/chunks/b06cb23048c32940f5de.js +1 -0
  126. package/assets/esri/core/workers/chunks/{079434fe765c53d304f2.js → b1e275607d9754079f60.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{d1f7bfb8daf11ecada9f.js → b4273381dc069f4e1fa2.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{fb2e28e6a87956267d1c.js → b92a34f88569c481ed10.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{352b7dcd1633e0c98194.js → ba940ebdae84b174a7be.js} +1 -1
  130. package/assets/esri/core/workers/chunks/bf9b6b74654d303a6dae.js +1 -0
  131. package/assets/esri/core/workers/chunks/c07c1bb7ae09136dc1f6.js +1 -0
  132. package/assets/esri/core/workers/chunks/c938f5d269ba202d10ef.js +1 -0
  133. package/assets/esri/core/workers/chunks/cbbca011f8b176d4b5db.js +1 -0
  134. package/assets/esri/core/workers/chunks/ce321fd8fc5551e190ec.js +1 -0
  135. package/assets/esri/core/workers/chunks/ce53ddda04e09ba2f860.js +1 -0
  136. package/assets/esri/core/workers/chunks/d166f805990353578494.js +1 -0
  137. package/assets/esri/core/workers/chunks/{b816b608f31954128246.js → d21d9e8b8c8a2e0485d5.js} +1 -1
  138. package/assets/esri/core/workers/chunks/d9a23fb0c6c936d5e8ec.js +1 -0
  139. package/assets/esri/core/workers/chunks/da3c62a851a4332f6dda.js +1 -0
  140. package/assets/esri/core/workers/chunks/db3f710d770adf631b28.js +2 -0
  141. package/assets/esri/core/workers/chunks/{aa82925ffb00babb0543.js.LICENSE.txt → db3f710d770adf631b28.js.LICENSE.txt} +1 -1
  142. package/assets/esri/core/workers/chunks/{6805e7b43d6ecf3ea93c.js → dcf5719f38ad40b92941.js} +1 -1
  143. package/assets/esri/core/workers/chunks/e2cada6644c49b1b6e79.js +1 -0
  144. package/assets/esri/core/workers/chunks/e2fb4bebce3aee406efa.js +1 -0
  145. package/assets/esri/core/workers/chunks/e3638f9d4c0fda238f4b.js +1 -0
  146. package/assets/esri/core/workers/chunks/e85f892ea44d67d53ff0.js +2 -0
  147. package/assets/esri/core/workers/chunks/{3596540ef49e5330ceb2.js.LICENSE.txt → e85f892ea44d67d53ff0.js.LICENSE.txt} +1 -1
  148. package/assets/esri/core/workers/chunks/e89345c7af9d3d4d8452.js +1 -0
  149. package/assets/esri/core/workers/chunks/{a31658f544ac6e1801d6.js → ead5d4e271effc04def3.js} +1 -1
  150. package/assets/esri/core/workers/chunks/ece68a25651ef03fc95d.js +1 -0
  151. package/assets/esri/core/workers/chunks/f218a190015de1444018.js +1 -0
  152. package/assets/esri/core/workers/chunks/f229044615af3142bcb0.js +1 -0
  153. package/assets/esri/core/workers/chunks/f2692f25ef693cf12ce0.js +1 -0
  154. package/assets/esri/core/workers/chunks/f4c6ea630cecf0f260d7.js +2 -0
  155. package/assets/esri/core/workers/chunks/{e0dc8794343c2a949ffb.js.LICENSE.txt → f4c6ea630cecf0f260d7.js.LICENSE.txt} +1 -1
  156. package/assets/esri/core/workers/chunks/f718cb847c4eb1e43ad9.js +1 -0
  157. package/assets/esri/core/workers/chunks/f8fb0c7eaf73709bd855.js +1 -0
  158. package/assets/esri/core/workers/chunks/faa40ef04604c7cce706.js +1 -0
  159. package/assets/esri/core/workers/chunks/{218a66d53f7cf4f285aa.js → fbd2f45d5adce4ca323f.js} +2 -2
  160. package/assets/esri/core/workers/chunks/{218a66d53f7cf4f285aa.js.LICENSE.txt → fbd2f45d5adce4ca323f.js.LICENSE.txt} +1 -1
  161. package/assets/esri/core/workers/chunks/ffaa977cd97a2b7190c5.js +1 -0
  162. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  163. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +17 -10
  164. package/assets/esri/themes/base/widgets/_SelectionList.scss +7 -3
  165. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +5 -0
  166. package/assets/esri/themes/dark/main.css +1 -1
  167. package/assets/esri/themes/light/main.css +1 -1
  168. package/assets/esri/themes/light/view.css +1 -1
  169. package/chunks/Envelope.js +1 -1
  170. package/chunks/Jpg.js +1 -1
  171. package/chunks/LineSeries.js +1 -1
  172. package/chunks/OperatorCut.js +1 -1
  173. package/chunks/OperatorDefinitions.js +5 -0
  174. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  175. package/chunks/OperatorSimplifyOGC.js +1 -1
  176. package/chunks/ProjectionTransformation.js +1 -1
  177. package/chunks/QuadraticBezier.js +1 -1
  178. package/chunks/ShadowCastAccumulate.glsl.js +7 -5
  179. package/chunks/ShadowCastVisualize.glsl.js +1 -1
  180. package/chunks/ShadowHighlight.glsl.js +8 -7
  181. package/chunks/Transformation2D.js +1 -1
  182. package/chunks/arcade.js +1 -1
  183. package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
  184. package/chunks/arcgis-knowledge-client-core.js +1 -1
  185. package/chunks/basis_encoder.js +1 -1
  186. package/chunks/basis_transcoder.js +1 -1
  187. package/chunks/bundle.js +1 -1
  188. package/chunks/chartUtilsAm5.js +1 -1
  189. package/chunks/dxt_encoder.js +1 -1
  190. package/chunks/geometryEngineBase.js +1 -1
  191. package/chunks/i3s.js +1 -1
  192. package/chunks/lclayout.js +1 -1
  193. package/chunks/libtess-asm.js +1 -1
  194. package/chunks/lyr3DMain.js +1 -1
  195. package/chunks/lyr3DWorker.js +1 -1
  196. package/chunks/vec4.js +1 -1
  197. package/chunks/vxlLayer.js +1 -1
  198. package/core/Accessor.js +1 -1
  199. package/core/accessorSupport/Lifecycle.js +5 -0
  200. package/core/accessorSupport/Properties.js +1 -1
  201. package/core/accessorSupport/decorators/subclass.js +1 -1
  202. package/core/accessorSupport/tracking/Flags.js +1 -1
  203. package/core/accessorSupport/watch.js +1 -1
  204. package/core/arrayUtils.js +1 -1
  205. package/core/image/apng.js +1 -1
  206. package/core/image/gif.js +1 -1
  207. package/core/mapCollectionUtils.js +1 -1
  208. package/core/mathUtils.js +1 -1
  209. package/core/urlUtils.js +1 -1
  210. package/core/workers/Connection.js +1 -1
  211. package/geometry/operators/densifyOperator.d.ts +0 -1
  212. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  213. package/geometry/operators/gx/operatorOffset.js +1 -1
  214. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  215. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  216. package/geometry/operators/gx/operatorSimplifyOGC.js +1 -1
  217. package/geometry/operators/simplifyOGCOperator.js +1 -1
  218. package/geometry/support/meshProperties.js +1 -1
  219. package/geometry/support/normalizeUtilsSync.js +1 -1
  220. package/interfaces.d.ts +463 -2595
  221. package/intl/date.js +1 -1
  222. package/intl/number.js +1 -1
  223. package/layers/BingMapsLayer.js +1 -1
  224. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  225. package/layers/KnowledgeGraphLayer.js +1 -1
  226. package/layers/LinkChartLayer.js +1 -1
  227. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  228. package/layers/VideoLayer.js +1 -1
  229. package/layers/graphics/OptimizedFeatureSet.js +1 -1
  230. package/layers/graphics/controllers/StreamController.js +1 -1
  231. package/layers/graphics/data/FeatureIdInfo.js +5 -0
  232. package/layers/graphics/data/QueryEngine.js +1 -1
  233. package/layers/graphics/data/QueryEngineResult.js +1 -1
  234. package/layers/graphics/data/StreamFeatureManager.js +1 -1
  235. package/layers/graphics/data/createFeatureId.js +5 -0
  236. package/layers/graphics/featureConversionUtils.js +1 -1
  237. package/layers/graphics/sources/WFSSourceWorker.js +1 -1
  238. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  239. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  240. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  241. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  242. package/layers/ogc/ogcFeatureUtils.js +1 -1
  243. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  244. package/layers/orientedImagery/core/utils.js +1 -1
  245. package/layers/orientedImagery/queries.js +1 -1
  246. package/layers/orientedImagery/transformations/utils.js +1 -1
  247. package/layers/support/LercWorker.js +1 -1
  248. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  249. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  250. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  251. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  252. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  253. package/layers/support/wmsUtils.js +1 -1
  254. package/layers/video/VideoController.js +1 -1
  255. package/package.json +1 -1
  256. package/rest/networks/support/Association.js +1 -1
  257. package/rest/networks/support/NetworkElement.js +1 -1
  258. package/rest/networks/support/QueryAssociationsParameters.js +1 -1
  259. package/rest/networks/support/TelecomNetworkElement.js +1 -1
  260. package/rest/networks/support/TraceResult.js +1 -1
  261. package/rest/query/operations/pbfDehydratedFeatureSet.js +1 -1
  262. package/rest/query/operations/pbfJSONFeatureSet.js +1 -1
  263. package/rest/query/operations/queryRelatedRecords.js +1 -1
  264. package/smartMapping/statistics/uniqueValues.js +1 -1
  265. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  266. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  267. package/statistics/utils.js +1 -1
  268. package/support/revision.js +1 -1
  269. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  270. package/symbols/cim/effects/EffectRadial.js +1 -1
  271. package/versionManagement/versionAdapters/FeatureLayerVersionAdapter.js +1 -1
  272. package/versionManagement/versionAdapters/NetworkVersionAdapter.js +1 -1
  273. package/versionManagement/versionAdapters/SubTypeGroupLayerVersionAdapter.js +1 -1
  274. package/views/2d/engine/ManagedCanvas.js +1 -1
  275. package/views/2d/engine/Stage.js +1 -1
  276. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  277. package/views/2d/engine/webgl/TileContainer.js +1 -1
  278. package/views/2d/engine/webgl/grouping.js +1 -1
  279. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  280. package/views/2d/layers/MediaLayerView2D.js +1 -1
  281. package/views/2d/layers/TileLayerView2D.js +1 -1
  282. package/views/2d/layers/VideoLayerView2D.js +1 -1
  283. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  284. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  285. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  286. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  287. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  288. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  289. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  290. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  291. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  292. package/views/2d/layers/features/layerAdapters/featureServiceUtils.js +1 -1
  293. package/views/2d/layers/features/processor/AAggregateStrategy.js +1 -1
  294. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  295. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  296. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  297. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  298. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  299. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  300. package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
  301. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  302. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  303. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  304. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  305. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  306. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  307. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  308. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  309. package/views/3d/FocusAreasView.js +5 -0
  310. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  311. package/views/3d/analysis/DimensionAnalysisView3D.d.ts +4 -0
  312. package/views/3d/analysis/DimensionAnalysisView3D.js +1 -1
  313. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  314. package/views/3d/camera/constraintUtils/common.js +1 -1
  315. package/views/3d/interactive/Manipulator3D.js +1 -1
  316. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  317. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  318. package/views/3d/layers/DimensionLayerView3D.js +1 -1
  319. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  320. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  321. package/views/3d/layers/GraphicsView3D.js +1 -1
  322. package/views/3d/layers/I3SMeshView3D.js +1 -1
  323. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  324. package/views/3d/layers/LineOfSightLayerView3D.js +1 -1
  325. package/views/3d/layers/Lyr3DWasm.js +1 -1
  326. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  327. package/views/3d/layers/RouteLayerView3D.js +1 -1
  328. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  329. package/views/3d/layers/ViewshedLayerView3D.js +1 -1
  330. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  331. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  332. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  333. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  334. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  335. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  336. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  337. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  338. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  339. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  340. package/views/3d/layers/graphics/Labeler.js +1 -1
  341. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  342. package/views/3d/layers/graphics/focusAreaStyle.js +5 -0
  343. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  344. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  345. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  346. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  347. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  348. package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
  349. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  350. package/views/3d/layers/i3s/I3SQueryResultGeometry.js +1 -1
  351. package/views/3d/layers/i3s/PagedNodeIndex.js +1 -1
  352. package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
  353. package/views/3d/layers/i3s/meshUtils.js +5 -0
  354. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  355. package/views/3d/layers/support/LayerViewAnalysisViewManager.js +5 -0
  356. package/views/3d/support/hitTest.js +1 -1
  357. package/views/3d/terrain/PatchRenderData.js +1 -1
  358. package/views/3d/terrain/TerrainRenderer.js +1 -1
  359. package/views/3d/terrain/TerrainSurface.js +1 -1
  360. package/views/3d/terrain/TileAgent.js +1 -1
  361. package/views/3d/terrain/TileTexture.js +1 -1
  362. package/views/3d/webgl-engine/collections/Component/IndexRange/ComponentRange.js +1 -1
  363. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  364. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +3 -3
  365. package/views/3d/webgl-engine/core/shaderLibrary/shading/ShadowmapFiltering.glsl.js +3 -25
  366. package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +1 -1
  367. package/views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js +5 -0
  368. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  369. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +3 -3
  370. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  371. package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
  372. package/views/3d/webgl-engine/lib/DepthRange.js +1 -1
  373. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  374. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  375. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  376. package/views/3d/webgl-engine/lib/Material.js +1 -1
  377. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  378. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  379. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  380. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  381. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  382. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  383. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  384. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  385. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  386. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  387. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  388. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  389. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  390. package/views/3d/webgl.js +1 -1
  391. package/views/FocusArea.js +1 -1
  392. package/views/FocusAreas.js +1 -1
  393. package/views/GroundView.js +1 -1
  394. package/views/SceneView.js +1 -1
  395. package/views/VideoView.js +1 -1
  396. package/views/View.js +1 -1
  397. package/views/draw/support/Box.js +1 -1
  398. package/views/draw/support/GraphicMover.js +1 -1
  399. package/views/draw/support/Reshape.js +1 -1
  400. package/views/input/InputManager.js +1 -1
  401. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  402. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
  403. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  404. package/views/layers/BuildingComponentSublayerView.js +1 -1
  405. package/views/layers/BuildingSceneLayerView.js +1 -1
  406. package/views/layers/FeatureLayerView.js +1 -1
  407. package/views/support/LayerViewManager.js +1 -1
  408. package/views/support/TextureCompressionWorker.js +1 -1
  409. package/views/support/TextureCompressionWorkerHandle.js +1 -1
  410. package/views/webgl/RenderingContext.js +1 -1
  411. package/views/webgl/ShaderBuilder.js +1 -1
  412. package/views/webgl/Texture.js +1 -1
  413. package/views/webgl/TextureDescriptor.js +1 -1
  414. package/views/webgl/textureUtils.js +1 -1
  415. package/webscene/Slide.js +1 -1
  416. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  417. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  418. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  419. package/widgets/CoordinateConversion.js +1 -1
  420. package/widgets/Directions.js +1 -1
  421. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  422. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  423. package/widgets/ElevationProfile/support/profileUtils.js +1 -1
  424. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  425. package/widgets/FeatureForm.js +1 -1
  426. package/widgets/FeatureTable/AttachmentsColumn.js +1 -1
  427. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  428. package/widgets/FeatureTable/Grid/Column.js +1 -1
  429. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  430. package/widgets/FeatureTable.js +1 -1
  431. package/widgets/LayerList/LayerListItem.js +1 -1
  432. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  433. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  434. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  435. package/widgets/OrientedImageryViewer/components/ImageViewer.js +1 -1
  436. package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
  437. package/widgets/OrientedImageryViewer/components/NavigationUI.js +1 -1
  438. package/widgets/OrientedImageryViewer/components/NavigationUIPanoramicViewModel.js +5 -0
  439. package/widgets/OrientedImageryViewer/components/NavigationUIViewModel.js +1 -1
  440. package/widgets/OrientedImageryViewer/components/imageNavigationUtils.js +1 -1
  441. package/widgets/OrientedImageryViewer/constants.js +1 -1
  442. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  443. package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +5 -0
  444. package/widgets/OrientedImageryViewer/navigation/NavigationManagerPanoramic.js +5 -0
  445. package/widgets/OrientedImageryViewer/navigation/errors.js +5 -0
  446. package/widgets/OrientedImageryViewer/navigation/queries.js +5 -0
  447. package/widgets/OrientedImageryViewer/navigation/utils.js +5 -0
  448. package/widgets/OrientedImageryViewer.js +1 -1
  449. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  450. package/widgets/PanoramicViewer.js +1 -1
  451. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  452. package/widgets/Sketch/SketchViewModel.js +1 -1
  453. package/widgets/Sketch.js +1 -1
  454. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  455. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  456. package/widgets/support/SelectionList.js +1 -1
  457. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  458. package/widgets/support/SelectionToolbar.js +1 -1
  459. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  460. package/widgets/support/SnappingControls.js +1 -1
  461. package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +1 -1
  462. package/widgets/support/UtilityNetworkAssociations/utils/createAssociation.js +1 -1
  463. package/assets/esri/core/workers/chunks/009dbddfc6499e2cee4f.js +0 -1
  464. package/assets/esri/core/workers/chunks/0516bd18334d3af6c555.js +0 -1
  465. package/assets/esri/core/workers/chunks/0d8a635c1f9aeaf7564c.js +0 -1
  466. package/assets/esri/core/workers/chunks/0f57b6a3a85a47ebd9d0.js +0 -346
  467. package/assets/esri/core/workers/chunks/1abd026ed12c863e1d94.js +0 -1
  468. package/assets/esri/core/workers/chunks/1b8cc83aa1179245b2dc.js +0 -1
  469. package/assets/esri/core/workers/chunks/1c6542315390037053a6.js +0 -1
  470. package/assets/esri/core/workers/chunks/201db423e3c6f947b77c.js +0 -1
  471. package/assets/esri/core/workers/chunks/23de8aeed5b82c682cbe.js +0 -1
  472. package/assets/esri/core/workers/chunks/26ebb7816dd8c8cd4f3b.js +0 -1
  473. package/assets/esri/core/workers/chunks/2abce00d812c7f6b542d.js +0 -1
  474. package/assets/esri/core/workers/chunks/2e0af748eba93f3ea6cb.js +0 -1
  475. package/assets/esri/core/workers/chunks/3596540ef49e5330ceb2.js +0 -2
  476. package/assets/esri/core/workers/chunks/3604a77c93cf2927787b.js +0 -1
  477. package/assets/esri/core/workers/chunks/391b1c3e736a62befbaf.js +0 -1
  478. package/assets/esri/core/workers/chunks/40e556a0645af8658658.js +0 -1
  479. package/assets/esri/core/workers/chunks/4402336db7210cd583e0.js +0 -1
  480. package/assets/esri/core/workers/chunks/47cd99ab3ed11a931084.js +0 -1
  481. package/assets/esri/core/workers/chunks/4bd5cbf6e0be2fc7e84d.js +0 -1
  482. package/assets/esri/core/workers/chunks/4c8052e81916579841f4.js +0 -1
  483. package/assets/esri/core/workers/chunks/4c9aa1dafdc0d9537231.js +0 -1
  484. package/assets/esri/core/workers/chunks/4feb774f123da26e9f2a.js +0 -1
  485. package/assets/esri/core/workers/chunks/51b5dfc7085272d26b89.js +0 -1
  486. package/assets/esri/core/workers/chunks/51d9eaeeb781fd1d1162.js +0 -1
  487. package/assets/esri/core/workers/chunks/5228fc7fcdf57f44781e.js +0 -1
  488. package/assets/esri/core/workers/chunks/566c2ce50af225e556ac.js +0 -1
  489. package/assets/esri/core/workers/chunks/5ddf463c85c33428e807.js +0 -1
  490. package/assets/esri/core/workers/chunks/61032b5050464cb48056.js +0 -1
  491. package/assets/esri/core/workers/chunks/63dade3e1cc7f5b76846.js +0 -1
  492. package/assets/esri/core/workers/chunks/6e12900a9f4c3c9941ec.js +0 -1
  493. package/assets/esri/core/workers/chunks/6e5d8a6b29c06a27998c.js +0 -1
  494. package/assets/esri/core/workers/chunks/6f506303017903b9a06f.js +0 -1
  495. package/assets/esri/core/workers/chunks/71e46e866c23372b0b58.js +0 -1
  496. package/assets/esri/core/workers/chunks/75fa861b5757551f8fdc.js +0 -1
  497. package/assets/esri/core/workers/chunks/7c49a8877bd744daa3d5.js +0 -1
  498. package/assets/esri/core/workers/chunks/7ea5bbb52e84be9a608e.js +0 -1
  499. package/assets/esri/core/workers/chunks/83e13baab4b90a88d967.js +0 -1
  500. package/assets/esri/core/workers/chunks/86138c297095af1ac604.js +0 -1
  501. package/assets/esri/core/workers/chunks/8b74b609de4f70e1a75c.js +0 -1
  502. package/assets/esri/core/workers/chunks/8e6301006abdf47cc88d.js +0 -1
  503. package/assets/esri/core/workers/chunks/90f93091fe088875f80f.js +0 -1
  504. package/assets/esri/core/workers/chunks/91a02ee91f61cf841111.js +0 -1
  505. package/assets/esri/core/workers/chunks/93cc26e5636040fdc0b8.js +0 -1
  506. package/assets/esri/core/workers/chunks/9baeb3b5733acdda4e7c.js +0 -1
  507. package/assets/esri/core/workers/chunks/a1d697e2be1e892a666a.js +0 -1
  508. package/assets/esri/core/workers/chunks/a1f27c4f4b5ef3e359f7.js +0 -1
  509. package/assets/esri/core/workers/chunks/a348ff2dd936c6bf9399.js +0 -1
  510. package/assets/esri/core/workers/chunks/a8430e1e2142f1ce9b92.js +0 -1
  511. package/assets/esri/core/workers/chunks/aa82925ffb00babb0543.js +0 -2
  512. package/assets/esri/core/workers/chunks/b64f708f821dd2bb51cd.js +0 -1
  513. package/assets/esri/core/workers/chunks/bf453744067267e84d1b.js +0 -1
  514. package/assets/esri/core/workers/chunks/c1175477dfcdee90a453.js +0 -1
  515. package/assets/esri/core/workers/chunks/c17c269cc30e7e1d0bfb.js +0 -1
  516. package/assets/esri/core/workers/chunks/c3f144ca69995dca34a9.js +0 -1
  517. package/assets/esri/core/workers/chunks/c4e2b75b9135920babc3.js +0 -1
  518. package/assets/esri/core/workers/chunks/cb80b7ddc9acf625d754.js +0 -1
  519. package/assets/esri/core/workers/chunks/d22f91bc16a7641bcbef.js +0 -1
  520. package/assets/esri/core/workers/chunks/d52cf7b795ee52034f9e.js +0 -1
  521. package/assets/esri/core/workers/chunks/d551f70560a2b1ef5696.js +0 -1
  522. package/assets/esri/core/workers/chunks/d971571a957de70d5a8d.js +0 -1
  523. package/assets/esri/core/workers/chunks/d9d9d4f99140e579eabb.js +0 -1
  524. package/assets/esri/core/workers/chunks/dc3a6beb3028009b3c23.js +0 -1
  525. package/assets/esri/core/workers/chunks/e0dc8794343c2a949ffb.js +0 -2
  526. package/assets/esri/core/workers/chunks/e483d2f169e51a361742.js +0 -1
  527. package/assets/esri/core/workers/chunks/e613df03ceb39e29befa.js +0 -1
  528. package/assets/esri/core/workers/chunks/e697dd4508f02dcfe329.js +0 -1
  529. package/assets/esri/core/workers/chunks/e9b1349a2b3a3f300808.js +0 -1
  530. package/assets/esri/core/workers/chunks/eabfab23246d4a052ea3.js +0 -1
  531. package/assets/esri/core/workers/chunks/ec8e8048b3df2c92008d.js +0 -1
  532. package/assets/esri/core/workers/chunks/ed6d0fea159dea638c2f.js +0 -1
  533. package/assets/esri/core/workers/chunks/f5fcba6ca6f43bf1d65d.js +0 -1
  534. package/assets/esri/core/workers/chunks/f92d76b694ff0cdb212c.js +0 -1
  535. package/chunks/NetworkElement.js +0 -5
  536. package/core/accessorSupport/interfaces.js +0 -5
  537. package/views/FocusAreasUtils.js +0 -5
  538. package/views/FocusAreasView.js +0 -5
  539. package/views/analysis/DimensionAnalysisView.d.ts +0 -4
  540. package/views/analysis/DimensionAnalysisView.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import o from"../../../core/Accessor.js";import{createTask as t}from"../../../core/asyncUtils.js";import r from"../../../core/Collection.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{watch as i,syncAndInitial as c}from"../../../core/reactiveUtils.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";let a=class extends o{constructor(e){super(e),this._compileTask=null,this.currentNode=null,this.nodes=new r,this.compile=()=>{const{currentNode:e,nodes:o}=this;e&&o.length&&(e.reset(),o.forEach((o=>{if(o===e)return;const t=e.getDistanceTo(o),r=e.getDirectionTo(o),s=e[r];(!s||e.getDistanceTo(s)>t)&&(e[r]=o)})))}}initialize(){this.addHandles(i((()=>({nodes:this.nodes,currenNode:this.currentNode,length:this.nodes.length,currentHeading:this.currentNode?.currentHeading,currentPitch:this.currentNode?.currentPitch})),(()=>{this._compileTask?.abort(),this._compileTask=t((async e=>{s(e),this.compile()}))}),c))}get state(){const e=this._compileTask;return e?e.finished?e.error?"ready":"compiled":"compiling":this.initialized?"initialized":"ready"}};e([n()],a.prototype,"_compileTask",void 0),e([n()],a.prototype,"currentNode",void 0),e([n()],a.prototype,"nodes",void 0),e([n()],a.prototype,"state",null),a=e([p("esri.widgets.OrientedImageryViewer.components.NavigationUIViewModel")],a);const d=a;export{d as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import r from"../../../core/Accessor.js";import{createTask as o}from"../../../core/asyncUtils.js";import t from"../../../core/Collection.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{watch as i,syncAndInitial as c}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as h}from"../../../core/accessorSupport/decorators/subclass.js";import{updateDirectionalNodesWithSameView as n,updateDirectionalNodesGeneric as d}from"./imageNavigationUtils.js";let p=class extends r{constructor(e){super(e),this._compileTask=null,this.currentNode=null,this.nodes=new t,this.preserveAngle=!1,this.cameraHeadingThreshold=0,this.cameraPitchThreshold=0}initialize(){this.addHandles(i((()=>({nodes:this.nodes,currenNode:this.currentNode,length:this.nodes.length,currentHeading:this.currentNode?.currentHeading,currentPitch:this.currentNode?.currentPitch,preserveAngle:this.preserveAngle,cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold})),(()=>{this._compileTask?.abort(),this._compileTask=o((async e=>{s(e),this.compile()}))}),c))}get state(){const e=this._compileTask;return e?e.finished?e.error?"error":"compiled":"compiling":"ready"}compile(){const{currentNode:e,nodes:r}=this;e&&r.length&&(e.reset(),this.preserveAngle?n(r,this.cameraHeadingThreshold,this.cameraPitchThreshold):d(r))}};e([a()],p.prototype,"_compileTask",void 0),e([a()],p.prototype,"currentNode",void 0),e([a()],p.prototype,"nodes",void 0),e([a()],p.prototype,"preserveAngle",void 0),e([a()],p.prototype,"cameraHeadingThreshold",void 0),e([a()],p.prototype,"cameraPitchThreshold",void 0),e([a()],p.prototype,"state",null),p=e([h("esri.widgets.OrientedImageryViewer.components.NavigationUIViewModel")],p);const l=p;export{l as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{rad2deg as t}from"../../../core/mathUtils.js";function n(n,r,o,e){const a=o-n,c=e-r;return t(Math.atan2(c,a))}function r(t){let n=t%360;return n<0&&(n+=360),n}export{n as getRelativeAngleBetweenPoints,r as normalizeDegrees};
5
+ import{rad2deg as n}from"../../../core/mathUtils.js";function t(t,e,o,a){const d=o-t,c=a-e;return n(Math.atan2(c,d))}function e(n){let t=n%360;return t<0&&(t+=360),t}function o(n){n.forEach((t=>{const e={towards:{node:null,distance:1/0},backwards:{node:null,distance:1/0},left:{node:null,distance:1/0},right:{node:null,distance:1/0}};n.forEach((n=>{if(t===n)return;const o=t.getDistanceTo(n),a=t.getDirectionTo(n);o>=e[a].distance||(e[a].node=n,e[a].distance=o)})),t.towards=e.towards.node,t.backwards=e.backwards.node,t.left=e.left.node,t.right=e.right.node}))}function a(n,t,o){n.forEach((a=>{const c={towards:{node:null,distance:1/0},backwards:{node:null,distance:1/0},left:{node:null,distance:1/0},right:{node:null,distance:1/0}};n.forEach((n=>{if(a===n)return;const r=a.getDistanceTo(n),i=a.getDirectionTo(n),s=e(a.heading)-e(n.heading),l=e(a.pitch)-e(n.pitch);r>=c[i].distance||!d(s,l,t,o)||(c[i].node=n,c[i].distance=r)})),a.towards=c.towards.node,a.backwards=c.backwards.node,a.left=c.left.node,a.right=c.right.node}))}function d(n,t,e,o){return Math.abs(n)<=e&&Math.abs(t)<=o}export{t as getRelativeAngleBetweenPoints,e as normalizeDegrees,o as updateDirectionalNodesGeneric,a as updateDirectionalNodesWithSameView};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- const e=120,t=[21,36,51,60],T=3.5,a=["FAR_WEST","FAR_NORTH","FAR_EAST","FAR_SOUTH","WEST","NORTH","EAST","SOUTH","NEAR_WEST","NEAR_NORTH","NEAR_EAST","NEAR_SOUTH"],A=23.937554159486076,E=96.06244584051393,R={EAST:[A,A,E,A,60,A],NORTH:[A,E,A,A,A,60],SOUTH:[E,A,E,E,E,60],WEST:[E,E,A,E,60,E]},S=-999,O=100,c=()=>["after-data-capture-complete","deselect-data-capture-features","select-data-capture-features"],r="ImageGeometry",H="OIObjectId";export{r as defaultImageGeometryField,H as defaultOIObjectIDField,T as featureCircleRadius,c as getDelegatedEvents,O as imageGalleryThumbnailSize,S as invalidCameraHeading,e as navigationToolDimensionLength,a as sectorsInOrder,t as sectorsRadii,R as segmentArcs};
5
+ const e=120,t=[21,36,51,60],T=3.5,a=["FAR_WEST","FAR_NORTH","FAR_EAST","FAR_SOUTH","WEST","NORTH","EAST","SOUTH","NEAR_WEST","NEAR_NORTH","NEAR_EAST","NEAR_SOUTH"],A=23.937554159486076,E=96.06244584051393,R={EAST:[A,A,E,A,60,A],NORTH:[A,E,A,A,A,60],SOUTH:[E,A,E,E,E,60],WEST:[E,E,A,E,60,E]},S=-999,O=100,c=()=>["after-data-capture-complete","deselect-data-capture-features","select-data-capture-features"],r="ImageGeometry",H="OIObjectId",N=5,_=5;export{_ as defaultAngleThresholdInDegrees,r as defaultImageGeometryField,H as defaultOIObjectIDField,T as featureCircleRadius,N as featureDistanceFactor,c as getDelegatedEvents,O as imageGalleryThumbnailSize,S as invalidCameraHeading,e as navigationToolDimensionLength,a as sectorsInOrder,t as sectorsRadii,R as segmentArcs};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{rad2deg as t}from"../../core/mathUtils.js";import{throwIfAborted as e}from"../../core/promiseUtils.js";import{formatArea as n,formatLength as r}from"../../core/quantityFormatUtils.js";import{createArea as a,createLength as o}from"../../core/quantityUtils.js";import{set as s,determinant as i}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as u,fromValues as l}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as f}from"../../core/libs/gl-matrix-2/math/vec2.js";import{i as m,h as p,a as h}from"../../chunks/vec32.js";import y from"../../geometry/Point.js";import g from"../../geometry/Polygon.js";import x from"../../geometry/Polyline.js";import{projectWithZConversion as w,project as M}from"../../geometry/projection.js";import z from"../../geometry/SpatialReference.js";import{e as R}from"../../chunks/areaOperator.js";import{l as d,e as v}from"../../chunks/geodeticAreaOperator.js";import{l as P,e as j}from"../../chunks/geodeticDensifyOperator.js";import{l as b,e as O}from"../../chunks/geodeticLengthOperator.js";import{e as E}from"../../chunks/lengthOperator.js";import{execute as q}from"../../geometry/operators/projectOperator.js";import{e as W}from"../../chunks/simplifyOperator.js";import{isSupported as k,geodesicLengths as I,geodesicAreas as G}from"../../geometry/support/geodesicUtils.js";import{imageToWorldPanoramic as L,imageToWorld as A}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as D,scaleWithFactor as S}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as U,worldToImage as B}from"../../layers/orientedImagery/transformations/worldToImage.js";const F=1e5;function T(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function H(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function V(t,e,n){if(!t?.length||!e?.length||!n)return;const[r,a]=t,[,o]=e,s=o-a;return[r+s*Math.cos(n),a+s*Math.sin(n)]}async function C(t,e,n){if(await P(),k(t)){const t=I([e],"meters")[0];return{area:G([n],"square-meters")[0],perimeter:t}}const r=z.WGS84,a=M(e,r),o=M(n,r);let s=j(o,F);if(s=W(s),!s)return null;const i=I([a],"meters")[0];return{area:G([s],"square-meters")[0],perimeter:i}}async function J(t,n,r,a,o=!1,s){if(n.length<2||!a||!r||!t)return null;const i=Rt(r,t);if(!i)return null;const c=n.map((t=>[t.x,t.y])),u=c.at(0),l=c.at(-1);if(!u||!l)return null;const f=i.map((e=>Ot([u,l],e,t,o,!1))),m=await Promise.all(f);e(s);let p=0;for(const e of m){if(!e)return null;const t=Math.abs(e-a);p=Math.max(t,p)}return p}async function K(t,n,r,a,o,s=!1,i){if(n.length<2||!a||!r||!t)throw new Error("Missing parameters");const c=dt(r,t),u=n.map((t=>[t.x,t.y])),l=u.at(0),f=u.at(-1),m=c.map((e=>Et([l,f],e,t,o,s,!1))),p=await Promise.all(m);e(i);let h=0;for(const e of p){if(!e)return 0;const t=Math.abs(e-a);h=Math.max(t,h)}return h}function N(t,e){const n=Mt(t,!1);if(!n?.length)return;return 20*f([n[0].x,n[0].y],[n.at(-1).x,n.at(-1).y])/e}async function Q(t){await b();const e=t.spatialReference;if(e.isGeographic){if(k(e))return I([t],"meters")[0];const n=M(t,z.WGS84);return I([n],"meters")[0]}return e.isWebMercator?O(t):E(t)}function X(t){if(!t?.length)throw new Error("Invalid deviations array");const[e,n,r]=[0,1,2].map((e=>t.map((t=>t[e])).filter((t=>null!==t)))).map((t=>t.length?jt(t):0));return[e,n,r]}function Y(t,e){const n=W(e);if(!n)return null;const r=E(t);return{area:R(n),perimeter:r}}function Z(t,e){return[(t[1][0]-t[0][0])/e,(t[1][1]-t[0][1])/e,(t[1][2]-t[0][2])/e]}async function $(t,e){await Promise.all([d(),P(),b()]);let n=j(e,F);if(n=W(n),!n)return null;const r=O(t);return{area:v(n),perimeter:r}}async function _(t,n,r){if(!n||!t)throw new Error("Missing required parameters");const a=await A(t,n);e(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:s,cameraPitch:i,cameraRoll:c,farDistance:u,...l}=n;return B(o,l)}async function tt(t,n,r,a){const{attributes:o}=r,{location:s}=o,{updateElevationProps:i,...c}=n;if(!t||!n)throw new Error("Missing parameters");let u=s.clone();u.spatialReference.isGeographic&&(u=await w(u,z.WebMercator));const l=await L(t,{...c,cameraLocation:u},i);e(a);const f=l.clone();return f.z?f.z+=20:f.z=20,U(f,c)}function et(t,e,n,r,a=0,o=1,s){const{averageElevation:i,cameraPitch:c,cameraRoll:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=B(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return et(M,e,n,r,a+1,Math.abs(t-M))}function nt(t,e,n,r,a=0,o=1,s){const{averageElevation:i,horizontalFieldOfView:c,verticalFieldOfView:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=U(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return nt(M,e,n,r,a+1,Math.abs(t-M))}function rt(t,e,n){return new x({paths:[[[t.x,t.y,t.z??0],[e.x,e.y,e.z??0]]],spatialReference:n})}function at(t){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*t/6378137)))}function ot(t,e){return Math.sqrt((Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e)**2+(t[0][2]-t[1][2])**2)}function st(t,e,n){return Math.sqrt((t.z??0-(e.z??0))**2+(Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)/n)**2)*n}function it(t,e,n,r){return St(Dt([t.x,t.y,t.z??0],[e.x,e.y,e.z??0]),1/n,1/r)}function ct(t,e){return Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e}function ut(e){return t(Math.atan((e[1][2]-e[0][2])/Math.sqrt((e[1][0]-e[0][0])**2+(e[1][1]-e[0][1])**2)))}function lt(e){let n=90-t(Math.atan2(e[1][1]-e[0][1],e[1][0]-e[0][0]));return n<0&&(n+=360),n}function ft(t,e){return new y({x:(t.pointOnA[0]+t.pointOnB[0])/2,y:(t.pointOnA[1]+t.pointOnB[1])/2,z:(t.pointOnA[2]+t.pointOnB[2])/2,spatialReference:e})}async function mt(t){if(2===t?.length){const e=[];let n=1;const[r,a]=t,o=r.camera.spatialReference,{measurePoints:s}=r;for(let t=0;t<s.length;t++){const s=rt(r.camera,r.measurePoints[t],o),i=rt(a.camera,a.measurePoints[t],o),c=await Gt(s,i);if(!c)return null;const u=ft(c,o);u.spatialReference.isWebMercator&&(n=at(u.y)),e.push([u.x,u.y,u.z??0])}if(e?.length>1){return{distance:ot(e,n),horizontalDistance:ct(e,n),verticalDistance:Math.abs(e[0][2]-e[1][2]),slope:ut(e),aspect:lt(e)}}}return null}async function pt(t,e){if(!t?.length)return null;const n=[],r=t[0],a=t[1],o=r.camera.spatialReference,{measurePoints:s}=r;for(let l=0;l<s.length;l++){const t=rt(r.camera,r.measurePoints[l],o),e=rt(a.camera,a.measurePoints[l],o),s=await Gt(t,e);if(!s)return null;const i=ft(s,o);n.push([i.x,i.y,i.z??0])}if(n?.length<2)return null;const i=new x({paths:[n],spatialReference:e}),c=new g({rings:[n],spatialReference:e});if(e.isGeographic){const t=await C(e,i,c);return t?.area??null}if(e.isWebMercator){const t=await $(i,c);return t?.area??null}const u=Y(i,c);return u?.area??null}function ht(t,e){if(!t)return null;const n=new y({x:e.geometry.x,y:e.geometry.y,z:e.geometry.z,spatialReference:e.spatialReference}),r=Array.isArray(t)?t:[t],a=[];return r.forEach((t=>{let e=!1;t.spatialReference.isWGS84&&(t=q(t,new z({wkid:3857})),e=!0);const r=t.spatialReference.isWebMercator?at(t.y):1,o=st(t,n,r),s=it(t,n,o,r),i=((t.z??0)-(n.z??0))/s[2]*r;let c=new y({spatialReference:t.spatialReference,x:n.x+i*s[0],y:n.y+i*s[1],z:(n.z??0)+i*s[2]/r});e&&(c=q(c,new z({wkid:4326}))),a.push(c)})),{camera:n,measurePoints:r,tempMeasurePoints:a}}async function yt(t,e){const{updateElevationProps:n,...r}=e;return await A(t,r,n)}async function gt(t,e){const{updateElevationProps:n,...r}=e;return L(t,r,n)}function xt(t){navigator.clipboard.writeText(t).catch((t=>{throw t}))}function wt(t){const e=t.map((t=>[t.x,t.y])),n=t[0].spatialReference;return new x({paths:[e],spatialReference:n})}function Mt(t,e){return t.map((t=>({x:e?.5+t[0]:t[0],y:e?.5-t[1]:t[1]})))}function zt(t,e,n,a,s){const i="measurement"===t?e:n;if(s&&i)return r(a,o(i,"meters"),s,3)||null}function Rt(t,e){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=t,{x:o,y:s,z:i,spatialReference:c}=a;if(e.every((t=>0===t))||!e||!e.length)return null;const[u,l,,f,m]=e,p=[-f,0,f],h=[-m,0,m],g=[-u,0,u],x=[-l,0,l],w=[];for(const M of p)for(const e of h)for(const a of g)for(const u of g)for(const l of x){const f={...t};f.cameraPitch=n+M,f.cameraRoll=r+e,f.cameraLocation=new y({x:o+a,y:s+u,z:i?i+l:0,spatialReference:{wkid:c.wkid}}),w.push(f)}return w}function dt(t,e){const{cameraHeading:n,cameraLocation:r}=t,{x:a,y:o,z:s,spatialReference:i}=r;if(e.every((t=>0===t))||!e||!e.length)throw new Error("Invalid parameters");const[c,u,l]=e,f=l>0?[-l,0,l]:[],m=c>0?[-c,0,c]:[],p=u>0?[-u,0,u]:[],h=[];for(const g of f)for(const e of m)for(const r of m)for(const c of p){const u={...t};u.cameraHeading=n+g,u.cameraLocation=new y({x:a+e,y:o+r,z:s?s+c:0,spatialReference:{wkid:i.wkid}}),h.push(u)}return h}function vt(t,e,n,a,s){const i="measurement"===t?e:jt(n);if(s&&i)return r(a,o(i,"meters"),s,3)||null}function Pt(t,e,r,o,s){const i="measurement"===t?e:r;if(s&&i)return n(o,a(i,"square-meters"),s,3)||null}function jt(t){return Math.sqrt(t.reduce(((t,e)=>t+e**2),0))}function bt(t,e,n){if("default"===e)return t;const r={x:t[0],y:t[1],z:t[2]},a=D(r,n[0],n[1]);return[a.x,a.y]}async function Ot(t,n,r,a=!1,o=!1,s){if(!t||!n||t.length<2)return null;const i=Mt(t,a);if(!i||i.length<2)return null;const[c,u]=[i[0],i.at(-1)];if(!u)return null;const l=[c],m=await A(c,n);e(s);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:h,cameraPitch:y,cameraRoll:g,farDistance:x,...w}=n,M=B(p,w),z=f([c.x,c.y],[M.x,M.y]),R=T(c,M);if(!R)return;const d=V([c.x,c.y],[u.x,u.y],R);if(!d?.length)return;l.push({x:d[0],y:d[1]});const v=20*f([l[0].x,l[0].y],[l[1].x,l[1].y])/z;if(!o)return v;const P=et(v,m,l,n,0,1);return P?.value}async function Et(t,n,r,a,o=!1,s=!1,i){const{attributes:c}=a,{location:u}=c,{updateElevationProps:l,...m}=n;if(!t||!n||t.length<2)throw new Error("Invalid parameters");const p=Mt(t,o),[h,y]=[p[0],p.at(-1)],g=[h];let x=u.clone();x.spatialReference.isGeographic&&(x=await w(x,z.WebMercator));const M=await L(h,{...m,cameraLocation:x},l);e(i);const R=M.clone();R.z?R.z+=20:R.z=20;const d=U(R,m),v=f([h.x,h.y],[d.x,d.y]),P=T(h,d);if(!P)return;const j=V([h.x,h.y],[y.x,y.y],P);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*f([g[0].x,g[0].y],[g[1].x,g[1].y])/v;if(!s)return b;const O=nt(b,M,g,n,0,1);return O?.value}async function qt(t,e,n=!1){if(t.length<3)return null;const r=Mt(t,n),a=await yt(r,e),o=a.map((({x:t,y:e})=>[t,e]));t.push(t[0]),o.push(o[0]);const s=a[0].spatialReference,i=new x({paths:[o],spatialReference:s}),c=new g({rings:[o],spatialReference:s});return s.isGeographic?C(s,i,c):s.isWebMercator?$(i,c):Y(i,c)}async function Wt(t,n,r=!1,a){if(t.length<3)return null;const o=Mt(t,r),s=await gt(o,n);e(a);const i=s.map((({x:t,y:e})=>[t,e]));t.push(t[0]),i.push(i[0]);const c=s[0].spatialReference,u=new x({paths:[i],spatialReference:c}),l=new g({rings:[i],spatialReference:c});return c.isGeographic?C(c,u,l):c.isWebMercator?$(u,l):Y(u,l)}async function kt(t,e,n=!1){const r=Mt(t,n);return Q(wt(await yt(r,e)))}async function It(t,n,r=!1,a){const o=Mt(t,r),s=await gt(o,n);e(a);return Q(wt(s))}async function Gt(t,e){const n=c(),r=t.paths[0][0],a=e.paths[0][0];let o,u;t.spatialReference.isWGS84||t.spatialReference.isWebMercator?(await b(),o=O(t),u=O(e)):(o=E(t),u=E(e));const l=Z(t.paths[0],o),f=Z(e.paths[0],u),m=Lt(l,f),[p,h,y]=l,[g,x,w]=f.map((t=>-t)),[M,z,R]=m,[d,v,P]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];s(n,p,g,M,h,x,z,y,w,R);const j=i(n);if(0===j)return null;s(n,d,g,M,v,x,z,P,w,R);const q=i(n);s(n,p,d,M,h,v,z,y,P,R);const W=i(n);s(n,p,g,d,h,x,v,y,w,P);const k=q/j,I=W/j,G=i(n)/j;return{distance:Math.abs(G/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:At(r,k,l),pointOnB:At(a,I,f)}}function Lt(t,e){const n=u(),r=m(u(),t[0],t[1],t[2]),a=m(u(),e[0],e[1],e[2]),o=p(n,r,a);return[o[0],o[1],o[2]]}function At(t,e,n){return[t[0]+e*n[0],t[1]+e*n[1],t[2]+e*n[2]]}function Dt(t,e){const n=l(t[0],t[1],t[2]),r=l(e[0],e[1],e[2]);return h(u(),n,r)}function St(t,e,n){const r=S(t,e,n);return[r[0],r[1],r[2]]}export{T as calculateAngle,H as calculateAnglePano,V as calculateCorrectedPixel,J as calculateHeightAccuracy,K as calculateHeightAccuracyPanoramic,N as calculateHeightFromTemporaryDistance,X as calculateLocationAccuracyFromDeviations,tt as calculateReferenceImagePointPanoramic,_ as calculateTempImagePoint,et as computeHeightIteratively,nt as computeHeightIterativelyPanoramic,pt as computeTriangulatedAreaMeasurement,mt as computeTriangulatedDistanceMeasurement,ht as computeTriangulatedVector,xt as copyToClipboard,Mt as formatPixels,Rt as generateCombinations,dt as generateCombinationsPanoramic,Pt as getConvertedArea,vt as getConvertedDistance,zt as getConvertedHeight,bt as getModeCorrectedPoint,jt as getRootOfSumOfSquaredErrors,Ot as heightMeasurement2D,Et as heightMeasurementPanoramic,qt as pixelAreaMeasurement2D,Wt as pixelAreaMeasurementPanoramic,kt as pixelDistanceMeasurement2D,It as pixelDistanceMeasurementPanoramic,St as scale,Gt as solveSkewLinesIntersection,Dt as subtract};
5
+ import{rad2deg as t}from"../../core/mathUtils.js";import{throwIfAborted as e}from"../../core/promiseUtils.js";import{formatArea as n,formatLength as r}from"../../core/quantityFormatUtils.js";import{createArea as a,createLength as o}from"../../core/quantityUtils.js";import{set as s,determinant as i}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as c}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as u,fromValues as l}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as f}from"../../core/libs/gl-matrix-2/math/vec2.js";import{i as m,h as p,a as h}from"../../chunks/vec32.js";import y from"../../geometry/Point.js";import g from"../../geometry/Polygon.js";import x from"../../geometry/Polyline.js";import{projectWithZConversion as w,project as M}from"../../geometry/projection.js";import R from"../../geometry/SpatialReference.js";import{e as z}from"../../chunks/areaOperator.js";import{l as d,e as P}from"../../chunks/geodeticAreaOperator.js";import{l as v,e as j}from"../../chunks/geodeticDensifyOperator.js";import{l as b,e as O}from"../../chunks/geodeticLengthOperator.js";import{e as E}from"../../chunks/lengthOperator.js";import{execute as q}from"../../geometry/operators/projectOperator.js";import{e as W}from"../../chunks/simplifyOperator.js";import{isSupported as k,geodesicLengths as I,geodesicAreas as G}from"../../geometry/support/geodesicUtils.js";import{imageToWorldPanoramic as L,imageToWorld as A}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as D,scaleWithFactor as S}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as U,worldToImage as B}from"../../layers/orientedImagery/transformations/worldToImage.js";const F=1e5;function T(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function H(t,e){let n=180*Math.atan2(-t.y+e.y,t.x-e.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function V(t,e,n){if(!t?.length||!e?.length||!n)return;const[r,a]=t,[,o]=e,s=o-a;return[r+s*Math.cos(n),a+s*Math.sin(n)]}async function C(t,e,n){if(await v(),k(t)){const t=I([e],"meters")[0];return{area:G([n],"square-meters")[0],perimeter:t}}const r=R.WGS84,a=M(e,r),o=M(n,r);let s=j(o,F);if(s=W(s),!s)return null;const i=I([a],"meters")[0];return{area:G([s],"square-meters")[0],perimeter:i}}async function J(t,n,r,a,o=!1,s){if(n.length<2||!a||!r||!t)return null;const i=dt(r,t);if(!i)return null;const c=n.map((t=>[t.x,t.y])),u=c.at(0),l=c.at(-1);if(!u||!l)return null;const f=i.map((e=>Et([u,l],e,t,o,!1))),m=await Promise.all(f);e(s);let p=0;for(const e of m){if(!e)return null;const t=Math.abs(e-a);p=Math.max(t,p)}return p}async function K(t,n,r,a,o,s=!1,i){if(n.length<2||!a||!r||!t)throw new Error("Missing parameters");const c=Pt(r,t),u=n.map((t=>[t.x,t.y])),l=u.at(0),f=u.at(-1),m=c.map((e=>qt([l,f],e,t,o,s,!1))),p=await Promise.all(m);e(i);let h=0;for(const e of p){if(!e)return 0;const t=Math.abs(e-a);h=Math.max(t,h)}return h}function N(t,e){const n=Rt(t,!1);if(!n?.length)return;return 20*f([n[0].x,n[0].y],[n.at(-1).x,n.at(-1).y])/e}async function Q(t){await b();const e=t.spatialReference;if(e.isGeographic){if(k(e))return I([t],"meters")[0];const n=M(t,R.WGS84);return I([n],"meters")[0]}return e.isWebMercator?O(t):E(t)}function X(t){if(!t?.length)throw new Error("Invalid deviations array");const[e,n,r]=[0,1,2].map((e=>t.map((t=>t[e])).filter((t=>null!==t)))).map((t=>t.length?bt(t):0));return[e,n,r]}function Y(t,e){const n=W(e);if(!n)return null;const r=E(t);return{area:z(n),perimeter:r}}function Z(t,e){return[(t[1][0]-t[0][0])/e,(t[1][1]-t[0][1])/e,(t[1][2]-t[0][2])/e]}async function $(t,e){await Promise.all([d(),v(),b()]);let n=j(e,F);if(n=W(n),!n)return null;const r=O(t);return{area:P(n),perimeter:r}}async function _(t,n,r){if(!n||!t)throw new Error("Missing required parameters");const a=await A(t,n);e(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:s,cameraPitch:i,cameraRoll:c,farDistance:u,...l}=n;return B(o,l)}async function tt(t,n,r,a){const{attributes:o}=r,{location:s}=o,{updateElevationProps:i,...c}=n;if(!t||!n)throw new Error("Missing parameters");let u=s.clone();u.spatialReference.isGeographic&&(u=await w(u,R.WebMercator));const l=await L(t,{...c,cameraLocation:u},i);e(a);const f=l.clone();return f.z?f.z+=20:f.z=20,U(f,c)}function et(t,e,n,r,a=0,o=1,s){const{averageElevation:i,cameraPitch:c,cameraRoll:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=B(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return et(M,e,n,r,a+1,Math.abs(t-M))}function nt(t,e,n,r,a=0,o=1,s){const{averageElevation:i,horizontalFieldOfView:c,verticalFieldOfView:u,farDistance:l,...m}=r;if(a>=5||o<=.1)return{value:t};const p=new y({x:e.x,y:e.y,z:e.z?e.z+t:t,spatialReference:r.cameraLocation.spatialReference}),h=U(p,m),g=f([n[0].x,n[0].y],[h.x,h.y]),x=n.at(0),w=n.at(-1);if(!x||!w)return null;const M=f([x.x,x.y],[w.x,w.y])*t/g;return nt(M,e,n,r,a+1,Math.abs(t-M))}function rt(t,e,n){return new x({paths:[[[t.x,t.y,t.z??0],[e.x,e.y,e.z??0]]],spatialReference:n})}function at(t){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*t/6378137)))}function ot(t,e){return Math.sqrt((Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e)**2+(t[0][2]-t[1][2])**2)}function st(t,e,n){return Math.sqrt((t.z??0-(e.z??0))**2+(Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)/n)**2)*n}function it(t,e,n,r){return Ut(St([t.x,t.y,t.z??0],[e.x,e.y,e.z??0]),1/n,1/r)}function ct(t,e){return Math.sqrt((t[0][0]-t[1][0])**2+(t[0][1]-t[1][1])**2)/e}function ut(e){return t(Math.atan((e[1][2]-e[0][2])/Math.sqrt((e[1][0]-e[0][0])**2+(e[1][1]-e[0][1])**2)))}function lt(e){let n=90-t(Math.atan2(e[1][1]-e[0][1],e[1][0]-e[0][0]));return n<0&&(n+=360),n}function ft(t,e){return new y({x:(t.pointOnA[0]+t.pointOnB[0])/2,y:(t.pointOnA[1]+t.pointOnB[1])/2,z:(t.pointOnA[2]+t.pointOnB[2])/2,spatialReference:e})}async function mt(t){if(2===t?.length){const e=[];let n=1;const[r,a]=t,o=r.camera.spatialReference,{measurePoints:s}=r;for(let t=0;t<s.length;t++){const s=rt(r.camera,r.measurePoints[t],o),i=rt(a.camera,a.measurePoints[t],o),c=await Lt(s,i);if(!c)return null;const u=ft(c,o);u.spatialReference.isWebMercator&&(n=at(u.y)),e.push([u.x,u.y,u.z??0])}if(e?.length>1){return{distance:ot(e,n),horizontalDistance:ct(e,n),verticalDistance:Math.abs(e[0][2]-e[1][2]),slope:ut(e),aspect:lt(e)}}}return null}async function pt(t){const e=t[0].camera.spatialReference;if(2!==t?.length)return null;const[n,r]=t,{camera:a,measurePoints:o}=n,{camera:s,measurePoints:i}=r,c=rt(a,o[0],e),u=rt(s,i[0],e),l=await Lt(c,u);return l?ft(l,e)??null:null}async function ht(t,e){if(!t?.length)return null;const n=[],r=t[0],a=t[1],o=r.camera.spatialReference,{measurePoints:s}=r;for(let l=0;l<s.length;l++){const t=rt(r.camera,r.measurePoints[l],o),e=rt(a.camera,a.measurePoints[l],o),s=await Lt(t,e);if(!s)return null;const i=ft(s,o);n.push([i.x,i.y,i.z??0])}if(n?.length<2)return null;const i=new x({paths:[n],spatialReference:e}),c=new g({rings:[n],spatialReference:e});if(e.isGeographic){const t=await C(e,i,c);return t?.area??null}if(e.isWebMercator){const t=await $(i,c);return t?.area??null}const u=Y(i,c);return u?.area??null}function yt(t,e){if(!t)return null;const n=e.geometry.clone(),r=Array.isArray(t)?t:[t],a=[];return r.forEach((t=>{let e=!1;t.spatialReference.isWGS84&&(t=q(t,new R({wkid:3857})),e=!0);const r=t.spatialReference.isWebMercator?at(t.y):1,o=st(t,n,r),s=it(t,n,o,r),i=((t.z??0)-(n.z??0))/s[2]*r;let c=new y({spatialReference:t.spatialReference,x:n.x+i*s[0],y:n.y+i*s[1],z:(n.z??0)+i*s[2]/r});e&&(c=q(c,new R({wkid:4326}))),a.push(c)})),{camera:n,measurePoints:r,tempMeasurePoints:a}}async function gt(t,e){const{updateElevationProps:n,...r}=e;return await A(t,r,n)}async function xt(t,e){const{updateElevationProps:n,...r}=e;return L(t,r,n)}function wt(t){navigator.clipboard.writeText(t).catch((t=>{throw t}))}function Mt(t){const e=t.map((t=>[t.x,t.y])),n=t[0].spatialReference;return new x({paths:[e],spatialReference:n})}function Rt(t,e){return t.map((t=>({x:e?.5+t[0]:t[0],y:e?.5-t[1]:t[1]})))}function zt(t,e,n,a,s){const i="measurement"===t?e:n;if(s&&i)return r(a,o(i,"meters"),s,3)||null}function dt(t,e){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=t,{x:o,y:s,z:i,spatialReference:c}=a;if(e.every((t=>0===t))||!e||!e.length)return null;const[u,l,,f,m]=e,p=[-f,0,f],h=[-m,0,m],g=[-u,0,u],x=[-l,0,l],w=[];for(const M of p)for(const e of h)for(const a of g)for(const u of g)for(const l of x){const f={...t};f.cameraPitch=n+M,f.cameraRoll=r+e,f.cameraLocation=new y({x:o+a,y:s+u,z:i?i+l:0,spatialReference:{wkid:c.wkid}}),w.push(f)}return w}function Pt(t,e){const{cameraHeading:n,cameraLocation:r}=t,{x:a,y:o,z:s,spatialReference:i}=r;if(e.every((t=>0===t))||!e||!e.length)throw new Error("Invalid parameters");const[c,u,l]=e,f=l>0?[-l,0,l]:[],m=c>0?[-c,0,c]:[],p=u>0?[-u,0,u]:[],h=[];for(const g of f)for(const e of m)for(const r of m)for(const c of p){const u={...t};u.cameraHeading=n+g,u.cameraLocation=new y({x:a+e,y:o+r,z:s?s+c:0,spatialReference:{wkid:i.wkid}}),h.push(u)}return h}function vt(t,e,n,a,s){const i="measurement"===t?e:bt(n);if(s&&i)return r(a,o(i,"meters"),s,3)||null}function jt(t,e,r,o,s){const i="measurement"===t?e:r;if(s&&i)return n(o,a(i,"square-meters"),s,3)||null}function bt(t){return Math.sqrt(t.reduce(((t,e)=>t+e**2),0))}function Ot(t,e,n){if("default"===e)return t;const r={x:t[0],y:t[1],z:t[2]},a=D(r,n[0],n[1]);return[a.x,a.y]}async function Et(t,n,r,a=!1,o=!1,s){if(!t||!n||t.length<2)return null;const i=Rt(t,a);if(!i||i.length<2)return null;const[c,u]=[i[0],i.at(-1)];if(!u)return null;const l=[c],m=await A(c,n);e(s);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:h,cameraPitch:y,cameraRoll:g,farDistance:x,...w}=n,M=B(p,w),R=f([c.x,c.y],[M.x,M.y]),z=T(c,M);if(!z)return;const d=V([c.x,c.y],[u.x,u.y],z);if(!d?.length)return;l.push({x:d[0],y:d[1]});const P=20*f([l[0].x,l[0].y],[l[1].x,l[1].y])/R;if(!o)return P;const v=et(P,m,l,n,0,1);return v?.value}async function qt(t,n,r,a,o=!1,s=!1,i){const{attributes:c}=a,{location:u}=c,{updateElevationProps:l,...m}=n;if(!t||!n||t.length<2)throw new Error("Invalid parameters");const p=Rt(t,o),[h,y]=[p[0],p.at(-1)],g=[h];let x=u.clone();x.spatialReference.isGeographic&&(x=await w(x,R.WebMercator));const M=await L(h,{...m,cameraLocation:x},l);e(i);const z=M.clone();z.z?z.z+=20:z.z=20;const d=U(z,m),P=f([h.x,h.y],[d.x,d.y]),v=T(h,d);if(!v)return;const j=V([h.x,h.y],[y.x,y.y],v);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*f([g[0].x,g[0].y],[g[1].x,g[1].y])/P;if(!s)return b;const O=nt(b,M,g,n,0,1);return O?.value}async function Wt(t,e,n=!1){if(t.length<3)return null;const r=Rt(t,n),a=await gt(r,e),o=a.map((({x:t,y:e})=>[t,e]));t.push(t[0]),o.push(o[0]);const s=a[0].spatialReference,i=new x({paths:[o],spatialReference:s}),c=new g({rings:[o],spatialReference:s});return s.isGeographic?C(s,i,c):s.isWebMercator?$(i,c):Y(i,c)}async function kt(t,n,r=!1,a){if(t.length<3)return null;const o=Rt(t,r),s=await xt(o,n);e(a);const i=s.map((({x:t,y:e})=>[t,e]));t.push(t[0]),i.push(i[0]);const c=s[0].spatialReference,u=new x({paths:[i],spatialReference:c}),l=new g({rings:[i],spatialReference:c});return c.isGeographic?C(c,u,l):c.isWebMercator?$(u,l):Y(u,l)}async function It(t,e,n=!1){const r=Rt(t,n);return Q(Mt(await gt(r,e)))}async function Gt(t,n,r=!1,a){const o=Rt(t,r),s=await xt(o,n);e(a);return Q(Mt(s))}async function Lt(t,e){const n=c(),r=t.paths[0][0],a=e.paths[0][0];let o,u;t.spatialReference.isWGS84||t.spatialReference.isWebMercator?(await b(),o=O(t),u=O(e)):(o=E(t),u=E(e));const l=Z(t.paths[0],o),f=Z(e.paths[0],u),m=At(l,f),[p,h,y]=l,[g,x,w]=f.map((t=>-t)),[M,R,z]=m,[d,P,v]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];s(n,p,g,M,h,x,R,y,w,z);const j=i(n);if(0===j)return null;s(n,d,g,M,P,x,R,v,w,z);const q=i(n);s(n,p,d,M,h,P,R,y,v,z);const W=i(n);s(n,p,g,d,h,x,P,y,w,v);const k=q/j,I=W/j,G=i(n)/j;return{distance:Math.abs(G/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:Dt(r,k,l),pointOnB:Dt(a,I,f)}}function At(t,e){const n=u(),r=m(u(),t[0],t[1],t[2]),a=m(u(),e[0],e[1],e[2]),o=p(n,r,a);return[o[0],o[1],o[2]]}function Dt(t,e,n){return[t[0]+e*n[0],t[1]+e*n[1],t[2]+e*n[2]]}function St(t,e){const n=l(t[0],t[1],t[2]),r=l(e[0],e[1],e[2]);return h(u(),n,r)}function Ut(t,e,n){const r=S(t,e,n);return[r[0],r[1],r[2]]}export{T as calculateAngle,H as calculateAnglePano,V as calculateCorrectedPixel,J as calculateHeightAccuracy,K as calculateHeightAccuracyPanoramic,N as calculateHeightFromTemporaryDistance,X as calculateLocationAccuracyFromDeviations,tt as calculateReferenceImagePointPanoramic,_ as calculateTempImagePoint,et as computeHeightIteratively,nt as computeHeightIterativelyPanoramic,ht as computeTriangulatedAreaMeasurement,mt as computeTriangulatedDistanceMeasurement,pt as computeTriangulatedPoint,yt as computeTriangulatedVector,wt as copyToClipboard,Rt as formatPixels,dt as generateCombinations,Pt as generateCombinationsPanoramic,jt as getConvertedArea,vt as getConvertedDistance,zt as getConvertedHeight,Ot as getModeCorrectedPoint,bt as getRootOfSumOfSquaredErrors,Et as heightMeasurement2D,qt as heightMeasurementPanoramic,Wt as pixelAreaMeasurement2D,kt as pixelAreaMeasurementPanoramic,It as pixelDistanceMeasurement2D,Gt as pixelDistanceMeasurementPanoramic,Ut as scale,Lt as solveSkewLinesIntersection,St as subtract};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import{throwIfAborted as r}from"../../../core/promiseUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import{createCoveragePolygon as s}from"../../../layers/orientedImagery/core/coverageUtils.js";import{InvalidDirectionError as n,FeatureSectorNotFoundError as a}from"./errors.js";import{queryNextLocationFeatures as l,querySequenceCount as c,queryAfterSequenceField as u,querySequenceFeaturesAroundPoint as d,queryOffsetSequenceFeatures as g}from"./queries.js";let w=class extends t{constructor(e){super(e),this.viewModel=null}get currentNode(){return this.viewModel.currentNode}get layer(){return this.viewModel.layer}get navigationNodes(){return this.viewModel.navigationNodes}async _queryAndHandleFeatureResponse(e,t,o,i,s){const{error:n,nextLocation:a,response:c}=await l(e,t,o,i,s);if(r(s),n)throw n;this.viewModel.selectedPoint=a,await this.viewModel.processFeatureResponse(c,a,{signal:s?.signal,loadBestImage:!1,skipFilter:!0})}async afterNavigate(e,t,r){return await this.viewModel.selectBestFeature(t.id,r),t}async navigate(e,t){let r;if("direction"in t?r=await this.navigateInDirection(e,t):("step"in t||"goTo"in t)&&(r=await this.navigateInSequence(e,t)),!r)throw new Error("No next node found");return await this.afterNavigate(e,r,t)}async navigateBySkippingSteps(e,t){const{step:r}=t,{layer:o}=this,{floorFilterClause:i}=this.viewModel;if(!o)throw new Error("Layer is not defined");const n=e.attributes.sequenceOrder;if(0===await c(o,i,{signal:t.signal})||!n)throw new Error("No sequence found");const{response:a,error:l}=await u(o,n,r,1,i,{signal:t.signal});if(l)throw new Error("Error querying sequence features");const g=a?.features[0];if(!g)throw new Error("No next node found");const{attributes:w}=g,{response:p,error:f,nextLocation:h}=await d(o,s(w).polygon.centroid,i,{signal:t.signal});if(f)throw new Error("Error querying sequence features");const v=[...p.features];v.push(g),p.features=v,this.viewModel.selectedPoint=null;const y=g.attributes.objectId;return await this.viewModel.processFeatureResponse(p,h,{signal:t.signal,loadBestImage:!1,skipFilter:!0}),this.viewModel.selectedPoint=h,this.viewModel.navigationNodes.find((e=>e.id===y))}async navigateInDirection(e,t){const{viewModel:r}=this,{layer:o,floorFilterClause:i}=r,{direction:s,signal:l}=t,c=e?.[s];if(!c)throw new n(s);const u=r.getFeatureSectorById(c.id);if(!u)throw new a(c);const[d,g]=u.split("_"),w=`NEAR_${g}`,f=`FAR_${g}`,h=r.getActiveSectors();return p(u,h.includes(w),h.includes(f),g,w,f)&&await this._queryAndHandleFeatureResponse(o,e,c,i,{signal:l}),c}async navigateInSequence(e,t){return"step"in t?this.navigateBySkippingSteps(e,t):this.navigateTo(t)}async navigateTo(e){const{goTo:t}=e,{layer:r}=this,{floorFilterClause:o}=this.viewModel;if(!r)throw new Error("Layer is not defined");const i="number"==typeof t?t:1,{response:n,error:a}=await g(r,i,1,"end"===t?"DESC":"ASC",o,{signal:e.signal});if(a)throw new Error("Error querying sequence features");const l=n?.features[0];if(!l)throw new Error("No next node found");const{attributes:c}=l,{polygon:u}=s(c),{response:w,error:p,nextLocation:f}=await d(r,u.centroid,o,{signal:e.signal});if(p)throw new Error("Error querying sequence features");const h=[...w.features];h.push(l),w.features=h,this.viewModel.selectedPoint=null;const v=l.attributes.objectId;return await this.viewModel.processFeatureResponse(w,f,{signal:e.signal,loadBestImage:!1,skipFilter:!0}),this.viewModel.selectedPoint=f,this.viewModel.navigationNodes.find((e=>e.id===v))}};function p(e,t,r,o,i,s){return e===s||e===i&&!r||e===o&&!t&&!r}e([o()],w.prototype,"currentNode",null),e([o()],w.prototype,"layer",null),e([o()],w.prototype,"navigationNodes",null),e([o({constructOnly:!0})],w.prototype,"viewModel",void 0),w=e([i("esri.widgets.OrientedImageryViewer.navigation.NavigationManager")],w);export{w as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../core/Logger.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import"../../../core/Error.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import t from"./NavigationManager.js";let a=class extends t{async afterNavigate(e,r,t){return await this.viewModel.selectBestFeature(r.id,t),this.viewModel.setCurrentPanoramaView(e.currentHeading-r.heading,e.currentPitch-r.pitch),r}};a=e([r("esri.widgets.OrientedImageryViewer.navigation.NavigationManagerPanoramic")],a);const i=a;export{i as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import r from"../../../core/Error.js";class o extends r{constructor(r){super("InvalidDirectionError",`cannot navigate in direction: ${r}`)}}class e extends r{constructor(r){super("NavigationManagerLoadError",`cannot load navigation manager for mode: ${r}`)}}class t extends r{constructor(r){super("FeatureSectorNotFoundError",`cannot find feature sector of node: ${r}`)}}class n extends r{constructor(){super("NoActiveViewerError","no active viewer")}}class a extends r{constructor(){super("NoImageLoadedError","no image loaded")}}export{t as FeatureSectorNotFoundError,o as InvalidDirectionError,e as NavigationManagerLoadError,n as NoActiveViewerError,a as NoImageLoadedError};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{sqlAnd as e}from"../../../core/sql.js";import{searchImages as r}from"../../../layers/orientedImagery/queries.js";import{featureDistanceFactor as t}from"../constants.js";import{translateInDirection2D as n}from"./utils.js";async function s(s,o,i,a,c){const{currentHeading:u,currentPitch:y}=o,{attributes:{farDistance:l},geometry:f}=i,m=n(f,u,y,l/t),h=e("1=1",e(s.definitionExpression,a));let p,w;try{p=await r({layerInstanceOrURL:s,point:m,queryParams:{where:h}},c)}catch(O){w=O}return new d(m,p,w)}async function o(t,n,s,o){const i=t.sequenceOrderField??"SequenceOrder",a=e("1=1",e(t.definitionExpression,e(`${i} IS NOT NULL`,s)));let c,u;try{c=await r({layerInstanceOrURL:t,point:n,queryParams:{where:a,orderByFields:[`${i}`],returnGeometry:!0,outFields:["*"]}},o)}catch(y){u=y}return new d(n,c,u)}function i(r,t,n){const s=r.sequenceOrderField,o=e("1=1",e(e(r.definitionExpression,t),`${s} IS NOT NULL`));return r.queryFeatureCount({where:o},n)}async function a(r,t,n,s="ASC",o,i){const a=r.sequenceOrderField??"SequenceOrder";let c=e("1=1",e(r.definitionExpression,e(`${a} IS NOT NULL`,o)));const d="number"==typeof t?t-1:void 0;"string"===t&&(c=e(c,`${a} = ${t}`));try{const e=await r.queryFeatures({where:c,returnGeometry:!0,orderByFields:[`${a} ${s}`],outFields:["*"],start:d,num:n},i);return e.features.forEach((async e=>{const t=(await import("../../../layers/orientedImagery/core/ExposurePoint.js").then((e=>e.default))).fromJSON({...e.toJSON(),layer:r});t&&(e.attributes=t)})),new u(e)}catch(y){return new u(void 0,y)}}async function c(r,t,n=0,s=1,o,i){const a=r.sequenceOrderField??"SequenceOrder",c=e("1=1",e(r.definitionExpression,e(`${a} IS NOT NULL AND ${a} > ${t}`,o)));try{const e=await r.queryFeatures({where:c,orderByFields:a,start:n,num:s,outFields:["*"],returnGeometry:!0},i);return e.features.forEach((async e=>{const t=(await import("../../../layers/orientedImagery/core/ExposurePoint.js").then((e=>e.default))).fromJSON({...e.toJSON(),layer:r});t&&(e.attributes=t)})),new u(e)}catch(d){return new u(void 0,d)}}class u{constructor(e,r){this.response=e,this.error=r}}class d{constructor(e,r,t){this.nextLocation=e,this.response=r,this.error=t}}export{d as QueryNextLocationFeaturesResponse,u as QuerySequenceFeaturesResponse,c as queryAfterSequenceField,s as queryNextLocationFeatures,a as queryOffsetSequenceFeatures,i as querySequenceCount,o as querySequenceFeaturesAroundPoint};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
+ */
5
+ import{deg2rad as e}from"../../../core/mathUtils.js";import{getMetersPerUnitForSR as t}from"../../../core/unitUtils.js";import n from"../../../geometry/Extent.js";function r(n,r,i,o){const a=Math.sin(e(r)),s=Math.cos(e(r)),c=Math.sin(e(i)),m=o/t(n.spatialReference),f=m*a*c,p=m*s*c,x=n.clone();return x.x+=f,x.y+=p,x}function i(e,r){const{x:i,y:o,spatialReference:a}=e,s=r/t(a);return new n({xmin:i-s,xmax:i+s,ymin:o-s,ymax:o+s,spatialReference:e.spatialReference})}export{i as createExtentAroundPoint,r as translateInDirection2D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{prefersReducedMotion as t}from"../core/a11yUtils.js";import{createTask as i}from"../core/asyncUtils.js";import a from"../core/Collection.js";import{deprecatedProperty as s}from"../core/deprecate.js";import o from"../core/Logger.js";import{isAbortError as r}from"../core/promiseUtils.js";import{watch as n,initial as l,syncAndInitial as c,whenOnce as d}from"../core/reactiveUtils.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{or as h}from"../layers/orientedImagery/transformations/utils.js";import u from"./Widget.js";import{getAllArcPath as p}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as v,defaultImageGeometryField as y,defaultOIObjectIDField as w,segmentArcs as _,featureCircleRadius as b,navigationToolDimensionLength as M,sectorsRadii as T}from"./OrientedImageryViewer/constants.js";import{css as C,navigation as I,navigationToolRotationFrom as f,navigationToolRotationTo as A,root as L}from"./OrientedImageryViewer/css.js";import{loadImageForAttachment as k,getThumbnailPixelBlock as O,isFeatureAttachment as S,renderImageWithRotation as F}from"./OrientedImageryViewer/galleryUtils.js";import E from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import V from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import P from"./OrientedImageryViewer/components/ImageLocationWidget.js";import x from"./OrientedImageryViewer/components/ImageViewer.js";import G from"./OrientedImageryViewer/components/NavigationUI.js";import{loadCalciteComponents as j}from"./support/componentsUtils.js";import{globalCss as $}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as D}from"./support/decorators/messageBundle.js";import{vmEvent as H}from"./support/decorators/vmEvent.js";import{tsx as B,tsxFragment as N}from"./support/jsxFactory.js";import{substitute as U}from"../intl/substitute.js";const R={overlayed:"overlayed"};let W=class extends u{constructor(e,t){super(e,t),this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.directionToolsActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new E,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new V,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1},this._navigationToolExpanded=!1,this._navigationTool=null,this._warningTitleElement=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new a,this._previousAction=null,this._handleDataCaptureLayerChange=async e=>{if(this.dataCaptureLayer&&await this.stopDataCapture(!0),this.dataCaptureLayer=this.dataCaptureLayer===e?null:e,this.dataCaptureLayer)return this.startDataCapture(this.dataCaptureLayer)},this._handleOverlayLayerDeselect=e=>{const t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(n((()=>t.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible)})),`${R.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{const{target:t}=e,{dataset:{action:i}}=t,{_previousAction:a}=this,s=a?.dataset.action,o=s?.includes("draw")??!1,r="select-feature"===s,n=s!==i;switch(i){case"draw-point":case"draw-polygon":case"draw-polyline":{a&&h(r,o&&n)&&(a.active=!1),t.active=!t.active;const e=i.replace("draw-","");this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case"save":this.viewModel.saveDrawing();break;case"select-feature":o&&(this._previousAction.active=!1),t.active=!t.active,this.viewModel.toggleSelection(t.active),this._previousAction=t.active?t:null;break;case"delete-feature":this.viewModel.digitizeDelete()}},this._onImageOverlayClosed=()=>{this.imageOverlaysOpened=!1},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._restoreOverlays=async()=>Promise.all(this._overlayedLayers.map((e=>this.viewModel.overlayMapFeatures(e,this.showMapFeatures)))),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._sketchLoaderTask=null,this._toggleDirectionsTool=()=>{const e=this.directionToolsActive;this._closeAllImageTools(),this.directionToolsActive=!e},this._toggleImageAttributes=()=>{this.viewModel.toggleImageAttributes()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this)}initialize(){this.addHandles([n((()=>[this.viewModel?.bestFeatureAngle,this._navigationTool]),(([e,t])=>{t&&this._updateNavigationTool(t)}),l),n((()=>this.currentCoverageVisible),(e=>this._onCurrentCoverageVisibilityChange(e))),n((()=>this.isAdditionalCoverageVisible),(e=>this._onAdditionalCoverageVisibilityChange(e))),n((()=>this.isAdditionalPointSourcesVisible),(e=>this._onAdditionalCameraLocationsVisibility(e))),n((()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state})),(({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)}),c),n((()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state})),(async(e,t)=>{if(e.showMapFeatures!==t?.showMapFeatures&&this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature){if(this.viewModel.removeAllOverlayMapFeatures(),await d((()=>"image-loaded"===this.viewModel.state)),this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),!this.dataCaptureLayer)return;await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null)}}),l)])}loadDependencies(){return j({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect()}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get dataCaptureLayer(){return this.viewModel.dataCaptureLayer}set dataCaptureLayer(e){this.viewModel.dataCaptureLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get imageLocationToolActive(){return this.viewModel.imageLocationToolState}set imageLocationToolActive(e){this.viewModel.imageLocationToolState=e}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get measureType(){return this.viewModel.measureType}set measureType(e){this.viewModel.measureType=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return"image-loaded"===t&&e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}_renderActionBar(){return B("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},B("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle()),B("calcite-action-group",null,this._mapImageConversionToggle(),this._navigationToolToggle(),this._directionToolToggle(),this._imageEnhancementsToggle()),B("calcite-action-group",null,this._measurementToolsToggle(),this._imageGalleryToggle(),this._imageOverlaysToggle(),this._openPopupAction()))}get _activeMeasurementIcon(){const{measureType:e,imageLocationToolActive:t}=this;if(t)return"pin-tear";switch(e){case"area":return"measure-area";case"height":return"measure-building-height-top-base";default:return"measure-line"}}get _activeMeasurementHeading(){const{measureType:e,messages:t,viewModel:i}=this,{triangularMeasurementActive:a}=i,{groundArea:s,heightAboveGround:o,groundDistance:r,triangulatedAreaHeading:n,triangulatedDistanceHeading:l}=t;if(a)return"area"===e?n:l;switch(e){case"area":return s;case"height":return o;default:return r}}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations}):null}get _measurementToggle(){const{viewModel:{state:e,measureType:t,triangularMeasurementActive:i,currentBestFeatureMeasurementImage:a},id:s}=this;if("image-loaded"!==e||!t||i&&!a)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();const o=this._imageMeasurementToolsLoaderTask?.value;return o?B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${s}-${t}-measurement`,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearMeasurements},B(o,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){const{viewModel:{state:e,triangularMeasurementActive:t}}=this;return B("calcite-panel",null,B("calcite-shell",null,B("calcite-panel",{bind:this,class:t?C.viewerContainerMeasurement:C.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:e.includes("loading")&&!t},this.visibleElements.menu?this._renderActionBar():null,this._imageViewer,this._panoramicViewer,this._messageBox,this.invalidCameraHeading?[this._renderWarning(this.messages.invalidCameraHeadingWarningTitle),this._renderWarningTooltip(this.messages.invalidCameraHeadingWarningDescription)]:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._imageEnhancementTools,this._renderNavigationUI,this._renderSketch()),this._imageViewerTriangular,this._measurementToggle,this._locationToggle))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?B("calcite-action",{active:e,bind:this,class:C.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint,title:this.messages.currentFootprint}):null}get _imageEnhancementTools(){const{imageEnhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?B("calcite-panel",{bind:this,class:C.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleImageEnhancementToolState},B("div",{class:C.imageEnhancementTools},B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.brightness,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:t,onCalciteSliderInput:this._handleBrightnessChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.contrast,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:i,onCalciteSliderInput:this._handleContrastChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.sharpness,B("calcite-slider",{bind:this,labelTicks:!0,max:1,min:0,step:.1,ticks:.5,value:a,onCalciteSliderInput:this._handleSharpnessChange})))),B("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset,title:this.messagesCommon.reset})):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{imageEnhancement:i}=this.visibleElements;return i?B("calcite-action",{active:this.imageEnhancementToolActive,bind:this,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleImageEnhancementToolState,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i}=this;return i&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){const{galleryOpened:e,invalidCameraHeading:t}=this;return B("calcite-panel",{bind:this,class:C.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},B("div",{class:C.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?B("calcite-action",{active:this.galleryOpened,bind:this,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery,title:this.messages.imageGallery}):null}get _imageOverlaysComponent(){const{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:a,dataCaptureEnabled:s,dataCaptureLayer:o,imageOverlaysOpened:r,showCameraLocations:n,showMapFeatures:l,view:c,layer:d}=this;if(!d)return null;const g=d.imageGeometryField?.length?d.imageGeometryField:y,m=d.imageReferenceField?.length?d.imageReferenceField:w;t||(this._imageOverlaysLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/ImageOverlays.js")).default)));const h=this._imageOverlaysLoaderTask?.value;return h?B(h,{closed:!r,dataCaptureEnabled:s,dataCaptureLayer:o,imageGeometryField:g,imageReferenceField:m,messages:e,overlayedLayers:a,showCameraLocations:n,showMapFeatures:l,view:c,onDataCaptureLayerChanged:this._handleDataCaptureLayerChange,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged}):null}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageSketchToolsMessages(){return{...this.messagesSketch,...this.messagesCommon}}_imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this,i=this.classes({[C.imageOverlaysContainer]:!0,[$.hidden]:!e||"image-loaded"!==t});return B("div",{class:i,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?B("calcite-action",{active:t,bind:this,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays,title:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i}=this.viewModel,a=null!=e||"default"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s},this._renderSketch())}get _imageViewerTriangular(){const{messages:e}=this,{displayMessage:t,storeImageMeasurementViewer:i,mode:a,state:s,triangularMeasurementActive:o}=this.viewModel,r=null!=t||"default"!==a,n=this.classes({[C.viewer]:!r,[C.viewerHidden]:r});return o?B("calcite-panel",{class:C.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:s.includes("loading")},B("calcite-panel",{bind:this,class:n},B(x,{afterCreate:i}))):null}get _locationToggle(){const{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:i},imageLocationToolActive:a,messages:{groundLocation:s}}=this;if("image-loaded"===e&&t&&a)return B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:s,id:s,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearImageLocation},B(P,{accuracy:i,groundCoordinates:t,messages:this.messages}))}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t},invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this;return a?B("calcite-action",{active:e,bind:this,disabled:"image-loaded"!==t||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool}):null}_measurementToolsToggle(){const{_activeMeasurementIcon:e,measureType:t,viewModel:i,accuracyParametersMissing:a,messages:s,visibleElements:{measurementTools:o}}=this,{state:r,triangularMeasurementActive:n,mode:l}=i,{measurementTools:c,groundDistance:d,groundArea:g,heightAboveGround:m,groundLocation:h,triangulatedDistanceHeading:u,triangulatedAreaHeading:p}=s;return o?B("calcite-dropdown",{disabled:a,key:"measurement-tools",maxItems:5,title:c,width:"m"},B("calcite-action",{bind:this,disabled:"image-loaded"!==r||a,icon:e,slot:"trigger",text:c}),B("calcite-dropdown-group",null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"measure-line",key:"distance-measurement",onclick:e=>this._toggleMeasurementSketch(e,"distance"),selected:"distance"===t&&!n},d),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"measure-area",key:"area-measurement",onclick:e=>this._toggleMeasurementSketch(e,"area"),selected:"area"===t&&!n},g),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"measure-building-height-top-base",key:"height-dropdown",onclick:e=>this._toggleMeasurementSketch(e,"height"),selected:"height"===t},m),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"pin-tear",key:"surface-location",onclick:e=>this._toggleLocationTool(e),selected:this.imageLocationToolActive},h),"default"===l&&B(N,null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"image-mensuration",key:"triangular-measurement-distance",selected:!!n&&"distance"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularDistanceMeasurements},u),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==r,iconStart:"image-mensuration",key:"triangular-measurement-area",selected:!!n&&"area"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularAreaMeasurements},p)))):null}get _messageBox(){const{messages:e,viewModel:{displayMessage:t}}=this;if(!t)return null;const{data:i,key:a,map:s}=t,o=`${s?U(e[a],s):e[a]}`;return B("span",{class:C.messageBox},i?`${o} ${i}`:o)}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t}}=this;return t?B("calcite-action",{active:this.navigationToolActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool,title:this.messages.navigationTool}):null}_directionToolToggle(){const{state:e,mode:t}=this.viewModel,{visibleElements:{directions:i}}=this;return i?B("calcite-action",{active:this.directionToolsActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading||"panoramic"!==t,icon:"tour",onclick:this._toggleDirectionsTool,text:this.messages.imageNavigation,title:this.messages.imageNavigation}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?B("calcite-action",{bind:this,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups,title:this.messages.showPopups}):null}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i}=this.viewModel,a=null!=e||"panoramic"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s})}get _renderNavigationUI(){const{visibleElements:{directions:e},directionToolsActive:t,viewModel:i}=this;return"image-loaded"===i.state&&e&&t&&"panoramic"===i.mode?B(G,{currentNode:this.viewModel.currentNode,navigate:this.viewModel.navigate,nodes:this.viewModel.navigationNodes}):null}_closeAllImageTools(){this.imageEnhancementToolActive=!1,this.navigationToolActive=!1,this.imageOverlaysOpened=!1,this.galleryOpened=!1,this.measureType=null,this.imageLocationToolActive=!1,this.directionToolsActive=!1}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach((async e=>{if(e.isIntersecting){const a=e.target,s=a.getAttribute("data-src"),n=a.getAttribute("data-rotation"),l=a.getAttribute("data-objectid"),c=n?parseFloat(n)%360:0,{layer:d,_galleryController:{signal:g}}=this;if(!s||!l)return;let m;try{m=S(s)?await k(d,l,{signal:g}):await O(s,{signal:g})}catch(i){r(i)||o.getLogger("esri.widgets.OrientedImageryViewer").error("#lazyLoadImage()",i)}finally{t.unobserve(a)}if(!m)return;F(m,a,c)}}))}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=i((async()=>{const{default:e}=await import("./OrientedImageryViewer/components/ImageMeasurementWidget.js");return e}))}_loadSketchResources(){this._sketchLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/SketchTools.js")).default))}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e){const{invalidCameraHeading:t,viewModel:{state:i}}=this;return t&&"image-loaded"===i?[B("calcite-notice",{class:C.alert,closable:!0,icon:"exclamation-mark-triangle-f",iconFlipRtl:!0,kind:"warning",open:!0,scale:"s"},B("div",{afterCreate:e=>this._storeWarningTitleElement(e),slot:"title"},e))]:null}_renderWarningTooltip(e){const{_warningTitleElement:t}=this;if(e?.length&&t)return B("calcite-tooltip",{closeOnClick:!0,referenceElement:t},e)}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:i,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,r,n,l,c;if(i){const{x:e,y:t,direction:a}=i,[s,d,g,m]=_[a];o=`M ${e} ${t} L ${s} ${d} A ${T[2]} ${T[2]} 0 0 1 ${g} ${m} Z`,r=e,l=t,n=_[a][4],c=_[a][5]}const d=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},g=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},m=e=>{e.removeEventListener("click",g)},h=a.attributes.objectId,u=e?.map((e=>e?.items)).filter(Boolean).flatMap((e=>e?.map((({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>B("circle",{afterRemoved:m,class:this.classes(C.feature,{selected:h===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${C.feature}-${i}`,onclick:g,r:b}))))),v=e=>{e.removeEventListener("click",d)},y=this.classes({[C.navigationWrapper]:!0,[C.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&"image-loaded"===s?B("div",{bind:this,class:y,key:this.messages.navigationTool},B("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:t()?I:C.rotateWithAnimation,focusable:"false",height:M,role:"img",width:M,xmlns:"http://www.w3.org/2000/svg"},B("defs",null,B("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:r,x2:n,y1:l,y2:c},B("stop",{class:C.navigationPathOffset0,offset:0}),B("stop",{class:C.navigationPathOffset1,offset:1}))),B("g",null,B("circle",{class:this.classes(C.sector,C.outerSector),cx:T[3],cy:T[3],onclick:this._scaleNavigationTool,r:T[3]}),B("circle",{class:C.sector,cx:T[3],cy:T[3],r:T[2]}),B("circle",{class:C.sector,cx:T[3],cy:T[3],r:T[1]}),B("circle",{class:C.sector,cx:T[3],cy:T[3],r:T[0]}),B("path",{class:C.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${C.pointer}-west`}),B("path",{class:this.classes(C.pointer,C.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${C.pointer}-north`}),B("path",{class:C.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${C.pointer}-east`}),B("path",{class:C.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${C.pointer}-south`}),B("path",{class:this.classes(C.sector,C.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:C.sectorSeparator}),p([T[2],T[1],T[0]],T[3],T[3]).map(((t,i)=>B("path",{afterRemoved:v,class:this.classes(C.sector,e?.[i]?.length?C.sectorEnabled:C.sectorDisabled),d:t,"data-sector":`${i}`,key:`${C.sector}-${i}`,onclick:d}))),B("path",{class:this.classes(C.sector,C.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:C.sectorCross}),u,a.attributes.cameraPitch>=5&&o?B("path",{class:C.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:C.selectedFeaturePath}):null))):null}_renderSketch(){const{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t)return null;if(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value)return null;const{geometryType:i}=e,a="point"===i?"pin":"polyline"===i?"line":"polygon",s=this._sketchLoaderTask.value;return B("div",{class:C.sketchTools},B(s,{icon:a,messages:this._imageSketchToolsMessages,type:i,onAction:this._onAction}))}get _renderThumbnails(){const{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?B("div",{class:C.carouselContent},t?.items.map((({url:t,objectId:i,rotation:a},s)=>B("div",{class:`${C.carouselItemWrapper}${e.attributes.objectId===i?"--selected":""}`,key:`${C.carouselItemWrapper}-${s}`},B("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:C.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":t,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight}))))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_storeNavigationToolReference(e){this._navigationTool=e}_storeWarningTitleElement(e){this._warningTitleElement=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleImageEnhancementToolState(e){e.stopPropagation();const t=this.imageEnhancementToolActive;this._closeAllImageTools(),this.imageEnhancementToolActive=!t}_toggleImageOverlays(e){e.stopPropagation();const t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();const t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=!!this.imageGalleryEnabled&&!t}_toggleLocationTool(e){const t=this.imageLocationToolActive;this._closeAllImageTools(),this.imageLocationToolActive=!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();const i=this.measureType;this._closeAllImageTools(),this.measureType=i===t?null:t,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){const e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements("area")}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements("distance")}_toggleTriangularMeasurements(e){const t=this.viewModel.triangularMeasurementActive,i=this.viewModel.measureType,a=this.navigationToolActive;t?e===i?(this._closeAllImageTools(),this.viewModel.triangularMeasurementActive=!t,this.navigationToolActive=!a):(this.imageLocationToolActive=!1,this.measureType=e):(this._closeAllImageTools(),this.measureType=e,this.viewModel.triangularMeasurementActive=!t,this.navigationToolActive=!!a||!a)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(f,`${t}deg`),e.style.setProperty(A,`${t+a}deg`)}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t){return this.viewModel.loadImageFromSource(e,t)}async overlayMapFeatures(e,t){return this.removeHandles(`${R.overlayed}-${e.id}`),this.addHandles(n((()=>e.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible)})),`${R.overlayed}-${e.id}`),this._overlayedLayers.add(e),this.viewModel.overlayMapFeatures(e,t&&this.showMapFeatures)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}removeOverlayedGraphicsOnImage(e){this.removeHandles(`${R.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find((t=>t.id===e))),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return B("div",{class:this.classes($.widget,L)},this._renderRoot)}async startDataCapture(e){return this.viewModel.startDataCapture(e)}async stopDataCapture(e){return this.viewModel.stopDataCapture(e)}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([g({readOnly:!0})],W.prototype,"accuracyParametersMissing",null),e([g()],W.prototype,"activeLayer",null),e([g()],W.prototype,"currentBestFeature",null),e([g()],W.prototype,"currentCoverageVisible",null),e([g()],W.prototype,"dataCaptureEnabled",void 0),e([g()],W.prototype,"dataCaptureLayer",null),e([g()],W.prototype,"disabled",null),e([g()],W.prototype,"features",null),e([g()],W.prototype,"imagePointsInView",null),e([g()],W.prototype,"galleryOpened",void 0),e([g()],W.prototype,"icon",null),e([g()],W.prototype,"imageEnhancementToolActive",void 0),e([g({readOnly:!0})],W.prototype,"imageGalleryEnabled",null),e([g()],W.prototype,"imageLocationToolActive",null),e([g()],W.prototype,"directionToolsActive",void 0),e([g()],W.prototype,"imageOverlaysOpened",void 0),e([g({readOnly:!0})],W.prototype,"invalidCameraHeading",null),e([g()],W.prototype,"isAdditionalCoverageVisible",null),e([g()],W.prototype,"isAdditionalPointSourcesVisible",null),e([g()],W.prototype,"mapImageConversionToolState",null),e([g()],W.prototype,"measureType",null),e([g()],W.prototype,"layer",null),e([g()],W.prototype,"navigationToolActive",void 0),e([H(v()),g({type:E})],W.prototype,"viewModel",void 0),e([g(),D("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],W.prototype,"messages",void 0),e([g(),D("esri/core/t9n/Units")],W.prototype,"measurementUnitMessages",void 0),e([g(),D("esri/t9n/common")],W.prototype,"messagesCommon",void 0),e([g(),D("esri/widgets/Sketch/t9n/Sketch")],W.prototype,"messagesSketch",void 0),e([g()],W.prototype,"pixelMeasurementUnit",void 0),e([g()],W.prototype,"pixelAreaMeasurementUnit",void 0),e([g({readOnly:!0})],W.prototype,"popupEnabled",null),e([g()],W.prototype,"referencePoint",null),e([g()],W.prototype,"showCameraLocations",void 0),e([g()],W.prototype,"showMapFeatures",void 0),e([H(["create","delete","redo","undo","update"]),g({readOnly:!0})],W.prototype,"sketchViewModel",null),e([g()],W.prototype,"view",null),e([g({type:V,nonNullable:!0})],W.prototype,"visibleElements",void 0),e([g()],W.prototype,"determineWorkflowForFeature",null),e([g()],W.prototype,"updateFootprint",null),e([g()],W.prototype,"_activeMeasurementIcon",null),e([g()],W.prototype,"_activeMeasurementHeading",null),e([g()],W.prototype,"_imageOverlaysLoaderTask",void 0),e([g()],W.prototype,"_imageMeasurementToolsLoaderTask",void 0),e([g()],W.prototype,"_measurementToggle",null),e([g()],W.prototype,"_renderRoot",null),e([g()],W.prototype,"_imageEnhancementTools",null),e([g()],W.prototype,"_imageGalleryPanel",null),e([g()],W.prototype,"_imageGalleryContext",null),e([g()],W.prototype,"_imageOverlaysComponent",null),e([g()],W.prototype,"_imageOverlayMessages",null),e([g()],W.prototype,"_imageSketchToolsMessages",null),e([g()],W.prototype,"_imageViewer",null),e([g()],W.prototype,"_imageViewerTriangular",null),e([g()],W.prototype,"_locationToggle",null),e([g()],W.prototype,"_messageBox",null),e([g()],W.prototype,"_navigationToolExpanded",void 0),e([g()],W.prototype,"_navigationTool",void 0),e([g()],W.prototype,"_panoramicViewer",null),e([g()],W.prototype,"_renderNavigationUI",null),e([g()],W.prototype,"_warningTitleElement",void 0),e([g()],W.prototype,"_renderNavigation",null),e([g()],W.prototype,"_renderThumbnails",null),e([g()],W.prototype,"_sketchLoaderTask",void 0),W=e([m("esri.widgets.OrientedImageryViewer")],W);const z=W;export{z as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{prefersReducedMotion as t}from"../core/a11yUtils.js";import{createTask as i}from"../core/asyncUtils.js";import a from"../core/Collection.js";import{deprecatedProperty as s}from"../core/deprecate.js";import o from"../core/Logger.js";import{isAbortError as r}from"../core/promiseUtils.js";import{watch as n,initial as l,syncAndInitial as c,whenOnce as d}from"../core/reactiveUtils.js";import{property as g}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{or as h}from"../layers/orientedImagery/transformations/utils.js";import u from"./Widget.js";import{getAllArcPath as p}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as v,defaultImageGeometryField as y,defaultOIObjectIDField as w,segmentArcs as _,featureCircleRadius as T,navigationToolDimensionLength as M,sectorsRadii as b}from"./OrientedImageryViewer/constants.js";import{css as C,navigation as A,navigationToolRotationFrom as I,navigationToolRotationTo as L,root as f}from"./OrientedImageryViewer/css.js";import{loadImageForAttachment as k,getThumbnailPixelBlock as O,isFeatureAttachment as S,renderImageWithRotation as F}from"./OrientedImageryViewer/galleryUtils.js";import E from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import V from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import P from"./OrientedImageryViewer/components/ImageLocationWidget.js";import x from"./OrientedImageryViewer/components/ImageViewer.js";import G from"./OrientedImageryViewer/components/NavigationUI.js";import{loadCalciteComponents as j}from"./support/componentsUtils.js";import{globalCss as $}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as D}from"./support/decorators/messageBundle.js";import{vmEvent as H}from"./support/decorators/vmEvent.js";import{tsx as B,tsxFragment as N}from"./support/jsxFactory.js";import{substitute as W}from"../intl/substitute.js";const U={overlayed:"overlayed"};let R=class extends u{constructor(e,t){super(e,t),this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.directionToolsActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new E,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new V,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1},this._navigationToolExpanded=!1,this._navigationTool=null,this._warningTitleElement=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new a,this._previousAction=null,this._handleDataCaptureLayerChange=async e=>{if(this.dataCaptureLayer&&await this.stopDataCapture(!0),this.dataCaptureLayer=this.dataCaptureLayer===e?null:e,this.dataCaptureLayer)return this.startDataCapture(this.dataCaptureLayer)},this._handleOverlayLayerDeselect=e=>{const t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(n((()=>t.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible)})),`${U.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{const{target:t}=e,{dataset:{action:i}}=t,{_previousAction:a}=this,s=a?.dataset.action,o=s?.includes("draw")??!1,r="select-feature"===s,n=s!==i;switch(i){case"draw-point":case"draw-polygon":case"draw-polyline":{a&&h(r,o&&n)&&(a.active=!1),t.active=!t.active;const e=i.replace("draw-","");this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case"save":this.viewModel.saveDrawing();break;case"select-feature":o&&(this._previousAction.active=!1),t.active=!t.active,this.viewModel.toggleSelection(t.active),this._previousAction=t.active?t:null;break;case"delete-feature":this.viewModel.digitizeDelete()}},this._onImageOverlayClosed=()=>{this.imageOverlaysOpened=!1},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._restoreOverlays=async()=>Promise.all(this._overlayedLayers.map((e=>this.viewModel.overlayMapFeatures(e,this.showMapFeatures)))),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._sketchLoaderTask=null,this._toggleDirectionsTool=()=>{const e=this.directionToolsActive;this._closeAllImageTools(),this.directionToolsActive=!e},this._toggleImageAttributes=()=>{this.viewModel.toggleImageAttributes()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this)}initialize(){this.addHandles([n((()=>[this.viewModel?.bestFeatureAngle,this._navigationTool]),(([e,t])=>{t&&this._updateNavigationTool(t)}),l),n((()=>this.currentCoverageVisible),(e=>this._onCurrentCoverageVisibilityChange(e))),n((()=>this.isAdditionalCoverageVisible),(e=>this._onAdditionalCoverageVisibilityChange(e))),n((()=>this.isAdditionalPointSourcesVisible),(e=>this._onAdditionalCameraLocationsVisibility(e))),n((()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state})),(({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)}),c),n((()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state})),(async(e,t)=>{if(e.showMapFeatures!==t?.showMapFeatures&&this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature){if(this.viewModel.removeAllOverlayMapFeatures(),await d((()=>"image-loaded"===this.viewModel.state)),this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),!this.dataCaptureLayer)return;await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null)}}),l)])}loadDependencies(){return j({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip")})}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect()}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){s(o.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get dataCaptureLayer(){return this.viewModel.dataCaptureLayer}set dataCaptureLayer(e){this.viewModel.dataCaptureLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get imageLocationToolActive(){return this.viewModel.imageLocationToolState}set imageLocationToolActive(e){this.viewModel.imageLocationToolState=e}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get measureType(){return this.viewModel.measureType}set measureType(e){this.viewModel.measureType=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return"image-loaded"===t&&e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get triangularMeasurementActive(){return this.viewModel.triangularMeasurementActive}set triangularMeasurementActive(e){this.viewModel.triangularMeasurementActive=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}_renderActionBar(){return B("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},B("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle()),B("calcite-action-group",null,this._mapImageConversionToggle(),this._navigationToolToggle(),this._directionToolToggle(),this._imageEnhancementsToggle()),B("calcite-action-group",null,this._measurementToolsToggle(),this._imageGalleryToggle(),this._imageOverlaysToggle(),this._openPopupAction()))}get _activeMeasurementIcon(){const{measureType:e,imageLocationToolActive:t}=this;if(t)return"pin-tear";switch(e){case"area":return"measure-area";case"height":return"measure-building-height-top-base";default:return"measure-line"}}get _activeMeasurementHeading(){const{measureType:e,messages:t,triangularMeasurementActive:i}=this,{groundArea:a,heightAboveGround:s,groundDistance:o,triangulatedAreaHeading:r,triangulatedDistanceHeading:n}=t;if(i)return"area"===e?r:n;switch(e){case"area":return a;case"height":return s;default:return o}}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?B("calcite-action",{active:e,bind:this,class:C.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations}):null}get _measurementToggle(){const{viewModel:{state:e,measureType:t,currentBestFeatureMeasurementImage:i},triangularMeasurementActive:a,id:s}=this;if("image-loaded"!==e||!t||a&&!i)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();const o=this._imageMeasurementToolsLoaderTask?.value;return o?B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${s}-${t}-measurement`,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearMeasurements},B(o,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){const{viewModel:{state:e},triangularMeasurementActive:t}=this;return B("calcite-panel",null,B("calcite-shell",null,B("calcite-panel",{bind:this,class:t?C.viewerContainerMeasurement:C.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:e.includes("loading")&&!t},this.visibleElements.menu?this._renderActionBar():null,this._imageViewer,this._panoramicViewer,this._messageBox,this.invalidCameraHeading?[this._renderWarning(this.messages.invalidCameraHeadingWarningTitle),this._renderWarningTooltip(this.messages.invalidCameraHeadingWarningDescription)]:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._imageEnhancementTools,this._renderNavigationUI,this._renderSketch()),this._imageViewerTriangular,this._measurementToggle,this._locationToggle))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?B("calcite-action",{active:e,bind:this,class:C.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint,title:this.messages.currentFootprint}):null}get _imageEnhancementTools(){const{imageEnhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?B("calcite-panel",{bind:this,class:C.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleImageEnhancementToolState},B("div",{class:C.imageEnhancementTools},B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.brightness,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:t,onCalciteSliderInput:this._handleBrightnessChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.contrast,B("calcite-slider",{bind:this,labelTicks:!0,max:10,min:-10,ticks:5,value:i,onCalciteSliderInput:this._handleContrastChange}))),B("div",{class:C.imageEnhancementToolContainer},B("calcite-label",null,this.messages.sharpness,B("calcite-slider",{bind:this,labelTicks:!0,max:1,min:0,step:.1,ticks:.5,value:a,onCalciteSliderInput:this._handleSharpnessChange})))),B("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset,title:this.messagesCommon.reset})):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{imageEnhancement:i}=this.visibleElements;return i?B("calcite-action",{active:this.imageEnhancementToolActive,bind:this,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleImageEnhancementToolState,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i}=this;return i&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){const{galleryOpened:e,invalidCameraHeading:t}=this;return B("calcite-panel",{bind:this,class:C.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},B("div",{class:C.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?B("calcite-action",{active:this.galleryOpened,bind:this,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery,title:this.messages.imageGallery}):null}get _imageOverlaysComponent(){const{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:a,dataCaptureEnabled:s,dataCaptureLayer:o,imageOverlaysOpened:r,showCameraLocations:n,showMapFeatures:l,view:c,layer:d}=this;if(!d)return null;const g=d.imageGeometryField?.length?d.imageGeometryField:y,m=d.imageReferenceField?.length?d.imageReferenceField:w;t||(this._imageOverlaysLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/ImageOverlays.js")).default)));const h=this._imageOverlaysLoaderTask?.value;return h?B(h,{closed:!r,dataCaptureEnabled:s,dataCaptureLayer:o,imageGeometryField:g,imageReferenceField:m,messages:e,overlayedLayers:a,showCameraLocations:n,showMapFeatures:l,view:c,onDataCaptureLayerChanged:this._handleDataCaptureLayerChange,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged}):null}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageSketchToolsMessages(){return{...this.messagesSketch,...this.messagesCommon}}_imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this,i=this.classes({[C.imageOverlaysContainer]:!0,[$.hidden]:!e||"image-loaded"!==t});return B("div",{class:i,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?B("calcite-action",{active:t,bind:this,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays,title:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i}=this.viewModel,a=null!=e||"default"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s},this._renderSketch())}get _imageViewerTriangular(){const{messages:e,triangularMeasurementActive:t}=this,{displayMessage:i,storeImageMeasurementViewer:a,mode:s,state:o}=this.viewModel,r=null!=i||"default"!==s,n=this.classes({[C.viewer]:!r,[C.viewerHidden]:r});return t?B("calcite-panel",{class:C.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:o.includes("loading")},B("calcite-panel",{bind:this,class:n},B(x,{afterCreate:a}))):null}get _locationToggle(){const{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:i,triangulatedPoint:a},imageLocationToolActive:s,triangularMeasurementActive:o,messages:{groundLocation:r,triangulatedLocationHeading:n}}=this;if("image-loaded"===e&&t&&s)return B("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:o?n:r,id:r,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearImageLocation},B(P,{accuracy:i,groundCoordinates:o&&a?a:t,messages:this.messages}))}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t},invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this;return a?B("calcite-action",{active:e,bind:this,disabled:"image-loaded"!==t||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool}):null}_measurementToolsToggle(){const{_activeMeasurementIcon:e,measureType:t,viewModel:i,accuracyParametersMissing:a,messages:s,triangularMeasurementActive:o,visibleElements:{measurementTools:r}}=this,{state:n,mode:l}=i,{measurementTools:c,groundDistance:d,groundArea:g,heightAboveGround:m,groundLocation:h,triangulatedDistanceHeading:u,triangulatedAreaHeading:p,triangulatedLocationHeading:v}=s;return r?B("calcite-dropdown",{disabled:a,key:"measurement-tools",maxItems:5,title:c,width:"m"},B("calcite-action",{bind:this,disabled:"image-loaded"!==n||a,icon:e,slot:"trigger",text:c}),B("calcite-dropdown-group",null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"measure-line",key:"distance-measurement",onclick:e=>this._toggleMeasurementSketch(e,"distance"),selected:"distance"===t&&!o},d),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"measure-area",key:"area-measurement",onclick:e=>this._toggleMeasurementSketch(e,"area"),selected:"area"===t&&!o},g),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"measure-building-height-top-base",key:"height-dropdown",onclick:e=>this._toggleMeasurementSketch(e,"height"),selected:"height"===t},m),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"pin-tear",key:"surface-location",onclick:this._toggleLocationTool,selected:!!this.imageLocationToolActive&&!o},h),"default"===l&&B(N,null,B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"image-mensuration",key:"triangular-measurement-distance",selected:!!o&&"distance"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularDistanceMeasurements},u),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"image-mensuration",key:"triangular-measurement-area",selected:!!o&&"area"===this.measureType,onCalciteDropdownItemSelect:this._toggleTriangularAreaMeasurements},p),B("calcite-dropdown-item",{bind:this,disabled:"image-loaded"!==n,iconStart:"pin-tear",key:"triangular-location",selected:!!o&&this.imageLocationToolActive,onCalciteDropdownItemSelect:this._toggleTriangularLocation},v)))):null}get _messageBox(){const{messages:e,viewModel:{displayMessage:t}}=this;if(!t)return null;const{data:i,key:a,map:s}=t,o=`${s?W(e[a],s):e[a]}`;return B("span",{class:C.messageBox},i?`${o} ${i}`:o)}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t}}=this;return t?B("calcite-action",{active:this.navigationToolActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool,title:this.messages.navigationTool}):null}_directionToolToggle(){const{state:e,mode:t}=this.viewModel,{visibleElements:{directions:i}}=this;return i?B("calcite-action",{active:this.directionToolsActive,bind:this,disabled:"image-loaded"!==e||this.invalidCameraHeading||"panoramic"!==t,icon:"tour",onclick:this._toggleDirectionsTool,text:this.messages.imageNavigation,title:this.messages.imageNavigation}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?B("calcite-action",{bind:this,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups,title:this.messages.showPopups}):null}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i}=this.viewModel,a=null!=e||"panoramic"!==i,s=this.classes({[C.viewer]:!a,[C.viewerHidden]:a});return B("calcite-panel",{afterCreate:t,bind:this,class:s})}get _renderNavigationUI(){const{visibleElements:{directions:e},directionToolsActive:t,viewModel:i}=this;return"image-loaded"===i.state&&e&&t&&"panoramic"===i.mode?B(G,{currentNode:this.viewModel.currentNode,navigate:this.viewModel.navigate,nodes:this.viewModel.navigationNodes}):null}_activateTriangulatedImageLocationTool(){this.navigationToolActive=!0,this.imageLocationToolActive=!0}_activateTriangulatedImageLocationWorkflow(e,t){this._closeAllImageTools(),this.imageLocationToolActive=!0,this.triangularMeasurementActive=!e,this.navigationToolActive=!!t||!t}_closeImageToolsAndToggleNavigation(e,t){this._closeAllImageTools(),this.triangularMeasurementActive=!e,this.navigationToolActive=!t}_resetMeasureTypeAndActivateImageLocationTool(){this.measureType=null,this.imageLocationToolActive=!0}_closeAllImageTools(){this.imageEnhancementToolActive=!1,this.navigationToolActive=!1,this.imageOverlaysOpened=!1,this.galleryOpened=!1,this.measureType=null,this.imageLocationToolActive=!1,this.directionToolsActive=!1}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach((async e=>{if(e.isIntersecting){const a=e.target,s=a.getAttribute("data-src"),n=a.getAttribute("data-rotation"),l=a.getAttribute("data-objectid"),c=n?parseFloat(n)%360:0,{layer:d,_galleryController:{signal:g}}=this;if(!s||!l)return;let m;try{m=S(s)?await k(d,l,{signal:g}):await O(s,{signal:g})}catch(i){r(i)||o.getLogger("esri.widgets.OrientedImageryViewer").error("#lazyLoadImage()",i)}finally{t.unobserve(a)}if(!m)return;F(m,a,c)}}))}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=i((async()=>{const{default:e}=await import("./OrientedImageryViewer/components/ImageMeasurementWidget.js");return e}))}_loadSketchResources(){this._sketchLoaderTask=i((async()=>(await import("./OrientedImageryViewer/components/SketchTools.js")).default))}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e){const{invalidCameraHeading:t,viewModel:{state:i}}=this;return t&&"image-loaded"===i?[B("calcite-notice",{class:C.alert,closable:!0,icon:"exclamation-mark-triangle-f",iconFlipRtl:!0,kind:"warning",open:!0,scale:"s"},B("div",{afterCreate:e=>this._storeWarningTitleElement(e),slot:"title"},e))]:null}_renderWarningTooltip(e){const{_warningTitleElement:t}=this;if(e?.length&&t)return B("calcite-tooltip",{closeOnClick:!0,referenceElement:t},e)}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:i,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,r,n,l,c;if(i){const{x:e,y:t,direction:a}=i,[s,d,g,m]=_[a];o=`M ${e} ${t} L ${s} ${d} A ${b[2]} ${b[2]} 0 0 1 ${g} ${m} Z`,r=e,l=t,n=_[a][4],c=_[a][5]}const d=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},g=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},m=e=>{e.removeEventListener("click",g)},h=a.attributes.objectId,u=e?.map((e=>e?.items)).filter(Boolean).flatMap((e=>e?.map((({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>B("circle",{afterRemoved:m,class:this.classes(C.feature,{selected:h===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${C.feature}-${i}`,onclick:g,r:T}))))),v=e=>{e.removeEventListener("click",d)},y=this.classes({[C.navigationWrapper]:!0,[C.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&"image-loaded"===s?B("div",{bind:this,class:y,key:this.messages.navigationTool},B("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:t()?A:C.rotateWithAnimation,focusable:"false",height:M,role:"img",width:M,xmlns:"http://www.w3.org/2000/svg"},B("defs",null,B("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:r,x2:n,y1:l,y2:c},B("stop",{class:C.navigationPathOffset0,offset:0}),B("stop",{class:C.navigationPathOffset1,offset:1}))),B("g",null,B("circle",{class:this.classes(C.sector,C.outerSector),cx:b[3],cy:b[3],onclick:this._scaleNavigationTool,r:b[3]}),B("circle",{class:C.sector,cx:b[3],cy:b[3],r:b[2]}),B("circle",{class:C.sector,cx:b[3],cy:b[3],r:b[1]}),B("circle",{class:C.sector,cx:b[3],cy:b[3],r:b[0]}),B("path",{class:C.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${C.pointer}-west`}),B("path",{class:this.classes(C.pointer,C.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${C.pointer}-north`}),B("path",{class:C.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${C.pointer}-east`}),B("path",{class:C.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${C.pointer}-south`}),B("path",{class:this.classes(C.sector,C.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:C.sectorSeparator}),p([b[2],b[1],b[0]],b[3],b[3]).map(((t,i)=>B("path",{afterRemoved:v,class:this.classes(C.sector,e?.[i]?.length?C.sectorEnabled:C.sectorDisabled),d:t,"data-sector":`${i}`,key:`${C.sector}-${i}`,onclick:d}))),B("path",{class:this.classes(C.sector,C.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:C.sectorCross}),u,a.attributes.cameraPitch>=5&&o?B("path",{class:C.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:C.selectedFeaturePath}):null))):null}_renderSketch(){const{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t)return null;if(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value)return null;const{geometryType:i}=e,a="point"===i?"pin":"polyline"===i?"line":"polygon",s=this._sketchLoaderTask.value;return B("div",{class:C.sketchTools},B(s,{icon:a,messages:this._imageSketchToolsMessages,type:i,onAction:this._onAction}))}get _renderThumbnails(){const{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?B("div",{class:C.carouselContent},t?.items.map((({url:t,objectId:i,rotation:a},s)=>B("div",{class:`${C.carouselItemWrapper}${e.attributes.objectId===i?"--selected":""}`,key:`${C.carouselItemWrapper}-${s}`},B("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:C.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":t,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight}))))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_storeNavigationToolReference(e){this._navigationTool=e}_storeWarningTitleElement(e){this._warningTitleElement=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleImageEnhancementToolState(e){e.stopPropagation();const t=this.imageEnhancementToolActive;this._closeAllImageTools(),this.imageEnhancementToolActive=!t}_toggleImageOverlays(e){e.stopPropagation();const t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();const t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=!!this.imageGalleryEnabled&&!t}_toggleLocationTool(e){const t=this.imageLocationToolActive;this._closeAllImageTools(),this.imageLocationToolActive=!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();const i=this.measureType;this._closeAllImageTools(),this.measureType=i===t?null:t,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){const e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements("area")}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements("distance")}_toggleTriangularLocation(){const e=this.triangularMeasurementActive,t=this.navigationToolActive;e?null===this.measureType?this.imageLocationToolActive?this._closeImageToolsAndToggleNavigation(e,t):this._activateTriangulatedImageLocationTool():this._resetMeasureTypeAndActivateImageLocationTool():this._activateTriangulatedImageLocationWorkflow(e,t)}_toggleTriangularMeasurements(e){const t=this.triangularMeasurementActive,i=this.viewModel.measureType,a=this.navigationToolActive;t?e===i?(this._closeAllImageTools(),this.triangularMeasurementActive=!t,this.navigationToolActive=!a):(this.imageLocationToolActive=!1,this.measureType=e):(this._closeAllImageTools(),this.measureType=e,this.triangularMeasurementActive=!t,this.navigationToolActive=!!a||!a)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(I,`${t}deg`),e.style.setProperty(L,`${t+a}deg`)}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t){return this.viewModel.loadImageFromSource(e,t)}async overlayMapFeatures(e,t){return this.removeHandles(`${U.overlayed}-${e.id}`),this.addHandles(n((()=>e.visible),(()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible)})),`${U.overlayed}-${e.id}`),this._overlayedLayers.add(e),this.viewModel.overlayMapFeatures(e,t&&this.showMapFeatures)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}removeOverlayedGraphicsOnImage(e){this.removeHandles(`${U.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find((t=>t.id===e))),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return B("div",{class:this.classes($.widget,f)},this._renderRoot)}async startDataCapture(e){return this.viewModel.startDataCapture(e)}async stopDataCapture(e){return this.viewModel.stopDataCapture(e)}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([g({readOnly:!0})],R.prototype,"accuracyParametersMissing",null),e([g()],R.prototype,"activeLayer",null),e([g()],R.prototype,"currentBestFeature",null),e([g()],R.prototype,"currentCoverageVisible",null),e([g()],R.prototype,"dataCaptureEnabled",void 0),e([g()],R.prototype,"dataCaptureLayer",null),e([g()],R.prototype,"disabled",null),e([g()],R.prototype,"features",null),e([g()],R.prototype,"imagePointsInView",null),e([g()],R.prototype,"galleryOpened",void 0),e([g()],R.prototype,"icon",null),e([g()],R.prototype,"imageEnhancementToolActive",void 0),e([g({readOnly:!0})],R.prototype,"imageGalleryEnabled",null),e([g()],R.prototype,"imageLocationToolActive",null),e([g()],R.prototype,"directionToolsActive",void 0),e([g()],R.prototype,"imageOverlaysOpened",void 0),e([g({readOnly:!0})],R.prototype,"invalidCameraHeading",null),e([g()],R.prototype,"isAdditionalCoverageVisible",null),e([g()],R.prototype,"isAdditionalPointSourcesVisible",null),e([g()],R.prototype,"mapImageConversionToolState",null),e([g()],R.prototype,"measureType",null),e([g()],R.prototype,"layer",null),e([g()],R.prototype,"navigationToolActive",void 0),e([H(v()),g({type:E})],R.prototype,"viewModel",void 0),e([g(),D("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],R.prototype,"messages",void 0),e([g(),D("esri/core/t9n/Units")],R.prototype,"measurementUnitMessages",void 0),e([g(),D("esri/t9n/common")],R.prototype,"messagesCommon",void 0),e([g(),D("esri/widgets/Sketch/t9n/Sketch")],R.prototype,"messagesSketch",void 0),e([g()],R.prototype,"pixelMeasurementUnit",void 0),e([g()],R.prototype,"pixelAreaMeasurementUnit",void 0),e([g({readOnly:!0})],R.prototype,"popupEnabled",null),e([g()],R.prototype,"referencePoint",null),e([g()],R.prototype,"showCameraLocations",void 0),e([g()],R.prototype,"showMapFeatures",void 0),e([H(["create","delete","redo","undo","update"]),g({readOnly:!0})],R.prototype,"sketchViewModel",null),e([g()],R.prototype,"triangularMeasurementActive",null),e([g()],R.prototype,"view",null),e([g({type:V,nonNullable:!0})],R.prototype,"visibleElements",void 0),e([g()],R.prototype,"determineWorkflowForFeature",null),e([g()],R.prototype,"updateFootprint",null),e([g()],R.prototype,"_activeMeasurementIcon",null),e([g()],R.prototype,"_activeMeasurementHeading",null),e([g()],R.prototype,"_imageOverlaysLoaderTask",void 0),e([g()],R.prototype,"_imageMeasurementToolsLoaderTask",void 0),e([g()],R.prototype,"_measurementToggle",null),e([g()],R.prototype,"_renderRoot",null),e([g()],R.prototype,"_imageEnhancementTools",null),e([g()],R.prototype,"_imageGalleryPanel",null),e([g()],R.prototype,"_imageGalleryContext",null),e([g()],R.prototype,"_imageOverlaysComponent",null),e([g()],R.prototype,"_imageOverlayMessages",null),e([g()],R.prototype,"_imageSketchToolsMessages",null),e([g()],R.prototype,"_imageViewer",null),e([g()],R.prototype,"_imageViewerTriangular",null),e([g()],R.prototype,"_locationToggle",null),e([g()],R.prototype,"_messageBox",null),e([g()],R.prototype,"_navigationToolExpanded",void 0),e([g()],R.prototype,"_navigationTool",void 0),e([g()],R.prototype,"_panoramicViewer",null),e([g()],R.prototype,"_renderNavigationUI",null),e([g()],R.prototype,"_warningTitleElement",void 0),e([g()],R.prototype,"_renderNavigation",null),e([g()],R.prototype,"_renderThumbnails",null),e([g()],R.prototype,"_sketchLoaderTask",void 0),R=e([m("esri.widgets.OrientedImageryViewer")],R);const z=R;export{z as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Camera.js";import i from"../../Ground.js";import o from"../../Map.js";import a from"../../request.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import n from"../../core/Evented.js";import{JSONMap as h}from"../../core/jsonMap.js";import{rad2deg as m,deg2rad as l}from"../../core/mathUtils.js";import{destroyMaybe as d}from"../../core/maybe.js";import{isAbortError as c,waitTick as p}from"../../core/promiseUtils.js";import{watch as g,syncAndInitial as _,when as u}from"../../core/reactiveUtils.js";import{property as y}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as v}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import w from"../../geometry/SpatialReference.js";import z from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as R}from"../../layers/orientedImagery/transformations/utils.js";import V from"../../views/SceneView.js";import{logAndThrow as C,getMissingPropertyErrorName as M,getMissingPropertyErrorMessage as j}from"../OrientedImageryViewer/utils.js";import{defaultImageSphereCenter as P,maxPanoramicViewerHFOV as H,minPanoramicViewerHFOV as O,humanBinocularHFOV as S}from"./constants.js";import b from"./PanoramicZoomConditions.js";import k from"./PanoramicZoomViewModel.js";import{findDiagonalFOV as x,meshToGraphic as I,createImageSphere as F}from"./utils.js";const G={default:"default",navigation:"navigation",fovConstraint:"fov-constraint",clickAction:"image-click-action"};let A=class extends n.EventedAccessor{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new z({elevationInfo:{mode:"relative-to-ground"}}),this._imageGraphic=null,this._loadController=null,this._map=new o({ground:new i({opacity:0,navigationConstraint:null}),layers:new r([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!1,this.clickAction="none",this.imageSize=null,this.imageSource=null,this.pitch=90,this.state="ready",this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.suspended=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(G.navigation),this.addHandles([this.imageRenderer.on("mouse-wheel",this._handleWheel),this.imageRenderer.on("double-click",this._handleDoubleClick),this.imageRenderer.on("drag",this._handleDrag),this.imageRenderer.on("key-down",(e=>{const t=["+","-","Shift","_","=","ArrowUp","ArrowDown","ArrowRight","ArrowLeft"],i=e.key;t.includes(i)&&e.stopPropagation()}))],G.navigation)},this._addHFOVHandles=()=>{this.removeHandles(G.fovConstraint),this.addHandles(g((()=>[this.maxHFOV,this.minHFOV]),(()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new b({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))}),_),G.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new k({view:this.imageRenderer,panoramicZoomConditions:new b({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});const e=this.imageRenderer.ui.find("zoom");e&&(e.viewModel=this._zoomViewModel),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();const{action:t,x:i,y:o}=e;switch(t){case"start":this._startPosition=this._targetPosition={x:i,y:o};break;case"update":this._targetPosition={x:i,y:o},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if("image-loaded"===this.state&&this.imageRenderer.ready)switch(this.clickAction){case"emit":e.stopPropagation(),this.emit("click",e);break;case"hittest":e.stopPropagation(),e.defer((async()=>{const t=await this.imageRenderer.hitTest(e.screenPoint,{include:this._graphics});this.emit("hittest-response",t)}));break;case"pixel-location":{if(e.stopPropagation(),!this.imageSize||!e.mapPoint)return void this.emit("pixel-location",null);const t=R(e.mapPoint,this.imageSize[0],this.imageSize[1]);this.emit("pixel-location",{...t,spatialReference:w.WebMercator});break}}},this._handleWheel=e=>{const t=e.deltaX??e.native.deltaX;e.stopPropagation(),t>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,t)=>"image-loaded"===this.state&&!this._graphics.graphics.includes(e)&&(this._graphics.graphics.add(e,t),!0),this.addManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const t=e.filter((e=>!this._graphics.graphics.includes(e)));return this._graphics.graphics.addMany(t),!0},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.removeGraphic=e=>!("image-loaded"!==this.state||!this._graphics.graphics.includes(e))&&(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const t=e.filter((e=>this._graphics.graphics.includes(e)));return this._graphics.removeMany(t),!0},this._imageRenderer=new V({map:this._map,viewingMode:"local",camera:{position:P},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:"virtual"}},popupEnabled:!1,spatialReference:w.WebMercator,ui:{components:["zoom"]}})}destroy(){this._imageRenderer.destroy()}initialize(){this.state="initialized",this.addHandles([g((()=>this.imageSource),(()=>{this.imageSource&&this.autoLoad&&this._loadWithController()}),_),g((()=>this.fov),(()=>{this._reloadCamera()}),_),g((()=>this.yaw),(e=>{this.camera.heading=e,this._reloadCamera()}),_),g((()=>this.pitch),(e=>{this.camera.tilt=e,this._reloadCamera()}),_),u((()=>this.imageRenderer.ready),(()=>{this._addNavigationHandles(),this._addZoomHandles()}),_),g((()=>this.clickAction),(e=>{this.removeHandles(G.clickAction),"none"!==e&&this.addHandles(this.imageRenderer.on("click",this._handleImageClick))}),_)],G.default)}get camera(){return this.imageRenderer.camera}set camera(e){e&&(this.imageRenderer.camera=e.clone())}get fov(){return this.camera.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get hfov(){const{fov:e}=this.camera,{size:[t,i]}=this.imageRenderer,o=t/i,a=Math.atan(o);return 2*m(Math.atan(Math.tan(l(e/2))*Math.sin(a)))}get imageRenderer(){return this._imageRenderer}get maxHFOV(){const{size:[e,t]}=this.imageRenderer;return x(H,e/t)}get minHFOV(){const{size:[e,t]}=this.imageRenderer;return x(O,e/t)}get vfov(){const{fov:e}=this.camera,{size:[t,i]}=this.imageRenderer,o=t/i,a=Math.atan(o);return 2*m(Math.atan(Math.tan(l(e/2))*Math.cos(a)))}async _loadImageInternal(e,t){let i;this.state="image-loading";try{i=(await a(e,{responseType:"image",...t})).data}catch(o){throw c(o)?this.state="image-load-aborted":this.state="image-load-error",o}return this._updateImageSphere(i,t)}_reloadCamera(){this.camera=this.camera.clone()}_removeImageSphere(){this._imageGraphic&&(this._graphics.remove(this._imageGraphic),this._imageGraphic=d(this._imageGraphic)),this.state="ready",this.imageSize=null}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition)return;const e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;const t=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.tilt;this.pitch=Math.min(179.5,Math.max(.5,t)),this._startPosition=this._targetPosition}async _updateImageSphere(e,t){await p(t);const{size:[i,o]}=this.imageRenderer;return this._imageGraphic=I(F(e)),this._graphics.add(this._imageGraphic),this.fov=x(S,i/o),this.state="image-loaded",this.imageSize=[e.width,e.height],this._imageGraphic.geometry}async loadImage(e){return this._removeImageSphere(),this.imageSource?this._loadImageInternal(this.imageSource,e):C(this.declaredClass,new s(M("panoramic-viewer"),j("PanoramicViewerViewModel","imageSource")))}};e([y()],A.prototype,"_graphics",void 0),e([y()],A.prototype,"_imageGraphic",void 0),e([y()],A.prototype,"_imageRenderer",void 0),e([y()],A.prototype,"_loadController",void 0),e([y()],A.prototype,"_map",void 0),e([y()],A.prototype,"_zoomViewModel",void 0),e([y({type:Boolean})],A.prototype,"autoLoad",void 0),e([y({type:t})],A.prototype,"camera",null),e([v(new h({emit:"emit",hittest:"hittest",none:"none","pixel-location":"pixel-location"}))],A.prototype,"clickAction",void 0),e([y({type:Number})],A.prototype,"fov",null),e([y({readOnly:!0})],A.prototype,"hfov",null),e([y({readOnly:!0})],A.prototype,"imageRenderer",null),e([y()],A.prototype,"imageSize",void 0),e([y()],A.prototype,"imageSource",void 0),e([y({readOnly:!0})],A.prototype,"maxHFOV",null),e([y({readOnly:!0})],A.prototype,"minHFOV",null),e([y({type:Number})],A.prototype,"pitch",void 0),e([y()],A.prototype,"state",void 0),e([y({readOnly:!0})],A.prototype,"vfov",null),e([y({type:Number})],A.prototype,"yaw",void 0),A=e([f("esri.widgets.PanoramicViewer.PanoramicViewerViewModel")],A);const L=A;export{L as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import i from"../../Camera.js";import t from"../../Ground.js";import a from"../../Map.js";import o from"../../request.js";import r from"../../core/Collection.js";import s from"../../core/Error.js";import n from"../../core/Evented.js";import{JSONMap as h}from"../../core/jsonMap.js";import{rad2deg as m,deg2rad as l}from"../../core/mathUtils.js";import{destroyMaybe as d}from"../../core/maybe.js";import{isAbortError as c,waitTick as p}from"../../core/promiseUtils.js";import{watch as g,syncAndInitial as _,when as u}from"../../core/reactiveUtils.js";import{property as v}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as y}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import w from"../../geometry/SpatialReference.js";import M from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as V}from"../../layers/orientedImagery/transformations/utils.js";import z from"../../views/SceneView.js";import{logAndThrow as R,getMissingPropertyErrorName as C,getMissingPropertyErrorMessage as j}from"../OrientedImageryViewer/utils.js";import{defaultImageSphereCenter as P,maxPanoramicViewerHFOV as H,minPanoramicViewerHFOV as O,humanBinocularHFOV as S}from"./constants.js";import b from"./PanoramicZoomConditions.js";import I from"./PanoramicZoomViewModel.js";import{findDiagonalFOV as k,meshToGraphic as x,createImageSphere as F}from"./utils.js";const G={default:"default",navigation:"navigation",fovConstraint:"fov-constraint",clickAction:"image-click-action"};let A=class extends n.EventedAccessor{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new M({elevationInfo:{mode:"relative-to-ground"}}),this._imageGraphic=null,this._loadController=null,this._map=new a({ground:new t({opacity:0,navigationConstraint:null}),layers:new r([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!1,this.clickAction="none",this.imageSize=null,this.imageSource=null,this.navigationManager=null,this.navigationViewModel=null,this.pitch=90,this.state="ready",this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.suspended=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(G.navigation),this.addHandles([this.imageRenderer.on("mouse-wheel",this._handleWheel),this.imageRenderer.on("double-click",this._handleDoubleClick),this.imageRenderer.on("drag",this._handleDrag),this.imageRenderer.on("key-down",(e=>{const i=["+","-","Shift","_","=","ArrowUp","ArrowDown","ArrowRight","ArrowLeft"],t=e.key;i.includes(t)&&e.stopPropagation()}))],G.navigation)},this._addHFOVHandles=()=>{this.removeHandles(G.fovConstraint),this.addHandles(g((()=>[this.maxHFOV,this.minHFOV]),(()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new b({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))}),_),G.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new I({view:this.imageRenderer,panoramicZoomConditions:new b({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});const e=this.imageRenderer.ui.find("zoom");e&&(e.viewModel=this._zoomViewModel),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();const{action:i,x:t,y:a}=e;switch(i){case"start":this._startPosition=this._targetPosition={x:t,y:a};break;case"update":this._targetPosition={x:t,y:a},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if("image-loaded"===this.state&&this.imageRenderer.ready)switch(this.clickAction){case"emit":e.stopPropagation(),this.emit("click",e);break;case"hittest":e.stopPropagation(),e.defer((async()=>{const i=await this.imageRenderer.hitTest(e.screenPoint,{include:this._graphics});this.emit("hittest-response",i)}));break;case"pixel-location":{if(e.stopPropagation(),!this.imageSize||!e.mapPoint)return void this.emit("pixel-location",null);const i=V(e.mapPoint,this.imageSize[0],this.imageSize[1]);this.emit("pixel-location",{...i,spatialReference:w.WebMercator});break}}},this._handleWheel=e=>{const i=e.deltaX??e.native.deltaX;e.stopPropagation(),i>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadNavigationManager=async()=>{if(!this.navigationManager||this.navigationManager?.destroyed){const e=await import("../OrientedImageryViewer/navigation/NavigationManagerPanoramic.js").then((e=>e.default));this.navigationManager=new e({viewModel:this.navigationViewModel})}return this.navigationManager},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadImage(this._loadController)},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,i)=>"image-loaded"===this.state&&!this._graphics.graphics.includes(e)&&(this._graphics.graphics.add(e,i),!0),this.addManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const i=e.filter((e=>!this._graphics.graphics.includes(e)));return this._graphics.graphics.addMany(i),!0},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.navigate=async(e,i)=>(await this._loadNavigationManager()).navigate(e,i),this.removeGraphic=e=>!("image-loaded"!==this.state||!this._graphics.graphics.includes(e))&&(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if("image-loaded"!==this.state)return!1;const i=e.filter((e=>this._graphics.graphics.includes(e)));return this._graphics.removeMany(i),!0},this._imageRenderer=new z({map:this._map,viewingMode:"local",camera:{position:P},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:"virtual"}},popupEnabled:!1,spatialReference:w.WebMercator,ui:{components:["zoom"]}})}destroy(){this._imageRenderer.destroy()}initialize(){this.state="initialized",this.addHandles([g((()=>this.imageSource),(()=>{this.imageSource&&this.autoLoad&&this._loadWithController()}),_),g((()=>this.fov),(()=>{this._reloadCamera()}),_),g((()=>this.yaw),(e=>{this.camera.heading=e,this._reloadCamera()}),_),g((()=>this.pitch),(e=>{this.camera.tilt=e,this._reloadCamera()}),_),u((()=>this.imageRenderer.ready),(()=>{this._addNavigationHandles(),this._addZoomHandles()}),_),g((()=>this.clickAction),(e=>{this.removeHandles(G.clickAction),"none"!==e&&this.addHandles(this.imageRenderer.on("click",this._handleImageClick))}),_)],G.default)}get camera(){return this.imageRenderer.camera}set camera(e){e&&(this.imageRenderer.camera=e.clone())}get fov(){return this.camera.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get hfov(){const{fov:e}=this.camera,{size:[i,t]}=this.imageRenderer,a=i/t,o=Math.atan(a);return 2*m(Math.atan(Math.tan(l(e/2))*Math.sin(o)))}get imageRenderer(){return this._imageRenderer}get maxHFOV(){const{size:[e,i]}=this.imageRenderer;return k(H,e/i)}get minHFOV(){const{size:[e,i]}=this.imageRenderer;return k(O,e/i)}get vfov(){const{fov:e}=this.camera,{size:[i,t]}=this.imageRenderer,a=i/t,o=Math.atan(a);return 2*m(Math.atan(Math.tan(l(e/2))*Math.cos(o)))}async _loadImageInternal(e,i){let t;this.state="image-loading";try{t=(await o(e,{responseType:"image",...i})).data}catch(a){throw c(a)?this.state="image-load-aborted":this.state="image-load-error",a}return this._updateImageSphere(t,i)}_reloadCamera(){this.camera=this.camera.clone()}_removeImageSphere(){this._imageGraphic&&(this._graphics.remove(this._imageGraphic),this._imageGraphic=d(this._imageGraphic)),this.state="ready",this.imageSize=null}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition)return;const e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;const i=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.tilt;this.pitch=Math.min(179.5,Math.max(.5,i)),this._startPosition=this._targetPosition}async _updateImageSphere(e,i){await p(i);const{size:[t,a]}=this.imageRenderer;return this._imageGraphic=x(F(e)),this._graphics.add(this._imageGraphic),this.fov=k(S,t/a),this.state="image-loaded",this.imageSize=[e.width,e.height],this._imageGraphic.geometry}async loadImage(e){return this._removeImageSphere(),this.imageSource?this._loadImageInternal(this.imageSource,e):R(this.declaredClass,new s(C("panoramic-viewer"),j("PanoramicViewerViewModel","imageSource")))}};e([v()],A.prototype,"_graphics",void 0),e([v()],A.prototype,"_imageGraphic",void 0),e([v()],A.prototype,"_imageRenderer",void 0),e([v()],A.prototype,"_loadController",void 0),e([v()],A.prototype,"_map",void 0),e([v()],A.prototype,"_zoomViewModel",void 0),e([v({type:Boolean})],A.prototype,"autoLoad",void 0),e([v({type:i})],A.prototype,"camera",null),e([y(new h({emit:"emit",hittest:"hittest",none:"none","pixel-location":"pixel-location"}))],A.prototype,"clickAction",void 0),e([v({type:Number})],A.prototype,"fov",null),e([v({readOnly:!0})],A.prototype,"hfov",null),e([v({readOnly:!0})],A.prototype,"imageRenderer",null),e([v()],A.prototype,"imageSize",void 0),e([v()],A.prototype,"imageSource",void 0),e([v({readOnly:!0})],A.prototype,"maxHFOV",null),e([v({readOnly:!0})],A.prototype,"minHFOV",null),e([v()],A.prototype,"navigationViewModel",void 0),e([v({type:Number})],A.prototype,"pitch",void 0),e([v()],A.prototype,"state",void 0),e([v({readOnly:!0})],A.prototype,"vfov",null),e([v({type:Number})],A.prototype,"yaw",void 0),A=e([f("esri.widgets.PanoramicViewer.PanoramicViewerViewModel")],A);const L=A;export{L as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import t from"../Camera.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import a from"./PanoramicViewer/PanoramicViewerViewModel.js";import{globalCss as s}from"./support/globalCss.js";import"./support/widgetUtils.js";import{vmEvent as l}from"./support/decorators/vmEvent.js";import{tsx as p}from"./support/jsxFactory.js";const c="esri-panoramic-viewer";let n=class extends i{constructor(e){super(e),this.viewModel=new a,this._afterContainerCreate=e=>{this.imageRenderer.container=e},this.addGraphic=(e,t)=>{this.viewModel.addGraphic(e,t)},this.addManyGraphics=e=>{this.viewModel.addManyGraphics(e)},this.clearGraphics=()=>{this.viewModel.clearGraphics()},this.clearImage=()=>{this.viewModel.clearImage()},this.loadImage=e=>this.viewModel.loadImage(e),this.removeGraphic=e=>{this.viewModel.removeGraphic(e)},this.removeManyGraphics=e=>{this.viewModel.removeManyGraphics(e)}}get autoLoad(){return this.viewModel.autoLoad}set autoLoad(e){this.viewModel.autoLoad=e}get camera(){return this.viewModel.camera}set camera(e){e&&(this.viewModel.camera=e)}get clickAction(){return this.viewModel.clickAction}set clickAction(e){this.viewModel.clickAction=e}get fov(){return this.camera.fov}set fov(e){this.viewModel.fov=e}get hfov(){return this.viewModel.hfov}get icon(){return"i360-view"}set icon(e){this._overrideIfSome("icon",e)}get imageRenderer(){return this.viewModel.imageRenderer}get imageSize(){return this.viewModel.imageSize}get imageSource(){return this.viewModel.imageSource}set imageSource(e){this.viewModel.imageSource=e}get pitch(){return this.viewModel.pitch}set pitch(e){this.viewModel.pitch=e}get state(){return this.viewModel.state}get vfov(){return this.viewModel.vfov}get yaw(){return this.viewModel.yaw}set yaw(e){this.viewModel.yaw=e}render(){return p("div",{afterCreate:this._afterContainerCreate,bind:this,class:this.classes(s.widget,c)})}};e([o({type:Boolean})],n.prototype,"autoLoad",null),e([o({type:t})],n.prototype,"camera",null),e([o()],n.prototype,"clickAction",null),e([o({type:Number})],n.prototype,"fov",null),e([o({readOnly:!0,type:Number})],n.prototype,"hfov",null),e([o()],n.prototype,"icon",null),e([o({readOnly:!0})],n.prototype,"imageRenderer",null),e([o({readOnly:!0})],n.prototype,"imageSize",null),e([o()],n.prototype,"imageSource",null),e([o({type:Number})],n.prototype,"pitch",null),e([o({readOnly:!0})],n.prototype,"state",null),e([o({readOnly:!0,type:Number})],n.prototype,"vfov",null),e([l(["click","hittest-response","pixel-location"]),o({type:a})],n.prototype,"viewModel",void 0),e([o({type:Number})],n.prototype,"yaw",null),n=e([r("esri.widgets.PanoramicViewer")],n);const d=n;export{d as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import t from"../Camera.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import r from"./Widget.js";import a from"./OrientedImageryViewer/components/NavigationUI.js";import n from"./OrientedImageryViewer/components/NavigationUIPanoramicViewModel.js";import s from"./PanoramicViewer/PanoramicViewerViewModel.js";import{loadCalciteComponents as l}from"./support/componentsUtils.js";import{globalCss as p}from"./support/globalCss.js";import"./support/widgetUtils.js";import{vmEvent as c}from"./support/decorators/vmEvent.js";import{tsx as d}from"./support/jsxFactory.js";const m="esri-panoramic-viewer";let v=class extends r{constructor(e){super(e),this.navigationEnabled=!1,this.viewModel=new s,this._afterContainerCreate=e=>{this.imageRenderer.container=e},this.addGraphic=(e,t)=>{this.viewModel.addGraphic(e,t)},this.addManyGraphics=e=>{this.viewModel.addManyGraphics(e)},this.clearGraphics=()=>{this.viewModel.clearGraphics()},this.clearImage=()=>{this.viewModel.clearImage()},this.loadImage=e=>this.viewModel.loadImage(e),this.navigate=async(e,t)=>this.viewModel.navigate(e,t),this.removeGraphic=e=>{this.viewModel.removeGraphic(e)},this.removeManyGraphics=e=>{this.viewModel.removeManyGraphics(e)}}loadDependencies(){return l({panel:()=>import("@esri/calcite-components/dist/components/calcite-panel")})}get autoLoad(){return this.viewModel.autoLoad}set autoLoad(e){this.viewModel.autoLoad=e}get camera(){return this.viewModel.camera}set camera(e){e&&(this.viewModel.camera=e)}get clickAction(){return this.viewModel.clickAction}set clickAction(e){this.viewModel.clickAction=e}get currentNode(){return this.navigationViewModel?.currentNode}get fov(){return this.camera.fov}set fov(e){this.viewModel.fov=e}get hfov(){return this.viewModel.hfov}get icon(){return"i360-view"}set icon(e){this._overrideIfSome("icon",e)}get imageRenderer(){return this.viewModel.imageRenderer}get imageSize(){return this.viewModel.imageSize}get imageSource(){return this.viewModel.imageSource}set imageSource(e){this.viewModel.imageSource=e}get navigationNodes(){return this.navigationViewModel?.navigationNodes}get navigationViewModel(){return this.viewModel.navigationViewModel}set navigationViewModel(e){this.viewModel.navigationViewModel=e}get pitch(){return this.viewModel.pitch}set pitch(e){this.viewModel.pitch=e}get state(){return this.viewModel.state}get vfov(){return this.viewModel.vfov}get yaw(){return this.viewModel.yaw}set yaw(e){this.viewModel.yaw=e}render(){return d("calcite-panel",null,d("calcite-panel",{afterCreate:this._afterContainerCreate,bind:this,class:this.classes(p.widget,m)}),this.navigationEnabled?d(a,{viewModel:new n({currentNode:this.currentNode,nodes:this.navigationNodes})}):null)}static{this.vnodeSelector="calcite-panel"}};e([o({type:Boolean})],v.prototype,"autoLoad",null),e([o({type:t})],v.prototype,"camera",null),e([o()],v.prototype,"clickAction",null),e([o()],v.prototype,"currentNode",null),e([o({type:Number})],v.prototype,"fov",null),e([o({readOnly:!0,type:Number})],v.prototype,"hfov",null),e([o()],v.prototype,"icon",null),e([o({readOnly:!0})],v.prototype,"imageRenderer",null),e([o({readOnly:!0})],v.prototype,"imageSize",null),e([o()],v.prototype,"imageSource",null),e([o({type:Boolean})],v.prototype,"navigationEnabled",void 0),e([o()],v.prototype,"navigationNodes",null),e([o()],v.prototype,"navigationViewModel",null),e([o({type:Number})],v.prototype,"pitch",null),e([o({readOnly:!0})],v.prototype,"state",null),e([o({readOnly:!0,type:Number})],v.prototype,"vfov",null),e([c(["click","hittest-response","pixel-location"]),o({type:s})],v.prototype,"viewModel",void 0),e([o({type:Number})],v.prototype,"yaw",null),v=e([i("esri.widgets.PanoramicViewer")],v);const h=v;export{h as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Color.js";import i from"../../core/Accessor.js";import{isSome as r}from"../../core/arrayUtils.js";import{createTask as s}from"../../core/asyncUtils.js";import"../../core/has.js";import{abortMaybe as o,destroyMaybe as n}from"../../core/maybe.js";import{after as a,throwIfAborted as l}from"../../core/promiseUtils.js";import{watch as u,syncAndInitial as d}from"../../core/reactiveUtils.js";import{createScreenPointArray as c,createRenderScreenPointArray as p}from"../../core/screenUtils.js";import{convertTime as h,offsetDateUTC as m}from"../../core/timeUtils.js";import{property as f}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import{subclass as _}from"../../core/accessorSupport/decorators/subclass.js";import{create as g}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{longitudeToTimezone as v}from"../../views/3d/support/earthUtils.js";import{computeDirectionsOverTime as y}from"../../views/3d/support/sunUtils.js";import{ShadowCastVisualization as w}from"../../views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js";import D from"./DiscreteOptions.js";import{DurationMode as T}from"./DurationMode.js";import O from"./DurationOptions.js";import{ShadowCastState as P}from"./ShadowCastState.js";import{ShadowTooltipViewModel as C}from"./ShadowTooltipViewModel.js";import{ShadowVisualizationType as b}from"./ShadowVisualizationType.js";import z from"./ThresholdOptions.js";import{breadthFirstBinaryPartitioning as j}from"../support/traversalUtils.js";const U=[],V=g(),x=[],S=255,A=h(1,"hours","milliseconds"),E=500;let R=class extends i{constructor(e){super(e),this.view=null,this.tooltip=new C({getDuration:(e,t)=>this.getDuration(e,t)}),this.startTimeOfDay=h(10,"hours","milliseconds"),this.endTimeOfDay=h(16,"hours","milliseconds"),this.visualizationType=b.Threshold,this.thresholdOptions=new z,this.durationOptions=new O,this.discreteOptions=new D,this._running=!0,this._stopPreviewingTask=null,this._forcePreview=!1,this._autoRestoreForcePreviewEnabled=!0,this._utcOffset=null,this.date=new Date}initialize(){this.addHandles([u((()=>({view:this.view,tooltipEnabled:this._tooltipEnabled})),(({view:e,tooltipEnabled:t})=>{this.tooltip.view=e,this.tooltip.enabled=t}),d),u((()=>this._forcePreviewDependencies),(()=>{o(this._stopPreviewingTask),this._forcePreview=!0,this._autoRestoreForcePreviewEnabled&&(this._stopPreviewingTask=s((async e=>{await a(E,e),l(e),this._forcePreview=!1})))}),d),u((()=>({renderer:this.renderer,parameters:this._visualizationParameters})),(e=>G(e.renderer,e.parameters)),d),u((()=>({renderer:this.renderer,lightDirections:this._lightDirections,lightDirectionsContext:this._lightDirectionsContext})),(e=>G(e.renderer,{lightDirections:e.lightDirections,lightDirectionsContext:e.lightDirectionsContext})),d),u((()=>({renderer:this.renderer,parameters:{enabled:this._running}})),(e=>G(e.renderer,e.parameters)),d),u((()=>({renderer:this.renderer,parameters:{previewing:this._previewing}})),(e=>G(e.renderer,e.parameters)),d)])}destroy(){this.stop(),G(this.renderer,{enabled:!1}),n(this.tooltip)}get state(){return null!=this.view&&this.view.ready&&null!=this._referencePosition?P.Ready:P.Disabled}set date(e){const t=new Date(e);t.setHours(0,0,0,0),this._set("date",t)}get utcOffset(){return this._utcOffset??this._utcOffsetAuto}set utcOffset(e){this._utcOffset=e}get testData(){}get _previewing(){const{view:e}=this;return null==e?.allLayerViews||(this._forcePreview||!e.stationary||e.allLayerViews.some((e=>N(e)&&e.updating)))}get _utcOffsetAuto(){const e=this._referencePosition;return null!=e?v(e[0],!1):0}get _dateUTCOffset(){let e=this.date;return e=m(e,-e.getTimezoneOffset(),"minutes"),e=m(e,-this.utcOffset,"hours"),e}get _startDateTimeUTC(){return m(this._dateUTCOffset,this.startTimeOfDay)}get _endDateTimeUTC(){return m(this._dateUTCOffset,this.endTimeOfDay)}get _referencePosition(){return this.view?.environmentManager?.referencePositionGeographic}get _durationInterval(){return this._duration>0?Math.floor(this._duration/S):S}get _interval(){const e=this._durationInterval;switch(this.visualizationType){case b.Threshold:case b.Duration:return e;case b.Discrete:return this.discreteOptions.interval||e}}get _intervalContext(){const{contextEnabled:e,contextOptions:{interval:t}}=this.thresholdOptions;return this.visualizationType===b.Threshold&&e?t||this._durationInterval:-1}get _durationSampleCount(){return this._lightDirections.length}get _duration(){return this.endTimeOfDay-this.startTimeOfDay}get _lightDirections(){return this._calculateLightDirections(this._interval)}get _lightDirectionsContext(){return this._calculateLightDirections(this._intervalContext)}_calculateLightDirections(e){const{view:t}=this;if(null==t||e<=0)return U;const i="global"===t.viewingMode?V:this._referencePosition;if(null==i)return U;const r=y(this._startDateTimeUTC,this._endDateTimeUTC,e,i,t.state.viewingMode),s=r.length;x.length=0;const o=j(0,s,x),n=new Array(s);for(let a=0;a<s;++a)n[a]=r[o[a]];return n}get _tooltipEnabled(){return this.state===P.Ready&&this.visualizationType!==b.Discrete&&this._running&&!this._previewing}get _visualizationParameters(){if(!this._running)return null;switch(this.visualizationType){case b.Threshold:return this._thresholdVisualizationParameters;case b.Duration:return this._durationVisualizationParameters;case b.Discrete:return this._discreteVisualizationParameters}}get _thresholdVisualizationParameters(){const{value:e,color:i}=this.thresholdOptions,r=this._duration;return{visualization:w.Threshold,thresholdColor:t.toUnitRGBA(i),threshold:r>0?e/this._duration:0,...this._thresholdDiscreteVisualizationParameters}}get _thresholdDiscreteVisualizationParameters(){const{contextOptions:{color:e},contextEnabled:i}=this.thresholdOptions;return i?{visualization:w.ThresholdAndGradient,gradientColor:t.toUnitRGBA(e)}:{}}get _durationVisualizationParameters(){const{color:e,mode:i}=this.durationOptions,r=this._duration,s=r>0&&i===T.Hourly?A/r:0,o=t.toUnitRGBA(e);return 0===s?{...this._discreteVisualizationParameters,gradientColor:o}:{bandedGradientColor:o,visualization:w.BandedGradient,bandSize:s}}get _discreteVisualizationParameters(){return{gradientColor:t.toUnitRGBA(this.discreteOptions.color),visualization:w.Gradient}}get _forcePreviewDependencies(){const{view:e}=this;if(null==e)return null;const t=e.slice.plane,i=e.allLayerViews.toArray().filter(N),s=i.map((e=>e.layer)).filter(r),o=i.map((e=>e.visible)),n=s.map((e=>e.visible)),a=s.map((e=>e.opacity)),l=s.filter((e=>"definitionExpression"in e)).map((e=>e.definitionExpression)),u=i.filter((e=>"filter"in e)).map((e=>e.filter));return{slicePlane:t,startDateUTC:this._startDateTimeUTC,endDateUTC:this._endDateTimeUTC,layerViewVisibilities:o,layerVisibilities:n,layerOpacities:a,filters:u,definitionExpressions:l}}get renderer(){const{view:e}=this;if(null==e)return null;const t=e.stage;return null==t?null:t.renderer}start(){this.setRunning(!0)}stop(){this.setRunning(!1)}setRunning(e){this._running=e}async getDuration(e,t){const{view:i,renderer:r,_durationSampleCount:s}=this;if(null==i||null==r||0===s)return 0;const o=i.state.camera.screenToRender(c(e.x,e.y),p());return r.readAccumulatedShadow(o)*this._duration}};function G(e,t){null!=e&&null!=t&&e.setParameters({shadowCast:t})}function N(e){if(e.suspended)return!1;switch(e.type){case"building-scene-3d":case"csv-3d":case"elevation-3d":case"feature-3d":case"geojson-3d":case"graphics-3d":case"integrated-mesh-3d":case"integrated-mesh-3dtiles":case"ogc-feature-3d":case"route-3d":case"scene-layer-3d":case"scene-layer-graphics-3d":case"stream-3d":case"wms-3d":return!0;case"base-dynamic-3d":case"catalog-3d":case"catalog-footprint-3d":case"catalog-dynamic-group-3d":case"dimension-3d":case"imagery-3d":case"imagery-tile-3d":case"line-of-sight-3d":case"map-image-3d":case"point-cloud-3d":case"tile-3d":case"vector-tile-3d":case"viewshed-3d":case"voxel-3d":case"wfs-3d":case"wmts-3d":case"media-3d":default:return!1;case"group":return e.layerViews.toArray().some((e=>N(e)))}}e([f()],R.prototype,"state",null),e([f()],R.prototype,"view",void 0),e([f()],R.prototype,"tooltip",void 0),e([f({type:Date,nonNullable:!0})],R.prototype,"date",null),e([f({nonNullable:!0})],R.prototype,"utcOffset",null),e([f({nonNullable:!0})],R.prototype,"startTimeOfDay",void 0),e([f({nonNullable:!0})],R.prototype,"endTimeOfDay",void 0),e([f({nonNullable:!0})],R.prototype,"visualizationType",void 0),e([f({type:z,nonNullable:!0})],R.prototype,"thresholdOptions",void 0),e([f({type:O,nonNullable:!0})],R.prototype,"durationOptions",void 0),e([f({type:D,nonNullable:!0})],R.prototype,"discreteOptions",void 0),e([f()],R.prototype,"_running",void 0),e([f()],R.prototype,"_stopPreviewingTask",void 0),e([f()],R.prototype,"_forcePreview",void 0),e([f()],R.prototype,"_autoRestoreForcePreviewEnabled",void 0),e([f()],R.prototype,"_previewing",null),e([f()],R.prototype,"_utcOffset",void 0),e([f()],R.prototype,"_utcOffsetAuto",null),e([f()],R.prototype,"_dateUTCOffset",null),e([f()],R.prototype,"_startDateTimeUTC",null),e([f()],R.prototype,"_endDateTimeUTC",null),e([f()],R.prototype,"_referencePosition",null),e([f()],R.prototype,"_interval",null),e([f()],R.prototype,"_intervalContext",null),e([f()],R.prototype,"_durationSampleCount",null),e([f()],R.prototype,"_duration",null),e([f()],R.prototype,"_lightDirections",null),e([f()],R.prototype,"_lightDirectionsContext",null),e([f()],R.prototype,"_tooltipEnabled",null),e([f()],R.prototype,"_visualizationParameters",null),e([f()],R.prototype,"_thresholdVisualizationParameters",null),e([f()],R.prototype,"_thresholdDiscreteVisualizationParameters",null),e([f()],R.prototype,"_durationVisualizationParameters",null),e([f()],R.prototype,"_discreteVisualizationParameters",null),e([f()],R.prototype,"_forcePreviewDependencies",null),e([f()],R.prototype,"renderer",null),R=e([_("esri.widgets.ShadowCast.ShadowCastViewModel")],R);const L=R;export{L as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../Color.js";import i from"../../core/Accessor.js";import{isSome as r}from"../../core/arrayUtils.js";import{createTask as s}from"../../core/asyncUtils.js";import"../../core/has.js";import{abortMaybe as o,destroyMaybe as n}from"../../core/maybe.js";import{after as a,throwIfAborted as l}from"../../core/promiseUtils.js";import{watch as u,syncAndInitial as p}from"../../core/reactiveUtils.js";import{createScreenPointArray as d,createRenderScreenPointArray as h}from"../../core/screenUtils.js";import{convertTime as c,offsetDateUTC as m}from"../../core/timeUtils.js";import{property as f}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import{subclass as _}from"../../core/accessorSupport/decorators/subclass.js";import{create as g}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{longitudeToTimezone as v}from"../../views/3d/support/earthUtils.js";import{computeDirectionsOverTime as y}from"../../views/3d/support/sunUtils.js";import{ShadowCastVisualization as w}from"../../views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js";import D from"./DiscreteOptions.js";import{DurationMode as T}from"./DurationMode.js";import O from"./DurationOptions.js";import{ShadowCastState as P}from"./ShadowCastState.js";import{ShadowTooltipViewModel as C}from"./ShadowTooltipViewModel.js";import{ShadowVisualizationType as b}from"./ShadowVisualizationType.js";import z from"./ThresholdOptions.js";import{breadthFirstBinaryPartitioning as j}from"../support/traversalUtils.js";const U=[],V=g(),x=[],S=255,E=c(1,"hours","milliseconds"),R=500;let A=class extends i{constructor(t){super(t),this.view=null,this.tooltip=new C({getDuration:(t,e)=>this.getDuration(t,e)}),this.startTimeOfDay=c(10,"hours","milliseconds"),this.endTimeOfDay=c(16,"hours","milliseconds"),this.visualizationType=b.Threshold,this.thresholdOptions=new z,this.durationOptions=new O,this.discreteOptions=new D,this._running=!0,this._stopPreviewingTask=null,this._forcePreview=!1,this._autoRestoreForcePreviewEnabled=!0,this._utcOffset=null,this.date=new Date}initialize(){this.addHandles([u((()=>({view:this.view,tooltipEnabled:this._tooltipEnabled})),(({view:t,tooltipEnabled:e})=>{this.tooltip.view=t,this.tooltip.enabled=e}),p),u((()=>this._forcePreviewDependencies),(()=>{o(this._stopPreviewingTask),this._forcePreview=!0,this._autoRestoreForcePreviewEnabled&&(this._stopPreviewingTask=s((async t=>{await a(R,t),l(t),this._forcePreview=!1})))}),p),u((()=>({renderer:this.renderer,parameters:this._visualizationParameters})),(t=>G(t.renderer,t.parameters)),p),u((()=>({renderer:this.renderer,lightDirections:this._lightDirections,lightDirectionsContext:this._lightDirectionsContext})),(t=>G(t.renderer,{lightDirections:t.lightDirections,lightDirectionsContext:t.lightDirectionsContext})),p),u((()=>({renderer:this.renderer,parameters:{enabled:this._running}})),(t=>G(t.renderer,t.parameters)),p),u((()=>({renderer:this.renderer,parameters:{previewing:this._previewing}})),(t=>G(t.renderer,t.parameters)),p)])}destroy(){this.stop(),G(this.renderer,{enabled:!1}),n(this.tooltip)}get state(){return null!=this.view&&this.view.ready&&null!=this._referencePosition?P.Ready:P.Disabled}set date(t){const e=new Date(t);e.setHours(0,0,0,0),this._set("date",e)}get utcOffset(){return this._utcOffset??this._utcOffsetAuto}set utcOffset(t){this._utcOffset=t}get testData(){}get _previewing(){const{view:t}=this;if(null==t?.allLayerViews)return!0;const{stationary:e,allLayerViews:i,graphicsView:r}=t;return this._forcePreview||!e||i.some((t=>N(t)&&t.updating))||!r?.suspended&&!!r?.updating}get _utcOffsetAuto(){const t=this._referencePosition;return null!=t?v(t[0],!1):0}get _dateUTCOffset(){let t=this.date;return t=m(t,-t.getTimezoneOffset(),"minutes"),t=m(t,-this.utcOffset,"hours"),t}get _startDateTimeUTC(){return m(this._dateUTCOffset,this.startTimeOfDay)}get _endDateTimeUTC(){return m(this._dateUTCOffset,this.endTimeOfDay)}get _referencePosition(){return this.view?.environmentManager?.referencePositionGeographic}get _durationInterval(){return this._duration>0?Math.floor(this._duration/S):S}get _interval(){const t=this._durationInterval;switch(this.visualizationType){case b.Threshold:case b.Duration:return t;case b.Discrete:return this.discreteOptions.interval||t}}get _intervalContext(){const{contextEnabled:t,contextOptions:{interval:e}}=this.thresholdOptions;return this.visualizationType===b.Threshold&&t?e||this._durationInterval:-1}get _durationSampleCount(){return this._lightDirections.length}get _duration(){return this.endTimeOfDay-this.startTimeOfDay}get _lightDirections(){return this._calculateLightDirections(this._interval)}get _lightDirectionsContext(){return this._calculateLightDirections(this._intervalContext)}_calculateLightDirections(t){const{view:e}=this;if(null==e||t<=0)return U;const i="global"===e.viewingMode?V:this._referencePosition;if(null==i)return U;const r=y(this._startDateTimeUTC,this._endDateTimeUTC,t,i,e.state.viewingMode),s=r.length;x.length=0;const o=j(0,s,x),n=new Array(s);for(let a=0;a<s;++a)n[a]=r[o[a]];return n}get _tooltipEnabled(){return this.state===P.Ready&&this.visualizationType!==b.Discrete&&this._running&&!this._previewing}get _visualizationParameters(){if(!this._running)return null;switch(this.visualizationType){case b.Threshold:return this._thresholdVisualizationParameters;case b.Duration:return this._durationVisualizationParameters;case b.Discrete:return this._discreteVisualizationParameters}}get _thresholdVisualizationParameters(){const{value:t,color:i}=this.thresholdOptions,r=this._duration;return{visualization:w.Threshold,thresholdColor:e.toUnitRGBA(i),threshold:r>0?t/this._duration:0,...this._thresholdDiscreteVisualizationParameters}}get _thresholdDiscreteVisualizationParameters(){const{contextOptions:{color:t},contextEnabled:i}=this.thresholdOptions;return i?{visualization:w.ThresholdAndGradient,gradientColor:e.toUnitRGBA(t)}:{}}get _durationVisualizationParameters(){const{color:t,mode:i}=this.durationOptions,r=this._duration,s=r>0&&i===T.Hourly?E/r:0,o=e.toUnitRGBA(t);return 0===s?{...this._discreteVisualizationParameters,gradientColor:o}:{bandedGradientColor:o,visualization:w.BandedGradient,bandSize:s}}get _discreteVisualizationParameters(){return{gradientColor:e.toUnitRGBA(this.discreteOptions.color),visualization:w.Gradient}}get _forcePreviewDependencies(){const{view:t}=this;if(null==t)return null;const e=t.slice.plane,i=t.allLayerViews.toArray().filter(N),s=i.map((t=>t.layer)).filter(r),o=i.map((t=>t.suspended)),n=s.map((t=>t.visible)),a=s.map((t=>t.opacity)),l=!!t.graphicsView?.suspended,u=s.filter((t=>"definitionExpression"in t)).map((t=>t.definitionExpression)),p=i.filter((t=>"filter"in t)).map((t=>t.filter));return{slicePlane:e,startDateUTC:this._startDateTimeUTC,endDateUTC:this._endDateTimeUTC,layerViewSuspended:o,graphicsViewSuspended:l,layerVisibilities:n,layerOpacities:a,filters:p,definitionExpressions:u}}get renderer(){const{view:t}=this;if(null==t)return null;const e=t.stage;return null==e?null:e.renderer}start(){this.setRunning(!0)}stop(){this.setRunning(!1)}setRunning(t){this._running=t}async getDuration(t,e){const{view:i,renderer:r,_durationSampleCount:s}=this;if(null==i||null==r||0===s)return 0;const o=i.state.camera.screenToRender(d(t.x,t.y),h());return r.readAccumulatedShadow(o)*this._duration}};function G(t,e){null!=t&&null!=e&&t.setParameters({shadowCast:e})}function N(t){if(t.suspended)return!1;switch(t.type){case"building-scene-3d":case"csv-3d":case"elevation-3d":case"feature-3d":case"geojson-3d":case"graphics-3d":case"integrated-mesh-3d":case"integrated-mesh-3dtiles":case"ogc-feature-3d":case"route-3d":case"scene-layer-3d":case"scene-layer-graphics-3d":case"stream-3d":case"wms-3d":case"catalog-footprint-3d":return!0;default:return!1}}t([f()],A.prototype,"state",null),t([f()],A.prototype,"view",void 0),t([f()],A.prototype,"tooltip",void 0),t([f({type:Date,nonNullable:!0})],A.prototype,"date",null),t([f({nonNullable:!0})],A.prototype,"utcOffset",null),t([f({nonNullable:!0})],A.prototype,"startTimeOfDay",void 0),t([f({nonNullable:!0})],A.prototype,"endTimeOfDay",void 0),t([f({nonNullable:!0})],A.prototype,"visualizationType",void 0),t([f({type:z,nonNullable:!0})],A.prototype,"thresholdOptions",void 0),t([f({type:O,nonNullable:!0})],A.prototype,"durationOptions",void 0),t([f({type:D,nonNullable:!0})],A.prototype,"discreteOptions",void 0),t([f()],A.prototype,"_running",void 0),t([f()],A.prototype,"_stopPreviewingTask",void 0),t([f()],A.prototype,"_forcePreview",void 0),t([f()],A.prototype,"_autoRestoreForcePreviewEnabled",void 0),t([f()],A.prototype,"_previewing",null),t([f()],A.prototype,"_utcOffset",void 0),t([f()],A.prototype,"_utcOffsetAuto",null),t([f()],A.prototype,"_dateUTCOffset",null),t([f()],A.prototype,"_startDateTimeUTC",null),t([f()],A.prototype,"_endDateTimeUTC",null),t([f()],A.prototype,"_referencePosition",null),t([f()],A.prototype,"_interval",null),t([f()],A.prototype,"_intervalContext",null),t([f()],A.prototype,"_durationSampleCount",null),t([f()],A.prototype,"_duration",null),t([f()],A.prototype,"_lightDirections",null),t([f()],A.prototype,"_lightDirectionsContext",null),t([f()],A.prototype,"_tooltipEnabled",null),t([f()],A.prototype,"_visualizationParameters",null),t([f()],A.prototype,"_thresholdVisualizationParameters",null),t([f()],A.prototype,"_thresholdDiscreteVisualizationParameters",null),t([f()],A.prototype,"_durationVisualizationParameters",null),t([f()],A.prototype,"_discreteVisualizationParameters",null),t([f()],A.prototype,"_forcePreviewDependencies",null),t([f()],A.prototype,"renderer",null),A=t([_("esri.widgets.ShadowCast.ShadowCastViewModel")],A);const L=A;export{L as default};