@itwin/frontend-devtools 5.0.0-dev.11 → 5.0.0-dev.111

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 (266) hide show
  1. package/CHANGELOG.md +71 -1
  2. package/README.md +1 -1
  3. package/lib/cjs/ClipboardUtilities.js.map +1 -1
  4. package/lib/cjs/FrontEndDevTools.js +1 -1
  5. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  6. package/lib/cjs/effects/Convolution.js +23 -23
  7. package/lib/cjs/effects/Convolution.js.map +1 -1
  8. package/lib/cjs/effects/EffectTools.js +2 -2
  9. package/lib/cjs/effects/EffectTools.js.map +1 -1
  10. package/lib/cjs/effects/Explosion.js +37 -25
  11. package/lib/cjs/effects/Explosion.js.map +1 -1
  12. package/lib/cjs/effects/FlipImage.js +22 -22
  13. package/lib/cjs/effects/FlipImage.js.map +1 -1
  14. package/lib/cjs/effects/LensDistortion.js +25 -25
  15. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  16. package/lib/cjs/effects/Random.js.map +1 -1
  17. package/lib/cjs/effects/Saturation.js +30 -30
  18. package/lib/cjs/effects/Saturation.js.map +1 -1
  19. package/lib/cjs/effects/Snow.d.ts +1 -1
  20. package/lib/cjs/effects/Snow.d.ts.map +1 -1
  21. package/lib/cjs/effects/Snow.js +19 -8
  22. package/lib/cjs/effects/Snow.js.map +1 -1
  23. package/lib/cjs/effects/Vignette.js +41 -41
  24. package/lib/cjs/effects/Vignette.js.map +1 -1
  25. package/lib/cjs/frontend-devtools.js.map +1 -1
  26. package/lib/cjs/tools/AnimationIntervalTool.js +1 -1
  27. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  28. package/lib/cjs/tools/ChangeUnitsTool.js +1 -1
  29. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  30. package/lib/cjs/tools/ClipTools.js +6 -8
  31. package/lib/cjs/tools/ClipTools.js.map +1 -1
  32. package/lib/cjs/tools/DisplayStyleTools.js +21 -25
  33. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  34. package/lib/cjs/tools/EmphasizeElementsTool.js +7 -13
  35. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  36. package/lib/cjs/tools/FrustumDecoration.js +28 -9
  37. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  38. package/lib/cjs/tools/InspectElementTool.js +7 -6
  39. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  40. package/lib/cjs/tools/MapLayerTool.d.ts +1 -1
  41. package/lib/cjs/tools/MapLayerTool.d.ts.map +1 -1
  42. package/lib/cjs/tools/MapLayerTool.js +36 -25
  43. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  44. package/lib/cjs/tools/MeasureTileLoadTime.js +4 -1
  45. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  46. package/lib/cjs/tools/ModelAppearanceTools.js +9 -9
  47. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  48. package/lib/cjs/tools/PlanProjectionTools.js +8 -15
  49. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  50. package/lib/cjs/tools/PlanarMaskTools.js +21 -26
  51. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  52. package/lib/cjs/tools/ProjectExtents.js +6 -3
  53. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  54. package/lib/cjs/tools/RealityModelTools.js +10 -10
  55. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  56. package/lib/cjs/tools/RealityTransitionTool.js +1 -1
  57. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  58. package/lib/cjs/tools/RenderSystemTools.js +4 -3
  59. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  60. package/lib/cjs/tools/RenderTargetTools.d.ts +1 -1
  61. package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -1
  62. package/lib/cjs/tools/RenderTargetTools.js +15 -20
  63. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  64. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +1 -1
  65. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  66. package/lib/cjs/tools/SavedViews.js +4 -7
  67. package/lib/cjs/tools/SavedViews.js.map +1 -1
  68. package/lib/cjs/tools/ScheduleScriptTools.d.ts.map +1 -1
  69. package/lib/cjs/tools/ScheduleScriptTools.js +11 -12
  70. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  71. package/lib/cjs/tools/SelectionTools.js +4 -6
  72. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  73. package/lib/cjs/tools/SetGpuMemoryLimitTool.js +1 -1
  74. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  75. package/lib/cjs/tools/SourceAspectIdTools.js +2 -2
  76. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  77. package/lib/cjs/tools/TileRequestDecoration.js +6 -3
  78. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  79. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts.map +1 -1
  80. package/lib/cjs/tools/TileTreeBoundsDecoration.js +8 -4
  81. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  82. package/lib/cjs/tools/ToolTipProvider.d.ts.map +1 -1
  83. package/lib/cjs/tools/ToolTipProvider.js +7 -1
  84. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  85. package/lib/cjs/tools/ViewportTools.js +22 -19
  86. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  87. package/lib/cjs/tools/parseArgs.js.map +1 -1
  88. package/lib/cjs/tools/parseBoolean.js.map +1 -1
  89. package/lib/cjs/tools/parseToggle.js.map +1 -1
  90. package/lib/cjs/ui/Button.js.map +1 -1
  91. package/lib/cjs/ui/CheckBox.js.map +1 -1
  92. package/lib/cjs/ui/ColorInput.js.map +1 -1
  93. package/lib/cjs/ui/ComboBox.js.map +1 -1
  94. package/lib/cjs/ui/DataList.js.map +1 -1
  95. package/lib/cjs/ui/NestedMenu.js.map +1 -1
  96. package/lib/cjs/ui/NumericInput.js.map +1 -1
  97. package/lib/cjs/ui/RadioBox.js.map +1 -1
  98. package/lib/cjs/ui/Slider.js.map +1 -1
  99. package/lib/cjs/ui/TextBox.js.map +1 -1
  100. package/lib/cjs/widgets/DiagnosticsPanel.d.ts +1 -1
  101. package/lib/cjs/widgets/DiagnosticsPanel.d.ts.map +1 -1
  102. package/lib/cjs/widgets/DiagnosticsPanel.js +11 -1
  103. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
  104. package/lib/cjs/widgets/FpsTracker.d.ts +1 -1
  105. package/lib/cjs/widgets/FpsTracker.d.ts.map +1 -1
  106. package/lib/cjs/widgets/FpsTracker.js +5 -1
  107. package/lib/cjs/widgets/FpsTracker.js.map +1 -1
  108. package/lib/cjs/widgets/GpuProfiler.d.ts +1 -1
  109. package/lib/cjs/widgets/GpuProfiler.d.ts.map +1 -1
  110. package/lib/cjs/widgets/GpuProfiler.js +89 -82
  111. package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
  112. package/lib/cjs/widgets/KeyinField.js +8 -1
  113. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  114. package/lib/cjs/widgets/MemoryTracker.d.ts +1 -1
  115. package/lib/cjs/widgets/MemoryTracker.d.ts.map +1 -1
  116. package/lib/cjs/widgets/MemoryTracker.js +16 -4
  117. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  118. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +1 -1
  119. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts.map +1 -1
  120. package/lib/cjs/widgets/RenderCommandBreakdown.js +6 -2
  121. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  122. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +1 -1
  123. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts.map +1 -1
  124. package/lib/cjs/widgets/TileMemoryBreakdown.js +10 -8
  125. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  126. package/lib/cjs/widgets/TileStatisticsTracker.d.ts +1 -1
  127. package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -1
  128. package/lib/cjs/widgets/TileStatisticsTracker.js +5 -2
  129. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  130. package/lib/cjs/widgets/ToolSettingsTracker.d.ts +1 -1
  131. package/lib/cjs/widgets/ToolSettingsTracker.d.ts.map +1 -1
  132. package/lib/cjs/widgets/ToolSettingsTracker.js +2 -2
  133. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  134. package/lib/esm/ClipboardUtilities.js.map +1 -1
  135. package/lib/esm/FrontEndDevTools.js +1 -1
  136. package/lib/esm/FrontEndDevTools.js.map +1 -1
  137. package/lib/esm/effects/Convolution.js +23 -23
  138. package/lib/esm/effects/Convolution.js.map +1 -1
  139. package/lib/esm/effects/EffectTools.js +2 -2
  140. package/lib/esm/effects/EffectTools.js.map +1 -1
  141. package/lib/esm/effects/Explosion.js +37 -25
  142. package/lib/esm/effects/Explosion.js.map +1 -1
  143. package/lib/esm/effects/FlipImage.js +22 -22
  144. package/lib/esm/effects/FlipImage.js.map +1 -1
  145. package/lib/esm/effects/LensDistortion.js +25 -25
  146. package/lib/esm/effects/LensDistortion.js.map +1 -1
  147. package/lib/esm/effects/Random.js.map +1 -1
  148. package/lib/esm/effects/Saturation.js +30 -30
  149. package/lib/esm/effects/Saturation.js.map +1 -1
  150. package/lib/esm/effects/Snow.d.ts +1 -1
  151. package/lib/esm/effects/Snow.d.ts.map +1 -1
  152. package/lib/esm/effects/Snow.js +19 -8
  153. package/lib/esm/effects/Snow.js.map +1 -1
  154. package/lib/esm/effects/Vignette.js +41 -41
  155. package/lib/esm/effects/Vignette.js.map +1 -1
  156. package/lib/esm/frontend-devtools.js.map +1 -1
  157. package/lib/esm/tools/AnimationIntervalTool.js +1 -1
  158. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  159. package/lib/esm/tools/ChangeUnitsTool.js +1 -1
  160. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  161. package/lib/esm/tools/ClipTools.js +6 -8
  162. package/lib/esm/tools/ClipTools.js.map +1 -1
  163. package/lib/esm/tools/DisplayStyleTools.js +21 -25
  164. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  165. package/lib/esm/tools/EmphasizeElementsTool.js +7 -13
  166. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  167. package/lib/esm/tools/FrustumDecoration.js +28 -9
  168. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  169. package/lib/esm/tools/InspectElementTool.js +7 -6
  170. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  171. package/lib/esm/tools/MapLayerTool.d.ts +1 -1
  172. package/lib/esm/tools/MapLayerTool.d.ts.map +1 -1
  173. package/lib/esm/tools/MapLayerTool.js +37 -26
  174. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  175. package/lib/esm/tools/MeasureTileLoadTime.js +4 -1
  176. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  177. package/lib/esm/tools/ModelAppearanceTools.js +9 -9
  178. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  179. package/lib/esm/tools/PlanProjectionTools.js +8 -15
  180. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  181. package/lib/esm/tools/PlanarMaskTools.js +21 -26
  182. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  183. package/lib/esm/tools/ProjectExtents.js +6 -3
  184. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  185. package/lib/esm/tools/RealityModelTools.js +10 -10
  186. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  187. package/lib/esm/tools/RealityTransitionTool.js +1 -1
  188. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  189. package/lib/esm/tools/RenderSystemTools.js +4 -3
  190. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  191. package/lib/esm/tools/RenderTargetTools.d.ts +1 -1
  192. package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -1
  193. package/lib/esm/tools/RenderTargetTools.js +15 -20
  194. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  195. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +1 -1
  196. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  197. package/lib/esm/tools/SavedViews.js +4 -7
  198. package/lib/esm/tools/SavedViews.js.map +1 -1
  199. package/lib/esm/tools/ScheduleScriptTools.d.ts.map +1 -1
  200. package/lib/esm/tools/ScheduleScriptTools.js +11 -12
  201. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  202. package/lib/esm/tools/SelectionTools.js +4 -6
  203. package/lib/esm/tools/SelectionTools.js.map +1 -1
  204. package/lib/esm/tools/SetGpuMemoryLimitTool.js +1 -1
  205. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  206. package/lib/esm/tools/SourceAspectIdTools.js +2 -2
  207. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  208. package/lib/esm/tools/TileRequestDecoration.js +6 -3
  209. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  210. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts.map +1 -1
  211. package/lib/esm/tools/TileTreeBoundsDecoration.js +8 -4
  212. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  213. package/lib/esm/tools/ToolTipProvider.d.ts.map +1 -1
  214. package/lib/esm/tools/ToolTipProvider.js +7 -1
  215. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  216. package/lib/esm/tools/ViewportTools.js +22 -19
  217. package/lib/esm/tools/ViewportTools.js.map +1 -1
  218. package/lib/esm/tools/parseArgs.js.map +1 -1
  219. package/lib/esm/tools/parseBoolean.js.map +1 -1
  220. package/lib/esm/tools/parseToggle.js.map +1 -1
  221. package/lib/esm/ui/Button.js.map +1 -1
  222. package/lib/esm/ui/CheckBox.js.map +1 -1
  223. package/lib/esm/ui/ColorInput.js.map +1 -1
  224. package/lib/esm/ui/ComboBox.js.map +1 -1
  225. package/lib/esm/ui/DataList.js.map +1 -1
  226. package/lib/esm/ui/NestedMenu.js.map +1 -1
  227. package/lib/esm/ui/NumericInput.js.map +1 -1
  228. package/lib/esm/ui/RadioBox.js.map +1 -1
  229. package/lib/esm/ui/Slider.js.map +1 -1
  230. package/lib/esm/ui/TextBox.js.map +1 -1
  231. package/lib/esm/widgets/DiagnosticsPanel.d.ts +1 -1
  232. package/lib/esm/widgets/DiagnosticsPanel.d.ts.map +1 -1
  233. package/lib/esm/widgets/DiagnosticsPanel.js +11 -1
  234. package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
  235. package/lib/esm/widgets/FpsTracker.d.ts +1 -1
  236. package/lib/esm/widgets/FpsTracker.d.ts.map +1 -1
  237. package/lib/esm/widgets/FpsTracker.js +5 -1
  238. package/lib/esm/widgets/FpsTracker.js.map +1 -1
  239. package/lib/esm/widgets/GpuProfiler.d.ts +1 -1
  240. package/lib/esm/widgets/GpuProfiler.d.ts.map +1 -1
  241. package/lib/esm/widgets/GpuProfiler.js +89 -82
  242. package/lib/esm/widgets/GpuProfiler.js.map +1 -1
  243. package/lib/esm/widgets/KeyinField.js +8 -1
  244. package/lib/esm/widgets/KeyinField.js.map +1 -1
  245. package/lib/esm/widgets/MemoryTracker.d.ts +1 -1
  246. package/lib/esm/widgets/MemoryTracker.d.ts.map +1 -1
  247. package/lib/esm/widgets/MemoryTracker.js +16 -4
  248. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  249. package/lib/esm/widgets/RenderCommandBreakdown.d.ts +1 -1
  250. package/lib/esm/widgets/RenderCommandBreakdown.d.ts.map +1 -1
  251. package/lib/esm/widgets/RenderCommandBreakdown.js +6 -2
  252. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  253. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +1 -1
  254. package/lib/esm/widgets/TileMemoryBreakdown.d.ts.map +1 -1
  255. package/lib/esm/widgets/TileMemoryBreakdown.js +10 -8
  256. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  257. package/lib/esm/widgets/TileStatisticsTracker.d.ts +1 -1
  258. package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -1
  259. package/lib/esm/widgets/TileStatisticsTracker.js +5 -2
  260. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  261. package/lib/esm/widgets/ToolSettingsTracker.d.ts +1 -1
  262. package/lib/esm/widgets/ToolSettingsTracker.d.ts.map +1 -1
  263. package/lib/esm/widgets/ToolSettingsTracker.js +2 -2
  264. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  265. package/lib/public/locales/en/FrontendDevTools.json +494 -494
  266. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"InspectElementTool.js","sourceRoot":"","sources":["../../../src/tools/InspectElementTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { BentleyError, Id64, Id64Array, Id64String } from \"@itwin/core-bentley\";\r\nimport { GeometrySummaryOptions, GeometrySummaryVerbosity, IModelReadRpcInterface } from \"@itwin/core-common\";\r\nimport {\r\n BeButtonEvent, CoreTools, EventHandled, HitDetail, IModelApp, LocateFilterStatus, LocateResponse, MessageBoxIconType, MessageBoxType,\r\n NotifyMessageDetails, OutputMessagePriority, PrimitiveTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\r\nimport { parseArgs } from \"./parseArgs\";\r\n\r\n/** Creates a readable text summary of a geometric element or geometry part. The keyin takes the following arguments, all of which are optional:\r\n * - `id=elementId,elementId,elementId` comma-separated list of element Ids where each `elementId` is a hexadecimal element Id such as \"0x12cb\";\r\n * - `symbology=0|1` where 1 indicates detailed symbology information should be included in the output;\r\n * - `placement=0|1` where 1 indicates detailed geometric element placement should be included; and\r\n * - `verbosity=0|1|2` controlling the verbosity of the output for each geometric primitive in the geometry stream. Higher values = more detailed information. Note verbosity=2 can produce megabytes of data for certain types of geometric primitives like large meshes.\r\n * - `modal=0|1` where 1 indicates the output should appear in a modal dialog.\r\n * - `copy=0|1` where 1 indicates the output should be copied to the clipboard. Defaults to true.\r\n * - `refs=0|1` where 1 indicates that for geometry parts a list of all elements referencing that part should be included in the output. This is extremely computationally expensive.\r\n * If no id is specified, the tool runs in interactive mode: first operating upon the selection set (if any), then allowing the user to select additional elements.\r\n * @beta\r\n */\r\nexport class InspectElementTool extends PrimitiveTool {\r\n public static override toolId = \"InspectElement\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 6; }\r\n\r\n private _options: GeometrySummaryOptions = {};\r\n private _elementIds?: Id64String[];\r\n private _modal = false;\r\n private _useSelection = false;\r\n private _doCopy = false;\r\n private _explodeParts = false;\r\n\r\n constructor(options?: GeometrySummaryOptions, elementIds?: Id64String[]) {\r\n super();\r\n if (undefined !== options)\r\n this._options = { ...options };\r\n\r\n this._elementIds = elementIds;\r\n }\r\n\r\n private setupAndPromptForNextAction(): void {\r\n this._useSelection = (undefined !== this.targetView && this.targetView.iModel.selectionSet.isActive);\r\n if (!this._useSelection)\r\n IModelApp.accuSnap.enableLocate(true);\r\n\r\n this.showPrompt();\r\n }\r\n\r\n private showPrompt(): void {\r\n CoreTools.outputPromptByKey(this._useSelection ? \"ElementSet.Prompts.ConfirmSelection\" : \"ElementSet.Prompts.IdentifyElement\");\r\n }\r\n\r\n public override autoLockTarget(): void { }\r\n\r\n public override requireWriteableTarget(): boolean { return false; }\r\n\r\n public override async onUnsuspend() {\r\n this.showPrompt();\r\n }\r\n\r\n public override async onPostInstall() {\r\n await super.onPostInstall();\r\n\r\n if (undefined !== this._elementIds)\r\n this.process(this._elementIds).then(async () => {\r\n await this.onReinitialize();\r\n }).catch((err) => {\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, err.toString()));\r\n });\r\n else {\r\n this.setupAndPromptForNextAction();\r\n }\r\n }\r\n\r\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\r\n if (this._useSelection) {\r\n if (undefined !== ev.viewport) {\r\n const ids: Id64Array = [];\r\n ev.viewport.iModel.selectionSet.elements.forEach((id) => {\r\n if (!Id64.isInvalid(id) && !Id64.isTransient(id))\r\n ids.push(id);\r\n });\r\n\r\n if (0 === ids.length)\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, CoreTools.translate(\"ElementSet.Error.NotSupportedElmType\")));\r\n else\r\n await this.process(ids);\r\n\r\n await this.onReinitialize();\r\n return EventHandled.Yes;\r\n }\r\n }\r\n\r\n const hit = await IModelApp.locateManager.doLocate(new LocateResponse(), true, ev.point, ev.viewport, ev.inputSource);\r\n if (undefined === hit || !hit.isElementHit)\r\n return EventHandled.No;\r\n\r\n await this.process([hit.sourceId]);\r\n this.setupAndPromptForNextAction();\r\n return EventHandled.No;\r\n }\r\n\r\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\r\n await this.onReinitialize();\r\n return EventHandled.No;\r\n }\r\n\r\n public override async onReinitialize() {\r\n if (this._useSelection || undefined !== this._elementIds) {\r\n await this.exitTool();\r\n } else {\r\n await this.onRestartTool();\r\n }\r\n }\r\n\r\n public async onRestartTool() {\r\n const tool = new InspectElementTool();\r\n if (!await tool.run())\r\n return this.exitTool();\r\n }\r\n\r\n public override async filterHit(hit: HitDetail, _out: LocateResponse): Promise<LocateFilterStatus> {\r\n return hit.isElementHit ? LocateFilterStatus.Accept : LocateFilterStatus.Reject;\r\n }\r\n\r\n private async process(elementIds: Id64String[]) {\r\n const request = {\r\n elementIds,\r\n options: this._options,\r\n };\r\n let messageDetails: NotifyMessageDetails;\r\n try {\r\n let str = await IModelReadRpcInterface.getClientForRouting(this.iModel.routingContext.token).getGeometrySummary(this.iModel.getRpcProps(), request);\r\n if (this._explodeParts) {\r\n const regex = /^part id: (0x[a-f0-9]+)/gm;\r\n const partIds = new Set<string>();\r\n let match;\r\n while (null !== (match = regex.exec(str)))\r\n partIds.add(match[1]);\r\n\r\n if (partIds.size > 0) {\r\n request.elementIds = Array.from(partIds);\r\n str += `\\npart ids: ${JSON.stringify(request.elementIds)}\\n`;\r\n str += await IModelReadRpcInterface.getClientForRouting(this.iModel.routingContext.token).getGeometrySummary(this.iModel.getRpcProps(), request);\r\n }\r\n }\r\n\r\n if (this._doCopy)\r\n copyStringToClipboard(str);\r\n\r\n const brief = `Summary ${this._doCopy ? \"copied to clipboard.\" : \"complete.\"}`;\r\n messageDetails = new NotifyMessageDetails(OutputMessagePriority.Info, brief, str);\r\n\r\n if (this._modal) {\r\n const div = document.createElement(\"div\");\r\n const appendText = (toAppend: string) => {\r\n const txt = document.createElement(\"div\");\r\n txt.innerText = toAppend;\r\n div.append(txt);\r\n };\r\n\r\n const lines = str.split(\"\\n\");\r\n const maxLines = 30;\r\n let curLine = 0;\r\n for (const line of lines) {\r\n appendText(line);\r\n if (++curLine > maxLines) {\r\n appendText(\"...\");\r\n break;\r\n }\r\n }\r\n\r\n await IModelApp.notifications.openMessageBox(MessageBoxType.Ok, div, MessageBoxIconType.Information);\r\n }\r\n } catch (err) {\r\n messageDetails = new NotifyMessageDetails(OutputMessagePriority.Error, \"Error occurred while generating summary\", BentleyError.getErrorMessage(err));\r\n }\r\n\r\n IModelApp.notifications.outputMessage(messageDetails);\r\n }\r\n\r\n public override async parseAndRun(...inputArgs: string[]): Promise<boolean> {\r\n const args = parseArgs(inputArgs);\r\n const ids = args.get(\"i\");\r\n if (undefined !== ids)\r\n this._elementIds = ids.split(\",\");\r\n\r\n const verbosity = args.getInteger(\"v\");\r\n if (undefined !== verbosity) {\r\n switch (verbosity) {\r\n case 0:\r\n this._options.geometryVerbosity = GeometrySummaryVerbosity.Basic;\r\n break;\r\n case 1:\r\n this._options.geometryVerbosity = GeometrySummaryVerbosity.Detailed;\r\n break;\r\n case 2:\r\n this._options.geometryVerbosity = GeometrySummaryVerbosity.Full;\r\n break;\r\n }\r\n }\r\n\r\n const symbology = args.getBoolean(\"s\");\r\n if (undefined !== symbology)\r\n this._options.verboseSymbology = symbology;\r\n\r\n const placement = args.getBoolean(\"p\");\r\n if (undefined !== placement)\r\n this._options.includePlacement = placement;\r\n\r\n const parts = args.getBoolean(\"r\");\r\n if (true === parts && undefined !== IModelApp.viewManager.selectedView)\r\n this._options.includePartReferences = IModelApp.viewManager.selectedView.view.is3d() ? \"3d\" : \"2d\";\r\n\r\n const modal = args.getBoolean(\"m\");\r\n if (undefined !== modal)\r\n this._modal = modal;\r\n\r\n const doCopy = args.getBoolean(\"c\");\r\n if (undefined !== doCopy)\r\n this._doCopy = doCopy;\r\n\r\n this._explodeParts = true === args.getBoolean(\"e\");\r\n\r\n return this.run();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"InspectElementTool.js","sourceRoot":"","sources":["../../../src/tools/InspectElementTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { BentleyError, Id64, Id64Array, Id64String } from \"@itwin/core-bentley\";\nimport { GeometrySummaryOptions, GeometrySummaryVerbosity, IModelReadRpcInterface } from \"@itwin/core-common\";\nimport {\n BeButtonEvent, CoreTools, EventHandled, HitDetail, IModelApp, LocateFilterStatus, LocateResponse, MessageBoxIconType, MessageBoxType,\n NotifyMessageDetails, OutputMessagePriority, PrimitiveTool,\n} from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseArgs } from \"./parseArgs\";\n\n/** Creates a readable text summary of a geometric element or geometry part. The keyin takes the following arguments, all of which are optional:\n * - `id=elementId,elementId,elementId` comma-separated list of element Ids where each `elementId` is a hexadecimal element Id such as \"0x12cb\";\n * - `symbology=0|1` where 1 indicates detailed symbology information should be included in the output;\n * - `placement=0|1` where 1 indicates detailed geometric element placement should be included; and\n * - `verbosity=0|1|2` controlling the verbosity of the output for each geometric primitive in the geometry stream. Higher values = more detailed information. Note verbosity=2 can produce megabytes of data for certain types of geometric primitives like large meshes.\n * - `modal=0|1` where 1 indicates the output should appear in a modal dialog.\n * - `copy=0|1` where 1 indicates the output should be copied to the clipboard. Defaults to true.\n * - `refs=0|1` where 1 indicates that for geometry parts a list of all elements referencing that part should be included in the output. This is extremely computationally expensive.\n * If no id is specified, the tool runs in interactive mode: first operating upon the selection set (if any), then allowing the user to select additional elements.\n * @beta\n */\nexport class InspectElementTool extends PrimitiveTool {\n public static override toolId = \"InspectElement\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 6; }\n\n private _options: GeometrySummaryOptions = {};\n private _elementIds?: Id64String[];\n private _modal = false;\n private _useSelection = false;\n private _doCopy = false;\n private _explodeParts = false;\n\n constructor(options?: GeometrySummaryOptions, elementIds?: Id64String[]) {\n super();\n if (undefined !== options)\n this._options = { ...options };\n\n this._elementIds = elementIds;\n }\n\n private setupAndPromptForNextAction(): void {\n this._useSelection = (undefined !== this.targetView && this.targetView.iModel.selectionSet.isActive);\n if (!this._useSelection)\n IModelApp.accuSnap.enableLocate(true);\n\n this.showPrompt();\n }\n\n private showPrompt(): void {\n CoreTools.outputPromptByKey(this._useSelection ? \"ElementSet.Prompts.ConfirmSelection\" : \"ElementSet.Prompts.IdentifyElement\");\n }\n\n public override autoLockTarget(): void { }\n\n public override requireWriteableTarget(): boolean { return false; }\n\n public override async onUnsuspend() {\n this.showPrompt();\n }\n\n public override async onPostInstall() {\n await super.onPostInstall();\n\n if (undefined !== this._elementIds)\n this.process(this._elementIds).then(async () => {\n await this.onReinitialize();\n }).catch((err) => {\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, err.toString()));\n });\n else {\n this.setupAndPromptForNextAction();\n }\n }\n\n public override async onDataButtonDown(ev: BeButtonEvent): Promise<EventHandled> {\n if (this._useSelection) {\n if (undefined !== ev.viewport) {\n const ids: Id64Array = [];\n ev.viewport.iModel.selectionSet.elements.forEach((id) => {\n if (!Id64.isInvalid(id) && !Id64.isTransient(id))\n ids.push(id);\n });\n\n if (0 === ids.length)\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, CoreTools.translate(\"ElementSet.Error.NotSupportedElmType\")));\n else\n await this.process(ids);\n\n await this.onReinitialize();\n return EventHandled.Yes;\n }\n }\n\n const hit = await IModelApp.locateManager.doLocate(new LocateResponse(), true, ev.point, ev.viewport, ev.inputSource);\n if (undefined === hit || !hit.isElementHit)\n return EventHandled.No;\n\n await this.process([hit.sourceId]);\n this.setupAndPromptForNextAction();\n return EventHandled.No;\n }\n\n public override async onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled> {\n await this.onReinitialize();\n return EventHandled.No;\n }\n\n public override async onReinitialize() {\n if (this._useSelection || undefined !== this._elementIds) {\n await this.exitTool();\n } else {\n await this.onRestartTool();\n }\n }\n\n public async onRestartTool() {\n const tool = new InspectElementTool();\n if (!await tool.run())\n return this.exitTool();\n }\n\n public override async filterHit(hit: HitDetail, _out: LocateResponse): Promise<LocateFilterStatus> {\n return hit.isElementHit ? LocateFilterStatus.Accept : LocateFilterStatus.Reject;\n }\n\n private async process(elementIds: Id64String[]) {\n const request = {\n elementIds,\n options: this._options,\n };\n let messageDetails: NotifyMessageDetails;\n try {\n let str = await IModelReadRpcInterface.getClientForRouting(this.iModel.routingContext.token).getGeometrySummary(this.iModel.getRpcProps(), request);\n if (this._explodeParts) {\n const regex = /^part id: (0x[a-f0-9]+)/gm;\n const partIds = new Set<string>();\n let match;\n while (null !== (match = regex.exec(str)))\n partIds.add(match[1]);\n\n if (partIds.size > 0) {\n request.elementIds = Array.from(partIds);\n str += `\\npart ids: ${JSON.stringify(request.elementIds)}\\n`;\n str += await IModelReadRpcInterface.getClientForRouting(this.iModel.routingContext.token).getGeometrySummary(this.iModel.getRpcProps(), request);\n }\n }\n\n if (this._doCopy)\n copyStringToClipboard(str);\n\n const brief = `Summary ${this._doCopy ? \"copied to clipboard.\" : \"complete.\"}`;\n messageDetails = new NotifyMessageDetails(OutputMessagePriority.Info, brief, str);\n\n if (this._modal) {\n const div = document.createElement(\"div\");\n const appendText = (toAppend: string) => {\n const txt = document.createElement(\"div\");\n txt.innerText = toAppend;\n div.append(txt);\n };\n\n const lines = str.split(\"\\n\");\n const maxLines = 30;\n let curLine = 0;\n for (const line of lines) {\n appendText(line);\n if (++curLine > maxLines) {\n appendText(\"...\");\n break;\n }\n }\n\n await IModelApp.notifications.openMessageBox(MessageBoxType.Ok, div, MessageBoxIconType.Information);\n }\n } catch (err) {\n messageDetails = new NotifyMessageDetails(OutputMessagePriority.Error, \"Error occurred while generating summary\", BentleyError.getErrorMessage(err));\n }\n\n IModelApp.notifications.outputMessage(messageDetails);\n }\n\n public override async parseAndRun(...inputArgs: string[]): Promise<boolean> {\n const args = parseArgs(inputArgs);\n const ids = args.get(\"i\");\n if (undefined !== ids)\n this._elementIds = ids.split(\",\");\n\n const verbosity = args.getInteger(\"v\");\n if (undefined !== verbosity) {\n switch (verbosity) {\n case 0:\n this._options.geometryVerbosity = GeometrySummaryVerbosity.Basic;\n break;\n case 1:\n this._options.geometryVerbosity = GeometrySummaryVerbosity.Detailed;\n break;\n case 2:\n this._options.geometryVerbosity = GeometrySummaryVerbosity.Full;\n break;\n }\n }\n\n const symbology = args.getBoolean(\"s\");\n if (undefined !== symbology)\n this._options.verboseSymbology = symbology;\n\n const placement = args.getBoolean(\"p\");\n if (undefined !== placement)\n this._options.includePlacement = placement;\n\n const parts = args.getBoolean(\"r\");\n if (true === parts && undefined !== IModelApp.viewManager.selectedView)\n this._options.includePartReferences = IModelApp.viewManager.selectedView.view.is3d() ? \"3d\" : \"2d\";\n\n const modal = args.getBoolean(\"m\");\n if (undefined !== modal)\n this._modal = modal;\n\n const doCopy = args.getBoolean(\"c\");\n if (undefined !== doCopy)\n this._doCopy = doCopy;\n\n this._explodeParts = true === args.getBoolean(\"e\");\n\n return this.run();\n }\n}\n"]}
