@arcgis/core 4.25.0-next.20221018 → 4.25.0-next.20221021

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 (1368) hide show
  1. package/Basemap.d.ts +1 -1
  2. package/Camera.d.ts +1 -1
  3. package/Color.d.ts +1 -1
  4. package/Graphic.d.ts +1 -1
  5. package/Ground.d.ts +1 -1
  6. package/Map.d.ts +1 -1
  7. package/PopupTemplate.d.ts +1 -1
  8. package/README.md +158 -158
  9. package/TimeExtent.d.ts +1 -1
  10. package/TimeInterval.d.ts +1 -1
  11. package/Viewpoint.d.ts +1 -1
  12. package/WebMap.d.ts +1 -1
  13. package/WebMap.js +1 -1
  14. package/WebScene.d.ts +1 -1
  15. package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
  16. package/analysis/DimensionAnalysis.d.ts +1 -1
  17. package/analysis/DimensionSimpleStyle.d.ts +1 -1
  18. package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
  19. package/analysis/LengthDimension.d.ts +1 -1
  20. package/analysis/LineOfSightAnalysis.d.ts +1 -1
  21. package/analysis/LineOfSightAnalysisObserver.d.ts +1 -1
  22. package/analysis/LineOfSightAnalysisTarget.d.ts +1 -1
  23. package/analysis/SliceAnalysis.d.ts +1 -1
  24. package/analysis/SlicePlane.d.ts +1 -1
  25. package/applications/SceneViewer/colorUtils.d.ts +1 -1
  26. package/applications/SceneViewer/sceneViewerUtils.d.ts +1 -1
  27. package/arcade.d.ts +1 -1
  28. package/assets/esri/core/libs/libtess/libtess.wasm +0 -0
  29. package/assets/esri/core/workers/RemoteClient.js +1 -1
  30. package/assets/esri/core/workers/chunks/{fc521bcd4fce711edb7e.js → 038dc3f9ef06ef3c960c.js} +1 -1
  31. package/assets/esri/core/workers/chunks/073fdfd01d940c7b1da1.js +1 -0
  32. package/assets/esri/core/workers/chunks/0b0f3e93f658a012d5f0.js +1 -0
  33. package/assets/esri/core/workers/chunks/{5e3686b68e1b5dfa0169.js → 110587dd66c52d0284a9.js} +4 -4
  34. package/assets/esri/core/workers/chunks/{7b7b6f0b1a6215ee7a60.js → 12efe67be9414262591f.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{9383dab07abf7e29139e.js → 16a6b4d8c4928c97ef56.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{cd11fcc3d9678ab4e115.js → 19c208150b7f9cf0b6ea.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{6f19761acd9ab875a600.js → 2b0952bd7dbeb1a79fbc.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{7fab18074b130b71a648.js → 2c4938512dd726a177dd.js} +1 -1
  39. package/assets/esri/core/workers/chunks/2d8201f0f33ba66bb96b.js +1 -0
  40. package/assets/esri/core/workers/chunks/2ebba71cbbfa62ddf46a.js +1 -0
  41. package/assets/esri/core/workers/chunks/{de6a1d1cfdc147455d57.js → 2f22105099a3ece58d1d.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{8ee3da8677255b8c8709.js → 31de71018575457155e5.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{64a0f93c6a0fd4e14601.js → 3376fbcbd92261d45169.js} +1 -1
  44. package/assets/esri/core/workers/chunks/4450f17444947fe2f27f.js +1 -0
  45. package/assets/esri/core/workers/chunks/5de864843c0d3f4d291d.js +1 -0
  46. package/assets/esri/core/workers/chunks/6dfb2ddfd72009564a34.js +1 -0
  47. package/assets/esri/core/workers/chunks/{d18b191e158c1aff853c.js → 71bc42d18a9e5c356c2a.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{179b9a7aa796dac3eb83.js → 7ba0cfe4d1c214f44fc7.js} +1 -1
  49. package/assets/esri/core/workers/chunks/81139c01e8016cbbe324.js +1 -0
  50. package/assets/esri/core/workers/chunks/883cfe319b15ebabf71e.js +1 -0
  51. package/assets/esri/core/workers/chunks/{c2a6ac7046134f725cf3.js → 8ba83fee56dd4f306d87.js} +1 -1
  52. package/assets/esri/core/workers/chunks/925f53f4ef097c5ce204.js +1 -0
  53. package/assets/esri/core/workers/chunks/{eff5593e534d2a617ca7.js → 942da417257f8fd8e4cf.js} +1 -1
  54. package/assets/esri/core/workers/chunks/97450791de57796f842c.js +1 -0
  55. package/assets/esri/core/workers/chunks/{c9c0dd4d9aaa9b794bd5.js → 9d1faf9358df056be8e7.js} +1 -1
  56. package/assets/esri/core/workers/chunks/9d410721f42259efe666.js +1 -0
  57. package/assets/esri/core/workers/chunks/{b98074a98ebc11ed1e09.js → aa3909ffe65b42c61b52.js} +1 -1
  58. package/assets/esri/core/workers/chunks/af3f30f968363bb3930c.js +1 -0
  59. package/assets/esri/core/workers/chunks/{93e7d34f52bfafa015e1.js → b58badb11e610024ce4c.js} +1 -1
  60. package/assets/esri/core/workers/chunks/b5e6a868256c5aae6d5e.js +1 -0
  61. package/assets/esri/core/workers/chunks/{2307eea4f3b9c0c987f1.js → b9e93d9ea80361716f1d.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{1f31a507c989b2976660.js → c26a24c89ddf5bdad343.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{a9b77bea0b8d7a2e5f65.js → c8c0f091aab41e4effa5.js} +1 -1
  64. package/assets/esri/core/workers/chunks/d573ec98401fbae26383.js +1 -0
  65. package/assets/esri/core/workers/chunks/{4641e10e0e8e9d257521.js → f436c86f86236ea7ea04.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{b88c012fa0b0e229a5e3.js → f5b4a8b2bad9b0899954.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{3bcf3bed475f7c49eb7e.js → f787036fa1ed4f53bb00.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{ceb38e7e1aa08e1b141f.js → fa3117bb2e11daac000e.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{77425f33515eb7f0551a.js → fb340c93c114ef090941.js} +1 -1
  70. package/assets/esri/css/main.scss +1 -1
  71. package/assets/esri/css/view.scss +1 -1
  72. package/assets/esri/images/support/loading-throb.gif +0 -0
  73. package/assets/esri/themes/base/_Overlay.scss +14 -14
  74. package/assets/esri/themes/base/_OverlayItem.scss +52 -52
  75. package/assets/esri/themes/base/_Ui.scss +149 -149
  76. package/assets/esri/themes/base/_View.scss +194 -194
  77. package/assets/esri/themes/base/_animation.scss +128 -128
  78. package/assets/esri/themes/base/_color.scss +57 -57
  79. package/assets/esri/themes/base/_colorVariables.scss +1 -1
  80. package/assets/esri/themes/base/_core.scss +172 -172
  81. package/assets/esri/themes/base/_functions.scss +23 -23
  82. package/assets/esri/themes/base/_layout.scss +11 -11
  83. package/assets/esri/themes/base/_mixins.scss +665 -665
  84. package/assets/esri/themes/base/_sizes.scss +130 -130
  85. package/assets/esri/themes/base/_type.scss +27 -27
  86. package/assets/esri/themes/base/colors/css/scss/brand_colors.scss +0 -0
  87. package/assets/esri/themes/base/colors/css/scss/calcite_core_colors.scss +0 -0
  88. package/assets/esri/themes/base/colors/css/scss/calcite_core_colors_dark.scss +0 -0
  89. package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors.scss +0 -0
  90. package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors_dark.scss +0 -0
  91. package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors.scss +0 -0
  92. package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors_dark.scss +0 -0
  93. package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors.scss +0 -0
  94. package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors_dark.scss +0 -0
  95. package/assets/esri/themes/base/colors/css/scss/complete.scss +0 -0
  96. package/assets/esri/themes/base/colors/patterns_json/scss/brand_colors.scss +0 -0
  97. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors.scss +0 -0
  98. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors_dark.scss +0 -0
  99. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors.scss +0 -0
  100. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors_dark.scss +0 -0
  101. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors.scss +0 -0
  102. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors_dark.scss +0 -0
  103. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors.scss +0 -0
  104. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors_dark.scss +0 -0
  105. package/assets/esri/themes/base/colors/patterns_json/scss/complete.scss +0 -0
  106. package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44-ext.woff2 +0 -0
  107. package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44-greek.woff2 +0 -0
  108. package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44.woff2 +0 -0
  109. package/assets/esri/themes/base/fonts/fonts/0763eab1-d6ed-4c73-afb0-895f930df099.woff +0 -0
  110. package/assets/esri/themes/base/fonts/fonts/121524c1-8d82-4155-bfb3-fd2f15f09e93.woff +0 -0
  111. package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4-ext.woff +0 -0
  112. package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4-greek.woff +0 -0
  113. package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4.woff +0 -0
  114. package/assets/esri/themes/base/fonts/fonts/13faf0ae-dcab-4d1c-9c08-f9ca339b6023-greek.woff +0 -0
  115. package/assets/esri/themes/base/fonts/fonts/13faf0ae-dcab-4d1c-9c08-f9ca339b6023.woff +0 -0
  116. package/assets/esri/themes/base/fonts/fonts/15e2e15a-2f36-4a01-b529-677d575bf76d.woff2 +0 -0
  117. package/assets/esri/themes/base/fonts/fonts/174d458a-81e0-4174-9473-35e3bf0a613c.woff2 +0 -0
  118. package/assets/esri/themes/base/fonts/fonts/18629a56-2ec3-4470-a65f-f82d7ec4d41b.woff2 +0 -0
  119. package/assets/esri/themes/base/fonts/fonts/1b3078ef-2971-4c95-b6ca-13ab528758cb.woff +0 -0
  120. package/assets/esri/themes/base/fonts/fonts/1fed34fa-250a-4d32-9f1d-42f978a2e0b2.woff2 +0 -0
  121. package/assets/esri/themes/base/fonts/fonts/2200dfff-da50-40b0-bc12-5e4b872a1998.woff2 +0 -0
  122. package/assets/esri/themes/base/fonts/fonts/281f890c-8412-4ee3-84ed-8b5d062d2ab8.woff2 +0 -0
  123. package/assets/esri/themes/base/fonts/fonts/2a1ae9a5-b6b5-405c-b660-bbdf1b356952.woff2 +0 -0
  124. package/assets/esri/themes/base/fonts/fonts/31da4b04-f98a-4b5f-b545-a31d26da99e5.woff2 +0 -0
  125. package/assets/esri/themes/base/fonts/fonts/31e0c094-e345-4a54-a797-d5f1a5885572.woff +0 -0
  126. package/assets/esri/themes/base/fonts/fonts/32a2c5cf-6736-44a6-a276-49ba7e030944.woff2 +0 -0
  127. package/assets/esri/themes/base/fonts/fonts/341bcc5e-7ac0-44ff-819d-5887892eab1b.woff +0 -0
  128. package/assets/esri/themes/base/fonts/fonts/390cea11-2b11-47ac-b3e8-43ded6ae89ee.woff +0 -0
  129. package/assets/esri/themes/base/fonts/fonts/394a711e-3459-44f3-85c7-e99c01e4b55c.woff +0 -0
  130. package/assets/esri/themes/base/fonts/fonts/3ae1e25e-3aa6-4061-a016-a079159f9d65.woff2 +0 -0
  131. package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f-ext.woff +0 -0
  132. package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f-greek.woff +0 -0
  133. package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f.woff +0 -0
  134. package/assets/esri/themes/base/fonts/fonts/40d36b4a-60c6-460a-bf43-4c948c23563e.woff2 +0 -0
  135. package/assets/esri/themes/base/fonts/fonts/41331c3c-3759-4462-8695-33c9a21b6a5b.woff2 +0 -0
  136. package/assets/esri/themes/base/fonts/fonts/439a2ded-d7a4-42d4-8660-ef8765fa7486.woff +0 -0
  137. package/assets/esri/themes/base/fonts/fonts/45b78f45-e639-4836-8612-e0892e120f14.woff +0 -0
  138. package/assets/esri/themes/base/fonts/fonts/46947883-147e-48dd-97c2-5a8ca675b998.woff2 +0 -0
  139. package/assets/esri/themes/base/fonts/fonts/4ab86b35-c0c2-42b5-98ad-4b6eba66b197.woff +0 -0
  140. package/assets/esri/themes/base/fonts/fonts/4d1d0d0d-9ea6-4117-901f-8b32ca1ab936.woff +0 -0
  141. package/assets/esri/themes/base/fonts/fonts/4daa2125-53c6-4da8-9614-8a1049eaccc2.woff2 +0 -0
  142. package/assets/esri/themes/base/fonts/fonts/4e4befe6-3f94-41d8-886c-1a6831818c6a.woff2 +0 -0
  143. package/assets/esri/themes/base/fonts/fonts/5729f02e-f6b0-4f35-8ee5-c2cffa65fa76.woff +0 -0
  144. package/assets/esri/themes/base/fonts/fonts/57a79aa3-9b06-4ba7-a9a4-2b766d826ecf.woff +0 -0
  145. package/assets/esri/themes/base/fonts/fonts/61f13f40-3829-413c-b6f5-b11abb272edc.woff +0 -0
  146. package/assets/esri/themes/base/fonts/fonts/6ea5fa46-5311-450b-8744-288a30c55348.woff2 +0 -0
  147. package/assets/esri/themes/base/fonts/fonts/75e2f3b1-1402-4916-8392-4db9ababea7b.woff2 +0 -0
  148. package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b-ext.woff2 +0 -0
  149. package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b-greek.woff2 +0 -0
  150. package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b.woff2 +0 -0
  151. package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99-ext.woff2 +0 -0
  152. package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99-greek.woff2 +0 -0
  153. package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99.woff2 +0 -0
  154. package/assets/esri/themes/base/fonts/fonts/7db1f672-3a8f-4d19-9c49-7f61aed450b5.woff2 +0 -0
  155. package/assets/esri/themes/base/fonts/fonts/89370128-6a74-471d-ba04-fa0b59bc8ed3.woff +0 -0
  156. package/assets/esri/themes/base/fonts/fonts/8a65abc7-6463-4895-b3e6-5e203b80b7e2.woff2 +0 -0
  157. package/assets/esri/themes/base/fonts/fonts/8b01637a-f445-4f10-92ea-b84a355f7690.woff +0 -0
  158. package/assets/esri/themes/base/fonts/fonts/94aa531e-7746-4df0-bb6e-349891f2eda5.woff2 +0 -0
  159. package/assets/esri/themes/base/fonts/fonts/97694c53-4e94-4f9e-969b-a148adfcdcfd.woff2 +0 -0
  160. package/assets/esri/themes/base/fonts/fonts/97b330aa-d7fa-4f85-830f-b11a5041b157.woff +0 -0
  161. package/assets/esri/themes/base/fonts/fonts/9851da0a-2481-4687-bbeb-ed4ab170dc38-ext.woff2 +0 -0
  162. package/assets/esri/themes/base/fonts/fonts/9851da0a-2481-4687-bbeb-ed4ab170dc38.woff2 +0 -0
  163. package/assets/esri/themes/base/fonts/fonts/9c1ab088-0cb0-402f-9cea-170f0fea14a8.woff2 +0 -0
  164. package/assets/esri/themes/base/fonts/fonts/a1049d00-54ad-4589-95b8-d353f7ab52f0-greek.woff2 +0 -0
  165. package/assets/esri/themes/base/fonts/fonts/a1049d00-54ad-4589-95b8-d353f7ab52f0.woff2 +0 -0
  166. package/assets/esri/themes/base/fonts/fonts/a8aeea1b-1a9d-45b7-8ad9-7c71824599e2.woff +0 -0
  167. package/assets/esri/themes/base/fonts/fonts/a9eaf4d3-6427-42df-9306-3ea1270f7b1a.woff2 +0 -0
  168. package/assets/esri/themes/base/fonts/fonts/ae454969-59fb-4d42-aecb-dea30459bc7e.woff +0 -0
  169. package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6-basic.woff2 +0 -0
  170. package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6-ext.woff2 +0 -0
  171. package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6.woff2 +0 -0
  172. package/assets/esri/themes/base/fonts/fonts/b17468ea-cf53-4635-984b-4d930a68ed4d.woff2 +0 -0
  173. package/assets/esri/themes/base/fonts/fonts/bb93c563-55f6-494f-8e1e-448538d95df1.woff +0 -0
  174. package/assets/esri/themes/base/fonts/fonts/c1905e2e-a1cb-49de-9bb0-ce3c5ffc85ae.woff2 +0 -0
  175. package/assets/esri/themes/base/fonts/fonts/c4cc9032-7eee-4a6e-ae8b-f384b1349bcf.woff2 +0 -0
  176. package/assets/esri/themes/base/fonts/fonts/c744f2a2-d6a9-4c18-b0ec-f17376acde3e.woff +0 -0
  177. package/assets/esri/themes/base/fonts/fonts/cebce072-9561-4c6d-8c89-f0cefec63289-ext.woff +0 -0
  178. package/assets/esri/themes/base/fonts/fonts/cebce072-9561-4c6d-8c89-f0cefec63289.woff +0 -0
  179. package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354-ext.woff +0 -0
  180. package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354-greek.woff +0 -0
  181. package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354.woff +0 -0
  182. package/assets/esri/themes/base/fonts/fonts/d824d78b-aab0-44e3-8c56-6c3dcf551952.woff2 +0 -0
  183. package/assets/esri/themes/base/fonts/fonts/d98fb015-7ef6-404f-a58a-5c9242d79770.woff +0 -0
  184. package/assets/esri/themes/base/fonts/fonts/d9e4040d-32ff-4a1c-ac04-927a781da1f5.woff +0 -0
  185. package/assets/esri/themes/base/fonts/fonts/dc10b3bd-5076-4df5-a5f5-e5961f4a6938.woff +0 -0
  186. package/assets/esri/themes/base/fonts/fonts/dd7b7d4e-21ab-4ac0-b26a-d032c992f3c5.woff2 +0 -0
  187. package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb-ext.woff +0 -0
  188. package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb-greek.woff +0 -0
  189. package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb.woff +0 -0
  190. package/assets/esri/themes/base/fonts/fonts/e57662ff-b1ef-4122-88c1-61bbdabeb365.woff +0 -0
  191. package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117-ext.woff2 +0 -0
  192. package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117-greek.woff2 +0 -0
  193. package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117.woff2 +0 -0
  194. package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f-basic.woff +0 -0
  195. package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f-ext.woff +0 -0
  196. package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f.woff +0 -0
  197. package/assets/esri/themes/base/fonts/fonts/f1799750-0952-403f-8108-b2402eed0f62.woff +0 -0
  198. package/assets/esri/themes/base/fonts/fonts/f4a085c3-1c64-4fc0-a598-26f3e658c2b0.woff +0 -0
  199. package/assets/esri/themes/base/fonts/fonts/fa71df11-7b19-4baf-8ff7-3537dea718f0.woff +0 -0
  200. package/assets/esri/themes/base/icons/style.css +0 -0
  201. package/assets/esri/themes/base/icons/style.scss +0 -0
  202. package/assets/esri/themes/base/icons/variables.scss +0 -0
  203. package/assets/esri/themes/base/images/files/archive-32.svg +0 -0
  204. package/assets/esri/themes/base/images/files/cad-32.svg +0 -0
  205. package/assets/esri/themes/base/images/files/code-32.svg +0 -0
  206. package/assets/esri/themes/base/images/files/csv-32.svg +0 -0
  207. package/assets/esri/themes/base/images/files/excel-32.svg +0 -0
  208. package/assets/esri/themes/base/images/files/generic-32.svg +0 -0
  209. package/assets/esri/themes/base/images/files/gpx-32.svg +0 -0
  210. package/assets/esri/themes/base/images/files/image-32.svg +0 -0
  211. package/assets/esri/themes/base/images/files/pdf-32.svg +0 -0
  212. package/assets/esri/themes/base/images/files/report-32.svg +0 -0
  213. package/assets/esri/themes/base/images/files/sound-32.svg +0 -0
  214. package/assets/esri/themes/base/images/files/text-32.svg +0 -0
  215. package/assets/esri/themes/base/images/files/video-32.svg +0 -0
  216. package/assets/esri/themes/base/images/files/word-32.svg +0 -0
  217. package/assets/esri/themes/base/images/files/zip-32.svg +0 -0
  218. package/assets/esri/themes/base/images/loading-throb.gif +0 -0
  219. package/assets/esri/themes/base/widgets/_AreaMeasurement2D.scss +14 -14
  220. package/assets/esri/themes/base/widgets/_AreaMeasurement3D.scss +14 -14
  221. package/assets/esri/themes/base/widgets/_Attachments.scss +286 -286
  222. package/assets/esri/themes/base/widgets/_Attribution.scss +57 -57
  223. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +173 -173
  224. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +490 -490
  225. package/assets/esri/themes/base/widgets/_BasemapToggle.scss +123 -123
  226. package/assets/esri/themes/base/widgets/_BinaryColorSizeSlider.scss +7 -7
  227. package/assets/esri/themes/base/widgets/_Bookmarks.scss +349 -349
  228. package/assets/esri/themes/base/widgets/_BuildingDisciplinesTree.scss +151 -151
  229. package/assets/esri/themes/base/widgets/_BuildingExplorer.scss +51 -51
  230. package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +253 -253
  231. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +92 -92
  232. package/assets/esri/themes/base/widgets/_ButtonMenu.scss +129 -129
  233. package/assets/esri/themes/base/widgets/_ClassedColorSlider.scss +7 -7
  234. package/assets/esri/themes/base/widgets/_ClassedSizeSlider.scss +7 -7
  235. package/assets/esri/themes/base/widgets/_ColorPicker.scss +70 -70
  236. package/assets/esri/themes/base/widgets/_ColorSizeSlider.scss +7 -7
  237. package/assets/esri/themes/base/widgets/_ColorSlider.scss +7 -7
  238. package/assets/esri/themes/base/widgets/_Compass.scss +16 -16
  239. package/assets/esri/themes/base/widgets/_CoordinateConversion.scss +236 -238
  240. package/assets/esri/themes/base/widgets/_DatePicker.scss +169 -169
  241. package/assets/esri/themes/base/widgets/_Daylight.scss +270 -270
  242. package/assets/esri/themes/base/widgets/_DirectLineMeasurement3D.scss +7 -7
  243. package/assets/esri/themes/base/widgets/_Directions.scss +471 -471
  244. package/assets/esri/themes/base/widgets/_DistanceMeasurement2D.scss +7 -7
  245. package/assets/esri/themes/base/widgets/_Editor.scss +260 -255
  246. package/assets/esri/themes/base/widgets/_ElevationProfile.scss +439 -439
  247. package/assets/esri/themes/base/widgets/_Expand.scss +264 -264
  248. package/assets/esri/themes/base/widgets/_Feature.scss +93 -92
  249. package/assets/esri/themes/base/widgets/_FeatureContent.scss +97 -97
  250. package/assets/esri/themes/base/widgets/_FeatureForm.scss +236 -216
  251. package/assets/esri/themes/base/widgets/_FeatureMedia.scss +86 -86
  252. package/assets/esri/themes/base/widgets/_FeatureTable.scss +247 -247
  253. package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +44 -44
  254. package/assets/esri/themes/base/widgets/_FloorFilter.scss +480 -480
  255. package/assets/esri/themes/base/widgets/_Grid.scss +71 -71
  256. package/assets/esri/themes/base/widgets/_HeatmapSlider.scss +7 -7
  257. package/assets/esri/themes/base/widgets/_Histogram.scss +56 -56
  258. package/assets/esri/themes/base/widgets/_HistogramRangeSlider.scss +105 -105
  259. package/assets/esri/themes/base/widgets/_IdentityForm.scss +22 -22
  260. package/assets/esri/themes/base/widgets/_IdentityModal.scss +105 -105
  261. package/assets/esri/themes/base/widgets/_ItemList.scss +143 -143
  262. package/assets/esri/themes/base/widgets/_LayerList.scss +413 -413
  263. package/assets/esri/themes/base/widgets/_Legend.scss +551 -551
  264. package/assets/esri/themes/base/widgets/_LineOfSight.scss +41 -41
  265. package/assets/esri/themes/base/widgets/_Measurement.scss +6 -6
  266. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +99 -99
  267. package/assets/esri/themes/base/widgets/_OpacitySlider.scss +7 -7
  268. package/assets/esri/themes/base/widgets/_Popup.scss +748 -745
  269. package/assets/esri/themes/base/widgets/_Print.scss +269 -269
  270. package/assets/esri/themes/base/widgets/_SaveLayer.scss +40 -40
  271. package/assets/esri/themes/base/widgets/_ScaleBar.scss +160 -160
  272. package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +211 -211
  273. package/assets/esri/themes/base/widgets/_Search.scss +193 -193
  274. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +34 -34
  275. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +18 -18
  276. package/assets/esri/themes/base/widgets/_ShadowCast.scss +202 -202
  277. package/assets/esri/themes/base/widgets/_SizeSlider.scss +7 -7
  278. package/assets/esri/themes/base/widgets/_Sketch.scss +151 -151
  279. package/assets/esri/themes/base/widgets/_Slice.scss +80 -80
  280. package/assets/esri/themes/base/widgets/_Slider.scss +367 -367
  281. package/assets/esri/themes/base/widgets/_SnappingControls.scss +143 -143
  282. package/assets/esri/themes/base/widgets/_Spinner.scss +76 -76
  283. package/assets/esri/themes/base/widgets/_Swipe.scss +105 -105
  284. package/assets/esri/themes/base/widgets/_TableList.scss +299 -299
  285. package/assets/esri/themes/base/widgets/_TimePicker.scss +15 -15
  286. package/assets/esri/themes/base/widgets/_TimeSlider.scss +404 -404
  287. package/assets/esri/themes/base/widgets/_Tooltip.scss +61 -61
  288. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +47 -47
  289. package/assets/esri/themes/base/widgets/_Weather.scss +59 -59
  290. package/assets/esri/themes/base/widgets/_Widget.scss +688 -688
  291. package/assets/esri/themes/base/widgets/_Zoom.scss +45 -45
  292. package/assets/esri/themes/dark/main.css +1 -1
  293. package/assets/esri/themes/dark/main.scss +34 -34
  294. package/assets/esri/themes/light/main.css +1 -1
  295. package/assets/esri/themes/light/main.scss +9 -9
  296. package/assets/esri/themes/light/view.css +1 -1
  297. package/assets/esri/themes/light/view.scss +9 -9
  298. package/assets/esri/views/3d/analysis/Slice/images/heading-rotate.svg +4 -4
  299. package/assets/esri/views/3d/analysis/Slice/images/tilt-rotate.svg +80 -80
  300. package/assets/esri/views/3d/webgl-engine/lib/intersectorUtils.svg +117 -117
  301. package/assets/esri/views/magnifier/mask.ts.svg +5 -5
  302. package/assets/esri/views/magnifier/overlay.ts.svg +36 -36
  303. package/chunks/Laserlines.glsl.js +5 -5
  304. package/chunks/LineMarker.glsl.js +32 -38
  305. package/chunks/Precipitation.glsl.js +1 -1
  306. package/chunks/RibbonLine.glsl.js +53 -53
  307. package/chunks/ShadowHighlight.glsl.js +1 -1
  308. package/chunks/boundedPlane.js +1 -1
  309. package/chunks/cameraUtilsPlanar.js +1 -1
  310. package/chunks/cameraUtilsSpherical.js +1 -1
  311. package/chunks/mat3.js +1 -1
  312. package/chunks/quat.js +1 -1
  313. package/chunks/quat2.js +1 -1
  314. package/chunks/quatf64.js +1 -1
  315. package/chunks/sphere.js +1 -1
  316. package/chunks/vec3.js +1 -1
  317. package/chunks/vec3f32.js +1 -1
  318. package/chunks/vec4f64.js +1 -1
  319. package/config.d.ts +1 -1
  320. package/copyright.txt +1278 -1278
  321. package/core/Accessor.d.ts +1 -1
  322. package/core/Accessor.js +1 -1
  323. package/core/Collection.d.ts +1 -1
  324. package/core/Error.d.ts +1 -1
  325. package/core/Evented.d.ts +1 -1
  326. package/core/HandleOwner.d.ts +1 -1
  327. package/core/Handles.d.ts +1 -1
  328. package/core/Identifiable.d.ts +1 -1
  329. package/core/JSONSupport.d.ts +1 -1
  330. package/core/Loadable.d.ts +1 -1
  331. package/core/Promise.d.ts +1 -1
  332. package/core/VectorStack.js +1 -1
  333. package/core/accessorSupport/decorators.d.ts +1 -1
  334. package/core/lang.d.ts +1 -1
  335. package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
  336. package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
  337. package/core/libs/gl-matrix-2/factories/vec4f64.js +1 -1
  338. package/core/libs/gl-matrix-2/math/mat3.js +1 -1
  339. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  340. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  341. package/core/perspectiveUtils.js +1 -1
  342. package/core/promiseUtils.d.ts +1 -1
  343. package/core/quantity.d.ts +1 -1
  344. package/core/reactiveUtils.d.ts +1 -1
  345. package/core/scheduling.d.ts +1 -1
  346. package/core/sql/WhereClause.d.ts +1 -1
  347. package/core/sql.d.ts +1 -1
  348. package/core/units.d.ts +1 -1
  349. package/core/urlUtils.d.ts +1 -1
  350. package/core/watchUtils.d.ts +1 -1
  351. package/core/workers/Connection.d.ts +1 -1
  352. package/core/workers.d.ts +1 -1
  353. package/form/ExpressionInfo.d.ts +1 -1
  354. package/form/FormTemplate.d.ts +1 -1
  355. package/form/elements/Element.d.ts +1 -1
  356. package/form/elements/FieldElement.d.ts +1 -1
  357. package/form/elements/GroupElement.d.ts +1 -1
  358. package/form/elements/inputs/BarcodeScannerInput.d.ts +1 -1
  359. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  360. package/form/elements/inputs/DateTimePickerInput.d.ts +1 -1
  361. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  362. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  363. package/form/elements/inputs/TextAreaInput.d.ts +1 -1
  364. package/form/elements/inputs/TextBoxInput.d.ts +1 -1
  365. package/form/elements/inputs/TextInput.d.ts +1 -1
  366. package/form/elements/support/inputs.d.ts +1 -1
  367. package/form/support/elements.d.ts +1 -1
  368. package/geohash/GeohashTree.js +1 -1
  369. package/geometry/Circle.d.ts +1 -1
  370. package/geometry/Extent.d.ts +1 -1
  371. package/geometry/Geometry.d.ts +1 -1
  372. package/geometry/HeightModelInfo.d.ts +1 -1
  373. package/geometry/Mesh.d.ts +1 -1
  374. package/geometry/Multipoint.d.ts +1 -1
  375. package/geometry/Point.d.ts +1 -1
  376. package/geometry/Polygon.d.ts +1 -1
  377. package/geometry/Polyline.d.ts +1 -1
  378. package/geometry/SpatialReference.d.ts +1 -1
  379. package/geometry/coordinateFormatter.d.ts +1 -1
  380. package/geometry/geometryEngine.d.ts +1 -1
  381. package/geometry/geometryEngineAsync.d.ts +1 -1
  382. package/geometry/projection.d.ts +1 -1
  383. package/geometry/support/GeographicTransformation.d.ts +1 -1
  384. package/geometry/support/GeographicTransformationStep.d.ts +1 -1
  385. package/geometry/support/MeshComponent.d.ts +1 -1
  386. package/geometry/support/MeshMaterial.d.ts +1 -1
  387. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  388. package/geometry/support/MeshTexture.d.ts +1 -1
  389. package/geometry/support/MeshTransform.js +1 -1
  390. package/geometry/support/axisAngle.js +1 -1
  391. package/geometry/support/axisAngleDegrees.js +1 -1
  392. package/geometry/support/geodesicUtils.d.ts +1 -1
  393. package/geometry/support/jsonUtils.d.ts +1 -1
  394. package/geometry/support/lineSegment.js +1 -1
  395. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  396. package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
  397. package/geometry/support/meshUtils/georeference.js +1 -1
  398. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  399. package/geometry/support/meshUtils/projection.js +1 -1
  400. package/geometry/support/meshUtils/rotate.js +1 -1
  401. package/geometry/support/meshUtils.d.ts +1 -1
  402. package/geometry/support/normalizeUtils.d.ts +1 -1
  403. package/geometry/support/plane.js +1 -1
  404. package/geometry/support/webMercatorUtils.d.ts +1 -1
  405. package/geometry.d.ts +1 -1
  406. package/identity/Credential.d.ts +1 -1
  407. package/identity/IdentityManager.d.ts +1 -1
  408. package/identity/OAuthInfo.d.ts +1 -1
  409. package/identity/ServerInfo.d.ts +1 -1
  410. package/interfaces.d.ts +768 -706
  411. package/intl.d.ts +1 -1
  412. package/kernel.d.ts +1 -1
  413. package/layers/BaseDynamicLayer.d.ts +1 -1
  414. package/layers/BaseElevationLayer.d.ts +1 -1
  415. package/layers/BaseTileLayer.d.ts +1 -1
  416. package/layers/BingMapsLayer.d.ts +1 -1
  417. package/layers/BuildingSceneLayer.d.ts +1 -1
  418. package/layers/CSVLayer.d.ts +1 -1
  419. package/layers/DimensionLayer.d.ts +1 -1
  420. package/layers/ElevationLayer.d.ts +1 -1
  421. package/layers/FeatureLayer.d.ts +1 -1
  422. package/layers/GeoJSONLayer.d.ts +1 -1
  423. package/layers/GeoRSSLayer.d.ts +1 -1
  424. package/layers/GraphicsLayer.d.ts +1 -1
  425. package/layers/GroupLayer.d.ts +1 -1
  426. package/layers/ImageryLayer.d.ts +1 -1
  427. package/layers/ImageryTileLayer.d.ts +1 -1
  428. package/layers/IntegratedMeshLayer.d.ts +1 -1
  429. package/layers/KMLLayer.d.ts +1 -1
  430. package/layers/Layer.d.ts +1 -1
  431. package/layers/LineOfSightLayer.d.ts +1 -1
  432. package/layers/MapImageLayer.d.ts +1 -1
  433. package/layers/MapNotesLayer.d.ts +1 -1
  434. package/layers/MapNotesLayer.js +1 -1
  435. package/layers/MediaLayer.d.ts +1 -1
  436. package/layers/OGCFeatureLayer.d.ts +1 -1
  437. package/layers/OpenStreetMapLayer.d.ts +1 -1
  438. package/layers/PointCloudLayer.d.ts +1 -1
  439. package/layers/RouteLayer.d.ts +1 -1
  440. package/layers/SceneLayer.d.ts +1 -1
  441. package/layers/StreamLayer.d.ts +1 -1
  442. package/layers/SubtypeGroupLayer.d.ts +1 -1
  443. package/layers/TileLayer.d.ts +1 -1
  444. package/layers/UnknownLayer.d.ts +1 -1
  445. package/layers/UnsupportedLayer.d.ts +1 -1
  446. package/layers/VectorTileLayer.d.ts +1 -1
  447. package/layers/VoxelLayer.d.ts +1 -1
  448. package/layers/WCSLayer.d.ts +1 -1
  449. package/layers/WFSLayer.d.ts +1 -1
  450. package/layers/WMSLayer.d.ts +1 -1
  451. package/layers/WMTSLayer.d.ts +1 -1
  452. package/layers/WebTileLayer.d.ts +1 -1
  453. package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +1 -1
  454. package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
  455. package/layers/buildingSublayers/BuildingSublayer.d.ts +1 -1
  456. package/layers/graphics/data/SnappingCandidate.js +1 -1
  457. package/layers/mixins/APIKeyMixin.d.ts +1 -1
  458. package/layers/mixins/ArcGISCachedService.d.ts +1 -1
  459. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  460. package/layers/mixins/ArcGISImageService.js +1 -1
  461. package/layers/mixins/ArcGISMapService.d.ts +1 -1
  462. package/layers/mixins/BlendLayer.d.ts +1 -1
  463. package/layers/mixins/CustomParametersMixin.d.ts +1 -1
  464. package/layers/mixins/FeatureEffectLayer.d.ts +1 -1
  465. package/layers/mixins/FeatureLayerBase.d.ts +4 -0
  466. package/layers/mixins/FeatureReductionLayer.d.ts +1 -1
  467. package/layers/mixins/ImageryTileMixin.d.ts +1 -1
  468. package/layers/mixins/ImageryTileMixin.js +1 -1
  469. package/layers/mixins/OrderedLayer.d.ts +1 -1
  470. package/layers/mixins/PortalLayer.d.ts +1 -1
  471. package/layers/mixins/PublishableLayer.d.ts +1 -1
  472. package/layers/mixins/RefreshableLayer.d.ts +1 -1
  473. package/layers/mixins/ScaleRangeLayer.d.ts +1 -1
  474. package/layers/mixins/SceneService.d.ts +1 -1
  475. package/layers/mixins/SublayersOwner.d.ts +1 -1
  476. package/layers/mixins/TemporalLayer.d.ts +1 -1
  477. package/layers/ogc/wfsUtils.d.ts +1 -1
  478. package/layers/pointCloudFilters/PointCloudFilter.d.ts +1 -1
  479. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  480. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  481. package/layers/support/AggregateField.d.ts +1 -1
  482. package/layers/support/BuildingFilter.d.ts +1 -1
  483. package/layers/support/BuildingSummaryStatistics.d.ts +1 -1
  484. package/layers/support/CodedValueDomain.d.ts +1 -1
  485. package/layers/support/ControlPointsGeoreference.d.ts +1 -1
  486. package/layers/support/CornersGeoreference.d.ts +1 -1
  487. package/layers/support/DimensionalDefinition.d.ts +1 -1
  488. package/layers/support/Domain.d.ts +1 -1
  489. package/layers/support/ElevationSampler.d.ts +1 -1
  490. package/layers/support/ExpressionInfo.d.ts +1 -1
  491. package/layers/support/ExtentAndRotationGeoreference.d.ts +1 -1
  492. package/layers/support/FacilityLayerInfo.d.ts +1 -1
  493. package/layers/support/FeatureEffect.d.ts +1 -1
  494. package/layers/support/FeatureFilter.d.ts +1 -1
  495. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  496. package/layers/support/FeatureReductionCluster.d.ts +1 -1
  497. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  498. package/layers/support/FeatureTemplate.d.ts +1 -1
  499. package/layers/support/FeatureType.d.ts +1 -1
  500. package/layers/support/Field.d.ts +1 -1
  501. package/layers/support/FieldsIndex.d.ts +1 -1
  502. package/layers/support/GeometryFieldsInfo.d.ts +1 -1
  503. package/layers/support/ImageElement.d.ts +1 -1
  504. package/layers/support/ImageParameters.d.ts +1 -1
  505. package/layers/support/InheritedDomain.d.ts +1 -1
  506. package/layers/support/KMLSublayer.d.ts +1 -1
  507. package/layers/support/LOD.d.ts +1 -1
  508. package/layers/support/LabelClass.d.ts +1 -1
  509. package/layers/support/LayerFloorInfo.d.ts +1 -1
  510. package/layers/support/LevelLayerInfo.d.ts +1 -1
  511. package/layers/support/LocalMediaElementSource.d.ts +1 -1
  512. package/layers/support/MapImage.d.ts +1 -1
  513. package/layers/support/MediaElementBase.d.ts +1 -1
  514. package/layers/support/MosaicRule.d.ts +1 -1
  515. package/layers/support/MultidimensionalSubset.d.ts +4 -0
  516. package/layers/support/MultidimensionalSubset.js +1 -1
  517. package/layers/support/PixelBlock.d.ts +1 -1
  518. package/layers/support/PublishingInfo.d.ts +1 -1
  519. package/layers/support/RangeDomain.d.ts +1 -1
  520. package/layers/support/RasterFunction.d.ts +1 -1
  521. package/layers/support/RasterInfo.d.ts +1 -1
  522. package/layers/support/Relationship.d.ts +1 -1
  523. package/layers/support/RouteStopSymbols.d.ts +1 -1
  524. package/layers/support/RouteSymbols.d.ts +1 -1
  525. package/layers/support/SceneFilter.d.ts +1 -1
  526. package/layers/support/SceneModification.d.ts +1 -1
  527. package/layers/support/SceneModifications.d.ts +1 -1
  528. package/layers/support/SiteLayerInfo.d.ts +1 -1
  529. package/layers/support/StreamConnection.d.ts +1 -1
  530. package/layers/support/Sublayer.d.ts +1 -1
  531. package/layers/support/SubtypeSublayer.d.ts +1 -1
  532. package/layers/support/TileInfo.d.ts +1 -1
  533. package/layers/support/TileMatrixSet.d.ts +1 -1
  534. package/layers/support/TimeInfo.d.ts +1 -1
  535. package/layers/support/TimeReference.d.ts +1 -1
  536. package/layers/support/VideoElement.d.ts +1 -1
  537. package/layers/support/VoxelVariable.d.ts +1 -1
  538. package/layers/support/VoxelVolumeStyle.d.ts +1 -1
  539. package/layers/support/WMSSublayer.d.ts +1 -1
  540. package/layers/support/WMTSStyle.d.ts +1 -1
  541. package/layers/support/WMTSSublayer.d.ts +1 -1
  542. package/layers/support/arcadeUtils.d.ts +1 -1
  543. package/layers/support/fieldUtils.d.ts +1 -1
  544. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  545. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  546. package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
  547. package/layers/support/wmtsUtils.js +1 -1
  548. package/layers/voxel/VoxelDynamicSection.d.ts +1 -1
  549. package/layers/voxel/VoxelSlice.d.ts +1 -1
  550. package/layers/voxel/VoxelTransferFunctionStyle.d.ts +1 -1
  551. package/layers/voxel/VoxelVariable.d.ts +1 -1
  552. package/layers/voxel/VoxelVariableStyle.d.ts +1 -1
  553. package/layers/voxel/VoxelVolume.d.ts +1 -1
  554. package/layers/voxel/VoxelVolume.js +1 -1
  555. package/layers/voxel/VoxelVolumeStyle.d.ts +1 -1
  556. package/layers/voxel/voxelPlaneUtils.js +1 -1
  557. package/networks/Network.d.ts +1 -1
  558. package/networks/Network.js +1 -1
  559. package/networks/UtilityNetwork.d.ts +1 -1
  560. package/networks/support/NamedTraceConfiguration.d.ts +1 -1
  561. package/networks/support/NetworkSystemLayers.d.ts +1 -1
  562. package/networks/support/Terminal.d.ts +1 -1
  563. package/networks/support/TerminalConfiguration.d.ts +1 -1
  564. package/networks/support/TraceConfiguration.d.ts +1 -1
  565. package/networks/support/UNTraceConfiguration.d.ts +1 -1
  566. package/networks/support/utils.js +1 -1
  567. package/package.json +1 -1
  568. package/pointCloudRenderers.d.ts +1 -1
  569. package/popup/ElementExpressionInfo.d.ts +1 -1
  570. package/popup/ExpressionInfo.d.ts +1 -1
  571. package/popup/FieldInfo.d.ts +1 -1
  572. package/popup/LayerOptions.d.ts +1 -1
  573. package/popup/RelatedRecordsInfo.d.ts +1 -1
  574. package/popup/content/AttachmentsContent.d.ts +1 -1
  575. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  576. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  577. package/popup/content/Content.d.ts +1 -1
  578. package/popup/content/CustomContent.d.ts +1 -1
  579. package/popup/content/ExpressionContent.d.ts +1 -1
  580. package/popup/content/FieldsContent.d.ts +1 -1
  581. package/popup/content/ImageMediaInfo.d.ts +1 -1
  582. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  583. package/popup/content/MediaContent.d.ts +1 -1
  584. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  585. package/popup/content/RelationshipContent.d.ts +1 -1
  586. package/popup/content/TextContent.d.ts +1 -1
  587. package/popup/content/mixins/ChartMediaInfo.d.ts +1 -1
  588. package/popup/content/mixins/MediaInfo.d.ts +1 -1
  589. package/popup/content/support/ChartMediaInfoValue.d.ts +1 -1
  590. package/popup/content/support/ChartMediaInfoValueSeries.d.ts +1 -1
  591. package/popup/content/support/ImageMediaInfoValue.d.ts +1 -1
  592. package/popup/content.d.ts +1 -1
  593. package/popup/support/FieldInfoFormat.d.ts +1 -1
  594. package/popup/support/RelatedRecordsInfoFieldOrder.d.ts +1 -1
  595. package/portal/Portal.d.ts +1 -1
  596. package/portal/PortalFolder.d.ts +1 -1
  597. package/portal/PortalGroup.d.ts +1 -1
  598. package/portal/PortalItem.d.ts +1 -1
  599. package/portal/PortalItemResource.d.ts +1 -1
  600. package/portal/PortalQueryParams.d.ts +1 -1
  601. package/portal/PortalQueryResult.d.ts +1 -1
  602. package/portal/PortalRating.d.ts +1 -1
  603. package/portal/PortalUser.d.ts +1 -1
  604. package/portal/schemas/definitions.js +1 -1
  605. package/rasterRenderers.d.ts +1 -1
  606. package/renderers/ClassBreaksRenderer.d.ts +1 -1
  607. package/renderers/DictionaryRenderer.d.ts +1 -1
  608. package/renderers/DotDensityRenderer.d.ts +1 -1
  609. package/renderers/FlowRenderer.d.ts +1 -1
  610. package/renderers/HeatmapRenderer.d.ts +1 -1
  611. package/renderers/PieChartRenderer.d.ts +1 -1
  612. package/renderers/PointCloudClassBreaksRenderer.d.ts +1 -1
  613. package/renderers/PointCloudRGBRenderer.d.ts +1 -1
  614. package/renderers/PointCloudRenderer.d.ts +1 -1
  615. package/renderers/PointCloudStretchRenderer.d.ts +1 -1
  616. package/renderers/PointCloudUniqueValueRenderer.d.ts +1 -1
  617. package/renderers/RasterColormapRenderer.d.ts +1 -1
  618. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  619. package/renderers/RasterStretchRenderer.d.ts +1 -1
  620. package/renderers/Renderer.d.ts +1 -1
  621. package/renderers/SimpleRenderer.d.ts +1 -1
  622. package/renderers/UniqueValueRenderer.d.ts +1 -1
  623. package/renderers/UniqueValueRenderer.js +1 -1
  624. package/renderers/VectorFieldRenderer.d.ts +1 -1
  625. package/renderers/mixins/VisualVariablesMixin.d.ts +1 -1
  626. package/renderers/support/AttributeColorInfo.d.ts +1 -1
  627. package/renderers/support/AuthoringInfo.d.ts +1 -1
  628. package/renderers/support/AuthoringInfoVisualVariable.d.ts +1 -1
  629. package/renderers/support/ClassBreakInfo.d.ts +1 -1
  630. package/renderers/support/ColormapInfo.d.ts +1 -1
  631. package/renderers/support/HeatmapColorStop.d.ts +1 -1
  632. package/renderers/support/UniqueValue.d.ts +1 -1
  633. package/renderers/support/UniqueValueClass.d.ts +1 -1
  634. package/renderers/support/UniqueValueClass.js +1 -1
  635. package/renderers/support/UniqueValueGroup.d.ts +1 -1
  636. package/renderers/support/UniqueValueInfo.d.ts +1 -1
  637. package/renderers/support/jsonUtils.d.ts +1 -1
  638. package/renderers/visualVariables/ColorVariable.d.ts +1 -1
  639. package/renderers/visualVariables/OpacityVariable.d.ts +1 -1
  640. package/renderers/visualVariables/RotationVariable.d.ts +1 -1
  641. package/renderers/visualVariables/SizeVariable.d.ts +1 -1
  642. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  643. package/renderers/visualVariables/support/ColorSizeStop.d.ts +1 -1
  644. package/renderers/visualVariables/support/ColorStop.d.ts +1 -1
  645. package/renderers/visualVariables/support/OpacityStop.d.ts +1 -1
  646. package/renderers/visualVariables/support/SizeStop.d.ts +1 -1
  647. package/renderers.d.ts +1 -1
  648. package/request.d.ts +1 -1
  649. package/rest/closestFacility.d.ts +1 -1
  650. package/rest/find.d.ts +1 -1
  651. package/rest/geometryService.d.ts +1 -1
  652. package/rest/geoprocessor/GPOptions.d.ts +1 -1
  653. package/rest/geoprocessor.d.ts +1 -1
  654. package/rest/identify.d.ts +1 -1
  655. package/rest/imageService.d.ts +1 -1
  656. package/rest/knowledgeGraph/DataModel.d.ts +1 -1
  657. package/rest/knowledgeGraph/Entity.d.ts +1 -1
  658. package/rest/knowledgeGraph/EntityType.d.ts +1 -1
  659. package/rest/knowledgeGraph/FieldIndex.d.ts +1 -1
  660. package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
  661. package/rest/knowledgeGraph/GraphApplyEditsResult.d.ts +1 -1
  662. package/rest/knowledgeGraph/GraphNamedObject.d.ts +1 -1
  663. package/rest/knowledgeGraph/GraphObject.d.ts +1 -1
  664. package/rest/knowledgeGraph/GraphObjectType.d.ts +1 -1
  665. package/rest/knowledgeGraph/GraphProperty.d.ts +1 -1
  666. package/rest/knowledgeGraph/GraphQuery.d.ts +1 -1
  667. package/rest/knowledgeGraph/GraphQueryResult.d.ts +1 -1
  668. package/rest/knowledgeGraph/GraphQueryStreaming.d.ts +1 -1
  669. package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +1 -1
  670. package/rest/knowledgeGraph/GraphSearch.d.ts +1 -1
  671. package/rest/knowledgeGraph/GraphSearchStreaming.d.ts +1 -1
  672. package/rest/knowledgeGraph/InputQuantizationParameters.d.ts +1 -1
  673. package/rest/knowledgeGraph/KnowledgeGraph.d.ts +1 -1
  674. package/rest/knowledgeGraph/OutputQuantizationParameters.d.ts +1 -1
  675. package/rest/knowledgeGraph/Path.d.ts +1 -1
  676. package/rest/knowledgeGraph/Relationship.d.ts +1 -1
  677. package/rest/knowledgeGraph/RelationshipType.d.ts +1 -1
  678. package/rest/knowledgeGraphService.d.ts +1 -1
  679. package/rest/locator.d.ts +1 -1
  680. package/rest/networkService.d.ts +1 -1
  681. package/rest/networks/support/AggregatedGeometry.d.ts +1 -1
  682. package/rest/networks/support/Association.d.ts +1 -1
  683. package/rest/networks/support/AssociationGeometriesResult.d.ts +1 -1
  684. package/rest/networks/support/FunctionResult.d.ts +1 -1
  685. package/rest/networks/support/NetworkElement.d.ts +1 -1
  686. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +1 -1
  687. package/rest/networks/support/TraceLocation.d.ts +1 -1
  688. package/rest/networks/support/TraceParameters.d.ts +1 -1
  689. package/rest/networks/support/TraceResult.d.ts +1 -1
  690. package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -1
  691. package/rest/networks/trace.d.ts +1 -1
  692. package/rest/print.d.ts +1 -1
  693. package/rest/print.js +1 -1
  694. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  695. package/rest/query.d.ts +1 -1
  696. package/rest/route.d.ts +1 -1
  697. package/rest/serviceArea.d.ts +1 -1
  698. package/rest/support/AddressCandidate.d.ts +1 -1
  699. package/rest/support/AlgorithmicColorRamp.d.ts +1 -1
  700. package/rest/support/AreasAndLengthsParameters.d.ts +1 -1
  701. package/rest/support/AttachmentQuery.d.ts +1 -1
  702. package/rest/support/BufferParameters.d.ts +1 -1
  703. package/rest/support/ClosestFacilityParameters.d.ts +1 -1
  704. package/rest/support/ClosestFacilitySolveResult.d.ts +1 -1
  705. package/rest/support/ColorRamp.d.ts +1 -1
  706. package/rest/support/DataFile.d.ts +1 -1
  707. package/rest/support/DataLayer.d.ts +1 -1
  708. package/rest/support/DensifyParameters.d.ts +1 -1
  709. package/rest/support/DirectionLine.d.ts +1 -1
  710. package/rest/support/DirectionLine.js +1 -1
  711. package/rest/support/DirectionPoint.d.ts +1 -1
  712. package/rest/support/DirectionPoint.js +1 -1
  713. package/rest/support/DirectionsEvent.d.ts +1 -1
  714. package/rest/support/DirectionsFeature.d.ts +1 -1
  715. package/rest/support/DirectionsFeatureSet.d.ts +1 -1
  716. package/rest/support/DistanceParameters.d.ts +1 -1
  717. package/rest/support/FeatureSet.d.ts +1 -1
  718. package/rest/support/FindParameters.d.ts +1 -1
  719. package/rest/support/FindResult.d.ts +1 -1
  720. package/rest/support/GPMessage.d.ts +1 -1
  721. package/rest/support/GeneralizeParameters.d.ts +1 -1
  722. package/rest/support/IdentifyParameters.d.ts +1 -1
  723. package/rest/support/IdentifyResult.d.ts +1 -1
  724. package/rest/support/ImageAngleParameters.d.ts +1 -1
  725. package/rest/support/ImageAngleResult.d.ts +1 -1
  726. package/rest/support/ImageHistogramParameters.d.ts +1 -1
  727. package/rest/support/ImageIdentifyParameters.d.ts +1 -1
  728. package/rest/support/ImageIdentifyResult.d.ts +1 -1
  729. package/rest/support/ImageParameters.d.ts +1 -1
  730. package/rest/support/ImagePixelLocationParameters.d.ts +1 -1
  731. package/rest/support/ImagePixelLocationResult.d.ts +1 -1
  732. package/rest/support/ImageSample.d.ts +1 -1
  733. package/rest/support/ImageSampleParameters.d.ts +1 -1
  734. package/rest/support/ImageSampleResult.d.ts +1 -1
  735. package/rest/support/JobInfo.d.ts +1 -1
  736. package/rest/support/LegendLayer.d.ts +1 -1
  737. package/rest/support/LengthsParameters.d.ts +1 -1
  738. package/rest/support/LinearUnit.d.ts +1 -1
  739. package/rest/support/MultipartColorRamp.d.ts +1 -1
  740. package/rest/support/NAMessage.d.ts +1 -1
  741. package/rest/support/NetworkFeatureSet.d.ts +1 -1
  742. package/rest/support/NetworkUrl.d.ts +1 -1
  743. package/rest/support/OffsetParameters.d.ts +1 -1
  744. package/rest/support/ParameterValue.d.ts +1 -1
  745. package/rest/support/PointBarrier.d.ts +1 -1
  746. package/rest/support/PointBarrier.js +1 -1
  747. package/rest/support/PolygonBarrier.d.ts +1 -1
  748. package/rest/support/PolygonBarrier.js +1 -1
  749. package/rest/support/PolylineBarrier.d.ts +1 -1
  750. package/rest/support/PolylineBarrier.js +1 -1
  751. package/rest/support/PrintParameters.d.ts +1 -1
  752. package/rest/support/PrintTemplate.d.ts +1 -1
  753. package/rest/support/ProjectParameters.d.ts +1 -1
  754. package/rest/support/Query.d.ts +1 -1
  755. package/rest/support/RasterData.d.ts +1 -1
  756. package/rest/support/RelationParameters.d.ts +1 -1
  757. package/rest/support/RelationshipQuery.d.ts +1 -1
  758. package/rest/support/RouteInfo.d.ts +1 -1
  759. package/rest/support/RouteInfo.js +1 -1
  760. package/rest/support/RouteParameters.d.ts +1 -1
  761. package/rest/support/RouteResult.d.ts +1 -1
  762. package/rest/support/RouteSolveResult.d.ts +1 -1
  763. package/rest/support/ServiceAreaParameters.d.ts +1 -1
  764. package/rest/support/ServiceAreaSolveResult.d.ts +1 -1
  765. package/rest/support/StatisticDefinition.d.ts +1 -1
  766. package/rest/support/Stop.d.ts +1 -1
  767. package/rest/support/Stop.js +1 -1
  768. package/rest/support/TopFeaturesQuery.d.ts +1 -1
  769. package/rest/support/TopFilter.d.ts +1 -1
  770. package/rest/support/TravelMode.d.ts +1 -1
  771. package/rest/support/TrimExtendParameters.d.ts +1 -1
  772. package/rest/symbolService.d.ts +1 -1
  773. package/smartMapping/heuristics/outline.js +1 -1
  774. package/smartMapping/heuristics/scaleRange.d.ts +1 -1
  775. package/smartMapping/heuristics/scaleRange.js +1 -1
  776. package/smartMapping/heuristics/sizeRange.d.ts +1 -1
  777. package/smartMapping/heuristics/sizeRange.js +1 -1
  778. package/smartMapping/labels/clusters.d.ts +1 -1
  779. package/smartMapping/popup/clusters.d.ts +1 -1
  780. package/smartMapping/popup/templates.d.ts +1 -1
  781. package/smartMapping/raster/renderers/classBreaks.d.ts +1 -1
  782. package/smartMapping/raster/renderers/colormap.d.ts +1 -1
  783. package/smartMapping/raster/renderers/flow.d.ts +1 -1
  784. package/smartMapping/raster/renderers/rgb.d.ts +1 -1
  785. package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -1
  786. package/smartMapping/raster/renderers/stretch.d.ts +1 -1
  787. package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -1
  788. package/smartMapping/raster/renderers/vectorField.d.ts +1 -1
  789. package/smartMapping/raster/support/utils.d.ts +1 -1
  790. package/smartMapping/renderers/color.d.ts +1 -1
  791. package/smartMapping/renderers/color.js +1 -1
  792. package/smartMapping/renderers/dotDensity.d.ts +1 -1
  793. package/smartMapping/renderers/dotDensity.js +1 -1
  794. package/smartMapping/renderers/heatmap.d.ts +1 -1
  795. package/smartMapping/renderers/location.d.ts +1 -1
  796. package/smartMapping/renderers/location.js +1 -1
  797. package/smartMapping/renderers/opacity.d.ts +1 -1
  798. package/smartMapping/renderers/opacity.js +1 -1
  799. package/smartMapping/renderers/pieChart.d.ts +1 -1
  800. package/smartMapping/renderers/pieChart.js +1 -1
  801. package/smartMapping/renderers/predominance.d.ts +1 -1
  802. package/smartMapping/renderers/predominance.js +1 -1
  803. package/smartMapping/renderers/relationship.d.ts +1 -1
  804. package/smartMapping/renderers/relationship.js +1 -1
  805. package/smartMapping/renderers/size.d.ts +1 -1
  806. package/smartMapping/renderers/size.js +1 -1
  807. package/smartMapping/renderers/support/utils.js +1 -1
  808. package/smartMapping/renderers/type.d.ts +1 -1
  809. package/smartMapping/renderers/type.js +1 -1
  810. package/smartMapping/renderers/univariateColorSize.d.ts +1 -1
  811. package/smartMapping/renderers/univariateColorSize.js +1 -1
  812. package/smartMapping/statistics/classBreaks.d.ts +1 -1
  813. package/smartMapping/statistics/classBreaks.js +1 -1
  814. package/smartMapping/statistics/heatmapStatistics.d.ts +1 -1
  815. package/smartMapping/statistics/histogram.d.ts +1 -1
  816. package/smartMapping/statistics/histogram.js +1 -1
  817. package/smartMapping/statistics/predominantCategories.d.ts +1 -1
  818. package/smartMapping/statistics/predominantCategories.js +1 -1
  819. package/smartMapping/statistics/summaryStatistics.d.ts +1 -1
  820. package/smartMapping/statistics/summaryStatistics.js +1 -1
  821. package/smartMapping/statistics/summaryStatisticsForAge.d.ts +1 -1
  822. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  823. package/smartMapping/statistics/support/ageUtils.d.ts +1 -1
  824. package/smartMapping/statistics/support/predominanceUtils.d.ts +1 -1
  825. package/smartMapping/statistics/uniqueValues.d.ts +1 -1
  826. package/smartMapping/statistics/uniqueValues.js +1 -1
  827. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  828. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +5 -0
  829. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  830. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  831. package/smartMapping/support/adapters/support/utils.js +1 -1
  832. package/smartMapping/support/binningUtils.js +1 -1
  833. package/smartMapping/symbology/color.d.ts +1 -1
  834. package/smartMapping/symbology/dotDensity.d.ts +1 -1
  835. package/smartMapping/symbology/flow.d.ts +1 -1
  836. package/smartMapping/symbology/heatmap.d.ts +1 -1
  837. package/smartMapping/symbology/location.d.ts +1 -1
  838. package/smartMapping/symbology/pieChart.d.ts +1 -1
  839. package/smartMapping/symbology/predominance.d.ts +1 -1
  840. package/smartMapping/symbology/relationship.d.ts +1 -1
  841. package/smartMapping/symbology/size.d.ts +1 -1
  842. package/smartMapping/symbology/support/colorRamps.d.ts +1 -1
  843. package/smartMapping/symbology/type.d.ts +1 -1
  844. package/support/LayersMixin.d.ts +1 -1
  845. package/support/MapFloorInfo.d.ts +1 -1
  846. package/support/TablesMixin.d.ts +1 -1
  847. package/support/actions/ActionBase.d.ts +1 -1
  848. package/support/actions/ActionButton.d.ts +1 -1
  849. package/support/actions/ActionToggle.d.ts +1 -1
  850. package/support/popupUtils.d.ts +1 -1
  851. package/support/revision.js +1 -1
  852. package/support/timeUtils.d.ts +1 -1
  853. package/symbols/CIMSymbol.d.ts +1 -1
  854. package/symbols/ExtrudeSymbol3DLayer.d.ts +1 -1
  855. package/symbols/FillSymbol.d.ts +1 -1
  856. package/symbols/FillSymbol3DLayer.d.ts +1 -1
  857. package/symbols/Font.d.ts +1 -1
  858. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  859. package/symbols/LabelSymbol3D.d.ts +1 -1
  860. package/symbols/LineStyleMarker3D.d.ts +1 -1
  861. package/symbols/LineSymbol.d.ts +1 -1
  862. package/symbols/LineSymbol3D.d.ts +1 -1
  863. package/symbols/LineSymbol3DLayer.d.ts +1 -1
  864. package/symbols/LineSymbolMarker.d.ts +1 -1
  865. package/symbols/MarkerSymbol.d.ts +1 -1
  866. package/symbols/MeshSymbol3D.d.ts +1 -1
  867. package/symbols/ObjectSymbol3DLayer.d.ts +1 -1
  868. package/symbols/PathSymbol3DLayer.d.ts +1 -1
  869. package/symbols/PictureFillSymbol.d.ts +1 -1
  870. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  871. package/symbols/PointSymbol3D.d.ts +1 -1
  872. package/symbols/PolygonSymbol3D.d.ts +1 -1
  873. package/symbols/SimpleFillSymbol.d.ts +1 -1
  874. package/symbols/SimpleLineSymbol.d.ts +1 -1
  875. package/symbols/SimpleMarkerSymbol.d.ts +1 -1
  876. package/symbols/Symbol.d.ts +1 -1
  877. package/symbols/Symbol3D.d.ts +1 -1
  878. package/symbols/Symbol3DLayer.d.ts +1 -1
  879. package/symbols/TextSymbol.d.ts +1 -1
  880. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  881. package/symbols/WaterSymbol3DLayer.d.ts +1 -1
  882. package/symbols/WebStyleSymbol.d.ts +1 -1
  883. package/symbols/callouts/Callout3D.d.ts +1 -1
  884. package/symbols/callouts/LineCallout3D.d.ts +1 -1
  885. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  886. package/symbols/edges/Edges3D.d.ts +1 -1
  887. package/symbols/edges/SketchEdges3D.d.ts +1 -1
  888. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  889. package/symbols/patterns/LineStylePattern3D.d.ts +1 -1
  890. package/symbols/patterns/StylePattern3D.d.ts +1 -1
  891. package/symbols/support/StyleOrigin.d.ts +1 -1
  892. package/symbols/support/Symbol3DVerticalOffset.d.ts +1 -1
  893. package/symbols/support/cimSymbolUtils.d.ts +1 -1
  894. package/symbols/support/jsonUtils.d.ts +1 -1
  895. package/symbols/support/previewCIMSymbol.js +1 -1
  896. package/symbols/support/previewSymbol2D.js +1 -1
  897. package/symbols/support/symbolUtils.d.ts +1 -1
  898. package/symbols/support/symbolUtils.js +1 -1
  899. package/symbols.d.ts +1 -1
  900. package/views/2d/LabelManager.js +1 -1
  901. package/views/2d/ViewState.d.ts +1 -1
  902. package/views/2d/ViewState.js +1 -1
  903. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  904. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  905. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  906. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  907. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  908. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  909. package/views/2d/engine/webgl/Painter.js +1 -1
  910. package/views/2d/engine/webgl/TextureUploadManager.js +1 -1
  911. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  912. package/views/2d/engine/webgl/WGLTile.js +1 -1
  913. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  914. package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
  915. package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
  916. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  917. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  918. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  919. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  920. package/views/2d/layers/support/DebugOverlay.js +1 -1
  921. package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
  922. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  923. package/views/3d/analysis/AreaMeasurementAnalysisView3D.d.ts +1 -1
  924. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  925. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  926. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  927. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  928. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  929. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  930. package/views/3d/analysis/Dimension/settings.js +1 -1
  931. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.d.ts +1 -1
  932. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  933. package/views/3d/analysis/LineOfSightAnalysisResult.d.ts +1 -1
  934. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +1 -1
  935. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  936. package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
  937. package/views/3d/analysis/Slice/sliceToolConfig.js +1 -1
  938. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  939. package/views/3d/analysis/SliceAnalysisView3D.d.ts +1 -1
  940. package/views/3d/camera/constraintUtils/distance.js +1 -1
  941. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  942. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  943. package/views/3d/environment/CloudsCompositionParameters.js +1 -1
  944. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  945. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  946. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  947. package/views/3d/environment/RainyWeather.d.ts +1 -1
  948. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  949. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  950. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  951. package/views/3d/environment/SunLighting.d.ts +1 -1
  952. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  953. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  954. package/views/3d/externalRenderers.d.ts +1 -1
  955. package/views/3d/glTF/internal/Resource.js +1 -1
  956. package/views/3d/interactive/Manipulator3D.js +1 -1
  957. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  958. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  959. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  960. package/views/3d/interactive/editingTools/settings.js +1 -1
  961. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  962. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  963. package/views/3d/interactive/manipulatorUtils.js +1 -1
  964. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  965. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  966. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  967. package/views/3d/layers/I3SMeshView3D.js +1 -1
  968. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  969. package/views/3d/layers/PointCloudWorker.js +1 -1
  970. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  971. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  972. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  973. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  974. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  975. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  976. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  977. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  978. package/views/3d/layers/i3s/I3SElevationProvider.js +1 -1
  979. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  980. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  981. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  982. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  983. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  984. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  985. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  986. package/views/3d/layers/support/edgeUtils.js +1 -1
  987. package/views/3d/layers/support/uvUtils.js +1 -1
  988. package/views/3d/state/Frustum.js +1 -1
  989. package/views/3d/state/ViewStateManager.js +1 -1
  990. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  991. package/views/3d/state/controllers/RotateController.js +1 -1
  992. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  993. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  994. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  995. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  996. package/views/3d/state/utils/navigationUtils.js +1 -1
  997. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  998. package/views/3d/support/LayerPerformanceInfo.d.ts +1 -1
  999. package/views/3d/support/SceneViewPerformanceInfo.d.ts +1 -1
  1000. package/views/3d/support/orientedBoundingBox.js +1 -1
  1001. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  1002. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  1003. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  1004. package/views/3d/support/sunUtils.js +1 -1
  1005. package/views/3d/terrain/PatchRenderData.js +1 -1
  1006. package/views/3d/terrain/TerrainSurface.js +1 -1
  1007. package/views/3d/terrain/Tile.js +1 -1
  1008. package/views/3d/terrain/TileRenderer.js +1 -1
  1009. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  1010. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  1011. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  1012. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  1013. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
  1014. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +22 -0
  1015. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  1016. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  1017. package/views/3d/webgl-engine/lib/GeometryRecord.js +1 -1
  1018. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  1019. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  1020. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  1021. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  1022. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  1023. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  1024. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  1025. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  1026. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  1027. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  1028. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  1029. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  1030. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  1031. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  1032. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  1033. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  1034. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  1035. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  1036. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  1037. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  1038. package/views/3d/webgl-engine/parts/Model.js +1 -1
  1039. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  1040. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  1041. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  1042. package/views/BasemapView.d.ts +1 -1
  1043. package/views/BreakpointsOwner.d.ts +1 -1
  1044. package/views/DOMContainer.d.ts +1 -1
  1045. package/views/GroundView.d.ts +1 -1
  1046. package/views/Magnifier.d.ts +1 -1
  1047. package/views/MapView.d.ts +1 -1
  1048. package/views/MapView.js +1 -1
  1049. package/views/SceneView.d.ts +1 -1
  1050. package/views/ToolViewManager.js +1 -1
  1051. package/views/View.d.ts +1 -1
  1052. package/views/ViewAnimation.d.ts +1 -1
  1053. package/views/analysis/DimensionAnalysisView.d.ts +1 -1
  1054. package/views/analysis/LengthDimensionResult.d.ts +1 -1
  1055. package/views/draw/Draw.d.ts +1 -1
  1056. package/views/draw/Draw.js +1 -1
  1057. package/views/draw/DrawAction.d.ts +1 -1
  1058. package/views/draw/DrawGraphicTool.js +1 -1
  1059. package/views/draw/DrawOperation.js +1 -1
  1060. package/views/draw/MultipointDrawAction.d.ts +1 -1
  1061. package/views/draw/MultipointDrawAction.js +1 -1
  1062. package/views/draw/PointDrawAction.d.ts +1 -1
  1063. package/views/draw/PolygonDrawAction.d.ts +1 -1
  1064. package/views/draw/PolylineDrawAction.d.ts +1 -1
  1065. package/views/draw/SegmentDrawAction.d.ts +1 -1
  1066. package/views/draw/drawSurfaces.js +1 -1
  1067. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  1068. package/views/input/Input.d.ts +1 -1
  1069. package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
  1070. package/views/input/gamepad/GamepadSettings.d.ts +1 -1
  1071. package/views/interactive/coordinateHelper.js +1 -1
  1072. package/views/interactive/dragEventPipeline.js +1 -1
  1073. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  1074. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  1075. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  1076. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  1077. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  1078. package/views/interactive/snapping/FeatureSnappingLayerSource.d.ts +1 -1
  1079. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  1080. package/views/interactive/snapping/SnappingConstraint.js +1 -1
  1081. package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
  1082. package/views/interactive/snapping/SnappingOperation.js +1 -1
  1083. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  1084. package/views/interactive/snapping/candidates/DrapedEdgeSnappingCandidate.js +5 -0
  1085. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  1086. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  1087. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  1088. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  1089. package/views/interactive/snapping/featureSources/queryEngineUtils.js +1 -1
  1090. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  1091. package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
  1092. package/views/interactive/snapping/featureSources/snappingCandidateElevationFilter.js +1 -1
  1093. package/views/interactive/snapping/snappingUtils.js +1 -1
  1094. package/views/interactive/tooltip/DrawTooltipInfos.js +1 -1
  1095. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  1096. package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
  1097. package/views/layers/BuildingComponentSublayerView.d.ts +1 -1
  1098. package/views/layers/BuildingSceneLayerView.d.ts +1 -1
  1099. package/views/layers/CSVLayerView.d.ts +1 -1
  1100. package/views/layers/DimensionLayerView.d.ts +1 -1
  1101. package/views/layers/FeatureLayerView.d.ts +1 -1
  1102. package/views/layers/GeoJSONLayerView.d.ts +1 -1
  1103. package/views/layers/GeoRSSLayerView.d.ts +1 -1
  1104. package/views/layers/GraphicsLayerView.d.ts +1 -1
  1105. package/views/layers/ImageryLayerView.d.ts +1 -1
  1106. package/views/layers/KMLLayerView.d.ts +1 -1
  1107. package/views/layers/LayerView.d.ts +1 -1
  1108. package/views/layers/OGCFeatureLayerView.d.ts +1 -1
  1109. package/views/layers/PointCloudLayerView.d.ts +1 -1
  1110. package/views/layers/SceneLayerView.d.ts +1 -1
  1111. package/views/layers/StreamLayerView.d.ts +1 -1
  1112. package/views/layers/WFSLayerView.d.ts +1 -1
  1113. package/views/navigation/Navigation.d.ts +1 -1
  1114. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  1115. package/views/navigation/gamepad/GamepadSettings.d.ts +1 -1
  1116. package/views/support/Scheduler.js +1 -1
  1117. package/views/support/colorUtils.d.ts +1 -1
  1118. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  1119. package/views/support/geometry3dUtils.js +1 -1
  1120. package/views/ui/DefaultUI.d.ts +1 -1
  1121. package/views/ui/UI.d.ts +1 -1
  1122. package/webdoc/GeotriggersInfo.d.ts +1 -1
  1123. package/webdoc/applicationProperties/Search.d.ts +1 -1
  1124. package/webdoc/applicationProperties/SearchLayer.d.ts +1 -1
  1125. package/webdoc/applicationProperties/SearchLayerField.d.ts +1 -1
  1126. package/webdoc/applicationProperties/SearchTable.d.ts +1 -1
  1127. package/webdoc/applicationProperties/SearchTableField.d.ts +1 -1
  1128. package/webdoc/applicationProperties/Viewing.d.ts +1 -1
  1129. package/webdoc/geotriggersInfo/DeviceLocationFeed.d.ts +1 -1
  1130. package/webdoc/geotriggersInfo/ExpressionInfo.d.ts +1 -1
  1131. package/webdoc/geotriggersInfo/FeatureFenceParameters.d.ts +1 -1
  1132. package/webdoc/geotriggersInfo/FeatureFilter.d.ts +1 -1
  1133. package/webdoc/geotriggersInfo/FeatureLayerSource.d.ts +1 -1
  1134. package/webdoc/geotriggersInfo/FenceGeotrigger.d.ts +1 -1
  1135. package/webdoc/geotriggersInfo/Geotrigger.d.ts +1 -1
  1136. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.d.ts +1 -1
  1137. package/webmap/ApplicationProperties.d.ts +1 -1
  1138. package/webmap/Bookmark.d.ts +1 -1
  1139. package/webmap/InitialViewProperties.d.ts +1 -1
  1140. package/webmap/background/ColorBackground.d.ts +1 -1
  1141. package/webscene/ApplicationProperties.d.ts +1 -1
  1142. package/webscene/Environment.d.ts +1 -1
  1143. package/webscene/InitialViewProperties.d.ts +1 -1
  1144. package/webscene/Lighting.d.ts +1 -1
  1145. package/webscene/Presentation.d.ts +1 -1
  1146. package/webscene/Slide.d.ts +1 -1
  1147. package/webscene/Slide.js +1 -1
  1148. package/webscene/SunLighting.d.ts +1 -1
  1149. package/webscene/VirtualLighting.d.ts +1 -1
  1150. package/webscene/background/Background.d.ts +1 -1
  1151. package/webscene/background/ColorBackground.d.ts +1 -1
  1152. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +1 -1
  1153. package/widgets/AreaMeasurement2D.d.ts +1 -1
  1154. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.d.ts +1 -1
  1155. package/widgets/AreaMeasurement3D.d.ts +1 -1
  1156. package/widgets/Attachments/AttachmentsViewModel.d.ts +1 -1
  1157. package/widgets/Attachments.d.ts +1 -1
  1158. package/widgets/Attribution/AttributionViewModel.d.ts +1 -1
  1159. package/widgets/Attribution.d.ts +1 -1
  1160. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +1 -1
  1161. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +1 -1
  1162. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +1 -1
  1163. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +1 -1
  1164. package/widgets/BasemapGallery.d.ts +1 -1
  1165. package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +1 -1
  1166. package/widgets/BasemapLayerList.d.ts +1 -1
  1167. package/widgets/BasemapToggle/BasemapToggleViewModel.d.ts +1 -1
  1168. package/widgets/BasemapToggle.d.ts +1 -1
  1169. package/widgets/Bookmarks/BookmarksViewModel.d.ts +1 -1
  1170. package/widgets/Bookmarks.d.ts +1 -1
  1171. package/widgets/BuildingExplorer/BuildingExplorerViewModel.d.ts +1 -1
  1172. package/widgets/BuildingExplorer/BuildingLevel.d.ts +1 -1
  1173. package/widgets/BuildingExplorer/BuildingPhase.d.ts +1 -1
  1174. package/widgets/BuildingExplorer.d.ts +1 -1
  1175. package/widgets/Compass/CompassViewModel.d.ts +1 -1
  1176. package/widgets/Compass.d.ts +1 -1
  1177. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +1 -1
  1178. package/widgets/CoordinateConversion/support/Conversion.d.ts +1 -1
  1179. package/widgets/CoordinateConversion/support/Format.d.ts +1 -1
  1180. package/widgets/CoordinateConversion.d.ts +1 -1
  1181. package/widgets/Daylight/DaylightViewModel.d.ts +1 -1
  1182. package/widgets/Daylight.d.ts +1 -1
  1183. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.d.ts +1 -1
  1184. package/widgets/DirectLineMeasurement3D.d.ts +1 -1
  1185. package/widgets/Directions/DirectionsViewModel.d.ts +1 -1
  1186. package/widgets/Directions.d.ts +1 -1
  1187. package/widgets/Directions.js +1 -1
  1188. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +1 -1
  1189. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  1190. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  1191. package/widgets/Editor/CreateFeaturesWorkflowData.d.ts +1 -1
  1192. package/widgets/Editor/CreateWorkflow.d.ts +1 -1
  1193. package/widgets/Editor/CreateWorkflowData.d.ts +1 -1
  1194. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  1195. package/widgets/Editor/Edits.d.ts +1 -1
  1196. package/widgets/Editor/UpdateWorkflow.d.ts +1 -1
  1197. package/widgets/Editor/UpdateWorkflowData.d.ts +1 -1
  1198. package/widgets/Editor/Workflow.d.ts +1 -1
  1199. package/widgets/Editor.d.ts +1 -1
  1200. package/widgets/Editor.js +1 -1
  1201. package/widgets/ElevationProfile/ElevationProfileLine.d.ts +1 -1
  1202. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  1203. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  1204. package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -1
  1205. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  1206. package/widgets/ElevationProfile/ElevationProfileViewModel.d.ts +1 -1
  1207. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  1208. package/widgets/ElevationProfile/support/constants.js +1 -1
  1209. package/widgets/ElevationProfile.d.ts +1 -1
  1210. package/widgets/Expand/ExpandViewModel.d.ts +1 -1
  1211. package/widgets/Expand.d.ts +1 -1
  1212. package/widgets/Feature/FeatureMedia.js +1 -1
  1213. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  1214. package/widgets/Feature/FeatureViewModel.d.ts +1 -1
  1215. package/widgets/Feature/FeatureViewModel.js +1 -1
  1216. package/widgets/Feature.d.ts +1 -1
  1217. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +1 -1
  1218. package/widgets/FeatureForm/FieldConfig.d.ts +1 -1
  1219. package/widgets/FeatureForm/FieldGroupConfig.d.ts +1 -1
  1220. package/widgets/FeatureForm/FormExpressionArcadeExecutor.js +1 -1
  1221. package/widgets/FeatureForm/InputField.d.ts +1 -1
  1222. package/widgets/FeatureForm/InputField.js +1 -1
  1223. package/widgets/FeatureForm/InputFieldGroup.d.ts +1 -1
  1224. package/widgets/FeatureForm.d.ts +1 -1
  1225. package/widgets/FeatureForm.js +1 -1
  1226. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -1
  1227. package/widgets/FeatureTable/FieldColumn.d.ts +1 -1
  1228. package/widgets/FeatureTable/FieldColumnConfig.d.ts +1 -1
  1229. package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
  1230. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  1231. package/widgets/FeatureTable/Grid/support/ButtonMenu.d.ts +1 -1
  1232. package/widgets/FeatureTable/Grid/support/ButtonMenuItem.d.ts +1 -1
  1233. package/widgets/FeatureTable/Grid/support/ButtonMenuViewModel.d.ts +1 -1
  1234. package/widgets/FeatureTable/support/ColumnTemplate.d.ts +1 -1
  1235. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
  1236. package/widgets/FeatureTable/support/FieldColumnTemplate.d.ts +1 -1
  1237. package/widgets/FeatureTable/support/GroupColumnTemplate.d.ts +1 -1
  1238. package/widgets/FeatureTable/support/TableTemplate.d.ts +1 -1
  1239. package/widgets/FeatureTable.d.ts +1 -1
  1240. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +1 -1
  1241. package/widgets/FeatureTemplates/TemplateItem.d.ts +1 -1
  1242. package/widgets/FeatureTemplates/TemplateItemGroup.d.ts +1 -1
  1243. package/widgets/FeatureTemplates.d.ts +1 -1
  1244. package/widgets/FloorFilter/FloorFilterViewModel.d.ts +1 -1
  1245. package/widgets/FloorFilter.d.ts +1 -1
  1246. package/widgets/Fullscreen/FullscreenViewModel.d.ts +1 -1
  1247. package/widgets/Fullscreen.d.ts +1 -1
  1248. package/widgets/Histogram/HistogramViewModel.d.ts +1 -1
  1249. package/widgets/Histogram.d.ts +1 -1
  1250. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +1 -1
  1251. package/widgets/HistogramRangeSlider.d.ts +1 -1
  1252. package/widgets/Home/HomeViewModel.d.ts +1 -1
  1253. package/widgets/Home.d.ts +1 -1
  1254. package/widgets/LayerList/LayerListViewModel.d.ts +1 -1
  1255. package/widgets/LayerList/ListItem.d.ts +1 -1
  1256. package/widgets/LayerList/ListItemPanel.d.ts +1 -1
  1257. package/widgets/LayerList.d.ts +1 -1
  1258. package/widgets/Legend/LegendViewModel.d.ts +1 -1
  1259. package/widgets/Legend/support/ActiveLayerInfo.d.ts +1 -1
  1260. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  1261. package/widgets/Legend.d.ts +1 -1
  1262. package/widgets/LineOfSight/LineOfSightTarget.d.ts +1 -1
  1263. package/widgets/LineOfSight/LineOfSightViewModel.d.ts +1 -1
  1264. package/widgets/LineOfSight.d.ts +1 -1
  1265. package/widgets/Locate/LocateViewModel.d.ts +1 -1
  1266. package/widgets/Locate.d.ts +1 -1
  1267. package/widgets/Measurement/MeasurementViewModel.d.ts +1 -1
  1268. package/widgets/Measurement.d.ts +1 -1
  1269. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  1270. package/widgets/NavigationToggle.d.ts +1 -1
  1271. package/widgets/Popup/PopupViewModel.d.ts +1 -1
  1272. package/widgets/Popup.d.ts +1 -1
  1273. package/widgets/Popup.js +1 -1
  1274. package/widgets/Print/CustomTemplate.d.ts +1 -1
  1275. package/widgets/Print/PrintViewModel.d.ts +1 -1
  1276. package/widgets/Print/TemplateOptions.d.ts +1 -1
  1277. package/widgets/Print.d.ts +1 -1
  1278. package/widgets/ScaleBar/ScaleBarViewModel.d.ts +1 -1
  1279. package/widgets/ScaleBar.d.ts +1 -1
  1280. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.d.ts +1 -1
  1281. package/widgets/ScaleRangeSlider/ScaleRanges.d.ts +1 -1
  1282. package/widgets/ScaleRangeSlider.d.ts +1 -1
  1283. package/widgets/Search/LayerSearchSource.d.ts +1 -1
  1284. package/widgets/Search/LocatorSearchSource.d.ts +1 -1
  1285. package/widgets/Search/SearchResultRenderer.d.ts +1 -1
  1286. package/widgets/Search/SearchSource.d.ts +1 -1
  1287. package/widgets/Search/SearchViewModel.d.ts +1 -1
  1288. package/widgets/Search.d.ts +1 -1
  1289. package/widgets/ShadowCast/ShadowCastViewModel.d.ts +1 -1
  1290. package/widgets/ShadowCast.d.ts +1 -1
  1291. package/widgets/Sketch/SketchViewModel.d.ts +1 -1
  1292. package/widgets/Sketch/SketchViewModel.js +1 -1
  1293. package/widgets/Sketch/support/OperationHandle.js +1 -1
  1294. package/widgets/Sketch.d.ts +1 -1
  1295. package/widgets/Slice/SlicePlane.d.ts +1 -1
  1296. package/widgets/Slice/SliceViewModel.d.ts +1 -1
  1297. package/widgets/Slice.d.ts +1 -1
  1298. package/widgets/Slider/SliderViewModel.d.ts +1 -1
  1299. package/widgets/Slider.d.ts +1 -1
  1300. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  1301. package/widgets/Swipe.d.ts +1 -1
  1302. package/widgets/TableList/ListItem.d.ts +1 -1
  1303. package/widgets/TableList/TableListViewModel.d.ts +1 -1
  1304. package/widgets/TableList.d.ts +1 -1
  1305. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -1
  1306. package/widgets/TimeSlider.d.ts +1 -1
  1307. package/widgets/Track/TrackViewModel.d.ts +1 -1
  1308. package/widgets/Track.d.ts +1 -1
  1309. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +1 -1
  1310. package/widgets/UtilityNetworkTrace.d.ts +1 -1
  1311. package/widgets/UtilityNetworkTrace.js +1 -1
  1312. package/widgets/Weather/WeatherViewModel.d.ts +1 -1
  1313. package/widgets/Weather.d.ts +1 -1
  1314. package/widgets/Widget.d.ts +1 -1
  1315. package/widgets/Zoom/ZoomViewModel.d.ts +1 -1
  1316. package/widgets/Zoom.d.ts +1 -1
  1317. package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.d.ts +1 -1
  1318. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  1319. package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.d.ts +1 -1
  1320. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  1321. package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.d.ts +1 -1
  1322. package/widgets/smartMapping/ColorSizeSlider.d.ts +1 -1
  1323. package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.d.ts +1 -1
  1324. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  1325. package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.d.ts +1 -1
  1326. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  1327. package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.d.ts +1 -1
  1328. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  1329. package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.d.ts +1 -1
  1330. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  1331. package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.d.ts +1 -1
  1332. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +1 -1
  1333. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +1 -1
  1334. package/widgets/smartMapping/support/utils.d.ts +1 -1
  1335. package/widgets/support/DatePicker.d.ts +1 -1
  1336. package/widgets/support/DatePickerViewModel.d.ts +1 -1
  1337. package/widgets/support/DateTimeElementViewModel.d.ts +1 -1
  1338. package/widgets/support/GeolocationPositioning.d.ts +1 -1
  1339. package/widgets/support/GoTo.d.ts +1 -1
  1340. package/widgets/support/SnappingControls/SnappingControlsViewModel.d.ts +1 -1
  1341. package/widgets/support/SnappingControls.d.ts +1 -1
  1342. package/widgets/support/TimePicker.d.ts +1 -1
  1343. package/widgets/support/TimePickerViewModel.d.ts +1 -1
  1344. package/widgets/support/widget.d.ts +1 -1
  1345. package/assets/esri/core/workers/chunks/09255015e57bdfa5337f.js +0 -1
  1346. package/assets/esri/core/workers/chunks/24ffd7180bb947bc8aec.js +0 -1
  1347. package/assets/esri/core/workers/chunks/2d6d089176b6bd490b9f.js +0 -1
  1348. package/assets/esri/core/workers/chunks/325f9eb52610c6c22f46.js +0 -1
  1349. package/assets/esri/core/workers/chunks/6a2358861b3d3007ad26.js +0 -1
  1350. package/assets/esri/core/workers/chunks/7230a7d5fb7106b14024.js +0 -1
  1351. package/assets/esri/core/workers/chunks/90dfa238d78c92fe43b1.js +0 -1
  1352. package/assets/esri/core/workers/chunks/a16109389dce496ab51c.js +0 -1
  1353. package/assets/esri/core/workers/chunks/bf248b08e18a50878f38.js +0 -1
  1354. package/assets/esri/core/workers/chunks/c9399a106dc167368a39.js +0 -1
  1355. package/assets/esri/core/workers/chunks/ceb68e994b82d69c1215.js +0 -1
  1356. package/assets/esri/core/workers/chunks/dbf72099949febfae5a1.js +0 -1
  1357. package/assets/esri/core/workers/chunks/e158ca25c239a5912ea0.js +0 -1
  1358. package/assets/esri/core/workers/chunks/ece3d9989c9ec13cae09.js +0 -1
  1359. package/assets/esri/core/workers/chunks/f6772f57bb1466e50d63.js +0 -1
  1360. package/chunks/MultipointDrawAction.js +0 -5
  1361. package/smartMapping/statistics/summaryStatisticsForBinning.js +0 -5
  1362. package/views/2d/draw/Draw.js +0 -5
  1363. package/views/2d/draw/DrawAction.js +0 -5
  1364. package/views/2d/draw/MultipointDrawAction.js +0 -5
  1365. package/views/2d/draw/PointDrawAction.js +0 -5
  1366. package/views/2d/draw/PolygonDrawAction.js +0 -5
  1367. package/views/2d/draw/PolylineDrawAction.js +0 -5
  1368. package/views/2d/draw/SegmentDrawAction.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.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import{removeUnordered as t}from"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import i from"../../../../../core/Evented.js";import{HandleOwner as a}from"../../../../../core/HandleOwner.js";import o from"../../../../../core/Handles.js";import{handlesGroup as n,destroyHandle as r}from"../../../../../core/handleUtils.js";import{destroyMaybe as s,isSome as l,isNone as p,unwrap as h,removeMaybe as d}from"../../../../../core/maybe.js";import{zeroMeters as u,scale as c,createLength as m}from"../../../../../core/quantityUtils.js";import{watch as g,when as _,initial as f}from"../../../../../core/reactiveUtils.js";import{getMetersPerUnitForSR as v}from"../../../../../core/unitUtils.js";import{property as M}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as y}from"../../../../../core/accessorSupport/decorators/subclass.js";import{I as O}from"../../../../../chunks/mat4f64.js";import{l as x,b,h as E,s as G,a as S,g as V}from"../../../../../chunks/vec3.js";import{f as I,c as T}from"../../../../../chunks/vec3f64.js";import w from"../../../../../geometry/Polyline.js";import{projectPoint as H}from"../../../../../geometry/support/plane.js";import{sv3d as A}from"../../../../../geometry/support/vectorStacks.js";import{makeDehydratedPoint as D}from"../../../../../layers/graphics/dehydratedFeatures.js";import{getGraphicEffectiveElevationInfo as L}from"../../../../../support/elevationInfoUtils.js";import{isVolumetricSymbol as P}from"../../../../../symbols/support/utils.js";import{Manipulator3D as j}from"../../Manipulator3D.js";import{createManipulatorMaterial as U,createManipulatorOutlineMaterial as k,placeAtGraphic as N}from"../../manipulatorUtils.js";import{SegmentLabels3D as C}from"../../SegmentLabels3D.js";import{SnappingVisualizer3D as R}from"../../SnappingVisualizer3D.js";import{screenToRenderPlaneFromEvent as F,convertToMapCoordinates as z,screenToMapXYAtLocation as X,screenToMapXYForGraphicAtLocation as Z}from"../dragEventPipeline3D.js";import{ManipulatorType as Y}from"../ManipulatorType.js";import{canMoveZ as q}from"../manipulatorUtils.js";import{settings as W,colors as K}from"../settings.js";import{createVisualElements as B}from"../visualElementUtils.js";import{DISC_RADIUS_SMALL as J}from"../manipulations/config.js";import{ManipulationType as Q,MoveManipulation as $}from"../manipulations/MoveManipulation.js";import{shapeOrientation as ee,axisConstrainedDragSign as te}from"../manipulations/moveUtils.js";import{MoveXYGraphicManipulation as ie}from"../manipulations/MoveXYGraphicManipulation.js";import{createEdgeOffsetIntersectionPlane as ae,createEdgeOffsetOperation as oe,edgeOffsetRotationMatrix as ne,screenEdgeLengthSquared as re}from"./edgeOffsetUtils.js";import{OutlineVisualElement as se}from"../../visualElements/OutlineVisualElement.js";import{GraphicState as le}from"../../../layers/graphics/GraphicState.js";import{createExtrudedTriangle as pe,createSphereGeometry as he}from"../../../webgl-engine/lib/GeometryUtil.js";import{MouseButton as de}from"../../../../input/IViewEvents.js";import{addMapDelta as ue,createManipulatorDragEventPipeline as ce,dragAtLocation as me,addScreenDelta as ge}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateFlags as _e,ManipulatorStateCustomFlags as fe}from"../../../../interactive/interfaces.js";import{EditGeometryOperations as ve}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as Me}from"../../../../interactive/editGeometry/interfaces.js";import{SnappingContext as ye}from"../../../../interactive/snapping/SnappingContext.js";import{SnappingPipeline as Oe}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{ReshapeEdgeOffsetTooltipInfo as xe}from"../../../../interactive/tooltip/ReshapeTooltipInfos.js";import{Tooltip as be}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicZTooltipInfo as Ee,TranslateGraphicXYTooltipInfo as Ge,TranslateGraphicTooltipInfo as Se,TranslateVertexZTooltipInfo as Ve,TranslateVertexXYTooltipInfo as Ie,TranslateVertexTooltipInfo as Te}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoAreaByElevationMode as we}from"../../../../support/automaticAreaMeasurementUtils.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as He,autoLengthByElevationMode as Ae}from"../../../../support/automaticLengthMeasurementUtils.js";import{verticalSignedDistanceBetweenPoints as De,elevationOfPoint as Le}from"../../../../support/euclideanLengthMeasurementUtils.js";import{geodesicDistance as Pe}from"../../../../support/geodesicLengthMeasurementUtils.js";let je=class extends(i.EventedMixin(a)){constructor(e){super(e),this._vertexManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.vertex.color),W.reshapeManipulators.vertex.renderOccluded),this._vertexManipulatorOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.vertex.outlineColor),W.reshapeManipulators.vertex.renderOccluded),this._vertexManipulatorHoverOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.vertex.hoverOutlineColor),W.reshapeManipulators.vertex.renderOccluded),this._edgeManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.edge.color),W.reshapeManipulators.edge.renderOccluded),this._edgeManipulatorOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.edge.outlineColor),W.reshapeManipulators.edge.renderOccluded),this._edgeOffsetManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.edgeOffset.color),W.reshapeManipulators.edgeOffset.renderOccluded,!1),this._edgeOffsetManipulatorHoverMaterial=U(W.colorToVec4(W.reshapeManipulators.edgeOffset.hoverColor),W.reshapeManipulators.edgeOffset.renderOccluded,!1),this._selectedManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.selected.color),W.reshapeManipulators.selected.renderOccluded),this._selectedManipulatorOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.selected.outlineColor),W.reshapeManipulators.selected.renderOccluded),this._selectedManipulatorHoverOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.selected.hoverOutlineColor),W.reshapeManipulators.selected.renderOccluded),this._selectedIndex=0,this._vertexManipulatorGeometry=null,this._vertexManipulatorOutlineGeometry=null,this._edgeManipulatorGeometry=null,this._edgeManipulatorOutlineGeometry=null,this._edgeOffsetManipulatorGeometryInside=null,this._edgeOffsetManipulatorGeometryOutside=null,this._manipulatorHandles=new o,this._manipulatorInfos=[],this._editGeometryOperations=null,this._numGrabbing=0,this._numDragging=0,this._reshapeEventState=ze.NONE,this._outlineVisualElement=null,this._segmentLabels=null,this.outputGeometry=null,this._snappingPipeline=new Oe,this._snappingPipelineHandle=new Oe,this._vertexLaserLineVisualElement=null}initialize(){const{graphic:e,view:t}=this,i=this._graphicState=new le({graphic:e});this._tooltip=new be({view:t}),this.addHandles([g((()=>i.displaying),(e=>{for(const t of this._manipulatorInfos)t.manipulator.available=e})),g((()=>({labels:this._segmentLabels,enabled:this._labelOptions.enabled,edgeOffsetEnabled:this.enableEdgeOffset})),(({labels:e,enabled:t,edgeOffsetEnabled:i})=>{l(e)&&(e.visible=t,e.edgeDistance=i?"far":"default")}),f),_((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),f),this.view.trackGraphicState(i)])}destroy(){this._segmentLabels=s(this._segmentLabels),this._tooltip=s(this._tooltip),this._removeManipulators()}get inputGeometry(){return l(this._editGeometryOperations)?this._editGeometryOperations.data.geometry:null}set inputGeometry(e){this._recreateEditGeometryAndManipulators(e)}get updating(){return this.updatingHandles.updating}get manipulators(){return this.tool.manipulators}get view(){return this.tool.view}get graphic(){return this.tool.graphic}get enableZShape(){return this.tool.enableZShape}get enableZVertex(){return this.tool.enableZVertex}get enableMoveGraphic(){return this.tool.enableMoveGraphic}get enableMidpoints(){return this.tool.enableMidpoints}get enableEdgeOffset(){return this.tool.enableEdgeOffset}get _labelOptions(){return this.tool.labelOptions}get _tooltipOptions(){return this.tool.tooltipOptions}removeSelectedVertices(){const e=this._manipulatorInfos.filter((e=>e.manipulator.selected&&"vertex"===e.type));this._removeVertices(e)}onManipulatorSelectionChanged(){this.emit("manipulators-changed")}_removeManipulators(){this._manipulatorHandles.removeAll(),this._moveManipulation=s(this._moveManipulation),this._graphicMoveManipulation=s(this._graphicMoveManipulation),this.manipulators.removeAll(),this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0}_createManipulators(){if(p(this._editGeometryOperations))return;const e=L(this.graphic);for(const t of this._editGeometryOperations.data.components){for(const i of t.vertices)this._createVertexOrEdgeManipulator(i,e);for(const i of t.edges)this._createVertexOrEdgeManipulator(i,e)}this._createGraphicMoveManipulation(),this._createMoveManipulation(e),this._createVisualElements()}get canRedo(){return l(this._editGeometryOperations)&&this._editGeometryOperations.canRedo}get canUndo(){return l(this._editGeometryOperations)&&this._editGeometryOperations.canUndo}redo(){if(p(this._editGeometryOperations))return null;const e=this._editGeometryOperations.redo();return l(e)&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}undo(){if(p(this._editGeometryOperations))return null;this.emit("undo");const e=this._editGeometryOperations.undo();return l(e)&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}_recreateManipulators(){this._removeManipulators(),this._tooltip.clear(),this._createManipulators()}_recreateEditGeometryAndManipulators(e=this.inputGeometry){this._removeManipulators(),this._tooltip.clear(),p(e)||(s(this._editGeometryOperations),this._editGeometryOperations=ve.fromGeometry(e,this.view.state.viewingMode),this._createManipulators(),s(this._segmentLabels),this._segmentLabels=new C({context:{view:this.view,editGeometryOperations:this._editGeometryOperations,elevationInfo:L(this.graphic),labelOptions:this._labelOptions,graphic:this.graphic,graphicState:this._graphicState},visible:this._labelOptions.enabled}))}_perGraphicManipulatorDragAction(e,t){if("end"===t.action)return t;let i=0;const a=[],o=this._manipulatorInfos.some((e=>"vertex"===e.type&&e.manipulator.selected)),n=e===Xe.SELECTED_OR_ALL&&o;for(const r of this._manipulatorInfos)"vertex"===r.type&&(r.manipulator.grabbing||n&&!r.manipulator.selected||a.push(r),i++);if(0===a.length)return t;this._moveVertices(a,t);if(a.length===i){if(this._updateEventState(ze.MOVING),this.destroyed)return t;this.emit("move",{type:"move",dx:t.screenDeltaX,dy:t.screenDeltaY,mover:this.graphic})}else{if(this._updateEventState(ze.RESHAPING),this.destroyed)return t;this.emit("reshape",{type:"reshape",mover:this.graphic})}return t}_isMultiVertexSelection(){let e=0;for(const t of this._manipulatorInfos)"vertex"===t.type&&t.manipulator.selected&&e++;return e>1}_perVertexManipulatorDragAction(e){if(this._updateEventState(ze.RESHAPING),this.destroyed)return;const{mapDeltaX:t,mapDeltaY:i,mapDeltaZ:a}=e;if(!t&&!i&&!a)return;const o=[];for(const n of this._manipulatorInfos)"vertex"===n.type&&(n.manipulator.selected&&!n.manipulator.grabbing||n===e.info)&&o.push(n);this._moveVertices(o,e,Me.ACCUMULATE_STEPS),this.emit("reshape",{type:"reshape",mover:this.graphic})}_updateEventState(e){if(e===this._reshapeEventState)return!1;switch(e){case ze.NONE:if(0!==this._numGrabbing||0!==this._numDragging)return!1;switch(this._reshapeEventState){case ze.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic});break;case ze.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic})}break;case ze.MOVING:switch(this._reshapeEventState){case ze.NONE:this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic});break;case ze.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic}),this.destroyed||this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic})}break;case ze.RESHAPING:switch(this._reshapeEventState){case ze.NONE:this.emit("reshape",{type:"reshape-start",mover:this.graphic});break;case ze.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic}),this.destroyed||this.emit("reshape",{type:"reshape-start",mover:this.graphic})}}if(this.destroyed)return!1;const t=this._reshapeEventState!==e;return this._reshapeEventState=e,t}_createGraphicMoveManipulation(){const{tool:e,view:t}=this,i=this._graphicState;if(this._graphicMoveManipulation=new ie({tool:e,view:t,graphicState:i}),this.enableMoveGraphic){let e=null;this._manipulatorHandles.add(this._graphicMoveManipulation.createDragPipeline(((t,i,a)=>{i.next((e=>this._trackNumDragging(e))).next((t=>("start"===t.action&&(e=h(this._editGeometryOperations).createUndoGroup()),t))).next((e=>this._perGraphicManipulatorDragAction(Xe.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(Q.XY,e),e))).next((t=>{"end"===t.action&&(this._tooltip.clear(),e=d(e))})),a.next((()=>this._onDragCancel(!0,(()=>e=d(e)))))}))),this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(this._watchAndUpdateGrabState(e,!1))))}else this._graphicMoveManipulation.forEachManipulator((e=>{e.grabbable=!1,e.cursor=null}));this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(e.events.on("immediate-click",(e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()})))))}_createMoveManipulation(e){const{graphic:t,handles:i,tool:a,view:o}=this,n=this._graphicState;this._moveManipulation=new $({tool:a,view:o,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZShape&&q(t),snapToScene:!1,radius:$.radiusForSymbol(t.symbol)}),this._moveManipulation.forEachManipulator((e=>i.add([e.events.on("immediate-click",(i=>{this._moveManipulation.zManipulation.hasManipulator(e)||this._manipulatorInfos.some((e=>e.manipulator.selected))||this.emit("immediate-click",{...i,graphic:t}),i.stopPropagation()})),this._watchAndUpdateGrabState(e,!1)])));const r=e=>t=>{i.add(t.events.on("focus-changed",(({action:t})=>{"focus"===t&&this._tooltipOptions.enabled?this._updateTranslateTooltip(e):this._tooltip.clear()})))};this._moveManipulation.xyManipulation.forEachManipulator(r(Q.XY)),this._moveManipulation.xyAxisManipulation.forEachManipulator(r(Q.XY_AXIS)),this._moveManipulation.zManipulation.forEachManipulator(r(Q.Z)),this._moveManipulation.elevationInfo={mode:"absolute-height",offset:0};const s=h(t.geometry).spatialReference;i.add([this._moveManipulation.createDragPipeline(((i,o,n,r,s)=>{const l=n.next((e=>this._trackNumDragging(e))).next((e=>{const t=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));return e.manipulatorType===Y.TRANSLATE_XY&&1===t.length?{...e,info:t[0],snapOrigin:t[0].handle.pos}:e})).next(this._snappingPipelineHandle.createSnapDragEventPipelineStep({predicate:e=>!!e.info,cancel:r,snappingManager:a.snappingManager,snappingContext:new ye({editGeometryOperations:h(this._editGeometryOperations),elevationInfo:e,pointer:s,excludeFeature:t,visualizer:new R}),updatingHandles:this.updatingHandles,useZ:!1}),this._snappingPipelineHandle.next).next(ue()).next((e=>this._perGraphicManipulatorDragAction(Xe.SELECTED_OR_ALL,e))).next((e=>(this._updateTranslateTooltip(i,e),e)));return r.next((()=>this._onDragCancel())),l}),e,s,t),g((()=>n.displaying),(()=>{this._updateMoveManipulationPosition()}),f),n.on("changed",(()=>this._updateMoveManipulationPosition())),g((()=>n.isDraped),(e=>{this._updateMoveManipulationPosition();const t="align-move-manipulation";e?i.add(this.view.elevationProvider.on("elevation-change",(()=>this._updateMoveManipulationPosition())),t):i.remove(t)}),f)])}_createVisualElements(){const{graphic:e,view:t}=this,i=B({view:t,graphic:e,forEachManipulator:e=>{if(!this.destroyed){this._graphicMoveManipulation.forEachManipulator(e),this._moveManipulation.forEachManipulator(e);for(const t of this._manipulatorInfos)e(t.manipulator,Y.TRANSLATE_XY)}},onManipulatorsChanged:e=>this.on("manipulators-changed",e)});l(i)&&(this._outlineVisualElement=i.visualElement instanceof se?i.visualElement:null),l(this._outlineVisualElement)&&this._manipulatorHandles.add(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>{this._graphicState.isDraped||this._updateMoveManipulationPosition()}))),this._manipulatorHandles.add(i)}_createEdgeOffsetManipulator(e,t=L(this.graphic)){const i=W.reshapeManipulators.edgeOffset,a=i.size/2,o=a+i.collisionPadding;if(p(this._edgeOffsetManipulatorGeometryInside)||p(this._edgeOffsetManipulatorGeometryOutside)){const e=a/o,t=e*Math.sqrt(3)/2;this._edgeOffsetManipulatorGeometryInside=pe(t,e/2,e/2,i.height,i.offset),this._edgeOffsetManipulatorGeometryOutside=pe(-t,e/2,e/2,i.height,-i.offset)}const r=[{geometry:this._edgeOffsetManipulatorGeometryInside,material:this._edgeOffsetManipulatorMaterial,stateMask:_e.Unfocused},{geometry:this._edgeOffsetManipulatorGeometryInside,material:this._edgeOffsetManipulatorHoverMaterial,stateMask:_e.Focused},{geometry:this._edgeOffsetManipulatorGeometryOutside,material:this._edgeOffsetManipulatorMaterial,stateMask:_e.Unfocused},{geometry:this._edgeOffsetManipulatorGeometryOutside,material:this._edgeOffsetManipulatorHoverMaterial,stateMask:_e.Focused}],s=new j({view:this.view,renderObjects:r,elevationInfo:"on-the-ground"!==t.mode||P(this.graphic.symbol)?{mode:"absolute-height",offset:0}:t,worldOriented:!1,focusMultiplier:1,radius:o,available:!(!this.graphic.visible||!this.graphic.layer.visible),collisionType:{type:"disc",direction:I(0,0,1)},collisionPriority:1,metadata:{deleting:!1}}),h=new j({view:this.view,renderObjects:[],worldSized:!0,worldOriented:!1,available:!(!this.graphic.visible||!this.graphic.layer.visible),collisionPriority:-10,cursor:this.enableMoveGraphic?"move":"default",metadata:{deleting:!1}}),d={manipulator:s,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0,edgeManipulator:h,elevationInfo:t,visibilityHandle:null};this._autoHideEdgeOffsetManipulator(d,i.minSquaredEdgeLength),this._updateEdgeOffsetManipulator(d);const u=[];for(const n of[d.handle.leftVertex,d.handle.rightVertex]){const e=this._getManipulatorInfoFromHandle(n);l(e)&&u.push(e.manipulator.events.on("location-update",(()=>this._updateEdgeOffsetManipulator(d))))}d.locationUpdateHandle=n(u),this._manipulatorHandles.add(d.locationUpdateHandle,s),this._manipulatorHandles.add([this._watchAndUpdateGrabState(s,!0),this._watchAndUpdateGrabState(h,!0)],s),this._manipulatorHandles.add(ce(s,this._createEdgeOffsetPipeline(d,t)),s),this._manipulatorHandles.add(ce(h,((e,i,a,o)=>{if("touch"===o){this._createEdgeOffsetPipeline(d,t)(e,i,a)}else if(this.enableMoveGraphic){const o=this.graphic,n=l(o.geometry)?o.geometry.spatialReference:null;i.next((e=>this._trackNumDragging(e))).next(me(this.view,e.elevationAlignedLocation)).next(X(this.view,e.elevationAlignedLocation,t,n,o)).next(ge()).next(ue()).next((e=>this._perGraphicManipulatorDragAction(Xe.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(Q.XY,e),e))).next((e=>{"end"===e.action&&this._tooltip.clear()})),a.next((()=>this._onDragCancel(!e.metadata.deleting)))}})),s);const c=e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()};return this._manipulatorHandles.add([s.events.on("immediate-click",c),h.events.on("immediate-click",c),s.events.on("focus-changed",(({action:e})=>{const t=this._tooltipOptions;if("focus"===e&&t.enabled){const e=this._tooltip.info=new xe({tooltipOptions:t});this._updateTooltipAreaOrTotalLength(e)}else this._tooltip.clear()}))],s),this._manipulatorInfos.push(d),this.manipulators.add(s),this.manipulators.add(h),this.emit("manipulators-changed"),d}_autoHideEdgeOffsetManipulator(e,t){const i=e.manipulator,a=e.edgeManipulator,o=()=>{e.visibilityHandle=d(e.visibilityHandle);const o=this._getManipulatorInfoFromHandle(e.handle.leftVertex),r=this._getManipulatorInfoFromHandle(e.handle.rightVertex),s=l(o)&&l(r)&&re(o.manipulator.renderLocation,r.manipulator.renderLocation,this.view.state.camera)<t;(!i.focused&&!a.focused||s)&&(i.grabbable=!s,a.grabbable=!s,e.visibilityHandle=n([i.disableDisplay(),{remove:()=>{i.grabbable=!0,a.grabbable=this.enableMoveGraphic}}]))};this._manipulatorHandles.add([i.events.on("focus-changed",o),a.events.on("focus-changed",o),{remove:()=>{d(e.visibilityHandle),a.metadata.deleting=!0,this.manipulators.remove(a)}}],i),o()}_updateEdgeOffsetManipulator(e){this._updateManipulatorPosition(e);const{coordinateHelper:t}=h(this._editGeometryOperations).data,i=ae(this.view,e.manipulator.elevationAlignedLocation,oe(t,e.handle,h(e.manipulator.elevationInfo))),a=this._getManipulatorInfoFromHandle(e.handle.leftVertex),o=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(p(a)||p(o))return;const n=a.manipulator.renderLocation,r=o.manipulator.renderLocation,s=l(i)?ne(i,n,r):O;e.manipulator.modelTransform=s,e.edgeManipulator.elevationAlignedLocation=e.manipulator.elevationAlignedLocation,e.edgeManipulator.modelTransform=s;const d=x(b(Ce,n,r))/2;e.edgeManipulator.collisionType={type:"line",paths:[[[-d,0,0],[d,0,0]]]}}_createEdgeOffsetPipeline(e,t){return(i,a,o)=>{this._clearSelection();const{step:n,cleanup:r}=this._initializeEdgeOffset(e,t);a.next((e=>this._trackNumDragging(e))).next(me(this.view,i.elevationAlignedLocation)).next(n).next(F(this.view)).next(z(this.view,h(this._editGeometryOperations).data.spatialReference)).next(ue()).next(this._applyComputeEdgeOffsetDistanceStep()).next(this._applyEdgeOffsetStep(e)).next(this._showEdgeOffsetTooltip()).next((e=>{"end"===e.action&&r()})),o.next((()=>{i.metadata.deleting||(r(),this._onDragCancel())}))}}_initializeEdgeOffset(e,t){const i=h(this._editGeometryOperations),a=oe(i.data.coordinateHelper,e.handle,t),o=i.createUndoGroup(),s=ae(this.view,e.manipulator.elevationAlignedLocation,a);if(a.requiresSplitEdgeLeft){const t=this._getManipulatorInfoFromHandle(e.handle.leftVertex.leftEdge);l(t)&&this._splitEdgeManipulator(t,1)}if(a.requiresSplitEdgeRight){const t=this._getManipulatorInfoFromHandle(e.handle.rightVertex.rightEdge);l(t)&&this._splitEdgeManipulator(t,0)}const u=()=>new w({paths:[[e.handle.leftVertex.pos,e.handle.rightVertex.pos]],spatialReference:i.data.spatialReference}),c=new se({view:this.view,isDraped:this._graphicState.isDraped,geometry:u(),elevationInfo:e.elevationInfo,width:W.visualElements.lineGraphics.outline.width,color:W.colorToVec4(K.main),attached:!0});let m;const _=()=>{this._cleanEdgeOffsetCollapsedEdges(e),m=d(m)},f=this.on("undo",_);return m=n([r(c),g((()=>this._graphicState.isDraped),(e=>c.isDraped=e)),this._graphicState.on("changed",(()=>c.geometry=u())),o,f]),{step:e=>p(a)||p(s)?(_(),null):{...e,operation:a,plane:s},cleanup:_}}_applyEdgeOffsetStep(e){return t=>{if(this.destroyed||p(t.operation))return t;this._updateEventState(ze.RESHAPING);const{mapDeltaX:i,mapDeltaY:a,mapDeltaZ:o}=t;return(i||a||o)&&(this._offsetEdge(e,t),this.emit("reshape",{type:"reshape",mover:this.graphic})),t}}_applyComputeEdgeOffsetDistanceStep(){return e=>{const{operation:t,mapEnd:i}=e;return p(t)||p(i)?e:("start"===e.action&&t.selectArrowFromStartPoint(i),{...e,signedDistance:t.signedDistanceToPoint(i)})}}_showEdgeOffsetTooltip(){return e=>{const{mapEnd:t,signedDistance:i,operation:a}=e,o=this._tooltip,n=this._tooltipOptions;if(!n.enabled||p(i))return o.clear(),e;let r=o.info;(p(r)||"reshape-edge-offset"!==r.type)&&(r=o.info=new xe({tooltipOptions:n}));const{coordinateHelper:s}=h(this._editGeometryOperations).data;return r.distance="end"===e.action?u:ke(this._graphicState.isDraped,i*a.selectedArrow,t,a.plane,s),this._updateTooltipAreaOrTotalLength(r),e}}_cleanEdgeOffsetCollapsedEdges(e){const t=e.handle.leftVertex.leftEdge?.leftVertex,i=e.handle.leftVertex,a=e.handle.rightVertex.rightEdge?.rightVertex,o=e.handle.rightVertex,n=h(this._editGeometryOperations).data.coordinateHelper,r=[];if(t&&n.distance(t.pos,i.pos)<Re){const e=this._getManipulatorInfoFromHandle(i);l(e)&&r.push(e)}if(n.distance(i.pos,o.pos)<Re||a&&n.distance(a.pos,o.pos)<Re){const e=this._getManipulatorInfoFromHandle(o);l(e)&&r.push(e)}r.length&&this._removeVertices(r)}_computeVertexManipulatorSizeAndOutline(e){const t=e.size/2,i=t+e.collisionPadding;return{size:t/i,outlineSize:(t+e.outlineSize)/i}}_createVertexOrEdgeManipulator(e,t=L(this.graphic)){if("edge"===e.type){if(this.enableEdgeOffset)return this._createEdgeOffsetManipulator(e,t);if(!this.enableMidpoints)return null}if(p(this._vertexManipulatorGeometry)||p(this._vertexManipulatorOutlineGeometry)){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(W.reshapeManipulators.vertex);this._vertexManipulatorGeometry=he(e,16,16),this._vertexManipulatorOutlineGeometry=he(t,16,16)}if(p(this._edgeManipulatorGeometry)||p(this._edgeManipulatorOutlineGeometry)){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(W.reshapeManipulators.edge);this._edgeManipulatorGeometry=he(e,16,16),this._edgeManipulatorOutlineGeometry=he(t,16,16)}const i=l(this.graphic.geometry)&&"point"===this.graphic.geometry.type?[]:[{geometry:this._vertexManipulatorGeometry,material:this._vertexManipulatorMaterial,stateMask:Fe.Vertex|_e.Unselected},{geometry:this._vertexManipulatorOutlineGeometry,material:this._vertexManipulatorOutlineMaterial,stateMask:Fe.Vertex|_e.Unfocused|_e.Unselected},{geometry:this._vertexManipulatorOutlineGeometry,material:this._vertexManipulatorHoverOutlineMaterial,stateMask:Fe.Vertex|_e.Focused|_e.Unselected},{geometry:this._vertexManipulatorGeometry,material:this._selectedManipulatorMaterial,stateMask:_e.Selected},{geometry:this._vertexManipulatorOutlineGeometry,material:this._selectedManipulatorOutlineMaterial,stateMask:_e.Selected|_e.Unfocused},{geometry:this._vertexManipulatorOutlineGeometry,material:this._selectedManipulatorHoverOutlineMaterial,stateMask:_e.Selected|_e.Focused}];this.enableMidpoints&&i.push({geometry:this._edgeManipulatorGeometry,material:this._vertexManipulatorMaterial,stateMask:Fe.Edge|_e.Focused|_e.Unselected},{geometry:this._edgeManipulatorOutlineGeometry,material:this._vertexManipulatorHoverOutlineMaterial,stateMask:Fe.Edge|_e.Focused|_e.Unselected},{geometry:this._edgeManipulatorGeometry,material:this._edgeManipulatorMaterial,stateMask:Fe.Edge|_e.Unfocused|_e.Unselected},{geometry:this._edgeManipulatorOutlineGeometry,material:this._edgeManipulatorOutlineMaterial,stateMask:Fe.Edge|_e.Unfocused|_e.Unselected});const a=new j({view:this.view,renderObjects:i,elevationInfo:t,focusMultiplier:1,touchMultiplier:1,available:!(!this.graphic.visible||!this.graphic.layer.visible),metadata:{deleting:!1}});this._setTypeSpecificManipulatorSettings(a,e,t);const o="edge"===e.type?{manipulator:a,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0}:{manipulator:a,handle:e,type:"vertex",selectedIndex:0};if(this._manipulatorInfos.push(o),this.manipulators.add(a),this._updateManipulatorPosition(o),"edge"===o.type){const e=[];for(const t of[o.handle.leftVertex,o.handle.rightVertex]){const i=this._getManipulatorInfoFromHandle(t);l(i)&&e.push(i.manipulator.events.on("location-update",(()=>this._updateManipulatorPosition(o))))}o.locationUpdateHandle=n(e),this._manipulatorHandles.add(o.locationUpdateHandle,a)}this._manipulatorHandles.add(this._watchAndUpdateGrabState(a,!0),a);const r=ce(a,((e,i,a,n)=>{let r=null;i.next((e=>this._trackNumDragging(e))).next((e=>{if("start"===e.action&&(r=h(this._editGeometryOperations).createUndoGroup()),"edge"===o.type){const t=this._splitEdgeManipulator(o);return{...e,info:t,snapOrigin:t.handle.pos}}return{...e,info:o,snapOrigin:o.handle.pos}})).next(me(this.view,e.elevationAlignedLocation)).next(Z(this.view,this.graphic,e.elevationAlignedLocation,e.location.spatialReference,this.graphic)).next(this._snappingPipeline.createSnapDragEventPipelineStep({predicate:()=>!this._isMultiVertexSelection(),cancel:a,snappingManager:this.tool.snappingManager,snappingContext:new ye({editGeometryOperations:h(this._editGeometryOperations),elevationInfo:t,pointer:n,excludeFeature:this.graphic,visualizer:new R}),updatingHandles:this.updatingHandles,useZ:!1}),this._snappingPipeline.next).next(ue()).next((t=>{this._perVertexManipulatorDragAction(t),"end"===t.action&&(r=d(r)),this._updateTranslateVertexTooltip(e,Q.XY,t)})),a.next((()=>this._onDragCancel(!e.metadata.deleting,(()=>r=d(r)))))}));return this._manipulatorHandles.add([r,a.events.on("immediate-click",(e=>this._manipulatorClickCallback(e,o))),a.events.on("select-changed",(()=>{o.selectedIndex=++this._selectedIndex,this._updateMoveManipulationPosition()})),a.events.on("focus-changed",(({action:e})=>{"focus"===e&&"edge"!==o.type?this._updateTranslateVertexTooltip(a,Q.XY):this._tooltip.clear()}))],a),this.emit("manipulators-changed"),o}_trackNumDragging(e){switch(e.action){case"start":this._numDragging++;break;case"end":this._numDragging--}return e}_onDragCancel(e=!0,t){switch(this._numDragging--,e&&(this.undo(),this.outputGeometry=l(this._editGeometryOperations)?this._editGeometryOperations.data.geometry:null),l(this.tool.snappingManager)&&this.tool.snappingManager.doneSnapping(),this._tooltip.clear(),this._reshapeEventState){case ze.NONE:break;case ze.MOVING:this.emit("move",{type:"move",dx:0,dy:0,mover:this.graphic});break;case ze.RESHAPING:this.emit("reshape",{type:"reshape",mover:this.graphic})}t&&t(),this.destroyed||this._updateEventState(ze.NONE)}_setTypeSpecificManipulatorSettings(e,t,i){switch(t.type){case"vertex":e.state=Fe.Vertex,e.selectable=!0,e.cursor="move",e.collisionPriority=2,e.radius=W.reshapeManipulators.vertex.size/2+W.reshapeManipulators.vertex.collisionPadding,e.elevationInfo=i,e.interactive=l(this.graphic.geometry)&&"point"!==this.graphic.geometry.type;break;case"edge":e.state=Fe.Edge,e.selectable=!1,e.cursor="copy",e.collisionPriority=-1,e.radius=W.reshapeManipulators.edge.size/2+W.reshapeManipulators.edge.collisionPadding,e.elevationInfo="on-the-ground"!==i.mode||P(this.graphic.symbol)?{mode:"absolute-height",offset:0}:i}}_watchAndUpdateGrabState(e,t){return e.events.on("grab-changed",(i=>this._onGrabStateChanged(e,t,i.action,i.pointerType)))}_onGrabStateChanged(e,t,i,a="mouse"){if("start"===i)t&&this._updateSelection(e),this._numGrabbing++;else if(this._numGrabbing--,this._updateEventState(ze.NONE),this.destroyed)return;this._moveManipulation.interactive=!this._numGrabbing,("touch"!==a||this.enableEdgeOffset)&&(this._manipulatorInfos.forEach((e=>{e.manipulator.interactive=e.manipulator.grabbing||!this._numGrabbing&&l(this.graphic.geometry)&&"point"!==this.graphic.geometry.type,"edgeManipulator"in e&&(e.edgeManipulator.interactive=e.edgeManipulator.grabbing||!this._numGrabbing)})),this._graphicMoveManipulation.forEachManipulator((e=>{e.interactive=e.grabbing||!this._numGrabbing})))}_clearSelection(){for(const e of this._manipulatorInfos)e.manipulator.grabbing||(e.manipulator.selected=!1)}_updateSelection(e){e.grabbing&&!e.selected&&e.selectable&&(this._clearSelection(),e.selected=!0,this.emit("manipulators-changed"))}_removeManipulator(e){p(e)||(e.manipulator.metadata.deleting=!0,this.manipulators.remove(e.manipulator),this._manipulatorHandles.remove(e.manipulator),t(this._manipulatorInfos,e),this.emit("manipulators-changed"))}_getManipulatorInfoFromHandle(e){if(e)for(const t of this._manipulatorInfos)if(e===t.handle)return t;return null}_updateManipulatorPosition(e){if(p(e))return;const t=h(this._editGeometryOperations);if("vertex"===e.type)e.manipulator.location=t.data.coordinateHelper.vectorToDehydratedPoint(e.handle.pos,Ne),e.manipulator.grabbing&&l(this._vertexLaserLineVisualElement)&&(this._vertexLaserLineVisualElement.visualElement.intersectsWorldUpAtLocation=e.manipulator.renderLocation);else if("edge"===e.type){const i=this._getManipulatorInfoFromHandle(e.handle.leftVertex),a=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(p(i)||p(a))return;const o=i.manipulator,n=a.manipulator;if(l(e.manipulator.elevationInfo)&&"on-the-ground"===e.manipulator.elevationInfo.mode){const i=o.location,a=n.location,r=.5,s=i.x+r*(a.x-i.x),l=i.y+r*(a.y-i.y),p=i.hasZ&&a.hasZ?0:void 0;e.manipulator.location=D(s,l,p,t.data.spatialReference)}else E(Ce,o.renderLocation,n.renderLocation,.5),e.manipulator.renderLocation=Ce}}_splitEdgeManipulator(e,t=.5){const i=h(this._editGeometryOperations),a=h(i.splitEdge(e.handle,t).createdVertex);e.locationUpdateHandle.remove(),e.locationUpdateHandle=void 0;const o=L(this.graphic);let n;this.enableEdgeOffset?(this._removeManipulator(e),n=this._createVertexOrEdgeManipulator(a)):(n=e,n.handle=a,n.type="vertex",this._setTypeSpecificManipulatorSettings(e.manipulator,e.handle,o)),a.leftEdge&&this._createVertexOrEdgeManipulator(a.leftEdge),a.rightEdge&&this._createVertexOrEdgeManipulator(a.rightEdge),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(n),this.enableEdgeOffset||this._updateTranslateVertexTooltip(n.manipulator,Q.XY),this._updateSelection(e.manipulator);const r=this._updateEventState(ze.RESHAPING),s=i.data.coordinateHelper.vectorToArray(n.handle.pos),l=i.data.components.indexOf(a.component);return this.emit("vertex-add",{type:"vertex-add",vertices:[{coordinates:s,componentIndex:l,vertexIndex:h(a.index)}],added:s}),r&&this._updateEventState(ze.NONE),n}_updateMoveManipulationPosition(){const e=G(Ce,0,0,0);let t=0,i=!1,a=null,o=null;for(const n of this._manipulatorInfos)"vertex"===n.type&&(n.manipulator.selected?(t++,S(e,e,n.manipulator.renderLocation),p(a)||n.selectedIndex>a.selectedIndex?(o=a,a=n):(p(o)||n.selectedIndex>o.selectedIndex)&&(o=n)):i=!0);if(0!==t){const e=this._graphicState.displaying;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.zManipulation.available=e&&this.enableZVertex&&q(this.graphic),this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e&&1!==t}else{const e=this._graphicState.displaying&&this.enableMoveGraphic;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e,this._moveManipulation.zManipulation.available=e&&this.enableZShape&&q(this.graphic)}if(0!==t){let e=0;if(l(a)){const t=a.handle.pos,i=l(o)?o.handle.pos:a.handle.leftEdge&&a.handle.leftEdge.leftVertex?a.handle.leftEdge.leftVertex.pos:null,n=p(o)&&a.handle.rightEdge&&a.handle.rightEdge.rightVertex?a.handle.rightEdge.rightVertex.pos:null;i&&n?this._moveManipulation.xyAxisManipulation.available=!1:i?e=Ue(i,t):n&&(e=Ue(t,n))}this._moveManipulation.angle=e,this._moveManipulation.radius=J}else this._moveManipulation.angle=ee(h(this.graphic.geometry)),this._moveManipulation.radius=$.radiusForSymbol(this.graphic.symbol);0!==t&&i?(V(e,e,1/t),Ne.spatialReference=h(this._editGeometryOperations).data.spatialReference,Ne.hasZ=!0,this.view.renderCoordsHelper.fromRenderCoords(e,Ne),this._moveManipulation.elevationAlignedLocation=Ne):l(this._outlineVisualElement)&&!this._graphicState.isDraped&&l(this._outlineVisualElement.attachmentOrigin)?this._moveManipulation.elevationAlignedLocation=this._outlineVisualElement.attachmentOrigin:N(this.view,this._moveManipulation,this.graphic)}_removeVertices(e){const t=[],i=h(this._editGeometryOperations);for(const a of e)if("vertex"===a.type&&i.canRemoveVertex()){t.push(a.handle),this._removeManipulator(a),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.leftEdge)),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.rightEdge));const e=h(i.removeVertices([a.handle]).removedVertices[0].createdEdge);e&&this._createVertexOrEdgeManipulator(e)}if(t.length>0){const e=t.map((e=>{const t=i.data.components.indexOf(e.component);return{coordinates:i.data.coordinateHelper.vectorToArray(e.pos),componentIndex:t,vertexIndex:h(e.index)}}));this.outputGeometry=i.data.geometry;const a=this._updateEventState(ze.RESHAPING);if(this.destroyed)return;if(this.emit("vertex-remove",{type:"vertex-remove",removed:e.map((e=>e.coordinates)),vertices:e}),this.destroyed)return;if(a&&(this._updateEventState(ze.NONE),this.destroyed))return;this._updateMoveManipulationPosition()}}_moveVertices(e,t,i=("start"===t.action?Me.NEW_STEP:Me.ACCUMULATE_STEPS)){const a=h(this._editGeometryOperations);a.moveVertices(e.map((e=>e.handle)),t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i),this.outputGeometry=a.data.geometry;for(const o of e)this._updateManipulatorPosition(o)}_offsetEdge(e,t){if(p(t.operation)||p(t.signedDistance))return;const i=h(this._editGeometryOperations),a=t.operation.clone();a.distance=t.signedDistance,i.updateVertices([e.handle.leftVertex,e.handle.rightVertex],a),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.leftVertex)),this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.rightVertex))}_manipulatorClickCallback(e,t){e.shiftKey||this._clearSelection(),"vertex"===t.type&&(t.manipulator.selected=!t.manipulator.selected,e.button===de.Right&&this._removeVertices([t])),"edge"===t.type&&e.button===de.Left&&this._splitEdgeManipulator(t),e.stopPropagation()}_updateTranslateTooltip(e,t){const i=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));1===i.length?this._updateTranslateVertexTooltip(i[0].manipulator,e,t):this._updateTranslateGraphicTooltip(e,t)}_updateTranslateGraphicTooltip(e,t){const i=this._tooltipOptions;if(!i.enabled)return;const a=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(e){case Q.XY:this._tooltip.info=new Se({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,t)=>He(e,t,a)));break;case Q.XY_AXIS:this._tooltip.info=new Ge({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,i)=>{const o=He(e,i,a);return c(o,te(t))}));break;case Q.Z:this._tooltip.info=new Ee({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,De)}}_updateTranslateVertexTooltip(e,t,i){const a=this._tooltipOptions;if(!a.enabled)return;let o;const n=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(t){case Q.XY:o=new Te({tooltipOptions:a}),this._updateTranslateTooltipDistance(o,i,((e,t)=>He(e,t,n))),this._updateTooltipAreaOrTotalLength(o);break;case Q.XY_AXIS:o=new Ie({tooltipOptions:a}),this._updateTranslateTooltipDistance(o,i,((e,t)=>{const a=He(e,t,n);return c(a,te(i))})),this._updateTooltipAreaOrTotalLength(o);break;case Q.Z:o=new Ve({tooltipOptions:a}),this._updateTranslateTooltipDistance(o,i,De)}const r=Le(e.elevationAlignedLocation);l(r)&&(o.elevation={mode:"absolute-height",...r}),this._tooltip.info=o}_updateTranslateTooltipDistance(e,t,i){if(l(t)&&"end"!==t.action){const{mapStart:a,mapEnd:o}=t,n=i(a,o);e.distance=l(n)?n:u}}_updateTooltipAreaOrTotalLength(e){const{geometry:t}=this.graphic;if(p(t))return;const i=this._graphicState.isDraped?"on-the-ground":"absolute-height";e.area="polygon"===t.type?we(t,i):null,e.totalLength="polyline"===t.type?Ae(t,i):null}get test(){return{segmentLabels:this._segmentLabels,tooltip:this._tooltip}}};function Ue(e,t){return Math.atan2(t[1]-e[1],t[0]-e[0])+Math.PI/2}function ke(e,t,i,a,o){if(e){const e=o.toXYZ(o.pointToVector(i)),n=H(a,e,A.get()),r=Pe(n,e,o.spatialReference);if(l(r))return m(r.value*Math.sign(t),r.unit)}return m(t*v(i.spatialReference),"meters")}e([M()],je.prototype,"_segmentLabels",void 0),e([M({constructOnly:!0})],je.prototype,"tool",void 0),e([M()],je.prototype,"_tooltip",void 0),e([M()],je.prototype,"inputGeometry",null),e([M()],je.prototype,"outputGeometry",void 0),e([M({readOnly:!0})],je.prototype,"updating",null),e([M()],je.prototype,"manipulators",null),e([M()],je.prototype,"view",null),e([M()],je.prototype,"graphic",null),e([M()],je.prototype,"enableZShape",null),e([M()],je.prototype,"enableZVertex",null),e([M()],je.prototype,"enableMoveGraphic",null),e([M()],je.prototype,"enableMidpoints",null),e([M()],je.prototype,"enableEdgeOffset",null),e([M()],je.prototype,"_labelOptions",null),e([M()],je.prototype,"_tooltipOptions",null),je=e([y("esri.views.3d.interactive.editingTools.reshapeGraphic.ReshapeOperation")],je);const Ne=D(0,0,null,null),Ce=T(),Re=1e-6;var Fe,ze,Xe;!function(e){e.Vertex=fe.Custom1,e.Edge=fe.Custom2}(Fe||(Fe={})),function(e){e[e.NONE=0]="NONE",e[e.MOVING=1]="MOVING",e[e.RESHAPING=2]="RESHAPING"}(ze||(ze={})),function(e){e[e.ALL=0]="ALL",e[e.SELECTED_OR_ALL=1]="SELECTED_OR_ALL"}(Xe||(Xe={}));export{je as ReshapeOperation};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import{removeUnordered as t}from"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import i from"../../../../../core/Evented.js";import{HandleOwner as a}from"../../../../../core/HandleOwner.js";import o from"../../../../../core/Handles.js";import{handlesGroup as n,destroyHandle as r}from"../../../../../core/handleUtils.js";import{destroyMaybe as s,isSome as l,isNone as p,unwrap as h,removeMaybe as d}from"../../../../../core/maybe.js";import{zeroMeters as u,scale as c,createLength as m}from"../../../../../core/quantityUtils.js";import{watch as g,when as _,initial as f}from"../../../../../core/reactiveUtils.js";import{getMetersPerUnitForSR as v}from"../../../../../core/unitUtils.js";import{property as M}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as y}from"../../../../../core/accessorSupport/decorators/subclass.js";import{I as x}from"../../../../../chunks/mat4f64.js";import{l as O,b,h as E,s as G,a as S,g as V}from"../../../../../chunks/vec3.js";import{f as I,c as T}from"../../../../../chunks/vec3f64.js";import w from"../../../../../geometry/Polyline.js";import{projectPoint as H}from"../../../../../geometry/support/plane.js";import{sv3d as A}from"../../../../../geometry/support/vectorStacks.js";import{makeDehydratedPoint as D}from"../../../../../layers/graphics/dehydratedFeatures.js";import{getGraphicEffectiveElevationInfo as L}from"../../../../../support/elevationInfoUtils.js";import{isVolumetricSymbol as P}from"../../../../../symbols/support/utils.js";import{Manipulator3D as j}from"../../Manipulator3D.js";import{createManipulatorMaterial as U,createManipulatorOutlineMaterial as k,placeAtGraphic as N}from"../../manipulatorUtils.js";import{SegmentLabels3D as C}from"../../SegmentLabels3D.js";import{SnappingVisualizer3D as R}from"../../SnappingVisualizer3D.js";import{screenToRenderPlaneFromEvent as F,convertToMapCoordinates as z,screenToMapXYAtLocation as X,screenToMapXYForGraphicAtLocation as Z}from"../dragEventPipeline3D.js";import{ManipulatorType as Y}from"../ManipulatorType.js";import{canMoveZ as q}from"../manipulatorUtils.js";import{settings as W,colors as K}from"../settings.js";import{createVisualElements as B}from"../visualElementUtils.js";import{DISC_RADIUS_SMALL as J}from"../manipulations/config.js";import{ManipulationType as Q,MoveManipulation as $}from"../manipulations/MoveManipulation.js";import{shapeOrientation as ee,axisConstrainedDragSign as te}from"../manipulations/moveUtils.js";import{MoveXYGraphicManipulation as ie}from"../manipulations/MoveXYGraphicManipulation.js";import{createEdgeOffsetIntersectionPlane as ae,createEdgeOffsetOperation as oe,edgeOffsetRotationMatrix as ne,screenEdgeLengthSquared as re}from"./edgeOffsetUtils.js";import{OutlineVisualElement as se}from"../../visualElements/OutlineVisualElement.js";import{GraphicState as le}from"../../../layers/graphics/GraphicState.js";import{createExtrudedTriangle as pe,createSphereGeometry as he}from"../../../webgl-engine/lib/GeometryUtil.js";import{MouseButton as de}from"../../../../input/IViewEvents.js";import{sceneSnappingAtLocation as ue,addMapDelta as ce,createManipulatorDragEventPipeline as me,dragAtLocation as ge,addScreenDelta as _e}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateFlags as fe,ManipulatorStateCustomFlags as ve}from"../../../../interactive/interfaces.js";import{EditGeometryOperations as Me}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as ye}from"../../../../interactive/editGeometry/interfaces.js";import{SnappingContext as xe}from"../../../../interactive/snapping/SnappingContext.js";import{SnappingPipeline as Oe}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{ReshapeEdgeOffsetTooltipInfo as be}from"../../../../interactive/tooltip/ReshapeTooltipInfos.js";import{Tooltip as Ee}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicZTooltipInfo as Ge,TranslateGraphicXYTooltipInfo as Se,TranslateGraphicTooltipInfo as Ve,TranslateVertexZTooltipInfo as Ie,TranslateVertexXYTooltipInfo as Te,TranslateVertexTooltipInfo as we}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoAreaByElevationMode as He}from"../../../../support/automaticAreaMeasurementUtils.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as Ae,autoLengthByElevationMode as De}from"../../../../support/automaticLengthMeasurementUtils.js";import{verticalSignedDistanceBetweenPoints as Le,elevationOfPoint as Pe}from"../../../../support/euclideanLengthMeasurementUtils.js";import{geodesicDistance as je}from"../../../../support/geodesicLengthMeasurementUtils.js";let Ue=class extends(i.EventedMixin(a)){constructor(e){super(e),this._vertexManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.vertex.color),W.reshapeManipulators.vertex.renderOccluded),this._vertexManipulatorOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.vertex.outlineColor),W.reshapeManipulators.vertex.renderOccluded),this._vertexManipulatorHoverOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.vertex.hoverOutlineColor),W.reshapeManipulators.vertex.renderOccluded),this._edgeManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.edge.color),W.reshapeManipulators.edge.renderOccluded),this._edgeManipulatorOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.edge.outlineColor),W.reshapeManipulators.edge.renderOccluded),this._edgeOffsetManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.edgeOffset.color),W.reshapeManipulators.edgeOffset.renderOccluded,!1),this._edgeOffsetManipulatorHoverMaterial=U(W.colorToVec4(W.reshapeManipulators.edgeOffset.hoverColor),W.reshapeManipulators.edgeOffset.renderOccluded,!1),this._selectedManipulatorMaterial=U(W.colorToVec4(W.reshapeManipulators.selected.color),W.reshapeManipulators.selected.renderOccluded),this._selectedManipulatorOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.selected.outlineColor),W.reshapeManipulators.selected.renderOccluded),this._selectedManipulatorHoverOutlineMaterial=k(W.colorToVec4(W.reshapeManipulators.selected.hoverOutlineColor),W.reshapeManipulators.selected.renderOccluded),this._selectedIndex=0,this._vertexManipulatorGeometry=null,this._vertexManipulatorOutlineGeometry=null,this._edgeManipulatorGeometry=null,this._edgeManipulatorOutlineGeometry=null,this._edgeOffsetManipulatorGeometryInside=null,this._edgeOffsetManipulatorGeometryOutside=null,this._manipulatorHandles=new o,this._manipulatorInfos=[],this._editGeometryOperations=null,this._numGrabbing=0,this._numDragging=0,this._reshapeEventState=Xe.NONE,this._outlineVisualElement=null,this._segmentLabels=null,this.outputGeometry=null,this._snappingPipeline=new Oe,this._snappingPipelineHandle=new Oe,this._vertexLaserLineVisualElement=null}initialize(){const{graphic:e,view:t}=this,i=this._graphicState=new le({graphic:e});this._tooltip=new Ee({view:t}),this.addHandles([g((()=>i.displaying),(e=>{for(const t of this._manipulatorInfos)t.manipulator.available=e})),g((()=>({labels:this._segmentLabels,enabled:this._labelOptions.enabled,edgeOffsetEnabled:this.enableEdgeOffset})),(({labels:e,enabled:t,edgeOffsetEnabled:i})=>{l(e)&&(e.visible=t,e.edgeDistance=i?"far":"default")}),f),_((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),f),this.view.trackGraphicState(i)])}destroy(){this._segmentLabels=s(this._segmentLabels),this._tooltip=s(this._tooltip),this._removeManipulators()}get inputGeometry(){return l(this._editGeometryOperations)?this._editGeometryOperations.data.geometry:null}set inputGeometry(e){this._recreateEditGeometryAndManipulators(e)}get updating(){return this.updatingHandles.updating}get manipulators(){return this.tool.manipulators}get view(){return this.tool.view}get graphic(){return this.tool.graphic}get enableZShape(){return this.tool.enableZShape}get enableZVertex(){return this.tool.enableZVertex}get enableMoveGraphic(){return this.tool.enableMoveGraphic}get enableMidpoints(){return this.tool.enableMidpoints}get enableEdgeOffset(){return this.tool.enableEdgeOffset}get _labelOptions(){return this.tool.labelOptions}get _tooltipOptions(){return this.tool.tooltipOptions}removeSelectedVertices(){const e=this._manipulatorInfos.filter((e=>e.manipulator.selected&&"vertex"===e.type));this._removeVertices(e)}onManipulatorSelectionChanged(){this.emit("manipulators-changed")}_removeManipulators(){this._manipulatorHandles.removeAll(),this._moveManipulation=s(this._moveManipulation),this._graphicMoveManipulation=s(this._graphicMoveManipulation),this.manipulators.removeAll(),this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0}_createManipulators(){if(p(this._editGeometryOperations))return;const e=L(this.graphic);for(const t of this._editGeometryOperations.data.components){for(const i of t.vertices)this._createVertexOrEdgeManipulator(i,e);for(const i of t.edges)this._createVertexOrEdgeManipulator(i,e)}this._createGraphicMoveManipulation(),this._createMoveManipulation(e),this._createVisualElements()}get canRedo(){return l(this._editGeometryOperations)&&this._editGeometryOperations.canRedo}get canUndo(){return l(this._editGeometryOperations)&&this._editGeometryOperations.canUndo}redo(){if(p(this._editGeometryOperations))return null;const e=this._editGeometryOperations.redo();return l(e)&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}undo(){if(p(this._editGeometryOperations))return null;this.emit("undo");const e=this._editGeometryOperations.undo();return l(e)&&(this.outputGeometry=this._editGeometryOperations.data.geometry,this._recreateManipulators()),e}_recreateManipulators(){this._removeManipulators(),this._tooltip.clear(),this._createManipulators()}_recreateEditGeometryAndManipulators(e=this.inputGeometry){this._removeManipulators(),this._tooltip.clear(),p(e)||(s(this._editGeometryOperations),this._editGeometryOperations=Me.fromGeometry(e,this.view.state.viewingMode),this._createManipulators(),s(this._segmentLabels),this._segmentLabels=new C({context:{view:this.view,editGeometryOperations:this._editGeometryOperations,elevationInfo:L(this.graphic),labelOptions:this._labelOptions,graphic:this.graphic,graphicState:this._graphicState},visible:this._labelOptions.enabled}))}_perGraphicManipulatorDragAction(e,t){if("end"===t.action)return t;let i=0;const a=[],o=this._manipulatorInfos.some((e=>"vertex"===e.type&&e.manipulator.selected)),n=e===Ze.SELECTED_OR_ALL&&o;for(const r of this._manipulatorInfos)"vertex"===r.type&&(r.manipulator.grabbing||n&&!r.manipulator.selected||a.push(r),i++);if(0===a.length)return t;this._moveVertices(a,t);if(a.length===i){if(this._updateEventState(Xe.MOVING),this.destroyed)return t;this.emit("move",{type:"move",dx:t.screenDeltaX,dy:t.screenDeltaY,mover:this.graphic})}else{if(this._updateEventState(Xe.RESHAPING),this.destroyed)return t;this.emit("reshape",{type:"reshape",mover:this.graphic})}return t}_isMultiVertexSelection(){let e=0;for(const t of this._manipulatorInfos)"vertex"===t.type&&t.manipulator.selected&&e++;return e>1}_perVertexManipulatorDragAction(e){if(this._updateEventState(Xe.RESHAPING),this.destroyed)return;const{mapDeltaX:t,mapDeltaY:i,mapDeltaZ:a}=e;if(!t&&!i&&!a)return;const o=[];for(const n of this._manipulatorInfos)"vertex"===n.type&&(n.manipulator.selected&&!n.manipulator.grabbing||n===e.info)&&o.push(n);this._moveVertices(o,e,ye.ACCUMULATE_STEPS),this.emit("reshape",{type:"reshape",mover:this.graphic})}_updateEventState(e){if(e===this._reshapeEventState)return!1;switch(e){case Xe.NONE:if(0!==this._numGrabbing||0!==this._numDragging)return!1;switch(this._reshapeEventState){case Xe.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic});break;case Xe.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic})}break;case Xe.MOVING:switch(this._reshapeEventState){case Xe.NONE:this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic});break;case Xe.RESHAPING:this.emit("reshape",{type:"reshape-stop",mover:this.graphic}),this.destroyed||this.emit("move",{type:"move-start",dx:0,dy:0,mover:this.graphic})}break;case Xe.RESHAPING:switch(this._reshapeEventState){case Xe.NONE:this.emit("reshape",{type:"reshape-start",mover:this.graphic});break;case Xe.MOVING:this.emit("move",{type:"move-stop",dx:0,dy:0,mover:this.graphic}),this.destroyed||this.emit("reshape",{type:"reshape-start",mover:this.graphic})}}if(this.destroyed)return!1;const t=this._reshapeEventState!==e;return this._reshapeEventState=e,t}_createGraphicMoveManipulation(){const{tool:e,view:t}=this,i=this._graphicState;if(this._graphicMoveManipulation=new ie({tool:e,view:t,graphicState:i}),this.enableMoveGraphic){let e=null;this._manipulatorHandles.add(this._graphicMoveManipulation.createDragPipeline(((t,i,a)=>{i.next((e=>this._trackNumDragging(e))).next((t=>("start"===t.action&&(e=h(this._editGeometryOperations).createUndoGroup()),t))).next((e=>this._perGraphicManipulatorDragAction(Ze.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(Q.XY,e),e))).next((t=>{"end"===t.action&&(this._tooltip.clear(),e=d(e))})),a.next((()=>this._onDragCancel(!0,(()=>e=d(e)))))}))),this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(this._watchAndUpdateGrabState(e,!1))))}else this._graphicMoveManipulation.forEachManipulator((e=>{e.grabbable=!1,e.cursor=null}));this._graphicMoveManipulation.forEachManipulator((e=>this._manipulatorHandles.add(e.events.on("immediate-click",(e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()})))))}_createMoveManipulation(e){const{graphic:t,handles:i,tool:a,view:o}=this,n=this._graphicState;this._moveManipulation=new $({tool:a,view:o,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZShape&&q(t),snapToScene:!1,radius:$.radiusForSymbol(t.symbol)}),this._moveManipulation.forEachManipulator((e=>i.add([e.events.on("immediate-click",(i=>{this._moveManipulation.zManipulation.hasManipulator(e)||this._manipulatorInfos.some((e=>e.manipulator.selected))||this.emit("immediate-click",{...i,graphic:t}),i.stopPropagation()})),this._watchAndUpdateGrabState(e,!1)])));const r=e=>t=>{i.add(t.events.on("focus-changed",(({action:t})=>{"focus"===t&&this._tooltipOptions.enabled?this._updateTranslateTooltip(e):this._tooltip.clear()})))};this._moveManipulation.xyManipulation.forEachManipulator(r(Q.XY)),this._moveManipulation.xyAxisManipulation.forEachManipulator(r(Q.XY_AXIS)),this._moveManipulation.zManipulation.forEachManipulator(r(Q.Z)),this._moveManipulation.elevationInfo={mode:"absolute-height",offset:0};const s=h(t.geometry).spatialReference;i.add([this._moveManipulation.createDragPipeline(((i,o,n,r,s)=>{const l=n.next((e=>this._trackNumDragging(e))).next((e=>{const t=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));return e.manipulatorType===Y.TRANSLATE_XY&&1===t.length?{...e,info:t[0],snapOrigin:t[0].handle.pos}:e})).next(ue(this.view,e)).next(this._snappingPipelineHandle.createSnapDragEventPipelineStep({predicate:e=>!!e.info,cancel:r,snappingManager:a.snappingManager,snappingContext:new xe({editGeometryOperations:h(this._editGeometryOperations),elevationInfo:e,pointer:s,excludeFeature:t,visualizer:new R}),updatingHandles:this.updatingHandles,useZ:!1}),this._snappingPipelineHandle.next).next(ce()).next((e=>this._perGraphicManipulatorDragAction(Ze.SELECTED_OR_ALL,e))).next((e=>(this._updateTranslateTooltip(i,e),e)));return r.next((()=>this._onDragCancel())),l}),e,s,t),g((()=>n.displaying),(()=>{this._updateMoveManipulationPosition()}),f),n.on("changed",(()=>this._updateMoveManipulationPosition())),g((()=>n.isDraped),(e=>{this._updateMoveManipulationPosition();const t="align-move-manipulation";e?i.add(this.view.elevationProvider.on("elevation-change",(()=>this._updateMoveManipulationPosition())),t):i.remove(t)}),f)])}_createVisualElements(){const{graphic:e,view:t}=this,i=B({view:t,graphic:e,forEachManipulator:e=>{if(!this.destroyed){this._graphicMoveManipulation.forEachManipulator(e),this._moveManipulation.forEachManipulator(e);for(const t of this._manipulatorInfos)e(t.manipulator,Y.TRANSLATE_XY)}},onManipulatorsChanged:e=>this.on("manipulators-changed",e)});l(i)&&(this._outlineVisualElement=i.visualElement instanceof se?i.visualElement:null),l(this._outlineVisualElement)&&this._manipulatorHandles.add(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>{this._graphicState.isDraped||this._updateMoveManipulationPosition()}))),this._manipulatorHandles.add(i)}_createEdgeOffsetManipulator(e,t=L(this.graphic)){const i=W.reshapeManipulators.edgeOffset,a=i.size/2,o=a+i.collisionPadding;if(p(this._edgeOffsetManipulatorGeometryInside)||p(this._edgeOffsetManipulatorGeometryOutside)){const e=a/o,t=e*Math.sqrt(3)/2;this._edgeOffsetManipulatorGeometryInside=pe(t,e/2,e/2,i.height,i.offset),this._edgeOffsetManipulatorGeometryOutside=pe(-t,e/2,e/2,i.height,-i.offset)}const r=[{geometry:this._edgeOffsetManipulatorGeometryInside,material:this._edgeOffsetManipulatorMaterial,stateMask:fe.Unfocused},{geometry:this._edgeOffsetManipulatorGeometryInside,material:this._edgeOffsetManipulatorHoverMaterial,stateMask:fe.Focused},{geometry:this._edgeOffsetManipulatorGeometryOutside,material:this._edgeOffsetManipulatorMaterial,stateMask:fe.Unfocused},{geometry:this._edgeOffsetManipulatorGeometryOutside,material:this._edgeOffsetManipulatorHoverMaterial,stateMask:fe.Focused}],s=new j({view:this.view,renderObjects:r,elevationInfo:"on-the-ground"!==t.mode||P(this.graphic.symbol)?{mode:"absolute-height",offset:0}:t,worldOriented:!1,focusMultiplier:1,radius:o,available:!(!this.graphic.visible||!this.graphic.layer.visible),collisionType:{type:"disc",direction:I(0,0,1)},collisionPriority:1,metadata:{deleting:!1}}),h=new j({view:this.view,renderObjects:[],worldSized:!0,worldOriented:!1,available:!(!this.graphic.visible||!this.graphic.layer.visible),collisionPriority:-10,cursor:this.enableMoveGraphic?"move":"default",metadata:{deleting:!1}}),d={manipulator:s,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0,edgeManipulator:h,elevationInfo:t,visibilityHandle:null};this._autoHideEdgeOffsetManipulator(d,i.minSquaredEdgeLength),this._updateEdgeOffsetManipulator(d);const u=[];for(const n of[d.handle.leftVertex,d.handle.rightVertex]){const e=this._getManipulatorInfoFromHandle(n);l(e)&&u.push(e.manipulator.events.on("location-update",(()=>this._updateEdgeOffsetManipulator(d))))}d.locationUpdateHandle=n(u),this._manipulatorHandles.add(d.locationUpdateHandle,s),this._manipulatorHandles.add([this._watchAndUpdateGrabState(s,!0),this._watchAndUpdateGrabState(h,!0)],s),this._manipulatorHandles.add(me(s,this._createEdgeOffsetPipeline(d,t)),s),this._manipulatorHandles.add(me(h,((e,i,a,o)=>{if("touch"===o){this._createEdgeOffsetPipeline(d,t)(e,i,a)}else if(this.enableMoveGraphic){const o=this.graphic,n=l(o.geometry)?o.geometry.spatialReference:null;i.next((e=>this._trackNumDragging(e))).next(ge(this.view,e.elevationAlignedLocation)).next(X(this.view,e.elevationAlignedLocation,t,n,o)).next(_e()).next(ce()).next((e=>this._perGraphicManipulatorDragAction(Ze.ALL,e))).next((e=>(this._updateTranslateGraphicTooltip(Q.XY,e),e))).next((e=>{"end"===e.action&&this._tooltip.clear()})),a.next((()=>this._onDragCancel(!e.metadata.deleting)))}})),s);const c=e=>{this._manipulatorInfos.some((e=>e.manipulator.selected))?this._clearSelection():this.emit("immediate-click",{...e,graphic:this.graphic}),e.stopPropagation()};return this._manipulatorHandles.add([s.events.on("immediate-click",c),h.events.on("immediate-click",c),s.events.on("focus-changed",(({action:e})=>{const t=this._tooltipOptions;if("focus"===e&&t.enabled){const e=this._tooltip.info=new be({tooltipOptions:t});this._updateTooltipAreaOrTotalLength(e)}else this._tooltip.clear()}))],s),this._manipulatorInfos.push(d),this.manipulators.add(s),this.manipulators.add(h),this.emit("manipulators-changed"),d}_autoHideEdgeOffsetManipulator(e,t){const i=e.manipulator,a=e.edgeManipulator,o=()=>{e.visibilityHandle=d(e.visibilityHandle);const o=this._getManipulatorInfoFromHandle(e.handle.leftVertex),r=this._getManipulatorInfoFromHandle(e.handle.rightVertex),s=l(o)&&l(r)&&re(o.manipulator.renderLocation,r.manipulator.renderLocation,this.view.state.camera)<t;(!i.focused&&!a.focused||s)&&(i.grabbable=!s,a.grabbable=!s,e.visibilityHandle=n([i.disableDisplay(),{remove:()=>{i.grabbable=!0,a.grabbable=this.enableMoveGraphic}}]))};this._manipulatorHandles.add([i.events.on("focus-changed",o),a.events.on("focus-changed",o),{remove:()=>{d(e.visibilityHandle),a.metadata.deleting=!0,this.manipulators.remove(a)}}],i),o()}_updateEdgeOffsetManipulator(e){this._updateManipulatorPosition(e);const{coordinateHelper:t}=h(this._editGeometryOperations).data,i=ae(this.view,e.manipulator.elevationAlignedLocation,oe(t,e.handle,h(e.manipulator.elevationInfo))),a=this._getManipulatorInfoFromHandle(e.handle.leftVertex),o=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(p(a)||p(o))return;const n=a.manipulator.renderLocation,r=o.manipulator.renderLocation,s=l(i)?ne(i,n,r):x;e.manipulator.modelTransform=s,e.edgeManipulator.elevationAlignedLocation=e.manipulator.elevationAlignedLocation,e.edgeManipulator.modelTransform=s;const d=O(b(Re,n,r))/2;e.edgeManipulator.collisionType={type:"line",paths:[[[-d,0,0],[d,0,0]]]}}_createEdgeOffsetPipeline(e,t){return(i,a,o)=>{this._clearSelection();const{step:n,cleanup:r}=this._initializeEdgeOffset(e,t);a.next((e=>this._trackNumDragging(e))).next(ge(this.view,i.elevationAlignedLocation)).next(n).next(F(this.view)).next(z(this.view,h(this._editGeometryOperations).data.spatialReference)).next(ce()).next(this._applyComputeEdgeOffsetDistanceStep()).next(this._applyEdgeOffsetStep(e)).next(this._showEdgeOffsetTooltip()).next((e=>{"end"===e.action&&r()})),o.next((()=>{i.metadata.deleting||(r(),this._onDragCancel())}))}}_initializeEdgeOffset(e,t){const i=h(this._editGeometryOperations),a=oe(i.data.coordinateHelper,e.handle,t),o=i.createUndoGroup(),s=ae(this.view,e.manipulator.elevationAlignedLocation,a);if(a.requiresSplitEdgeLeft){const t=this._getManipulatorInfoFromHandle(e.handle.leftVertex.leftEdge);l(t)&&this._splitEdgeManipulator(t,1)}if(a.requiresSplitEdgeRight){const t=this._getManipulatorInfoFromHandle(e.handle.rightVertex.rightEdge);l(t)&&this._splitEdgeManipulator(t,0)}const u=()=>new w({paths:[[e.handle.leftVertex.pos,e.handle.rightVertex.pos]],spatialReference:i.data.spatialReference}),c=new se({view:this.view,isDraped:this._graphicState.isDraped,geometry:u(),elevationInfo:e.elevationInfo,width:W.visualElements.lineGraphics.outline.width,color:W.colorToVec4(K.main),attached:!0});let m;const _=()=>{this._cleanEdgeOffsetCollapsedEdges(e),m=d(m)},f=this.on("undo",_);return m=n([r(c),g((()=>this._graphicState.isDraped),(e=>c.isDraped=e)),this._graphicState.on("changed",(()=>c.geometry=u())),o,f]),{step:e=>p(a)||p(s)?(_(),null):{...e,operation:a,plane:s},cleanup:_}}_applyEdgeOffsetStep(e){return t=>{if(this.destroyed||p(t.operation))return t;this._updateEventState(Xe.RESHAPING);const{mapDeltaX:i,mapDeltaY:a,mapDeltaZ:o}=t;return(i||a||o)&&(this._offsetEdge(e,t),this.emit("reshape",{type:"reshape",mover:this.graphic})),t}}_applyComputeEdgeOffsetDistanceStep(){return e=>{const{operation:t,mapEnd:i}=e;return p(t)||p(i)?e:("start"===e.action&&t.selectArrowFromStartPoint(i),{...e,signedDistance:t.signedDistanceToPoint(i)})}}_showEdgeOffsetTooltip(){return e=>{const{mapEnd:t,signedDistance:i,operation:a}=e,o=this._tooltip,n=this._tooltipOptions;if(!n.enabled||p(i))return o.clear(),e;let r=o.info;(p(r)||"reshape-edge-offset"!==r.type)&&(r=o.info=new be({tooltipOptions:n}));const{coordinateHelper:s}=h(this._editGeometryOperations).data;return r.distance="end"===e.action?u:Ne(this._graphicState.isDraped,i*a.selectedArrow,t,a.plane,s),this._updateTooltipAreaOrTotalLength(r),e}}_cleanEdgeOffsetCollapsedEdges(e){const t=e.handle.leftVertex.leftEdge?.leftVertex,i=e.handle.leftVertex,a=e.handle.rightVertex.rightEdge?.rightVertex,o=e.handle.rightVertex,n=h(this._editGeometryOperations).data.coordinateHelper,r=[];if(t&&n.distance(t.pos,i.pos)<Fe){const e=this._getManipulatorInfoFromHandle(i);l(e)&&r.push(e)}if(n.distance(i.pos,o.pos)<Fe||a&&n.distance(a.pos,o.pos)<Fe){const e=this._getManipulatorInfoFromHandle(o);l(e)&&r.push(e)}r.length&&this._removeVertices(r)}_computeVertexManipulatorSizeAndOutline(e){const t=e.size/2,i=t+e.collisionPadding;return{size:t/i,outlineSize:(t+e.outlineSize)/i}}_createVertexOrEdgeManipulator(e,t=L(this.graphic)){if("edge"===e.type){if(this.enableEdgeOffset)return this._createEdgeOffsetManipulator(e,t);if(!this.enableMidpoints)return null}if(p(this._vertexManipulatorGeometry)||p(this._vertexManipulatorOutlineGeometry)){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(W.reshapeManipulators.vertex);this._vertexManipulatorGeometry=he(e,16,16),this._vertexManipulatorOutlineGeometry=he(t,16,16)}if(p(this._edgeManipulatorGeometry)||p(this._edgeManipulatorOutlineGeometry)){const{size:e,outlineSize:t}=this._computeVertexManipulatorSizeAndOutline(W.reshapeManipulators.edge);this._edgeManipulatorGeometry=he(e,16,16),this._edgeManipulatorOutlineGeometry=he(t,16,16)}const i=l(this.graphic.geometry)&&"point"===this.graphic.geometry.type?[]:[{geometry:this._vertexManipulatorGeometry,material:this._vertexManipulatorMaterial,stateMask:ze.Vertex|fe.Unselected},{geometry:this._vertexManipulatorOutlineGeometry,material:this._vertexManipulatorOutlineMaterial,stateMask:ze.Vertex|fe.Unfocused|fe.Unselected},{geometry:this._vertexManipulatorOutlineGeometry,material:this._vertexManipulatorHoverOutlineMaterial,stateMask:ze.Vertex|fe.Focused|fe.Unselected},{geometry:this._vertexManipulatorGeometry,material:this._selectedManipulatorMaterial,stateMask:fe.Selected},{geometry:this._vertexManipulatorOutlineGeometry,material:this._selectedManipulatorOutlineMaterial,stateMask:fe.Selected|fe.Unfocused},{geometry:this._vertexManipulatorOutlineGeometry,material:this._selectedManipulatorHoverOutlineMaterial,stateMask:fe.Selected|fe.Focused}];this.enableMidpoints&&i.push({geometry:this._edgeManipulatorGeometry,material:this._vertexManipulatorMaterial,stateMask:ze.Edge|fe.Focused|fe.Unselected},{geometry:this._edgeManipulatorOutlineGeometry,material:this._vertexManipulatorHoverOutlineMaterial,stateMask:ze.Edge|fe.Focused|fe.Unselected},{geometry:this._edgeManipulatorGeometry,material:this._edgeManipulatorMaterial,stateMask:ze.Edge|fe.Unfocused|fe.Unselected},{geometry:this._edgeManipulatorOutlineGeometry,material:this._edgeManipulatorOutlineMaterial,stateMask:ze.Edge|fe.Unfocused|fe.Unselected});const a=new j({view:this.view,renderObjects:i,elevationInfo:t,focusMultiplier:1,touchMultiplier:1,available:!(!this.graphic.visible||!this.graphic.layer.visible),metadata:{deleting:!1}});this._setTypeSpecificManipulatorSettings(a,e,t);const o="edge"===e.type?{manipulator:a,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0}:{manipulator:a,handle:e,type:"vertex",selectedIndex:0};if(this._manipulatorInfos.push(o),this.manipulators.add(a),this._updateManipulatorPosition(o),"edge"===o.type){const e=[];for(const t of[o.handle.leftVertex,o.handle.rightVertex]){const i=this._getManipulatorInfoFromHandle(t);l(i)&&e.push(i.manipulator.events.on("location-update",(()=>this._updateManipulatorPosition(o))))}o.locationUpdateHandle=n(e),this._manipulatorHandles.add(o.locationUpdateHandle,a)}this._manipulatorHandles.add(this._watchAndUpdateGrabState(a,!0),a);const r=me(a,((e,i,a,n)=>{let r=null;i.next((e=>this._trackNumDragging(e))).next((e=>{if("start"===e.action&&(r=h(this._editGeometryOperations).createUndoGroup()),"edge"===o.type){const t=this._splitEdgeManipulator(o);return{...e,info:t,snapOrigin:t.handle.pos}}return{...e,info:o,snapOrigin:o.handle.pos}})).next(ge(this.view,e.elevationAlignedLocation)).next(Z(this.view,this.graphic,e.elevationAlignedLocation,e.location.spatialReference,this.graphic)).next(ue(this.view,t)).next(this._snappingPipeline.createSnapDragEventPipelineStep({predicate:()=>!this._isMultiVertexSelection(),cancel:a,snappingManager:this.tool.snappingManager,snappingContext:new xe({editGeometryOperations:h(this._editGeometryOperations),elevationInfo:t,pointer:n,excludeFeature:this.graphic,visualizer:new R}),updatingHandles:this.updatingHandles,useZ:!1}),this._snappingPipeline.next).next(ce()).next((t=>{this._perVertexManipulatorDragAction(t),"end"===t.action&&(r=d(r)),this._updateTranslateVertexTooltip(e,Q.XY,t)})),a.next((()=>this._onDragCancel(!e.metadata.deleting,(()=>r=d(r)))))}));return this._manipulatorHandles.add([r,a.events.on("immediate-click",(e=>this._manipulatorClickCallback(e,o))),a.events.on("select-changed",(()=>{o.selectedIndex=++this._selectedIndex,this._updateMoveManipulationPosition()})),a.events.on("focus-changed",(({action:e})=>{"focus"===e&&"edge"!==o.type?this._updateTranslateVertexTooltip(a,Q.XY):this._tooltip.clear()}))],a),this.emit("manipulators-changed"),o}_trackNumDragging(e){switch(e.action){case"start":this._numDragging++;break;case"end":this._numDragging--}return e}_onDragCancel(e=!0,t){switch(this._numDragging--,e&&(this.undo(),this.outputGeometry=l(this._editGeometryOperations)?this._editGeometryOperations.data.geometry:null),l(this.tool.snappingManager)&&this.tool.snappingManager.doneSnapping(),this._tooltip.clear(),this._reshapeEventState){case Xe.NONE:break;case Xe.MOVING:this.emit("move",{type:"move",dx:0,dy:0,mover:this.graphic});break;case Xe.RESHAPING:this.emit("reshape",{type:"reshape",mover:this.graphic})}t&&t(),this.destroyed||this._updateEventState(Xe.NONE)}_setTypeSpecificManipulatorSettings(e,t,i){switch(t.type){case"vertex":e.state=ze.Vertex,e.selectable=!0,e.cursor="move",e.collisionPriority=2,e.radius=W.reshapeManipulators.vertex.size/2+W.reshapeManipulators.vertex.collisionPadding,e.elevationInfo=i,e.interactive=l(this.graphic.geometry)&&"point"!==this.graphic.geometry.type;break;case"edge":e.state=ze.Edge,e.selectable=!1,e.cursor="copy",e.collisionPriority=-1,e.radius=W.reshapeManipulators.edge.size/2+W.reshapeManipulators.edge.collisionPadding,e.elevationInfo="on-the-ground"!==i.mode||P(this.graphic.symbol)?{mode:"absolute-height",offset:0}:i}}_watchAndUpdateGrabState(e,t){return e.events.on("grab-changed",(i=>this._onGrabStateChanged(e,t,i.action,i.pointerType)))}_onGrabStateChanged(e,t,i,a="mouse"){if("start"===i)t&&this._updateSelection(e),this._numGrabbing++;else if(this._numGrabbing--,this._updateEventState(Xe.NONE),this.destroyed)return;this._moveManipulation.interactive=!this._numGrabbing,("touch"!==a||this.enableEdgeOffset)&&(this._manipulatorInfos.forEach((e=>{e.manipulator.interactive=e.manipulator.grabbing||!this._numGrabbing&&l(this.graphic.geometry)&&"point"!==this.graphic.geometry.type,"edgeManipulator"in e&&(e.edgeManipulator.interactive=e.edgeManipulator.grabbing||!this._numGrabbing)})),this._graphicMoveManipulation.forEachManipulator((e=>{e.interactive=e.grabbing||!this._numGrabbing})))}_clearSelection(){for(const e of this._manipulatorInfos)e.manipulator.grabbing||(e.manipulator.selected=!1)}_updateSelection(e){e.grabbing&&!e.selected&&e.selectable&&(this._clearSelection(),e.selected=!0,this.emit("manipulators-changed"))}_removeManipulator(e){p(e)||(e.manipulator.metadata.deleting=!0,this.manipulators.remove(e.manipulator),this._manipulatorHandles.remove(e.manipulator),t(this._manipulatorInfos,e),this.emit("manipulators-changed"))}_getManipulatorInfoFromHandle(e){if(e)for(const t of this._manipulatorInfos)if(e===t.handle)return t;return null}_updateManipulatorPosition(e){if(p(e))return;const t=h(this._editGeometryOperations);if("vertex"===e.type)e.manipulator.location=t.data.coordinateHelper.vectorToDehydratedPoint(e.handle.pos,Ce),e.manipulator.grabbing&&l(this._vertexLaserLineVisualElement)&&(this._vertexLaserLineVisualElement.visualElement.intersectsWorldUpAtLocation=e.manipulator.renderLocation);else if("edge"===e.type){const i=this._getManipulatorInfoFromHandle(e.handle.leftVertex),a=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(p(i)||p(a))return;const o=i.manipulator,n=a.manipulator;if(l(e.manipulator.elevationInfo)&&"on-the-ground"===e.manipulator.elevationInfo.mode){const i=o.location,a=n.location,r=.5,s=i.x+r*(a.x-i.x),l=i.y+r*(a.y-i.y),p=i.hasZ&&a.hasZ?0:void 0;e.manipulator.location=D(s,l,p,t.data.spatialReference)}else E(Re,o.renderLocation,n.renderLocation,.5),e.manipulator.renderLocation=Re}}_splitEdgeManipulator(e,t=.5){const i=h(this._editGeometryOperations),a=h(i.splitEdge(e.handle,t).createdVertex);e.locationUpdateHandle.remove(),e.locationUpdateHandle=void 0;const o=L(this.graphic);let n;this.enableEdgeOffset?(this._removeManipulator(e),n=this._createVertexOrEdgeManipulator(a)):(n=e,n.handle=a,n.type="vertex",this._setTypeSpecificManipulatorSettings(e.manipulator,e.handle,o)),a.leftEdge&&this._createVertexOrEdgeManipulator(a.leftEdge),a.rightEdge&&this._createVertexOrEdgeManipulator(a.rightEdge),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(n),this.enableEdgeOffset||this._updateTranslateVertexTooltip(n.manipulator,Q.XY),this._updateSelection(e.manipulator);const r=this._updateEventState(Xe.RESHAPING),s=i.data.coordinateHelper.vectorToArray(n.handle.pos),l=i.data.components.indexOf(a.component);return this.emit("vertex-add",{type:"vertex-add",vertices:[{coordinates:s,componentIndex:l,vertexIndex:h(a.index)}],added:s}),r&&this._updateEventState(Xe.NONE),n}_updateMoveManipulationPosition(){const e=G(Re,0,0,0);let t=0,i=!1,a=null,o=null;for(const n of this._manipulatorInfos)"vertex"===n.type&&(n.manipulator.selected?(t++,S(e,e,n.manipulator.renderLocation),p(a)||n.selectedIndex>a.selectedIndex?(o=a,a=n):(p(o)||n.selectedIndex>o.selectedIndex)&&(o=n)):i=!0);if(0!==t){const e=this._graphicState.displaying;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.zManipulation.available=e&&this.enableZVertex&&q(this.graphic),this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e&&1!==t}else{const e=this._graphicState.displaying&&this.enableMoveGraphic;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e,this._moveManipulation.zManipulation.available=e&&this.enableZShape&&q(this.graphic)}if(0!==t){let e=0;if(l(a)){const t=a.handle.pos,i=l(o)?o.handle.pos:a.handle.leftEdge&&a.handle.leftEdge.leftVertex?a.handle.leftEdge.leftVertex.pos:null,n=p(o)&&a.handle.rightEdge&&a.handle.rightEdge.rightVertex?a.handle.rightEdge.rightVertex.pos:null;i&&n?this._moveManipulation.xyAxisManipulation.available=!1:i?e=ke(i,t):n&&(e=ke(t,n))}this._moveManipulation.angle=e,this._moveManipulation.radius=J}else this._moveManipulation.angle=ee(h(this.graphic.geometry)),this._moveManipulation.radius=$.radiusForSymbol(this.graphic.symbol);0!==t&&i?(V(e,e,1/t),Ce.spatialReference=h(this._editGeometryOperations).data.spatialReference,Ce.hasZ=!0,this.view.renderCoordsHelper.fromRenderCoords(e,Ce),this._moveManipulation.elevationAlignedLocation=Ce):l(this._outlineVisualElement)&&!this._graphicState.isDraped&&l(this._outlineVisualElement.attachmentOrigin)?this._moveManipulation.elevationAlignedLocation=this._outlineVisualElement.attachmentOrigin:N(this.view,this._moveManipulation,this.graphic)}_removeVertices(e){const t=[],i=h(this._editGeometryOperations);for(const a of e)if("vertex"===a.type&&i.canRemoveVertex()){t.push(a.handle),this._removeManipulator(a),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.leftEdge)),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.rightEdge));const e=h(i.removeVertices([a.handle]).removedVertices[0].createdEdge);e&&this._createVertexOrEdgeManipulator(e)}if(t.length>0){const e=t.map((e=>{const t=i.data.components.indexOf(e.component);return{coordinates:i.data.coordinateHelper.vectorToArray(e.pos),componentIndex:t,vertexIndex:h(e.index)}}));this.outputGeometry=i.data.geometry;const a=this._updateEventState(Xe.RESHAPING);if(this.destroyed)return;if(this.emit("vertex-remove",{type:"vertex-remove",removed:e.map((e=>e.coordinates)),vertices:e}),this.destroyed)return;if(a&&(this._updateEventState(Xe.NONE),this.destroyed))return;this._updateMoveManipulationPosition()}}_moveVertices(e,t,i=("start"===t.action?ye.NEW_STEP:ye.ACCUMULATE_STEPS)){const a=h(this._editGeometryOperations);a.moveVertices(e.map((e=>e.handle)),t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i),this.outputGeometry=a.data.geometry;for(const o of e)this._updateManipulatorPosition(o)}_offsetEdge(e,t){if(p(t.operation)||p(t.signedDistance))return;const i=h(this._editGeometryOperations),a=t.operation.clone();a.distance=t.signedDistance,i.updateVertices([e.handle.leftVertex,e.handle.rightVertex],a),this.outputGeometry=i.data.geometry,this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.leftVertex)),this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(e.handle.rightVertex))}_manipulatorClickCallback(e,t){e.shiftKey||this._clearSelection(),"vertex"===t.type&&(t.manipulator.selected=!t.manipulator.selected,e.button===de.Right&&this._removeVertices([t])),"edge"===t.type&&e.button===de.Left&&this._splitEdgeManipulator(t),e.stopPropagation()}_updateTranslateTooltip(e,t){const i=this._manipulatorInfos.filter((e=>"vertex"===e.type&&e.manipulator.selected));1===i.length?this._updateTranslateVertexTooltip(i[0].manipulator,e,t):this._updateTranslateGraphicTooltip(e,t)}_updateTranslateGraphicTooltip(e,t){const i=this._tooltipOptions;if(!i.enabled)return;const a=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(e){case Q.XY:this._tooltip.info=new Ve({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,t)=>Ae(e,t,a)));break;case Q.XY_AXIS:this._tooltip.info=new Se({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,((e,i)=>{const o=Ae(e,i,a);return c(o,te(t))}));break;case Q.Z:this._tooltip.info=new Ge({tooltipOptions:i}),this._updateTranslateTooltipDistance(this._tooltip.info,t,Le)}}_updateTranslateVertexTooltip(e,t,i){const a=this._tooltipOptions;if(!a.enabled)return;let o;const n=this._graphicState.isDraped?"on-the-ground":"absolute-height";switch(t){case Q.XY:o=new we({tooltipOptions:a}),this._updateTranslateTooltipDistance(o,i,((e,t)=>Ae(e,t,n))),this._updateTooltipAreaOrTotalLength(o);break;case Q.XY_AXIS:o=new Te({tooltipOptions:a}),this._updateTranslateTooltipDistance(o,i,((e,t)=>{const a=Ae(e,t,n);return c(a,te(i))})),this._updateTooltipAreaOrTotalLength(o);break;case Q.Z:o=new Ie({tooltipOptions:a}),this._updateTranslateTooltipDistance(o,i,Le)}const r=Pe(e.elevationAlignedLocation);l(r)&&(o.elevation={mode:"absolute-height",...r}),this._tooltip.info=o}_updateTranslateTooltipDistance(e,t,i){if(l(t)&&"end"!==t.action){const{mapStart:a,mapEnd:o}=t,n=i(a,o);e.distance=l(n)?n:u}}_updateTooltipAreaOrTotalLength(e){const{geometry:t}=this.graphic;if(p(t))return;const i=this._graphicState.isDraped?"on-the-ground":"absolute-height";e.area="polygon"===t.type?He(t,i):null,e.totalLength="polyline"===t.type?De(t,i):null}get test(){return{segmentLabels:this._segmentLabels,tooltip:this._tooltip}}};function ke(e,t){return Math.atan2(t[1]-e[1],t[0]-e[0])+Math.PI/2}function Ne(e,t,i,a,o){if(e){const e=o.toXYZ(o.pointToVector(i)),n=H(a,e,A.get()),r=je(n,e,o.spatialReference);if(l(r))return m(r.value*Math.sign(t),r.unit)}return m(t*v(i.spatialReference),"meters")}e([M()],Ue.prototype,"_segmentLabels",void 0),e([M({constructOnly:!0})],Ue.prototype,"tool",void 0),e([M()],Ue.prototype,"_tooltip",void 0),e([M()],Ue.prototype,"inputGeometry",null),e([M()],Ue.prototype,"outputGeometry",void 0),e([M({readOnly:!0})],Ue.prototype,"updating",null),e([M()],Ue.prototype,"manipulators",null),e([M()],Ue.prototype,"view",null),e([M()],Ue.prototype,"graphic",null),e([M()],Ue.prototype,"enableZShape",null),e([M()],Ue.prototype,"enableZVertex",null),e([M()],Ue.prototype,"enableMoveGraphic",null),e([M()],Ue.prototype,"enableMidpoints",null),e([M()],Ue.prototype,"enableEdgeOffset",null),e([M()],Ue.prototype,"_labelOptions",null),e([M()],Ue.prototype,"_tooltipOptions",null),Ue=e([y("esri.views.3d.interactive.editingTools.reshapeGraphic.ReshapeOperation")],Ue);const Ce=D(0,0,null,null),Re=T(),Fe=1e-6;var ze,Xe,Ze;!function(e){e.Vertex=ve.Custom1,e.Edge=ve.Custom2}(ze||(ze={})),function(e){e[e.NONE=0]="NONE",e[e.MOVING=1]="MOVING",e[e.RESHAPING=2]="RESHAPING"}(Xe||(Xe={})),function(e){e[e.ALL=0]="ALL",e[e.SELECTED_OR_ALL=1]="SELECTED_OR_ALL"}(Ze||(Ze={}));export{Ue as ReshapeOperation};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{isNone as e,isSome as r}from"../../../../../core/maybe.js";import{createRenderScreenPointArray3 as o}from"../../../../../core/screenUtils.js";import{f as n}from"../../../../../chunks/mat4f64.js";import{f as t,A as s,z as c,b as i}from"../../../../../chunks/vec3.js";import{c as d}from"../../../../../chunks/vec3f64.js";import{normal as f,fromPositionAndNormal as m,create as p}from"../../../../../geometry/support/plane.js";import{makeDehydratedPoint as u}from"../../../../../layers/graphics/dehydratedFeatures.js";import{PlaneType as a,OffsetEdgeVertex as l}from"../../../../interactive/editGeometry/operations/OffsetEdgeVertex.js";function j(e,r,o){const n="on-the-ground"===o.mode?a.XY:a.XYZ;return new l(e,n,r,0)}function h(r,o,n){const s=d();if(!r.renderCoordsHelper.toRenderCoords(o,s))return null;const c=y(r,o,f(n.plane)),i=y(r,o,n.edgeDirection);if(e(c)||e(i))return null;const u=t(d(),c,i);return m(s,u,p())}function y(e,r,o){const n=u(r.x+o[0],r.y+o[1],r.z+o[2],r.spatialReference),t=d(),c=d();return e.renderCoordsHelper.toRenderCoords(r,t)&&e.renderCoordsHelper.toRenderCoords(n,c)?s(c,t,c):null}function C(e,r,o){const c=f(e),i=s(d(),r,o),m=t(d(),i,c),p=t(d(),i,m);return n(i[0],i[1],i[2],0,m[0],m[1],m[2],0,p[0],p[1],p[2],0,0,0,0,1)}function R(e,n,t){const s=t.projectToRenderScreen(e,o()),d=t.projectToRenderScreen(n,o());return r(s)&&r(d)?c(i(s,s,d)):0}export{h as createEdgeOffsetIntersectionPlane,j as createEdgeOffsetOperation,C as edgeOffsetRotationMatrix,R as screenEdgeLengthSquared};
5
+ import{isNone as e,isSome as r}from"../../../../../core/maybe.js";import{createRenderScreenPointArray3 as o}from"../../../../../core/screenUtils.js";import{f as n}from"../../../../../chunks/mat4f64.js";import{f as t,r as s,p as c,b as i}from"../../../../../chunks/vec3.js";import{c as d}from"../../../../../chunks/vec3f64.js";import{normal as f,fromPositionAndNormal as p,create as m}from"../../../../../geometry/support/plane.js";import{makeDehydratedPoint as u}from"../../../../../layers/graphics/dehydratedFeatures.js";import{PlaneType as a,OffsetEdgeVertex as l}from"../../../../interactive/editGeometry/operations/OffsetEdgeVertex.js";function j(e,r,o){const n="on-the-ground"===o.mode?a.XY:a.XYZ;return new l(e,n,r,0)}function h(r,o,n){const s=d();if(!r.renderCoordsHelper.toRenderCoords(o,s))return null;const c=y(r,o,f(n.plane)),i=y(r,o,n.edgeDirection);if(e(c)||e(i))return null;const u=t(d(),c,i);return p(s,u,m())}function y(e,r,o){const n=u(r.x+o[0],r.y+o[1],r.z+o[2],r.spatialReference),t=d(),c=d();return e.renderCoordsHelper.toRenderCoords(r,t)&&e.renderCoordsHelper.toRenderCoords(n,c)?s(c,t,c):null}function C(e,r,o){const c=f(e),i=s(d(),r,o),p=t(d(),i,c),m=t(d(),i,p);return n(i[0],i[1],i[2],0,p[0],p[1],p[2],0,m[0],m[1],m[2],0,0,0,0,1)}function R(e,n,t){const s=t.projectToRenderScreen(e,o()),d=t.projectToRenderScreen(n,o());return r(s)&&r(d)?c(i(s,s,d)):0}export{h as createEdgeOffsetIntersectionPlane,j as createEdgeOffsetOperation,C as edgeOffsetRotationMatrix,R as screenEdgeLengthSquared};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../Color.js";import{toHSV as e,toRGB as i}from"../../../../core/colorUtils.js";import{a as l}from"../../../../chunks/vec4f64.js";import{ExtensionType as o}from"../visualElements/ExtendedLineVisualElement.js";import{RenderOccludedFlag as s}from"../../webgl-engine/lib/Material.js";import{createStipplePatternSimple as n}from"../../webgl-engine/materials/lineStippleUtils.js";const r={main:new t([255,127,0]),selected:new t([255,255,255]),staged:new t([12,207,255]),outline:new t([0,0,0,.5]),selectedOutline:new t([255,255,255])},h=.3;function c(t,e){const i=t.clone();return i.a*=e,i}function a(t,l){const o=t.clone(),s=e(o);s.s*=l;const n=i(s);return o.r=n.r,o.g=n.g,o.b=n.b,o}function d(t,e){if(e)for(const i in e)t[i]=e[i]}class u{constructor(t){this.color=r.main,this.height=90,this.coneHeight=40,this.coneWidth=23,this.width=3,this.renderOccluded=s.Opaque,d(this,t)}}class p{constructor(t){this.size=11,this.outlineSize=1,this.collisionPadding=9,this.color=r.main,this.outlineColor=r.outline,this.renderOccluded=s.Opaque,this.hoverOutlineColor=r.selectedOutline,d(this,t)}apply(t,e){const i=this[t];e.setParameters({color:P(i),transparent:"color"!==t||i.a<1,renderOccluded:this.renderOccluded})}}class g{constructor(t){this.size=40,this.height=.2,this.offset=.25,this.collisionPadding=2,this.color=c(r.main,.5),this.hoverColor=r.main,this.renderOccluded=s.Transparent,this.minSquaredEdgeLength=900,d(this,t)}apply(t,e){const i=this[t];e.setParameters({color:P(i),transparent:i.a<1,renderOccluded:this.renderOccluded})}}class f{constructor(t){this.vertex=new p({color:r.main,outlineColor:r.outline}),this.edge=new p({color:a(c(r.main,2/3),.5),outlineColor:c(r.outline,.5),size:8,collisionPadding:8}),this.selected=new p({color:r.selected,outlineColor:r.outline}),this.edgeOffset=new g,d(this,t)}}class w{constructor(t){this.color=r.selected,this.width=1.5,this.stipplePattern=n(5),this.stippleOffColor=r.outline,this.falloff=0,this.innerWidth=1.5,this.innerColor=r.selected,this.renderOccluded=s.OccludeAndTransparent,d(this,t)}apply(t){t.color=P(this.color),t.width=this.width,t.stipplePattern=this.stipplePattern,t.stippleOffColor=P(this.stippleOffColor),t.falloff=this.falloff,t.innerWidth=this.innerWidth,t.innerColor=P(this.innerColor),t.renderOccluded=this.renderOccluded}}class C{constructor(t){this.color=r.selected,this.size=4,this.outlineSize=1,this.outlineColor=r.outline,this.shape="square",d(this,t)}apply(t){t.color=P(this.color),t.size=this.size,t.outlineSize=this.outlineSize,t.outlineColor=P(this.outlineColor),t.primitive=this.shape}}class m{constructor(t){this.innerColor=r.selected,this.innerWidth=1,this.glowColor=r.main,this.glowWidth=8,this.glowFalloff=8,this.globalAlpha=h,this.globalAlphaContrastBoost=1.5,this.radius=3,this.heightFillColor=r.main,d(this,t)}apply(e,i=1){const l={glowColor:t.toUnitRGB(this.glowColor),glowFalloff:this.glowFalloff,glowWidth:this.glowWidth,innerColor:t.toUnitRGB(this.innerColor),innerWidth:this.innerWidth,globalAlpha:this.globalAlpha*i,globalAlphaContrastBoost:this.globalAlphaContrastBoost,intersectsLineRadius:this.radius};"style"in e?e.style=l:e.laserlineStyle=l}}class O{constructor(t){this.outline=new w({color:r.outline,renderOccluded:s.OccludeAndTransparentStencil,stippleOffColor:r.selected,stipplePattern:n(5),width:1.5,innerWidth:0}),this.staged=new w({color:r.selected,renderOccluded:s.OccludeAndTransparentStencil,innerColor:r.staged,stippleOffColor:r.outline,stipplePattern:n(5),width:1.5}),this.shadowStyle=new m({globalAlpha:h,glowColor:r.main,glowFalloff:8,glowWidth:8,innerColor:r.selected,innerWidth:1}),d(this,t)}}class A{constructor(t){this.outline=new C({color:r.selected,outlineColor:r.outline,outlineSize:1,shape:"circle",size:4}),this.shadowStyle=new m({globalAlpha:h,glowColor:r.main,glowFalloff:1.5,glowWidth:6,innerColor:r.selected,innerWidth:1,radius:2}),d(this,t)}}class W extends w{constructor(t){super(),this.extensionType=o.GROUND_RAY,d(this,t)}}class b{constructor(t){this.lineGraphics=new O,this.pointGraphics=new A,this.heightPlane=new m({globalAlpha:h,glowColor:r.main,glowFalloff:8,glowWidth:8,innerColor:r.selected,innerWidth:1}),this.heightBox=new m({globalAlpha:h,glowColor:r.main,glowFalloff:8,glowWidth:8,innerColor:r.selected,innerWidth:0,heightFillColor:r.main}),this.zVerticalLine=new W({color:c(r.main,5*h/3),falloff:2,innerColor:c(r.selected,0),renderOccluded:s.OccludeAndTransparent,stipplePattern:null,width:5,extensionType:o.GROUND_RAY}),this.laserlineAlphaMultiplier=1.5,this.heightPlaneAngleCutoff=20,d(this,t)}}class z{constructor(t){this.visualElements=new b,this.reshapeManipulators=new f,this.zManipulator=new u,d(this,t)}colorToVec4(t){return P(t)}}function P(e){return l(t.toUnitRGBA(e))}const y=new z;export{p as VertexManipulatorStyle,r as colors,y as settings};
5
+ import t from"../../../../Color.js";import{toHSV as e,toRGB as i}from"../../../../core/colorUtils.js";import{b as l}from"../../../../chunks/vec4f64.js";import{ExtensionType as o}from"../visualElements/ExtendedLineVisualElement.js";import{RenderOccludedFlag as s}from"../../webgl-engine/lib/Material.js";import{createStipplePatternSimple as n}from"../../webgl-engine/materials/lineStippleUtils.js";const r={main:new t([255,127,0]),selected:new t([255,255,255]),staged:new t([12,207,255]),outline:new t([0,0,0,.5]),selectedOutline:new t([255,255,255])},h=.3;function c(t,e){const i=t.clone();return i.a*=e,i}function a(t,l){const o=t.clone(),s=e(o);s.s*=l;const n=i(s);return o.r=n.r,o.g=n.g,o.b=n.b,o}function d(t,e){if(e)for(const i in e)t[i]=e[i]}class u{constructor(t){this.color=r.main,this.height=90,this.coneHeight=40,this.coneWidth=23,this.width=3,this.renderOccluded=s.Opaque,d(this,t)}}class p{constructor(t){this.size=11,this.outlineSize=1,this.collisionPadding=9,this.color=r.main,this.outlineColor=r.outline,this.renderOccluded=s.Opaque,this.hoverOutlineColor=r.selectedOutline,d(this,t)}apply(t,e){const i=this[t];e.setParameters({color:P(i),transparent:"color"!==t||i.a<1,renderOccluded:this.renderOccluded})}}class g{constructor(t){this.size=40,this.height=.2,this.offset=.25,this.collisionPadding=2,this.color=c(r.main,.5),this.hoverColor=r.main,this.renderOccluded=s.Transparent,this.minSquaredEdgeLength=900,d(this,t)}apply(t,e){const i=this[t];e.setParameters({color:P(i),transparent:i.a<1,renderOccluded:this.renderOccluded})}}class f{constructor(t){this.vertex=new p({color:r.main,outlineColor:r.outline}),this.edge=new p({color:a(c(r.main,2/3),.5),outlineColor:c(r.outline,.5),size:8,collisionPadding:8}),this.selected=new p({color:r.selected,outlineColor:r.outline}),this.edgeOffset=new g,d(this,t)}}class w{constructor(t){this.color=r.selected,this.width=1.5,this.stipplePattern=n(5),this.stippleOffColor=r.outline,this.falloff=0,this.innerWidth=1.5,this.innerColor=r.selected,this.renderOccluded=s.OccludeAndTransparent,d(this,t)}apply(t){t.color=P(this.color),t.width=this.width,t.stipplePattern=this.stipplePattern,t.stippleOffColor=P(this.stippleOffColor),t.falloff=this.falloff,t.innerWidth=this.innerWidth,t.innerColor=P(this.innerColor),t.renderOccluded=this.renderOccluded}}class C{constructor(t){this.color=r.selected,this.size=4,this.outlineSize=1,this.outlineColor=r.outline,this.shape="square",d(this,t)}apply(t){t.color=P(this.color),t.size=this.size,t.outlineSize=this.outlineSize,t.outlineColor=P(this.outlineColor),t.primitive=this.shape}}class m{constructor(t){this.innerColor=r.selected,this.innerWidth=1,this.glowColor=r.main,this.glowWidth=8,this.glowFalloff=8,this.globalAlpha=h,this.globalAlphaContrastBoost=1.5,this.radius=3,this.heightFillColor=r.main,d(this,t)}apply(e,i=1){const l={glowColor:t.toUnitRGB(this.glowColor),glowFalloff:this.glowFalloff,glowWidth:this.glowWidth,innerColor:t.toUnitRGB(this.innerColor),innerWidth:this.innerWidth,globalAlpha:this.globalAlpha*i,globalAlphaContrastBoost:this.globalAlphaContrastBoost,intersectsLineRadius:this.radius};"style"in e?e.style=l:e.laserlineStyle=l}}class O{constructor(t){this.outline=new w({color:r.outline,renderOccluded:s.OccludeAndTransparentStencil,stippleOffColor:r.selected,stipplePattern:n(5),width:1.5,innerWidth:0}),this.staged=new w({color:r.selected,renderOccluded:s.OccludeAndTransparentStencil,innerColor:r.staged,stippleOffColor:r.outline,stipplePattern:n(5),width:1.5}),this.shadowStyle=new m({globalAlpha:h,glowColor:r.main,glowFalloff:8,glowWidth:8,innerColor:r.selected,innerWidth:1}),d(this,t)}}class A{constructor(t){this.outline=new C({color:r.selected,outlineColor:r.outline,outlineSize:1,shape:"circle",size:4}),this.shadowStyle=new m({globalAlpha:h,glowColor:r.main,glowFalloff:1.5,glowWidth:6,innerColor:r.selected,innerWidth:1,radius:2}),d(this,t)}}class W extends w{constructor(t){super(),this.extensionType=o.GROUND_RAY,d(this,t)}}class b{constructor(t){this.lineGraphics=new O,this.pointGraphics=new A,this.heightPlane=new m({globalAlpha:h,glowColor:r.main,glowFalloff:8,glowWidth:8,innerColor:r.selected,innerWidth:1}),this.heightBox=new m({globalAlpha:h,glowColor:r.main,glowFalloff:8,glowWidth:8,innerColor:r.selected,innerWidth:0,heightFillColor:r.main}),this.zVerticalLine=new W({color:c(r.main,5*h/3),falloff:2,innerColor:c(r.selected,0),renderOccluded:s.OccludeAndTransparent,stipplePattern:null,width:5,extensionType:o.GROUND_RAY}),this.laserlineAlphaMultiplier=1.5,this.heightPlaneAngleCutoff=20,d(this,t)}}class z{constructor(t){this.visualElements=new b,this.reshapeManipulators=new f,this.zManipulator=new u,d(this,t)}colorToVec4(t){return P(t)}}function P(e){return l(t.toUnitRGBA(e))}const y=new z;export{p as VertexManipulatorStyle,r as colors,y as settings};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Evented.js";import i from"../../../../../core/Handles.js";import{makeHandle as a}from"../../../../../core/handleUtils.js";import{rad2deg as s}from"../../../../../core/mathUtils.js";import{isSome as o,unwrapOr as r,isNone as n,unwrap as p}from"../../../../../core/maybe.js";import{createLength as l}from"../../../../../core/quantityUtils.js";import{watch as h,initial as c}from"../../../../../core/reactiveUtils.js";import{screenPointObjectToArray as d}from"../../../../../core/screenUtils.js";import{lengthUnitFromSpatialReference as u,getMetersPerUnitForSR as m}from"../../../../../core/unitUtils.js";import{property as _}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as g}from"../../../../../core/accessorSupport/decorators/subclass.js";import{o as v}from"../../../../../chunks/mat4.js";import{s as y,a as f,f as S}from"../../../../../chunks/vec2.js";import{a as M}from"../../../../../chunks/vec2f64.js";import{c as b,q as T,b as E,n as x,l as B,e as A}from"../../../../../chunks/vec3.js";import{c as O,a as R}from"../../../../../chunks/vec3f64.js";import{containsXY as j}from"../../../../../geometry/support/aaBoundingRect.js";import{a as G,c as D}from"../../../../../chunks/boundedPlane.js";import{intersectRay as w,create as P,normal as z}from"../../../../../geometry/support/plane.js";import{create as I}from"../../../../../geometry/support/ray.js";import{sv2d as U,sv3d as Z,sm4d as C}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as k}from"../../../../../support/elevationInfoUtils.js";import{createShiftManipulator as X,OffsetMode as Y,IsShiftEdgeOnScreenFlag as L,createResizeManipulator as N,resizeNormal as V,resizeOutlineOnly as H,isDiagonalResizeHandle as F,calculateDiagonalResizeHandleScale as q,createRotatePlane as W,RotationAxis as J,calculateBoundedPlaneTranslateRotate as K,updateRotateHeadingHandle as Q,updateResizeHandle as $}from"../../../analysis/Slice/sliceToolUtils.js";import{getRotateHeadingTexture as tt}from"../../../analysis/Slice/images/Factory.js";import{Manipulator3D as et}from"../../Manipulator3D.js";import{createRotateManipulator as it,getGraphicAttachmentOrigin as at,calculateInputRotationTransform as st}from"../../manipulatorUtils.js";import{screenToZConstrained as ot,screenToRenderPlane as rt}from"../dragEventPipeline3D.js";import{ManipulatorType as nt}from"../ManipulatorType.js";import{canMoveZ as pt}from"../manipulatorUtils.js";import{createVisualElements as lt}from"../visualElementUtils.js";import{ManipulationType as ht}from"../manipulations/MoveManipulation.js";import{MoveXYGraphicManipulation as ct}from"../manipulations/MoveXYGraphicManipulation.js";import{PreserveAspectRatio as dt}from"./PreserveAspectRatio.js";import{OutlineVisualElement as ut}from"../../visualElements/OutlineVisualElement.js";import{evaluateElevationAlignmentAtPoint as mt}from"../../../layers/graphics/elevationAlignmentUtils.js";import{ElevationContext as _t}from"../../../layers/graphics/ElevationContext.js";import{GraphicState as gt}from"../../../layers/graphics/GraphicState.js";import{fromScreen as vt}from"../../../support/geometryUtils/ray.js";import{createManipulatorDragEventPipeline as yt,addMapDelta as ft,addScreenDelta as St}from"../../../../interactive/dragEventPipeline.js";import{InteractiveToolBase as Mt}from"../../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as bt}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as Tt}from"../../../../interactive/editGeometry/interfaces.js";import{AccumulationType as Et}from"../../../../interactive/editGeometry/operations/UpdateVertices.js";import{mapPlaneAutoHorizontalSizeByElevationMode as xt,calculateOrientedBounds as Bt,mapPlaneToRenderPlane as At,apply as Ot,unapply as Rt}from"../../../../interactive/editGeometry/support/editPlaneUtils.js";import jt from"../../../../interactive/sketch/SketchTooltipOptions.js";import{ExtentRotateTooltipInfo as Gt,ExtentScaleTooltipInfo as Dt}from"../../../../interactive/tooltip/ExtentTooltipInfos.js";import{Tooltip as wt}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicTooltipInfo as Pt,TranslateGraphicZTooltipInfo as zt}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as It}from"../../../../support/automaticLengthMeasurementUtils.js";import{verticalSignedDistance as Ut}from"../../../../support/euclideanLengthMeasurementUtils.js";let Zt=class extends(e.EventedMixin(Mt)){constructor(t){super(t),this.enableZ=!0,this.enableRotation=!0,this.enableScaling=!0,this.tooltipOptions=new jt,this._preserveAspectRatio=new dt,this.grabbing=!1,this.inputState=null,this.type="transform-3d",this._handles=new i,this._moveZManipulator=null,this._resizeManipulators=null,this._rotateManipulator=null,this._attachmentOrigin=null,this._outlineVisualElement=null,this._mapBounds=G(),this._mapBoundsStart=G(),this._zmax=0,this._sizeStart=null,this._displayBounds=G(),this._displayBoundsStart=G(),this._displayBoundsMarginStart=0,this._resizeHandles=[{direction:[1,0]},{direction:[1,1]},{direction:[0,1]},{direction:[-1,1]},{direction:[-1,0]},{direction:[-1,-1]},{direction:[0,-1]},{direction:[1,-1]}],this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._rotateTooltipInfo=null,this._scaleTooltipInfo=null,this._startAngle=0,this._endAngle=0,this._startScale=M(),this._endScale=M()}initialize(){const{view:t,graphic:e,manipulators:i,_handles:s}=this,r=this._graphicState=new gt({graphic:e}),n=e.geometry;this._editGeometryOperations=bt.fromGeometry(n,t.state.viewingMode),this._graphicMoveManipulation=new ct({tool:this,view:t,graphicState:r}),this._moveZManipulator=X(t,Y.CENTER_ON_CALLOUT),this._moveZManipulator.state|=L,s.add([this._createMoveXYGraphicDragPipeline(),h((()=>this.enableZ),(()=>this._updateManipulatorAvailability(this._moveZManipulator,nt.TRANSLATE_Z))),this._createMoveZDragPipeline()]),i.add(this._moveZManipulator),this._resizeManipulators=this._resizeHandles.map((e=>{const i=N(t,e);return s.add([h((()=>this.enableScaling),(()=>this._updateManipulatorAvailability(i,nt.SCALE))),i.events.on("grab-changed",(t=>this._onResizeGrab(t))),this._createResizeDragPipeline(i,e)]),i})),i.addMany(this._resizeManipulators),this._rotateManipulatorTexture=tt(t.toolViewManager.textures),this._rotateManipulator=it(t,this._rotateManipulatorTexture.texture).manipulator,s.add([h((()=>this.enableRotation),(()=>this._updateManipulatorAvailability(this._rotateManipulator,nt.ROTATE))),this._rotateManipulator.events.on("grab-changed",(t=>{this._onRotateGrab(t)})),this._createRotateDragPipeline(this._rotateManipulator)]),i.add(this._rotateManipulator),this._calculateMapBounds(),this._updateDisplayBounds();const p=lt({view:t,graphic:e,forEachManipulator:t=>this._forEachManipulator(t),onManipulatorsChanged:()=>a()});o(p)&&(this._outlineVisualElement=p.visualElement instanceof ut?p.visualElement:null),o(this._outlineVisualElement)&&s.add(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>this._updateDisplayBounds()))),s.add(p),s.add([r.on("changed",(()=>this._onGeometryChanged())),h((()=>r.displaying),(()=>this._updateAllManipulatorAvailability())),h((()=>r.isDraped),(()=>this._graphicDrapedChanged()),c),t.trackGraphicState(r)]);const l=t.pointsOfInterest;l&&s.add(h((()=>l.centerOnSurfaceFrequent.location),(()=>this._updateDisplayBounds())));const d=t=>{s.add(t.events.on("grab-changed",(()=>{this.grabbing=t.grabbing,this._updateAllManipulatorAvailability()})))};this._forEachManipulator(d);const u=(t,i)=>{s.add(t.events.on("immediate-click",(t=>{i===nt.TRANSLATE_XY&&this.emit("immediate-click",{...t,graphic:e}),t.stopPropagation()})))};this._forEachManipulator(u),this._onGeometryChanged(),this._updateAllManipulatorAvailability(),this._initializeTooltip(),this.finishToolCreation()}destroy(){this._mapBounds=null,this._displayBounds=null,this._rotateManipulatorTexture.release(),this._handles.destroy(),this._graphicMoveManipulation.destroy(),this._editGeometryOperations.destroy(),this._tooltip.destroy(),this._set("view",null),this._set("graphic",null)}_initializeTooltip(){const{_handles:t,view:e}=this,i=this._tooltip=new wt({view:e}),a=()=>{i.info=this._getUpdatedTooltipInfo()};t.add([this.on("graphic-translate-start",a),this.on("graphic-translate",a),this.on("graphic-translate-stop",(()=>{this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._tooltip.clear()})),this.on("graphic-rotate-start",(t=>{this._startAngle=t.angle,a()})),this.on("graphic-rotate",(t=>{this._endAngle=t.angle,a()})),this.on("graphic-rotate-stop",(()=>{this._startAngle=0,this._endAngle=0,a()})),this.on("graphic-scale-start",(t=>{y(this._startScale,t.xScale,t.yScale),y(this._endScale,t.xScale,t.yScale),a()})),this.on("graphic-scale",(t=>{y(this._endScale,t.xScale,t.yScale),a()})),this.on("graphic-scale-stop",(()=>{y(this._startScale,0,0),y(this._endScale,0,0),a()}))]),this._forEachManipulator((e=>{t.add([e.events.on("focus-changed",a),e.events.on("grab-changed",a),e.events.on("drag",(t=>{"cancel"===t.action?this._tooltip.clear():a()}))])}))}_getUpdatedTooltipInfo(){return this.tooltipOptions.enabled?this._graphicMoveManipulation.grabbing||this._graphicMoveManipulation.dragging?this._computeMoveXYTooltipInfo():this._moveZManipulator.focused?this._computeMoveZTooltipInfo():this._rotateManipulator.focused?this._computeRotateTooltipInfo():this._resizeManipulators.some((t=>t.focused))?this._computeScaleTooltipInfo():null:null}_computeMoveXYTooltipInfo(){return this._moveXYTooltipInfo=r(this._moveXYTooltipInfo,(()=>new Pt({tooltipOptions:this.tooltipOptions})))}_computeMoveZTooltipInfo(){const t=this._moveZTooltipInfo=r(this._moveZTooltipInfo,(()=>new zt({tooltipOptions:this.tooltipOptions}))),e=this._moveUnit;if(this._moveZManipulator.dragging){const e=this._mapBoundsStart.origin,i=this._mapBounds.origin,a=Ut(e,i,this.view.spatialReference);if(n(a))return null;t.distance=a}else t.distance=l(0,e);return t}_computeRotateTooltipInfo(){const t=this._rotateTooltipInfo=r(this._rotateTooltipInfo,(()=>new Gt({tooltipOptions:this.tooltipOptions})));return t.angle=this._startAngle-this._endAngle,t}_computeScaleTooltipInfo(){const t=this.graphic.geometry;if(n(t))return null;const e=this._scaleTooltipInfo=r(this._scaleTooltipInfo,(()=>new Dt({tooltipOptions:this.tooltipOptions}))),i=xt(this._mapBounds,this._zmax,t.spatialReference,this._graphicState.isDraped);return n(i)?null:(e.xSize=i[0],e.ySize=i[1],o(this._sizeStart)&&this._resizeManipulators.some((t=>t.dragging))?(e.xScale=i[0].value/this._sizeStart[0].value,e.yScale=i[1].value/this._sizeStart[1].value):(e.xScale=1,e.yScale=1),e)}_graphicDrapedChanged(){this._handles.remove(Ct),this._updateDisplayBounds(),this._graphicState.isDraped&&this._handles.add(this.view.elevationProvider.on("elevation-change",(t=>{o(this._attachmentOrigin)&&j(t.extent,this._attachmentOrigin.x,this._attachmentOrigin.y)&&this._updateDisplayBounds()})),Ct)}_updateAllManipulatorAvailability(){this._forEachManipulator(((t,e)=>this._updateManipulatorAvailability(t,e)))}_updateManipulatorAvailability(t,e){const i=this.grabbing&&!t.grabbing;if(t.interactive=!i,t instanceof et){const a=this._graphicState.displaying,s=this.enableZ&&pt(this.graphic);switch(e){case nt.ROTATE:t.available=a&&this.enableRotation;break;case nt.SCALE:t.available=a&&(this.enableScaling||this.enableRotation||s),t.interactive=!i&&this.enableScaling,t.state=this.enableScaling?V:H;break;case nt.TRANSLATE_Z:t.available=a&&s;break;default:t.available=a}}}_forEachManipulator(t){this._graphicMoveManipulation.forEachManipulator(t),this._resizeManipulators.forEach((e=>t(e,nt.SCALE))),t(this._rotateManipulator,nt.ROTATE),t(this._moveZManipulator,nt.TRANSLATE_Z)}get preserveAspectRatio(){return this._preserveAspectRatio.enabled}set preserveAspectRatio(t){this._preserveAspectRatio.enabled=t,this._set("preserveAspectRatio",t)}get _moveUnit(){return r(u(this.view.spatialReference),"meters")}reset(){}_onGeometryChanged(){this._updateDisplayBounds()}_calculateMapBounds(){const t=this.graphic.geometry,e=this._editGeometryOperations.data,i=e.components[0].edges[0],a=f(U.get(),i.leftVertex.pos,i.rightVertex.pos);S(a,a);const s=r(at(this.view,this.graphic),(()=>t.extent.center));let o=Xt*this.view.pixelSizeAt(s);const n=this.view.spatialReference,p=t.spatialReference;n.equals(p)||(o*=m(n)/m(p)),Bt(a,e,o,this._mapBounds),this._updateZMax()}_updateZMax(){const t=this._editGeometryOperations.data;if(!t.geometry.hasZ)return void(this._zmax=0);const e=t.coordinateHelper;let i=Number.NEGATIVE_INFINITY;for(const a of t.components)for(const t of a.vertices){const a=e.getZ(t.pos);i=Math.max(a,i)}this._zmax=i}_updateDisplayBounds(){const t=this.graphic.geometry;if(n(t))return;const e=o(this._outlineVisualElement)&&!this._graphicState.isDraped&&o(this._outlineVisualElement.attachmentOrigin)?this._outlineVisualElement.attachmentOrigin:at(this.view,this.graphic);this._attachmentOrigin=r(e,t.extent.center);const i=o(e)?e.z:mt(this._mapBounds.origin,this.view.elevationProvider,_t.fromElevationInfo(k(this.graphic)),this.view.renderCoordsHelper),a=D(this._mapBounds);a.origin[2]=i,At(a,this.view.renderCoordsHelper,t.spatialReference,this._displayBoundsMargin,this._displayBounds),this._updateManipulators()}get _displayBoundsMargin(){const t=this.view.pointsOfInterest,e=t?t.centerOnSurfaceFrequent.location:this._editGeometryOperations.data.geometry.extent.center;return kt*this.view.pixelSizeAt(e)}_createMoveXYGraphicDragPipeline(){return this._graphicMoveManipulation.createDragPipeline(((t,e,i)=>this._applyGraphicMoveSteps(e,i,ht.XY)))}_createMoveZDragPipeline(){const t=this.view,e=this._editGeometryOperations.data.spatialReference;return yt(this._moveZManipulator,((i,a,s)=>{const o=R(i.renderLocation),r=a.next(ot(t,o,e)).next(St());this._applyGraphicMoveSteps(r,s,ht.Z)}))}_applyGraphicMoveSteps(t,e,i){const a=t.next((t=>("start"===t.action&&(this.inputState={type:"move"},this._updateOperationStartProperties(),this.emit("graphic-translate-start",{graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY})),t))).next(ft()).next(this._moveDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY};switch(t.action){case"start":case"update":(t.mapEnd.x-t.mapStart.x||t.mapEnd.y-t.mapStart.y||t.mapEnd.z-t.mapStart.z)&&this.emit("graphic-translate",e);break;case"end":this.inputState=null,this.emit("graphic-translate-stop",e)}return t})).next((t=>this._updateMoveTooltip(t,i)));return e.next((()=>{o(this.inputState)&&this.emit("graphic-translate-stop",{graphic:this.graphic,dxScreen:0,dyScreen:0}),this._cancel()})),a}_updateOperationStartProperties(){D(this._displayBounds,this._displayBoundsStart),D(this._mapBounds,this._mapBoundsStart),n(this.graphic.geometry)?this._sizeStart=null:this._sizeStart=xt(this._mapBoundsStart,this._zmax,this.graphic.geometry.spatialReference,this._graphicState.isDraped)}_moveDragUpdateGeometry(){return t=>{if(n(this.inputState)||"move"!==this.inputState.type)return t;const e=[];for(const s of this._editGeometryOperations.data.components)e.push(...s.vertices);const i="start"===t.action?Tt.NEW_STEP:Tt.ACCUMULATE_STEPS,a=this._editGeometryOperations.moveVertices(e,t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i);return Ot(a,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_updateMoveTooltip(t,e){if(e===ht.XY||e===ht.XY_AXIS){const e=It(t.mapStart,t.mapEnd,this._graphicState.isDraped?"on-the-ground":"absolute-height");o(e)&&o(this._moveXYTooltipInfo)&&(this._moveXYTooltipInfo.distance=e)}return t}_onResizeGrab(t){if("start"!==t.action)return;const e=this._calculatePickRay(t.screenPoint);w(this._displayBounds.plane,e,Z.get())&&(this._updateOperationStartProperties(),this._displayBoundsMarginStart=this._displayBoundsMargin,this.inputState={type:"resize"})}_createResizeDragPipeline(t,e){return yt(t,((t,i,a)=>{n(this.inputState)||(i.next((t=>("start"===t.action&&this.emit("graphic-scale-start",{graphic:this.graphic,xScale:1,yScale:1}),t))).next(rt(this.view,this._displayBoundsStart.plane)).next((t=>({...t,handle:e}))).next(this._resizeDragRenderPlaneToFactors()).next(this._preserveAspectRatio.createDragEventPipelineStep(),this._preserveAspectRatio.next).next(this._resizeDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,xScale:t.factor1,yScale:t.factor2};switch(t.action){case"start":case"update":this.emit("graphic-scale",e);break;case"end":this.inputState=null,this.emit("graphic-scale-stop",e)}return t})),a.next((()=>{o(this.inputState)&&this.emit("graphic-scale-stop",{graphic:this.graphic,xScale:1,yScale:1}),this._cancel()})))}))}_resizeDragRenderPlaneToFactors(){return t=>{const e=this._displayBoundsStart,i=t.handle.direction,a=this._displayBoundsMargin,s=this._displayBoundsMarginStart,o=b(Z.get(),e.origin);T(o,o,e.basis1,-i[0]),T(o,o,e.basis2,-i[1]);const r=E(Z.get(),t.renderEnd,o),n=E(Z.get(),t.renderStart,o),p=F(t.handle),l=q(e),h=q(this._displayBounds)/l,c=(t,e)=>{if(0===t)return 1;let i=B(e),o=.5*t*A(e,r)/i;const l=o<0?-1:1;if(p){o+=(i-.5*t*A(e,n)/i)*l*h}const c=i<1.5*s?1:Yt;return i=Math.max(i-s,Yt),l>0&&(o-=a),l*Math.max(l*(o/i),c)};return{...t,factor1:c(i[0],e.basis1),factor2:c(i[1],e.basis2)}}}_resizeDragUpdateGeometry(){return t=>{const e=b(O(),this._mapBoundsStart.origin);T(e,e,this._mapBoundsStart.basis1,-t.handle.direction[0]),T(e,e,this._mapBoundsStart.basis2,-t.handle.direction[1]);const i=y(M(),this._mapBoundsStart.basis1[0],this._mapBoundsStart.basis1[1]);S(i,i);const a=[];for(const r of this._editGeometryOperations.data.components)a.push(...r.vertices);const s="start"===t.action?Tt.NEW_STEP:Tt.ACCUMULATE_STEPS,o=this._editGeometryOperations.scaleVertices(a,e,i,t.factor1,t.factor2,s,Et.REPLACE);return D(this._mapBoundsStart,this._mapBounds),Ot(o,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_onRotateGrab(t){if("start"!==t.action)return;const e=W(this._displayBounds,this.view.renderCoordsHelper,J.HEADING,P()),i=this._calculatePickRay(t.screenPoint);w(e,i,Z.get())&&(this._updateOperationStartProperties(),this.inputState={type:"rotate",rotatePlane:e})}_createRotateDragPipeline(t){return yt(t,((t,e,i)=>{const a=this.inputState;n(a)||(e.next((t=>("start"===t.action&&this.emit("graphic-rotate-start",{graphic:this.graphic,angle:0}),t))).next(rt(this.view,a.rotatePlane)).next(this._rotateDragRenderPlaneToRotate(a)).next(this._rotateDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,angle:s(t.rotateAngle)};switch(t.action){case"start":case"update":this.emit("graphic-rotate",e);break;case"end":this.inputState=null,this.emit("graphic-rotate-stop",e)}return t})),i.next((()=>{o(this.inputState)&&this.emit("graphic-rotate-stop",{graphic:this.graphic,angle:0}),this._cancel()})))}))}_rotateDragRenderPlaneToRotate(t){return e=>{const i=z(t.rotatePlane),a=st(e.renderStart,e.renderEnd,this._displayBounds.origin,i);return{...e,rotateAxis:i,rotateAngle:a}}}_rotateDragUpdateGeometry(){return t=>{const e=b(O(),this._mapBoundsStart.origin),i=[];for(const o of this._editGeometryOperations.data.components)i.push(...o.vertices);const a="start"===t.action?Tt.NEW_STEP:Tt.ACCUMULATE_STEPS,s=this._editGeometryOperations.rotateVertices(i,e,t.rotateAngle,a,Et.REPLACE);return D(this._mapBoundsStart,this._mapBounds),Ot(s,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_calculatePickRay(t){const e=I(),i=d(t);return vt(this.view.state.camera,i,e),x(e.direction,e.direction),e}_updateManipulators(){if(!this.visible)return;const t=K(this._displayBounds,C.get());Q(this._rotateManipulator,t,this._displayBounds,this.view.renderCoordsHelper),this._updateZMoveHandle(this._moveZManipulator,t),this._resizeManipulators.forEach(((e,i)=>{$(e,this._resizeHandles[i],t,this._displayBounds)}))}_updateZMoveHandle(t,e){const i=this._displayBounds,a={basis:i.basis1,direction:-1,position:E(Z.get(),i.origin,i.basis1),edge:2},s=C.get();v(s,e,a.edge*Math.PI/2),s[12]=0,s[13]=0,s[14]=0,t.modelTransform=s,t.renderLocation=a.position}_cancel(){const t=this._editGeometryOperations.lastOperation;n(t)||(this._editGeometryOperations.undo(),this.graphic.geometry=this._editGeometryOperations.data.geometry,Rt(t,this._mapBounds),this._updateDisplayBounds(),this.inputState=null)}get canUndo(){return this._editGeometryOperations.canUndo}undo(){if(o(this.inputState))this.view.activeTool=null;else if(this.canUndo){const t=this._editGeometryOperations.undo();this.graphic.geometry=this._editGeometryOperations.data.geometry,Rt(p(t),this._mapBounds),this._updateDisplayBounds()}}get canRedo(){return this._editGeometryOperations.canRedo}redo(){if(this.canRedo){const t=this._editGeometryOperations.redo();this.graphic.geometry=this._editGeometryOperations.data.geometry,Ot(p(t),this._mapBounds),this._updateDisplayBounds()}}get test(){return{resizeManipulators:this._resizeManipulators,rotateManipulator:this._rotateManipulator,moveZManipulator:this._moveZManipulator,tooltip:this._tooltip}}};t([_({constructOnly:!0,nonNullable:!0})],Zt.prototype,"view",void 0),t([_({constructOnly:!0,nonNullable:!0})],Zt.prototype,"graphic",void 0),t([_({constructOnly:!0,nonNullable:!0})],Zt.prototype,"enableZ",void 0),t([_()],Zt.prototype,"enableRotation",void 0),t([_()],Zt.prototype,"enableScaling",void 0),t([_({constructOnly:!0,type:jt})],Zt.prototype,"tooltipOptions",void 0),t([_()],Zt.prototype,"preserveAspectRatio",null),t([_()],Zt.prototype,"grabbing",void 0),t([_()],Zt.prototype,"inputState",void 0),t([_({readOnly:!0})],Zt.prototype,"type",void 0),t([_()],Zt.prototype,"_moveUnit",null),Zt=t([g("esri.views.3d.interactive.editingTools.graphicTransform3D.ExtentTransformTool")],Zt);const Ct="draped-elevation-changes",kt=10,Xt=80,Yt=1e-6;export{Yt as EPSILON,Zt as ExtentTransformTool};
5
+ import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Evented.js";import i from"../../../../../core/Handles.js";import{makeHandle as a}from"../../../../../core/handleUtils.js";import{rad2deg as s}from"../../../../../core/mathUtils.js";import{isSome as o,unwrapOr as r,isNone as n,unwrap as p}from"../../../../../core/maybe.js";import{createLength as l}from"../../../../../core/quantityUtils.js";import{watch as h,initial as c}from"../../../../../core/reactiveUtils.js";import{screenPointObjectToArray as d}from"../../../../../core/screenUtils.js";import{lengthUnitFromSpatialReference as u,getMetersPerUnitForSR as m}from"../../../../../core/unitUtils.js";import{property as _}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/arrayUtils.js";import"../../../../../core/accessorSupport/ensureType.js";import{subclass as g}from"../../../../../core/accessorSupport/decorators/subclass.js";import{o as v}from"../../../../../chunks/mat4.js";import{s as y,a as f,f as S}from"../../../../../chunks/vec2.js";import{a as M}from"../../../../../chunks/vec2f64.js";import{c as b,z as T,b as x,n as E,l as B,e as A}from"../../../../../chunks/vec3.js";import{c as O,a as R}from"../../../../../chunks/vec3f64.js";import{containsXY as j}from"../../../../../geometry/support/aaBoundingRect.js";import{a as G,c as D}from"../../../../../chunks/boundedPlane.js";import{intersectRay as w,create as z,normal as P}from"../../../../../geometry/support/plane.js";import{create as I}from"../../../../../geometry/support/ray.js";import{sv2d as U,sv3d as Z,sm4d as C}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as k}from"../../../../../support/elevationInfoUtils.js";import{createShiftManipulator as X,OffsetMode as Y,IsShiftEdgeOnScreenFlag as L,createResizeManipulator as N,resizeNormal as V,resizeOutlineOnly as H,isDiagonalResizeHandle as F,calculateDiagonalResizeHandleScale as q,createRotatePlane as W,RotationAxis as J,calculateBoundedPlaneTranslateRotate as K,updateRotateHeadingHandle as Q,updateResizeHandle as $}from"../../../analysis/Slice/sliceToolUtils.js";import{getRotateHeadingTexture as tt}from"../../../analysis/Slice/images/Factory.js";import{Manipulator3D as et}from"../../Manipulator3D.js";import{createRotateManipulator as it,getGraphicAttachmentOrigin as at,calculateInputRotationTransform as st}from"../../manipulatorUtils.js";import{screenToZConstrained as ot,screenToRenderPlane as rt}from"../dragEventPipeline3D.js";import{ManipulatorType as nt}from"../ManipulatorType.js";import{canMoveZ as pt}from"../manipulatorUtils.js";import{createVisualElements as lt}from"../visualElementUtils.js";import{ManipulationType as ht}from"../manipulations/MoveManipulation.js";import{MoveXYGraphicManipulation as ct}from"../manipulations/MoveXYGraphicManipulation.js";import{PreserveAspectRatio as dt}from"./PreserveAspectRatio.js";import{OutlineVisualElement as ut}from"../../visualElements/OutlineVisualElement.js";import{evaluateElevationAlignmentAtPoint as mt}from"../../../layers/graphics/elevationAlignmentUtils.js";import{ElevationContext as _t}from"../../../layers/graphics/ElevationContext.js";import{GraphicState as gt}from"../../../layers/graphics/GraphicState.js";import{fromScreen as vt}from"../../../support/geometryUtils/ray.js";import{createManipulatorDragEventPipeline as yt,addMapDelta as ft,addScreenDelta as St}from"../../../../interactive/dragEventPipeline.js";import{InteractiveToolBase as Mt}from"../../../../interactive/InteractiveToolBase.js";import{EditGeometryOperations as bt}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{AccumulationBehaviour as Tt}from"../../../../interactive/editGeometry/interfaces.js";import{AccumulationType as xt}from"../../../../interactive/editGeometry/operations/UpdateVertices.js";import{mapPlaneAutoHorizontalSizeByElevationMode as Et,calculateOrientedBounds as Bt,mapPlaneToRenderPlane as At,apply as Ot,unapply as Rt}from"../../../../interactive/editGeometry/support/editPlaneUtils.js";import jt from"../../../../interactive/sketch/SketchTooltipOptions.js";import{ExtentRotateTooltipInfo as Gt,ExtentScaleTooltipInfo as Dt}from"../../../../interactive/tooltip/ExtentTooltipInfos.js";import{Tooltip as wt}from"../../../../interactive/tooltip/Tooltip.js";import{TranslateGraphicTooltipInfo as zt,TranslateGraphicZTooltipInfo as Pt}from"../../../../interactive/tooltip/TranslateTooltipInfos.js";import{autoHorizontalDistanceByElevationModeBetweenPoints as It}from"../../../../support/automaticLengthMeasurementUtils.js";import{verticalSignedDistance as Ut}from"../../../../support/euclideanLengthMeasurementUtils.js";let Zt=class extends(e.EventedMixin(Mt)){constructor(t){super(t),this.enableZ=!0,this.enableRotation=!0,this.enableScaling=!0,this.tooltipOptions=new jt,this._preserveAspectRatio=new dt,this.grabbing=!1,this.inputState=null,this.type="transform-3d",this._handles=new i,this._moveZManipulator=null,this._resizeManipulators=null,this._rotateManipulator=null,this._attachmentOrigin=null,this._outlineVisualElement=null,this._mapBounds=G(),this._mapBoundsStart=G(),this._zmax=0,this._sizeStart=null,this._displayBounds=G(),this._displayBoundsStart=G(),this._displayBoundsMarginStart=0,this._resizeHandles=[{direction:[1,0]},{direction:[1,1]},{direction:[0,1]},{direction:[-1,1]},{direction:[-1,0]},{direction:[-1,-1]},{direction:[0,-1]},{direction:[1,-1]}],this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._rotateTooltipInfo=null,this._scaleTooltipInfo=null,this._startAngle=0,this._endAngle=0,this._startScale=M(),this._endScale=M()}initialize(){const{view:t,graphic:e,manipulators:i,_handles:s}=this,r=this._graphicState=new gt({graphic:e}),n=e.geometry;this._editGeometryOperations=bt.fromGeometry(n,t.state.viewingMode),this._graphicMoveManipulation=new ct({tool:this,view:t,graphicState:r}),this._moveZManipulator=X(t,Y.CENTER_ON_CALLOUT),this._moveZManipulator.state|=L,s.add([this._createMoveXYGraphicDragPipeline(),h((()=>this.enableZ),(()=>this._updateManipulatorAvailability(this._moveZManipulator,nt.TRANSLATE_Z))),this._createMoveZDragPipeline()]),i.add(this._moveZManipulator),this._resizeManipulators=this._resizeHandles.map((e=>{const i=N(t,e);return s.add([h((()=>this.enableScaling),(()=>this._updateManipulatorAvailability(i,nt.SCALE))),i.events.on("grab-changed",(t=>this._onResizeGrab(t))),this._createResizeDragPipeline(i,e)]),i})),i.addMany(this._resizeManipulators),this._rotateManipulatorTexture=tt(t.toolViewManager.textures),this._rotateManipulator=it(t,{texture:this._rotateManipulatorTexture.texture}),s.add([h((()=>this.enableRotation),(()=>this._updateManipulatorAvailability(this._rotateManipulator,nt.ROTATE))),this._rotateManipulator.events.on("grab-changed",(t=>{this._onRotateGrab(t)})),this._createRotateDragPipeline(this._rotateManipulator)]),i.add(this._rotateManipulator),this._calculateMapBounds(),this._updateDisplayBounds();const p=lt({view:t,graphic:e,forEachManipulator:t=>this._forEachManipulator(t),onManipulatorsChanged:()=>a()});o(p)&&(this._outlineVisualElement=p.visualElement instanceof ut?p.visualElement:null),o(this._outlineVisualElement)&&s.add(this._outlineVisualElement.events.on("attachment-origin-changed",(()=>this._updateDisplayBounds()))),s.add(p),s.add([r.on("changed",(()=>this._onGeometryChanged())),h((()=>r.displaying),(()=>this._updateAllManipulatorAvailability())),h((()=>r.isDraped),(()=>this._graphicDrapedChanged()),c),t.trackGraphicState(r)]);const l=t.pointsOfInterest;l&&s.add(h((()=>l.centerOnSurfaceFrequent.location),(()=>this._updateDisplayBounds())));const d=t=>{s.add(t.events.on("grab-changed",(()=>{this.grabbing=t.grabbing,this._updateAllManipulatorAvailability()})))};this._forEachManipulator(d);const u=(t,i)=>{s.add(t.events.on("immediate-click",(t=>{i===nt.TRANSLATE_XY&&this.emit("immediate-click",{...t,graphic:e}),t.stopPropagation()})))};this._forEachManipulator(u),this._onGeometryChanged(),this._updateAllManipulatorAvailability(),this._initializeTooltip(),this.finishToolCreation()}destroy(){this._mapBounds=null,this._displayBounds=null,this._rotateManipulatorTexture.release(),this._handles.destroy(),this._graphicMoveManipulation.destroy(),this._editGeometryOperations.destroy(),this._tooltip.destroy(),this._set("view",null),this._set("graphic",null)}_initializeTooltip(){const{_handles:t,view:e}=this,i=this._tooltip=new wt({view:e}),a=()=>{i.info=this._getUpdatedTooltipInfo()};t.add([this.on("graphic-translate-start",a),this.on("graphic-translate",a),this.on("graphic-translate-stop",(()=>{this._moveXYTooltipInfo=null,this._moveZTooltipInfo=null,this._tooltip.clear()})),this.on("graphic-rotate-start",(t=>{this._startAngle=t.angle,a()})),this.on("graphic-rotate",(t=>{this._endAngle=t.angle,a()})),this.on("graphic-rotate-stop",(()=>{this._startAngle=0,this._endAngle=0,a()})),this.on("graphic-scale-start",(t=>{y(this._startScale,t.xScale,t.yScale),y(this._endScale,t.xScale,t.yScale),a()})),this.on("graphic-scale",(t=>{y(this._endScale,t.xScale,t.yScale),a()})),this.on("graphic-scale-stop",(()=>{y(this._startScale,0,0),y(this._endScale,0,0),a()}))]),this._forEachManipulator((e=>{t.add([e.events.on("focus-changed",a),e.events.on("grab-changed",a),e.events.on("drag",(t=>{"cancel"===t.action?this._tooltip.clear():a()}))])}))}_getUpdatedTooltipInfo(){return this.tooltipOptions.enabled?this._graphicMoveManipulation.grabbing||this._graphicMoveManipulation.dragging?this._computeMoveXYTooltipInfo():this._moveZManipulator.focused?this._computeMoveZTooltipInfo():this._rotateManipulator.focused?this._computeRotateTooltipInfo():this._resizeManipulators.some((t=>t.focused))?this._computeScaleTooltipInfo():null:null}_computeMoveXYTooltipInfo(){return this._moveXYTooltipInfo=r(this._moveXYTooltipInfo,(()=>new zt({tooltipOptions:this.tooltipOptions})))}_computeMoveZTooltipInfo(){const t=this._moveZTooltipInfo=r(this._moveZTooltipInfo,(()=>new Pt({tooltipOptions:this.tooltipOptions}))),e=this._moveUnit;if(this._moveZManipulator.dragging){const e=this._mapBoundsStart.origin,i=this._mapBounds.origin,a=Ut(e,i,this.view.spatialReference);if(n(a))return null;t.distance=a}else t.distance=l(0,e);return t}_computeRotateTooltipInfo(){const t=this._rotateTooltipInfo=r(this._rotateTooltipInfo,(()=>new Gt({tooltipOptions:this.tooltipOptions})));return t.angle=this._startAngle-this._endAngle,t}_computeScaleTooltipInfo(){const t=this.graphic.geometry;if(n(t))return null;const e=this._scaleTooltipInfo=r(this._scaleTooltipInfo,(()=>new Dt({tooltipOptions:this.tooltipOptions}))),i=Et(this._mapBounds,this._zmax,t.spatialReference,this._graphicState.isDraped);return n(i)?null:(e.xSize=i[0],e.ySize=i[1],o(this._sizeStart)&&this._resizeManipulators.some((t=>t.dragging))?(e.xScale=i[0].value/this._sizeStart[0].value,e.yScale=i[1].value/this._sizeStart[1].value):(e.xScale=1,e.yScale=1),e)}_graphicDrapedChanged(){this._handles.remove(Ct),this._updateDisplayBounds(),this._graphicState.isDraped&&this._handles.add(this.view.elevationProvider.on("elevation-change",(t=>{o(this._attachmentOrigin)&&j(t.extent,this._attachmentOrigin.x,this._attachmentOrigin.y)&&this._updateDisplayBounds()})),Ct)}_updateAllManipulatorAvailability(){this._forEachManipulator(((t,e)=>this._updateManipulatorAvailability(t,e)))}_updateManipulatorAvailability(t,e){const i=this.grabbing&&!t.grabbing;if(t.interactive=!i,t instanceof et){const a=this._graphicState.displaying,s=this.enableZ&&pt(this.graphic);switch(e){case nt.ROTATE:t.available=a&&this.enableRotation;break;case nt.SCALE:t.available=a&&(this.enableScaling||this.enableRotation||s),t.interactive=!i&&this.enableScaling,t.state=this.enableScaling?V:H;break;case nt.TRANSLATE_Z:t.available=a&&s;break;default:t.available=a}}}_forEachManipulator(t){this._graphicMoveManipulation.forEachManipulator(t),this._resizeManipulators.forEach((e=>t(e,nt.SCALE))),t(this._rotateManipulator,nt.ROTATE),t(this._moveZManipulator,nt.TRANSLATE_Z)}get preserveAspectRatio(){return this._preserveAspectRatio.enabled}set preserveAspectRatio(t){this._preserveAspectRatio.enabled=t,this._set("preserveAspectRatio",t)}get _moveUnit(){return r(u(this.view.spatialReference),"meters")}reset(){}_onGeometryChanged(){this._updateDisplayBounds()}_calculateMapBounds(){const t=this.graphic.geometry,e=this._editGeometryOperations.data,i=e.components[0].edges[0],a=f(U.get(),i.leftVertex.pos,i.rightVertex.pos);S(a,a);const s=r(at(this.view,this.graphic),(()=>t.extent.center));let o=Xt*this.view.pixelSizeAt(s);const n=this.view.spatialReference,p=t.spatialReference;n.equals(p)||(o*=m(n)/m(p)),Bt(a,e,o,this._mapBounds),this._updateZMax()}_updateZMax(){const t=this._editGeometryOperations.data;if(!t.geometry.hasZ)return void(this._zmax=0);const e=t.coordinateHelper;let i=Number.NEGATIVE_INFINITY;for(const a of t.components)for(const t of a.vertices){const a=e.getZ(t.pos);i=Math.max(a,i)}this._zmax=i}_updateDisplayBounds(){const t=this.graphic.geometry;if(n(t))return;const e=o(this._outlineVisualElement)&&!this._graphicState.isDraped&&o(this._outlineVisualElement.attachmentOrigin)?this._outlineVisualElement.attachmentOrigin:at(this.view,this.graphic);this._attachmentOrigin=r(e,t.extent.center);const i=o(e)?e.z:mt(this._mapBounds.origin,this.view.elevationProvider,_t.fromElevationInfo(k(this.graphic)),this.view.renderCoordsHelper),a=D(this._mapBounds);a.origin[2]=i,At(a,this.view.renderCoordsHelper,t.spatialReference,this._displayBoundsMargin,this._displayBounds),this._updateManipulators()}get _displayBoundsMargin(){const t=this.view.pointsOfInterest,e=t?t.centerOnSurfaceFrequent.location:this._editGeometryOperations.data.geometry.extent.center;return kt*this.view.pixelSizeAt(e)}_createMoveXYGraphicDragPipeline(){return this._graphicMoveManipulation.createDragPipeline(((t,e,i)=>this._applyGraphicMoveSteps(e,i,ht.XY)))}_createMoveZDragPipeline(){const t=this.view,e=this._editGeometryOperations.data.spatialReference;return yt(this._moveZManipulator,((i,a,s)=>{const o=R(i.renderLocation),r=a.next(ot(t,o,e)).next(St());this._applyGraphicMoveSteps(r,s,ht.Z)}))}_applyGraphicMoveSteps(t,e,i){const a=t.next((t=>("start"===t.action&&(this.inputState={type:"move"},this._updateOperationStartProperties(),this.emit("graphic-translate-start",{graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY})),t))).next(ft()).next(this._moveDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,dxScreen:t.screenDeltaX,dyScreen:t.screenDeltaY};switch(t.action){case"start":case"update":(t.mapEnd.x-t.mapStart.x||t.mapEnd.y-t.mapStart.y||t.mapEnd.z-t.mapStart.z)&&this.emit("graphic-translate",e);break;case"end":this.inputState=null,this.emit("graphic-translate-stop",e)}return t})).next((t=>this._updateMoveTooltip(t,i)));return e.next((()=>{o(this.inputState)&&this.emit("graphic-translate-stop",{graphic:this.graphic,dxScreen:0,dyScreen:0}),this._cancel()})),a}_updateOperationStartProperties(){D(this._displayBounds,this._displayBoundsStart),D(this._mapBounds,this._mapBoundsStart),n(this.graphic.geometry)?this._sizeStart=null:this._sizeStart=Et(this._mapBoundsStart,this._zmax,this.graphic.geometry.spatialReference,this._graphicState.isDraped)}_moveDragUpdateGeometry(){return t=>{if(n(this.inputState)||"move"!==this.inputState.type)return t;const e=[];for(const s of this._editGeometryOperations.data.components)e.push(...s.vertices);const i="start"===t.action?Tt.NEW_STEP:Tt.ACCUMULATE_STEPS,a=this._editGeometryOperations.moveVertices(e,t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i);return Ot(a,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_updateMoveTooltip(t,e){if(e===ht.XY||e===ht.XY_AXIS){const e=It(t.mapStart,t.mapEnd,this._graphicState.isDraped?"on-the-ground":"absolute-height");o(e)&&o(this._moveXYTooltipInfo)&&(this._moveXYTooltipInfo.distance=e)}return t}_onResizeGrab(t){if("start"!==t.action)return;const e=this._calculatePickRay(t.screenPoint);w(this._displayBounds.plane,e,Z.get())&&(this._updateOperationStartProperties(),this._displayBoundsMarginStart=this._displayBoundsMargin,this.inputState={type:"resize"})}_createResizeDragPipeline(t,e){return yt(t,((t,i,a)=>{n(this.inputState)||(i.next((t=>("start"===t.action&&this.emit("graphic-scale-start",{graphic:this.graphic,xScale:1,yScale:1}),t))).next(rt(this.view,this._displayBoundsStart.plane)).next((t=>({...t,handle:e}))).next(this._resizeDragRenderPlaneToFactors()).next(this._preserveAspectRatio.createDragEventPipelineStep(),this._preserveAspectRatio.next).next(this._resizeDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,xScale:t.factor1,yScale:t.factor2};switch(t.action){case"start":case"update":this.emit("graphic-scale",e);break;case"end":this.inputState=null,this.emit("graphic-scale-stop",e)}return t})),a.next((()=>{o(this.inputState)&&this.emit("graphic-scale-stop",{graphic:this.graphic,xScale:1,yScale:1}),this._cancel()})))}))}_resizeDragRenderPlaneToFactors(){return t=>{const e=this._displayBoundsStart,i=t.handle.direction,a=this._displayBoundsMargin,s=this._displayBoundsMarginStart,o=b(Z.get(),e.origin);T(o,o,e.basis1,-i[0]),T(o,o,e.basis2,-i[1]);const r=x(Z.get(),t.renderEnd,o),n=x(Z.get(),t.renderStart,o),p=F(t.handle),l=q(e),h=q(this._displayBounds)/l,c=(t,e)=>{if(0===t)return 1;let i=B(e),o=.5*t*A(e,r)/i;const l=o<0?-1:1;if(p){o+=(i-.5*t*A(e,n)/i)*l*h}const c=i<1.5*s?1:Yt;return i=Math.max(i-s,Yt),l>0&&(o-=a),l*Math.max(l*(o/i),c)};return{...t,factor1:c(i[0],e.basis1),factor2:c(i[1],e.basis2)}}}_resizeDragUpdateGeometry(){return t=>{const e=b(O(),this._mapBoundsStart.origin);T(e,e,this._mapBoundsStart.basis1,-t.handle.direction[0]),T(e,e,this._mapBoundsStart.basis2,-t.handle.direction[1]);const i=y(M(),this._mapBoundsStart.basis1[0],this._mapBoundsStart.basis1[1]);S(i,i);const a=[];for(const r of this._editGeometryOperations.data.components)a.push(...r.vertices);const s="start"===t.action?Tt.NEW_STEP:Tt.ACCUMULATE_STEPS,o=this._editGeometryOperations.scaleVertices(a,e,i,t.factor1,t.factor2,s,xt.REPLACE);return D(this._mapBoundsStart,this._mapBounds),Ot(o,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_onRotateGrab(t){if("start"!==t.action)return;const e=W(this._displayBounds,this.view.renderCoordsHelper,J.HEADING,z()),i=this._calculatePickRay(t.screenPoint);w(e,i,Z.get())&&(this._updateOperationStartProperties(),this.inputState={type:"rotate",rotatePlane:e})}_createRotateDragPipeline(t){return yt(t,((t,e,i)=>{const a=this.inputState;n(a)||(e.next((t=>("start"===t.action&&this.emit("graphic-rotate-start",{graphic:this.graphic,angle:0}),t))).next(rt(this.view,a.rotatePlane)).next(this._rotateDragRenderPlaneToRotate(a)).next(this._rotateDragUpdateGeometry()).next((t=>{const e={graphic:this.graphic,angle:s(t.rotateAngle)};switch(t.action){case"start":case"update":this.emit("graphic-rotate",e);break;case"end":this.inputState=null,this.emit("graphic-rotate-stop",e)}return t})),i.next((()=>{o(this.inputState)&&this.emit("graphic-rotate-stop",{graphic:this.graphic,angle:0}),this._cancel()})))}))}_rotateDragRenderPlaneToRotate(t){return e=>{const i=P(t.rotatePlane),a=st(e.renderStart,e.renderEnd,this._displayBounds.origin,i);return{...e,rotateAxis:i,rotateAngle:a}}}_rotateDragUpdateGeometry(){return t=>{const e=b(O(),this._mapBoundsStart.origin),i=[];for(const o of this._editGeometryOperations.data.components)i.push(...o.vertices);const a="start"===t.action?Tt.NEW_STEP:Tt.ACCUMULATE_STEPS,s=this._editGeometryOperations.rotateVertices(i,e,t.rotateAngle,a,xt.REPLACE);return D(this._mapBoundsStart,this._mapBounds),Ot(s,this._mapBounds),this.graphic.geometry=this._editGeometryOperations.data.geometry,t}}_calculatePickRay(t){const e=I(),i=d(t);return vt(this.view.state.camera,i,e),E(e.direction,e.direction),e}_updateManipulators(){if(!this.visible)return;const t=K(this._displayBounds,C.get());Q(this._rotateManipulator,t,this._displayBounds,this.view.renderCoordsHelper),this._updateZMoveHandle(this._moveZManipulator,t),this._resizeManipulators.forEach(((e,i)=>{$(e,this._resizeHandles[i],t,this._displayBounds)}))}_updateZMoveHandle(t,e){const i=this._displayBounds,a={basis:i.basis1,direction:-1,position:x(Z.get(),i.origin,i.basis1),edge:2},s=C.get();v(s,e,a.edge*Math.PI/2),s[12]=0,s[13]=0,s[14]=0,t.modelTransform=s,t.renderLocation=a.position}_cancel(){const t=this._editGeometryOperations.lastOperation;n(t)||(this._editGeometryOperations.undo(),this.graphic.geometry=this._editGeometryOperations.data.geometry,Rt(t,this._mapBounds),this._updateDisplayBounds(),this.inputState=null)}get canUndo(){return this._editGeometryOperations.canUndo}undo(){if(o(this.inputState))this.view.activeTool=null;else if(this.canUndo){const t=this._editGeometryOperations.undo();this.graphic.geometry=this._editGeometryOperations.data.geometry,Rt(p(t),this._mapBounds),this._updateDisplayBounds()}}get canRedo(){return this._editGeometryOperations.canRedo}redo(){if(this.canRedo){const t=this._editGeometryOperations.redo();this.graphic.geometry=this._editGeometryOperations.data.geometry,Ot(p(t),this._mapBounds),this._updateDisplayBounds()}}get test(){return{resizeManipulators:this._resizeManipulators,rotateManipulator:this._rotateManipulator,moveZManipulator:this._moveZManipulator,tooltip:this._tooltip}}};t([_({constructOnly:!0,nonNullable:!0})],Zt.prototype,"view",void 0),t([_({constructOnly:!0,nonNullable:!0})],Zt.prototype,"graphic",void 0),t([_({constructOnly:!0,nonNullable:!0})],Zt.prototype,"enableZ",void 0),t([_()],Zt.prototype,"enableRotation",void 0),t([_()],Zt.prototype,"enableScaling",void 0),t([_({constructOnly:!0,type:jt})],Zt.prototype,"tooltipOptions",void 0),t([_()],Zt.prototype,"preserveAspectRatio",null),t([_()],Zt.prototype,"grabbing",void 0),t([_()],Zt.prototype,"inputState",void 0),t([_({readOnly:!0})],Zt.prototype,"type",void 0),t([_()],Zt.prototype,"_moveUnit",null),Zt=t([g("esri.views.3d.interactive.editingTools.graphicTransform3D.ExtentTransformTool")],Zt);const Ct="draped-elevation-changes",kt=10,Xt=80,Yt=1e-6;export{Yt as EPSILON,Zt as ExtentTransformTool};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{cyclicalPI as t}from"../../../../../core/Cyclical.js";import e from"../../../../../core/Evented.js";import a from"../../../../../core/Handles.js";import{clamp as i,rad2deg as o}from"../../../../../core/mathUtils.js";import{isSome as s,destroyMaybe as r,unwrapOr as n,isNone as l}from"../../../../../core/maybe.js";import{createAngle as c,createLength as h}from"../../../../../core/quantityUtils.js";import{when as p,initial as u,watch as d}from"../../../../../core/reactiveUtils.js";import{addFrameTask as g}from"../../../../../core/scheduling.js";import{createScreenPointArray as m}from"../../../../../core/screenUtils.js";import{d as _,C as f,m as M,k as D,e as S}from"../../../../../chunks/mat4.js";import{c as v}from"../../../../../chunks/mat4f64.js";import{s as y,b,l as T,d as R,f as k,a as j}from"../../../../../chunks/vec3.js";import{a as w,f as O}from"../../../../../chunks/vec3f64.js";import{a as A}from"../../../../../chunks/vec4f64.js";import{fromPositionAndNormal as I,create as F,normal as P}from"../../../../../geometry/support/plane.js";import{wrap as E,distance2 as C}from"../../../../../geometry/support/ray.js";import{sv3d as U,sm4d as z}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as L}from"../../../../../support/elevationInfoUtils.js";import{Manipulator3D as x}from"../../Manipulator3D.js";import{calculateInputRotationTransform as N}from"../../manipulatorUtils.js";import{screenToRenderPlane as H}from"../dragEventPipeline3D.js";import{ManipulatorType as V}from"../ManipulatorType.js";import{ROTATE_INDICATOR_DIRECTION_BUFFER as q,SCALE_INDICATOR_DIRECTION_BUFFER as B,ROTATE_INDICATOR_ARROW_PLACEMENT_PERCENTAGE as G,RING_THICKNESS as J,HANDLE_COLOR as K,DRAG_THRESHOLD_PX as Q,RING_RADIUS as W,INNER_INDICATOR_RADIUS as X,OUTER_INDICATOR_RADIUS as Y,RING_HEIGHT as Z,ROTATE_INDICATOR_ARROW_TIP_RADIUS as $,ROTATE_INDICATOR_ARROW_TIP_LENGTH as tt,SCALE_INDICATOR_OFFSET1 as et,SCALE_INDICATOR_OFFSET2 as at,RING_INDICATOR_DELAY_MS as it,GEOMETRY_SEGMENTS as ot,ROTATE_INDICATOR_ARC_LENGTH as st,INDICATOR_THICKNESS as rt,RING_RESET_ANIMATION_SPEED_FACTOR as nt,SCALE_INDICATOR_ARC_LENGTH as lt}from"../manipulations/config.js";import{CullFaceOptions as ct}from"../../../webgl-engine/lib/basicInterfaces.js";import{createExtrudedTriangle as ht,transformInPlace as pt,createPathExtrusionGeometry as ut}from"../../../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as dt}from"../../../webgl-engine/lib/Material.js";import{ColorMaterial as gt}from"../../../webgl-engine/materials/ColorMaterial.js";import{createManipulatorDragEventPipeline as mt}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateCustomFlags as _t,ManipulatorStateFlags as ft}from"../../../../interactive/interfaces.js";import{Tooltip as Mt}from"../../../../interactive/tooltip/Tooltip.js";import{TransformRotateTooltipInfo as Dt,TransformScaleTooltipInfo as St,TransformAbsoluteTooltipInfo as vt}from"../../../../interactive/tooltip/TransformTooltipInfos.js";var yt,bt;!function(t){t.ScaleIn=_t.Custom2,t.ScaleOut=_t.Custom3,t.RotateLeft=_t.Custom4,t.RotateRight=_t.Custom5,t.Unlocked=_t.Custom7,t.DelayedFocused=_t.Custom8,t.TouchInput=_t.Custom12}(yt||(yt={}));class Tt{constructor({adapter:t,tooltipOptions:i,mode:o,tool:r}){this._mode=null,this._handles=new a,this._scaleRotateDragData=null,this._activeAnimation=null,this.events=new e,this.getFocused=()=>this._ringManipulator.focused,this.getScale=()=>s(this._scaleRotateDragData)&&"scale"===this._scaleRotateDragData.mode?this._adapter.scale:1,this.tool=r,this._mode=o,this._adapter=t,this._tooltipOptions=i,this._tooltip=new Mt({view:r.view}),this._createManipulator(),this._updateDragState(),this._updateManipulatorTransform(),this._handles.add(p((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),u))}get angle(){return this._adapter.angle}get scale(){return this._adapter.scale}set location(t){this._ringManipulator.location=t}set elevationAlignedLocation(t){this._ringManipulator.elevationAlignedLocation=t}get grabbing(){return this._ringManipulator.grabbing}set interactive(t){this._ringManipulator.interactive=t}destroy(){s(this._activeAnimation)&&(this._activeAnimation.frameTask.remove(),this._activeAnimation=null),this._handles=r(this._handles),this.tool.manipulators.remove(this._ringManipulator),this._ringManipulator=null,this._tooltip=r(this._tooltip)}startAnimation(t){this.cancelActiveAnimation(),t.start();const e=g({update:({deltaTime:e})=>{t.update(e)&&this.cancelActiveAnimation()}});this._activeAnimation={...t,frameTask:e}}cancelActiveAnimation(){s(this._activeAnimation)&&(this._activeAnimation.frameTask.remove(),this._activeAnimation=r(this._activeAnimation))}forEachManipulator(t){t(this._ringManipulator,V.SCALE_ROTATE)}_createManipulator(){const e=this._createRingManipulator();this._ringManipulator=e,this.tool.manipulators.add(e);const a=this.tool.graphicState.graphic,r=mt(e,((e,r,n)=>{this._scaleRotateDragData=null;const l=this._adapter.startInteraction(),c={mode:"none",origin:w(e.renderLocation),initialAngle:this._adapter.angle,angle:0,angleDir:0,scaleDir:0};this._scaleRotateDragData=c,this._updateDragState();const h=U.get();this.tool.view.renderCoordsHelper.worldUpAtPosition(e.renderLocation,h),r.next(H(this.tool.view,I(e.renderLocation,h,F()))).next((e=>{const r=P(e.plane),n=N(e.renderStart,e.renderEnd,c.origin,r),h=t.shortestSignedDiff(c.angle,n);c.angleDir=i(c.angleDir+h,-q,q),c.angle=n;const p=Rt(c,e),u=p-this._adapter.scale;if(c.scaleDir=i(c.scaleDir+u,-B,B),this._onScaleChanged(),"none"===c.mode){const t=this._mode||kt(e,e.plane,c.origin,this.tool.view.state.camera);if(s(t)){switch(t){case"rotate":this.tool.emit("graphic-rotate-start",{graphic:a,angle:0}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()});break;case"scale":this.tool.emit("graphic-scale-start",{graphic:a,xScale:1,yScale:1}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()})}c.mode=t}}switch(c.mode){case"rotate":l.state.angle=c.initialAngle+n;break;case"scale":l.state.scale=p,this._onScaleChanged()}switch(this._updateDragState(),this._updateManipulatorTransform(),e.action){case"start":case"update":switch(c.mode){case"rotate":this.tool.emit("graphic-rotate",{graphic:a,angle:o(c.angle)});break;case"scale":this.tool.emit("graphic-scale",{graphic:a,xScale:p,yScale:p})}break;case"end":switch(c.mode){case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:o(c.angle)});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:p,yScale:p})}}return"end"===e.action&&(this.startAnimation(wt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState(),l.done()),e})).next(this._updateTooltipPipelineStep(c)),n.next((()=>{if(l.cancel(),s(this._scaleRotateDragData)){switch(this._scaleRotateDragData.mode){case"none":break;case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:0});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:1,yScale:1})}this.startAnimation(wt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState()}this._updateFocusTooltip()}))}));this._handles.add([r,e.events.on("focus-changed",(t=>{"focus"===t.action?this.startAnimation(Ot(this,(()=>this._updateDelayedFocusedState()))):this._updateDelayedFocusedState()})),e.events.on("immediate-click",(t=>{t.stopPropagation()})),d((()=>this.tool.graphicState?.displaying),(t=>this._ringManipulator.available=t),u)])}_updateTooltipPipelineStep(t){return e=>{const a=this._tooltipOptions;if(!a.enabled)return e;if("end"===e.action)return this._updateFocusTooltip(),e;const i=this._tooltip,o=this._tooltipOptions.visualVariables,r=s(o)?o.size:null,l=s(o)?o.rotation:null;switch(t.mode){case"scale":i.info=new St({tooltipOptions:a,scale:{value:this._adapter.scale},size:h(n(this._adapter.size,-1),"meters"),sizeUnit:s(r)?r.unit:null,sizePrecision:s(r)?At(r.valueType):null});break;case"rotate":{const t=s(l)?At(l.valueType):null,e=s(l)?l.rotationType:"geographic";i.info=new Dt({tooltipOptions:a,rotation:c(n(-this._adapter.relativeAngle,0),"radians","geographic"),rotationPrecision:t,orientation:c(-this._adapter.angle,"radians","geographic"),orientationPrecision:t,rotationType:e})}}return e}}_updateFocusTooltip(){if(!this._tooltipOptions.enabled)return;if(this.getFocused()){const t=this._tooltipOptions.visualVariables,e=s(t)?t.rotation:null,a=s(t)?t.size:null;this._tooltip.info=new vt({tooltipOptions:this._tooltipOptions,orientation:c(-this._adapter.angle,"radians","geographic"),orientationEnabled:null==this._mode||"rotate"===this._mode,orientationPrecision:s(e)?At(e.valueType):null,rotationType:s(e)?e.rotationType:"geographic",size:h(n(this._adapter.size,-1),"meters"),sizeUnit:s(a)?a.unit:null,sizeEnabled:null==this._mode||"scale"===this._mode,sizePrecision:s(a)?At(a.valueType):null})}else this._tooltip.clear()}_onScaleChanged(){this.events.emit("scale-changed"),this._updateManipulatorTransform()}_updateDelayedFocusedState(){this._ringManipulator.updateStateEnabled(yt.DelayedFocused,this.getFocused()),this._updateFocusTooltip()}_updateDragState(){if(this._ringManipulator.updateStateEnabled(yt.Unlocked,!(s(this._scaleRotateDragData)&&"none"!==this._scaleRotateDragData.mode)),s(this._scaleRotateDragData))switch(this._scaleRotateDragData.mode){case"rotate":this._ringManipulator.updateStateEnabled(yt.ScaleIn|yt.ScaleOut,!1),this._ringManipulator.updateStateEnabled(yt.RotateLeft,this._scaleRotateDragData.angleDir<0),this._ringManipulator.updateStateEnabled(yt.RotateRight,this._scaleRotateDragData.angleDir>=0);break;case"scale":this._ringManipulator.updateStateEnabled(yt.RotateLeft|yt.RotateRight,!1),this._ringManipulator.updateStateEnabled(yt.ScaleIn,this._scaleRotateDragData.scaleDir<0),this._ringManipulator.updateStateEnabled(yt.ScaleOut,this._scaleRotateDragData.scaleDir>=0)}else this._ringManipulator.updateStateEnabled(yt.ScaleIn|yt.ScaleOut|yt.RotateLeft|yt.RotateRight,!1)}_updateManipulatorTransform(){const t=_(z.get(),this._adapter.angle,O(0,0,1));if(l(t))return;const e=this.getScale(),a=f(z.get(),y(U.get(),e,e,e));this._ringManipulator.modelTransform=M(z.get(),a,t)}_createRingManipulator(){const t=(t,e,a)=>{const i=[],o=Math.ceil(ot*(e-t)/(2*Math.PI));for(let s=0;s<o+1;s++){const r=t+s*(e-t)/o;i.push(O(a*Math.cos(r),a*Math.sin(r),0))}return i},e=e=>t(0,2*Math.PI,e),a=t=>[[-t/2,0],[t/2,0],[t/2,Z/2],[-t/2,Z/2]],i=(t,e)=>ut(a(e),t,[],[],!1),o=e(W),s=i(o,J),r={left:[],right:[]},n=[];for(let k=0;k<2;k++){const e=k*Math.PI-Math.PI/4,a=Math.PI/2-st,o=e+a,s=e+Math.PI/2-a,l=t(o,s,X),c=i(l,rt);n.push(l),n.push(t(o,s,Y-J/2)),r.left.push(c),r.right.push(c);for(let t=0;t<2;t++){const e=0===t,a=v();if(e){D(a,a,[1,-1,1]),S(a,a,-o,[0,0,1]);const t=Math.round(G*(l.length-1));a[12]=l[t][0],a[13]=l[t][1],a[14]=l[t][2]}else{S(a,a,s,[0,0,1]);const t=Math.round((1-G)*(l.length-1));a[12]=l[t][0],a[13]=l[t][1],a[14]=l[t][2]}const i=ht(tt,0,$,Z);pt(i,a),(e?r.left:r.right).push(i)}}const l=[];for(let D=0;D<2;D++){const e=D*Math.PI-Math.PI/4,a=Math.PI/2-lt,o=e+a,s=e+Math.PI/2-a,r=t(o,s,Y);l.push(i(r,rt))}const c=e(W+et),h=e(W+at),p=i(c,rt),u=i(h,rt),d=e(W-et),g=e(W-at),m=i(d,rt),_=i(g,rt),f=this._createMaterial(),M=this._createMaterial(.66),y=this._createMaterial(.5),b=this._createMaterial(.33);let T=[{geometry:s,material:f,stateMask:yt.DelayedFocused},{geometry:s,material:y,stateMask:ft.None}];this._mode&&"scale"!==this._mode||(T=T.concat([{geometry:l,material:f,stateMask:yt.DelayedFocused|yt.Unlocked},{geometry:p,material:M,stateMask:yt.DelayedFocused|yt.ScaleIn},{geometry:u,material:b,stateMask:yt.DelayedFocused|yt.ScaleIn},{geometry:m,material:M,stateMask:yt.DelayedFocused|yt.ScaleOut},{geometry:_,material:b,stateMask:yt.DelayedFocused|yt.ScaleOut}])),this._mode&&"rotate"!==this._mode||(T=T.concat([{geometry:r.right,material:f,stateMask:yt.DelayedFocused|yt.Unlocked},{geometry:r.left,material:f,stateMask:yt.DelayedFocused|yt.RotateLeft},{geometry:r.right,material:f,stateMask:yt.DelayedFocused|yt.RotateRight}]));const R=[o,...n];return new x({view:this.tool.view,renderObjects:T,autoScaleRenderObjects:!1,worldOriented:!0,radius:J,focusMultiplier:1,touchMultiplier:1.5,elevationInfo:L(this.tool.graphicState.graphic),collisionType:{type:"ribbon",paths:R,direction:O(0,0,1)}})}_createMaterial(t=1){const e=A([...K,t]);return new gt({color:e,transparent:1!==t,cullFace:ct.Back,renderOccluded:dt.Transparent})}get test(){return{ringManipulator:this._ringManipulator,tooltip:this._tooltip}}}function Rt(t,e){const a=b(U.get(),e.renderStart,t.origin),i=b(U.get(),e.renderEnd,t.origin),o=T(a),s=T(i);return 0===o?0:s/o}function kt(t,e,a,i){const{renderStart:o,renderEnd:s}=t,r=jt(o,i,U.get()),n=jt(s,i,U.get());if(R(r,n)<Q*Q)return null;const l=b(U.get(),o,a),c=k(U.get(),l,P(e)),h=o,p=j(U.get(),h,c),u=jt(a,i,U.get()),d=r,g=jt(p,i,U.get()),m=b(U.get(),g,d),_=b(U.get(),r,u),f=E(d,m),M=E(u,_);return C(f,n)<C(M,n)?"rotate":"scale"}function jt(t,e,a){return e.projectToScreen(t,It),y(a,It[0],It[1],0)}function wt(t,e){let a=null,i=1;const o=()=>i;return{start:()=>{i=t.getScale(),a=t.getScale,t.getScale=o,e()},update:t=>(i+=((i+1)/2-i)*Math.min(t*nt,1),e(),Math.abs(i-1)<.01?bt.STOP:bt.CONTINUE),destroy:()=>{t.getScale=a,e()}}}function Ot(t,e){let a=0,i=null;const o=()=>!1;return{start:()=>{i=t.getFocused,t.getFocused=o,a=0,e()},update:t=>(a+=t,!i()||a>it?bt.STOP:bt.CONTINUE),destroy:()=>{t.getFocused=i,e()}}}function At(t){switch(t){case"integer":case"long":return 0;default:return null}}!function(t){t[t.CONTINUE=0]="CONTINUE",t[t.STOP=1]="STOP"}(bt||(bt={}));const It=m();export{Tt as GraphicScaleRotateTransform};
5
+ import{cyclicalPI as t}from"../../../../../core/Cyclical.js";import e from"../../../../../core/Evented.js";import a from"../../../../../core/Handles.js";import{clamp as i,rad2deg as o}from"../../../../../core/mathUtils.js";import{isSome as s,destroyMaybe as r,unwrapOr as n,isNone as l}from"../../../../../core/maybe.js";import{createAngle as c,createLength as h}from"../../../../../core/quantityUtils.js";import{when as p,initial as u,watch as d}from"../../../../../core/reactiveUtils.js";import{addFrameTask as g}from"../../../../../core/scheduling.js";import{createScreenPointArray as m}from"../../../../../core/screenUtils.js";import{d as _,C as f,m as M,k as D,e as S}from"../../../../../chunks/mat4.js";import{c as v}from"../../../../../chunks/mat4f64.js";import{s as y,b,l as T,d as R,f as k,a as j}from"../../../../../chunks/vec3.js";import{a as w,f as O}from"../../../../../chunks/vec3f64.js";import{b as A}from"../../../../../chunks/vec4f64.js";import{fromPositionAndNormal as I,create as F,normal as P}from"../../../../../geometry/support/plane.js";import{wrap as E,distance2 as C}from"../../../../../geometry/support/ray.js";import{sv3d as U,sm4d as z}from"../../../../../geometry/support/vectorStacks.js";import{getGraphicEffectiveElevationInfo as L}from"../../../../../support/elevationInfoUtils.js";import{Manipulator3D as x}from"../../Manipulator3D.js";import{calculateInputRotationTransform as N}from"../../manipulatorUtils.js";import{screenToRenderPlane as H}from"../dragEventPipeline3D.js";import{ManipulatorType as V}from"../ManipulatorType.js";import{ROTATE_INDICATOR_DIRECTION_BUFFER as q,SCALE_INDICATOR_DIRECTION_BUFFER as B,ROTATE_INDICATOR_ARROW_PLACEMENT_PERCENTAGE as G,RING_THICKNESS as J,HANDLE_COLOR as K,DRAG_THRESHOLD_PX as Q,RING_RADIUS as W,INNER_INDICATOR_RADIUS as X,OUTER_INDICATOR_RADIUS as Y,RING_HEIGHT as Z,ROTATE_INDICATOR_ARROW_TIP_RADIUS as $,ROTATE_INDICATOR_ARROW_TIP_LENGTH as tt,SCALE_INDICATOR_OFFSET1 as et,SCALE_INDICATOR_OFFSET2 as at,RING_INDICATOR_DELAY_MS as it,GEOMETRY_SEGMENTS as ot,ROTATE_INDICATOR_ARC_LENGTH as st,INDICATOR_THICKNESS as rt,RING_RESET_ANIMATION_SPEED_FACTOR as nt,SCALE_INDICATOR_ARC_LENGTH as lt}from"../manipulations/config.js";import{CullFaceOptions as ct}from"../../../webgl-engine/lib/basicInterfaces.js";import{createExtrudedTriangle as ht,transformInPlace as pt,createPathExtrusionGeometry as ut}from"../../../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as dt}from"../../../webgl-engine/lib/Material.js";import{ColorMaterial as gt}from"../../../webgl-engine/materials/ColorMaterial.js";import{createManipulatorDragEventPipeline as mt}from"../../../../interactive/dragEventPipeline.js";import{ManipulatorStateCustomFlags as _t,ManipulatorStateFlags as ft}from"../../../../interactive/interfaces.js";import{Tooltip as Mt}from"../../../../interactive/tooltip/Tooltip.js";import{TransformRotateTooltipInfo as Dt,TransformScaleTooltipInfo as St,TransformAbsoluteTooltipInfo as vt}from"../../../../interactive/tooltip/TransformTooltipInfos.js";var yt,bt;!function(t){t.ScaleIn=_t.Custom2,t.ScaleOut=_t.Custom3,t.RotateLeft=_t.Custom4,t.RotateRight=_t.Custom5,t.Unlocked=_t.Custom7,t.DelayedFocused=_t.Custom8,t.TouchInput=_t.Custom12}(yt||(yt={}));class Tt{constructor({adapter:t,tooltipOptions:i,mode:o,tool:r}){this._mode=null,this._handles=new a,this._scaleRotateDragData=null,this._activeAnimation=null,this.events=new e,this.getFocused=()=>this._ringManipulator.focused,this.getScale=()=>s(this._scaleRotateDragData)&&"scale"===this._scaleRotateDragData.mode?this._adapter.scale:1,this.tool=r,this._mode=o,this._adapter=t,this._tooltipOptions=i,this._tooltip=new Mt({view:r.view}),this._createManipulator(),this._updateDragState(),this._updateManipulatorTransform(),this._handles.add(p((()=>!this._tooltipOptions.enabled),(()=>this._tooltip.clear()),u))}get angle(){return this._adapter.angle}get scale(){return this._adapter.scale}set location(t){this._ringManipulator.location=t}set elevationAlignedLocation(t){this._ringManipulator.elevationAlignedLocation=t}get grabbing(){return this._ringManipulator.grabbing}set interactive(t){this._ringManipulator.interactive=t}destroy(){s(this._activeAnimation)&&(this._activeAnimation.frameTask.remove(),this._activeAnimation=null),this._handles=r(this._handles),this.tool.manipulators.remove(this._ringManipulator),this._ringManipulator=null,this._tooltip=r(this._tooltip)}startAnimation(t){this.cancelActiveAnimation(),t.start();const e=g({update:({deltaTime:e})=>{t.update(e)&&this.cancelActiveAnimation()}});this._activeAnimation={...t,frameTask:e}}cancelActiveAnimation(){s(this._activeAnimation)&&(this._activeAnimation.frameTask.remove(),this._activeAnimation=r(this._activeAnimation))}forEachManipulator(t){t(this._ringManipulator,V.SCALE_ROTATE)}_createManipulator(){const e=this._createRingManipulator();this._ringManipulator=e,this.tool.manipulators.add(e);const a=this.tool.graphicState.graphic,r=mt(e,((e,r,n)=>{this._scaleRotateDragData=null;const l=this._adapter.startInteraction(),c={mode:"none",origin:w(e.renderLocation),initialAngle:this._adapter.angle,angle:0,angleDir:0,scaleDir:0};this._scaleRotateDragData=c,this._updateDragState();const h=U.get();this.tool.view.renderCoordsHelper.worldUpAtPosition(e.renderLocation,h),r.next(H(this.tool.view,I(e.renderLocation,h,F()))).next((e=>{const r=P(e.plane),n=N(e.renderStart,e.renderEnd,c.origin,r),h=t.shortestSignedDiff(c.angle,n);c.angleDir=i(c.angleDir+h,-q,q),c.angle=n;const p=Rt(c,e),u=p-this._adapter.scale;if(c.scaleDir=i(c.scaleDir+u,-B,B),this._onScaleChanged(),"none"===c.mode){const t=this._mode||kt(e,e.plane,c.origin,this.tool.view.state.camera);if(s(t)){switch(t){case"rotate":this.tool.emit("graphic-rotate-start",{graphic:a,angle:0}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()});break;case"scale":this.tool.emit("graphic-scale-start",{graphic:a,xScale:1,yScale:1}),this.tool.emit("record-undo",{record:this._adapter.createUndoRecord()})}c.mode=t}}switch(c.mode){case"rotate":l.state.angle=c.initialAngle+n;break;case"scale":l.state.scale=p,this._onScaleChanged()}switch(this._updateDragState(),this._updateManipulatorTransform(),e.action){case"start":case"update":switch(c.mode){case"rotate":this.tool.emit("graphic-rotate",{graphic:a,angle:o(c.angle)});break;case"scale":this.tool.emit("graphic-scale",{graphic:a,xScale:p,yScale:p})}break;case"end":switch(c.mode){case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:o(c.angle)});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:p,yScale:p})}}return"end"===e.action&&(this.startAnimation(wt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState(),l.done()),e})).next(this._updateTooltipPipelineStep(c)),n.next((()=>{if(l.cancel(),s(this._scaleRotateDragData)){switch(this._scaleRotateDragData.mode){case"none":break;case"rotate":this.tool.emit("graphic-rotate-stop",{graphic:a,angle:0});break;case"scale":this.tool.emit("graphic-scale-stop",{graphic:a,xScale:1,yScale:1})}this.startAnimation(wt(this,(()=>this._onScaleChanged()))),this._scaleRotateDragData=null,this._updateDragState()}this._updateFocusTooltip()}))}));this._handles.add([r,e.events.on("focus-changed",(t=>{"focus"===t.action?this.startAnimation(Ot(this,(()=>this._updateDelayedFocusedState()))):this._updateDelayedFocusedState()})),e.events.on("immediate-click",(t=>{t.stopPropagation()})),d((()=>this.tool.graphicState?.displaying),(t=>this._ringManipulator.available=t),u)])}_updateTooltipPipelineStep(t){return e=>{const a=this._tooltipOptions;if(!a.enabled)return e;if("end"===e.action)return this._updateFocusTooltip(),e;const i=this._tooltip,o=this._tooltipOptions.visualVariables,r=s(o)?o.size:null,l=s(o)?o.rotation:null;switch(t.mode){case"scale":i.info=new St({tooltipOptions:a,scale:{value:this._adapter.scale},size:h(n(this._adapter.size,-1),"meters"),sizeUnit:s(r)?r.unit:null,sizePrecision:s(r)?At(r.valueType):null});break;case"rotate":{const t=s(l)?At(l.valueType):null,e=s(l)?l.rotationType:"geographic";i.info=new Dt({tooltipOptions:a,rotation:c(n(-this._adapter.relativeAngle,0),"radians","geographic"),rotationPrecision:t,orientation:c(-this._adapter.angle,"radians","geographic"),orientationPrecision:t,rotationType:e})}}return e}}_updateFocusTooltip(){if(!this._tooltipOptions.enabled)return;if(this.getFocused()){const t=this._tooltipOptions.visualVariables,e=s(t)?t.rotation:null,a=s(t)?t.size:null;this._tooltip.info=new vt({tooltipOptions:this._tooltipOptions,orientation:c(-this._adapter.angle,"radians","geographic"),orientationEnabled:null==this._mode||"rotate"===this._mode,orientationPrecision:s(e)?At(e.valueType):null,rotationType:s(e)?e.rotationType:"geographic",size:h(n(this._adapter.size,-1),"meters"),sizeUnit:s(a)?a.unit:null,sizeEnabled:null==this._mode||"scale"===this._mode,sizePrecision:s(a)?At(a.valueType):null})}else this._tooltip.clear()}_onScaleChanged(){this.events.emit("scale-changed"),this._updateManipulatorTransform()}_updateDelayedFocusedState(){this._ringManipulator.updateStateEnabled(yt.DelayedFocused,this.getFocused()),this._updateFocusTooltip()}_updateDragState(){if(this._ringManipulator.updateStateEnabled(yt.Unlocked,!(s(this._scaleRotateDragData)&&"none"!==this._scaleRotateDragData.mode)),s(this._scaleRotateDragData))switch(this._scaleRotateDragData.mode){case"rotate":this._ringManipulator.updateStateEnabled(yt.ScaleIn|yt.ScaleOut,!1),this._ringManipulator.updateStateEnabled(yt.RotateLeft,this._scaleRotateDragData.angleDir<0),this._ringManipulator.updateStateEnabled(yt.RotateRight,this._scaleRotateDragData.angleDir>=0);break;case"scale":this._ringManipulator.updateStateEnabled(yt.RotateLeft|yt.RotateRight,!1),this._ringManipulator.updateStateEnabled(yt.ScaleIn,this._scaleRotateDragData.scaleDir<0),this._ringManipulator.updateStateEnabled(yt.ScaleOut,this._scaleRotateDragData.scaleDir>=0)}else this._ringManipulator.updateStateEnabled(yt.ScaleIn|yt.ScaleOut|yt.RotateLeft|yt.RotateRight,!1)}_updateManipulatorTransform(){const t=_(z.get(),this._adapter.angle,O(0,0,1));if(l(t))return;const e=this.getScale(),a=f(z.get(),y(U.get(),e,e,e));this._ringManipulator.modelTransform=M(z.get(),a,t)}_createRingManipulator(){const t=(t,e,a)=>{const i=[],o=Math.ceil(ot*(e-t)/(2*Math.PI));for(let s=0;s<o+1;s++){const r=t+s*(e-t)/o;i.push(O(a*Math.cos(r),a*Math.sin(r),0))}return i},e=e=>t(0,2*Math.PI,e),a=t=>[[-t/2,0],[t/2,0],[t/2,Z/2],[-t/2,Z/2]],i=(t,e)=>ut(a(e),t,[],[],!1),o=e(W),s=i(o,J),r={left:[],right:[]},n=[];for(let k=0;k<2;k++){const e=k*Math.PI-Math.PI/4,a=Math.PI/2-st,o=e+a,s=e+Math.PI/2-a,l=t(o,s,X),c=i(l,rt);n.push(l),n.push(t(o,s,Y-J/2)),r.left.push(c),r.right.push(c);for(let t=0;t<2;t++){const e=0===t,a=v();if(e){D(a,a,[1,-1,1]),S(a,a,-o,[0,0,1]);const t=Math.round(G*(l.length-1));a[12]=l[t][0],a[13]=l[t][1],a[14]=l[t][2]}else{S(a,a,s,[0,0,1]);const t=Math.round((1-G)*(l.length-1));a[12]=l[t][0],a[13]=l[t][1],a[14]=l[t][2]}const i=ht(tt,0,$,Z);pt(i,a),(e?r.left:r.right).push(i)}}const l=[];for(let D=0;D<2;D++){const e=D*Math.PI-Math.PI/4,a=Math.PI/2-lt,o=e+a,s=e+Math.PI/2-a,r=t(o,s,Y);l.push(i(r,rt))}const c=e(W+et),h=e(W+at),p=i(c,rt),u=i(h,rt),d=e(W-et),g=e(W-at),m=i(d,rt),_=i(g,rt),f=this._createMaterial(),M=this._createMaterial(.66),y=this._createMaterial(.5),b=this._createMaterial(.33);let T=[{geometry:s,material:f,stateMask:yt.DelayedFocused},{geometry:s,material:y,stateMask:ft.None}];this._mode&&"scale"!==this._mode||(T=T.concat([{geometry:l,material:f,stateMask:yt.DelayedFocused|yt.Unlocked},{geometry:p,material:M,stateMask:yt.DelayedFocused|yt.ScaleIn},{geometry:u,material:b,stateMask:yt.DelayedFocused|yt.ScaleIn},{geometry:m,material:M,stateMask:yt.DelayedFocused|yt.ScaleOut},{geometry:_,material:b,stateMask:yt.DelayedFocused|yt.ScaleOut}])),this._mode&&"rotate"!==this._mode||(T=T.concat([{geometry:r.right,material:f,stateMask:yt.DelayedFocused|yt.Unlocked},{geometry:r.left,material:f,stateMask:yt.DelayedFocused|yt.RotateLeft},{geometry:r.right,material:f,stateMask:yt.DelayedFocused|yt.RotateRight}]));const R=[o,...n];return new x({view:this.tool.view,renderObjects:T,autoScaleRenderObjects:!1,worldOriented:!0,radius:J,focusMultiplier:1,touchMultiplier:1.5,elevationInfo:L(this.tool.graphicState.graphic),collisionType:{type:"ribbon",paths:R,direction:O(0,0,1)}})}_createMaterial(t=1){const e=A([...K,t]);return new gt({color:e,transparent:1!==t,cullFace:ct.Back,renderOccluded:dt.Transparent})}get test(){return{ringManipulator:this._ringManipulator,tooltip:this._tooltip}}}function Rt(t,e){const a=b(U.get(),e.renderStart,t.origin),i=b(U.get(),e.renderEnd,t.origin),o=T(a),s=T(i);return 0===o?0:s/o}function kt(t,e,a,i){const{renderStart:o,renderEnd:s}=t,r=jt(o,i,U.get()),n=jt(s,i,U.get());if(R(r,n)<Q*Q)return null;const l=b(U.get(),o,a),c=k(U.get(),l,P(e)),h=o,p=j(U.get(),h,c),u=jt(a,i,U.get()),d=r,g=jt(p,i,U.get()),m=b(U.get(),g,d),_=b(U.get(),r,u),f=E(d,m),M=E(u,_);return C(f,n)<C(M,n)?"rotate":"scale"}function jt(t,e,a){return e.projectToScreen(t,It),y(a,It[0],It[1],0)}function wt(t,e){let a=null,i=1;const o=()=>i;return{start:()=>{i=t.getScale(),a=t.getScale,t.getScale=o,e()},update:t=>(i+=((i+1)/2-i)*Math.min(t*nt,1),e(),Math.abs(i-1)<.01?bt.STOP:bt.CONTINUE),destroy:()=>{t.getScale=a,e()}}}function Ot(t,e){let a=0,i=null;const o=()=>!1;return{start:()=>{i=t.getFocused,t.getFocused=o,a=0,e()},update:t=>(a+=t,!i()||a>it?bt.STOP:bt.CONTINUE),destroy:()=>{t.getFocused=i,e()}}}function At(t){switch(t){case"integer":case"long":return 0;default:return null}}!function(t){t[t.CONTINUE=0]="CONTINUE",t[t.STOP=1]="STOP"}(bt||(bt={}));const It=m();export{Tt as GraphicScaleRotateTransform};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as e,isNone as t}from"../../../core/maybe.js";import{a as r}from"../../../chunks/mat4.js";import{b as a,f as n,v as o,n as i}from"../../../chunks/vec3.js";import{f as c}from"../../../chunks/vec3f64.js";import{f as s}from"../../../chunks/vec4f64.js";import{sv3d as l,sm4d as m}from"../../../geometry/support/vectorStacks.js";import{hydrateGeometry as u}from"../../../layers/graphics/hydratedFeatures.js";import{Manipulator3D as d}from"./Manipulator3D.js";import{computeCentroid as p}from"../layers/graphics/graphicUtils.js";import{CullFaceOptions as f}from"../webgl-engine/lib/basicInterfaces.js";import{Geometry as g}from"../webgl-engine/lib/Geometry.js";import{createSphereGeometry as b,createPolylineGeometry as w}from"../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as h}from"../webgl-engine/lib/Material.js";import{VertexAttribute as j}from"../webgl-engine/lib/VertexAttribute.js";import{ColorMaterial as O}from"../webgl-engine/materials/ColorMaterial.js";import{ImageMaterial as y}from"../webgl-engine/materials/ImageMaterial.js";import{NativeLineMaterial as M}from"../webgl-engine/materials/NativeLineMaterial.js";import{RibbonLineMaterial as k}from"../webgl-engine/materials/RibbonLineMaterial.js";import{ShadedColorMaterial as v}from"../webgl-engine/materials/ShadedColorMaterial.js";import{ManipulatorStateCustomFlags as S,ManipulatorStateFlags as F}from"../../interactive/interfaces.js";function A(e,t=h.OccludeAndTransparent,r=!0){const a=s(e[0],e[1],e[2],e.length>3?e[3]:1),n=e[3]<1;return r?new v({color:a,transparent:n,writeDepth:!0,cullFace:f.Back,renderOccluded:t}):new O({color:a,transparent:n,writeDepth:!0,cullFace:f.Back,renderOccluded:t})}function I(e,t=h.OccludeAndTransparent){const r=s(e[0],e[1],e[2],4===e.length?e[3]:1);return new O({color:r,transparent:!0,writeDepth:!0,cullFace:f.Front,renderOccluded:t})}const L=Object.freeze({calloutLength:40,discRadius:27,focusMultiplier:1.1,calloutColor:c(1,.5,0)});function R(e,t,r={}){const a=new y({transparent:!0,writeDepth:!1,textureId:t.id,renderOccluded:h.Opaque}),n=new d({view:e,autoScaleRenderObjects:!1,collisionPriority:1,metadata:r.metadata}),o=e=>{const t=e.focusMultiplier??L.focusMultiplier,r=e.calloutLength??L.calloutLength,o=L.discRadius*(e.discScale??1),i=o*t,c=e=>{const t=[0,1,2,2,3,0];return new g([[j.POSITION,{size:3,data:[r-e,-e,0,r+e,-e,0,r+e,e,0,r-e,e,0],exclusive:!0}],[j.UV0,{size:2,data:[0,0,1,0,1,1,0,1]}]],[[j.POSITION,t],[j.UV0,t]])},l=w([[0,0,0],[r-o,0,0]]),m=w([[0,0,0],[r-i,0,0]]),u=L.calloutColor,d=e.calloutWidth??1,p=new(d>1?k:M)({width:d,color:s(u[0],u[1],u[2],e.calloutOpacity??1),renderOccluded:h.OccludeAndTransparent}),f=e.customStateMask??S.None;n.collisionType={type:"disc",direction:[0,0,1],offset:[r,0,0]},n.focusMultiplier=t,n.metadata=e.metadata,n.radius=o,n.renderObjects=[{geometry:c(o),material:a,stateMask:F.Unfocused|f},{geometry:l,material:p,stateMask:F.Unfocused|f},{geometry:c(i),material:a,stateMask:F.Focused|f},{geometry:m,material:p,stateMask:F.Focused|f}]};return o(r),{manipulator:n,updateOptions:o}}function T(e,t,r,a=S.None){return new d({view:e,renderObjects:[{geometry:b(1,32,32),material:A(s(t[0],t[1],t[2],null!=r?r:1)),stateMask:a}]})}const U=Object.freeze({autoScaleRenderObjects:!1,worldSized:!0});function z(e,t,i,c){const s=a(l.get(),e,i),u=D(s,n(l.get(),c,s),i,m.get());r(u,u);const d=o(l.get(),t,u);return Math.atan2(d[1],d[0])}function D(e,t,r,a){const o=i(l.get(),e),c=i(l.get(),t),s=n(l.get(),o,c);return a[0]=o[0],a[1]=o[1],a[2]=o[2],a[3]=0,a[4]=c[0],a[5]=c[1],a[6]=c[2],a[7]=0,a[8]=s[0],a[9]=s[1],a[10]=s[2],a[11]=0,a[12]=r[0],a[13]=r[1],a[14]=r[2],a[15]=1,a}function N(t,r){const a=t.getViewForGraphic(r);return e(a)&&"computeAttachmentOrigin"in a?a.computeAttachmentOrigin(r,t.spatialReference):null}function x(t,r,a){const n=N(t,a);e(n)?r.elevationAlignedLocation=n:C(r,a.geometry)}function C(e,r){if(t(r))return;const a="mesh"===r.type?r.anchor:p(r);t(a)||(e.location=u(a))}export{z as calculateInputRotationTransform,D as calculateTranslateRotateFromBases,A as createManipulatorMaterial,I as createManipulatorOutlineMaterial,R as createRotateManipulator,T as createSphereManipulator,N as getGraphicAttachmentOrigin,x as placeAtGraphic,U as worldScaledManipulatorSettings};
5
+ import{isSome as e,isNone as t}from"../../../core/maybe.js";import{a as r}from"../../../chunks/mat4.js";import{b as a,f as n,m as o,n as i}from"../../../chunks/vec3.js";import{f as c}from"../../../chunks/vec3f64.js";import{f as s}from"../../../chunks/vec4f64.js";import{sv3d as l,sm4d as m}from"../../../geometry/support/vectorStacks.js";import{hydrateGeometry as u}from"../../../layers/graphics/hydratedFeatures.js";import{Manipulator3D as d}from"./Manipulator3D.js";import{computeCentroid as p}from"../layers/graphics/graphicUtils.js";import{CullFaceOptions as f}from"../webgl-engine/lib/basicInterfaces.js";import{Geometry as g}from"../webgl-engine/lib/Geometry.js";import{createPolylineGeometry as h,createSphereGeometry as b}from"../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as w}from"../webgl-engine/lib/Material.js";import{VertexAttribute as j}from"../webgl-engine/lib/VertexAttribute.js";import{ColorMaterial as O}from"../webgl-engine/materials/ColorMaterial.js";import{ImageMaterial as y}from"../webgl-engine/materials/ImageMaterial.js";import{NativeLineMaterial as M}from"../webgl-engine/materials/NativeLineMaterial.js";import{RibbonLineMaterial as k}from"../webgl-engine/materials/RibbonLineMaterial.js";import{ShadedColorMaterial as v}from"../webgl-engine/materials/ShadedColorMaterial.js";import{ManipulatorStateCustomFlags as S,ManipulatorStateFlags as F}from"../../interactive/interfaces.js";function A(e,t=w.OccludeAndTransparent,r=!0){const a=s(e[0],e[1],e[2],e.length>3?e[3]:1),n=e[3]<1;return r?new v({color:a,transparent:n,writeDepth:!0,cullFace:f.Back,renderOccluded:t}):new O({color:a,transparent:n,writeDepth:!0,cullFace:f.Back,renderOccluded:t})}function I(e,t=w.OccludeAndTransparent){const r=s(e[0],e[1],e[2],4===e.length?e[3]:1);return new O({color:r,transparent:!0,writeDepth:!0,cullFace:f.Front,renderOccluded:t})}const L=Object.freeze({calloutLength:40,calloutWidth:1,discRadius:27,focusMultiplier:1.1,calloutColor:c(1,.5,0)});function R(e,t){const r=new d({view:e,autoScaleRenderObjects:!1,collisionPriority:1,metadata:t.metadata});return T(r,t),r}function T(e,t){const r=t.material??new y({transparent:!0,writeDepth:!1,textureId:t.texture?.id,renderOccluded:w.Opaque}),a=t.focusMultiplier??L.focusMultiplier,n=t.calloutLength??L.calloutLength,o=L.discRadius*(t.discScale??1),i=o*a,c=e=>{const t=[0,1,2,2,3,0];return new g([[j.POSITION,{size:3,data:[n-e,-e,0,n+e,-e,0,n+e,e,0,n-e,e,0],exclusive:!0}],[j.UV0,{size:2,data:[0,0,1,0,1,1,0,1]}]],[[j.POSITION,t],[j.UV0,t]])},l=h([[0,0,0],[n-o,0,0]]),m=h([[0,0,0],[n-i,0,0]]),u=L.calloutColor,d=t.calloutWidth??L.calloutWidth,p=new(d>1?k:M)({width:d,color:s(u[0],u[1],u[2],t.calloutOpacity??1),renderOccluded:w.OccludeAndTransparent}),f=t.customStateMask??S.None;e.collisionType={type:"disc",direction:[0,0,1],offset:[n,0,0]},e.focusMultiplier=a,e.metadata=t.metadata,e.radius=o,e.renderObjects=[{geometry:c(o),material:r,stateMask:F.Unfocused|f},{geometry:l,material:p,stateMask:F.Unfocused|f},{geometry:c(i),material:r,stateMask:F.Focused|f},{geometry:m,material:p,stateMask:F.Focused|f}]}function U(e,t,r,a=S.None){return new d({view:e,renderObjects:[{geometry:b(1,32,32),material:A(s(t[0],t[1],t[2],null!=r?r:1)),stateMask:a}]})}const x=Object.freeze({autoScaleRenderObjects:!1,worldSized:!0});function z(e,t,i,c){const s=a(l.get(),e,i),u=D(s,n(l.get(),c,s),i,m.get());r(u,u);const d=o(l.get(),t,u);return Math.atan2(d[1],d[0])}function D(e,t,r,a){const o=i(l.get(),e),c=i(l.get(),t),s=n(l.get(),o,c);return a[0]=o[0],a[1]=o[1],a[2]=o[2],a[3]=0,a[4]=c[0],a[5]=c[1],a[6]=c[2],a[7]=0,a[8]=s[0],a[9]=s[1],a[10]=s[2],a[11]=0,a[12]=r[0],a[13]=r[1],a[14]=r[2],a[15]=1,a}function N(t,r){const a=t.getViewForGraphic(r);return e(a)&&"computeAttachmentOrigin"in a?a.computeAttachmentOrigin(r,t.spatialReference):null}function C(t,r,a){const n=N(t,a);e(n)?r.elevationAlignedLocation=n:V(r,a.geometry)}function V(e,r){if(t(r))return;const a="mesh"===r.type?r.anchor:p(r);t(a)||(e.location=u(a))}export{z as calculateInputRotationTransform,D as calculateTranslateRotateFromBases,A as createManipulatorMaterial,I as createManipulatorOutlineMaterial,R as createRotateManipulator,U as createSphereManipulator,N as getGraphicAttachmentOrigin,C as placeAtGraphic,T as updateRotateManipulator,x as worldScaledManipulatorSettings};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/has.js";import e from"../../../../core/Handles.js";import{isSome as t,unwrap as s,isNone as i,unwrapOr as r}from"../../../../core/maybe.js";import{watch as n}from"../../../../core/reactiveUtils.js";import{c as a,b as l,w as o,x as h}from"../../../../chunks/vec3.js";import{c as _,f as d}from"../../../../chunks/vec3f64.js";import{g as p,c as u}from"../../../../chunks/vec4.js";import{f as c,a as f}from"../../../../chunks/vec4f32.js";import{create as m,fromRay as y,getStart as g,getEnd as x}from"../../../../geometry/support/clipRay.js";import{intersectClipRay as b}from"../../../../geometry/support/frustum.js";import{create as w,fromPoints as E,pointAt as R}from"../../../../geometry/support/lineSegment.js";import{create as O,fromPoints as D}from"../../../../geometry/support/ray.js";import{LaserlineVisualElement as A}from"./LaserlineVisualElement.js";import{Object3DVisualElement as C}from"./Object3DVisualElement.js";import{createPolylineGeometry as P}from"../../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as j}from"../../webgl-engine/lib/Material.js";import{VertexAttribute as v}from"../../webgl-engine/lib/VertexAttribute.js";import{RibbonLineMaterial as M}from"../../webgl-engine/materials/RibbonLineMaterial.js";class G extends C{constructor(t){super(t),this._ray=O(),this._externalResources=null,this._handles=new e,this._isWorldDown=!1,this._start=_(),this._end=d(1,0,0),this._width=1,this._color=c(1,0,1,1),this._polygonOffset=!1,this._writeDepthEnabled=!0,this._innerWidth=0,this._innerColor=c(1,1,1,1),this._stipplePattern=null,this._stippleOffColor=null,this._stipplePreferContinuous=!0,this._falloff=0,this._extensionType=V.LINE,this._laserlineStyle=null,this._laserlineEnabled=!1,this._renderOccluded=j.OccludeAndTransparent,this._fadedExtensions=F,this.applyProps(t)}createExternalResources(){const e=new M(this.materialParameters);this._handles.add(n((()=>this.view.state.camera),(()=>{this._updateGeometry()})));const t=new A({view:this.view,attached:this._laserlineEnabled});this._externalResources={material:e,laserline:t}}destroyExternalResources(){t(this._externalResources)&&this._externalResources.laserline.destroy(),this._externalResources=null,this._handles.removeAll()}forEachExternalMaterial(e){t(this._externalResources)&&e(this._externalResources.material)}createGeometries(e){const t=[_(),_()],i=this.extensionType===V.FADED;i&&t.push(_(),_());const r=i?new Float32Array([1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0]):null,n=P(t,null,r);e.addGeometry(n,s(this._externalResources).material),this._updateVertices(e)}updateVisibility(e){super.updateVisibility(e),t(this._externalResources)&&(this._externalResources.laserline.visible=e)}setStartEndFromWorldDownAtLocation(e){this._isWorldDown=!0,a(this._start,e),this.view.renderCoordsHelper.worldUpAtPosition(e,this._end),l(this._end,e,this._end),D(this._start,this._end,this._ray),this._updateGeometry()}get start(){return this._start}set start(e){this._isWorldDown=!1,o(this._start,e)||(a(this._start,e),D(this._start,this._end,this._ray),this._updateGeometry())}get end(){return this._end}set end(e){this._isWorldDown=!1,o(this._end,e)||(a(this._end,e),D(this._start,this._end,this._ray),this._updateGeometry())}get width(){return this._width}set width(e){e!==this._width&&(this._width=e,this._updateMaterial())}get color(){return this._color}set color(e){p(e,this._color)||(u(this._color,e),this._updateMaterial())}get polygonOffset(){return this._polygonOffset}set polygonOffset(e){e!==this._polygonOffset&&(this._polygonOffset=e,this._updateMaterial())}get writeDepthEnabled(){return this._writeDepthEnabled}set writeDepthEnabled(e){this._writeDepthEnabled!==e&&(this._writeDepthEnabled=e,this._updateMaterial())}get innerWidth(){return this._innerWidth}set innerWidth(e){e!==this._innerWidth&&(this._innerWidth=e,this._updateMaterial())}get innerColor(){return this._innerColor}set innerColor(e){p(e,this._innerColor)||(u(this._innerColor,e),this._updateMaterial())}get stipplePattern(){return this._stipplePattern}set stipplePattern(e){const s=t(e)!==t(this._stipplePattern);this._stipplePattern=e,s?this.recreate():this._updateMaterial()}get stippleOffColor(){return this._stippleOffColor}set stippleOffColor(e){(i(e)||i(this._stippleOffColor)||!p(e,this._stippleOffColor))&&(this._stippleOffColor=t(e)?f(e):null,this._updateMaterial())}get stipplePreferContinuous(){return this._stipplePreferContinuous}set stipplePreferContinuous(e){e!==this._stipplePreferContinuous&&(this._stipplePreferContinuous=e,this._updateMaterial())}get falloff(){return this._falloff}set falloff(e){e!==this._falloff&&(this._falloff=e,this._updateMaterial())}get extensionType(){return this._extensionType}set extensionType(e){e!==this._extensionType&&(this._extensionType=e,this._updateGeometry())}get _laserlineAttached(){return this._laserlineEnabled&&t(this._laserlineStyle)}get laserlineStyle(){return this._laserlineStyle}set laserlineStyle(e){this._laserlineStyle=e,t(this._externalResources)&&(this._externalResources.laserline.attached=this._laserlineAttached,t(e)&&(this._externalResources.laserline.style=e))}get laserlineEnabled(){return this._laserlineEnabled}set laserlineEnabled(e){this._laserlineEnabled!==e&&(this._laserlineEnabled=e,t(this._externalResources)&&(this._externalResources.laserline.attached=this._laserlineAttached))}get renderOccluded(){return this._renderOccluded}set renderOccluded(e){e!==this._renderOccluded&&(this._renderOccluded=e,this._updateMaterial())}get fadedExtensions(){return this._fadedExtensions}set fadedExtensions(e){this._fadedExtensions=r(e,F),this.recreateGeometry()}_updateMaterial(){if(i(this._externalResources))return;this._externalResources.material.setParameters(this.materialParameters)}get materialParameters(){return{width:this._width,color:this._color,stippleOffColor:this._stippleOffColor,stipplePattern:this._stipplePattern,stipplePreferContinuous:this._stipplePreferContinuous,innerWidth:this._innerWidth,innerColor:this._innerColor,falloff:this._falloff,hasPolygonOffset:this._polygonOffset,renderOccluded:this._renderOccluded,writeDepth:this._writeDepthEnabled}}_updateGeometry(){t(this.object)&&this._updateVertices(this.object)}_updateVertices(e){const s=this._extensionType===V.FADED?this._updateLineSegmentFinite(T):this._updateLineSegmentInfinite(this._extensionType,T);this._updateVertexAttributes(e,s),t(this._externalResources)&&(this._externalResources.laserline.intersectsLine=s)}_updateLineSegmentFinite(e){return E(this._start,this._end,e)}_updateLineSegmentInfinite(e,t){const s=this.view.state.camera;switch(y(this._ray,W),e){case V.LINE:W.c0=-Number.MAX_VALUE;break;case V.RAY:case V.GROUND_RAY:{const e=this._ray.origin,t=r(this.view.elevationProvider.getElevation(e[0],e[1],e[2],this.view.renderCoordsHelper.spatialReference,"ground"),0),s=this.view.renderCoordsHelper.getAltitude(e);this._isWorldDown&&s<t&&h(W.ray.direction,W.ray.direction),this._extensionType===V.GROUND_RAY&&null!=t&&(W.c1=Math.abs(s-t));break}}if(!b(s.frustum,W))return E(this._start,this._end,t);const i=g(W,L),n=x(W,S);return E(i,n,t)}_updateVertexAttributes(e,t){const s=e.geometries[0].getMutableAttribute(v.POSITION).data;if(this.extensionType===V.FADED){const e=R(t,-this.fadedExtensions.start,L);s[0]=e[0],s[1]=e[1],s[2]=e[2];const i=R(t,0,L);s[3]=i[0],s[4]=i[1],s[5]=i[2];const r=R(t,1,L);s[6]=r[0],s[7]=r[1],s[8]=r[2];const n=R(t,1+this.fadedExtensions.end,L);s[9]=n[0],s[10]=n[1],s[11]=n[2]}else{const e=R(t,0,L);s[0]=e[0],s[1]=e[1],s[2]=e[2];const i=R(t,1,L);s[3]=i[0],s[4]=i[1],s[5]=i[2]}e.geometryVertexAttrsUpdated(e.geometryRecords[0])}}const W=m(),L=_(),S=_(),T=w();var V;!function(e){e[e.LINE=0]="LINE",e[e.RAY=1]="RAY",e[e.GROUND_RAY=2]="GROUND_RAY",e[e.FADED=3]="FADED"}(V||(V={}));const N=1/3,F={start:N,end:N};export{G as ExtendedLineVisualElement,V as ExtensionType};
5
+ import"../../../../core/has.js";import e from"../../../../core/Handles.js";import{isSome as t,unwrap as s,isNone as i,unwrapOr as r}from"../../../../core/maybe.js";import{watch as n}from"../../../../core/reactiveUtils.js";import{c as a,b as l,k as o,o as h}from"../../../../chunks/vec3.js";import{c as _,f as d}from"../../../../chunks/vec3f64.js";import{g as p,c as u}from"../../../../chunks/vec4.js";import{f as c,a as f}from"../../../../chunks/vec4f32.js";import{create as m,fromRay as y,getStart as g,getEnd as x}from"../../../../geometry/support/clipRay.js";import{intersectClipRay as b}from"../../../../geometry/support/frustum.js";import{create as w,fromPoints as E,pointAt as R}from"../../../../geometry/support/lineSegment.js";import{create as O,fromPoints as D}from"../../../../geometry/support/ray.js";import{LaserlineVisualElement as A}from"./LaserlineVisualElement.js";import{Object3DVisualElement as C}from"./Object3DVisualElement.js";import{createPolylineGeometry as P}from"../../webgl-engine/lib/GeometryUtil.js";import{RenderOccludedFlag as j}from"../../webgl-engine/lib/Material.js";import{VertexAttribute as v}from"../../webgl-engine/lib/VertexAttribute.js";import{RibbonLineMaterial as M}from"../../webgl-engine/materials/RibbonLineMaterial.js";class G extends C{constructor(t){super(t),this._ray=O(),this._externalResources=null,this._handles=new e,this._isWorldDown=!1,this._start=_(),this._end=d(1,0,0),this._width=1,this._color=c(1,0,1,1),this._polygonOffset=!1,this._writeDepthEnabled=!0,this._innerWidth=0,this._innerColor=c(1,1,1,1),this._stipplePattern=null,this._stippleOffColor=null,this._stipplePreferContinuous=!0,this._falloff=0,this._extensionType=V.LINE,this._laserlineStyle=null,this._laserlineEnabled=!1,this._renderOccluded=j.OccludeAndTransparent,this._fadedExtensions=F,this.applyProps(t)}createExternalResources(){const e=new M(this.materialParameters);this._handles.add(n((()=>this.view.state.camera),(()=>{this._updateGeometry()})));const t=new A({view:this.view,attached:this._laserlineEnabled});this._externalResources={material:e,laserline:t}}destroyExternalResources(){t(this._externalResources)&&this._externalResources.laserline.destroy(),this._externalResources=null,this._handles.removeAll()}forEachExternalMaterial(e){t(this._externalResources)&&e(this._externalResources.material)}createGeometries(e){const t=[_(),_()],i=this.extensionType===V.FADED;i&&t.push(_(),_());const r=i?new Float32Array([1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0]):null,n=P(t,null,r);e.addGeometry(n,s(this._externalResources).material),this._updateVertices(e)}updateVisibility(e){super.updateVisibility(e),t(this._externalResources)&&(this._externalResources.laserline.visible=e)}setStartEndFromWorldDownAtLocation(e){this._isWorldDown=!0,a(this._start,e),this.view.renderCoordsHelper.worldUpAtPosition(e,this._end),l(this._end,e,this._end),D(this._start,this._end,this._ray),this._updateGeometry()}get start(){return this._start}set start(e){this._isWorldDown=!1,o(this._start,e)||(a(this._start,e),D(this._start,this._end,this._ray),this._updateGeometry())}get end(){return this._end}set end(e){this._isWorldDown=!1,o(this._end,e)||(a(this._end,e),D(this._start,this._end,this._ray),this._updateGeometry())}get width(){return this._width}set width(e){e!==this._width&&(this._width=e,this._updateMaterial())}get color(){return this._color}set color(e){p(e,this._color)||(u(this._color,e),this._updateMaterial())}get polygonOffset(){return this._polygonOffset}set polygonOffset(e){e!==this._polygonOffset&&(this._polygonOffset=e,this._updateMaterial())}get writeDepthEnabled(){return this._writeDepthEnabled}set writeDepthEnabled(e){this._writeDepthEnabled!==e&&(this._writeDepthEnabled=e,this._updateMaterial())}get innerWidth(){return this._innerWidth}set innerWidth(e){e!==this._innerWidth&&(this._innerWidth=e,this._updateMaterial())}get innerColor(){return this._innerColor}set innerColor(e){p(e,this._innerColor)||(u(this._innerColor,e),this._updateMaterial())}get stipplePattern(){return this._stipplePattern}set stipplePattern(e){const s=t(e)!==t(this._stipplePattern);this._stipplePattern=e,s?this.recreate():this._updateMaterial()}get stippleOffColor(){return this._stippleOffColor}set stippleOffColor(e){(i(e)||i(this._stippleOffColor)||!p(e,this._stippleOffColor))&&(this._stippleOffColor=t(e)?f(e):null,this._updateMaterial())}get stipplePreferContinuous(){return this._stipplePreferContinuous}set stipplePreferContinuous(e){e!==this._stipplePreferContinuous&&(this._stipplePreferContinuous=e,this._updateMaterial())}get falloff(){return this._falloff}set falloff(e){e!==this._falloff&&(this._falloff=e,this._updateMaterial())}get extensionType(){return this._extensionType}set extensionType(e){e!==this._extensionType&&(this._extensionType=e,this._updateGeometry())}get _laserlineAttached(){return this._laserlineEnabled&&t(this._laserlineStyle)}get laserlineStyle(){return this._laserlineStyle}set laserlineStyle(e){this._laserlineStyle=e,t(this._externalResources)&&(this._externalResources.laserline.attached=this._laserlineAttached,t(e)&&(this._externalResources.laserline.style=e))}get laserlineEnabled(){return this._laserlineEnabled}set laserlineEnabled(e){this._laserlineEnabled!==e&&(this._laserlineEnabled=e,t(this._externalResources)&&(this._externalResources.laserline.attached=this._laserlineAttached))}get renderOccluded(){return this._renderOccluded}set renderOccluded(e){e!==this._renderOccluded&&(this._renderOccluded=e,this._updateMaterial())}get fadedExtensions(){return this._fadedExtensions}set fadedExtensions(e){this._fadedExtensions=r(e,F),this.recreateGeometry()}_updateMaterial(){if(i(this._externalResources))return;this._externalResources.material.setParameters(this.materialParameters)}get materialParameters(){return{width:this._width,color:this._color,stippleOffColor:this._stippleOffColor,stipplePattern:this._stipplePattern,stipplePreferContinuous:this._stipplePreferContinuous,innerWidth:this._innerWidth,innerColor:this._innerColor,falloff:this._falloff,hasPolygonOffset:this._polygonOffset,renderOccluded:this._renderOccluded,writeDepth:this._writeDepthEnabled}}_updateGeometry(){t(this.object)&&this._updateVertices(this.object)}_updateVertices(e){const s=this._extensionType===V.FADED?this._updateLineSegmentFinite(T):this._updateLineSegmentInfinite(this._extensionType,T);this._updateVertexAttributes(e,s),t(this._externalResources)&&(this._externalResources.laserline.intersectsLine=s)}_updateLineSegmentFinite(e){return E(this._start,this._end,e)}_updateLineSegmentInfinite(e,t){const s=this.view.state.camera;switch(y(this._ray,W),e){case V.LINE:W.c0=-Number.MAX_VALUE;break;case V.RAY:case V.GROUND_RAY:{const e=this._ray.origin,t=r(this.view.elevationProvider.getElevation(e[0],e[1],e[2],this.view.renderCoordsHelper.spatialReference,"ground"),0),s=this.view.renderCoordsHelper.getAltitude(e);this._isWorldDown&&s<t&&h(W.ray.direction,W.ray.direction),this._extensionType===V.GROUND_RAY&&null!=t&&(W.c1=Math.abs(s-t));break}}if(!b(s.frustum,W))return E(this._start,this._end,t);const i=g(W,L),n=x(W,S);return E(i,n,t)}_updateVertexAttributes(e,t){const s=e.geometries[0].getMutableAttribute(v.POSITION).data;if(this.extensionType===V.FADED){const e=R(t,-this.fadedExtensions.start,L);s[0]=e[0],s[1]=e[1],s[2]=e[2];const i=R(t,0,L);s[3]=i[0],s[4]=i[1],s[5]=i[2];const r=R(t,1,L);s[6]=r[0],s[7]=r[1],s[8]=r[2];const n=R(t,1+this.fadedExtensions.end,L);s[9]=n[0],s[10]=n[1],s[11]=n[2]}else{const e=R(t,0,L);s[0]=e[0],s[1]=e[1],s[2]=e[2];const i=R(t,1,L);s[3]=i[0],s[4]=i[1],s[5]=i[2]}e.geometryVertexAttrsUpdated(e.geometryRecords[0])}}const W=m(),L=_(),S=_(),T=w();var V;!function(e){e[e.LINE=0]="LINE",e[e.RAY=1]="RAY",e[e.GROUND_RAY=2]="GROUND_RAY",e[e.FADED=3]="FADED"}(V||(V={}));const N=1/3,F={start:N,end:N};export{G as ExtendedLineVisualElement,V as ExtensionType};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{isSome as e,isNone as t,unwrap as r}from"../../../../core/maybe.js";import{f as s}from"../../../../chunks/mat4.js";import{c as i}from"../../../../chunks/mat4f64.js";import{s as a,v as o}from"../../../../chunks/vec3.js";import{Z as l,c as n}from"../../../../chunks/vec3f64.js";import{f as h,a as m}from"../../../../chunks/vec4f32.js";import{Object3DVisualElement as p}from"./Object3DVisualElement.js";import{lineStripsToParameters as _,createGeometry as f}from"../../support/engineContent/line.js";import{RenderOccludedFlag as d}from"../../webgl-engine/lib/Material.js";import{RibbonLineMaterial as u}from"../../webgl-engine/materials/RibbonLineMaterial.js";class c extends p{constructor(t,r){super(t),this._hasExternalMaterial=!1,this._renderOccluded=d.OccludeAndTransparent,this._width=1,this._color=h(1,0,1,1),this._innerWidth=1,this._innerColor=null,this._stipplePattern=null,this._stippleOffColor=null,this._stipplePreferContinuous=!0,this._writeDepthEnabled=!0,this._falloff=0,this._polygonOffset=!1,this._material=r,this._hasExternalMaterial=e(r),this.applyProps(t)}setGeometryFromRenderSpacePoint(e,t=1e3){const r=[];r.push([[e[0]-t,e[1]+0,e[2]+0],[e[0]+t,e[1]+0,e[2]+0]]),r.push([[e[0]-0,e[1]-t,e[2]+0],[e[0]+0,e[1]+t,e[2]+0]]),r.push([[e[0]-0,e[1]+0,e[2]-t],[e[0]+0,e[1]+0,e[2]+t]]),this.geometry=r}setGeometryFromExtent(e){const t=this.view.spatialReference,r=n(),s=n(),i=100,o=[];a(r,e[0],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[2],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[2],e[3],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[0],e[3],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[0],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[0],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),this.geometry=[o]}setGeometryFromFrustum(e){const t=[];e.lines.forEach((e=>{t.push([e.origin[0],e.origin[1],e.origin[2]]),t.push([e.endpoint[0],e.endpoint[1],e.endpoint[2]])})),this.geometry=[t]}setGeometryFromBoundedPlane(e){const t=[],r=e.origin,s=e.basis1,i=e.basis2,a=.5,o=n(),l=n(),h=n(),m=n();o[0]=r[0]-s[0]*a-i[0]*a,o[1]=r[1]-s[1]*a-i[1]*a,o[2]=r[2]-s[2]*a-i[2]*a,l[0]=r[0]-s[0]*a+i[0]*a,l[1]=r[1]-s[1]*a+i[1]*a,l[2]=r[2]-s[2]*a+i[2]*a,h[0]=r[0]+s[0]*a+i[0]*a,h[1]=r[1]+s[1]*a+i[1]*a,h[2]=r[2]+s[2]*a+i[2]*a,m[0]=r[0]+s[0]*a-i[0]*a,m[1]=r[1]+s[1]*a-i[1]*a,m[2]=r[2]+s[2]*a-i[2]*a,t.push([o[0],o[1],o[2]]),t.push([l[0],l[1],l[2]]),t.push([h[0],h[1],h[2]]),t.push([m[0],m[1],m[2]]),t.push([o[0],o[1],o[2]]),this.geometry=[t]}setGeometryFromSegment(e){const t=e.endRenderSpace;this.transform=s(g,t);const{points:r}=e.createRenderGeometry(t,this.view.renderCoordsHelper);this.geometry=[r]}setGeometryFromSegments(e,t=l){this.transform=s(g,t),this.geometry=e.map((e=>e.createRenderGeometry(t,this.view.renderCoordsHelper).points))}getTransformedGeometry(){return t(this._geometry)?null:this._geometry.map((e=>e.map((e=>o(n(),e,this.transform)))))}get renderOccluded(){return e(this._material)?this._material.parameters.renderOccluded:this._renderOccluded}set renderOccluded(t){this._renderOccluded=t,e(this._material)&&this._material.setParameters({renderOccluded:t})}get geometry(){return this._geometry}set geometry(e){this._geometry=e,this.recreateGeometry()}get width(){return e(this._material)?this._material.parameters.width:this._width}set width(t){this._width=t,e(this._material)&&this._material.setParameters({width:t})}get color(){return e(this._material)?this._material.parameters.color:this._color}set color(t){this._color=m(t),e(this._material)&&this._material.setParameters({color:this._color})}get innerWidth(){return e(this._material)?this._material.parameters.innerWidth:this._innerWidth}set innerWidth(t){this._innerWidth=t,e(this._material)&&this._material.setParameters({innerWidth:t})}get innerColor(){return e(this._material)?this._material.parameters.innerColor:this._innerColor}set innerColor(t){this._innerColor=e(t)?m(t):t,e(this._material)&&this._material.setParameters({innerColor:this._innerColor})}get stipplePattern(){return e(this._material)?this._material.parameters.stipplePattern:this._stipplePattern}set stipplePattern(t){this._stipplePattern=t,e(this._material)&&this._material.setParameters({stipplePattern:t})}get stippleOffColor(){return e(this._material)?this._material.parameters.stippleOffColor:this._stippleOffColor}set stippleOffColor(t){this._stippleOffColor=e(t)?m(t):null,e(this._material)&&this._material.setParameters({stippleOffColor:this._stippleOffColor})}get stipplePreferContinuous(){return e(this._material)?this._material.parameters.stipplePreferContinuous:this._stipplePreferContinuous}set stipplePreferContinuous(t){this._stipplePreferContinuous=t,e(this._material)&&this._material.setParameters({stipplePreferContinuous:t})}get writeDepthEnabled(){return e(this._material)?this._material.parameters.writeDepth:this._writeDepthEnabled}set writeDepthEnabled(t){this._writeDepthEnabled=t,e(this._material)&&this._material.setParameters({writeDepth:t})}get falloff(){return e(this._material)?this._material.parameters.falloff:this._falloff}set falloff(t){this._falloff=t,e(this._material)&&this._material.setParameters({falloff:t})}get polygonOffset(){return e(this._material)?this._material.parameters.hasPolygonOffset:this._polygonOffset}set polygonOffset(t){this._polygonOffset=t,e(this._material)&&this._material.setParameters({hasPolygonOffset:t})}createExternalResources(){this._hasExternalMaterial||(this._material=new u({width:this._width,color:this._color,stippleOffColor:this._stippleOffColor,stipplePattern:this._stipplePattern,stipplePreferContinuous:this._stipplePreferContinuous,isClosed:!1,falloff:this._falloff,innerColor:this._innerColor,innerWidth:this._innerWidth,hasPolygonOffset:this._polygonOffset,renderOccluded:this._renderOccluded,writeDepth:this._writeDepthEnabled}))}destroyExternalResources(){this._hasExternalMaterial||(this._material=null)}createGeometries(e){for(const t of _(this.geometry)){const s=f(t);e.addGeometry(s,r(this._material))}}forEachExternalMaterial(e){this._hasExternalMaterial||e(r(this._material))}}const g=i();export{c as LineVisualElement};
5
+ import{isSome as e,isNone as t,unwrap as r}from"../../../../core/maybe.js";import{f as s}from"../../../../chunks/mat4.js";import{c as i}from"../../../../chunks/mat4f64.js";import{s as a,m as o}from"../../../../chunks/vec3.js";import{Z as l,c as n}from"../../../../chunks/vec3f64.js";import{f as h,a as m}from"../../../../chunks/vec4f32.js";import{Object3DVisualElement as p}from"./Object3DVisualElement.js";import{lineStripsToParameters as _,createGeometry as f}from"../../support/engineContent/line.js";import{RenderOccludedFlag as d}from"../../webgl-engine/lib/Material.js";import{RibbonLineMaterial as u}from"../../webgl-engine/materials/RibbonLineMaterial.js";class c extends p{constructor(t,r){super(t),this._hasExternalMaterial=!1,this._renderOccluded=d.OccludeAndTransparent,this._width=1,this._color=h(1,0,1,1),this._innerWidth=1,this._innerColor=null,this._stipplePattern=null,this._stippleOffColor=null,this._stipplePreferContinuous=!0,this._writeDepthEnabled=!0,this._falloff=0,this._polygonOffset=!1,this._material=r,this._hasExternalMaterial=e(r),this.applyProps(t)}setGeometryFromRenderSpacePoint(e,t=1e3){const r=[];r.push([[e[0]-t,e[1]+0,e[2]+0],[e[0]+t,e[1]+0,e[2]+0]]),r.push([[e[0]-0,e[1]-t,e[2]+0],[e[0]+0,e[1]+t,e[2]+0]]),r.push([[e[0]-0,e[1]+0,e[2]-t],[e[0]+0,e[1]+0,e[2]+t]]),this.geometry=r}setGeometryFromExtent(e){const t=this.view.spatialReference,r=n(),s=n(),i=100,o=[];a(r,e[0],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[2],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[2],e[3],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[0],e[3],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[0],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),a(r,e[0],e[1],i),this.view.renderCoordsHelper.toRenderCoords(r,t,s),o.push([s[0],s[1],s[2]]),this.geometry=[o]}setGeometryFromFrustum(e){const t=[];e.lines.forEach((e=>{t.push([e.origin[0],e.origin[1],e.origin[2]]),t.push([e.endpoint[0],e.endpoint[1],e.endpoint[2]])})),this.geometry=[t]}setGeometryFromBoundedPlane(e){const t=[],r=e.origin,s=e.basis1,i=e.basis2,a=.5,o=n(),l=n(),h=n(),m=n();o[0]=r[0]-s[0]*a-i[0]*a,o[1]=r[1]-s[1]*a-i[1]*a,o[2]=r[2]-s[2]*a-i[2]*a,l[0]=r[0]-s[0]*a+i[0]*a,l[1]=r[1]-s[1]*a+i[1]*a,l[2]=r[2]-s[2]*a+i[2]*a,h[0]=r[0]+s[0]*a+i[0]*a,h[1]=r[1]+s[1]*a+i[1]*a,h[2]=r[2]+s[2]*a+i[2]*a,m[0]=r[0]+s[0]*a-i[0]*a,m[1]=r[1]+s[1]*a-i[1]*a,m[2]=r[2]+s[2]*a-i[2]*a,t.push([o[0],o[1],o[2]]),t.push([l[0],l[1],l[2]]),t.push([h[0],h[1],h[2]]),t.push([m[0],m[1],m[2]]),t.push([o[0],o[1],o[2]]),this.geometry=[t]}setGeometryFromSegment(e){const t=e.endRenderSpace;this.transform=s(g,t);const{points:r}=e.createRenderGeometry(t,this.view.renderCoordsHelper);this.geometry=[r]}setGeometryFromSegments(e,t=l){this.transform=s(g,t),this.geometry=e.map((e=>e.createRenderGeometry(t,this.view.renderCoordsHelper).points))}getTransformedGeometry(){return t(this._geometry)?null:this._geometry.map((e=>e.map((e=>o(n(),e,this.transform)))))}get renderOccluded(){return e(this._material)?this._material.parameters.renderOccluded:this._renderOccluded}set renderOccluded(t){this._renderOccluded=t,e(this._material)&&this._material.setParameters({renderOccluded:t})}get geometry(){return this._geometry}set geometry(e){this._geometry=e,this.recreateGeometry()}get width(){return e(this._material)?this._material.parameters.width:this._width}set width(t){this._width=t,e(this._material)&&this._material.setParameters({width:t})}get color(){return e(this._material)?this._material.parameters.color:this._color}set color(t){this._color=m(t),e(this._material)&&this._material.setParameters({color:this._color})}get innerWidth(){return e(this._material)?this._material.parameters.innerWidth:this._innerWidth}set innerWidth(t){this._innerWidth=t,e(this._material)&&this._material.setParameters({innerWidth:t})}get innerColor(){return e(this._material)?this._material.parameters.innerColor:this._innerColor}set innerColor(t){this._innerColor=e(t)?m(t):t,e(this._material)&&this._material.setParameters({innerColor:this._innerColor})}get stipplePattern(){return e(this._material)?this._material.parameters.stipplePattern:this._stipplePattern}set stipplePattern(t){this._stipplePattern=t,e(this._material)&&this._material.setParameters({stipplePattern:t})}get stippleOffColor(){return e(this._material)?this._material.parameters.stippleOffColor:this._stippleOffColor}set stippleOffColor(t){this._stippleOffColor=e(t)?m(t):null,e(this._material)&&this._material.setParameters({stippleOffColor:this._stippleOffColor})}get stipplePreferContinuous(){return e(this._material)?this._material.parameters.stipplePreferContinuous:this._stipplePreferContinuous}set stipplePreferContinuous(t){this._stipplePreferContinuous=t,e(this._material)&&this._material.setParameters({stipplePreferContinuous:t})}get writeDepthEnabled(){return e(this._material)?this._material.parameters.writeDepth:this._writeDepthEnabled}set writeDepthEnabled(t){this._writeDepthEnabled=t,e(this._material)&&this._material.setParameters({writeDepth:t})}get falloff(){return e(this._material)?this._material.parameters.falloff:this._falloff}set falloff(t){this._falloff=t,e(this._material)&&this._material.setParameters({falloff:t})}get polygonOffset(){return e(this._material)?this._material.parameters.hasPolygonOffset:this._polygonOffset}set polygonOffset(t){this._polygonOffset=t,e(this._material)&&this._material.setParameters({hasPolygonOffset:t})}createExternalResources(){this._hasExternalMaterial||(this._material=new u({width:this._width,color:this._color,stippleOffColor:this._stippleOffColor,stipplePattern:this._stipplePattern,stipplePreferContinuous:this._stipplePreferContinuous,isClosed:!1,falloff:this._falloff,innerColor:this._innerColor,innerWidth:this._innerWidth,hasPolygonOffset:this._polygonOffset,renderOccluded:this._renderOccluded,writeDepth:this._writeDepthEnabled}))}destroyExternalResources(){this._hasExternalMaterial||(this._material=null)}createGeometries(e){for(const t of _(this.geometry)){const s=f(t);e.addGeometry(s,r(this._material))}}forEachExternalMaterial(e){this._hasExternalMaterial||e(r(this._material))}}const g=i();export{c as LineVisualElement};