@arcgis/core 5.0.0-next.53 → 5.0.0-next.54

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 (724) hide show
  1. package/Basemap.d.ts +1 -1
  2. package/Color.js +1 -1
  3. package/PopupTemplate.d.ts +2 -2
  4. package/WebLinkChart.d.ts +1 -1
  5. package/applications/Components/QuantityFormatter.d.ts +7 -7
  6. package/applications/Components/analysisUtils.d.ts +28 -53
  7. package/applications/Components/baUtils.d.ts +8 -0
  8. package/applications/Components/featureUtils.d.ts +1 -1
  9. package/applications/Components/imageryUtils.d.ts +2 -2
  10. package/applications/Components/layerOriginUtils.d.ts +3 -3
  11. package/applications/Components/reactiveUtils.d.ts +24 -5
  12. package/applications/Excalibur/videoViewUtils.d.ts +2 -2
  13. package/applications/ExperienceBuilder/sketchUtils.d.ts +6 -6
  14. package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +7 -13
  15. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +7 -7
  16. package/applications/KnowledgeStudio/reshape.d.ts +6 -15
  17. package/applications/MapViewer/mediaUtils.d.ts +4 -4
  18. package/applications/MapViewer/templateUtils.d.ts +3 -3
  19. package/applications/PortalApp/layerUtils.d.ts +10 -0
  20. package/applications/PortalApp/layerUtils.js +5 -0
  21. package/arcade/featureSetUtils.js +1 -1
  22. package/arcade/featureset/support/shared.js +1 -1
  23. package/arcade.d.ts +33 -17
  24. package/assets/esri/core/workers/RemoteClient.js +1 -1
  25. package/assets/esri/core/workers/chunks/{5aa354854219361f722b.js → 0099f4729c94c779ba35.js} +1 -1
  26. package/assets/esri/core/workers/chunks/00e407d262c49890afa8.js +1 -0
  27. package/assets/esri/core/workers/chunks/{15a0750c10b510564a42.js → 01d38a9ca9e88c38aab9.js} +1 -1
  28. package/assets/esri/core/workers/chunks/087cf25ca211836a084a.js +1 -0
  29. package/assets/esri/core/workers/chunks/{a3f23f08337e101e4e64.js → 097001462d93b78b64f4.js} +1 -1
  30. package/assets/esri/core/workers/chunks/0a39c6dc57bd60d5587e.js +1 -0
  31. package/assets/esri/core/workers/chunks/0d1e8d5d9abee38e275e.js +316 -0
  32. package/assets/esri/core/workers/chunks/{cef873da468668eb95cb.js → 18cc131fd63d8c15df54.js} +3 -4
  33. package/assets/esri/core/workers/chunks/{da922e861d5845ae0979.js → 1ab98591d2f2bc604505.js} +1 -1
  34. package/assets/esri/core/workers/chunks/1b2e17c04c34cfa671a1.js +1 -0
  35. package/assets/esri/core/workers/chunks/211837df0edada4414c5.js +1 -0
  36. package/assets/esri/core/workers/chunks/22b07c54a5fcc27771b0.js +1 -0
  37. package/assets/esri/core/workers/chunks/{cd8fec3500e6503ae020.js → 23a9dd9454d5249bbd59.js} +1 -1
  38. package/assets/esri/core/workers/chunks/311c4914a4f69f3c1525.js +1 -0
  39. package/assets/esri/core/workers/chunks/316f3e93aa0db48ef129.js +1 -0
  40. package/assets/esri/core/workers/chunks/{108675a17e432a02cf66.js → 35cbc61a006351620ead.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{1bf4b5e5402790ccb450.js → 369f37060608342a4262.js} +1 -1
  42. package/assets/esri/core/workers/chunks/3b5e71b156244789f624.js +1 -0
  43. package/assets/esri/core/workers/chunks/3f0959b1abafe516146e.js +1 -0
  44. package/assets/esri/core/workers/chunks/{553ca1e55e9f1359839c.js → 44c228388a95fa958827.js} +1 -1
  45. package/assets/esri/core/workers/chunks/454c15367cccbf63af7a.js +1 -0
  46. package/assets/esri/core/workers/chunks/{f3d8d5fe15501220792d.js → 495b11fdecc3ba90d454.js} +1 -1
  47. package/assets/esri/core/workers/chunks/4f33a2ecb154a2c2449c.js +1 -0
  48. package/assets/esri/core/workers/chunks/{b1d3d2c93c189e215f67.js → 5047acfd66539eefe353.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{cddce67919e13e2f365e.js → 51fd6662245b920af652.js} +1 -1
  50. package/assets/esri/core/workers/chunks/52726458f590e726d52c.js +1 -0
  51. package/assets/esri/core/workers/chunks/{d677b378449257103ec4.js → 58cf5b9a6aa685fc3367.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{395a0773ccafd1f24c4d.js → 5d31fbabaa875f8627c0.js} +1 -1
  53. package/assets/esri/core/workers/chunks/67a45faa80316f43c51b.js +1 -0
  54. package/assets/esri/core/workers/chunks/6d09965ab2bff9da88b6.js +1 -0
  55. package/assets/esri/core/workers/chunks/{521aac8a665e98e4ca78.js → 700122f775b98a7ed353.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{a92c1171314a68504c1b.js → 7353d78feba7e6302b6e.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{13ce8e8d45779b11ee12.js → 7f4fa2f2e85863d3cfb9.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{a4f89568205d78d91cfe.js → 80c36f1786ae0be00962.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{549f4ab9e285deaf04fb.js → 81d89107ff82604a3ea0.js} +1 -1
  60. package/assets/esri/core/workers/chunks/8208c073e606973ea1ad.js +1 -0
  61. package/assets/esri/core/workers/chunks/{62ed6b45482e39d67785.js → 893a5ab0c2df9262efd8.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{1f0c7ab33e466a37c7f9.js → 8c1f1eb36198ce40ef13.js} +1 -1
  63. package/assets/esri/core/workers/chunks/92928c56b312e1514600.js +1 -0
  64. package/assets/esri/core/workers/chunks/94929cf2b9fc66a93882.js +1 -0
  65. package/assets/esri/core/workers/chunks/94f02082a006003ef5a9.js +1 -0
  66. package/assets/esri/core/workers/chunks/951e3c911a3486b1e609.js +1 -0
  67. package/assets/esri/core/workers/chunks/{54666586754949bfa584.js → 983356eb4fd0a0dcf3fd.js} +1 -1
  68. package/assets/esri/core/workers/chunks/a16e75ff5cd9b22be197.js +1 -0
  69. package/assets/esri/core/workers/chunks/{36d9208895abd1ba4ff1.js → a623676c74745e040a2a.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{1065fd655bb7cee243fd.js → a624dd283d264dce35a8.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{2dfaead2ec6434513d45.js → a6742abe3ebe371e85f1.js} +1 -1
  72. package/assets/esri/core/workers/chunks/acc7ff44bfcb5c195114.js +1 -0
  73. package/assets/esri/core/workers/chunks/ad92427bf597a6e0a299.js +1 -0
  74. package/assets/esri/core/workers/chunks/{640085b5ade5c7f16228.js → b285de471ca90f38ec25.js} +1 -1
  75. package/assets/esri/core/workers/chunks/b8f83a272fc41765031d.js +1 -0
  76. package/assets/esri/core/workers/chunks/{19270a2de33f2662005b.js → b93f2bd6429879f92143.js} +1 -1
  77. package/assets/esri/core/workers/chunks/be6cc8a1485961f22372.js +1 -0
  78. package/assets/esri/core/workers/chunks/{bf5a120bc0c4851dbb69.js → bef2a70d382515b3c84e.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{e2973e5626e5039209f9.js → c448540065690cac0744.js} +1 -1
  80. package/assets/esri/core/workers/chunks/cc67f066c3c0c2a1a37c.js +33 -0
  81. package/assets/esri/core/workers/chunks/{95057105f1b3bf805140.js → cd2ea924cb91cdb6dde9.js} +1 -1
  82. package/assets/esri/core/workers/chunks/d199deff988eaefe18b4.js +1 -0
  83. package/assets/esri/core/workers/chunks/{2ef4c0092c59a98a5532.js → d54988c21ea5667d00b7.js} +1 -1
  84. package/assets/esri/core/workers/chunks/d94a2ad5a91de7086fbe.js +1 -0
  85. package/assets/esri/core/workers/chunks/{23396a6318edf9264c1f.js → dcf6f7001f470f76bd3e.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{cd39a53ef74f47604977.js → e03c706e327f4989280a.js} +1 -1
  87. package/assets/esri/core/workers/chunks/e47535f795b15608a6cb.js +1 -0
  88. package/assets/esri/core/workers/chunks/e572ffc1d000e4e6325f.js +1 -0
  89. package/assets/esri/core/workers/chunks/ed38c1043e6a83f49f93.js +1 -0
  90. package/assets/esri/core/workers/chunks/{11ab10668632648b2ba7.js → f2e8abb556a380cc2941.js} +1 -1
  91. package/assets/esri/core/workers/chunks/f44f358db5c56d5bbc0c.js +1 -0
  92. package/assets/esri/core/workers/chunks/fa95c9248fbfab338f2e.js +1 -0
  93. package/chunks/ComponentShader.glsl.js +29 -29
  94. package/chunks/Haze.glsl.js +15 -21
  95. package/config.d.ts +1 -1
  96. package/config.js +1 -1
  97. package/core/Collection.d.ts +1 -1
  98. package/core/Error.d.ts +1 -1
  99. package/core/Evented.d.ts +1 -1
  100. package/core/accessorSupport/decorators.d.ts +1 -1
  101. package/core/colorUtils.js +1 -1
  102. package/editing/sharedTemplates/SharedTemplate.d.ts +1 -1
  103. package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +1 -1
  104. package/geometry/Mesh.d.ts +1 -2
  105. package/geometry/coordinateFormatter.d.ts +1 -1
  106. package/geometry/projectionUtils.js +1 -1
  107. package/geometry/support/MeshMaterial.d.ts +1 -1
  108. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  109. package/geometry/support/MeshTexture.d.ts +1 -1
  110. package/geometry/support/meshUtils/{interfaces.d.ts → types.d.ts} +10 -1
  111. package/geometry/support/meshUtils.d.ts +1 -1
  112. package/geometry/support/normalizeUtils.d.ts +1 -1
  113. package/geometry/support/typeUtils.d.ts +3 -1
  114. package/geometry/support/typeUtils.js +1 -1
  115. package/geometry/types.d.ts +5 -0
  116. package/interfaces.d.ts +758 -786
  117. package/intl/date.d.ts +1 -1
  118. package/kernel.js +1 -1
  119. package/layers/CSVLayer.d.ts +3 -3
  120. package/layers/CatalogLayer.d.ts +1 -1
  121. package/layers/FeatureLayer.d.ts +1 -1
  122. package/layers/GaussianSplatLayer.d.ts +22 -0
  123. package/layers/GeoJSONLayer.d.ts +3 -3
  124. package/layers/ImageryTileLayer.d.ts +9 -9
  125. package/layers/MapImageLayer.d.ts +2 -2
  126. package/layers/OrientedImageryLayer.d.ts +2 -2
  127. package/layers/ParquetLayer.d.ts +1 -1
  128. package/layers/RouteLayer.d.ts +3 -3
  129. package/layers/SceneLayer.d.ts +3 -3
  130. package/layers/SubtypeGroupLayer.d.ts +1 -1
  131. package/layers/VectorTileLayer.d.ts +3 -3
  132. package/layers/VideoLayer.d.ts +2 -2
  133. package/layers/WCSLayer.d.ts +1 -1
  134. package/layers/WFSLayer.d.ts +3 -3
  135. package/layers/catalog/CatalogFootprintLayer.d.ts +3 -3
  136. package/layers/graphics/sources/OGCFeatureSource.js +1 -1
  137. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  138. package/layers/graphics/sources/support/clientSideDefaults.js +1 -1
  139. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +2 -2
  140. package/layers/knowledgeGraph/layerUtils.js +1 -1
  141. package/layers/mixins/ArcGISImageService.d.ts +7 -7
  142. package/layers/mixins/BlendLayer.d.ts +2 -2
  143. package/layers/mixins/EditBusLayer.d.ts +6 -0
  144. package/layers/mixins/FeatureLayerBase.d.ts +2 -2
  145. package/layers/mixins/ImageryTileMixin.d.ts +4 -4
  146. package/layers/mixins/properties/ILayerWithGetFeatureTitle.d.ts +1 -1
  147. package/layers/ogc/wcsUtils.d.ts +1 -1
  148. package/layers/orientedImagery/transformations/imageToWorld.d.ts +2 -2
  149. package/layers/orientedImagery/transformations/{interfaces.d.ts → types.d.ts} +1 -1
  150. package/layers/orientedImagery/transformations/worldToImage.d.ts +2 -2
  151. package/layers/raster/datasets/wcsCapabilitiesParser.d.ts +1 -1
  152. package/layers/raster/datasets/wcsCoverageParser.d.ts +1 -1
  153. package/layers/raster/functions/creators/createAppearenceFunctions.d.ts +2 -2
  154. package/layers/raster/functions/creators/createBandIndexFunctions.d.ts +1 -1
  155. package/layers/raster/functions/creators/createChangeFunctions.d.ts +1 -1
  156. package/layers/raster/functions/creators/createConversionFunctions.d.ts +1 -1
  157. package/layers/raster/functions/creators/createDataManagementFunctions.d.ts +2 -2
  158. package/layers/raster/functions/creators/createLocalFunctions.d.ts +1 -1
  159. package/layers/raster/functions/creators/createMultiRasterAnalysisFunctions.d.ts +1 -1
  160. package/layers/raster/functions/creators/createStatisticsFunctions.d.ts +1 -1
  161. package/layers/raster/functions/creators/createSurfaceFunctions.d.ts +1 -1
  162. package/layers/support/ControlPoint.d.ts +3 -3
  163. package/layers/support/ControlPointsGeoreference.d.ts +6 -6
  164. package/layers/support/EditingCapabilities.d.ts +2 -2
  165. package/layers/support/FeatureEffect.d.ts +3 -3
  166. package/layers/support/LabelClass.d.ts +1 -1
  167. package/layers/support/RasterInfo.d.ts +1 -1
  168. package/layers/support/SpriteSource.d.ts +1 -1
  169. package/layers/support/StreamConnection.d.ts +1 -1
  170. package/layers/support/Sublayer.d.ts +1 -1
  171. package/layers/support/SubtypeSublayer.d.ts +2 -2
  172. package/layers/support/TimeInfo.d.ts +1 -1
  173. package/layers/support/capabilities.js +1 -1
  174. package/layers/support/layerUtils.js +1 -1
  175. package/layers/support/rasterFunctionUtils.d.ts +1 -1
  176. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  177. package/layers/support/{interfaces.d.ts → types.d.ts} +6 -6
  178. package/layers/{interfaces.d.ts → types.d.ts} +18 -1
  179. package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
  180. package/linkChart/OrganicLayoutSettings.d.ts +1 -1
  181. package/networks/Network.d.ts +4 -4
  182. package/networks/UtilityNetwork.d.ts +8 -8
  183. package/networks/support/TopologyValidationJobInfo.d.ts +1 -1
  184. package/networks/support/TraceJobInfo.d.ts +1 -1
  185. package/package.json +1 -1
  186. package/popup/content/CustomContent.d.ts +1 -1
  187. package/portal/PortalItem.d.ts +1 -1
  188. package/portal/PortalItemResource.d.ts +1 -1
  189. package/portal/PortalUser.d.ts +2 -2
  190. package/renderers/FlowRenderer.d.ts +1 -1
  191. package/renderers/RasterStretchRenderer.d.ts +2 -2
  192. package/renderers/Renderer.d.ts +1 -1
  193. package/renderers/VectorFieldRenderer.d.ts +1 -1
  194. package/renderers/mixins/VisualVariablesMixin.d.ts +3 -3
  195. package/renderers/support/AuthoringInfo.d.ts +1 -1
  196. package/renderers/support/rasterRendererHelper.d.ts +1 -1
  197. package/renderers/support/renderingInfoUtils.js +1 -1
  198. package/renderers/{interfaces.d.ts → types.d.ts} +3 -1
  199. package/renderers/visualVariables/SizeVariable.d.ts +1 -1
  200. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  201. package/request/{interfaces.d.ts → types.d.ts} +10 -10
  202. package/request.d.ts +4 -4
  203. package/rest/closestFacility.d.ts +1 -1
  204. package/rest/featureService/FeatureService.d.ts +1 -1
  205. package/rest/featureService/FeatureService.js +1 -1
  206. package/rest/featureService/{interfaces.d.ts → types.d.ts} +16 -3
  207. package/rest/featureService/utils.d.ts +1 -1
  208. package/rest/find.d.ts +1 -1
  209. package/rest/geometryService.d.ts +1 -1
  210. package/rest/geoprocessor.d.ts +1 -1
  211. package/rest/identify.d.ts +1 -1
  212. package/rest/imageService.d.ts +5 -5
  213. package/rest/knowledgeGraphService.d.ts +19 -19
  214. package/rest/lastMileDelivery.d.ts +1 -1
  215. package/rest/locator.d.ts +1 -1
  216. package/rest/networkService.d.ts +1 -1
  217. package/rest/networks/queryAssociations.d.ts +1 -1
  218. package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -1
  219. package/rest/networks/trace.d.ts +1 -1
  220. package/rest/places.d.ts +1 -1
  221. package/rest/print.d.ts +2 -2
  222. package/rest/query.d.ts +2 -2
  223. package/rest/route.d.ts +1 -1
  224. package/rest/serviceArea.d.ts +1 -1
  225. package/rest/support/AddressToLocationsParameters.d.ts +1 -1
  226. package/rest/support/AddressesToLocationsParameters.d.ts +1 -1
  227. package/rest/support/AttributeBinsQuery.d.ts +3 -3
  228. package/rest/support/JobInfo.d.ts +2 -2
  229. package/rest/support/LastMileDeliveryParameters.d.ts +1 -1
  230. package/rest/support/LocationToAddressParameters.d.ts +1 -1
  231. package/rest/support/ParameterValue.d.ts +1 -1
  232. package/rest/support/ProjectParameters.d.ts +1 -1
  233. package/rest/symbolService.d.ts +3 -3
  234. package/smartMapping/heuristics/binLevel.d.ts +1 -1
  235. package/smartMapping/heuristics/scaleRange.d.ts +1 -1
  236. package/smartMapping/heuristics/sizeRange.d.ts +1 -1
  237. package/smartMapping/heuristics/{interfaces.d.ts → types.d.ts} +1 -1
  238. package/smartMapping/popup/clusters.d.ts +1 -1
  239. package/smartMapping/popup/templates.d.ts +1 -1
  240. package/smartMapping/raster/renderers/classBreaks.d.ts +2 -2
  241. package/smartMapping/raster/renderers/colormap.d.ts +1 -1
  242. package/smartMapping/raster/renderers/flow.d.ts +4 -4
  243. package/smartMapping/raster/renderers/rgb.d.ts +2 -2
  244. package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -1
  245. package/smartMapping/raster/renderers/stretch.d.ts +2 -2
  246. package/smartMapping/raster/renderers/{interfaces.d.ts → types.d.ts} +1 -1
  247. package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -1
  248. package/smartMapping/raster/renderers/vectorField.d.ts +1 -1
  249. package/smartMapping/raster/support/utils.d.ts +1 -1
  250. package/smartMapping/renderers/color.d.ts +4 -4
  251. package/smartMapping/renderers/dotDensity.d.ts +3 -3
  252. package/smartMapping/renderers/heatmap.d.ts +3 -3
  253. package/smartMapping/renderers/location.d.ts +2 -2
  254. package/smartMapping/renderers/opacity.d.ts +3 -3
  255. package/smartMapping/renderers/pieChart.d.ts +3 -3
  256. package/smartMapping/renderers/predominance.d.ts +2 -2
  257. package/smartMapping/renderers/relationship.d.ts +4 -4
  258. package/smartMapping/renderers/size.d.ts +4 -4
  259. package/smartMapping/renderers/support/rendererUtils.d.ts +1 -1
  260. package/smartMapping/renderers/type.d.ts +3 -3
  261. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  262. package/smartMapping/statistics/classBreaks.d.ts +2 -2
  263. package/smartMapping/statistics/heatmapStatistics.d.ts +2 -2
  264. package/smartMapping/statistics/histogram.d.ts +1 -2
  265. package/smartMapping/statistics/predominantCategories.d.ts +2 -2
  266. package/smartMapping/statistics/summaryStatistics.d.ts +2 -2
  267. package/smartMapping/statistics/summaryStatisticsForAge.d.ts +1 -1
  268. package/smartMapping/statistics/support/ageUtils.d.ts +1 -1
  269. package/smartMapping/statistics/types.d.ts +571 -0
  270. package/smartMapping/statistics/uniqueValues.d.ts +2 -2
  271. package/smartMapping/symbology/color.d.ts +1 -1
  272. package/smartMapping/symbology/dotDensity.d.ts +1 -1
  273. package/smartMapping/symbology/flow.d.ts +1 -1
  274. package/smartMapping/symbology/heatmap.d.ts +1 -1
  275. package/smartMapping/symbology/location.d.ts +1 -1
  276. package/smartMapping/symbology/pieChart.d.ts +1 -1
  277. package/smartMapping/symbology/predominance.d.ts +1 -1
  278. package/smartMapping/symbology/relationship.d.ts +1 -1
  279. package/smartMapping/symbology/size.d.ts +1 -1
  280. package/smartMapping/symbology/support/colorRamps.d.ts +1 -1
  281. package/smartMapping/symbology/type.d.ts +1 -1
  282. package/smartMapping/types.d.ts +18 -0
  283. package/support/revision.js +1 -1
  284. package/support/tests/setupServiceMocksMesh.js +1 -1
  285. package/support/timeUtils.d.ts +1 -1
  286. package/symbols/LineStyleMarker3D.d.ts +1 -1
  287. package/symbols/LineSymbol3DLayer.d.ts +1 -1
  288. package/symbols/LineSymbolMarker.d.ts +1 -1
  289. package/symbols/PathSymbol3DLayer.d.ts +1 -1
  290. package/symbols/SimpleLineSymbol.d.ts +1 -1
  291. package/symbols/patterns/LineStylePattern3D.d.ts +1 -1
  292. package/symbols/patterns/StylePattern3D.d.ts +1 -1
  293. package/symbols/support/ElevationInfo.d.ts +1 -1
  294. package/symbols/support/Symbol3DOutline.d.ts +1 -1
  295. package/symbols/support/symbolUtils.d.ts +2 -2
  296. package/time/TimeExtent.d.ts +1 -1
  297. package/unionTypes.d.ts +3 -3
  298. package/versionManagement/VersionManagementService.d.ts +1 -1
  299. package/versionManagement/VersionManager.d.ts +3 -3
  300. package/versionManagement/VersioningState.d.ts +1 -1
  301. package/versionManagement/utils.d.ts +1 -1
  302. package/versionManagement/versionAdapters/utils.d.ts +7 -7
  303. package/views/2d/analysis/ElevationProfile/ElevationProfileLineVisualization2D.js +1 -1
  304. package/views/2d/analysis/ElevationProfile/ElevationProfileVisualization2D.js +1 -1
  305. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +1 -2
  306. package/views/2d/engine/vectorTiles/style/StyleProperty.js +1 -1
  307. package/views/2d/layers/BaseLayerView2D.d.ts +2 -2
  308. package/views/2d/layers/BaseLayerViewGL2D.d.ts +9 -9
  309. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  310. package/views/2d/{layers/support/interfaces.d.ts → types.d.ts} +68 -1
  311. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  312. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  313. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  314. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  315. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  316. package/views/3d/analysis/ElevationProfile/ElevationProfileLineVisualization3D.js +1 -1
  317. package/views/3d/analysis/ElevationProfile/ElevationProfileVisualization3D.js +1 -1
  318. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +1 -2
  319. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  320. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  321. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  322. package/views/3d/analysis/ShadowCastAnalysisView3D.d.ts +2 -2
  323. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  324. package/views/3d/analysis/Slice/ResizeManipulator.js +1 -1
  325. package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
  326. package/views/3d/analysis/Slice/ShiftManipulator.js +1 -1
  327. package/views/3d/analysis/Viewshed/ViewshedArrowManipulator.js +1 -1
  328. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  329. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  330. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  331. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  332. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  333. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  334. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  335. package/views/3d/environment/ChapmanRaymarching.glsl.js +6 -7
  336. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  337. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  338. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  339. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  340. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  341. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  342. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  343. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  344. package/views/3d/interactive/editingTools/settings.js +1 -1
  345. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  346. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  347. package/views/3d/layers/I3SMeshView3D.js +1 -1
  348. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  349. package/views/3d/layers/SceneLayerWorker.js +1 -1
  350. package/views/3d/layers/{I3SMeshWorkerHandle.js → SceneLayerWorkerHandle.js} +1 -1
  351. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  352. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  353. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  354. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  355. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  356. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  357. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  358. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  359. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  360. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  361. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
  362. package/views/3d/layers/support/edgeUtils.js +1 -1
  363. package/views/3d/support/flow/geometryUtils.js +1 -1
  364. package/views/3d/support/viewpointUtils.js +1 -1
  365. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  366. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  367. package/views/3d/terrain/TerrainRenderer.js +1 -1
  368. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  369. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  370. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  371. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  372. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +1 -2
  373. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +18 -27
  374. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  375. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  376. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  377. package/views/3d/webgl-engine/effects/focusArea/FocusAreaOutlineItem.js +1 -1
  378. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  379. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  380. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  381. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  382. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  383. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  384. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  385. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  386. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  387. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  388. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  389. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  390. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  391. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  392. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  393. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  394. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  395. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  396. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  397. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  398. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +1 -1
  399. package/views/3d/webgl-engine/shaders/CutFillTargetDepthTechnique.js +1 -1
  400. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  401. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  402. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  403. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  404. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  405. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  406. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  407. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  408. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  409. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  410. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  411. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  412. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  413. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  414. package/views/LinkChartView.d.ts +5 -5
  415. package/views/Magnifier.d.ts +1 -1
  416. package/views/MapView.d.ts +11 -12
  417. package/views/PopupView.d.ts +1 -1
  418. package/views/SceneView.d.ts +6 -7
  419. package/views/SceneViewHitTestResult.d.ts +1 -1
  420. package/views/View2D.d.ts +8 -8
  421. package/views/analysis/ElevationProfile/ElevationProfileHoveredPointVisualization.js +1 -1
  422. package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +1 -1
  423. package/views/analysis/ElevationProfile/types.d.ts +68 -0
  424. package/views/analysis/types.d.ts +2 -2
  425. package/views/draw/Draw.d.ts +1 -1
  426. package/views/draw/DrawAction.d.ts +1 -1
  427. package/views/input/IViewEvents.d.ts +1 -1
  428. package/views/interactive/Tooltip.d.ts +1 -1
  429. package/views/interactive/sketch/SketchValueOptions.d.ts +1 -1
  430. package/views/interactive/tooltip/types.d.ts +4 -0
  431. package/views/layers/BuildingComponentSublayerView.d.ts +1 -1
  432. package/views/layers/BuildingSceneLayerView.d.ts +1 -1
  433. package/views/layers/ImageryLayerViewMixin.d.ts +1 -1
  434. package/views/layers/PointCloudLayerView.d.ts +1 -1
  435. package/views/navigation/NavigationActionMap.d.ts +1 -1
  436. package/views/support/colorUtils.d.ts +1 -1
  437. package/views/{interfaces.d.ts → types.d.ts} +91 -5
  438. package/views/ui/DefaultUI.d.ts +1 -1
  439. package/views/ui/UI.d.ts +1 -1
  440. package/webdoc/widgets/FloorFilter.d.ts +2 -2
  441. package/webdoc/widgets/TimeSlider.d.ts +5 -5
  442. package/webmap/InitialViewProperties.d.ts +2 -2
  443. package/webscene/Environment.d.ts +3 -3
  444. package/webscene/InitialViewProperties.d.ts +0 -1
  445. package/webscene/Slide.d.ts +36 -4
  446. package/webscene/Slide.js +1 -1
  447. package/webscene/support/SlidePopupInfo.d.ts +2 -2
  448. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +1 -1
  449. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.d.ts +7 -1
  450. package/widgets/AreaMeasurement3D.d.ts +1 -0
  451. package/widgets/Attachments/AttachmentsViewModel.d.ts +1 -1
  452. package/widgets/Attachments.d.ts +1 -1
  453. package/widgets/Attribution/AttributionViewModel.d.ts +2 -2
  454. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +1 -1
  455. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +1 -1
  456. package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +2 -2
  457. package/widgets/BasemapLayerList.d.ts +1 -1
  458. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +4 -4
  459. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.d.ts +1 -1
  460. package/widgets/BatchAttributeForm/inputs/EditableInput.d.ts +1 -1
  461. package/widgets/BatchAttributeForm/inputs/GroupInput.d.ts +1 -1
  462. package/widgets/BatchAttributeForm/inputs/InputBase.d.ts +1 -1
  463. package/widgets/BatchAttributeForm/inputs/SingleFeatureInput.d.ts +1 -1
  464. package/widgets/BatchAttributeForm.d.ts +1 -1
  465. package/widgets/Bookmarks/BookmarksViewModel.d.ts +5 -5
  466. package/widgets/Bookmarks/{interfaces.d.ts → types.d.ts} +1 -1
  467. package/widgets/Bookmarks.d.ts +5 -5
  468. package/widgets/BuildingExplorer/BuildingExplorerViewModel.d.ts +1 -0
  469. package/widgets/BuildingExplorer/BuildingLevel.d.ts +1 -0
  470. package/widgets/BuildingExplorer/BuildingNumericFilterViewModel.d.ts +1 -0
  471. package/widgets/BuildingExplorer/BuildingPhase.d.ts +1 -0
  472. package/widgets/BuildingExplorer.d.ts +3 -0
  473. package/widgets/CatalogLayerList/CatalogLayerListViewModel.d.ts +2 -2
  474. package/widgets/CatalogLayerList.d.ts +1 -1
  475. package/widgets/Compass/CompassViewModel.d.ts +1 -1
  476. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +4 -4
  477. package/widgets/CoordinateConversion/support/Conversion.d.ts +1 -1
  478. package/widgets/CoordinateConversion/support/Format.d.ts +2 -2
  479. package/widgets/CoordinateConversion.d.ts +1 -1
  480. package/widgets/Daylight/DaylightViewModel.d.ts +3 -1
  481. package/widgets/Daylight/VisibleElements.d.ts +3 -0
  482. package/widgets/Daylight/types.d.ts +6 -0
  483. package/widgets/Daylight.d.ts +4 -2
  484. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.d.ts +7 -1
  485. package/widgets/DirectLineMeasurement3D.d.ts +1 -0
  486. package/widgets/Directions/DirectionsViewModel.d.ts +3 -3
  487. package/widgets/Directions.d.ts +3 -3
  488. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +1 -1
  489. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  490. package/widgets/Editor/CreateFeaturesWorkflowData.d.ts +2 -2
  491. package/widgets/Editor/EditorViewModel.d.ts +5 -5
  492. package/widgets/Editor/MergeFeaturesWorkflow.d.ts +1 -1
  493. package/widgets/Editor/SplitFeatureWorkflow.d.ts +1 -1
  494. package/widgets/Editor/SplitFeatureWorkflowData.d.ts +1 -1
  495. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  496. package/widgets/Editor/UpdateFeaturesWorkflow.d.ts +1 -1
  497. package/widgets/Editor/UpdateFeaturesWorkflowData.d.ts +1 -1
  498. package/widgets/Editor/UpdateWorkflow.d.ts +1 -1
  499. package/widgets/Editor/Workflow.d.ts +1 -1
  500. package/widgets/Editor/support/EditorEditingCapabilities.d.ts +9 -9
  501. package/widgets/Editor/support/EditorItem.d.ts +4 -4
  502. package/widgets/Editor/support/SketchController.js +1 -1
  503. package/widgets/Editor/{interfaces.d.ts → types.d.ts} +1 -1
  504. package/widgets/Editor.d.ts +9 -9
  505. package/widgets/ElevationProfile/ElevationProfileLine.d.ts +2 -1
  506. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -0
  507. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -0
  508. package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +2 -1
  509. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +2 -0
  510. package/widgets/ElevationProfile/ElevationProfileViewModel.d.ts +3 -5
  511. package/widgets/ElevationProfile/ElevationProfileVisibleElements.d.ts +3 -0
  512. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  513. package/widgets/ElevationProfile/types.d.ts +149 -0
  514. package/widgets/ElevationProfile.d.ts +6 -5
  515. package/widgets/Expand/ExpandViewModel.d.ts +1 -1
  516. package/widgets/Expand.d.ts +2 -2
  517. package/widgets/Feature/FeatureViewModel.d.ts +5 -5
  518. package/widgets/Feature.d.ts +2 -2
  519. package/widgets/FeatureForm/EditableInput.d.ts +1 -1
  520. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +3 -3
  521. package/widgets/FeatureForm/GroupInput.d.ts +1 -1
  522. package/widgets/FeatureForm.d.ts +2 -2
  523. package/widgets/FeatureTable/AttachmentsColumn.d.ts +1 -1
  524. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -4
  525. package/widgets/FeatureTable/Grid/Column.d.ts +2 -3
  526. package/widgets/FeatureTable/Grid/{support/interfaces.d.ts → types.d.ts} +57 -0
  527. package/widgets/FeatureTable/RelationshipColumn.d.ts +1 -1
  528. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +2 -3
  529. package/widgets/FeatureTable/support/interfaces.d.ts +2 -3
  530. package/widgets/FeatureTable.d.ts +3 -4
  531. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +4 -4
  532. package/widgets/FeatureTemplates/TemplateItem.d.ts +1 -1
  533. package/widgets/FeatureTemplates/{interfaces.d.ts → types.d.ts} +1 -1
  534. package/widgets/FeatureTemplates.d.ts +3 -3
  535. package/widgets/Features/FeaturesViewModel.d.ts +11 -11
  536. package/widgets/Features.d.ts +10 -10
  537. package/widgets/Histogram/HistogramViewModel.d.ts +3 -3
  538. package/widgets/Histogram.d.ts +3 -3
  539. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +3 -3
  540. package/widgets/HistogramRangeSlider.d.ts +11 -11
  541. package/widgets/LayerList/LayerListViewModel.d.ts +1 -1
  542. package/widgets/LayerList/ListItem.d.ts +1 -1
  543. package/widgets/LayerList.d.ts +1 -1
  544. package/widgets/Legend/LegendViewModel.d.ts +1 -1
  545. package/widgets/Legend/support/ActiveLayerInfo.d.ts +1 -1
  546. package/widgets/Legend.d.ts +1 -1
  547. package/widgets/LineOfSight/LineOfSightTarget.d.ts +1 -0
  548. package/widgets/LineOfSight/LineOfSightViewModel.d.ts +1 -0
  549. package/widgets/LineOfSight.d.ts +1 -0
  550. package/widgets/Locate/LocateViewModel.d.ts +1 -1
  551. package/widgets/Locate.d.ts +1 -1
  552. package/widgets/Measurement/MeasurementViewModel.d.ts +2 -2
  553. package/widgets/Measurement.d.ts +1 -1
  554. package/widgets/Popup.d.ts +7 -7
  555. package/widgets/Print/CustomTemplate.d.ts +1 -1
  556. package/widgets/Print/PrintViewModel.d.ts +2 -2
  557. package/widgets/Print.d.ts +1 -1
  558. package/widgets/ScaleRangeSlider.d.ts +2 -2
  559. package/widgets/Search/LocatorSearchSource.d.ts +2 -2
  560. package/widgets/Search/SearchSource.d.ts +3 -3
  561. package/widgets/Search/types.d.ts +64 -0
  562. package/widgets/Search.d.ts +1 -1
  563. package/widgets/ShadowCast/ShadowCastViewModel.d.ts +1 -1
  564. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  565. package/widgets/Sketch/SketchViewModel.d.ts +5 -5
  566. package/widgets/Sketch/{support/interfaces.d.ts → types.d.ts} +17 -17
  567. package/widgets/Sketch.d.ts +1 -1
  568. package/widgets/Slice/SliceViewModel.d.ts +1 -0
  569. package/widgets/Slice.d.ts +1 -0
  570. package/widgets/Slider/SliderViewModel.d.ts +3 -3
  571. package/widgets/Slider/{interfaces.d.ts → types.d.ts} +2 -2
  572. package/widgets/Slider.d.ts +4 -4
  573. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  574. package/widgets/Swipe.d.ts +1 -1
  575. package/widgets/TableList/ListItem.d.ts +1 -1
  576. package/widgets/TableList/TableListViewModel.d.ts +2 -2
  577. package/widgets/TableList.d.ts +1 -1
  578. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +5 -5
  579. package/widgets/TimeSlider.d.ts +14 -15
  580. package/widgets/TimeZoneLabel.d.ts +1 -2
  581. package/widgets/Track/TrackViewModel.d.ts +1 -1
  582. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  583. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +2 -2
  584. package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
  585. package/widgets/ValuePicker/ValuePickerSlider.d.ts +1 -1
  586. package/widgets/ValuePicker.d.ts +2 -2
  587. package/widgets/VersionManagement/VersionManagementViewModel.d.ts +3 -3
  588. package/widgets/Weather/VisibleElements.d.ts +3 -0
  589. package/widgets/Weather/WeatherViewModel.d.ts +2 -1
  590. package/widgets/Weather/types.d.ts +9 -0
  591. package/widgets/Weather.d.ts +1 -0
  592. package/widgets/Widget.d.ts +2 -1
  593. package/widgets/smartMapping/BinaryColorSizeSlider.d.ts +0 -3
  594. package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.d.ts +1 -3
  595. package/widgets/smartMapping/ClassedColorSlider.d.ts +2 -2
  596. package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.d.ts +1 -2
  597. package/widgets/smartMapping/ClassedSizeSlider.d.ts +2 -2
  598. package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.d.ts +5 -5
  599. package/widgets/smartMapping/ColorSizeSlider.d.ts +3 -2
  600. package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.d.ts +1 -1
  601. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  602. package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.d.ts +2 -4
  603. package/widgets/smartMapping/HeatmapSlider.d.ts +2 -4
  604. package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.d.ts +1 -1
  605. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  606. package/widgets/smartMapping/SizeSlider.d.ts +2 -2
  607. package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.d.ts +2 -2
  608. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +11 -14
  609. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +5 -6
  610. package/widgets/smartMapping/{support/interfaces.d.ts → types.d.ts} +52 -5
  611. package/widgets/support/GeolocationPositioning.d.ts +1 -1
  612. package/widgets/support/GridControls/GridControlsViewModel.d.ts +1 -1
  613. package/widgets/support/goToUtils.d.ts +1 -1
  614. package/widgets/{interfaces.d.ts → types.d.ts} +71 -15
  615. package/arcade/featureset/support/shared.d.ts +0 -16
  616. package/assets/esri/core/workers/chunks/0359ac6d938e0df936d0.js +0 -1
  617. package/assets/esri/core/workers/chunks/1db058f91a8e17b24db6.js +0 -1
  618. package/assets/esri/core/workers/chunks/1e286fb7bb833f00dd88.js +0 -1
  619. package/assets/esri/core/workers/chunks/262232437d37a7460b11.js +0 -1
  620. package/assets/esri/core/workers/chunks/2d6fa00273a73d44297d.js +0 -1
  621. package/assets/esri/core/workers/chunks/2fae37f34b28a46841e3.js +0 -1
  622. package/assets/esri/core/workers/chunks/3b1471f908fdecec2815.js +0 -1
  623. package/assets/esri/core/workers/chunks/48b3906ac3ec57253d90.js +0 -1
  624. package/assets/esri/core/workers/chunks/49b581782f63abb6dd9f.js +0 -1
  625. package/assets/esri/core/workers/chunks/4abe2c56aecc9e9b8e86.js +0 -1
  626. package/assets/esri/core/workers/chunks/51b78eca012eac92dd07.js +0 -1
  627. package/assets/esri/core/workers/chunks/5ce524e0060053f35592.js +0 -316
  628. package/assets/esri/core/workers/chunks/5d244fcf5c075afccdc6.js +0 -1
  629. package/assets/esri/core/workers/chunks/6b8c15f3970289e73a47.js +0 -1
  630. package/assets/esri/core/workers/chunks/6cfcfebe9a4c491e453a.js +0 -1
  631. package/assets/esri/core/workers/chunks/710b29729f252f11115d.js +0 -1
  632. package/assets/esri/core/workers/chunks/72a520802b8accfd4512.js +0 -1
  633. package/assets/esri/core/workers/chunks/73892ac79b24b05e6863.js +0 -33
  634. package/assets/esri/core/workers/chunks/75d8244b725a2aee2003.js +0 -1
  635. package/assets/esri/core/workers/chunks/93b139be6488a1b4ba19.js +0 -1
  636. package/assets/esri/core/workers/chunks/a5e7c9517939f762c518.js +0 -1
  637. package/assets/esri/core/workers/chunks/a63ff3e9a9f3853d12f3.js +0 -1
  638. package/assets/esri/core/workers/chunks/a81a7cba815adb575c36.js +0 -1
  639. package/assets/esri/core/workers/chunks/a8fd635d1165db8616ab.js +0 -1
  640. package/assets/esri/core/workers/chunks/b638ce18b93d3cfb9967.js +0 -1
  641. package/assets/esri/core/workers/chunks/ba7e97b1e324118b8156.js +0 -1
  642. package/assets/esri/core/workers/chunks/c0d6336c10b4081c4e32.js +0 -1
  643. package/assets/esri/core/workers/chunks/cc4ae105e727d9211d82.js +0 -1
  644. package/assets/esri/core/workers/chunks/d7a62504e00989202c45.js +0 -1
  645. package/assets/esri/core/workers/chunks/e25be3b6b67ce6b03011.js +0 -1
  646. package/assets/esri/core/workers/chunks/e5ac9b048b16fef9840c.js +0 -1
  647. package/assets/esri/core/workers/chunks/efa95c50d1ed8e74219f.js +0 -1
  648. package/assets/esri/core/workers/chunks/f379fd459a103f42d447.js +0 -1
  649. package/assets/esri/core/workers/chunks/ffcdc7ae03b0570e0db8.js +0 -1
  650. package/geometry/interfaces.d.ts +0 -2
  651. package/geometry/support/interfaces.d.ts +0 -3
  652. package/geometry/support/meshUtils/exporters/gltf/interfaces.d.ts +0 -11
  653. package/renderers/support/interfaces.d.ts +0 -2
  654. package/smartMapping/statistics/interfaces.d.ts +0 -571
  655. package/smartMapping/support/adapters/interfaces.d.ts +0 -18
  656. package/views/2d/interfaces.d.ts +0 -67
  657. package/views/analysis/ElevationProfile/ElevationProfileHoveredPointsVisualization.js +0 -5
  658. package/views/analysis/ElevationProfile/interfaces.d.ts +0 -73
  659. package/views/interactive/sketch/interfaces.d.ts +0 -2
  660. package/views/interactive/tooltip/interfaces.d.ts +0 -2
  661. package/views/support/interfaces.d.ts +0 -87
  662. package/widgets/Daylight/support/daylightUtils.d.ts +0 -4
  663. package/widgets/ElevationProfile/ElevationProfileInteraction.d.ts +0 -13
  664. package/widgets/ElevationProfile/elevationProfileLineTypes.d.ts +0 -6
  665. package/widgets/ElevationProfile/interfaces.d.ts +0 -103
  666. package/widgets/ElevationProfile/support/constants.d.ts +0 -14
  667. package/widgets/FeatureTable/Grid/interfaces.d.ts +0 -57
  668. package/widgets/Search/support/interfaces.d.ts +0 -67
  669. package/widgets/Weather/enums.d.ts +0 -9
  670. package/widgets/smartMapping/ClassedColorSlider/interfaces.d.ts +0 -19
  671. package/widgets/smartMapping/ClassedSizeSlider/interfaces.d.ts +0 -18
  672. package/widgets/smartMapping/interfaces.d.ts +0 -13
  673. package/widgets/support/interfaces.d.ts +0 -56
  674. /package/analysis/{interfaces.d.ts → types.d.ts} +0 -0
  675. /package/core/accessorSupport/{interfaces.d.ts → types.d.ts} +0 -0
  676. /package/core/{interfaces.d.ts → types.d.ts} +0 -0
  677. /package/editing/sharedTemplates/{interfaces.d.ts → types.d.ts} +0 -0
  678. /package/editing/{interfaces.d.ts → types.d.ts} +0 -0
  679. /package/layers/effects/{interfaces.d.ts → types.d.ts} +0 -0
  680. /package/layers/orientedImagery/{interfaces.d.ts → types.d.ts} +0 -0
  681. /package/layers/raster/datasets/{interfaces.d.ts → types.d.ts} +0 -0
  682. /package/layers/raster/functions/{interfaces.d.ts → types.d.ts} +0 -0
  683. /package/linkChart/{interfaces.d.ts → types.d.ts} +0 -0
  684. /package/popup/{interfaces.d.ts → types.d.ts} +0 -0
  685. /package/rest/lastMileDelivery/{interfaces.d.ts → types.d.ts} +0 -0
  686. /package/rest/{interfaces.d.ts → types.d.ts} +0 -0
  687. /package/smartMapping/popup/{interfaces.d.ts → types.d.ts} +0 -0
  688. /package/smartMapping/raster/support/adapters/{interfaces.d.ts → types.d.ts} +0 -0
  689. /package/smartMapping/symbology/{interfaces.d.ts → types.d.ts} +0 -0
  690. /package/statistics/{interfaces.d.ts → types.d.ts} +0 -0
  691. /package/symbols/support/{interfaces.d.ts → types.d.ts} +0 -0
  692. /package/symbols/{interfaces.d.ts → types.d.ts} +0 -0
  693. /package/time/{interfaces.d.ts → types.d.ts} +0 -0
  694. /package/versionManagement/versionAdapters/{interfaces.d.ts → types.d.ts} +0 -0
  695. /package/views/2d/analysis/{interfaces.d.ts → types.d.ts} +0 -0
  696. /package/views/3d/analysis/{interfaces.d.ts → types.d.ts} +0 -0
  697. /package/views/3d/{interfaces.d.ts → types.d.ts} +0 -0
  698. /package/views/draw/{interfaces.d.ts → types.d.ts} +0 -0
  699. /package/views/input/{interfaces.d.ts → types.d.ts} +0 -0
  700. /package/views/navigation/{interfaces.d.ts → types.d.ts} +0 -0
  701. /package/views/ui/{interfaces.d.ts → types.d.ts} +0 -0
  702. /package/widgets/Attachments/{interfaces.d.ts → types.d.ts} +0 -0
  703. /package/widgets/BasemapGallery/{interfaces.d.ts → types.d.ts} +0 -0
  704. /package/widgets/BasemapLayerList/{interfaces.d.ts → types.d.ts} +0 -0
  705. /package/widgets/BatchAttributeForm/inputs/{interfaces.d.ts → types.d.ts} +0 -0
  706. /package/widgets/BatchAttributeForm/{interfaces.d.ts → types.d.ts} +0 -0
  707. /package/widgets/CatalogLayerList/{interfaces.d.ts → types.d.ts} +0 -0
  708. /package/widgets/Feature/{interfaces.d.ts → types.d.ts} +0 -0
  709. /package/widgets/FeatureForm/{interfaces.d.ts → types.d.ts} +0 -0
  710. /package/widgets/Histogram/{interfaces.d.ts → types.d.ts} +0 -0
  711. /package/widgets/HistogramRangeSlider/{interfaces.d.ts → types.d.ts} +0 -0
  712. /package/widgets/LayerList/{interfaces.d.ts → types.d.ts} +0 -0
  713. /package/widgets/Measurement/{interfaces.d.ts → types.d.ts} +0 -0
  714. /package/widgets/OrientedImageryViewer/{interfaces.d.ts → types.d.ts} +0 -0
  715. /package/widgets/Popup/{interfaces.d.ts → types.d.ts} +0 -0
  716. /package/widgets/Print/{interfaces.d.ts → types.d.ts} +0 -0
  717. /package/widgets/ScaleRangeSlider/{interfaces.d.ts → types.d.ts} +0 -0
  718. /package/widgets/Swipe/{interfaces.d.ts → types.d.ts} +0 -0
  719. /package/widgets/TableList/{interfaces.d.ts → types.d.ts} +0 -0
  720. /package/widgets/TimeSlider/{interfaces.d.ts → types.d.ts} +0 -0
  721. /package/widgets/Track/{interfaces.d.ts → types.d.ts} +0 -0
  722. /package/widgets/ValuePicker/{interfaces.d.ts → types.d.ts} +0 -0
  723. /package/widgets/support/GridControls/{interfaces.d.ts → types.d.ts} +0 -0
  724. /package/widgets/support/forms/{interfaces.d.ts → types.d.ts} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../../Color.js";import e from"../../../../../core/Handles.js";import{makeHandle as i}from"../../../../../core/handleUtils.js";import"../../../../../core/has.js";import{destroyMaybe as a}from"../../../../../core/maybe.js";import{watch as r,initial as s}from"../../../../../core/reactiveUtils.js";import{fromScaling as o}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as n}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{h as l}from"../../../../../chunks/vec32.js";import{fromValues as p}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{sv3d as c,sm4d as m}from"../../../../../geometry/support/vectorStacks.js";import{Manipulator3D as h}from"../../Manipulator3D.js";import{RenderObject as u}from"../../RenderObject.js";import{screenToMapXYAtLocation as d}from"../dragEventPipeline3D.js";import{discRadius as _,discCollisionRadius as f,geometrySegments as g,discHeight as j}from"./config.js";import{Manipulation as M}from"./Manipulation.js";import{createManipulatedMoveDragPipeline as v}from"./moveUtils.js";import{SnapToScene as S}from"../snapping/SnapToScene.js";import{createCylinderGeometry as T}from"../../../webgl-engine/lib/GeometryUtil.js";import{ColorMaterial as w}from"../../../webgl-engine/materials/ColorMaterial.js";import{createManipulatorDragEventPipeline as b,dragAtLocation as y,addScreenDelta as x}from"../../../../interactive/dragEventPipeline.js";class D extends M{constructor(t){super(),this._handles=new e,this._snapToScene=new S,this._scale=1,this._radius=_,this._view=t.view,this._tool=t.tool,this._discMaterial=this._createMaterial(),this._discMaterialTransparent=this._createMaterial(.5),null!=t.snapToScene&&(this.snapToScene=t.snapToScene),null!=t.radius&&(this._radius=t.radius),this._createManipulator(),this.forEachManipulator(t=>this._tool.manipulators.add(t))}destroy(){this._handles=a(this._handles),this.forEachManipulator(t=>{this._tool.manipulators.remove(t),t.destroy()}),this._tool=null,this._view=null,this._manipulator=null}forEachManipulator(t){t(this._manipulator,1)}get displayScale(){return this._scale}set displayScale(t){this._scale=t,this._updateManipulatorTransform()}get snapToScene(){return this._snapToScene.enabled}set snapToScene(t){this._snapToScene.enabled=t}get radius(){return this._radius}set radius(t){t!==this._radius&&(this._radius=t,this._updateManipulator())}get discManipulator(){return this._manipulator}createManipulatedObjectDragPipeline(t,e,a){if(!e.operations)return i();const r=e.graphic,s=e.elevationInfo,o=e.operations.data.spatialReference;return v(e,a,e=>this.createDragPipeline((i,a,r,s,o)=>(({steps:a,cancel:r}=t(i,a,r,s,o)),e(i,a,r)),s,o,r))}createDragPipeline(t,e,i,a){const r=this._view;return b(this._manipulator,(s,o,n,l,p)=>{const c=o.next(y(r,s.elevationAlignedLocation)).next(d(r,s.elevationAlignedLocation,e,i,a)).next(...this._snapToScene.createDragEventPipelineStep(r,e)).next(t=>({...t,manipulatorType:1})).next(x());t(s,c,n,l,p)})}_updateManipulatorTransform(){const t=o(m.get(),l(c.get(),this.displayScale,this.displayScale,this.displayScale));this._manipulator.modelTransform=t}_createManipulator(){const t=this._view;this._manipulator=new h({view:t,worldSized:!1,autoScaleRenderObjects:!1,focusMultiplier:1,touchMultiplier:1,collisionType:{type:"disc",direction:p(0,0,1)},worldOriented:!0}),this._updateManipulator()}_updateManipulator(){const t=T(this._discMaterial,j,1,g,p(0,0,1),p(0,0,0));t.transformation=o(n(),p(this._radius,this._radius,this._radius)),this._manipulator.renderObjects=[new u(t,2),new u(t.instantiate({material:this._discMaterialTransparent}),1)],this._manipulator.radius=f*(this._radius/_)}_createMaterial(e=1){const i=new w({cullFace:2,renderOccluded:2,isDecoration:!0});return this._handles.add(r(()=>t.toUnitRGBA(this._view.effectiveTheme.accentColor),t=>{t[3]*=e,i.setParameters({color:t})},s)),i}get test(){}}export{D as MoveXYDiscManipulation};
5
+ import t from"../../../../../core/Handles.js";import{makeHandle as e}from"../../../../../core/handleUtils.js";import"../../../../../core/has.js";import{destroyMaybe as i}from"../../../../../core/maybe.js";import{watch as a,initial as r}from"../../../../../core/reactiveUtils.js";import{fromScaling as s}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as o}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{h as n}from"../../../../../chunks/vec32.js";import{fromValues as l}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{sv3d as p,sm4d as c}from"../../../../../geometry/support/vectorStacks.js";import{Manipulator3D as m}from"../../Manipulator3D.js";import{RenderObject as h}from"../../RenderObject.js";import{screenToMapXYAtLocation as u}from"../dragEventPipeline3D.js";import{discRadius as d,discCollisionRadius as _,geometrySegments as f,discHeight as g}from"./config.js";import{Manipulation as j}from"./Manipulation.js";import{createManipulatedMoveDragPipeline as M}from"./moveUtils.js";import{SnapToScene as v}from"../snapping/SnapToScene.js";import{createCylinderGeometry as S}from"../../../webgl-engine/lib/GeometryUtil.js";import{ColorMaterial as T}from"../../../webgl-engine/materials/ColorMaterial.js";import{createManipulatorDragEventPipeline as w,dragAtLocation as b,addScreenDelta as y}from"../../../../interactive/dragEventPipeline.js";class x extends j{constructor(e){super(),this._handles=new t,this._snapToScene=new v,this._scale=1,this._radius=d,this._view=e.view,this._tool=e.tool,this._discMaterial=this._createMaterial(),this._discMaterialTransparent=this._createMaterial(.5),null!=e.snapToScene&&(this.snapToScene=e.snapToScene),null!=e.radius&&(this._radius=e.radius),this._createManipulator(),this.forEachManipulator(t=>this._tool.manipulators.add(t))}destroy(){this._handles=i(this._handles),this.forEachManipulator(t=>{this._tool.manipulators.remove(t),t.destroy()}),this._tool=null,this._view=null,this._manipulator=null}forEachManipulator(t){t(this._manipulator,1)}get displayScale(){return this._scale}set displayScale(t){this._scale=t,this._updateManipulatorTransform()}get snapToScene(){return this._snapToScene.enabled}set snapToScene(t){this._snapToScene.enabled=t}get radius(){return this._radius}set radius(t){t!==this._radius&&(this._radius=t,this._updateManipulator())}get discManipulator(){return this._manipulator}createManipulatedObjectDragPipeline(t,i,a){if(!i.operations)return e();const r=i.graphic,s=i.elevationInfo,o=i.operations.data.spatialReference;return M(i,a,e=>this.createDragPipeline((i,a,r,s,o)=>(({steps:a,cancel:r}=t(i,a,r,s,o)),e(i,a,r)),s,o,r))}createDragPipeline(t,e,i,a){const r=this._view;return w(this._manipulator,(s,o,n,l,p)=>{const c=o.next(b(r,s.elevationAlignedLocation)).next(u(r,s.elevationAlignedLocation,e,i,a)).next(...this._snapToScene.createDragEventPipelineStep(r,e)).next(t=>({...t,manipulatorType:1})).next(y());t(s,c,n,l,p)})}_updateManipulatorTransform(){const t=s(c.get(),n(p.get(),this.displayScale,this.displayScale,this.displayScale));this._manipulator.modelTransform=t}_createManipulator(){const t=this._view;this._manipulator=new m({view:t,worldSized:!1,autoScaleRenderObjects:!1,focusMultiplier:1,touchMultiplier:1,collisionType:{type:"disc",direction:l(0,0,1)},worldOriented:!0}),this._updateManipulator()}_updateManipulator(){const t=S(this._discMaterial,g,1,f,l(0,0,1),l(0,0,0));t.transformation=s(o(),l(this._radius,this._radius,this._radius)),this._manipulator.renderObjects=[new h(t,2),new h(t.instantiate({material:this._discMaterialTransparent}),1)],this._manipulator.radius=_*(this._radius/d)}_createMaterial(t=1){const e=new T({cullFace:2,renderOccluded:2,isDecoration:!0});return this._handles.add(a(()=>this._view.effectiveTheme.accentColor.toUnitRGBA(),i=>{i[3]*=t,e.setParameters({color:i})},r)),e}get test(){}}export{x as MoveXYDiscManipulation};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../../Color.js";import{darken as e}from"../../../../../core/colorUtils.js";import{EventEmitter as i}from"../../../../../core/Evented.js";import{makeHandle as r}from"../../../../../core/handleUtils.js";import"../../../../../core/has.js";import{clamp as a}from"../../../../../core/mathUtils.js";import{removeMaybe as o}from"../../../../../core/maybe.js";import{watch as s}from"../../../../../core/reactiveUtils.js";import{translate as n,rotateX as l}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as c}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{H as m,e as d,n as u,g as p,f as h,j as f}from"../../../../../chunks/vec32.js";import{fromValues as _,create as j}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Manipulator3D as w}from"../../Manipulator3D.js";import{createManipulatorMaterial as v}from"../../manipulatorUtils.js";import{RenderObject as g}from"../../RenderObject.js";import{screenToZConstrained as M}from"../dragEventPipeline3D.js";import{Settings as O}from"../settings.js";import{discRadius as U}from"./config.js";import{Manipulation as b}from"./Manipulation.js";import{createManipulatedMoveDragPipeline as P}from"./moveUtils.js";import{createTubeGeometry as y,createConeGeometry as z}from"../../../webgl-engine/lib/GeometryUtil.js";import{createManipulatorDragEventPipeline as x,addScreenDelta as T}from"../../../../interactive/dragEventPipeline.js";class H extends b{constructor(t){super(),this._radius=U,this.events=new i,this._tool=t.tool,this._view=t.view;const e=new O({getTheme:()=>this._view.effectiveTheme});this._settings=e,null!=t.radius&&(this._radius=t.radius);const r=this._view.effectiveTheme.accentColor;this._materials={materialUnfocused:v(C(r,1,.25),1),materialFocused:v(C(r,1,0),1),materialOccludedUnfocused:v(C(r,.7,0),e.zManipulator.renderOccluded),materialOccludedFocused:v(C(r,.85,0),e.zManipulator.renderOccluded)},this._themeHandle=s(()=>this._view.effectiveTheme.accentColor,t=>{const e=C(t,1,.25),i=C(t,1,0),r=C(t,.7,0),a=C(t,.85,0),{materialUnfocused:o,materialFocused:s,materialOccludedUnfocused:n,materialOccludedFocused:l}=this._materials;o.setParameters({color:e}),s.setParameters({color:i}),n.setParameters({color:r}),l.setParameters({color:a})}),this._createManipulator(),this.forEachManipulator(t=>this._tool.manipulators.add(t))}destroy(){this._themeHandle=o(this._themeHandle),this._manipulator.applyObjectTransform=R,this.forEachManipulator(t=>{this._tool.manipulators.remove(t),t.destroy()})}forEachManipulator(t){t(this._manipulator,0)}createManipulatedObjectDragPipeline(t,e,i){if(!e.operations)return r();const a=e.operations.data.spatialReference;return P(e,i,e=>this.createDragPipeline((i,r,a,o,s)=>(({steps:r,cancel:a}=t(i,r,a,o,s)),e(i,r,a)),a))}createDragPipeline(t,e){const i=this._view;return x(this._manipulator,(r,a,o,s,n)=>{const l=a.next(t=>({...t,manipulatorType:0})).next(M(i,r.renderLocation,e)).next(T());t(r,l,o,s,n)})}get radius(){return this._radius}set radius(t){t!==this._radius&&(this._radius=t,this._updateManipulator())}_updateManipulator(){const t=this._settings,e=this._radius/U,i=t.zManipulator.height*e,r=t.zManipulator.coneHeight*e,a=t.zManipulator.coneWidth*e,o=t.zManipulator.width*e,s=[_(0,0,0),_(0,0,i)],m=[_(0,0,0),_(0,0,i+r)],d=(()=>{const t=c();return n(t,t,[0,0,i]),l(t,t,Math.PI/2),t})(),{materialUnfocused:u,materialFocused:p,materialOccludedUnfocused:h,materialOccludedFocused:f}=this._materials,j=y(u,s,o/2,16,!1),w=z(u,r,a/2,16,!1);w.transformation=d,this._manipulator.renderObjects=[new g(w,1),new g(j,1),new g(w.instantiate({material:p}),2),new g(j.instantiate({material:p}),2),new g(w.instantiate({material:h}),1),new g(j.instantiate({material:h}),1),new g(w.instantiate({material:f}),2),new g(j.instantiate({material:f}),2)],this._manipulator.radius=o/2+2,this._manipulator.collisionType={type:"line",paths:[m]}}_createManipulator(){const t=this._view,e=new w({view:t,autoScaleRenderObjects:!1,worldSized:!1,selectable:!1,cursor:"ns-resize",elevationInfo:this.elevationInfo,worldOriented:!0,collisionPriority:1.6});e.applyObjectTransform=e=>{const i=t.state.camera,r=D;t.renderCoordsHelper.toRenderCoords(this._manipulator.elevationAlignedLocation,r);const o=m(i.eye,r),s=i.computeRenderPixelSizeAtDist(o),n=d(E,r,i.eye);u(n,n);const l=F;t.renderCoordsHelper.worldUpAtPosition(D,l);const c=Math.abs(p(n,l)),_=h(E,n,l),j=h(E,_,l),w=a(c,.01,1),v=1-Math.sqrt(1-w*w)/w/i.fullWidth,g=this._settings,M=this._radius/U,O=g.zManipulator.width*M;f(j,u(j,j),(1/v-1)*o+s*O),e[12]-=E[0],e[13]-=E[1],e[14]-=E[2]},this._manipulator=e,this._updateManipulator()}get test(){}}function C(i,r,a){const o=e(i,a);return o.a*=r,t.toUnitRGBA(o)}const D=j(),E=j(),F=j(),R=()=>{};export{H as MoveZManipulation};
5
+ import{darken as t}from"../../../../../core/colorUtils.js";import{EventEmitter as e}from"../../../../../core/Evented.js";import{makeHandle as i}from"../../../../../core/handleUtils.js";import"../../../../../core/has.js";import{clamp as a}from"../../../../../core/mathUtils.js";import{removeMaybe as r}from"../../../../../core/maybe.js";import{watch as o}from"../../../../../core/reactiveUtils.js";import{translate as s,rotateX as n}from"../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as l}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{H as c,e as m,n as d,g as u,f as p,j as h}from"../../../../../chunks/vec32.js";import{fromValues as f,create as _}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Manipulator3D as j}from"../../Manipulator3D.js";import{createManipulatorMaterial as w}from"../../manipulatorUtils.js";import{RenderObject as v}from"../../RenderObject.js";import{screenToZConstrained as g}from"../dragEventPipeline3D.js";import{Settings as M}from"../settings.js";import{discRadius as O}from"./config.js";import{Manipulation as U}from"./Manipulation.js";import{createManipulatedMoveDragPipeline as b}from"./moveUtils.js";import{createTubeGeometry as P,createConeGeometry as y}from"../../../webgl-engine/lib/GeometryUtil.js";import{createManipulatorDragEventPipeline as z,addScreenDelta as x}from"../../../../interactive/dragEventPipeline.js";class T extends U{constructor(t){super(),this._radius=O,this.events=new e,this._tool=t.tool,this._view=t.view;const i=new M({getTheme:()=>this._view.effectiveTheme});this._settings=i,null!=t.radius&&(this._radius=t.radius);const a=this._view.effectiveTheme.accentColor;this._materials={materialUnfocused:w(H(a,1,.25),1),materialFocused:w(H(a,1,0),1),materialOccludedUnfocused:w(H(a,.7,0),i.zManipulator.renderOccluded),materialOccludedFocused:w(H(a,.85,0),i.zManipulator.renderOccluded)},this._themeHandle=o(()=>this._view.effectiveTheme.accentColor,t=>{const e=H(t,1,.25),i=H(t,1,0),a=H(t,.7,0),r=H(t,.85,0),{materialUnfocused:o,materialFocused:s,materialOccludedUnfocused:n,materialOccludedFocused:l}=this._materials;o.setParameters({color:e}),s.setParameters({color:i}),n.setParameters({color:a}),l.setParameters({color:r})}),this._createManipulator(),this.forEachManipulator(t=>this._tool.manipulators.add(t))}destroy(){this._themeHandle=r(this._themeHandle),this._manipulator.applyObjectTransform=R,this.forEachManipulator(t=>{this._tool.manipulators.remove(t),t.destroy()})}forEachManipulator(t){t(this._manipulator,0)}createManipulatedObjectDragPipeline(t,e,a){if(!e.operations)return i();const r=e.operations.data.spatialReference;return b(e,a,e=>this.createDragPipeline((i,a,r,o,s)=>(({steps:a,cancel:r}=t(i,a,r,o,s)),e(i,a,r)),r))}createDragPipeline(t,e){const i=this._view;return z(this._manipulator,(a,r,o,s,n)=>{const l=r.next(t=>({...t,manipulatorType:0})).next(g(i,a.renderLocation,e)).next(x());t(a,l,o,s,n)})}get radius(){return this._radius}set radius(t){t!==this._radius&&(this._radius=t,this._updateManipulator())}_updateManipulator(){const t=this._settings,e=this._radius/O,i=t.zManipulator.height*e,a=t.zManipulator.coneHeight*e,r=t.zManipulator.coneWidth*e,o=t.zManipulator.width*e,c=[f(0,0,0),f(0,0,i)],m=[f(0,0,0),f(0,0,i+a)],d=(()=>{const t=l();return s(t,t,[0,0,i]),n(t,t,Math.PI/2),t})(),{materialUnfocused:u,materialFocused:p,materialOccludedUnfocused:h,materialOccludedFocused:_}=this._materials,j=P(u,c,o/2,16,!1),w=y(u,a,r/2,16,!1);w.transformation=d,this._manipulator.renderObjects=[new v(w,1),new v(j,1),new v(w.instantiate({material:p}),2),new v(j.instantiate({material:p}),2),new v(w.instantiate({material:h}),1),new v(j.instantiate({material:h}),1),new v(w.instantiate({material:_}),2),new v(j.instantiate({material:_}),2)],this._manipulator.radius=o/2+2,this._manipulator.collisionType={type:"line",paths:[m]}}_createManipulator(){const t=this._view,e=new j({view:t,autoScaleRenderObjects:!1,worldSized:!1,selectable:!1,cursor:"ns-resize",elevationInfo:this.elevationInfo,worldOriented:!0,collisionPriority:1.6});e.applyObjectTransform=e=>{const i=t.state.camera,r=D;t.renderCoordsHelper.toRenderCoords(this._manipulator.elevationAlignedLocation,r);const o=c(i.eye,r),s=i.computeRenderPixelSizeAtDist(o),n=m(E,r,i.eye);d(n,n);const l=F;t.renderCoordsHelper.worldUpAtPosition(D,l);const f=Math.abs(u(n,l)),_=p(E,n,l),j=p(E,_,l),w=a(f,.01,1),v=1-Math.sqrt(1-w*w)/w/i.fullWidth,g=this._settings,M=this._radius/O,U=g.zManipulator.width*M;h(j,d(j,j),(1/v-1)*o+s*U),e[12]-=E[0],e[13]-=E[1],e[14]-=E[2]},this._manipulator=e,this._updateManipulator()}get test(){}}function H(e,i,a){const r=t(e,a);return r.a*=i,r.toUnitRGBA()}const D=_(),E=_(),F=_(),R=()=>{};export{T as MoveZManipulation};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../../../core/Accessor.js";import{removeUnordered as i}from"../../../../../core/arrayUtils.js";import{unitRGBAFromColor as a}from"../../../../../core/colorUtils.js";import{EventEmitter as n}from"../../../../../core/Evented.js";import o from"../../../../../core/Handles.js";import{handlesGroup as s,makeHandle as r,destroyHandle as l}from"../../../../../core/handleUtils.js";import"../../../../../core/has.js";import{destroyMaybe as p,removeMaybe as h}from"../../../../../core/maybe.js";import{watch as d,on as u,initial as c,syncAndInitial as m,when as g,sync as f}from"../../../../../core/reactiveUtils.js";import{property as _,subclass as v}from"../../../../../core/accessorSupport/decorators.js";import{IDENTITY as M}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{b,e as x,l as y,h as O,i as E,j}from"../../../../../chunks/vec32.js";import{fromValues as I,create as S}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as w}from"../../../../../core/support/UpdatingHandles.js";import H from"../../../../../geometry/Point.js";import V from"../../../../../geometry/Polyline.js";import D from"../../../../../geometry/SpatialReference.js";import{makeDehydratedPoint as T}from"../../../../../layers/graphics/dehydratedPoint.js";import{isVolumetricSymbol as A}from"../../../../../symbols/support/utils.js";import{Manipulator3D as P}from"../../Manipulator3D.js";import{createManipulatorMaterial as G,createManipulatorOutlineMaterial as k,placeAtObject as C}from"../../manipulatorUtils.js";import{RenderObject as U}from"../../RenderObject.js";import{SegmentLabels3D as L}from"../../SegmentLabels3D.js";import{SnappingVisualizer3D as z}from"../../SnappingVisualizer3D.js";import{screenToMapXYAtLocation as R,screenToRenderPlaneFromEvent as F,convertToMapCoordinates as Z}from"../dragEventPipeline3D.js";import{orientation as N}from"../geometryUtils.js";import{canMoveZOperations as q}from"../manipulatorUtils.js";import{Settings as X}from"../settings.js";import{createVisualElements as Y}from"../visualElementUtils.js";import{discRadiusSmall as B}from"../manipulations/config.js";import{MoveManipulation as W}from"../manipulations/MoveManipulation.js";import{MoveXYObjectManipulation as K}from"../manipulations/MoveXYObjectManipulation.js";import{getMapPointAtEdgeOffsetManipulatorElevation as J,createEdgeOffsetIntersectionPlane as Q,createEdgeOffsetOperation as $,edgeOffsetRotationMatrix as ee,screenEdgeLengthSquared as te,getDistanceInGeometrySR as ie}from"./edgeOffsetUtils.js";import{createTooltipInfos as ae,connectTooltipToManipulatedObject as ne,getUpdatedTranslateObjectTooltipInfo as oe,getUpdatedEdgeOffsetTooltipInfo as se}from"./reshapeTooltipUtils3D.js";import{OutlineVisualElement as re}from"../../visualElements/OutlineVisualElement.js";import{createExtrudedTriangle as le,createSphereGeometry as pe}from"../../../webgl-engine/lib/GeometryUtil.js";import{MouseButton as he}from"../../../../input/IViewEvents.js";import{sceneSnappingAtLocation as de,addMapDelta as ue,createManipulatorDragEventPipeline as ce,dragAtLocation as me,addScreenDelta as ge}from"../../../../interactive/dragEventPipeline.js";import{tooltipKeys as fe}from"../../../../interactive/keybindings.js";import{SnappingContext as _e}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as ve}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{makeTooltip as Me,enterInputModeIfAvailable as be}from"../../../../interactive/tooltip/tooltipCommonUtils.js";const xe=Symbol();let ye=class extends t{get _operations(){return this.object.operations}constructor(e){super(e),this._selectedIndex=0,this._manipulatorHandles=new o,this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0,this._reshapeEventState=0,this._pendingEdgeOffsetInfo=null,this._updatingHandles=new w,this._recreatingManipulators=!1,this._settings=new X({getTheme:()=>this.view.effectiveTheme}),this.events=new n,this.activeTooltipInfo=null,this._vertexLaserLineVisualElement=null,this._tooltipCallbacks={onBeforeReshape:()=>this.tool.endDrag(),onReshapeStart:()=>this._updateEventState(2),onReshape:()=>this.events.emit("reshape",{type:"reshape",object:this.object}),onReshapeStop:()=>this._updateEventState(0,{forceEnd:!0}),onMoveStart:()=>this._updateEventState(1),onMove:()=>this.events.emit("move",{type:"move",object:this.object,dx:0,dy:0}),onMoveStop:()=>this._updateEventState(0,{forceEnd:!0})}}initialize(){const{view:e}=this,t=this._settings.manipulators,i=t.vertex;this.tooltipInfos=ae(this._sketchOptions,e),this._vertexManipulatorMaterial=G(a(i.color),i.renderOccluded),this._vertexManipulatorOutlineMaterial=k(a(i.outlineColor),i.renderOccluded),this._vertexManipulatorHoverOutlineMaterial=k(a(i.hoverOutlineColor),i.renderOccluded);const n=t.edge;this._edgeManipulatorMaterial=G(a(n.color),n.renderOccluded),this._edgeManipulatorOutlineMaterial=k(a(n.outlineColor),n.renderOccluded);const o=t.edgeOffset;this._edgeOffsetManipulatorMaterial=G(a(o.color),o.renderOccluded,!1),this._edgeOffsetManipulatorHoverMaterial=G(a(o.hoverColor),o.renderOccluded,!1);const s=t.selected;this._selectedManipulatorMaterial=G(a(s.color),s.renderOccluded),this._selectedManipulatorOutlineMaterial=k(a(s.outlineColor),s.renderOccluded),this._selectedManipulatorHoverOutlineMaterial=k(a(s.hoverOutlineColor),s.renderOccluded),this.tooltip=Me(()=>({view:e,options:this._sketchOptions.tooltips})),this.addHandles([d(()=>{const e=this._settings.manipulators;return{vertexSettings:e.vertex,edgeSettings:e.edge,edgeOffsetSettings:e.edgeOffset,selectedSettings:e.selected}},({vertexSettings:e,edgeSettings:t,edgeOffsetSettings:i,selectedSettings:a})=>{e.applyColor(this._vertexManipulatorMaterial),e.applyOutline(this._vertexManipulatorOutlineMaterial),e.applyHoverOutline(this._vertexManipulatorHoverOutlineMaterial),t.applyColor(this._edgeManipulatorMaterial),t.applyOutline(this._edgeManipulatorOutlineMaterial),i.applyColor(this._edgeOffsetManipulatorMaterial),i.applyHover(this._edgeOffsetManipulatorHoverMaterial),a.applyColor(this._selectedManipulatorMaterial),a.applyOutline(this._selectedManipulatorOutlineMaterial),a.applyHoverOutline(this._selectedManipulatorHoverOutlineMaterial)}),d(()=>this.object.visible,e=>{for(const t of this._manipulatorInfos)t.manipulator.available=e,Se(t)&&(t.edgeManipulator.available=e)}),d(()=>this._numGrabbing+this._numDragging===0,e=>this._toggleAutoHideManipulators(e)),d(()=>({labels:this._segmentLabels,enabled:this._sketchOptions.labels.enabled,edgeOffsetEnabled:this.enableEdgeOffset}),({labels:e,enabled:t,edgeOffsetEnabled:i})=>{null!=e&&(e.visible=t,e.edgeDistance=i?"far":"default")},c),ne(this.tooltip,this.object,()=>this._tooltipsContext),d(()=>this.tooltip.mode,(e,t)=>{"input"===t&&"input"!==e&&this._resetTooltip()}),u(()=>this._operations,"vertex-update",e=>this._updateManipulatorPositions(e.vertices),{onListenerAdd:()=>this._recreateManipulators()}),u(()=>this._operations?.data,"change",e=>{"undo"!==e.operation&&"redo"!==e.operation||this._recreateManipulators()})])}destroy(){this._removeManipulators(),this._updatingHandles.destroy(),this._segmentLabels=p(this._segmentLabels),this.tooltip=p(this.tooltip)}get updating(){return this._updatingHandles.updating}get manipulators(){return this.tool.manipulators}get view(){return this.tool.view}get automaticAreaMeasurementUtils(){return this.tool.automaticAreaMeasurementUtils}get automaticLengthMeasurementUtils(){return this.tool.automaticLengthMeasurementUtils}get object(){return this.tool.object}get enableZShape(){return this.tool.enableZShape}get enableDeleteVertices(){return this.tool.enableDeleteVertices}get enableZVertex(){return this.tool.enableZVertex}get autoHideManipulators(){return this.tool.autoHideManipulators}get enableMoveObject(){return this.tool.enableMoveObject}get enableMidpoints(){return this.tool.enableMidpoints}get enableEdgeOffset(){return this.tool.enableEdgeOffset}get _sketchOptions(){return this.tool.sketchOptions}get _accentColor(){return this.view.effectiveTheme.accentColor}enterInputModeIfAvailable(e){return"key-down"===e.type&&e.key===fe.enterInputMode&&("reshape-edge-offset"===this.activeTooltipInfo?.type?this._enterInputModeDuringEdgeOffset(e):!!be(e,this.tooltip)&&(this.tool.endDrag(),!0))}removeSelectedVertices(){const e=this._manipulatorInfos.filter(e=>e.manipulator.selected&&"vertex"===e.type);return this._removeVertices(e),e.length}onManipulatorSelectionChanged(){this.events.emit("manipulators-changed")}_removeManipulators(){this._manipulatorHandles.removeAll(),this._moveManipulation=p(this._moveManipulation),this._objectMoveManipulation=p(this._objectMoveManipulation),this.manipulators.removeAll(),this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0}_createManipulators(e){if(null==this._operations)return;const t=this.object.elevationInfo;for(const{vertices:i,segments:a,index:n}of this._operations.data.parts){const o=e?.byPartIndex.get(n);for(const e of i){const i=o?.has(e.index);this._createVertexOrEdgeManipulator(e,t,i)}for(const e of a)"line"===e.type&&this._createVertexOrEdgeManipulator(e,t)}this._createObjectMoveManipulation(),this._createMoveManipulation(t),this._createVisualElements()}recordUndo(e){this._operations?.recordUndo(e)}get canRedo(){return this._operations?.canRedo??!1}get canUndo(){return this._operations?.canUndo??!1}redo(){return this._operations?.redo()}undo(){return this.events.emit("undo"),this._operations?.undo()}_recreateManipulators(){if(!this._recreatingManipulators){if(this._recreatingManipulators=!0,this._removeManipulators(),this._resetTooltip(),this._operations&&this._segmentLabels?.context?.editGeometryOperations===this._operations||(this._segmentLabels=p(this._segmentLabels)),this._createManipulators(),!this._segmentLabels&&this._operations){const e=this._sketchOptions.labels;this._segmentLabels=new L({context:{view:this.view,editGeometryOperations:this._operations,elevationInfo:this.object.elevationInfo,labelOptions:e,automaticLengthMeasurementUtils:this.automaticLengthMeasurementUtils},visible:e.enabled})}this._recreatingManipulators=!1}}_perObjectManipulatorDragAction(e,t){if("end"===t.action)return t;let i=0;const a=[],n=this._manipulatorInfos.some(e=>"vertex"===e.type&&e.manipulator.selected),o=1===e&&n;for(const s of this._manipulatorInfos)"vertex"===s.type&&(s.manipulator.grabbing||o&&!s.manipulator.selected||a.push(s),i++);this._moveVertices(a,t);if(a.length===i){if(this._updateEventState(1),this.destroyed)return t;this.events.emit("move",{type:"move",dx:t.screenDeltaX,dy:t.screenDeltaY,object:this.object})}else{if(this._updateEventState(2),this.destroyed)return t;this.events.emit("reshape",{type:"reshape",object:this.object})}return t}_toggleAutoHideManipulators(e){this.autoHideManipulators&&(e?this.removeHandles(xe):this.tool.manipulators.forEach(({manipulator:e})=>{const t=e.disableDisplay?.();t&&this.addHandles(t,xe)}))}_isMultiVertexSelection(){return this._manipulatorInfos.reduce((e,t)=>"vertex"===t.type&&t.manipulator.selected?e+1:e,0)>1}_perVertexManipulatorDragAction(e){if(this._updateEventState(2),this.destroyed)return;const{mapDeltaX:t,mapDeltaY:i,mapDeltaZ:a}=e;if(!t&&!i&&!a)return;const n=[];for(const o of this._manipulatorInfos)"vertex"===o.type&&(o.manipulator.selected&&!o.manipulator.grabbing||o===e.info)&&n.push(o);this._moveVertices(n,e,1),this.events.emit("reshape",{type:"reshape",object:this.object})}_updateEventState(e,t={}){if(e===this._reshapeEventState)return!1;switch(e){case 0:if(!t.forceEnd&&(0!==this._numGrabbing||0!==this._numDragging))return!1;switch(this._reshapeEventState){case 1:this.events.emit("move",{type:"move-stop",dx:0,dy:0,object:this.object});break;case 2:this.events.emit("reshape",{type:"reshape-stop",object:this.object})}break;case 1:switch(this._reshapeEventState){case 0:this.events.emit("move",{type:"move-start",dx:0,dy:0,object:this.object});break;case 2:this.events.emit("reshape",{type:"reshape-stop",object:this.object}),this.destroyed||this.events.emit("move",{type:"move-start",dx:0,dy:0,object:this.object})}break;case 2:switch(this._reshapeEventState){case 0:this.events.emit("reshape",{type:"reshape-start",object:this.object});break;case 1:this.events.emit("move",{type:"move-stop",dx:0,dy:0,object:this.object}),this.destroyed||this.events.emit("reshape",{type:"reshape-start",object:this.object})}}if(this.destroyed)return!1;const i=this._reshapeEventState!==e;return this._reshapeEventState=e,i}_createObjectMoveManipulation(){const{tool:e,view:t,object:i,_operations:a}=this;if(a){if(this._objectMoveManipulation=new K({tool:e,view:t,object:i}),this.enableMoveObject){let e=null;this._manipulatorHandles.add(this._objectMoveManipulation.createDragPipeline((t,i,n)=>{i.next(e=>this._trackNumDragging(e)).next(t=>("start"===t.action&&(e=a.createUndoGroup()),t)).next(e=>this._perObjectManipulatorDragAction(0,e)).next(e=>(this._updateTranslateObjectTooltip(0,e),e)).next(t=>{"end"===t.action&&(this._resetTooltip(),e=h(e))}),n.next(()=>this._onDragCancel(!0,()=>e=h(e)))})),this._objectMoveManipulation.forEachManipulator(e=>this._manipulatorHandles.add(this._watchAndUpdateGrabState(e,!1)))}else this._objectMoveManipulation.forEachManipulator(e=>{e.grabbable=!1,e.cursor=null});this._objectMoveManipulation.forEachManipulator(e=>this._manipulatorHandles.add(e.events.on("immediate-click",e=>{this._manipulatorInfos.some(e=>e.manipulator.selected)?this._clearSelection():this.events.emit("immediate-click",{...e,object:this.object}),e.stopPropagation()})))}}_createMoveManipulation(e){const{object:t,tool:i,view:a,_operations:n}=this;if(!n)return;this._moveManipulation=new W({tool:i,view:a,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZShape&&q(t.operations,t.elevationInfo),snapToScene:!1,radius:W.radiusForSymbol(t.graphic?.symbol)}),this._moveManipulation.forEachManipulator(e=>this.addHandles([e.events.on("immediate-click",t=>{this._moveManipulation.zManipulation.hasManipulator(e)||this._manipulatorInfos.some(e=>e.manipulator.selected)||this.events.emit("immediate-click",{...t,object:this.object}),t.stopPropagation()}),this._watchAndUpdateGrabState(e,!1)]));const o=e=>t=>{this.addHandles([t.events.on("focus-changed",({action:t})=>{"focus"===t?this._updateTranslateTooltip(e):this._resetTooltip()})])};this._moveManipulation.xyManipulation.forEachManipulator(o(0)),this._moveManipulation.xyAxisManipulation.forEachManipulator(o(1)),this._moveManipulation.zManipulation.forEachManipulator(o(2)),this._moveManipulation.elevationInfo={mode:"absolute-height",offset:0};const s=n.data.spatialReference;this.addHandles([this._moveManipulation.createDragPipeline((a,o,s,r,l)=>{const{snappingStep:p,cancelSnapping:h}=ve({predicate:e=>!!e.info,snappingManager:i.snappingManager,snappingContext:new _e({editGeometryOperations:n,elevationInfo:e,pointer:l,excludeFeature:t.graphic,visualizer:new z}),updatingHandles:this._updatingHandles,useZ:!1});return r=r.next(e=>(this._onDragCancel(),e)).next(h),{steps:s=s.next(e=>this._trackNumDragging(e)).next(e=>{const t=this._manipulatorInfos.filter(e=>"vertex"===e.type&&e.manipulator.selected);return 1===e.manipulatorType&&1===t.length?{...e,info:t[0],snapOrigin:t[0].handle.pos}:e}).next(de(this.view,e,t.graphic??void 0)).next(...p).next(ue()).next(e=>this._perObjectManipulatorDragAction(1,e)).next(e=>(this._updateTranslateTooltip(a,e),e)),cancel:r}},e,s,t.graphic),d(()=>t.visible,()=>this._updateMoveManipulationPosition(),c),t.on("committed",()=>{this._recreatingManipulators||this._updateMoveManipulationPosition()}),d(()=>t.isDraped,e=>{this._updateMoveManipulationPosition();const t="align-move-manipulation";e?this.addHandles(this.view.elevationProvider.on("elevation-change",()=>this._updateMoveManipulationPosition()),t):this.removeHandles(t)},c)])}_createVisualElements(){const{object:e,view:t}=this,i=Y({view:t,object:e,forEachManipulator:e=>{if(!this.destroyed&&!this._recreatingManipulators){this._objectMoveManipulation.forEachManipulator(e),this._moveManipulation.forEachManipulator(e);for(const t of this._manipulatorInfos)e(t.manipulator,1)}},onManipulatorsChanged:e=>this.events.on("manipulators-changed",e)});null!=i&&(this._outlineVisualElement=i.visualElement instanceof re?i.visualElement:null);const a=this._outlineVisualElement;if(null!=a){const t=()=>{e.isDraped||this._updateMoveManipulationPosition()};this._manipulatorHandles.add(u(()=>a.events,"attachment-origin-changed",t,{onListenerAdd:t}))}this._manipulatorHandles.add(i)}_createEdgeOffsetManipulator(e,t=this.object.elevationInfo){const i=this.view,a=this._operations;if(e.part.vertices.length<=2||!a)return null;const n=a.data.spatialReference,o=this._settings.manipulators.edgeOffset,r=o.size/2,l=r+o.collisionPadding,p=r/l,h=p/2,d=p*Math.sqrt(3)/2,{height:u,offset:c}=o,m=this._edgeOffsetManipulatorMaterial;if(!this._edgeOffsetManipulatorGeometryInside){const e=le(m,d,h,h,u,c);this._edgeOffsetManipulatorGeometryInside=e}if(!this._edgeOffsetManipulatorGeometryOutside){const e=le(m,-d,h,h,u,-c);this._edgeOffsetManipulatorGeometryOutside=e}const g=[new U(this._edgeOffsetManipulatorGeometryInside.instantiate(),1),new U(this._edgeOffsetManipulatorGeometryInside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),2),new U(this._edgeOffsetManipulatorGeometryOutside.instantiate(),1),new U(this._edgeOffsetManipulatorGeometryOutside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),2)],f=new P({view:i,renderObjects:g,elevationInfo:"on-the-ground"!==t.mode||A(this.object.graphic?.symbol)?{mode:"absolute-height",offset:0}:t,worldOriented:!1,focusMultiplier:1,radius:l,available:this.object.visible,collisionType:{type:"disc",direction:I(0,0,1)},collisionPriority:1,metadata:{deleting:!1},location:Ie(n)}),_=new P({view:i,worldSized:!0,worldOriented:!1,available:this.object.visible,collisionPriority:-10,cursor:this.enableMoveObject?"move":"default",metadata:{deleting:!1},location:Ie(n)}),v={manipulator:f,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0,edgeManipulator:_,visibilityHandle:null};this._autoHideEdgeOffsetManipulator(v,o.minSquaredEdgeLength);const M=()=>this._updateEdgeOffsetManipulator(v);M(),v.locationUpdateHandle=s([e.leftVertex,e.rightVertex].map(e=>{const t=this._getManipulatorInfoFromHandle(e);return t?.manipulator.events.on("location-update",M)}));const b=e=>{this._manipulatorInfos.some(e=>e.manipulator.selected)?this._clearSelection():this.events.emit("immediate-click",{...e,object:this.object}),e.stopPropagation()};return this._manipulatorHandles.add([v.locationUpdateHandle,this._watchAndUpdateGrabState(f,!0),this._watchAndUpdateGrabState(_,!0),ce(f,this._createEdgeOffsetPipeline(v,t,a)),ce(_,this._createEdgePipeline(v,t,a)),_.events.on("immediate-click",b),f.events.on("immediate-click",b),f.events.on("focus-changed",()=>this._resetTooltip()),f.events.on("grab-changed",({screenPoint:e,action:t})=>{v.grabMapPoint="start"===t?J(e,this.view,this.object,v):null})],f),this._manipulatorInfos.push(v),this.manipulators.addMany([f,_]),this.events.emit("manipulators-changed"),v}_autoHideEdgeOffsetManipulator(e,t){const i=e.manipulator,a=e.edgeManipulator,n=()=>{e.visibilityHandle=h(e.visibilityHandle);const n=this._getManipulatorInfoFromHandle(e.handle.leftVertex),o=this._getManipulatorInfoFromHandle(e.handle.rightVertex),l=null!=n&&null!=o&&te(n.manipulator.renderLocation,o.manipulator.renderLocation,this.view.state.camera)<t;(!i.focused&&!a.focused||l)&&(i.grabbable=!l,a.grabbable=!l,e.visibilityHandle=s([i.disableDisplay(),r(()=>{i.grabbable=!0,a.grabbable=this.enableMoveObject})]))};this._manipulatorHandles.add([i.events.on("focus-changed",n),a.events.on("focus-changed",n),r(()=>{h(e.visibilityHandle),a.metadata.deleting=!0,this.manipulators.remove(a)})],i),n()}_updateEdgeOffsetManipulator(e){if(!this._operations)return;this._updateManipulatorPosition(e);const{coordinateHelper:t}=this._operations.data,i=Q(this.view,e.manipulator.elevationAlignedLocation,$(t,e.handle,e.manipulator.elevationInfo)),a=this._getManipulatorInfoFromHandle(e.handle.leftVertex),n=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(null==a||null==n)return;const o=a.manipulator.renderLocation,s=n.manipulator.renderLocation,r=null!=i?ee(i,o,s):M;e.manipulator.modelTransform=r,e.edgeManipulator.elevationAlignedLocation=e.manipulator.elevationAlignedLocation,e.edgeManipulator.modelTransform=r;const l=b(x(He,o,s))/2;e.edgeManipulator.collisionType={type:"line",paths:[[[-l,0,0],[l,0,0]]]}}_createEdgePipeline(e,t,i){return(a,n,o,s)=>{if("touch"===s){this._createEdgeOffsetPipeline(e,t,i)(a,n,o)}else if(this.enableMoveObject){const e=this.object.graphic,s=i.data.spatialReference,{elevationAlignedLocation:r}=a;n.next(e=>this._trackNumDragging(e)).next(me(this.view,r)).next(R(this.view,r,t,s,e)).next(ge()).next(ue()).next(e=>this._perObjectManipulatorDragAction(0,e)).next(e=>(this._updateTranslateObjectTooltip(0,e),e)).next(e=>{"end"===e.action&&this._resetTooltip()}),o.next(()=>this._onDragCancel(!a.metadata.deleting))}}}_createEdgeOffsetPipeline(e,t,i){return(a,n,o)=>{const s=this._pendingEdgeOffsetInfo;if(s?.manipulatorInfo===e&&"drag"!==s.mode)return void o.execute({action:"cancel"});this._clearSelection();const{initializeStep:r,cleanup:l}=this._initializeEdgeOffset(e,t,i,o),p=this._applyEdgeOffsetStep(e);n.next(e=>this._trackNumDragging(e)).next(me(this.view,a.elevationAlignedLocation)).next(r).next(F(this.view)).next(Z(this.view,i.data.spatialReference)).next(ue()).next(Oe()).next(e=>this._pendingEdgeOffsetInfo?e:p(e)).next(e=>{"end"!==e.action||this._pendingEdgeOffsetInfo||l()}),o.next(()=>{this._exitEdgeOffsetInputMode(),a.metadata.deleting||(l(),this._onDragCancel())})}}_initializeEdgeOffset(e,t,i,a){const{view:n,object:o}=this,r=$(i.data.coordinateHelper,e.handle,t),l=i.createUndoGroup(),p=Q(n,e.manipulator.elevationAlignedLocation,r);let d;this._splitEdgesBeforeEdgeOffset(e,r),this._selectEdgeOffsetArrow(e,r);const u=()=>{this._cleanEdgeOffsetCollapsedEdges(e,i),d=h(d)},c=this.events.on("undo",u);return d=s([this._initializeEdgeOffsetVisualElement(e,o,t,i),l,c,this._connectEdgeOffsetTooltip(e,r,i,()=>{a.execute({action:"cancel"})})]),{initializeStep:e=>null==r||null==p?(u(),null):{...e,operation:r,plane:p},cleanup:u}}_initializeEdgeOffsetVisualElement(e,t,i,n){const o=()=>new V({paths:[[e.handle.leftVertex.pos,e.handle.rightVertex.pos]],spatialReference:n.data.spatialReference}),r=new re({view:this.view,isDraped:t.isDraped,geometry:o(),elevationInfo:i,width:this._settings.visualElements.lineObjects.outline.width,attached:!1,isDecoration:!0}),p=s([d(()=>({color:this._accentColor,draped:t.isDraped}),({color:e,draped:t})=>{r.color=a(e),r.isDraped=t},m),t.on("committed",()=>{r.geometry=o()}),l(r)]);return r.attached=!0,p}_applyEdgeOffsetStep(e){return t=>(this.destroyed||null==t.operation||!this._operations||(this._updateEventState(2),null==t.signedDistance?this._resetTooltip():((t.mapDeltaX||t.mapDeltaY||t.mapDeltaZ)&&(this._offsetEdge(e,t.operation,t.signedDistance),this.events.emit("reshape",{type:"reshape",object:this.object})),this._updateEdgeOffsetTooltip(t))),t)}_cleanEdgeOffsetCollapsedEdges(e,t){const i=e.handle.leftVertex.leftSegment?.leftVertex,a=e.handle.leftVertex,n=e.handle.rightVertex.rightSegment?.rightVertex,o=e.handle.rightVertex,s=t.data.coordinateHelper,r=this.view.pixelSizeAt(s.vectorToDehydratedPoint(a.pos),s.spatialReference),l=[];if(i&&s.distance(i.pos,a.pos)<Ve){const e=this._getManipulatorInfoFromHandle(a);null!=e&&l.push(e)}if(s.distance(a.pos,o.pos)<r||n&&s.distance(n.pos,o.pos)<Ve){const e=this._getManipulatorInfoFromHandle(o);null!=e&&l.push(e)}l.length&&this._removeVertices(l)}_enterInputModeDuringEdgeOffset(e){const t=this._findActiveEdgeOffsetManipulatorInfo();return!!t&&(!!be(e,this.tooltip)&&(t.manipulator.dragging?(this._pendingEdgeOffsetInfo={manipulatorInfo:t,mode:"drag"},!0):(this._clearSelection(),this._pendingEdgeOffsetInfo={manipulatorInfo:t,mode:"hover"},this._connectEdgeOffsetTooltipOnHover(t),!0)))}_exitEdgeOffsetInputMode(){this.tooltip&&(this._pendingEdgeOffsetInfo=null,this._resetTooltip(),this.tooltip.exitInputMode())}_findActiveEdgeOffsetManipulatorInfo(){return this._manipulatorInfos.filter(Se).find(({manipulator:e})=>e.hovering||e.grabbing||e.dragging)}_connectEdgeOffsetTooltipOnHover(e){const{_operations:t,object:i}=this;if(!t)return;const{elevationInfo:a}=i,n=$(t.data.coordinateHelper,e.handle,a);this._selectEdgeOffsetArrow(e,n),this.addHandles([this._initializeEdgeOffsetVisualElement(e,i,a,t),this._connectEdgeOffsetTooltip(e,n,t,()=>{this.removeHandles(n),this._exitEdgeOffsetInputMode()})],n)}_splitEdgesBeforeEdgeOffset(e,t){if(t.requiresSplitEdgeLeft){const t=this._getManipulatorInfoFromHandle(e.handle.leftVertex.leftSegment);null!=t&&this._splitEdgeManipulator(t,1)}if(t.requiresSplitEdgeRight){const t=this._getManipulatorInfoFromHandle(e.handle.rightVertex.rightSegment);null!=t&&this._splitEdgeManipulator(t,0)}}_selectEdgeOffsetArrow(e,t){const i=e.grabMapPoint??J(this.view.inputManager?.latestPointerInfo?.location,this.view,this.object,e);i&&t.selectArrowFromStartPoint(i)}_connectEdgeOffsetTooltip(e,t,i,a){const n=()=>this.tooltipInfos.edgeOffset.distance.actual,o=n=>{a(),queueMicrotask(()=>{this.view.focus();const a=i.createUndoGroup();this._tooltipCallbacks.onReshapeStart?.(),this._splitEdgesBeforeEdgeOffset(e,t),this._offsetEdge(e,t,ie(n,e.manipulator.location,t,i)),this._tooltipCallbacks.onReshape?.(),this._tooltipCallbacks.onReshapeStop?.(),this._cleanEdgeOffsetCollapsedEdges(e,i),a.remove()})},r=()=>{const e=n();null!=e?o(e):a()};return s([g(()=>this.tooltip&&!this.tooltip.focused,()=>r(),f),this.tooltip.on("discard",a),this.tooltip.on("commit",e=>{"commit-and-exit"===e.type&&r()})])}_createVertexOrEdgeManipulator(e,t=this.object.elevationInfo,i=!1){const a=this.view,n=this._operations,o=this._settings;if(!n)return null;const r=n.data.type,l=n.data.spatialReference;if("line"===e.type){if(this.enableEdgeOffset)return this._createEdgeOffsetManipulator(e,t);if(!this.enableMidpoints)return null}if(null==this._vertexManipulatorGeometry||null==this._vertexManipulatorOutlineGeometry){const{size:e,outlineSize:t}=Ee(o.manipulators.vertex);this._vertexManipulatorGeometry=pe(this._vertexManipulatorMaterial,e,16,16),this._vertexManipulatorOutlineGeometry=pe(this._vertexManipulatorOutlineMaterial,t,16,16)}if(null==this._edgeManipulatorGeometry||null==this._edgeManipulatorOutlineGeometry){const{size:e,outlineSize:t}=Ee(o.manipulators.edge);this._edgeManipulatorGeometry=pe(this._edgeManipulatorMaterial,e,16,16),this._edgeManipulatorOutlineGeometry=pe(this._edgeManipulatorOutlineMaterial,t,16,16)}const p="point"===r||"mesh"===r?[]:[new U(this._vertexManipulatorGeometry.instantiate(),4|De),new U(this._vertexManipulatorOutlineGeometry.instantiate(),5|De),new U(this._vertexManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),6|De),new U(this._vertexManipulatorGeometry.instantiate({material:this._selectedManipulatorMaterial}),8),new U(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorOutlineMaterial}),9),new U(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorHoverOutlineMaterial}),10)];this.enableMidpoints&&p.push(new U(this._edgeManipulatorGeometry.instantiate({material:this._vertexManipulatorMaterial}),6|Te),new U(this._edgeManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),6|Te),new U(this._edgeManipulatorGeometry.instantiate(),5|Te),new U(this._edgeManipulatorOutlineGeometry.instantiate(),5|Te));const d=new P({view:a,renderObjects:p,elevationInfo:t,focusMultiplier:1,touchMultiplier:1,available:this.object.visible,metadata:{deleting:!1},location:Ie(l)});d.selected=i,this._setTypeSpecificManipulatorSettings(d,e,t);const u="vertex"===e.type?{manipulator:d,handle:e,type:"vertex",selectedIndex:0}:{manipulator:d,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0};if(this._manipulatorInfos.push(u),this.manipulators.add(d),this._updateManipulatorPosition(u),"edge"===u.type){const e=[];for(const t of[u.handle.leftVertex,u.handle.rightVertex]){const i=this._getManipulatorInfoFromHandle(t);null!=i&&e.push(i.manipulator.events.on("location-update",()=>this._updateManipulatorPosition(u)))}u.locationUpdateHandle=s(e),this._manipulatorHandles.add(u.locationUpdateHandle,d)}this._manipulatorHandles.add(this._watchAndUpdateGrabState(d,!0),d);const c=ce(d,(e,i,o,s)=>{let r=null;const{snappingStep:p,cancelSnapping:d}=ve({predicate:()=>!this._isMultiVertexSelection(),snappingManager:this.tool.snappingManager,snappingContext:new _e({editGeometryOperations:n,elevationInfo:t,pointer:s,excludeFeature:this.object.graphic,visualizer:new z}),updatingHandles:this._updatingHandles,useZ:!1});o=o.next(t=>(this._onDragCancel(!e.metadata.deleting,()=>r=h(r)),t)).next(d);const{elevationAlignedLocation:c}=e,m=this.object.graphic??void 0;i.next(e=>this._trackNumDragging(e)).next(e=>{if("start"===e.action&&n&&(r=n.createUndoGroup()),"edge"===u.type){const t=this._splitEdgeManipulator(u);return{...e,info:t,snapOrigin:t.handle.pos}}return{...e,info:u,snapOrigin:u.handle.pos}}).next(me(a,c)).next(R(a,c,t,l,m)).next(de(a,t,m)).next(...p).next(ue()).next(e=>{this._perVertexManipulatorDragAction(e),"end"===e.action&&(r=h(r)),this._resetTooltip()})});return this._manipulatorHandles.add([c,d.events.on("immediate-click",e=>this._manipulatorClickCallback(e,u)),d.events.on("select-changed",()=>{u.selectedIndex=++this._selectedIndex,this._updateMoveManipulationPosition(),this._resetTooltip()}),d.events.on("focus-changed",()=>{this._resetTooltip()})],d),this.events.emit("manipulators-changed"),u}_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.tool.snappingManager?.doneSnapping(),this._resetTooltip(),this._reshapeEventState){case 0:break;case 1:this.events.emit("move",{type:"move",dx:0,dy:0,object:this.object});break;case 2:this.events.emit("reshape",{type:"reshape",object:this.object})}t?.(),this.destroyed||this._updateEventState(0)}_setTypeSpecificManipulatorSettings(e,t,i){const a=this._settings;switch(t.type){case"vertex":{e.state=De,e.selectable=!0,e.cursor="move",e.collisionPriority=2;const{size:t,collisionPadding:n}=a.manipulators.vertex;e.radius=t/2+n,e.elevationInfo=i;const o=this._operations?.data.type;e.interactive=null!=o&&"point"!==o&&"mesh"!==o;break}case"line":{e.state=Te,e.selectable=!1,e.cursor="copy",e.collisionPriority=-1;const{size:t,collisionPadding:n}=a.manipulators.edge;e.radius=t/2+n,e.elevationInfo="on-the-ground"!==i.mode||A(this.object.graphic?.symbol)?{mode:"absolute-height",offset:0}:i;break}}}_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(!this._recreatingManipulators){if("start"===i)t&&this._updateSelection(e),this._numGrabbing++;else if(this._numGrabbing--,this._updateEventState(0),this.destroyed)return;this._moveManipulation.interactive=!this._numGrabbing,("touch"!==a||this.enableEdgeOffset)&&(this._manipulatorInfos.forEach(e=>{const{manipulator:t}=e,i=this._operations?.data.type;t.interactive=t.grabbing||!this._numGrabbing&&null!=i&&"point"!==i&&"mesh"!==i,Se(e)&&(e.edgeManipulator.interactive=e.edgeManipulator.grabbing||!this._numGrabbing)}),this._objectMoveManipulation.forEachManipulator(e=>{e.interactive=e.grabbing||!this._numGrabbing}))}}_clearSelection(){for(const e of this._manipulatorInfos)e.manipulator.grabbing||(e.manipulator.selected=!1);this._pendingEdgeOffsetInfo=null}_updateSelection(e){e.grabbing&&!e.selected&&e.selectable&&(this._clearSelection(),e.selected=!0,this.events.emit("manipulators-changed"))}_removeManipulator(e){null!=e&&(e.manipulator.metadata.deleting=!0,this.manipulators.remove(e.manipulator),this._manipulatorHandles.remove(e.manipulator),i(this._manipulatorInfos,e),this.events.emit("manipulators-changed"),this._resetTooltip())}_getManipulatorInfoFromHandle(e){return this._manipulatorInfos.find(t=>t.handle===e)}_updateManipulatorPositions(e){for(const t of e)this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(t))}_updateManipulatorPosition(e){const t=this._operations;if(null!=e&&t)if("vertex"===e.type)e.manipulator.location=t.data.coordinateHelper.vectorToDehydratedPoint(e.handle.pos,we),e.manipulator.grabbing&&null!=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(null==i||null==a)return;const n=i.manipulator,o=a.manipulator;if("on-the-ground"===e.manipulator.elevationInfo?.mode){const i=n.location,a=o.location,s=.5,r=i.x+s*(a.x-i.x),l=i.y+s*(a.y-i.y),p=i.hasZ&&a.hasZ?0:void 0;e.manipulator.location=T(r,l,p,t.data.spatialReference)}else y(He,n.renderLocation,o.renderLocation,.5),e.manipulator.renderLocation=He}}_splitEdgeManipulator(e,t=.5){const i=this._operations,a=i.splitSegment(e.handle,t).createdVertex;e.locationUpdateHandle=h(e.locationUpdateHandle);const n=this.object.elevationInfo;let o;this.enableEdgeOffset?(this._removeManipulator(e),o=this._createVertexOrEdgeManipulator(a)):(o=e,o.handle=a,o.type="vertex",this._setTypeSpecificManipulatorSettings(e.manipulator,e.handle,n)),"line"===a.leftSegment?.type&&this._createVertexOrEdgeManipulator(a.leftSegment),"line"===a.rightSegment?.type&&this._createVertexOrEdgeManipulator(a.rightSegment),this._updateManipulatorPosition(o),this.enableEdgeOffset||this._resetTooltip(),this._updateSelection(e.manipulator);const s=this._updateEventState(2),r=i.data.coordinateHelper.vectorToArray(o.handle.pos),l=i.data.parts.indexOf(a.part);return this.events.emit("vertex-add",{type:"vertex-add",object:this.object,vertices:[{coordinates:r,componentIndex:l,vertexIndex:a.index}],added:r}),s&&this._updateEventState(0),o}_updateMoveManipulationPosition(){const e=O(He,0,0,0);let t=0,i=!1,a=null,n=null;for(const r of this._manipulatorInfos)"vertex"===r.type&&(r.manipulator.selected?(t++,E(e,e,r.manipulator.renderLocation),null==a||r.selectedIndex>a.selectedIndex?(n=a,a=r):(null==n||r.selectedIndex>n.selectedIndex)&&(n=r)):i=!0);const o=this.object,s=this._operations?.data.geometry;if(0===t){const e=o.visible&&this.enableMoveObject;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e,this._moveManipulation.zManipulation.available=e&&this.enableZShape&&q(this._operations,o.elevationInfo),this._moveManipulation.angle=N(s),this._moveManipulation.radius=W.radiusForSymbol(o.graphic?.symbol)}else{const e=o.visible;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.zManipulation.available=e&&this.enableZVertex&&q(this._operations,this.object.elevationInfo),this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e&&1!==t;let i=0;if(null!=a){const e=a.handle.pos,t=null!=n?n.handle.pos:a.handle.leftSegment?.leftVertex?a.handle.leftSegment.leftVertex.pos:null,o=null==n&&a.handle.rightSegment?.rightVertex?a.handle.rightSegment.rightVertex.pos:null;t&&o?this._moveManipulation.xyAxisManipulation.available=!1:t?i=je(t,e):o&&(i=je(e,o))}this._moveManipulation.angle=i,this._moveManipulation.radius=B}0!==t&&i?(j(e,e,1/t),we.spatialReference=this._operations.data.spatialReference,we.hasZ=!0,this.view.renderCoordsHelper.fromRenderCoords(e,we),this._moveManipulation.elevationAlignedLocation=we):null==this._outlineVisualElement||this.object.isDraped||null==this._outlineVisualElement.attachmentOrigin?C(this._moveManipulation,this.object):this._moveManipulation.elevationAlignedLocation=this._outlineVisualElement.attachmentOrigin}_removeVertices(e){const t=new Array,i=this._operations;if(i){for(const a of e){const e=a.handle.part;if("vertex"===a.type&&i.canRemoveVertex(e)){t.push(a.handle),this._removeManipulator(a),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.leftSegment)),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.rightSegment));const n=i.removeVertices([a.handle]),o=n.removedVertices?.[0].createdSegment;o&&"line"===o.type?this._createVertexOrEdgeManipulator(o):this.enableEdgeOffset&&e.vertices.length<=2&&this._removeManipulator(this._getManipulatorInfoFromHandle(e.segments[0]))}}if(t.length>0){const e=t.map(e=>{const t=i.data.parts.indexOf(e.part);return{coordinates:i.data.coordinateHelper.vectorToArray(e.pos),componentIndex:t,vertexIndex:e.index}}),a=this._updateEventState(2);if(this.destroyed)return;if(this.events.emit("vertex-remove",{type:"vertex-remove",object:this.object,removed:e.map(e=>e.coordinates),vertices:e}),this.destroyed)return;if(a&&(this._updateEventState(0),this.destroyed))return;this._updateMoveManipulationPosition()}}}_moveVertices(e,t,i=("start"===t.action?0:1)){const a=this._operations;if(a){e.length>0&&a.moveVertices(e.map(e=>e.handle),t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i);for(const t of e)this._updateManipulatorPosition(t)}}_offsetEdge(e,t,i){if(!this._operations)return;const a=t.clone();a.distance=i,this._operations.updateVertices([e.handle.leftVertex,e.handle.rightVertex],a),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,this.enableDeleteVertices&&e.button===he.Right&&this._removeVertices([t])),"edge"===t.type&&e.button===he.Left&&this._splitEdgeManipulator(t),e.stopPropagation()}_updateTranslateTooltip(e,t){null!=this._defaultTooltipInfo?this._resetTooltip():this._updateTranslateObjectTooltip(e,t)}_updateTranslateObjectTooltip(e,t){this._pendingEdgeOffsetInfo||(this.activeTooltipInfo=oe(e,t,this._tooltipsContext))}_updateEdgeOffsetTooltip(e){this._pendingEdgeOffsetInfo||(this.activeTooltipInfo=se(this.object,e,this._tooltipsContext))}_resetTooltip(){const e=this.activeTooltipInfo;if(this._pendingEdgeOffsetInfo&&"reshape-edge-offset"===e?.type)return;let t=null;t=this._pendingEdgeOffsetInfo||null!=this._findActiveEdgeOffsetManipulatorInfo()?se(this.object,null,this._tooltipsContext):this._defaultTooltipInfo,t!==e&&(null!=e&&null!=t&&"input"===this.tooltip.mode||(this.activeTooltipInfo=t))}get _defaultTooltipInfo(){const e=this._operations?.data.type;switch(e){case"polyline":case"polygon":return this._selectedVertexManipulatorInfo?this.tooltipInfos.selectedVertex:null;case"point":case"mesh":return this.tooltipInfos.movePoint;default:return null}}get _selectedVertexManipulatorInfo(){const e=this._manipulatorInfos.filter(e=>"vertex"===e.type&&e.manipulator.selected);return 1===e.length?e[0]:null}get _tooltipsContext(){const{tooltipInfos:e,activeTooltipInfo:t,automaticAreaMeasurementUtils:i,automaticLengthMeasurementUtils:a}=this;return{sketchOptions:this._sketchOptions,tooltipInfos:e,activeTooltipInfo:t,selectedVertexManipulatorInfo:this._selectedVertexManipulatorInfo,callbacks:this._tooltipCallbacks,automaticAreaMeasurementUtils:i,automaticLengthMeasurementUtils:a}}get test(){}};function Oe(){return e=>{const{operation:t,mapEnd:i}=e;return null==t||null==i?e:{...e,signedDistance:t.signedDistanceToPoint(i)}}}function Ee(e){const t=e.size/2,i=t+e.collisionPadding;return{size:t/i,outlineSize:(t+e.outlineSize)/i}}function je(e,t){return Math.atan2(t[1]-e[1],t[0]-e[0])+Math.PI/2}function Ie(e){return new H({x:0,y:0,z:0,spatialReference:e})}function Se(e){return"edge"===e.type&&"edgeManipulator"in e}e([_()],ye.prototype,"_numGrabbing",void 0),e([_()],ye.prototype,"_numDragging",void 0),e([_()],ye.prototype,"_pendingEdgeOffsetInfo",void 0),e([_()],ye.prototype,"_operations",null),e([_()],ye.prototype,"_segmentLabels",void 0),e([_({constructOnly:!0})],ye.prototype,"tool",void 0),e([_()],ye.prototype,"tooltip",void 0),e([_()],ye.prototype,"activeTooltipInfo",void 0),e([_({readOnly:!0})],ye.prototype,"updating",null),e([_()],ye.prototype,"manipulators",null),e([_()],ye.prototype,"view",null),e([_()],ye.prototype,"automaticAreaMeasurementUtils",null),e([_()],ye.prototype,"automaticLengthMeasurementUtils",null),e([_()],ye.prototype,"object",null),e([_()],ye.prototype,"enableZShape",null),e([_()],ye.prototype,"enableDeleteVertices",null),e([_()],ye.prototype,"enableZVertex",null),e([_()],ye.prototype,"autoHideManipulators",null),e([_()],ye.prototype,"enableMoveObject",null),e([_()],ye.prototype,"enableMidpoints",null),e([_()],ye.prototype,"enableEdgeOffset",null),e([_()],ye.prototype,"_sketchOptions",null),e([_()],ye.prototype,"_accentColor",null),e([_()],ye.prototype,"_tooltipsContext",null),ye=e([v("esri.views.3d.interactive.editingTools.reshape.ReshapeOperation")],ye);const we=T(0,0,void 0,D.WGS84),He=S(),Ve=1e-6,De=16,Te=32;export{ye as ReshapeOperation};
5
+ import{__decorate as e}from"tslib";import t from"../../../../../core/Accessor.js";import{removeUnordered as i}from"../../../../../core/arrayUtils.js";import{EventEmitter as a}from"../../../../../core/Evented.js";import n from"../../../../../core/Handles.js";import{handlesGroup as o,makeHandle as s,destroyHandle as r}from"../../../../../core/handleUtils.js";import"../../../../../core/has.js";import{destroyMaybe as l,removeMaybe as p}from"../../../../../core/maybe.js";import{watch as h,on as d,initial as u,syncAndInitial as c,when as m,sync as g}from"../../../../../core/reactiveUtils.js";import{property as f,subclass as _}from"../../../../../core/accessorSupport/decorators.js";import{IDENTITY as v}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{b as M,e as b,l as x,h as y,i as O,j as E}from"../../../../../chunks/vec32.js";import{fromValues as j,create as I}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as S}from"../../../../../core/support/UpdatingHandles.js";import w from"../../../../../geometry/Point.js";import H from"../../../../../geometry/Polyline.js";import V from"../../../../../geometry/SpatialReference.js";import{makeDehydratedPoint as D}from"../../../../../layers/graphics/dehydratedPoint.js";import{isVolumetricSymbol as A}from"../../../../../symbols/support/utils.js";import{Manipulator3D as T}from"../../Manipulator3D.js";import{createManipulatorMaterial as G,createManipulatorOutlineMaterial as U,placeAtObject as P}from"../../manipulatorUtils.js";import{RenderObject as k}from"../../RenderObject.js";import{SegmentLabels3D as C}from"../../SegmentLabels3D.js";import{SnappingVisualizer3D as L}from"../../SnappingVisualizer3D.js";import{screenToMapXYAtLocation as R,screenToRenderPlaneFromEvent as z,convertToMapCoordinates as F}from"../dragEventPipeline3D.js";import{orientation as Z}from"../geometryUtils.js";import{canMoveZOperations as B}from"../manipulatorUtils.js";import{Settings as N}from"../settings.js";import{createVisualElements as q}from"../visualElementUtils.js";import{discRadiusSmall as X}from"../manipulations/config.js";import{MoveManipulation as Y}from"../manipulations/MoveManipulation.js";import{MoveXYObjectManipulation as W}from"../manipulations/MoveXYObjectManipulation.js";import{getMapPointAtEdgeOffsetManipulatorElevation as K,createEdgeOffsetIntersectionPlane as J,createEdgeOffsetOperation as Q,edgeOffsetRotationMatrix as $,screenEdgeLengthSquared as ee,getDistanceInGeometrySR as te}from"./edgeOffsetUtils.js";import{createTooltipInfos as ie,connectTooltipToManipulatedObject as ae,getUpdatedTranslateObjectTooltipInfo as ne,getUpdatedEdgeOffsetTooltipInfo as oe}from"./reshapeTooltipUtils3D.js";import{OutlineVisualElement as se}from"../../visualElements/OutlineVisualElement.js";import{createExtrudedTriangle as re,createSphereGeometry as le}from"../../../webgl-engine/lib/GeometryUtil.js";import{MouseButton as pe}from"../../../../input/IViewEvents.js";import{sceneSnappingAtLocation as he,addMapDelta as de,createManipulatorDragEventPipeline as ue,dragAtLocation as ce,addScreenDelta as me}from"../../../../interactive/dragEventPipeline.js";import{tooltipKeys as ge}from"../../../../interactive/keybindings.js";import{SnappingContext as fe}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as _e}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{makeTooltip as ve,enterInputModeIfAvailable as Me}from"../../../../interactive/tooltip/tooltipCommonUtils.js";const be=Symbol();let xe=class extends t{get _operations(){return this.object.operations}constructor(e){super(e),this._selectedIndex=0,this._manipulatorHandles=new n,this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0,this._reshapeEventState=0,this._pendingEdgeOffsetInfo=null,this._updatingHandles=new S,this._recreatingManipulators=!1,this._settings=new N({getTheme:()=>this.view.effectiveTheme}),this.events=new a,this.activeTooltipInfo=null,this._vertexLaserLineVisualElement=null,this._tooltipCallbacks={onBeforeReshape:()=>this.tool.endDrag(),onReshapeStart:()=>this._updateEventState(2),onReshape:()=>this.events.emit("reshape",{type:"reshape",object:this.object}),onReshapeStop:()=>this._updateEventState(0,{forceEnd:!0}),onMoveStart:()=>this._updateEventState(1),onMove:()=>this.events.emit("move",{type:"move",object:this.object,dx:0,dy:0}),onMoveStop:()=>this._updateEventState(0,{forceEnd:!0})}}initialize(){const{view:e}=this,t=this._settings.manipulators,i=t.vertex;this.tooltipInfos=ie(this._sketchOptions,e),this._vertexManipulatorMaterial=G(i.color.toUnitRGBA(),i.renderOccluded),this._vertexManipulatorOutlineMaterial=U(i.outlineColor.toUnitRGBA(),i.renderOccluded),this._vertexManipulatorHoverOutlineMaterial=U(i.hoverOutlineColor.toUnitRGBA(),i.renderOccluded);const a=t.edge;this._edgeManipulatorMaterial=G(a.color.toUnitRGBA(),a.renderOccluded),this._edgeManipulatorOutlineMaterial=U(a.outlineColor.toUnitRGBA(),a.renderOccluded);const n=t.edgeOffset;this._edgeOffsetManipulatorMaterial=G(n.color.toUnitRGBA(),n.renderOccluded,!1),this._edgeOffsetManipulatorHoverMaterial=G(n.hoverColor.toUnitRGBA(),n.renderOccluded,!1);const o=t.selected;this._selectedManipulatorMaterial=G(o.color.toUnitRGBA(),o.renderOccluded),this._selectedManipulatorOutlineMaterial=U(o.outlineColor.toUnitRGBA(),o.renderOccluded),this._selectedManipulatorHoverOutlineMaterial=U(o.hoverOutlineColor.toUnitRGBA(),o.renderOccluded),this.tooltip=ve(()=>({view:e,options:this._sketchOptions.tooltips})),this.addHandles([h(()=>{const e=this._settings.manipulators;return{vertexSettings:e.vertex,edgeSettings:e.edge,edgeOffsetSettings:e.edgeOffset,selectedSettings:e.selected}},({vertexSettings:e,edgeSettings:t,edgeOffsetSettings:i,selectedSettings:a})=>{e.applyColor(this._vertexManipulatorMaterial),e.applyOutline(this._vertexManipulatorOutlineMaterial),e.applyHoverOutline(this._vertexManipulatorHoverOutlineMaterial),t.applyColor(this._edgeManipulatorMaterial),t.applyOutline(this._edgeManipulatorOutlineMaterial),i.applyColor(this._edgeOffsetManipulatorMaterial),i.applyHover(this._edgeOffsetManipulatorHoverMaterial),a.applyColor(this._selectedManipulatorMaterial),a.applyOutline(this._selectedManipulatorOutlineMaterial),a.applyHoverOutline(this._selectedManipulatorHoverOutlineMaterial)}),h(()=>this.object.visible,e=>{for(const t of this._manipulatorInfos)t.manipulator.available=e,Ie(t)&&(t.edgeManipulator.available=e)}),h(()=>this._numGrabbing+this._numDragging===0,e=>this._toggleAutoHideManipulators(e)),h(()=>({labels:this._segmentLabels,enabled:this._sketchOptions.labels.enabled,edgeOffsetEnabled:this.enableEdgeOffset}),({labels:e,enabled:t,edgeOffsetEnabled:i})=>{null!=e&&(e.visible=t,e.edgeDistance=i?"far":"default")},u),ae(this.tooltip,this.object,()=>this._tooltipsContext),h(()=>this.tooltip.mode,(e,t)=>{"input"===t&&"input"!==e&&this._resetTooltip()}),d(()=>this._operations,"vertex-update",e=>this._updateManipulatorPositions(e.vertices),{onListenerAdd:()=>this._recreateManipulators()}),d(()=>this._operations?.data,"change",e=>{"undo"!==e.operation&&"redo"!==e.operation||this._recreateManipulators()})])}destroy(){this._removeManipulators(),this._updatingHandles.destroy(),this._segmentLabels=l(this._segmentLabels),this.tooltip=l(this.tooltip)}get updating(){return this._updatingHandles.updating}get manipulators(){return this.tool.manipulators}get view(){return this.tool.view}get automaticAreaMeasurementUtils(){return this.tool.automaticAreaMeasurementUtils}get automaticLengthMeasurementUtils(){return this.tool.automaticLengthMeasurementUtils}get object(){return this.tool.object}get enableZShape(){return this.tool.enableZShape}get enableDeleteVertices(){return this.tool.enableDeleteVertices}get enableZVertex(){return this.tool.enableZVertex}get autoHideManipulators(){return this.tool.autoHideManipulators}get enableMoveObject(){return this.tool.enableMoveObject}get enableMidpoints(){return this.tool.enableMidpoints}get enableEdgeOffset(){return this.tool.enableEdgeOffset}get _sketchOptions(){return this.tool.sketchOptions}get _accentColor(){return this.view.effectiveTheme.accentColor}enterInputModeIfAvailable(e){return"key-down"===e.type&&e.key===ge.enterInputMode&&("reshape-edge-offset"===this.activeTooltipInfo?.type?this._enterInputModeDuringEdgeOffset(e):!!Me(e,this.tooltip)&&(this.tool.endDrag(),!0))}removeSelectedVertices(){const e=this._manipulatorInfos.filter(e=>e.manipulator.selected&&"vertex"===e.type);return this._removeVertices(e),e.length}onManipulatorSelectionChanged(){this.events.emit("manipulators-changed")}_removeManipulators(){this._manipulatorHandles.removeAll(),this._moveManipulation=l(this._moveManipulation),this._objectMoveManipulation=l(this._objectMoveManipulation),this.manipulators.removeAll(),this._manipulatorInfos=[],this._numGrabbing=0,this._numDragging=0}_createManipulators(e){if(null==this._operations)return;const t=this.object.elevationInfo;for(const{vertices:i,segments:a,index:n}of this._operations.data.parts){const o=e?.byPartIndex.get(n);for(const e of i){const i=o?.has(e.index);this._createVertexOrEdgeManipulator(e,t,i)}for(const e of a)"line"===e.type&&this._createVertexOrEdgeManipulator(e,t)}this._createObjectMoveManipulation(),this._createMoveManipulation(t),this._createVisualElements()}recordUndo(e){this._operations?.recordUndo(e)}get canRedo(){return this._operations?.canRedo??!1}get canUndo(){return this._operations?.canUndo??!1}redo(){return this._operations?.redo()}undo(){return this.events.emit("undo"),this._operations?.undo()}_recreateManipulators(){if(!this._recreatingManipulators){if(this._recreatingManipulators=!0,this._removeManipulators(),this._resetTooltip(),this._operations&&this._segmentLabels?.context?.editGeometryOperations===this._operations||(this._segmentLabels=l(this._segmentLabels)),this._createManipulators(),!this._segmentLabels&&this._operations){const e=this._sketchOptions.labels;this._segmentLabels=new C({context:{view:this.view,editGeometryOperations:this._operations,elevationInfo:this.object.elevationInfo,labelOptions:e,automaticLengthMeasurementUtils:this.automaticLengthMeasurementUtils},visible:e.enabled})}this._recreatingManipulators=!1}}_perObjectManipulatorDragAction(e,t){if("end"===t.action)return t;let i=0;const a=[],n=this._manipulatorInfos.some(e=>"vertex"===e.type&&e.manipulator.selected),o=1===e&&n;for(const s of this._manipulatorInfos)"vertex"===s.type&&(s.manipulator.grabbing||o&&!s.manipulator.selected||a.push(s),i++);this._moveVertices(a,t);if(a.length===i){if(this._updateEventState(1),this.destroyed)return t;this.events.emit("move",{type:"move",dx:t.screenDeltaX,dy:t.screenDeltaY,object:this.object})}else{if(this._updateEventState(2),this.destroyed)return t;this.events.emit("reshape",{type:"reshape",object:this.object})}return t}_toggleAutoHideManipulators(e){this.autoHideManipulators&&(e?this.removeHandles(be):this.tool.manipulators.forEach(({manipulator:e})=>{const t=e.disableDisplay?.();t&&this.addHandles(t,be)}))}_isMultiVertexSelection(){return this._manipulatorInfos.reduce((e,t)=>"vertex"===t.type&&t.manipulator.selected?e+1:e,0)>1}_perVertexManipulatorDragAction(e){if(this._updateEventState(2),this.destroyed)return;const{mapDeltaX:t,mapDeltaY:i,mapDeltaZ:a}=e;if(!t&&!i&&!a)return;const n=[];for(const o of this._manipulatorInfos)"vertex"===o.type&&(o.manipulator.selected&&!o.manipulator.grabbing||o===e.info)&&n.push(o);this._moveVertices(n,e,1),this.events.emit("reshape",{type:"reshape",object:this.object})}_updateEventState(e,t={}){if(e===this._reshapeEventState)return!1;switch(e){case 0:if(!t.forceEnd&&(0!==this._numGrabbing||0!==this._numDragging))return!1;switch(this._reshapeEventState){case 1:this.events.emit("move",{type:"move-stop",dx:0,dy:0,object:this.object});break;case 2:this.events.emit("reshape",{type:"reshape-stop",object:this.object})}break;case 1:switch(this._reshapeEventState){case 0:this.events.emit("move",{type:"move-start",dx:0,dy:0,object:this.object});break;case 2:this.events.emit("reshape",{type:"reshape-stop",object:this.object}),this.destroyed||this.events.emit("move",{type:"move-start",dx:0,dy:0,object:this.object})}break;case 2:switch(this._reshapeEventState){case 0:this.events.emit("reshape",{type:"reshape-start",object:this.object});break;case 1:this.events.emit("move",{type:"move-stop",dx:0,dy:0,object:this.object}),this.destroyed||this.events.emit("reshape",{type:"reshape-start",object:this.object})}}if(this.destroyed)return!1;const i=this._reshapeEventState!==e;return this._reshapeEventState=e,i}_createObjectMoveManipulation(){const{tool:e,view:t,object:i,_operations:a}=this;if(a){if(this._objectMoveManipulation=new W({tool:e,view:t,object:i}),this.enableMoveObject){let e=null;this._manipulatorHandles.add(this._objectMoveManipulation.createDragPipeline((t,i,n)=>{i.next(e=>this._trackNumDragging(e)).next(t=>("start"===t.action&&(e=a.createUndoGroup()),t)).next(e=>this._perObjectManipulatorDragAction(0,e)).next(e=>(this._updateTranslateObjectTooltip(0,e),e)).next(t=>{"end"===t.action&&(this._resetTooltip(),e=p(e))}),n.next(()=>this._onDragCancel(!0,()=>e=p(e)))})),this._objectMoveManipulation.forEachManipulator(e=>this._manipulatorHandles.add(this._watchAndUpdateGrabState(e,!1)))}else this._objectMoveManipulation.forEachManipulator(e=>{e.grabbable=!1,e.cursor=null});this._objectMoveManipulation.forEachManipulator(e=>this._manipulatorHandles.add(e.events.on("immediate-click",e=>{this._manipulatorInfos.some(e=>e.manipulator.selected)?this._clearSelection():this.events.emit("immediate-click",{...e,object:this.object}),e.stopPropagation()})))}}_createMoveManipulation(e){const{object:t,tool:i,view:a,_operations:n}=this;if(!n)return;this._moveManipulation=new Y({tool:i,view:a,xyAvailable:!0,xyAxisAvailable:!0,zAvailable:this.enableZShape&&B(t.operations,t.elevationInfo),snapToScene:!1,radius:Y.radiusForSymbol(t.graphic?.symbol)}),this._moveManipulation.forEachManipulator(e=>this.addHandles([e.events.on("immediate-click",t=>{this._moveManipulation.zManipulation.hasManipulator(e)||this._manipulatorInfos.some(e=>e.manipulator.selected)||this.events.emit("immediate-click",{...t,object:this.object}),t.stopPropagation()}),this._watchAndUpdateGrabState(e,!1)]));const o=e=>t=>{this.addHandles([t.events.on("focus-changed",({action:t})=>{"focus"===t?this._updateTranslateTooltip(e):this._resetTooltip()})])};this._moveManipulation.xyManipulation.forEachManipulator(o(0)),this._moveManipulation.xyAxisManipulation.forEachManipulator(o(1)),this._moveManipulation.zManipulation.forEachManipulator(o(2)),this._moveManipulation.elevationInfo={mode:"absolute-height",offset:0};const s=n.data.spatialReference;this.addHandles([this._moveManipulation.createDragPipeline((a,o,s,r,l)=>{const{snappingStep:p,cancelSnapping:h}=_e({predicate:e=>!!e.info,snappingManager:i.snappingManager,snappingContext:new fe({editGeometryOperations:n,elevationInfo:e,pointer:l,excludeFeature:t.graphic,visualizer:new L}),updatingHandles:this._updatingHandles,useZ:!1});return r=r.next(e=>(this._onDragCancel(),e)).next(h),{steps:s=s.next(e=>this._trackNumDragging(e)).next(e=>{const t=this._manipulatorInfos.filter(e=>"vertex"===e.type&&e.manipulator.selected);return 1===e.manipulatorType&&1===t.length?{...e,info:t[0],snapOrigin:t[0].handle.pos}:e}).next(he(this.view,e,t.graphic??void 0)).next(...p).next(de()).next(e=>this._perObjectManipulatorDragAction(1,e)).next(e=>(this._updateTranslateTooltip(a,e),e)),cancel:r}},e,s,t.graphic),h(()=>t.visible,()=>this._updateMoveManipulationPosition(),u),t.on("committed",()=>{this._recreatingManipulators||this._updateMoveManipulationPosition()}),h(()=>t.isDraped,e=>{this._updateMoveManipulationPosition();const t="align-move-manipulation";e?this.addHandles(this.view.elevationProvider.on("elevation-change",()=>this._updateMoveManipulationPosition()),t):this.removeHandles(t)},u)])}_createVisualElements(){const{object:e,view:t}=this,i=q({view:t,object:e,forEachManipulator:e=>{if(!this.destroyed&&!this._recreatingManipulators){this._objectMoveManipulation.forEachManipulator(e),this._moveManipulation.forEachManipulator(e);for(const t of this._manipulatorInfos)e(t.manipulator,1)}},onManipulatorsChanged:e=>this.events.on("manipulators-changed",e)});null!=i&&(this._outlineVisualElement=i.visualElement instanceof se?i.visualElement:null);const a=this._outlineVisualElement;if(null!=a){const t=()=>{e.isDraped||this._updateMoveManipulationPosition()};this._manipulatorHandles.add(d(()=>a.events,"attachment-origin-changed",t,{onListenerAdd:t}))}this._manipulatorHandles.add(i)}_createEdgeOffsetManipulator(e,t=this.object.elevationInfo){const i=this.view,a=this._operations;if(e.part.vertices.length<=2||!a)return null;const n=a.data.spatialReference,s=this._settings.manipulators.edgeOffset,r=s.size/2,l=r+s.collisionPadding,p=r/l,h=p/2,d=p*Math.sqrt(3)/2,{height:u,offset:c}=s,m=this._edgeOffsetManipulatorMaterial;if(!this._edgeOffsetManipulatorGeometryInside){const e=re(m,d,h,h,u,c);this._edgeOffsetManipulatorGeometryInside=e}if(!this._edgeOffsetManipulatorGeometryOutside){const e=re(m,-d,h,h,u,-c);this._edgeOffsetManipulatorGeometryOutside=e}const g=[new k(this._edgeOffsetManipulatorGeometryInside.instantiate(),1),new k(this._edgeOffsetManipulatorGeometryInside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),2),new k(this._edgeOffsetManipulatorGeometryOutside.instantiate(),1),new k(this._edgeOffsetManipulatorGeometryOutside.instantiate({material:this._edgeOffsetManipulatorHoverMaterial}),2)],f=new T({view:i,renderObjects:g,elevationInfo:"on-the-ground"!==t.mode||A(this.object.graphic?.symbol)?{mode:"absolute-height",offset:0}:t,worldOriented:!1,focusMultiplier:1,radius:l,available:this.object.visible,collisionType:{type:"disc",direction:j(0,0,1)},collisionPriority:1,metadata:{deleting:!1},location:je(n)}),_=new T({view:i,worldSized:!0,worldOriented:!1,available:this.object.visible,collisionPriority:-10,cursor:this.enableMoveObject?"move":"default",metadata:{deleting:!1},location:je(n)}),v={manipulator:f,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0,edgeManipulator:_,visibilityHandle:null};this._autoHideEdgeOffsetManipulator(v,s.minSquaredEdgeLength);const M=()=>this._updateEdgeOffsetManipulator(v);M(),v.locationUpdateHandle=o([e.leftVertex,e.rightVertex].map(e=>{const t=this._getManipulatorInfoFromHandle(e);return t?.manipulator.events.on("location-update",M)}));const b=e=>{this._manipulatorInfos.some(e=>e.manipulator.selected)?this._clearSelection():this.events.emit("immediate-click",{...e,object:this.object}),e.stopPropagation()};return this._manipulatorHandles.add([v.locationUpdateHandle,this._watchAndUpdateGrabState(f,!0),this._watchAndUpdateGrabState(_,!0),ue(f,this._createEdgeOffsetPipeline(v,t,a)),ue(_,this._createEdgePipeline(v,t,a)),_.events.on("immediate-click",b),f.events.on("immediate-click",b),f.events.on("focus-changed",()=>this._resetTooltip()),f.events.on("grab-changed",({screenPoint:e,action:t})=>{v.grabMapPoint="start"===t?K(e,this.view,this.object,v):null})],f),this._manipulatorInfos.push(v),this.manipulators.addMany([f,_]),this.events.emit("manipulators-changed"),v}_autoHideEdgeOffsetManipulator(e,t){const i=e.manipulator,a=e.edgeManipulator,n=()=>{e.visibilityHandle=p(e.visibilityHandle);const n=this._getManipulatorInfoFromHandle(e.handle.leftVertex),r=this._getManipulatorInfoFromHandle(e.handle.rightVertex),l=null!=n&&null!=r&&ee(n.manipulator.renderLocation,r.manipulator.renderLocation,this.view.state.camera)<t;(!i.focused&&!a.focused||l)&&(i.grabbable=!l,a.grabbable=!l,e.visibilityHandle=o([i.disableDisplay(),s(()=>{i.grabbable=!0,a.grabbable=this.enableMoveObject})]))};this._manipulatorHandles.add([i.events.on("focus-changed",n),a.events.on("focus-changed",n),s(()=>{p(e.visibilityHandle),a.metadata.deleting=!0,this.manipulators.remove(a)})],i),n()}_updateEdgeOffsetManipulator(e){if(!this._operations)return;this._updateManipulatorPosition(e);const{coordinateHelper:t}=this._operations.data,i=J(this.view,e.manipulator.elevationAlignedLocation,Q(t,e.handle,e.manipulator.elevationInfo)),a=this._getManipulatorInfoFromHandle(e.handle.leftVertex),n=this._getManipulatorInfoFromHandle(e.handle.rightVertex);if(null==a||null==n)return;const o=a.manipulator.renderLocation,s=n.manipulator.renderLocation,r=null!=i?$(i,o,s):v;e.manipulator.modelTransform=r,e.edgeManipulator.elevationAlignedLocation=e.manipulator.elevationAlignedLocation,e.edgeManipulator.modelTransform=r;const l=M(b(we,o,s))/2;e.edgeManipulator.collisionType={type:"line",paths:[[[-l,0,0],[l,0,0]]]}}_createEdgePipeline(e,t,i){return(a,n,o,s)=>{if("touch"===s){this._createEdgeOffsetPipeline(e,t,i)(a,n,o)}else if(this.enableMoveObject){const e=this.object.graphic,s=i.data.spatialReference,{elevationAlignedLocation:r}=a;n.next(e=>this._trackNumDragging(e)).next(ce(this.view,r)).next(R(this.view,r,t,s,e)).next(me()).next(de()).next(e=>this._perObjectManipulatorDragAction(0,e)).next(e=>(this._updateTranslateObjectTooltip(0,e),e)).next(e=>{"end"===e.action&&this._resetTooltip()}),o.next(()=>this._onDragCancel(!a.metadata.deleting))}}}_createEdgeOffsetPipeline(e,t,i){return(a,n,o)=>{const s=this._pendingEdgeOffsetInfo;if(s?.manipulatorInfo===e&&"drag"!==s.mode)return void o.execute({action:"cancel"});this._clearSelection();const{initializeStep:r,cleanup:l}=this._initializeEdgeOffset(e,t,i,o),p=this._applyEdgeOffsetStep(e);n.next(e=>this._trackNumDragging(e)).next(ce(this.view,a.elevationAlignedLocation)).next(r).next(z(this.view)).next(F(this.view,i.data.spatialReference)).next(de()).next(ye()).next(e=>this._pendingEdgeOffsetInfo?e:p(e)).next(e=>{"end"!==e.action||this._pendingEdgeOffsetInfo||l()}),o.next(()=>{this._exitEdgeOffsetInputMode(),a.metadata.deleting||(l(),this._onDragCancel())})}}_initializeEdgeOffset(e,t,i,a){const{view:n,object:s}=this,r=Q(i.data.coordinateHelper,e.handle,t),l=i.createUndoGroup(),h=J(n,e.manipulator.elevationAlignedLocation,r);let d;this._splitEdgesBeforeEdgeOffset(e,r),this._selectEdgeOffsetArrow(e,r);const u=()=>{this._cleanEdgeOffsetCollapsedEdges(e,i),d=p(d)},c=this.events.on("undo",u);return d=o([this._initializeEdgeOffsetVisualElement(e,s,t,i),l,c,this._connectEdgeOffsetTooltip(e,r,i,()=>{a.execute({action:"cancel"})})]),{initializeStep:e=>null==r||null==h?(u(),null):{...e,operation:r,plane:h},cleanup:u}}_initializeEdgeOffsetVisualElement(e,t,i,a){const n=()=>new H({paths:[[e.handle.leftVertex.pos,e.handle.rightVertex.pos]],spatialReference:a.data.spatialReference}),s=new se({view:this.view,isDraped:t.isDraped,geometry:n(),elevationInfo:i,width:this._settings.visualElements.lineObjects.outline.width,attached:!1,isDecoration:!0}),l=o([h(()=>({color:this._accentColor,draped:t.isDraped}),({color:e,draped:t})=>{s.color=e.toUnitRGBA(),s.isDraped=t},c),t.on("committed",()=>{s.geometry=n()}),r(s)]);return s.attached=!0,l}_applyEdgeOffsetStep(e){return t=>(this.destroyed||null==t.operation||!this._operations||(this._updateEventState(2),null==t.signedDistance?this._resetTooltip():((t.mapDeltaX||t.mapDeltaY||t.mapDeltaZ)&&(this._offsetEdge(e,t.operation,t.signedDistance),this.events.emit("reshape",{type:"reshape",object:this.object})),this._updateEdgeOffsetTooltip(t))),t)}_cleanEdgeOffsetCollapsedEdges(e,t){const i=e.handle.leftVertex.leftSegment?.leftVertex,a=e.handle.leftVertex,n=e.handle.rightVertex.rightSegment?.rightVertex,o=e.handle.rightVertex,s=t.data.coordinateHelper,r=this.view.pixelSizeAt(s.vectorToDehydratedPoint(a.pos),s.spatialReference),l=[];if(i&&s.distance(i.pos,a.pos)<He){const e=this._getManipulatorInfoFromHandle(a);null!=e&&l.push(e)}if(s.distance(a.pos,o.pos)<r||n&&s.distance(n.pos,o.pos)<He){const e=this._getManipulatorInfoFromHandle(o);null!=e&&l.push(e)}l.length&&this._removeVertices(l)}_enterInputModeDuringEdgeOffset(e){const t=this._findActiveEdgeOffsetManipulatorInfo();return!!t&&(!!Me(e,this.tooltip)&&(t.manipulator.dragging?(this._pendingEdgeOffsetInfo={manipulatorInfo:t,mode:"drag"},!0):(this._clearSelection(),this._pendingEdgeOffsetInfo={manipulatorInfo:t,mode:"hover"},this._connectEdgeOffsetTooltipOnHover(t),!0)))}_exitEdgeOffsetInputMode(){this.tooltip&&(this._pendingEdgeOffsetInfo=null,this._resetTooltip(),this.tooltip.exitInputMode())}_findActiveEdgeOffsetManipulatorInfo(){return this._manipulatorInfos.filter(Ie).find(({manipulator:e})=>e.hovering||e.grabbing||e.dragging)}_connectEdgeOffsetTooltipOnHover(e){const{_operations:t,object:i}=this;if(!t)return;const{elevationInfo:a}=i,n=Q(t.data.coordinateHelper,e.handle,a);this._selectEdgeOffsetArrow(e,n),this.addHandles([this._initializeEdgeOffsetVisualElement(e,i,a,t),this._connectEdgeOffsetTooltip(e,n,t,()=>{this.removeHandles(n),this._exitEdgeOffsetInputMode()})],n)}_splitEdgesBeforeEdgeOffset(e,t){if(t.requiresSplitEdgeLeft){const t=this._getManipulatorInfoFromHandle(e.handle.leftVertex.leftSegment);null!=t&&this._splitEdgeManipulator(t,1)}if(t.requiresSplitEdgeRight){const t=this._getManipulatorInfoFromHandle(e.handle.rightVertex.rightSegment);null!=t&&this._splitEdgeManipulator(t,0)}}_selectEdgeOffsetArrow(e,t){const i=e.grabMapPoint??K(this.view.inputManager?.latestPointerInfo?.location,this.view,this.object,e);i&&t.selectArrowFromStartPoint(i)}_connectEdgeOffsetTooltip(e,t,i,a){const n=()=>this.tooltipInfos.edgeOffset.distance.actual,s=n=>{a(),queueMicrotask(()=>{this.view.focus();const a=i.createUndoGroup();this._tooltipCallbacks.onReshapeStart?.(),this._splitEdgesBeforeEdgeOffset(e,t),this._offsetEdge(e,t,te(n,e.manipulator.location,t,i)),this._tooltipCallbacks.onReshape?.(),this._tooltipCallbacks.onReshapeStop?.(),this._cleanEdgeOffsetCollapsedEdges(e,i),a.remove()})},r=()=>{const e=n();null!=e?s(e):a()};return o([m(()=>this.tooltip&&!this.tooltip.focused,()=>r(),g),this.tooltip.on("discard",a),this.tooltip.on("commit",e=>{"commit-and-exit"===e.type&&r()})])}_createVertexOrEdgeManipulator(e,t=this.object.elevationInfo,i=!1){const a=this.view,n=this._operations,s=this._settings;if(!n)return null;const r=n.data.type,l=n.data.spatialReference;if("line"===e.type){if(this.enableEdgeOffset)return this._createEdgeOffsetManipulator(e,t);if(!this.enableMidpoints)return null}if(null==this._vertexManipulatorGeometry||null==this._vertexManipulatorOutlineGeometry){const{size:e,outlineSize:t}=Oe(s.manipulators.vertex);this._vertexManipulatorGeometry=le(this._vertexManipulatorMaterial,e,16,16),this._vertexManipulatorOutlineGeometry=le(this._vertexManipulatorOutlineMaterial,t,16,16)}if(null==this._edgeManipulatorGeometry||null==this._edgeManipulatorOutlineGeometry){const{size:e,outlineSize:t}=Oe(s.manipulators.edge);this._edgeManipulatorGeometry=le(this._edgeManipulatorMaterial,e,16,16),this._edgeManipulatorOutlineGeometry=le(this._edgeManipulatorOutlineMaterial,t,16,16)}const h="point"===r||"mesh"===r?[]:[new k(this._vertexManipulatorGeometry.instantiate(),4|Ve),new k(this._vertexManipulatorOutlineGeometry.instantiate(),5|Ve),new k(this._vertexManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),6|Ve),new k(this._vertexManipulatorGeometry.instantiate({material:this._selectedManipulatorMaterial}),8),new k(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorOutlineMaterial}),9),new k(this._vertexManipulatorOutlineGeometry.instantiate({material:this._selectedManipulatorHoverOutlineMaterial}),10)];this.enableMidpoints&&h.push(new k(this._edgeManipulatorGeometry.instantiate({material:this._vertexManipulatorMaterial}),6|De),new k(this._edgeManipulatorOutlineGeometry.instantiate({material:this._vertexManipulatorHoverOutlineMaterial}),6|De),new k(this._edgeManipulatorGeometry.instantiate(),5|De),new k(this._edgeManipulatorOutlineGeometry.instantiate(),5|De));const d=new T({view:a,renderObjects:h,elevationInfo:t,focusMultiplier:1,touchMultiplier:1,available:this.object.visible,metadata:{deleting:!1},location:je(l)});d.selected=i,this._setTypeSpecificManipulatorSettings(d,e,t);const u="vertex"===e.type?{manipulator:d,handle:e,type:"vertex",selectedIndex:0}:{manipulator:d,handle:e,locationUpdateHandle:null,type:"edge",selectedIndex:0};if(this._manipulatorInfos.push(u),this.manipulators.add(d),this._updateManipulatorPosition(u),"edge"===u.type){const e=[];for(const t of[u.handle.leftVertex,u.handle.rightVertex]){const i=this._getManipulatorInfoFromHandle(t);null!=i&&e.push(i.manipulator.events.on("location-update",()=>this._updateManipulatorPosition(u)))}u.locationUpdateHandle=o(e),this._manipulatorHandles.add(u.locationUpdateHandle,d)}this._manipulatorHandles.add(this._watchAndUpdateGrabState(d,!0),d);const c=ue(d,(e,i,o,s)=>{let r=null;const{snappingStep:h,cancelSnapping:d}=_e({predicate:()=>!this._isMultiVertexSelection(),snappingManager:this.tool.snappingManager,snappingContext:new fe({editGeometryOperations:n,elevationInfo:t,pointer:s,excludeFeature:this.object.graphic,visualizer:new L}),updatingHandles:this._updatingHandles,useZ:!1});o=o.next(t=>(this._onDragCancel(!e.metadata.deleting,()=>r=p(r)),t)).next(d);const{elevationAlignedLocation:c}=e,m=this.object.graphic??void 0;i.next(e=>this._trackNumDragging(e)).next(e=>{if("start"===e.action&&n&&(r=n.createUndoGroup()),"edge"===u.type){const t=this._splitEdgeManipulator(u);return{...e,info:t,snapOrigin:t.handle.pos}}return{...e,info:u,snapOrigin:u.handle.pos}}).next(ce(a,c)).next(R(a,c,t,l,m)).next(he(a,t,m)).next(...h).next(de()).next(e=>{this._perVertexManipulatorDragAction(e),"end"===e.action&&(r=p(r)),this._resetTooltip()})});return this._manipulatorHandles.add([c,d.events.on("immediate-click",e=>this._manipulatorClickCallback(e,u)),d.events.on("select-changed",()=>{u.selectedIndex=++this._selectedIndex,this._updateMoveManipulationPosition(),this._resetTooltip()}),d.events.on("focus-changed",()=>{this._resetTooltip()})],d),this.events.emit("manipulators-changed"),u}_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.tool.snappingManager?.doneSnapping(),this._resetTooltip(),this._reshapeEventState){case 0:break;case 1:this.events.emit("move",{type:"move",dx:0,dy:0,object:this.object});break;case 2:this.events.emit("reshape",{type:"reshape",object:this.object})}t?.(),this.destroyed||this._updateEventState(0)}_setTypeSpecificManipulatorSettings(e,t,i){const a=this._settings;switch(t.type){case"vertex":{e.state=Ve,e.selectable=!0,e.cursor="move",e.collisionPriority=2;const{size:t,collisionPadding:n}=a.manipulators.vertex;e.radius=t/2+n,e.elevationInfo=i;const o=this._operations?.data.type;e.interactive=null!=o&&"point"!==o&&"mesh"!==o;break}case"line":{e.state=De,e.selectable=!1,e.cursor="copy",e.collisionPriority=-1;const{size:t,collisionPadding:n}=a.manipulators.edge;e.radius=t/2+n,e.elevationInfo="on-the-ground"!==i.mode||A(this.object.graphic?.symbol)?{mode:"absolute-height",offset:0}:i;break}}}_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(!this._recreatingManipulators){if("start"===i)t&&this._updateSelection(e),this._numGrabbing++;else if(this._numGrabbing--,this._updateEventState(0),this.destroyed)return;this._moveManipulation.interactive=!this._numGrabbing,("touch"!==a||this.enableEdgeOffset)&&(this._manipulatorInfos.forEach(e=>{const{manipulator:t}=e,i=this._operations?.data.type;t.interactive=t.grabbing||!this._numGrabbing&&null!=i&&"point"!==i&&"mesh"!==i,Ie(e)&&(e.edgeManipulator.interactive=e.edgeManipulator.grabbing||!this._numGrabbing)}),this._objectMoveManipulation.forEachManipulator(e=>{e.interactive=e.grabbing||!this._numGrabbing}))}}_clearSelection(){for(const e of this._manipulatorInfos)e.manipulator.grabbing||(e.manipulator.selected=!1);this._pendingEdgeOffsetInfo=null}_updateSelection(e){e.grabbing&&!e.selected&&e.selectable&&(this._clearSelection(),e.selected=!0,this.events.emit("manipulators-changed"))}_removeManipulator(e){null!=e&&(e.manipulator.metadata.deleting=!0,this.manipulators.remove(e.manipulator),this._manipulatorHandles.remove(e.manipulator),i(this._manipulatorInfos,e),this.events.emit("manipulators-changed"),this._resetTooltip())}_getManipulatorInfoFromHandle(e){return this._manipulatorInfos.find(t=>t.handle===e)}_updateManipulatorPositions(e){for(const t of e)this._updateManipulatorPosition(this._getManipulatorInfoFromHandle(t))}_updateManipulatorPosition(e){const t=this._operations;if(null!=e&&t)if("vertex"===e.type)e.manipulator.location=t.data.coordinateHelper.vectorToDehydratedPoint(e.handle.pos,Se),e.manipulator.grabbing&&null!=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(null==i||null==a)return;const n=i.manipulator,o=a.manipulator;if("on-the-ground"===e.manipulator.elevationInfo?.mode){const i=n.location,a=o.location,s=.5,r=i.x+s*(a.x-i.x),l=i.y+s*(a.y-i.y),p=i.hasZ&&a.hasZ?0:void 0;e.manipulator.location=D(r,l,p,t.data.spatialReference)}else x(we,n.renderLocation,o.renderLocation,.5),e.manipulator.renderLocation=we}}_splitEdgeManipulator(e,t=.5){const i=this._operations,a=i.splitSegment(e.handle,t).createdVertex;e.locationUpdateHandle=p(e.locationUpdateHandle);const n=this.object.elevationInfo;let o;this.enableEdgeOffset?(this._removeManipulator(e),o=this._createVertexOrEdgeManipulator(a)):(o=e,o.handle=a,o.type="vertex",this._setTypeSpecificManipulatorSettings(e.manipulator,e.handle,n)),"line"===a.leftSegment?.type&&this._createVertexOrEdgeManipulator(a.leftSegment),"line"===a.rightSegment?.type&&this._createVertexOrEdgeManipulator(a.rightSegment),this._updateManipulatorPosition(o),this.enableEdgeOffset||this._resetTooltip(),this._updateSelection(e.manipulator);const s=this._updateEventState(2),r=i.data.coordinateHelper.vectorToArray(o.handle.pos),l=i.data.parts.indexOf(a.part);return this.events.emit("vertex-add",{type:"vertex-add",object:this.object,vertices:[{coordinates:r,componentIndex:l,vertexIndex:a.index}],added:r}),s&&this._updateEventState(0),o}_updateMoveManipulationPosition(){const e=y(we,0,0,0);let t=0,i=!1,a=null,n=null;for(const r of this._manipulatorInfos)"vertex"===r.type&&(r.manipulator.selected?(t++,O(e,e,r.manipulator.renderLocation),null==a||r.selectedIndex>a.selectedIndex?(n=a,a=r):(null==n||r.selectedIndex>n.selectedIndex)&&(n=r)):i=!0);const o=this.object,s=this._operations?.data.geometry;if(0===t){const e=o.visible&&this.enableMoveObject;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e,this._moveManipulation.zManipulation.available=e&&this.enableZShape&&B(this._operations,o.elevationInfo),this._moveManipulation.angle=Z(s),this._moveManipulation.radius=Y.radiusForSymbol(o.graphic?.symbol)}else{const e=o.visible;this._moveManipulation.xyManipulation.available=e,this._moveManipulation.xyAxisManipulation.available=e,this._moveManipulation.zManipulation.available=e&&this.enableZVertex&&B(this._operations,this.object.elevationInfo),this._moveManipulation.xyAxisManipulation.orthogonalAvailable=e&&1!==t;let i=0;if(null!=a){const e=a.handle.pos,t=null!=n?n.handle.pos:a.handle.leftSegment?.leftVertex?a.handle.leftSegment.leftVertex.pos:null,o=null==n&&a.handle.rightSegment?.rightVertex?a.handle.rightSegment.rightVertex.pos:null;t&&o?this._moveManipulation.xyAxisManipulation.available=!1:t?i=Ee(t,e):o&&(i=Ee(e,o))}this._moveManipulation.angle=i,this._moveManipulation.radius=X}0!==t&&i?(E(e,e,1/t),Se.spatialReference=this._operations.data.spatialReference,Se.hasZ=!0,this.view.renderCoordsHelper.fromRenderCoords(e,Se),this._moveManipulation.elevationAlignedLocation=Se):null==this._outlineVisualElement||this.object.isDraped||null==this._outlineVisualElement.attachmentOrigin?P(this._moveManipulation,this.object):this._moveManipulation.elevationAlignedLocation=this._outlineVisualElement.attachmentOrigin}_removeVertices(e){const t=new Array,i=this._operations;if(i){for(const a of e){const e=a.handle.part;if("vertex"===a.type&&i.canRemoveVertex(e)){t.push(a.handle),this._removeManipulator(a),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.leftSegment)),this._removeManipulator(this._getManipulatorInfoFromHandle(a.handle.rightSegment));const n=i.removeVertices([a.handle]),o=n.removedVertices?.[0].createdSegment;o&&"line"===o.type?this._createVertexOrEdgeManipulator(o):this.enableEdgeOffset&&e.vertices.length<=2&&this._removeManipulator(this._getManipulatorInfoFromHandle(e.segments[0]))}}if(t.length>0){const e=t.map(e=>{const t=i.data.parts.indexOf(e.part);return{coordinates:i.data.coordinateHelper.vectorToArray(e.pos),componentIndex:t,vertexIndex:e.index}}),a=this._updateEventState(2);if(this.destroyed)return;if(this.events.emit("vertex-remove",{type:"vertex-remove",object:this.object,removed:e.map(e=>e.coordinates),vertices:e}),this.destroyed)return;if(a&&(this._updateEventState(0),this.destroyed))return;this._updateMoveManipulationPosition()}}}_moveVertices(e,t,i=("start"===t.action?0:1)){const a=this._operations;if(a){e.length>0&&a.moveVertices(e.map(e=>e.handle),t.mapDeltaX,t.mapDeltaY,t.mapDeltaZ,i);for(const t of e)this._updateManipulatorPosition(t)}}_offsetEdge(e,t,i){if(!this._operations)return;const a=t.clone();a.distance=i,this._operations.updateVertices([e.handle.leftVertex,e.handle.rightVertex],a),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,this.enableDeleteVertices&&e.button===pe.Right&&this._removeVertices([t])),"edge"===t.type&&e.button===pe.Left&&this._splitEdgeManipulator(t),e.stopPropagation()}_updateTranslateTooltip(e,t){null!=this._defaultTooltipInfo?this._resetTooltip():this._updateTranslateObjectTooltip(e,t)}_updateTranslateObjectTooltip(e,t){this._pendingEdgeOffsetInfo||(this.activeTooltipInfo=ne(e,t,this._tooltipsContext))}_updateEdgeOffsetTooltip(e){this._pendingEdgeOffsetInfo||(this.activeTooltipInfo=oe(this.object,e,this._tooltipsContext))}_resetTooltip(){const e=this.activeTooltipInfo;if(this._pendingEdgeOffsetInfo&&"reshape-edge-offset"===e?.type)return;let t=null;t=this._pendingEdgeOffsetInfo||null!=this._findActiveEdgeOffsetManipulatorInfo()?oe(this.object,null,this._tooltipsContext):this._defaultTooltipInfo,t!==e&&(null!=e&&null!=t&&"input"===this.tooltip.mode||(this.activeTooltipInfo=t))}get _defaultTooltipInfo(){const e=this._operations?.data.type;switch(e){case"polyline":case"polygon":return this._selectedVertexManipulatorInfo?this.tooltipInfos.selectedVertex:null;case"point":case"mesh":return this.tooltipInfos.movePoint;default:return null}}get _selectedVertexManipulatorInfo(){const e=this._manipulatorInfos.filter(e=>"vertex"===e.type&&e.manipulator.selected);return 1===e.length?e[0]:null}get _tooltipsContext(){const{tooltipInfos:e,activeTooltipInfo:t,automaticAreaMeasurementUtils:i,automaticLengthMeasurementUtils:a}=this;return{sketchOptions:this._sketchOptions,tooltipInfos:e,activeTooltipInfo:t,selectedVertexManipulatorInfo:this._selectedVertexManipulatorInfo,callbacks:this._tooltipCallbacks,automaticAreaMeasurementUtils:i,automaticLengthMeasurementUtils:a}}get test(){}};function ye(){return e=>{const{operation:t,mapEnd:i}=e;return null==t||null==i?e:{...e,signedDistance:t.signedDistanceToPoint(i)}}}function Oe(e){const t=e.size/2,i=t+e.collisionPadding;return{size:t/i,outlineSize:(t+e.outlineSize)/i}}function Ee(e,t){return Math.atan2(t[1]-e[1],t[0]-e[0])+Math.PI/2}function je(e){return new w({x:0,y:0,z:0,spatialReference:e})}function Ie(e){return"edge"===e.type&&"edgeManipulator"in e}e([f()],xe.prototype,"_numGrabbing",void 0),e([f()],xe.prototype,"_numDragging",void 0),e([f()],xe.prototype,"_pendingEdgeOffsetInfo",void 0),e([f()],xe.prototype,"_operations",null),e([f()],xe.prototype,"_segmentLabels",void 0),e([f({constructOnly:!0})],xe.prototype,"tool",void 0),e([f()],xe.prototype,"tooltip",void 0),e([f()],xe.prototype,"activeTooltipInfo",void 0),e([f({readOnly:!0})],xe.prototype,"updating",null),e([f()],xe.prototype,"manipulators",null),e([f()],xe.prototype,"view",null),e([f()],xe.prototype,"automaticAreaMeasurementUtils",null),e([f()],xe.prototype,"automaticLengthMeasurementUtils",null),e([f()],xe.prototype,"object",null),e([f()],xe.prototype,"enableZShape",null),e([f()],xe.prototype,"enableDeleteVertices",null),e([f()],xe.prototype,"enableZVertex",null),e([f()],xe.prototype,"autoHideManipulators",null),e([f()],xe.prototype,"enableMoveObject",null),e([f()],xe.prototype,"enableMidpoints",null),e([f()],xe.prototype,"enableEdgeOffset",null),e([f()],xe.prototype,"_sketchOptions",null),e([f()],xe.prototype,"_accentColor",null),e([f()],xe.prototype,"_tooltipsContext",null),xe=e([_("esri.views.3d.interactive.editingTools.reshape.ReshapeOperation")],xe);const Se=D(0,0,void 0,V.WGS84),we=I(),He=1e-6,Ve=16,De=32;export{xe 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/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import t from"../../../../Color.js";import e from"../../../../core/Accessor.js";import{getContrast as l,multiplyOpacity as i,desaturate as s,unitRGBAFromColor as r}from"../../../../core/colorUtils.js";import{property as n,subclass as c}from"../../../../core/accessorSupport/decorators.js";import{createStipplePatternSimple as h}from"../../webgl-engine/materials/lineStippleUtils.js";const a=.3;function d(o,t){t&&Object.assign(o,t)}class p{constructor(o){this.height=90,this.coneHeight=40,this.coneWidth=23,this.width=3,this.renderOccluded=16,this.color=o.accent}}class u{constructor({colors:o,...t}){this.size=11,this.outlineSize=1,this.collisionPadding=9,this.color=o.accent,this.outlineColor=o.outline,this.renderOccluded=16,this.hoverOutlineColor=o.selectedOutline,d(this,t)}applyColor(o){this._apply(this.color,o)}applyOutline(o){this._apply(this.outlineColor,o)}applyHoverOutline(o){this._apply(this.hoverOutlineColor,o)}_apply(o,t){t.setParameters({color:r(o),renderOccluded:this.renderOccluded})}}class g{constructor({colors:o,...t}){this.size=40,this.height=.2,this.offset=.25,this.collisionPadding=2,this.renderOccluded=2,this.minSquaredEdgeLength=900,this.color=i(o.accent,.5),this.hoverColor=o.accent,d(this,t)}applyColor(o){this._apply(this.color,o)}applyHover(o){this._apply(this.hoverColor,o)}_apply(o,t){t.setParameters({color:r(o),renderOccluded:this.renderOccluded})}}class f{constructor(o){this.vertex=new u({colors:o,color:o.accent,outlineColor:o.outline}),this.edge=new u({colors:o,color:s(i(o.accent,2/3),.5),outlineColor:i(o.outline,.5),size:8,collisionPadding:8}),this.selected=new u({colors:o,color:o.selected,outlineColor:o.outline}),this.edgeOffset=new g({colors:o})}}class w{constructor({colors:o,...t}){this.width=1.5,this.stipplePattern=h(3.3),this.falloff=0,this.innerWidth=1.5,this.renderOccluded=4,this.color=o.selected,this.stippleOffColor=o.outline,this.innerColor=o.selected,d(this,t)}apply(o){o.color=r(this.color),o.width=this.width,o.stipplePattern=this.stipplePattern,o.stippleOffColor=r(this.stippleOffColor),o.falloff=this.falloff,o.innerWidth=this.innerWidth,o.innerColor=r(this.innerColor),o.renderOccluded=this.renderOccluded}}class C{constructor({colors:o,...t}){this.size=4,this.outlineSize=1,this.shape="square",this.color=o.selected,this.outlineColor=o.outline,d(this,t)}apply(o){o.color=r(this.color),o.size=this.size,o.outlineSize=this.outlineSize,o.outlineColor=r(this.outlineColor),o.primitive=this.shape}}class y{constructor({colors:o,...t}){this.innerWidth=1,this.glowWidth=8,this.glowFalloff=8,this.globalAlpha=a,this.globalAlphaContrastBoost=1.5,this.radius=3,this.innerColor=o.selected,this.glowColor=o.accent,this.heightFillColor=o.accent,d(this,t)}apply(o,e=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*e*this.glowColor.a,globalAlphaContrastBoost:this.globalAlphaContrastBoost,intersectsLineRadius:this.radius};"style"in o?o.style=l:o.laserlineStyle=l}}class O{constructor(o){this.outline=new w({colors:o,color:o.stippleOff,renderOccluded:8,stippleOffColor:o.stippleOn,innerWidth:0}),this.staged=new w({colors:o,color:o.stippleOn,renderOccluded:8,innerColor:o.stagedSolid,stippleOffColor:o.stippleOff}),this.shadowStyle=new y({colors:o,globalAlpha:a,glowColor:o.accent,glowFalloff:8,glowWidth:8,innerColor:o.selected,innerWidth:1})}}class m{constructor(o){this.outline=new C({colors:o,color:o.selected,outlineColor:o.outline,outlineSize:1,shape:"circle",size:4}),this.shadowStyle=new y({colors:o,globalAlpha:a,glowColor:o.accent,glowFalloff:1.5,glowWidth:6,innerColor:o.selected,innerWidth:1,radius:2})}}class A extends w{constructor({colors:o,...t}){super({colors:o}),this.extensionType=2,d(this,t)}}class W{constructor(o){this.laserlineAlphaMultiplier=1.5,this.heightPlaneAngleCutoff=20,this.lineObjects=new O(o),this.pointObjects=new m(o),this.heightPlane=new y({colors:o,globalAlpha:a,glowColor:o.accent,glowFalloff:8,glowWidth:8,innerColor:o.selected,innerWidth:1}),this.heightBox=new y({colors:o,globalAlpha:a,glowColor:o.accent,glowFalloff:8,glowWidth:8,innerColor:o.selected,innerWidth:0,heightFillColor:o.accent}),this.zVerticalLine=new A({colors:o,color:i(o.accent,5*a/3),falloff:2,innerColor:i(o.selected,0),renderOccluded:4,stipplePattern:null,width:5,extensionType:2})}}let b=class extends e{constructor(o){super(o)}get colors(){const o=this.getTheme().accentColor,e=o.a;return{accent:o,contrast:l(o),selected:t.fromArray([255,255,255,e]),selectedOutline:t.fromArray([255,255,255,e]),staged:t.fromArray([12,207,255,e]),stagedSolid:t.fromArray([12,207,255,1]),outline:t.fromArray([0,0,0,.5*e]),stippleOn:t.fromArray([255,255,255,1]),stippleOff:t.fromArray([0,0,0,.5])}}get visualElements(){return new W(this.colors)}get manipulators(){return new f(this.colors)}get zManipulator(){return new p(this.colors)}};o([n()],b.prototype,"colors",null),o([n()],b.prototype,"visualElements",null),o([n()],b.prototype,"manipulators",null),o([n()],b.prototype,"zManipulator",null),o([n()],b.prototype,"getTheme",void 0),b=o([c("esri.views.3d.interactive.editingTools.settings")],b);export{b as Settings};
5
+ import{__decorate as o}from"tslib";import t from"../../../../Color.js";import e from"../../../../core/Accessor.js";import{getContrast as l,multiplyOpacity as i,desaturate as s}from"../../../../core/colorUtils.js";import{property as r,subclass as n}from"../../../../core/accessorSupport/decorators.js";import{createStipplePatternSimple as c}from"../../webgl-engine/materials/lineStippleUtils.js";const h=.3;function a(o,t){t&&Object.assign(o,t)}class d{constructor(o){this.height=90,this.coneHeight=40,this.coneWidth=23,this.width=3,this.renderOccluded=16,this.color=o.accent}}class p{constructor({colors:o,...t}){this.size=11,this.outlineSize=1,this.collisionPadding=9,this.color=o.accent,this.outlineColor=o.outline,this.renderOccluded=16,this.hoverOutlineColor=o.selectedOutline,a(this,t)}applyColor(o){this._apply(this.color,o)}applyOutline(o){this._apply(this.outlineColor,o)}applyHoverOutline(o){this._apply(this.hoverOutlineColor,o)}_apply(o,t){t.setParameters({color:o.toUnitRGBA(),renderOccluded:this.renderOccluded})}}class u{constructor({colors:o,...t}){this.size=40,this.height=.2,this.offset=.25,this.collisionPadding=2,this.renderOccluded=2,this.minSquaredEdgeLength=900,this.color=i(o.accent,.5),this.hoverColor=o.accent,a(this,t)}applyColor(o){this._apply(this.color,o)}applyHover(o){this._apply(this.hoverColor,o)}_apply(o,t){t.setParameters({color:o.toUnitRGBA(),renderOccluded:this.renderOccluded})}}class g{constructor(o){this.vertex=new p({colors:o,color:o.accent,outlineColor:o.outline}),this.edge=new p({colors:o,color:s(i(o.accent,2/3),.5),outlineColor:i(o.outline,.5),size:8,collisionPadding:8}),this.selected=new p({colors:o,color:o.selected,outlineColor:o.outline}),this.edgeOffset=new u({colors:o})}}class f{constructor({colors:o,...t}){this.width=1.5,this.stipplePattern=c(3.3),this.falloff=0,this.innerWidth=1.5,this.renderOccluded=4,this.color=o.selected,this.stippleOffColor=o.outline,this.innerColor=o.selected,a(this,t)}apply(o){o.color=this.color.toUnitRGBA(),o.width=this.width,o.stipplePattern=this.stipplePattern,o.stippleOffColor=this.stippleOffColor.toUnitRGBA(),o.falloff=this.falloff,o.innerWidth=this.innerWidth,o.innerColor=this.innerColor.toUnitRGBA(),o.renderOccluded=this.renderOccluded}}class w{constructor({colors:o,...t}){this.size=4,this.outlineSize=1,this.shape="square",this.color=o.selected,this.outlineColor=o.outline,a(this,t)}apply(o){o.color=this.color.toUnitRGBA(),o.size=this.size,o.outlineSize=this.outlineSize,o.outlineColor=this.outlineColor.toUnitRGBA(),o.primitive=this.shape}}class C{constructor({colors:o,...t}){this.innerWidth=1,this.glowWidth=8,this.glowFalloff=8,this.globalAlpha=h,this.globalAlphaContrastBoost=1.5,this.radius=3,this.innerColor=o.selected,this.glowColor=o.accent,this.heightFillColor=o.accent,a(this,t)}apply(o,t=1){const e={glowColor:this.glowColor.toUnitRGB(),glowFalloff:this.glowFalloff,glowWidth:this.glowWidth,innerColor:this.innerColor.toUnitRGB(),innerWidth:this.innerWidth,globalAlpha:this.globalAlpha*t*this.glowColor.a,globalAlphaContrastBoost:this.globalAlphaContrastBoost,intersectsLineRadius:this.radius};"style"in o?o.style=e:o.laserlineStyle=e}}class y{constructor(o){this.outline=new f({colors:o,color:o.stippleOff,renderOccluded:8,stippleOffColor:o.stippleOn,innerWidth:0}),this.staged=new f({colors:o,color:o.stippleOn,renderOccluded:8,innerColor:o.stagedSolid,stippleOffColor:o.stippleOff}),this.shadowStyle=new C({colors:o,globalAlpha:h,glowColor:o.accent,glowFalloff:8,glowWidth:8,innerColor:o.selected,innerWidth:1})}}class O{constructor(o){this.outline=new w({colors:o,color:o.selected,outlineColor:o.outline,outlineSize:1,shape:"circle",size:4}),this.shadowStyle=new C({colors:o,globalAlpha:h,glowColor:o.accent,glowFalloff:1.5,glowWidth:6,innerColor:o.selected,innerWidth:1,radius:2})}}class m extends f{constructor({colors:o,...t}){super({colors:o}),this.extensionType=2,a(this,t)}}class A{constructor(o){this.laserlineAlphaMultiplier=1.5,this.heightPlaneAngleCutoff=20,this.lineObjects=new y(o),this.pointObjects=new O(o),this.heightPlane=new C({colors:o,globalAlpha:h,glowColor:o.accent,glowFalloff:8,glowWidth:8,innerColor:o.selected,innerWidth:1}),this.heightBox=new C({colors:o,globalAlpha:h,glowColor:o.accent,glowFalloff:8,glowWidth:8,innerColor:o.selected,innerWidth:0,heightFillColor:o.accent}),this.zVerticalLine=new m({colors:o,color:i(o.accent,5*h/3),falloff:2,innerColor:i(o.selected,0),renderOccluded:4,stipplePattern:null,width:5,extensionType:2})}}let W=class extends e{constructor(o){super(o)}get colors(){const o=this.getTheme().accentColor,e=o.a;return{accent:o,contrast:l(o),selected:t.fromArray([255,255,255,e]),selectedOutline:t.fromArray([255,255,255,e]),staged:t.fromArray([12,207,255,e]),stagedSolid:t.fromArray([12,207,255,1]),outline:t.fromArray([0,0,0,.5*e]),stippleOn:t.fromArray([255,255,255,1]),stippleOff:t.fromArray([0,0,0,.5])}}get visualElements(){return new A(this.colors)}get manipulators(){return new g(this.colors)}get zManipulator(){return new d(this.colors)}};o([r()],W.prototype,"colors",null),o([r()],W.prototype,"visualElements",null),o([r()],W.prototype,"manipulators",null),o([r()],W.prototype,"zManipulator",null),o([r()],W.prototype,"getTheme",void 0),W=o([n("esri.views.3d.interactive.editingTools.settings")],W);export{W 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/5.0/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../../Color.js";import{multiplyOpacityToUnitRGBA as e,colorEquals as i,getContrast as s}from"../../../../../core/colorUtils.js";import a from"../../../../../core/Handles.js";import"../../../../../core/has.js";import{destroyMaybe as r}from"../../../../../core/maybe.js";import{watch as o,sync as n}from"../../../../../core/reactiveUtils.js";import{screenPointObjectToArray as l}from"../../../../../core/screenUtils.js";import{create as h}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import _ from"../../../../../geometry/Point.js";import{Manipulator3D as u}from"../../Manipulator3D.js";import{createManipulatorMaterial as p}from"../../manipulatorUtils.js";import{RenderObject as c}from"../../RenderObject.js";import{PickResult as d}from"../support/PickRequest.js";import{LaserlineVisualElement as m}from"../../visualElements/LaserlineVisualElement.js";import{createSphereGeometry as w}from"../../../webgl-engine/lib/GeometryUtil.js";import{ManipulatorCollection as v}from"../../../../interactive/ManipulatorCollection.js";import{newToolIntersector as g}from"../../../../interactive/ToolIntersector.js";class y{constructor(t){this.vertexManipulators=[],this._destroyed=!1,this._isManipulatorsOwner=!0,this._visible=!0,this._listenerHandles=null,this._tempHandlePosition=h();const{analysisViewData:e,manipulators:i,toolState:s,view:a,visible:r}=t;this._analysisViewData=e,this._toolState=s,null!=i?(this._manipulators=i,this._isManipulatorsOwner=!1):this._manipulators=new v,this._view=a,this._intersector=g(a.state.viewingMode);const o=p(this._handleColor),n=[new c(w(o,1,32,32))],l=new u({view:a,renderObjects:n});l.available=!1,l.radius=D,l.interactive=!1,this._manipulators.add(l),this._cursorManipulator=l,this._cursorManipulatorMaterial=o,this._laserLine=new m({view:a,attached:!0,style:{glowWidth:V,glowFalloff:M,innerWidth:b},isDecoration:!0}),this._updateVisibility(r??!0)}destroy(){this._listenerHandles=r(this._listenerHandles),this._isManipulatorsOwner?this._manipulators=r(this._manipulators):this._manipulators=null,this._laserLine=r(this._laserLine),this._destroyed=!0}get destroyed(){return this._destroyed}get visible(){return this._visible}set visible(t){t?this.show():this.hide()}get testData(){}show(){this._setVisibility(!0)}hide(){this._setVisibility(!1)}_setVisibility(t){this._destroyed||this._visible===t||this._updateVisibility(t)}_updateVisibility(t){this._visible=t,this._laserLine.visible=t,t?(this._initializeListeners(),this._updateAll()):(this._destroyListeners(),this.vertexManipulators.forEach(({manipulator:t})=>this._removeVertexManipulator(t)),this.vertexManipulators=[])}vertexHandleAt(t,e){const i=this._manipulators.intersect(t,e);return i?.metadata}pick(t){const e=this._view.spatialReference,i=l(t.screenPoint);this._view.sceneIntersectionHelper.intersectToolIntersectorScreen(i,this._intersector);const s=this._intersector.results.min,a=h();if(!s.getIntersectionPoint(a))return null;const r=this._view.renderCoordsHelper.fromRenderCoords(a,new _({spatialReference:e}));return null==r?null:new d(a,r)}_updateAll(){this._visible&&(this._updateVertexManipulators(),this._updateLaserLine())}_createVertexManipulator(){const t=p(this._handleColor),e=[new c(w(t,1,32,32))],i=new u({view:this._view,renderObjects:e});return i.radius=D,this._manipulators.add(i),{manipulator:i,material:t}}_removeVertexManipulator(t){this._manipulators.remove(t)}_updateVertexManipulators(){const{viewData:t}=this._analysisViewData,e=this._analysisViewData.path?this._analysisViewData.path.vertices:[],i=this.vertexManipulators;f(i,e.length,()=>this._createVertexManipulator(),({manipulator:t})=>this._removeVertexManipulator(t)),i.forEach(({manipulator:i},s)=>{i.metadata=e[s],i.renderLocation=t.positionsRender[s],i.cursor=0===s&&"drawing"===this._toolState.polygonState?"crosshair":null}),"drawing"===this._toolState.polygonState&&null!=this._analysisViewData.stagedPoint?(this._cursorManipulator.available=!0,this._cursorManipulator.location=this._analysisViewData.stagedPoint):this._cursorManipulator.available=!1}get _handleColor(){return e(this._view.effectiveTheme.accentColor,.5)}_getFocusPoint(){const{lastDraggedVertex:t}=this._analysisViewData;switch(this._toolState.polygonState){case"drawing":return null!=this._analysisViewData.stagedPoint?this._analysisViewData.stagedPoint:null!=t?this._analysisViewData.path.getVertexPositionAsPoint(t):this._analysisViewData.path.lastPoint;case"editing":return null!=t?this._analysisViewData.path.getVertexPositionAsPoint(t):null;default:return this._analysisViewData.stagedPoint}}_updateLaserLine(){const t="measured"!==this._toolState.polygonState&&this._toolState.active,e=this._getFocusPoint();if(t&&null!=e){const t=this._tempHandlePosition;this._view.renderCoordsHelper.toRenderCoords(e,t),this._laserLine.heightManifoldTarget=t}else this._laserLine.heightManifoldTarget=null}_initializeListeners(){this._listenerHandles=new a,this._listenerHandles.add([o(()=>this._toolState.polygonState,()=>this._updateLaserLine()),o(()=>this._analysisViewData.viewData,()=>this._updateAll(),n),o(()=>({lastDraggedVertex:this._analysisViewData.lastDraggedVertex,cursorPoint:this._analysisViewData.stagedPoint}),()=>this._updateLaserLine()),o(()=>this._toolState.active,()=>this._updateAll()),o(()=>this._view.effectiveTheme.accentColor,i=>{const a=e(i,.5);for(const{material:t}of this.vertexManipulators)t.setParameters({color:a});this._cursorManipulatorMaterial.setParameters({color:a});const r=t.toUnitRGB(i),o=t.toUnitRGB(s(i)),n=.75*i.a,l=this._laserLine,h=l.style;l.style={...h,glowColor:r,innerColor:o,globalAlpha:n}},{initial:!0,equals:i})])}_destroyListeners(){this._listenerHandles=r(this._listenerHandles)}}function f(t,e,i,s){for(;t.length<e;)t.push(i());if(s)for(;t.length>e;){s(t.pop())}else t.length=e}const V=8,M=8,b=1,D=5;export{y as default};
5
+ import{multiplyOpacityToUnitRGBA as t,colorEquals as e,getContrast as i}from"../../../../../core/colorUtils.js";import s from"../../../../../core/Handles.js";import"../../../../../core/has.js";import{destroyMaybe as a}from"../../../../../core/maybe.js";import{watch as r,sync as o}from"../../../../../core/reactiveUtils.js";import{screenPointObjectToArray as n}from"../../../../../core/screenUtils.js";import{create as l}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import h from"../../../../../geometry/Point.js";import{Manipulator3D as _}from"../../Manipulator3D.js";import{createManipulatorMaterial as u}from"../../manipulatorUtils.js";import{RenderObject as p}from"../../RenderObject.js";import{PickResult as c}from"../support/PickRequest.js";import{LaserlineVisualElement as d}from"../../visualElements/LaserlineVisualElement.js";import{createSphereGeometry as m}from"../../../webgl-engine/lib/GeometryUtil.js";import{ManipulatorCollection as w}from"../../../../interactive/ManipulatorCollection.js";import{newToolIntersector as v}from"../../../../interactive/ToolIntersector.js";class g{constructor(t){this.vertexManipulators=[],this._destroyed=!1,this._isManipulatorsOwner=!0,this._visible=!0,this._listenerHandles=null,this._tempHandlePosition=l();const{analysisViewData:e,manipulators:i,toolState:s,view:a,visible:r}=t;this._analysisViewData=e,this._toolState=s,null!=i?(this._manipulators=i,this._isManipulatorsOwner=!1):this._manipulators=new w,this._view=a,this._intersector=v(a.state.viewingMode);const o=u(this._handleColor),n=[new p(m(o,1,32,32))],h=new _({view:a,renderObjects:n});h.available=!1,h.radius=b,h.interactive=!1,this._manipulators.add(h),this._cursorManipulator=h,this._cursorManipulatorMaterial=o,this._laserLine=new d({view:a,attached:!0,style:{glowWidth:f,glowFalloff:V,innerWidth:M},isDecoration:!0}),this._updateVisibility(r??!0)}destroy(){this._listenerHandles=a(this._listenerHandles),this._isManipulatorsOwner?this._manipulators=a(this._manipulators):this._manipulators=null,this._laserLine=a(this._laserLine),this._destroyed=!0}get destroyed(){return this._destroyed}get visible(){return this._visible}set visible(t){t?this.show():this.hide()}get testData(){}show(){this._setVisibility(!0)}hide(){this._setVisibility(!1)}_setVisibility(t){this._destroyed||this._visible===t||this._updateVisibility(t)}_updateVisibility(t){this._visible=t,this._laserLine.visible=t,t?(this._initializeListeners(),this._updateAll()):(this._destroyListeners(),this.vertexManipulators.forEach(({manipulator:t})=>this._removeVertexManipulator(t)),this.vertexManipulators=[])}vertexHandleAt(t,e){const i=this._manipulators.intersect(t,e);return i?.metadata}pick(t){const e=this._view.spatialReference,i=n(t.screenPoint);this._view.sceneIntersectionHelper.intersectToolIntersectorScreen(i,this._intersector);const s=this._intersector.results.min,a=l();if(!s.getIntersectionPoint(a))return null;const r=this._view.renderCoordsHelper.fromRenderCoords(a,new h({spatialReference:e}));return null==r?null:new c(a,r)}_updateAll(){this._visible&&(this._updateVertexManipulators(),this._updateLaserLine())}_createVertexManipulator(){const t=u(this._handleColor),e=[new p(m(t,1,32,32))],i=new _({view:this._view,renderObjects:e});return i.radius=b,this._manipulators.add(i),{manipulator:i,material:t}}_removeVertexManipulator(t){this._manipulators.remove(t)}_updateVertexManipulators(){const{viewData:t}=this._analysisViewData,e=this._analysisViewData.path?this._analysisViewData.path.vertices:[],i=this.vertexManipulators;y(i,e.length,()=>this._createVertexManipulator(),({manipulator:t})=>this._removeVertexManipulator(t)),i.forEach(({manipulator:i},s)=>{i.metadata=e[s],i.renderLocation=t.positionsRender[s],i.cursor=0===s&&"drawing"===this._toolState.polygonState?"crosshair":null}),"drawing"===this._toolState.polygonState&&null!=this._analysisViewData.stagedPoint?(this._cursorManipulator.available=!0,this._cursorManipulator.location=this._analysisViewData.stagedPoint):this._cursorManipulator.available=!1}get _handleColor(){return t(this._view.effectiveTheme.accentColor,.5)}_getFocusPoint(){const{lastDraggedVertex:t}=this._analysisViewData;switch(this._toolState.polygonState){case"drawing":return null!=this._analysisViewData.stagedPoint?this._analysisViewData.stagedPoint:null!=t?this._analysisViewData.path.getVertexPositionAsPoint(t):this._analysisViewData.path.lastPoint;case"editing":return null!=t?this._analysisViewData.path.getVertexPositionAsPoint(t):null;default:return this._analysisViewData.stagedPoint}}_updateLaserLine(){const t="measured"!==this._toolState.polygonState&&this._toolState.active,e=this._getFocusPoint();if(t&&null!=e){const t=this._tempHandlePosition;this._view.renderCoordsHelper.toRenderCoords(e,t),this._laserLine.heightManifoldTarget=t}else this._laserLine.heightManifoldTarget=null}_initializeListeners(){this._listenerHandles=new s,this._listenerHandles.add([r(()=>this._toolState.polygonState,()=>this._updateLaserLine()),r(()=>this._analysisViewData.viewData,()=>this._updateAll(),o),r(()=>({lastDraggedVertex:this._analysisViewData.lastDraggedVertex,cursorPoint:this._analysisViewData.stagedPoint}),()=>this._updateLaserLine()),r(()=>this._toolState.active,()=>this._updateAll()),r(()=>this._view.effectiveTheme.accentColor,e=>{const s=t(e,.5);for(const{material:t}of this.vertexManipulators)t.setParameters({color:s});this._cursorManipulatorMaterial.setParameters({color:s});const a=e.toUnitRGB(),r=i(e).toUnitRGB(),o=.75*e.a,n=this._laserLine,l=n.style;n.style={...l,glowColor:a,innerColor:r,globalAlpha:o}},{initial:!0,equals:e})])}_destroyListeners(){this._listenerHandles=a(this._listenerHandles)}}function y(t,e,i,s){for(;t.length<e;)t.push(i());if(s)for(;t.length>e;){s(t.pop())}else t.length=e}const f=8,V=8,M=1,b=5;export{g as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import e from"../../../../../Color.js";import i from"../../../../../core/Accessor.js";import{multiplyOpacityToUnitRGBA as s,getContrast as o,colorVectorEquals as n,colorVectorToColorAndOpacity as a}from"../../../../../core/colorUtils.js";import"../../../../../core/has.js";import{destroyMaybe as r}from"../../../../../core/maybe.js";import{watch as l,initial as h}from"../../../../../core/reactiveUtils.js";import{property as d,subclass as c}from"../../../../../core/accessorSupport/decorators.js";import{create as p}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromPoints as u}from"../../../../../geometry/support/lineSegment.js";import{Manipulator3D as m}from"../../Manipulator3D.js";import{createManipulatorMaterial as g}from"../../manipulatorUtils.js";import{RenderObject as _}from"../../RenderObject.js";import{LaserlineVisualElement as y}from"../../visualElements/LaserlineVisualElement.js";import{createSphereGeometry as v}from"../../../webgl-engine/lib/GeometryUtil.js";let b=class extends i{constructor(t){super(t),this.cursorPoint=null,this._visible=!1,this._laserLine=null,this.laserLineEnabled=!0,this._lastDraggedHandle=null}initialize(){this._laserLine=new y({view:this.view,attached:!0,isDecoration:!0}),this._updateVisibility(this._visible),this._connectToAnalysisView(),this.addHandles(l(()=>this._params,({laserLineGlowColor:t,laserLineInnerColor:e,laserLineGlobalAlpha:i})=>{const s=this._laserLine,o=s.style;s.style={...o,innerColor:e,glowColor:t,globalAlpha:i}}))}destroy(){this._laserLine=r(this._laserLine)}get _params(){const{accentColor:t}=this.view.effectiveTheme;return{laserLineGlowColor:e.toUnitRGB(t),laserLineGlowWidth:8,laserLineGlowFalloff:8,laserLineInnerColor:e.toUnitRGB(o(t)),laserLineInnerWidth:.75,laserLineGlobalAlpha:.75*t.a,handleColor:s(t,.5),handleRadius:5}}get visible(){return this._visible}set visible(t){t?this.show():this.hide()}get testData(){}get _cursorPosition(){const t=p(),e=this.cursorPoint;return e&&this.view.renderCoordsHelper.toRenderCoords(e,t),t}get _startPosition(){const t=p(),e=this.analysis.startPoint;return e&&this.view.renderCoordsHelper.toRenderCoords(e,t),t}get _endPosition(){const t=p(),e=this.analysis.endPoint;return e&&this.view.renderCoordsHelper.toRenderCoords(e,t),t}get _laserLineParams(){const t=this._focusPosition,{active:e,lineState:i}=this.toolState,s=this.analysisViewData,o=this.laserLineEnabled&&!!t&&"measured"!==i&&e;if(!o||!this.visible||null==s||s.destroyed)return{heightManifoldTarget:null,pointDistanceLine:null,lineVerticalPlaneSegment:null};const n=s.actualVisualizedMeasurement,a="local"!==this.view.viewingMode&&o&&!!this.analysis.startPoint&&"geodesic"===n,r=o&&2===s.viewMode;return{heightManifoldTarget:"euclidean"===n?t:null,pointDistanceLine:a?this._pointDistanceLine:null,lineVerticalPlaneSegment:r?u(this._startPosition,this._endPosition):null}}get _focusPosition(){const{lineState:t}=this.toolState,e=this.analysisViewData,i=null!=e&&!e.destroyed&&1===e.measurementMode&&1===e.viewMode;switch(t){case"drawing":return i?this._startPosition:this.analysis.endPoint?this._endPosition:this._startPosition;case"editing":return i?"start"===this._lastDraggedHandle?this._endPosition:this._startPosition:"start"===this._lastDraggedHandle?this._startPosition:this._endPosition;default:return null!=this.cursorPoint?this._cursorPosition:null}}get _pointDistanceLine(){return{origin:"drawing"===this.toolState.lineState||"end"===this._lastDraggedHandle?this._startPosition:this._endPosition,target:this._focusPosition}}createManipulators(){const t=this._params,{view:e}=this,i=()=>{const i=g(t.handleColor),s=[new _(v(i,1,32,32))],o=new m({view:e,renderObjects:s});return o.available=!1,o.radius=t.handleRadius,[o,i]},[s,o]=i(),[r,h]=i(),d=new m({view:this.view,available:!1,interactive:!1});null!=this.analysis.startPoint&&(s.location=this.analysis.startPoint,s.available=!0),null!=this.analysis.endPoint&&(r.location=this.analysis.endPoint,r.available=!0);const c=()=>{let t=this._lastDraggedHandle;s.grabbing&&!r.grabbing&&(t="start"),r.grabbing&&!s.grabbing&&(t="end"),s.grabbing||r.grabbing||(t=null),this._lastDraggedHandle=t},p=s.events.on("grab-changed",c),u=r.events.on("grab-changed",c);return this.addHandles([p,u,l(()=>a(this._params.handleColor),t=>{o.setParameters({color:t}),h.setParameters({color:t})},{equals:n})],"manipulators"),{start:s,end:r,cursor:d}}show(){this.destroyed||this._visible||this._updateVisibility(!0)}hide(){!this.destroyed&&this._visible&&this._updateVisibility(!1)}_connectToAnalysisView(){this.removeHandles("analysis-view"),this.addHandles([l(()=>this.analysisViewData?.destroyed,t=>{t&&this.removeHandles("analysis-view")},h),l(()=>["measured"===this.toolState.lineState,this.analysisViewData],([t,e])=>{null==e||e.destroyed||(e.allowVisualElementsOrientationChange=!t)},h),l(()=>this._laserLineParams,t=>{const e=this._laserLine;e.heightManifoldTarget=t.heightManifoldTarget,e.pointDistanceLine=t.pointDistanceLine,e.lineVerticalPlaneSegment=t.lineVerticalPlaneSegment},h)],"analysis-view")}_updateVisibility(t){this.initialized&&(this._visible=t,t&&(this._laserLine.style={innerColor:this._params.laserLineInnerColor,innerWidth:this._params.laserLineInnerWidth,glowColor:this._params.laserLineGlowColor,glowWidth:this._params.laserLineGlowWidth,glowFalloff:this._params.laserLineGlowFalloff,globalAlpha:this._params.laserLineGlobalAlpha}),this._laserLine.visible=t)}};t([d({constructOnly:!0})],b.prototype,"view",void 0),t([d()],b.prototype,"_params",null),t([d({constructOnly:!0})],b.prototype,"analysis",void 0),t([d({constructOnly:!0})],b.prototype,"analysisViewData",void 0),t([d()],b.prototype,"cursorPoint",void 0),t([d()],b.prototype,"toolState",void 0),t([d()],b.prototype,"visible",null),t([d()],b.prototype,"testData",null),t([d()],b.prototype,"_visible",void 0),t([d()],b.prototype,"_laserLine",void 0),t([d({constructOnly:!0})],b.prototype,"laserLineEnabled",void 0),t([d()],b.prototype,"_cursorPosition",null),t([d()],b.prototype,"_startPosition",null),t([d()],b.prototype,"_endPosition",null),t([d()],b.prototype,"_lastDraggedHandle",void 0),t([d()],b.prototype,"_laserLineParams",null),t([d()],b.prototype,"_focusPosition",null),t([d()],b.prototype,"_pointDistanceLine",null),b=t([c("esri.views.3d.interactive.measurementTools.directLineMeasurement3D.DirectLineMeasurement3DView")],b);export{b as DirectLineMeasurement3DView};
5
+ import{__decorate as t}from"tslib";import e from"../../../../../core/Accessor.js";import{multiplyOpacityToUnitRGBA as i,getContrast as s,colorVectorEquals as o,colorVectorToColorAndOpacity as n}from"../../../../../core/colorUtils.js";import"../../../../../core/has.js";import{destroyMaybe as a}from"../../../../../core/maybe.js";import{watch as r,initial as l}from"../../../../../core/reactiveUtils.js";import{property as h,subclass as d}from"../../../../../core/accessorSupport/decorators.js";import{create as c}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromPoints as p}from"../../../../../geometry/support/lineSegment.js";import{Manipulator3D as u}from"../../Manipulator3D.js";import{createManipulatorMaterial as g}from"../../manipulatorUtils.js";import{RenderObject as m}from"../../RenderObject.js";import{LaserlineVisualElement as _}from"../../visualElements/LaserlineVisualElement.js";import{createSphereGeometry as y}from"../../../webgl-engine/lib/GeometryUtil.js";let v=class extends e{constructor(t){super(t),this.cursorPoint=null,this._visible=!1,this._laserLine=null,this.laserLineEnabled=!0,this._lastDraggedHandle=null}initialize(){this._laserLine=new _({view:this.view,attached:!0,isDecoration:!0}),this._updateVisibility(this._visible),this._connectToAnalysisView(),this.addHandles(r(()=>this._params,({laserLineGlowColor:t,laserLineInnerColor:e,laserLineGlobalAlpha:i})=>{const s=this._laserLine,o=s.style;s.style={...o,innerColor:e,glowColor:t,globalAlpha:i}}))}destroy(){this._laserLine=a(this._laserLine)}get _params(){const{accentColor:t}=this.view.effectiveTheme;return{laserLineGlowColor:t.toUnitRGB(),laserLineGlowWidth:8,laserLineGlowFalloff:8,laserLineInnerColor:s(t).toUnitRGB(),laserLineInnerWidth:.75,laserLineGlobalAlpha:.75*t.a,handleColor:i(t,.5),handleRadius:5}}get visible(){return this._visible}set visible(t){t?this.show():this.hide()}get testData(){}get _cursorPosition(){const t=c(),e=this.cursorPoint;return e&&this.view.renderCoordsHelper.toRenderCoords(e,t),t}get _startPosition(){const t=c(),e=this.analysis.startPoint;return e&&this.view.renderCoordsHelper.toRenderCoords(e,t),t}get _endPosition(){const t=c(),e=this.analysis.endPoint;return e&&this.view.renderCoordsHelper.toRenderCoords(e,t),t}get _laserLineParams(){const t=this._focusPosition,{active:e,lineState:i}=this.toolState,s=this.analysisViewData,o=this.laserLineEnabled&&!!t&&"measured"!==i&&e;if(!o||!this.visible||null==s||s.destroyed)return{heightManifoldTarget:null,pointDistanceLine:null,lineVerticalPlaneSegment:null};const n=s.actualVisualizedMeasurement,a="local"!==this.view.viewingMode&&o&&!!this.analysis.startPoint&&"geodesic"===n,r=o&&2===s.viewMode;return{heightManifoldTarget:"euclidean"===n?t:null,pointDistanceLine:a?this._pointDistanceLine:null,lineVerticalPlaneSegment:r?p(this._startPosition,this._endPosition):null}}get _focusPosition(){const{lineState:t}=this.toolState,e=this.analysisViewData,i=null!=e&&!e.destroyed&&1===e.measurementMode&&1===e.viewMode;switch(t){case"drawing":return i?this._startPosition:this.analysis.endPoint?this._endPosition:this._startPosition;case"editing":return i?"start"===this._lastDraggedHandle?this._endPosition:this._startPosition:"start"===this._lastDraggedHandle?this._startPosition:this._endPosition;default:return null!=this.cursorPoint?this._cursorPosition:null}}get _pointDistanceLine(){return{origin:"drawing"===this.toolState.lineState||"end"===this._lastDraggedHandle?this._startPosition:this._endPosition,target:this._focusPosition}}createManipulators(){const t=this._params,{view:e}=this,i=()=>{const i=g(t.handleColor),s=[new m(y(i,1,32,32))],o=new u({view:e,renderObjects:s});return o.available=!1,o.radius=t.handleRadius,[o,i]},[s,a]=i(),[l,h]=i(),d=new u({view:this.view,available:!1,interactive:!1});null!=this.analysis.startPoint&&(s.location=this.analysis.startPoint,s.available=!0),null!=this.analysis.endPoint&&(l.location=this.analysis.endPoint,l.available=!0);const c=()=>{let t=this._lastDraggedHandle;s.grabbing&&!l.grabbing&&(t="start"),l.grabbing&&!s.grabbing&&(t="end"),s.grabbing||l.grabbing||(t=null),this._lastDraggedHandle=t},p=s.events.on("grab-changed",c),_=l.events.on("grab-changed",c);return this.addHandles([p,_,r(()=>n(this._params.handleColor),t=>{a.setParameters({color:t}),h.setParameters({color:t})},{equals:o})],"manipulators"),{start:s,end:l,cursor:d}}show(){this.destroyed||this._visible||this._updateVisibility(!0)}hide(){!this.destroyed&&this._visible&&this._updateVisibility(!1)}_connectToAnalysisView(){this.removeHandles("analysis-view"),this.addHandles([r(()=>this.analysisViewData?.destroyed,t=>{t&&this.removeHandles("analysis-view")},l),r(()=>["measured"===this.toolState.lineState,this.analysisViewData],([t,e])=>{null==e||e.destroyed||(e.allowVisualElementsOrientationChange=!t)},l),r(()=>this._laserLineParams,t=>{const e=this._laserLine;e.heightManifoldTarget=t.heightManifoldTarget,e.pointDistanceLine=t.pointDistanceLine,e.lineVerticalPlaneSegment=t.lineVerticalPlaneSegment},l)],"analysis-view")}_updateVisibility(t){this.initialized&&(this._visible=t,t&&(this._laserLine.style={innerColor:this._params.laserLineInnerColor,innerWidth:this._params.laserLineInnerWidth,glowColor:this._params.laserLineGlowColor,glowWidth:this._params.laserLineGlowWidth,glowFalloff:this._params.laserLineGlowFalloff,globalAlpha:this._params.laserLineGlobalAlpha}),this._laserLine.visible=t)}};t([h({constructOnly:!0})],v.prototype,"view",void 0),t([h()],v.prototype,"_params",null),t([h({constructOnly:!0})],v.prototype,"analysis",void 0),t([h({constructOnly:!0})],v.prototype,"analysisViewData",void 0),t([h()],v.prototype,"cursorPoint",void 0),t([h()],v.prototype,"toolState",void 0),t([h()],v.prototype,"visible",null),t([h()],v.prototype,"testData",null),t([h()],v.prototype,"_visible",void 0),t([h()],v.prototype,"_laserLine",void 0),t([h({constructOnly:!0})],v.prototype,"laserLineEnabled",void 0),t([h()],v.prototype,"_cursorPosition",null),t([h()],v.prototype,"_startPosition",null),t([h()],v.prototype,"_endPosition",null),t([h()],v.prototype,"_lastDraggedHandle",void 0),t([h()],v.prototype,"_laserLineParams",null),t([h()],v.prototype,"_focusPosition",null),t([h()],v.prototype,"_pointDistanceLine",null),v=t([d("esri.views.3d.interactive.measurementTools.directLineMeasurement3D.DirectLineMeasurement3DView")],v);export{v as DirectLineMeasurement3DView};