@@ -16,7 +16,7 @@ export declare class AttachModelMapLayerTool extends Tool {
16
16
  static get maxArgs(): number;
17
17
  static toolId: string;
18
18
  constructor(_formatId: string);
19
- run(nameIn?: string): Promise<boolean>;
19
+ run(nameIn?: string, drapeTarget?: string): Promise<boolean>;
20
20
  parseAndRun(...args: string[]): Promise<boolean>;
21
21
  onRestartTool(): Promise<void>;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapLayerTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapLayerTool.d.ts","sourceRoot":"","sources":["../../../src/tools/MapLayerTool.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ const parseBoolean_1 = require("./parseBoolean");
11
11
  const parseToggle_1 = require("./parseToggle");
12
12
  /** Base class for attaching map layer tool. */
13
13
  class AttachMapLayerBaseTool extends core_frontend_1.Tool {
14
+ _isBackground;
15
+ _isBase;
14
16
  constructor(_isBackground = true, _isBase = false) {
15
17
  super();
16
18
  this._isBackground = _isBackground;
@@ -62,16 +64,20 @@ class AttachMapLayerBaseTool extends core_frontend_1.Tool {
62
64
  * @beta
63
65
  */
64
66
  class AttachModelMapLayerTool extends core_frontend_1.Tool {
65
- static get minArgs() { return 0; }
66
- static get maxArgs() { return 1; }
67
+ _formatId;
68
+ static get minArgs() { return 1; }
69
+ static get maxArgs() { return 2; }
70
+ static toolId = "AttachModelMapLayerTool";
67
71
  constructor(_formatId) {
68
72
  super();
69
73
  this._formatId = _formatId;
70
74
  }
71
- async run(nameIn) {
75
+ async run(nameIn, drapeTarget) {
72
76
  const vp = core_frontend_1.IModelApp.viewManager.selectedView;
73
77
  if (!vp)
74
78
  return false;
79
+ if ("0" === nameIn)
80
+ nameIn = undefined;
75
81
  const iModel = vp.iModel;
76
82
  const elements = await iModel.elements.getProps(iModel.selectionSet.elements);
77
83
  const modelIds = new Set();
@@ -81,21 +87,26 @@ class AttachModelMapLayerTool extends core_frontend_1.Tool {
81
87
  const modelProps = await iModel.models.getProps(modelId);
82
88
  const modelName = modelProps[0].name ? modelProps[0].name : modelId;
83
89
  const name = nameIn ? (modelIds.size > 1 ? `${nameIn}: ${modelName}` : nameIn) : modelName;
84
- const settings = core_common_1.ModelMapLayerSettings.fromJSON({ name, modelId });
90
+ let settingsDrapeTarget;
91
+ if ("reality" === drapeTarget)
92
+ settingsDrapeTarget = core_common_1.ModelMapLayerDrapeTarget.RealityData;
93
+ else if ("imodel" === drapeTarget)
94
+ settingsDrapeTarget = core_common_1.ModelMapLayerDrapeTarget.IModel;
95
+ const settings = core_common_1.ModelMapLayerSettings.fromJSON({ name, modelId, drapeTarget: settingsDrapeTarget });
85
96
  vp.displayStyle.attachMapLayer({ settings, mapLayerIndex: { isOverlay: false, index: -1 } });
86
97
  }
87
98
  return true;
88
99
  }
89
100
  async parseAndRun(...args) {
90
- return this.run(args[0]);
101
+ return this.run(args[0], args[1]);
91
102
  }
92
103
  async onRestartTool() {
93
104
  }
94
105
  }
95
106
  exports.AttachModelMapLayerTool = AttachModelMapLayerTool;
96
- AttachModelMapLayerTool.toolId = "AttachModelMapLayerTool";
97
107
  /** Attach a map layer from URL base class. */
98
108
  class AttachMapLayerByURLBaseTool extends AttachMapLayerBaseTool {
109
+ _formatId;
99
110
  static get minArgs() { return 1; }
100
111
  static get maxArgs() { return 4; }
101
112
  constructor(_formatId) {
@@ -119,6 +130,7 @@ class AttachMapLayerByURLBaseTool extends AttachMapLayerBaseTool {
119
130
  * @beta
120
131
  */
121
132
  class AttachWmsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {
133
+ static toolId = "AttachWmsMapLayerTool";
122
134
  constructor() { super("WMS"); }
123
135
  /** This method runs the tool, attaching a WMS map layer from a given URL.
124
136
  * @param args contains url, name, userName, password in array order
@@ -128,11 +140,11 @@ class AttachWmsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {
128
140
  }
129
141
  }
130
142
  exports.AttachWmsMapLayerByUrlTool = AttachWmsMapLayerByUrlTool;
131
- AttachWmsMapLayerByUrlTool.toolId = "AttachWmsMapLayerTool";
132
143
  /** This tool attaches a WMTS map layer from a given URL.
133
144
  * @beta
134
145
  */
135
146
  class AttachWmtsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {
147
+ static toolId = "AttachWmtsMapLayerTool";
136
148
  constructor() { super("WMTS"); }
137
149
  /** This method runs the tool, attaching a WMTS map layer from a given URL.
138
150
  * @param args contains url, name, userName, password in array order
@@ -142,43 +154,43 @@ class AttachWmtsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {
142
154
  }
143
155
  }
144
156
  exports.AttachWmtsMapLayerByUrlTool = AttachWmtsMapLayerByUrlTool;
145
- AttachWmtsMapLayerByUrlTool.toolId = "AttachWmtsMapLayerTool";
146
157
  /** This tool attaches an ArcGIS map layer from a given URL.
147
158
  * @beta
148
159
  */
149
160
  class AttachArcGISMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {
161
+ static toolId = "AttachArcGISMapLayerTool";
150
162
  constructor() { super("ArcGIS"); }
151
163
  }
152
164
  exports.AttachArcGISMapLayerByUrlTool = AttachArcGISMapLayerByUrlTool;
153
- AttachArcGISMapLayerByUrlTool.toolId = "AttachArcGISMapLayerTool";
154
165
  /** This tool attaches an ArcGIS map layer from a given URL.
155
166
  * @beta
156
167
  */
157
168
  class AttachArcGISFeatureMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {
169
+ static toolId = "AttachArcGISFeatureMapLayerTool";
158
170
  constructor() { super("ArcGISFeature"); }
159
171
  }
160
172
  exports.AttachArcGISFeatureMapLayerByUrlTool = AttachArcGISFeatureMapLayerByUrlTool;
161
- AttachArcGISFeatureMapLayerByUrlTool.toolId = "AttachArcGISFeatureMapLayerTool";
162
173
  /** This tool attaches an ArcGIS map layer from a given URL.
163
174
  * @beta
164
175
  */
165
176
  class AttachOgcApiFeaturesMapLayerTool extends AttachMapLayerByURLBaseTool {
177
+ static toolId = "AttachOgcApiFeaturesMapLayerTool";
166
178
  constructor() { super("OgcApiFeatures"); }
167
179
  }
168
180
  exports.AttachOgcApiFeaturesMapLayerTool = AttachOgcApiFeaturesMapLayerTool;
169
- AttachOgcApiFeaturesMapLayerTool.toolId = "AttachOgcApiFeaturesMapLayerTool";
170
181
  /** This tool attaches a map layer from a given tile URL.
171
182
  * @beta
172
183
  */
173
184
  class AttachTileURLMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {
185
+ static toolId = "AttachTileURLMapLayerTool";
174
186
  constructor() { super("TileURL"); }
175
187
  }
176
188
  exports.AttachTileURLMapLayerByUrlTool = AttachTileURLMapLayerByUrlTool;
177
- AttachTileURLMapLayerByUrlTool.toolId = "AttachTileURLMapLayerTool";
178
189
  /** This tool add a Map Layer from a specified name (look up in MapLayerSources.json).
179
190
  * @beta
180
191
  */
181
192
  class AttachMapLayerTool extends AttachMapLayerBaseTool {
193
+ static toolId = "AttachMapLayerTool";
182
194
  static get minArgs() { return 1; }
183
195
  static get maxArgs() { return 1; }
184
196
  /** This method runs the tool, adding a map layer from a specified name in MayLayerSources.json.
@@ -205,33 +217,33 @@ class AttachMapLayerTool extends AttachMapLayerBaseTool {
205
217
  }
206
218
  }
207
219
  exports.AttachMapLayerTool = AttachMapLayerTool;
208
- AttachMapLayerTool.toolId = "AttachMapLayerTool";
209
220
  /** This tool attaches a Overlay map layer.
210
221
  * @beta
211
222
  */
212
223
  class AttachMapOverlayTool extends AttachMapLayerTool {
224
+ static toolId = "AttachMapOverlayTool";
213
225
  constructor() {
214
226
  super();
215
227
  this._isBackground = false;
216
228
  }
217
229
  }
218
230
  exports.AttachMapOverlayTool = AttachMapOverlayTool;
219
- AttachMapOverlayTool.toolId = "AttachMapOverlayTool";
220
231
  /** Sets map layer base tool.
221
232
  * @beta
222
233
  */
223
234
  class SetMapBaseTool extends AttachMapLayerTool {
235
+ static toolId = "SetMapBaseTool";
224
236
  constructor() {
225
237
  super();
226
238
  this._isBase = true;
227
239
  }
228
240
  }
229
241
  exports.SetMapBaseTool = SetMapBaseTool;
230
- SetMapBaseTool.toolId = "SetMapBaseTool";
231
242
  /** Detach Map Layers Tool.
232
243
  * @beta
233
244
  */
234
245
  class DetachMapLayersTool extends core_frontend_1.Tool {
246
+ static toolId = "DetachMapLayersTool";
235
247
  static get minArgs() { return 0; }
236
248
  static get maxArgs() { return 0; }
237
249
  async parseAndRun(..._args) {
@@ -248,7 +260,6 @@ class DetachMapLayersTool extends core_frontend_1.Tool {
248
260
  }
249
261
  }
250
262
  exports.DetachMapLayersTool = DetachMapLayersTool;
251
- DetachMapLayersTool.toolId = "DetachMapLayersTool";
252
263
  function parseLayerIndex(args) {
253
264
  const layerIndex = args.length > 1 ? parseInt(args[1], 10) : 0;
254
265
  return isNaN(layerIndex) ? 0 : layerIndex;
@@ -257,6 +268,7 @@ function parseLayerIndex(args) {
257
268
  * @beta
258
269
  */
259
270
  class MapLayerVisibilityTool extends core_frontend_1.Tool {
271
+ static toolId = "SetMapLayerVisibility";
260
272
  static get minArgs() { return 1; }
261
273
  static get maxArgs() { return 2; }
262
274
  /** This method runs the tool, setting the visibility of a map layer.
@@ -287,11 +299,11 @@ class MapLayerVisibilityTool extends core_frontend_1.Tool {
287
299
  }
288
300
  }
289
301
  exports.MapLayerVisibilityTool = MapLayerVisibilityTool;
290
- MapLayerVisibilityTool.toolId = "SetMapLayerVisibility";
291
302
  /** This tool reorders map layers.
292
303
  * @beta
293
304
  */
294
305
  class ReorderMapLayers extends core_frontend_1.Tool {
306
+ static toolId = "ReorderMapLayers";
295
307
  static get minArgs() { return 0; }
296
308
  static get maxArgs() { return 2; }
297
309
  /** This method runs the tool, reordering the map layers.
@@ -317,11 +329,11 @@ class ReorderMapLayers extends core_frontend_1.Tool {
317
329
  }
318
330
  }
319
331
  exports.ReorderMapLayers = ReorderMapLayers;
320
- ReorderMapLayers.toolId = "ReorderMapLayers";
321
332
  /** This tool sets the transparency of a map layer.
322
333
  * @beta
323
334
  */
324
335
  class MapLayerTransparencyTool extends core_frontend_1.Tool {
336
+ static toolId = "SetMapLayerTransparency";
325
337
  static get minArgs() { return 1; }
326
338
  static get maxArgs() { return 2; }
327
339
  /** This method runs the tool, setting the transparency of a map layer.
@@ -348,11 +360,11 @@ class MapLayerTransparencyTool extends core_frontend_1.Tool {
348
360
  }
349
361
  }
350
362
  exports.MapLayerTransparencyTool = MapLayerTransparencyTool;
351
- MapLayerTransparencyTool.toolId = "SetMapLayerTransparency";
352
363
  /** This tool sets the visibility of the map sublayer.
353
364
  * @beta
354
365
  */
355
366
  class MapLayerSubLayerVisibilityTool extends core_frontend_1.Tool {
367
+ static toolId = "SetMapSubLayerVisibility";
356
368
  static get minArgs() { return 1; }
357
369
  static get maxArgs() { return 2; }
358
370
  /** This method runs the tool, setting the visibility of a map sublayer.
@@ -378,11 +390,11 @@ class MapLayerSubLayerVisibilityTool extends core_frontend_1.Tool {
378
390
  }
379
391
  }
380
392
  exports.MapLayerSubLayerVisibilityTool = MapLayerSubLayerVisibilityTool;
381
- MapLayerSubLayerVisibilityTool.toolId = "SetMapSubLayerVisibility";
382
393
  /** This tool changes the viewport so it is zoomed to the range of a map layer.
383
394
  * @beta
384
395
  */
385
396
  class MapLayerZoomTool extends core_frontend_1.Tool {
397
+ static toolId = "MapLayerZoom";
386
398
  static get minArgs() { return 0; }
387
399
  static get maxArgs() { return 1; }
388
400
  /** This method runs the tool, changing the viewport so it is zoomed to the range of a map layer.
@@ -405,11 +417,11 @@ class MapLayerZoomTool extends core_frontend_1.Tool {
405
417
  }
406
418
  }
407
419
  exports.MapLayerZoomTool = MapLayerZoomTool;
408
- MapLayerZoomTool.toolId = "MapLayerZoom";
409
420
  /** This tool toggles whether to apply terrain heights to the map.
410
421
  * @beta
411
422
  */
412
423
  class ToggleTerrainTool extends core_frontend_1.Tool {
424
+ static toolId = "ToggleTerrain";
413
425
  static get minArgs() { return 0; }
414
426
  static get maxArgs() { return 1; }
415
427
  /** This method runs the tool, changing whether to apply terrain heights to the map.
@@ -435,11 +447,11 @@ class ToggleTerrainTool extends core_frontend_1.Tool {
435
447
  }
436
448
  }
437
449
  exports.ToggleTerrainTool = ToggleTerrainTool;
438
- ToggleTerrainTool.toolId = "ToggleTerrain";
439
450
  /** This tool changes the color of the base map.
440
451
  * @beta
441
452
  */
442
453
  class MapBaseColorTool extends core_frontend_1.Tool {
454
+ static toolId = "SetMapBaseColorTool";
443
455
  static get minArgs() { return 3; }
444
456
  static get maxArgs() { return 3; }
445
457
  /** This method runs the tool, changing the color of the base map.
@@ -464,11 +476,11 @@ class MapBaseColorTool extends core_frontend_1.Tool {
464
476
  }
465
477
  }
466
478
  exports.MapBaseColorTool = MapBaseColorTool;
467
- MapBaseColorTool.toolId = "SetMapBaseColorTool";
468
479
  /** This tool changes the transparency of the base map.
469
480
  * @beta
470
481
  */
471
482
  class MapBaseTransparencyTool extends core_frontend_1.Tool {
483
+ static toolId = "SetMapBaseTransparencyTool";
472
484
  static get minArgs() { return 1; }
473
485
  static get maxArgs() { return 1; }
474
486
  /** This method runs the tool, changing the transparency of the base map.
@@ -491,11 +503,11 @@ class MapBaseTransparencyTool extends core_frontend_1.Tool {
491
503
  }
492
504
  }
493
505
  exports.MapBaseTransparencyTool = MapBaseTransparencyTool;
494
- MapBaseTransparencyTool.toolId = "SetMapBaseTransparencyTool";
495
506
  /** This tool changes the visibility of the base map.
496
507
  * @beta
497
508
  */
498
509
  class MapBaseVisibilityTool extends core_frontend_1.Tool {
510
+ static toolId = "SetMapBaseVisibilityTool";
499
511
  static get minArgs() { return 1; }
500
512
  static get maxArgs() { return 1; }
501
513
  /** This method runs the tool, changing the visibility of the base map.
@@ -518,5 +530,4 @@ class MapBaseVisibilityTool extends core_frontend_1.Tool {
518
530
  }
519
531
  }
520
532
  exports.MapBaseVisibilityTool = MapBaseVisibilityTool;
521
- MapBaseVisibilityTool.toolId = "SetMapBaseVisibilityTool";
522
533
  //# sourceMappingURL=MapLayerTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapLayerTool.js","sourceRoot":"","sources":["../../../src/tools/MapLayerTool.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAO/F,oDAA2F;AAC3F,wDAAyK;AACzK,iDAA8C;AAC9C,+CAA4C;AAE5C,+CAA+C;AAC/C,MAAM,sBAAuB,SAAQ,oBAAI;IACvC,YAAsB,gBAAgB,IAAI,EAAY,UAAU,KAAK;QACnE,KAAK,EAAE,CAAC;QADY,kBAAa,GAAb,aAAa,CAAO;QAAY,YAAO,GAAP,OAAO,CAAQ;IAErE,CAAC;IAES,QAAQ,CAAC,MAAuB;QACxC,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAC1C,OAAO;QAET,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,oCAAoB,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,KAAK,oCAAoB,CAAC,WAAW,EAAE,CAAC;gBAC/G,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,EAAE,CAAC,YAAY,CAAC,iBAAiB,GAAG,kCAAoB,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;oBAClH,EAAE,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC9D,IAAI,QAAQ,EAAE,CAAC;wBACb,uFAAuF;wBACvF,0EAA0E;wBAC1E,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7G,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,KAAK,oCAAoB,CAAC,KAAK,EAAE,CAAC;oBACrD,EAAE,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,MAAM,GAAG,GAAG,yBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,qEAAqE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC1J,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBACnG,CAAC;qBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,oCAAoB,CAAC,WAAW,EAAE,CAAC;oBAClE,MAAM,GAAG,GAAG,yBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,iFAAiF,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtK,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACtG,CAAC;YAEH,CAAC;iBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,oCAAoB,CAAC,kBAAkB,EAAE,CAAC;gBACzE,MAAM,GAAG,GAAG,yBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,gFAAgF,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrK,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACpG,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,yBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,6EAA6E,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClK,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACpG,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,yBAAS,CAAC,YAAY,CAAC,kBAAkB,CAAC,wEAAwE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACpK,yBAAS,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,oCAAoB,CAAC,qCAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,oBAAI;IACxC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,YAAsB,SAAiB;QAAI,KAAK,EAAE,CAAC;QAA7B,cAAS,GAAT,SAAS,CAAQ;IAAa,CAAC;IAErC,KAAK,CAAC,GAAG,CAAC,MAAe;QACvC,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,EAAE;YACL,OAAO,KAAK,CAAC;QAEf,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAc,CAAC;QAEvC,KAAK,MAAM,OAAO,IAAI,QAAQ;YAC5B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3F,MAAM,QAAQ,GAAG,mCAAqB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACnE,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACM,KAAK,CAAC,aAAa;IAC1B,CAAC;;AAhCH,0DAiCC;AA9BwB,8BAAM,GAAG,yBAAyB,CAAC;AA+B5D,8CAA8C;AAC9C,MAAM,2BAA4B,SAAQ,sBAAsB;IACvD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD,YAAsB,SAAiB;QAAI,KAAK,EAAE,CAAC;QAA7B,cAAS,GAAT,SAAS,CAAQ;IAAa,CAAC;IAErC,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,IAAa,EAAE,QAAiB,EAAE,QAAiB;QACxF,MAAM,MAAM,GAAG,8BAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACrG,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;GAEG;AACH,MAAa,0BAA2B,SAAQ,2BAA2B;IAEzE,gBAAgB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,4BAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;;AARH,gEASC;AARwB,iCAAM,GAAG,uBAAuB,CAAC;AAU1D;;GAEG;AACH,MAAa,2BAA4B,SAAQ,2BAA2B;IAE1E,gBAAgB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,4BAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;;AARH,kEASC;AARwB,kCAAM,GAAG,wBAAwB,CAAC;AAU3D;;GAEG;AACH,MAAa,6BAA8B,SAAQ,2BAA2B;IAE5E,gBAAgB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;;AAFpC,sEAGC;AAFwB,oCAAM,GAAG,0BAA0B,CAAC;AAI7D;;GAEG;AACH,MAAa,oCAAqC,SAAQ,2BAA2B;IAEnF,gBAAgB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;;AAF3C,oFAGC;AAFwB,2CAAM,GAAG,iCAAiC,CAAC;AAIpE;;GAEG;AACH,MAAa,gCAAiC,SAAQ,2BAA2B;IAE/E,gBAAgB,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;;AAF5C,4EAGC;AAFwB,uCAAM,GAAG,kCAAkC,CAAC;AAIrE;;GAEG;AACH,MAAa,8BAA+B,SAAQ,2BAA2B;IAE7E,gBAAgB,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;;AAFrC,wEAGC;AAFwB,qCAAM,GAAG,2BAA2B,CAAC;AAI9D;;GAEG;AACH,MAAa,kBAAmB,SAAQ,sBAAsB;IAErD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;IACa,KAAK,CAAC,GAAG,CAAC,IAAY;QACpC,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE,KAAK,SAAS;YAClB,OAAO,KAAK,CAAC;QAEf,+BAAe,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAI,MAAM,KAAK,SAAS;oBACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;AA7BH,gDA8BC;AA7BwB,yBAAM,GAAG,oBAAoB,CAAC;AA8BvD;;GAEG;AACH,MAAa,oBAAqB,SAAQ,kBAAkB;IAE1D;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;;AALH,oDAMC;AALwB,2BAAM,GAAG,sBAAsB,CAAC;AAOzD;;GAEG;AACH,MAAa,cAAe,SAAQ,kBAAkB;IAEpD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;;AALH,wCAMC;AALwB,qBAAM,GAAG,gBAAgB,CAAC;AAOnD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,oBAAI;IAEpC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAe;QAClD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAEe,KAAK,CAAC,GAAG;QACvB,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE,KAAK,SAAS;YAClB,OAAO,KAAK,CAAC;QACf,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;;AAhBH,kDAiBC;AAhBwB,0BAAM,GAAG,qBAAqB,CAAC;AAkBxD,SAAS,eAAe,CAAC,IAAc;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAa,sBAAuB,SAAQ,oBAAI;IAEvC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;;OAGG;IACa,KAAK,CAAC,GAAG,CAAC,UAAkB,EAAE,MAAgB;QAC5D,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,IAAI,SAAS,KAAK,QAAQ;YACxB,OAAO,KAAK,CAAC;QAEf,MAAM,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAEpE,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC;IACd,CAAC;;AApCH,wDAqCC;AApCwB,6BAAM,GAAG,uBAAuB,CAAC;AAqC1D;;GAEG;AACH,MAAa,gBAAiB,SAAQ,oBAAI;IAEjC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD;;;OAGG;IACa,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,EAAU;QAChD,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjJ,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;;AAzBH,4CA2BC;AA1BwB,uBAAM,GAAG,kBAAkB,CAAC;AA4BrD;;GAEG;AACH,MAAa,wBAAyB,SAAQ,oBAAI;IAEzC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAClD;;;OAGG;IACa,KAAK,CAAC,GAAG,CAAC,UAAkB,EAAE,YAAoB;QAChE,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/F,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC;YACxC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,4DA6BC;AA5BwB,+BAAM,GAAG,yBAAyB,CAAC;AA6B5D;;GAEG;AACH,MAAa,8BAA+B,SAAQ,oBAAI;IAE/C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;;OAGG;IACa,KAAK,CAAC,GAAG,CAAC,UAAkB,EAAE,OAAgB;QAC5D,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,YAAY,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACjG,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;QAC7B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC;IACd,CAAC;;AA7BH,wEA8BC;AA7BwB,qCAAM,GAAG,0BAA0B,CAAC;AA+B7D;;GAEG;AACH,MAAa,gBAAiB,SAAQ,oBAAI;IAEjC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;IACa,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1C,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnG,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;;AA1BH,4CA2BC;AA1BwB,uBAAM,GAAG,cAAc,CAAC;AA4BjD;;GAEG;AACH,MAAa,iBAAkB,SAAQ,oBAAI;IAElC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;IACa,KAAK,CAAC,GAAG,CAAC,MAAgB;QACxC,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,MAAM,YAAY,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3G,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,MAAM,GAAG,IAAA,yBAAW,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;;AA7BH,8CA8BC;AA7BwB,wBAAM,GAAG,eAAe,CAAC;AA+BlD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,oBAAI;IAEjC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;IACa,KAAK,CAAC,GAAG,CAAC,KAAe;QACvC,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,YAAY,sBAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxI,EAAE,CAAC,YAAY,CAAC,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC5E,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvL,CAAC;;AA5BH,4CA6BC;AA5BwB,uBAAM,GAAG,qBAAqB,CAAC;AA6BxD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,oBAAI;IAExC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;IACa,KAAK,CAAC,GAAG,CAAC,YAAoB;QAC5C,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,YAAY,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QACxD,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxG,CAAC;;AA1BH,0DA2BC;AA1BwB,8BAAM,GAAG,4BAA4B,CAAC;AA4B/D;;GAEG;AACH,MAAa,qBAAsB,SAAQ,oBAAI;IAEtC,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD;;OAEG;IACa,KAAK,CAAC,GAAG,CAAC,OAAgB;QACxC,MAAM,EAAE,GAAG,yBAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,iBAAiB,YAAY,sBAAQ;YACvG,OAAO,KAAK,CAAC;QAEf,EAAE,CAAC,YAAY,CAAC,iBAAiB,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAE1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,MAAM,OAAO,GAAG,IAAA,2BAAY,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;;AA1BH,sDA2BC;AA1BwB,4BAAM,GAAG,0BAA0B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { BaseMapLayerSettings, ColorDef, ModelMapLayerSettings } from \"@itwin/core-common\";\r\nimport { IModelApp, MapLayerSource, MapLayerSources, MapLayerSourceStatus, NotifyMessageDetails, OutputMessagePriority, Tool, WmsUtilities } from \"@itwin/core-frontend\";\r\nimport { parseBoolean } from \"./parseBoolean\";\r\nimport { parseToggle } from \"./parseToggle\";\r\n\r\n/** Base class for attaching map layer tool. */\r\nclass AttachMapLayerBaseTool extends Tool {\r\n constructor(protected _isBackground = true, protected _isBase = false) {\r\n super();\r\n }\r\n\r\n protected doAttach(source?: MapLayerSource) {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (vp === undefined || source === undefined)\r\n return;\r\n\r\n source.validateSource().then((validation) => {\r\n if (validation.status === MapLayerSourceStatus.Valid || validation.status === MapLayerSourceStatus.RequireAuth) {\r\n if (this._isBase) {\r\n vp.displayStyle.backgroundMapBase = BaseMapLayerSettings.fromJSON({ ...source, subLayers: validation.subLayers });\r\n vp.invalidateRenderPlan();\r\n } else {\r\n const settings = source.toLayerSettings(validation.subLayers);\r\n if (settings) {\r\n // Need to specify index in mapLayerIndex, so just use -1 to attach layer at the bottom\r\n // Previously, this was done within attachMapLayer if index was undefined.\r\n vp.displayStyle.attachMapLayer({ settings, mapLayerIndex: { isOverlay: !this._isBackground, index: -1 } });\r\n }\r\n }\r\n\r\n if (validation.status === MapLayerSourceStatus.Valid) {\r\n vp.invalidateRenderPlan();\r\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerAttached\", { sourceName: source.name });\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, msg));\r\n } else if (validation.status === MapLayerSourceStatus.RequireAuth) {\r\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerAttachedRequiresAuth\", { sourceName: source.name });\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Warning, msg));\r\n }\r\n\r\n } else if (validation.status === MapLayerSourceStatus.IncompatibleFormat) {\r\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayersIncompatibleFormat\", { sourceName: source.name });\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, msg));\r\n } else {\r\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerValidationFailed\", { sourceName: source.name });\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, msg));\r\n }\r\n }).catch((error) => {\r\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerAttachError\", { error, sourceName: source.name });\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, msg));\r\n });\r\n }\r\n}\r\n\r\n/** Attach a map layer from URL base class. A layer is attached for each unique model in the selection\r\n * @beta\r\n */\r\nexport class AttachModelMapLayerTool extends Tool {\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n public static override toolId = \"AttachModelMapLayerTool\";\r\n constructor(protected _formatId: string) { super(); }\r\n\r\n public override async run(nameIn?: string): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp)\r\n return false;\r\n\r\n const iModel = vp.iModel;\r\n const elements = await iModel.elements.getProps(iModel.selectionSet.elements);\r\n const modelIds = new Set<Id64String>();\r\n\r\n for (const element of elements)\r\n modelIds.add(element.model);\r\n\r\n for (const modelId of modelIds) {\r\n const modelProps = await iModel.models.getProps(modelId);\r\n const modelName = modelProps[0].name ? modelProps[0].name : modelId;\r\n const name = nameIn ? (modelIds.size > 1 ? `${nameIn}: ${modelName}` : nameIn) : modelName;\r\n const settings = ModelMapLayerSettings.fromJSON({ name, modelId });\r\n vp.displayStyle.attachMapLayer({ settings, mapLayerIndex: { isOverlay: false, index: -1 } });\r\n }\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n public async onRestartTool() {\r\n }\r\n}\r\n/** Attach a map layer from URL base class. */\r\nclass AttachMapLayerByURLBaseTool extends AttachMapLayerBaseTool {\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 4; }\r\n constructor(protected _formatId: string) { super(); }\r\n\r\n public override async run(url: string, name?: string, userName?: string, password?: string): Promise<boolean> {\r\n const source = MapLayerSource.fromJSON({ url, name: (name ? name : url), formatId: this._formatId });\r\n if (source) {\r\n source.userName = userName;\r\n source.password = password;\r\n }\r\n\r\n this.doAttach(source);\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0], args[1], args[2], args[3]);\r\n }\r\n}\r\n\r\n/** This tool attaches a WMS map layer from a given URL.\r\n * @beta\r\n */\r\nexport class AttachWmsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\r\n public static override toolId = \"AttachWmsMapLayerTool\";\r\n constructor() { super(\"WMS\"); }\r\n /** This method runs the tool, attaching a WMS map layer from a given URL.\r\n * @param args contains url, name, userName, password in array order\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(WmsUtilities.getBaseUrl(args[0]), args[1], args[2], args[3]);\r\n }\r\n}\r\n\r\n/** This tool attaches a WMTS map layer from a given URL.\r\n * @beta\r\n */\r\nexport class AttachWmtsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\r\n public static override toolId = \"AttachWmtsMapLayerTool\";\r\n constructor() { super(\"WMTS\"); }\r\n /** This method runs the tool, attaching a WMTS map layer from a given URL.\r\n * @param args contains url, name, userName, password in array order\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(WmsUtilities.getBaseUrl(args[0]), args[1], args[2], args[3]);\r\n }\r\n}\r\n\r\n/** This tool attaches an ArcGIS map layer from a given URL.\r\n * @beta\r\n */\r\nexport class AttachArcGISMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\r\n public static override toolId = \"AttachArcGISMapLayerTool\";\r\n constructor() { super(\"ArcGIS\"); }\r\n}\r\n\r\n/** This tool attaches an ArcGIS map layer from a given URL.\r\n * @beta\r\n */\r\nexport class AttachArcGISFeatureMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\r\n public static override toolId = \"AttachArcGISFeatureMapLayerTool\";\r\n constructor() { super(\"ArcGISFeature\"); }\r\n}\r\n\r\n/** This tool attaches an ArcGIS map layer from a given URL.\r\n * @beta\r\n */\r\nexport class AttachOgcApiFeaturesMapLayerTool extends AttachMapLayerByURLBaseTool {\r\n public static override toolId = \"AttachOgcApiFeaturesMapLayerTool\";\r\n constructor() { super(\"OgcApiFeatures\"); }\r\n}\r\n\r\n/** This tool attaches a map layer from a given tile URL.\r\n * @beta\r\n */\r\nexport class AttachTileURLMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\r\n public static override toolId = \"AttachTileURLMapLayerTool\";\r\n constructor() { super(\"TileURL\"); }\r\n}\r\n\r\n/** This tool add a Map Layer from a specified name (look up in MapLayerSources.json).\r\n * @beta\r\n */\r\nexport class AttachMapLayerTool extends AttachMapLayerBaseTool {\r\n public static override toolId = \"AttachMapLayerTool\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n /** This method runs the tool, adding a map layer from a specified name in MayLayerSources.json.\r\n * @param name the name of the map layer to add\r\n */\r\n public override async run(name: string): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (vp === undefined)\r\n return false;\r\n\r\n MapLayerSources.create().then((sources) => {\r\n if (sources !== undefined) {\r\n const source = sources.findByName(name, this._isBase);\r\n if (source !== undefined)\r\n this.doAttach(source);\r\n }\r\n }).catch((_err) => { });\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `name`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n return this.run(args[0]);\r\n }\r\n}\r\n/** This tool attaches a Overlay map layer.\r\n * @beta\r\n */\r\nexport class AttachMapOverlayTool extends AttachMapLayerTool {\r\n public static override toolId = \"AttachMapOverlayTool\";\r\n constructor() {\r\n super();\r\n this._isBackground = false;\r\n }\r\n}\r\n\r\n/** Sets map layer base tool.\r\n * @beta\r\n */\r\nexport class SetMapBaseTool extends AttachMapLayerTool {\r\n public static override toolId = \"SetMapBaseTool\";\r\n constructor() {\r\n super();\r\n this._isBase = true;\r\n }\r\n}\r\n\r\n/** Detach Map Layers Tool.\r\n * @beta\r\n */\r\nexport class DetachMapLayersTool extends Tool {\r\n public static override toolId = \"DetachMapLayersTool\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 0; }\r\n public override async parseAndRun(..._args: string[]): Promise<boolean> {\r\n return this.run();\r\n }\r\n\r\n public override async run(): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (vp === undefined)\r\n return false;\r\n vp.displayStyle.detachMapLayerByIndex({ index: -1, isOverlay: true });\r\n vp.displayStyle.detachMapLayerByIndex({ index: -1, isOverlay: false });\r\n vp.invalidateRenderPlan();\r\n return true;\r\n }\r\n}\r\n\r\nfunction parseLayerIndex(args: string[]) {\r\n const layerIndex = args.length > 1 ? parseInt(args[1], 10) : 0;\r\n return isNaN(layerIndex) ? 0 : layerIndex;\r\n}\r\n\r\n/** This tool sets the visibility of the map layer.\r\n * @beta\r\n */\r\nexport class MapLayerVisibilityTool extends Tool {\r\n public static override toolId = \"SetMapLayerVisibility\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 2; }\r\n\r\n /** This method runs the tool, setting the visibility of a map layer.\r\n * @param layerIndex the index of the layer to change\r\n * @param visible a boolean that should be true if the layer should be visible\r\n */\r\n public override async run(layerIndex: number, enable?: boolean): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n const mapLayer = vp.displayStyle.mapLayerAtIndex({ index: layerIndex, isOverlay: false });\r\n if (undefined === mapLayer)\r\n return false;\r\n\r\n const visible = (enable === undefined) ? !mapLayer.visible : enable;\r\n\r\n vp.displayStyle.changeMapLayerProps({ visible }, { index: layerIndex, isOverlay: false });\r\n vp.invalidateRenderPlan();\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `enable` and args[1] containing `layerIndex`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const enable = parseToggle(args[0]);\r\n const layerIndex = parseLayerIndex(args);\r\n if (typeof enable !== \"string\")\r\n await this.run(layerIndex, enable);\r\n\r\n return true;\r\n }\r\n}\r\n/** This tool reorders map layers.\r\n * @beta\r\n */\r\nexport class ReorderMapLayers extends Tool {\r\n public static override toolId = \"ReorderMapLayers\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 2; }\r\n /** This method runs the tool, reordering the map layers.\r\n * @param from a numeric value specifying the layer index that is being moved\r\n * @param from a numeric value specifying the layer index to move that layer to\r\n */\r\n public override async run(from: number, to: number): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n vp.displayStyle.moveMapLayerToIndex(isNaN(from) ? 0 : from, isNaN(to) ? vp.displayStyle.settings.mapImagery.backgroundLayers.length : to, false);\r\n vp.invalidateRenderPlan();\r\n return true;\r\n }\r\n /** Executes this tool's run method with args[0] containing `from` and args[1] containing `to`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const from = parseInt(args[0], 10);\r\n const to = parseInt(args[1], 10);\r\n await this.run(from, to);\r\n return true;\r\n }\r\n\r\n}\r\n\r\n/** This tool sets the transparency of a map layer.\r\n * @beta\r\n */\r\nexport class MapLayerTransparencyTool extends Tool {\r\n public static override toolId = \"SetMapLayerTransparency\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 2; }\r\n /** This method runs the tool, setting the transparency of a map layer.\r\n * @param layerIndex the index of the layer to change\r\n * @param transparency a numeric value in the range 0.0 (fully opaque) to 1.0 (fully transparent)\r\n */\r\n public override async run(layerIndex: number, transparency: number): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n vp.displayStyle.changeMapLayerProps({ transparency }, { index: layerIndex, isOverlay: false });\r\n vp.invalidateRenderPlan();\r\n\r\n return true;\r\n }\r\n /** Executes this tool's run method with args[0] containing `transparency` and args[1] containing `layerIndex`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const transparency = parseFloat(args[0]);\r\n const layerIndex = parseLayerIndex(args);\r\n if (transparency >= 0 && transparency <= 1)\r\n await this.run(layerIndex, transparency);\r\n\r\n return true;\r\n }\r\n}\r\n/** This tool sets the visibility of the map sublayer.\r\n * @beta\r\n */\r\nexport class MapLayerSubLayerVisibilityTool extends Tool {\r\n public static override toolId = \"SetMapSubLayerVisibility\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 2; }\r\n\r\n /** This method runs the tool, setting the visibility of a map sublayer.\r\n * @param layerIndex the index of the layer to change\r\n * @param visible a boolean that should be true if the sublayer should be visible\r\n */\r\n public override async run(layerIndex: number, visible: boolean): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n vp.displayStyle.changeMapSubLayerProps({ visible }, -1, { index: layerIndex, isOverlay: false });\r\n vp.invalidateRenderPlan();\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `transparency` and args[1] containing `layerIndex`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const on = args[0] !== \"off\";\r\n const layerIndex = parseLayerIndex(args);\r\n await this.run(layerIndex, on);\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** This tool changes the viewport so it is zoomed to the range of a map layer.\r\n * @beta\r\n */\r\nexport class MapLayerZoomTool extends Tool {\r\n public static override toolId = \"MapLayerZoom\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n /** This method runs the tool, changing the viewport so it is zoomed to the range of a map layer.\r\n * @param layerIndex the index of the layer whose range to zoom to\r\n */\r\n public override async run(layerIndex: number): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n vp.viewMapLayerRange({ index: layerIndex, isOverlay: false }, vp).then(() => { }).catch(() => { });\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `layerIndex`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const layerIndex = parseLayerIndex(args);\r\n await this.run(layerIndex);\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** This tool toggles whether to apply terrain heights to the map.\r\n * @beta\r\n */\r\nexport class ToggleTerrainTool extends Tool {\r\n public static override toolId = \"ToggleTerrain\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n /** This method runs the tool, changing whether to apply terrain heights to the map.\r\n * @param enable whether or not to enable terrain heights on the map\r\n */\r\n public override async run(enable?: boolean): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n const applyTerrain = (enable === undefined) ? !vp.displayStyle.backgroundMapSettings.applyTerrain : enable;\r\n vp.displayStyle.changeBackgroundMapProps({ applyTerrain });\r\n vp.invalidateRenderPlan();\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `enable`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const enable = parseToggle(args[0]);\r\n if (typeof enable !== \"string\")\r\n await this.run(enable);\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** This tool changes the color of the base map.\r\n * @beta\r\n */\r\nexport class MapBaseColorTool extends Tool {\r\n public static override toolId = \"SetMapBaseColorTool\";\r\n public static override get minArgs() { return 3; }\r\n public static override get maxArgs() { return 3; }\r\n\r\n /** This method runs the tool, changing the color of the base map.\r\n * @param color the color for the base map\r\n */\r\n public override async run(color: ColorDef) {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n const curTransparency = vp.displayStyle.backgroundMapBase instanceof ColorDef ? vp.displayStyle.backgroundMapBase.getTransparency() : 0;\r\n vp.displayStyle.backgroundMapBase = color.withTransparency(curTransparency);\r\n vp.invalidateRenderPlan();\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing a 0 to 255 red component, args[1] containing a 0 to 255 green component, and args[2] containing a 0 to 255 blue component.\r\n * These rgb values will be used to construct the `color` parameter passed to this tool's run method.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const red = parseFloat(args[0]), green = parseFloat(args[1]), blue = parseFloat(args[2]);\r\n\r\n return (isNaN(red) || red < 0 || red > 255 || isNaN(green) || green < 0 || green > 255 || isNaN(blue) || blue < 0 || blue > 255) ? false : this.run(ColorDef.from(red, green, blue));\r\n }\r\n}\r\n/** This tool changes the transparency of the base map.\r\n * @beta\r\n */\r\nexport class MapBaseTransparencyTool extends Tool {\r\n public static override toolId = \"SetMapBaseTransparencyTool\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n /** This method runs the tool, changing the transparency of the base map.\r\n * @param transparency a numeric value in range 0.0 to 1.0 whether 0.0 means fully opaque and 1.0 means fully transparent\r\n */\r\n public override async run(transparency: number) {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView())\r\n return false;\r\n\r\n vp.displayStyle.changeBaseMapTransparency(transparency);\r\n vp.invalidateRenderPlan();\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `transparency`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const transparency = parseFloat(args[0]);\r\n\r\n return (isNaN(transparency) || transparency < 0 || transparency > 1) ? false : this.run(transparency);\r\n }\r\n}\r\n\r\n/** This tool changes the visibility of the base map.\r\n * @beta\r\n */\r\nexport class MapBaseVisibilityTool extends Tool {\r\n public static override toolId = \"SetMapBaseVisibilityTool\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n /** This method runs the tool, changing the visibility of the base map.\r\n * @param visible a boolean which specifies whether or not to make the base map visible\r\n */\r\n public override async run(visible: boolean) {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || !vp.view.isSpatialView() || vp.displayStyle.backgroundMapBase instanceof ColorDef)\r\n return false;\r\n\r\n vp.displayStyle.backgroundMapBase = vp.displayStyle.backgroundMapBase.clone({ visible });\r\n vp.invalidateRenderPlan();\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `visible`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const visible = parseBoolean(args[0]);\r\n\r\n return (visible !== undefined ? this.run(visible) : false);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"MapLayerTool.js","sourceRoot":"","sources":["../../../src/tools/MapLayerTool.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport { Id64String } from \"@itwin/core-bentley\";\nimport { BaseMapLayerSettings, ColorDef, ModelMapLayerDrapeTarget, ModelMapLayerSettings } from \"@itwin/core-common\";\nimport { IModelApp, MapLayerSource, MapLayerSources, MapLayerSourceStatus, NotifyMessageDetails, OutputMessagePriority, Tool, WmsUtilities } from \"@itwin/core-frontend\";\nimport { parseBoolean } from \"./parseBoolean\";\nimport { parseToggle } from \"./parseToggle\";\n\n/** Base class for attaching map layer tool. */\nclass AttachMapLayerBaseTool extends Tool {\n constructor(protected _isBackground = true, protected _isBase = false) {\n super();\n }\n\n protected doAttach(source?: MapLayerSource) {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined || source === undefined)\n return;\n\n source.validateSource().then((validation) => {\n if (validation.status === MapLayerSourceStatus.Valid || validation.status === MapLayerSourceStatus.RequireAuth) {\n if (this._isBase) {\n vp.displayStyle.backgroundMapBase = BaseMapLayerSettings.fromJSON({ ...source, subLayers: validation.subLayers });\n vp.invalidateRenderPlan();\n } else {\n const settings = source.toLayerSettings(validation.subLayers);\n if (settings) {\n // Need to specify index in mapLayerIndex, so just use -1 to attach layer at the bottom\n // Previously, this was done within attachMapLayer if index was undefined.\n vp.displayStyle.attachMapLayer({ settings, mapLayerIndex: { isOverlay: !this._isBackground, index: -1 } });\n }\n }\n\n if (validation.status === MapLayerSourceStatus.Valid) {\n vp.invalidateRenderPlan();\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerAttached\", { sourceName: source.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, msg));\n } else if (validation.status === MapLayerSourceStatus.RequireAuth) {\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerAttachedRequiresAuth\", { sourceName: source.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Warning, msg));\n }\n\n } else if (validation.status === MapLayerSourceStatus.IncompatibleFormat) {\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayersIncompatibleFormat\", { sourceName: source.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, msg));\n } else {\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerValidationFailed\", { sourceName: source.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, msg));\n }\n }).catch((error) => {\n const msg = IModelApp.localization.getLocalizedString(\"FrontendDevTools:tools.AttachMapLayerTool.Messages.MapLayerAttachError\", { error, sourceName: source.name });\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, msg));\n });\n }\n}\n\n/** Attach a map layer from URL base class. A layer is attached for each unique model in the selection\n * @beta\n */\nexport class AttachModelMapLayerTool extends Tool {\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n public static override toolId = \"AttachModelMapLayerTool\";\n constructor(protected _formatId: string) { super(); }\n\n public override async run(nameIn?: string, drapeTarget?: string): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (!vp)\n return false;\n\n if (\"0\" === nameIn)\n nameIn = undefined;\n\n const iModel = vp.iModel;\n const elements = await iModel.elements.getProps(iModel.selectionSet.elements);\n const modelIds = new Set<Id64String>();\n\n for (const element of elements)\n modelIds.add(element.model);\n\n for (const modelId of modelIds) {\n const modelProps = await iModel.models.getProps(modelId);\n const modelName = modelProps[0].name ? modelProps[0].name : modelId;\n const name = nameIn ? (modelIds.size > 1 ? `${nameIn}: ${modelName}` : nameIn) : modelName;\n let settingsDrapeTarget: ModelMapLayerDrapeTarget | undefined;\n if (\"reality\" === drapeTarget)\n settingsDrapeTarget = ModelMapLayerDrapeTarget.RealityData;\n else if (\"imodel\" === drapeTarget)\n settingsDrapeTarget = ModelMapLayerDrapeTarget.IModel;\n const settings = ModelMapLayerSettings.fromJSON({ name, modelId, drapeTarget: settingsDrapeTarget });\n vp.displayStyle.attachMapLayer({ settings, mapLayerIndex: { isOverlay: false, index: -1 } });\n }\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0], args[1]);\n }\n public async onRestartTool() {\n }\n}\n/** Attach a map layer from URL base class. */\nclass AttachMapLayerByURLBaseTool extends AttachMapLayerBaseTool {\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 4; }\n constructor(protected _formatId: string) { super(); }\n\n public override async run(url: string, name?: string, userName?: string, password?: string): Promise<boolean> {\n const source = MapLayerSource.fromJSON({ url, name: (name ? name : url), formatId: this._formatId });\n if (source) {\n source.userName = userName;\n source.password = password;\n }\n\n this.doAttach(source);\n return true;\n }\n\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0], args[1], args[2], args[3]);\n }\n}\n\n/** This tool attaches a WMS map layer from a given URL.\n * @beta\n */\nexport class AttachWmsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\n public static override toolId = \"AttachWmsMapLayerTool\";\n constructor() { super(\"WMS\"); }\n /** This method runs the tool, attaching a WMS map layer from a given URL.\n * @param args contains url, name, userName, password in array order\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(WmsUtilities.getBaseUrl(args[0]), args[1], args[2], args[3]);\n }\n}\n\n/** This tool attaches a WMTS map layer from a given URL.\n * @beta\n */\nexport class AttachWmtsMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\n public static override toolId = \"AttachWmtsMapLayerTool\";\n constructor() { super(\"WMTS\"); }\n /** This method runs the tool, attaching a WMTS map layer from a given URL.\n * @param args contains url, name, userName, password in array order\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(WmsUtilities.getBaseUrl(args[0]), args[1], args[2], args[3]);\n }\n}\n\n/** This tool attaches an ArcGIS map layer from a given URL.\n * @beta\n */\nexport class AttachArcGISMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\n public static override toolId = \"AttachArcGISMapLayerTool\";\n constructor() { super(\"ArcGIS\"); }\n}\n\n/** This tool attaches an ArcGIS map layer from a given URL.\n * @beta\n */\nexport class AttachArcGISFeatureMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\n public static override toolId = \"AttachArcGISFeatureMapLayerTool\";\n constructor() { super(\"ArcGISFeature\"); }\n}\n\n/** This tool attaches an ArcGIS map layer from a given URL.\n * @beta\n */\nexport class AttachOgcApiFeaturesMapLayerTool extends AttachMapLayerByURLBaseTool {\n public static override toolId = \"AttachOgcApiFeaturesMapLayerTool\";\n constructor() { super(\"OgcApiFeatures\"); }\n}\n\n/** This tool attaches a map layer from a given tile URL.\n * @beta\n */\nexport class AttachTileURLMapLayerByUrlTool extends AttachMapLayerByURLBaseTool {\n public static override toolId = \"AttachTileURLMapLayerTool\";\n constructor() { super(\"TileURL\"); }\n}\n\n/** This tool add a Map Layer from a specified name (look up in MapLayerSources.json).\n * @beta\n */\nexport class AttachMapLayerTool extends AttachMapLayerBaseTool {\n public static override toolId = \"AttachMapLayerTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, adding a map layer from a specified name in MayLayerSources.json.\n * @param name the name of the map layer to add\n */\n public override async run(name: string): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n\n MapLayerSources.create().then((sources) => {\n if (sources !== undefined) {\n const source = sources.findByName(name, this._isBase);\n if (source !== undefined)\n this.doAttach(source);\n }\n }).catch((_err) => { });\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `name`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n return this.run(args[0]);\n }\n}\n/** This tool attaches a Overlay map layer.\n * @beta\n */\nexport class AttachMapOverlayTool extends AttachMapLayerTool {\n public static override toolId = \"AttachMapOverlayTool\";\n constructor() {\n super();\n this._isBackground = false;\n }\n}\n\n/** Sets map layer base tool.\n * @beta\n */\nexport class SetMapBaseTool extends AttachMapLayerTool {\n public static override toolId = \"SetMapBaseTool\";\n constructor() {\n super();\n this._isBase = true;\n }\n}\n\n/** Detach Map Layers Tool.\n * @beta\n */\nexport class DetachMapLayersTool extends Tool {\n public static override toolId = \"DetachMapLayersTool\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 0; }\n public override async parseAndRun(..._args: string[]): Promise<boolean> {\n return this.run();\n }\n\n public override async run(): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp === undefined)\n return false;\n vp.displayStyle.detachMapLayerByIndex({ index: -1, isOverlay: true });\n vp.displayStyle.detachMapLayerByIndex({ index: -1, isOverlay: false });\n vp.invalidateRenderPlan();\n return true;\n }\n}\n\nfunction parseLayerIndex(args: string[]) {\n const layerIndex = args.length > 1 ? parseInt(args[1], 10) : 0;\n return isNaN(layerIndex) ? 0 : layerIndex;\n}\n\n/** This tool sets the visibility of the map layer.\n * @beta\n */\nexport class MapLayerVisibilityTool extends Tool {\n public static override toolId = \"SetMapLayerVisibility\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n /** This method runs the tool, setting the visibility of a map layer.\n * @param layerIndex the index of the layer to change\n * @param visible a boolean that should be true if the layer should be visible\n */\n public override async run(layerIndex: number, enable?: boolean): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n const mapLayer = vp.displayStyle.mapLayerAtIndex({ index: layerIndex, isOverlay: false });\n if (undefined === mapLayer)\n return false;\n\n const visible = (enable === undefined) ? !mapLayer.visible : enable;\n\n vp.displayStyle.changeMapLayerProps({ visible }, { index: layerIndex, isOverlay: false });\n vp.invalidateRenderPlan();\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `enable` and args[1] containing `layerIndex`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n const layerIndex = parseLayerIndex(args);\n if (typeof enable !== \"string\")\n await this.run(layerIndex, enable);\n\n return true;\n }\n}\n/** This tool reorders map layers.\n * @beta\n */\nexport class ReorderMapLayers extends Tool {\n public static override toolId = \"ReorderMapLayers\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 2; }\n /** This method runs the tool, reordering the map layers.\n * @param from a numeric value specifying the layer index that is being moved\n * @param from a numeric value specifying the layer index to move that layer to\n */\n public override async run(from: number, to: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n vp.displayStyle.moveMapLayerToIndex(isNaN(from) ? 0 : from, isNaN(to) ? vp.displayStyle.settings.mapImagery.backgroundLayers.length : to, false);\n vp.invalidateRenderPlan();\n return true;\n }\n /** Executes this tool's run method with args[0] containing `from` and args[1] containing `to`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const from = parseInt(args[0], 10);\n const to = parseInt(args[1], 10);\n await this.run(from, to);\n return true;\n }\n\n}\n\n/** This tool sets the transparency of a map layer.\n * @beta\n */\nexport class MapLayerTransparencyTool extends Tool {\n public static override toolId = \"SetMapLayerTransparency\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n /** This method runs the tool, setting the transparency of a map layer.\n * @param layerIndex the index of the layer to change\n * @param transparency a numeric value in the range 0.0 (fully opaque) to 1.0 (fully transparent)\n */\n public override async run(layerIndex: number, transparency: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n vp.displayStyle.changeMapLayerProps({ transparency }, { index: layerIndex, isOverlay: false });\n vp.invalidateRenderPlan();\n\n return true;\n }\n /** Executes this tool's run method with args[0] containing `transparency` and args[1] containing `layerIndex`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const transparency = parseFloat(args[0]);\n const layerIndex = parseLayerIndex(args);\n if (transparency >= 0 && transparency <= 1)\n await this.run(layerIndex, transparency);\n\n return true;\n }\n}\n/** This tool sets the visibility of the map sublayer.\n * @beta\n */\nexport class MapLayerSubLayerVisibilityTool extends Tool {\n public static override toolId = \"SetMapSubLayerVisibility\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n /** This method runs the tool, setting the visibility of a map sublayer.\n * @param layerIndex the index of the layer to change\n * @param visible a boolean that should be true if the sublayer should be visible\n */\n public override async run(layerIndex: number, visible: boolean): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n vp.displayStyle.changeMapSubLayerProps({ visible }, -1, { index: layerIndex, isOverlay: false });\n vp.invalidateRenderPlan();\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `transparency` and args[1] containing `layerIndex`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const on = args[0] !== \"off\";\n const layerIndex = parseLayerIndex(args);\n await this.run(layerIndex, on);\n\n return true;\n }\n}\n\n/** This tool changes the viewport so it is zoomed to the range of a map layer.\n * @beta\n */\nexport class MapLayerZoomTool extends Tool {\n public static override toolId = \"MapLayerZoom\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, changing the viewport so it is zoomed to the range of a map layer.\n * @param layerIndex the index of the layer whose range to zoom to\n */\n public override async run(layerIndex: number): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n vp.viewMapLayerRange({ index: layerIndex, isOverlay: false }, vp).then(() => { }).catch(() => { });\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `layerIndex`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const layerIndex = parseLayerIndex(args);\n await this.run(layerIndex);\n\n return true;\n }\n}\n\n/** This tool toggles whether to apply terrain heights to the map.\n * @beta\n */\nexport class ToggleTerrainTool extends Tool {\n public static override toolId = \"ToggleTerrain\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, changing whether to apply terrain heights to the map.\n * @param enable whether or not to enable terrain heights on the map\n */\n public override async run(enable?: boolean): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n const applyTerrain = (enable === undefined) ? !vp.displayStyle.backgroundMapSettings.applyTerrain : enable;\n vp.displayStyle.changeBackgroundMapProps({ applyTerrain });\n vp.invalidateRenderPlan();\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `enable`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\")\n await this.run(enable);\n\n return true;\n }\n}\n\n/** This tool changes the color of the base map.\n * @beta\n */\nexport class MapBaseColorTool extends Tool {\n public static override toolId = \"SetMapBaseColorTool\";\n public static override get minArgs() { return 3; }\n public static override get maxArgs() { return 3; }\n\n /** This method runs the tool, changing the color of the base map.\n * @param color the color for the base map\n */\n public override async run(color: ColorDef) {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n const curTransparency = vp.displayStyle.backgroundMapBase instanceof ColorDef ? vp.displayStyle.backgroundMapBase.getTransparency() : 0;\n vp.displayStyle.backgroundMapBase = color.withTransparency(curTransparency);\n vp.invalidateRenderPlan();\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing a 0 to 255 red component, args[1] containing a 0 to 255 green component, and args[2] containing a 0 to 255 blue component.\n * These rgb values will be used to construct the `color` parameter passed to this tool's run method.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const red = parseFloat(args[0]), green = parseFloat(args[1]), blue = parseFloat(args[2]);\n\n return (isNaN(red) || red < 0 || red > 255 || isNaN(green) || green < 0 || green > 255 || isNaN(blue) || blue < 0 || blue > 255) ? false : this.run(ColorDef.from(red, green, blue));\n }\n}\n/** This tool changes the transparency of the base map.\n * @beta\n */\nexport class MapBaseTransparencyTool extends Tool {\n public static override toolId = \"SetMapBaseTransparencyTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, changing the transparency of the base map.\n * @param transparency a numeric value in range 0.0 to 1.0 whether 0.0 means fully opaque and 1.0 means fully transparent\n */\n public override async run(transparency: number) {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView())\n return false;\n\n vp.displayStyle.changeBaseMapTransparency(transparency);\n vp.invalidateRenderPlan();\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `transparency`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const transparency = parseFloat(args[0]);\n\n return (isNaN(transparency) || transparency < 0 || transparency > 1) ? false : this.run(transparency);\n }\n}\n\n/** This tool changes the visibility of the base map.\n * @beta\n */\nexport class MapBaseVisibilityTool extends Tool {\n public static override toolId = \"SetMapBaseVisibilityTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, changing the visibility of the base map.\n * @param visible a boolean which specifies whether or not to make the base map visible\n */\n public override async run(visible: boolean) {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined === vp || !vp.view.isSpatialView() || vp.displayStyle.backgroundMapBase instanceof ColorDef)\n return false;\n\n vp.displayStyle.backgroundMapBase = vp.displayStyle.backgroundMapBase.clone({ visible });\n vp.invalidateRenderPlan();\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `visible`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const visible = parseBoolean(args[0]);\n\n return (visible !== undefined ? this.run(visible) : false);\n }\n}\n"]}
@@ -11,6 +11,9 @@ exports.MeasureTileLoadTimeTool = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_frontend_1 = require("@itwin/core-frontend");
13
13
  class TileLoadTimer {
14
+ _vp;
15
+ _stopwatch;
16
+ _cleanup;
14
17
  constructor(vp) {
15
18
  this._vp = vp;
16
19
  this._stopwatch = new core_bentley_1.StopWatch();
@@ -49,6 +52,7 @@ class TileLoadTimer {
49
52
  * @beta
50
53
  */
51
54
  class MeasureTileLoadTimeTool extends core_frontend_1.Tool {
55
+ static toolId = "MeasureTileLoadTime";
52
56
  /** This method runs the tool, unloading all tile trees, then starts a timer that stops when all tile trees and tiles required for the view are ready. It will then output the elapsed time to notifications manager.
53
57
  * @param _args this parameter is unused
54
58
  */
@@ -60,5 +64,4 @@ class MeasureTileLoadTimeTool extends core_frontend_1.Tool {
60
64
  }
61
65
  }
62
66
  exports.MeasureTileLoadTimeTool = MeasureTileLoadTimeTool;
63
- MeasureTileLoadTimeTool.toolId = "MeasureTileLoadTime";
64
67
  //# sourceMappingURL=MeasureTileLoadTime.js.map