@itwin/frontend-devtools 4.0.0-dev.44 → 4.0.0-dev.48

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 (370) hide show
  1. package/lib/cjs/ClipboardUtilities.d.ts +8 -8
  2. package/lib/cjs/ClipboardUtilities.js +26 -26
  3. package/lib/cjs/ClipboardUtilities.js.map +1 -1
  4. package/lib/cjs/FrontEndDevTools.d.ts +19 -19
  5. package/lib/cjs/FrontEndDevTools.js +221 -221
  6. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  7. package/lib/cjs/effects/Convolution.d.ts +68 -68
  8. package/lib/cjs/effects/Convolution.js +165 -165
  9. package/lib/cjs/effects/Convolution.js.map +1 -1
  10. package/lib/cjs/effects/EffectTools.d.ts +33 -33
  11. package/lib/cjs/effects/EffectTools.js +67 -67
  12. package/lib/cjs/effects/EffectTools.js.map +1 -1
  13. package/lib/cjs/effects/Explosion.d.ts +12 -12
  14. package/lib/cjs/effects/Explosion.js +168 -168
  15. package/lib/cjs/effects/Explosion.js.map +1 -1
  16. package/lib/cjs/effects/FlipImage.d.ts +30 -30
  17. package/lib/cjs/effects/FlipImage.js +99 -99
  18. package/lib/cjs/effects/FlipImage.js.map +1 -1
  19. package/lib/cjs/effects/LensDistortion.d.ts +34 -34
  20. package/lib/cjs/effects/LensDistortion.js +109 -109
  21. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  22. package/lib/cjs/effects/Random.d.ts +24 -24
  23. package/lib/cjs/effects/Random.js +49 -49
  24. package/lib/cjs/effects/Random.js.map +1 -1
  25. package/lib/cjs/effects/Saturation.d.ts +30 -30
  26. package/lib/cjs/effects/Saturation.js +85 -85
  27. package/lib/cjs/effects/Saturation.js.map +1 -1
  28. package/lib/cjs/effects/Snow.d.ts +76 -76
  29. package/lib/cjs/effects/Snow.js +187 -187
  30. package/lib/cjs/effects/Snow.js.map +1 -1
  31. package/lib/cjs/effects/Vignette.d.ts +39 -39
  32. package/lib/cjs/effects/Vignette.js +108 -108
  33. package/lib/cjs/effects/Vignette.js.map +1 -1
  34. package/lib/cjs/frontend-devtools.d.ts +82 -82
  35. package/lib/cjs/frontend-devtools.js +98 -98
  36. package/lib/cjs/frontend-devtools.js.map +1 -1
  37. package/lib/cjs/tools/AnimationIntervalTool.d.ts +15 -15
  38. package/lib/cjs/tools/AnimationIntervalTool.js +30 -30
  39. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  40. package/lib/cjs/tools/ChangeUnitsTool.d.ts +15 -15
  41. package/lib/cjs/tools/ChangeUnitsTool.js +41 -41
  42. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  43. package/lib/cjs/tools/ClipTools.d.ts +67 -67
  44. package/lib/cjs/tools/ClipTools.js +161 -161
  45. package/lib/cjs/tools/ClipTools.js.map +1 -1
  46. package/lib/cjs/tools/DisplayStyleTools.d.ts +145 -145
  47. package/lib/cjs/tools/DisplayStyleTools.js +368 -368
  48. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  49. package/lib/cjs/tools/EmphasizeElementsTool.d.ts +60 -60
  50. package/lib/cjs/tools/EmphasizeElementsTool.js +154 -154
  51. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  52. package/lib/cjs/tools/FrustumDecoration.d.ts +57 -57
  53. package/lib/cjs/tools/FrustumDecoration.js +374 -374
  54. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  55. package/lib/cjs/tools/InspectElementTool.d.ts +42 -42
  56. package/lib/cjs/tools/InspectElementTool.js +198 -198
  57. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  58. package/lib/cjs/tools/MapLayerTool.d.ts +264 -264
  59. package/lib/cjs/tools/MapLayerTool.js +507 -507
  60. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  61. package/lib/cjs/tools/MeasureTileLoadTime.d.ts +12 -12
  62. package/lib/cjs/tools/MeasureTileLoadTime.js +63 -63
  63. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  64. package/lib/cjs/tools/ModelAppearanceTools.d.ts +86 -86
  65. package/lib/cjs/tools/ModelAppearanceTools.js +183 -183
  66. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  67. package/lib/cjs/tools/PlanProjectionTools.d.ts +40 -40
  68. package/lib/cjs/tools/PlanProjectionTools.js +149 -149
  69. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  70. package/lib/cjs/tools/PlanarMaskTools.d.ts +182 -182
  71. package/lib/cjs/tools/PlanarMaskTools.js +391 -391
  72. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  73. package/lib/cjs/tools/ProjectExtents.d.ts +41 -41
  74. package/lib/cjs/tools/ProjectExtents.js +110 -110
  75. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  76. package/lib/cjs/tools/RealityModelTools.d.ts +116 -116
  77. package/lib/cjs/tools/RealityModelTools.js +281 -281
  78. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  79. package/lib/cjs/tools/RealityTransitionTool.d.ts +25 -25
  80. package/lib/cjs/tools/RealityTransitionTool.js +115 -115
  81. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  82. package/lib/cjs/tools/RenderSystemTools.d.ts +38 -38
  83. package/lib/cjs/tools/RenderSystemTools.js +69 -69
  84. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  85. package/lib/cjs/tools/RenderTargetTools.d.ts +107 -107
  86. package/lib/cjs/tools/RenderTargetTools.js +174 -174
  87. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  88. package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  89. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +30 -30
  90. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  91. package/lib/cjs/tools/SavedViews.d.ts +46 -46
  92. package/lib/cjs/tools/SavedViews.js +136 -136
  93. package/lib/cjs/tools/SavedViews.js.map +1 -1
  94. package/lib/cjs/tools/ScheduleScriptTools.d.ts +37 -37
  95. package/lib/cjs/tools/ScheduleScriptTools.js +157 -157
  96. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  97. package/lib/cjs/tools/SelectionTools.d.ts +28 -28
  98. package/lib/cjs/tools/SelectionTools.js +87 -87
  99. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  100. package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  101. package/lib/cjs/tools/SetGpuMemoryLimitTool.js +33 -33
  102. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  103. package/lib/cjs/tools/SourceAspectIdTools.d.ts +40 -40
  104. package/lib/cjs/tools/SourceAspectIdTools.js +85 -85
  105. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  106. package/lib/cjs/tools/TileRequestDecoration.d.ts +12 -12
  107. package/lib/cjs/tools/TileRequestDecoration.js +83 -83
  108. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  109. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts +11 -11
  110. package/lib/cjs/tools/TileTreeBoundsDecoration.js +74 -74
  111. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  112. package/lib/cjs/tools/ToolTipProvider.d.ts +15 -15
  113. package/lib/cjs/tools/ToolTipProvider.js +66 -66
  114. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  115. package/lib/cjs/tools/ViewportTools.d.ts +218 -218
  116. package/lib/cjs/tools/ViewportTools.d.ts.map +1 -1
  117. package/lib/cjs/tools/ViewportTools.js +516 -515
  118. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  119. package/lib/cjs/tools/parseArgs.d.ts +23 -23
  120. package/lib/cjs/tools/parseArgs.js +51 -51
  121. package/lib/cjs/tools/parseArgs.js.map +1 -1
  122. package/lib/cjs/tools/parseBoolean.d.ts +8 -8
  123. package/lib/cjs/tools/parseBoolean.js +26 -26
  124. package/lib/cjs/tools/parseBoolean.js.map +1 -1
  125. package/lib/cjs/tools/parseToggle.d.ts +8 -8
  126. package/lib/cjs/tools/parseToggle.js +25 -25
  127. package/lib/cjs/tools/parseToggle.js.map +1 -1
  128. package/lib/cjs/ui/Button.d.ts +29 -29
  129. package/lib/cjs/ui/Button.js +26 -26
  130. package/lib/cjs/ui/Button.js.map +1 -1
  131. package/lib/cjs/ui/CheckBox.d.ts +23 -23
  132. package/lib/cjs/ui/CheckBox.js +27 -27
  133. package/lib/cjs/ui/CheckBox.js.map +1 -1
  134. package/lib/cjs/ui/ColorInput.d.ts +27 -27
  135. package/lib/cjs/ui/ColorInput.js +53 -53
  136. package/lib/cjs/ui/ColorInput.js.map +1 -1
  137. package/lib/cjs/ui/ComboBox.d.ts +28 -28
  138. package/lib/cjs/ui/ComboBox.js +42 -42
  139. package/lib/cjs/ui/ComboBox.js.map +1 -1
  140. package/lib/cjs/ui/DataList.d.ts +27 -27
  141. package/lib/cjs/ui/DataList.js +39 -39
  142. package/lib/cjs/ui/DataList.js.map +1 -1
  143. package/lib/cjs/ui/NestedMenu.d.ts +19 -19
  144. package/lib/cjs/ui/NestedMenu.js +46 -46
  145. package/lib/cjs/ui/NestedMenu.js.map +1 -1
  146. package/lib/cjs/ui/NumericInput.d.ts +35 -35
  147. package/lib/cjs/ui/NumericInput.js +61 -61
  148. package/lib/cjs/ui/NumericInput.js.map +1 -1
  149. package/lib/cjs/ui/RadioBox.d.ts +29 -29
  150. package/lib/cjs/ui/RadioBox.js +76 -76
  151. package/lib/cjs/ui/RadioBox.js.map +1 -1
  152. package/lib/cjs/ui/Slider.d.ts +28 -28
  153. package/lib/cjs/ui/Slider.js +42 -42
  154. package/lib/cjs/ui/Slider.js.map +1 -1
  155. package/lib/cjs/ui/TextBox.d.ts +32 -32
  156. package/lib/cjs/ui/TextBox.js +56 -56
  157. package/lib/cjs/ui/TextBox.js.map +1 -1
  158. package/lib/cjs/widgets/DiagnosticsPanel.d.ts +37 -37
  159. package/lib/cjs/widgets/DiagnosticsPanel.js +81 -81
  160. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
  161. package/lib/cjs/widgets/FpsTracker.d.ts +19 -19
  162. package/lib/cjs/widgets/FpsTracker.js +56 -56
  163. package/lib/cjs/widgets/FpsTracker.js.map +1 -1
  164. package/lib/cjs/widgets/GpuProfiler.d.ts +16 -16
  165. package/lib/cjs/widgets/GpuProfiler.js +192 -192
  166. package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
  167. package/lib/cjs/widgets/KeyinField.d.ts +61 -61
  168. package/lib/cjs/widgets/KeyinField.js +186 -186
  169. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  170. package/lib/cjs/widgets/MemoryTracker.d.ts +27 -27
  171. package/lib/cjs/widgets/MemoryTracker.js +242 -242
  172. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  173. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +15 -15
  174. package/lib/cjs/widgets/RenderCommandBreakdown.js +67 -67
  175. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  176. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +30 -30
  177. package/lib/cjs/widgets/TileMemoryBreakdown.js +203 -203
  178. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  179. package/lib/cjs/widgets/TileStatisticsTracker.d.ts +21 -21
  180. package/lib/cjs/widgets/TileStatisticsTracker.js +144 -144
  181. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  182. package/lib/cjs/widgets/ToolSettingsTracker.d.ts +9 -9
  183. package/lib/cjs/widgets/ToolSettingsTracker.js +211 -211
  184. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  185. package/lib/esm/ClipboardUtilities.d.ts +8 -8
  186. package/lib/esm/ClipboardUtilities.js +22 -22
  187. package/lib/esm/ClipboardUtilities.js.map +1 -1
  188. package/lib/esm/FrontEndDevTools.d.ts +19 -19
  189. package/lib/esm/FrontEndDevTools.js +217 -217
  190. package/lib/esm/FrontEndDevTools.js.map +1 -1
  191. package/lib/esm/effects/Convolution.d.ts +68 -68
  192. package/lib/esm/effects/Convolution.js +155 -155
  193. package/lib/esm/effects/Convolution.js.map +1 -1
  194. package/lib/esm/effects/EffectTools.d.ts +33 -33
  195. package/lib/esm/effects/EffectTools.js +61 -61
  196. package/lib/esm/effects/EffectTools.js.map +1 -1
  197. package/lib/esm/effects/Explosion.d.ts +12 -12
  198. package/lib/esm/effects/Explosion.js +164 -164
  199. package/lib/esm/effects/Explosion.js.map +1 -1
  200. package/lib/esm/effects/FlipImage.d.ts +30 -30
  201. package/lib/esm/effects/FlipImage.js +94 -94
  202. package/lib/esm/effects/FlipImage.js.map +1 -1
  203. package/lib/esm/effects/LensDistortion.d.ts +34 -34
  204. package/lib/esm/effects/LensDistortion.js +104 -104
  205. package/lib/esm/effects/LensDistortion.js.map +1 -1
  206. package/lib/esm/effects/Random.d.ts +24 -24
  207. package/lib/esm/effects/Random.js +41 -41
  208. package/lib/esm/effects/Random.js.map +1 -1
  209. package/lib/esm/effects/Saturation.d.ts +30 -30
  210. package/lib/esm/effects/Saturation.js +80 -80
  211. package/lib/esm/effects/Saturation.js.map +1 -1
  212. package/lib/esm/effects/Snow.d.ts +76 -76
  213. package/lib/esm/effects/Snow.js +182 -182
  214. package/lib/esm/effects/Snow.js.map +1 -1
  215. package/lib/esm/effects/Vignette.d.ts +39 -39
  216. package/lib/esm/effects/Vignette.js +103 -103
  217. package/lib/esm/effects/Vignette.js.map +1 -1
  218. package/lib/esm/frontend-devtools.d.ts +82 -82
  219. package/lib/esm/frontend-devtools.js +86 -86
  220. package/lib/esm/frontend-devtools.js.map +1 -1
  221. package/lib/esm/tools/AnimationIntervalTool.d.ts +15 -15
  222. package/lib/esm/tools/AnimationIntervalTool.js +26 -26
  223. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  224. package/lib/esm/tools/ChangeUnitsTool.d.ts +15 -15
  225. package/lib/esm/tools/ChangeUnitsTool.js +37 -37
  226. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  227. package/lib/esm/tools/ClipTools.d.ts +67 -67
  228. package/lib/esm/tools/ClipTools.js +155 -155
  229. package/lib/esm/tools/ClipTools.js.map +1 -1
  230. package/lib/esm/tools/DisplayStyleTools.d.ts +145 -145
  231. package/lib/esm/tools/DisplayStyleTools.js +354 -354
  232. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  233. package/lib/esm/tools/EmphasizeElementsTool.d.ts +60 -60
  234. package/lib/esm/tools/EmphasizeElementsTool.js +145 -145
  235. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  236. package/lib/esm/tools/FrustumDecoration.d.ts +57 -57
  237. package/lib/esm/tools/FrustumDecoration.js +367 -367
  238. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  239. package/lib/esm/tools/InspectElementTool.d.ts +42 -42
  240. package/lib/esm/tools/InspectElementTool.js +194 -194
  241. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  242. package/lib/esm/tools/MapLayerTool.d.ts +264 -264
  243. package/lib/esm/tools/MapLayerTool.js +485 -485
  244. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  245. package/lib/esm/tools/MeasureTileLoadTime.d.ts +12 -12
  246. package/lib/esm/tools/MeasureTileLoadTime.js +59 -59
  247. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  248. package/lib/esm/tools/ModelAppearanceTools.d.ts +86 -86
  249. package/lib/esm/tools/ModelAppearanceTools.js +172 -172
  250. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  251. package/lib/esm/tools/PlanProjectionTools.d.ts +40 -40
  252. package/lib/esm/tools/PlanProjectionTools.js +143 -143
  253. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  254. package/lib/esm/tools/PlanarMaskTools.d.ts +182 -182
  255. package/lib/esm/tools/PlanarMaskTools.js +375 -375
  256. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  257. package/lib/esm/tools/ProjectExtents.d.ts +41 -41
  258. package/lib/esm/tools/ProjectExtents.js +104 -104
  259. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  260. package/lib/esm/tools/RealityModelTools.d.ts +116 -116
  261. package/lib/esm/tools/RealityModelTools.js +268 -268
  262. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  263. package/lib/esm/tools/RealityTransitionTool.d.ts +25 -25
  264. package/lib/esm/tools/RealityTransitionTool.js +111 -111
  265. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  266. package/lib/esm/tools/RenderSystemTools.d.ts +38 -38
  267. package/lib/esm/tools/RenderSystemTools.js +62 -62
  268. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  269. package/lib/esm/tools/RenderTargetTools.d.ts +107 -107
  270. package/lib/esm/tools/RenderTargetTools.js +159 -159
  271. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  272. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  273. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +26 -26
  274. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  275. package/lib/esm/tools/SavedViews.d.ts +46 -46
  276. package/lib/esm/tools/SavedViews.js +128 -128
  277. package/lib/esm/tools/SavedViews.js.map +1 -1
  278. package/lib/esm/tools/ScheduleScriptTools.d.ts +37 -37
  279. package/lib/esm/tools/ScheduleScriptTools.js +151 -151
  280. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  281. package/lib/esm/tools/SelectionTools.d.ts +28 -28
  282. package/lib/esm/tools/SelectionTools.js +82 -82
  283. package/lib/esm/tools/SelectionTools.js.map +1 -1
  284. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  285. package/lib/esm/tools/SetGpuMemoryLimitTool.js +29 -29
  286. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  287. package/lib/esm/tools/SourceAspectIdTools.d.ts +40 -40
  288. package/lib/esm/tools/SourceAspectIdTools.js +79 -79
  289. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  290. package/lib/esm/tools/TileRequestDecoration.d.ts +12 -12
  291. package/lib/esm/tools/TileRequestDecoration.js +79 -79
  292. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  293. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +11 -11
  294. package/lib/esm/tools/TileTreeBoundsDecoration.js +70 -70
  295. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  296. package/lib/esm/tools/ToolTipProvider.d.ts +15 -15
  297. package/lib/esm/tools/ToolTipProvider.js +62 -62
  298. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  299. package/lib/esm/tools/ViewportTools.d.ts +218 -218
  300. package/lib/esm/tools/ViewportTools.d.ts.map +1 -1
  301. package/lib/esm/tools/ViewportTools.js +492 -491
  302. package/lib/esm/tools/ViewportTools.js.map +1 -1
  303. package/lib/esm/tools/parseArgs.d.ts +23 -23
  304. package/lib/esm/tools/parseArgs.js +47 -47
  305. package/lib/esm/tools/parseArgs.js.map +1 -1
  306. package/lib/esm/tools/parseBoolean.d.ts +8 -8
  307. package/lib/esm/tools/parseBoolean.js +22 -22
  308. package/lib/esm/tools/parseBoolean.js.map +1 -1
  309. package/lib/esm/tools/parseToggle.d.ts +8 -8
  310. package/lib/esm/tools/parseToggle.js +21 -21
  311. package/lib/esm/tools/parseToggle.js.map +1 -1
  312. package/lib/esm/ui/Button.d.ts +29 -29
  313. package/lib/esm/ui/Button.js +22 -22
  314. package/lib/esm/ui/Button.js.map +1 -1
  315. package/lib/esm/ui/CheckBox.d.ts +23 -23
  316. package/lib/esm/ui/CheckBox.js +23 -23
  317. package/lib/esm/ui/CheckBox.js.map +1 -1
  318. package/lib/esm/ui/ColorInput.d.ts +27 -27
  319. package/lib/esm/ui/ColorInput.js +48 -48
  320. package/lib/esm/ui/ColorInput.js.map +1 -1
  321. package/lib/esm/ui/ComboBox.d.ts +28 -28
  322. package/lib/esm/ui/ComboBox.js +38 -38
  323. package/lib/esm/ui/ComboBox.js.map +1 -1
  324. package/lib/esm/ui/DataList.d.ts +27 -27
  325. package/lib/esm/ui/DataList.js +34 -34
  326. package/lib/esm/ui/DataList.js.map +1 -1
  327. package/lib/esm/ui/NestedMenu.d.ts +19 -19
  328. package/lib/esm/ui/NestedMenu.js +42 -42
  329. package/lib/esm/ui/NestedMenu.js.map +1 -1
  330. package/lib/esm/ui/NumericInput.d.ts +35 -35
  331. package/lib/esm/ui/NumericInput.js +56 -56
  332. package/lib/esm/ui/NumericInput.js.map +1 -1
  333. package/lib/esm/ui/RadioBox.d.ts +29 -29
  334. package/lib/esm/ui/RadioBox.js +72 -72
  335. package/lib/esm/ui/RadioBox.js.map +1 -1
  336. package/lib/esm/ui/Slider.d.ts +28 -28
  337. package/lib/esm/ui/Slider.js +38 -38
  338. package/lib/esm/ui/Slider.js.map +1 -1
  339. package/lib/esm/ui/TextBox.d.ts +32 -32
  340. package/lib/esm/ui/TextBox.js +52 -52
  341. package/lib/esm/ui/TextBox.js.map +1 -1
  342. package/lib/esm/widgets/DiagnosticsPanel.d.ts +37 -37
  343. package/lib/esm/widgets/DiagnosticsPanel.js +77 -77
  344. package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
  345. package/lib/esm/widgets/FpsTracker.d.ts +19 -19
  346. package/lib/esm/widgets/FpsTracker.js +52 -52
  347. package/lib/esm/widgets/FpsTracker.js.map +1 -1
  348. package/lib/esm/widgets/GpuProfiler.d.ts +16 -16
  349. package/lib/esm/widgets/GpuProfiler.js +188 -188
  350. package/lib/esm/widgets/GpuProfiler.js.map +1 -1
  351. package/lib/esm/widgets/KeyinField.d.ts +61 -61
  352. package/lib/esm/widgets/KeyinField.js +182 -182
  353. package/lib/esm/widgets/KeyinField.js.map +1 -1
  354. package/lib/esm/widgets/MemoryTracker.d.ts +27 -27
  355. package/lib/esm/widgets/MemoryTracker.js +237 -237
  356. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  357. package/lib/esm/widgets/RenderCommandBreakdown.d.ts +15 -15
  358. package/lib/esm/widgets/RenderCommandBreakdown.js +63 -63
  359. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  360. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +30 -30
  361. package/lib/esm/widgets/TileMemoryBreakdown.js +199 -199
  362. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  363. package/lib/esm/widgets/TileStatisticsTracker.d.ts +21 -21
  364. package/lib/esm/widgets/TileStatisticsTracker.js +140 -140
  365. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  366. package/lib/esm/widgets/ToolSettingsTracker.d.ts +9 -9
  367. package/lib/esm/widgets/ToolSettingsTracker.js +207 -207
  368. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  369. package/lib/public/locales/en/FrontendDevTools.json +484 -484
  370. package/package.json +7 -7
@@ -1,158 +1,158 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SetScheduleScriptTool = exports.ReverseScheduleScriptTool = exports.QueryScheduleScriptTool = void 0;
8
- /** @packageDocumentation
9
- * @module Tools
10
- */
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const core_common_1 = require("@itwin/core-common");
13
- const ClipboardUtilities_1 = require("../ClipboardUtilities");
14
- const parseArgs_1 = require("./parseArgs");
15
- const DisplayStyleTools_1 = require("./DisplayStyleTools");
16
- /** Query the schedule script JSON from an element.
17
- * @beta
18
- */
19
- class QueryScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
20
- constructor() {
21
- super(...arguments);
22
- this._action = "copy";
23
- this._includeElementIds = false;
24
- this._countElementIds = false;
25
- this._expandElementIds = false;
26
- }
27
- static get minArgs() { return 0; }
28
- static get maxArgs() { return 3; }
29
- async parse(input, vp) {
30
- const args = (0, parseArgs_1.parseArgs)(input);
31
- // eslint-disable-next-line deprecation/deprecation
32
- this._sourceId = args.get("i") ?? vp.displayStyle.scheduleScriptReference?.sourceId;
33
- if (!this._sourceId)
34
- return false;
35
- const action = args.get("a") ?? "";
36
- this._action = action.length > 0 && "b" === action[0].toLowerCase() ? "break" : "copy";
37
- this._includeElementIds = this._countElementIds = this._expandElementIds = false;
38
- const ids = args.get("e");
39
- if (ids && ids.length > 0) {
40
- switch (ids[0].toLowerCase()) {
41
- case "i":
42
- this._includeElementIds = true;
43
- break;
44
- case "c":
45
- this._includeElementIds = this._countElementIds = true;
46
- break;
47
- case "e":
48
- this._includeElementIds = this._expandElementIds = true;
49
- break;
50
- }
51
- }
52
- return true;
53
- }
54
- async execute(vp) {
55
- if (!this._sourceId || !this._action)
56
- return false;
57
- const opts = {
58
- displayStyle: { omitScheduleScriptElementIds: !this._includeElementIds },
59
- renderTimeline: { omitScriptElementIds: !this._includeElementIds },
60
- };
61
- let script;
62
- const props = await vp.iModel.elements.loadProps(this._sourceId, opts);
63
- if (props.script)
64
- script = JSON.parse(props.script.script);
65
- else if (props.jsonProperties?.styles?.scheduleScript)
66
- script = props.jsonProperties.styles.scheduleScript;
67
- if (!script)
68
- return false;
69
- if (this._countElementIds || this._expandElementIds) {
70
- for (const model of script) {
71
- for (const elem of model.elementTimelines) {
72
- const elemIds = typeof elem.elementIds === "string" ? core_bentley_1.CompressedId64Set.decompressArray(elem.elementIds) : elem.elementIds;
73
- if (this._countElementIds)
74
- elem.elementIds = elemIds.length;
75
- else
76
- elem.elementIds = elemIds;
77
- }
78
- }
79
- }
80
- if (this._action === "break")
81
- debugger; // eslint-disable-line no-debugger
82
- else
83
- (0, ClipboardUtilities_1.copyStringToClipboard)(JSON.stringify(script, null, 2));
84
- return true;
85
- }
86
- }
87
- exports.QueryScheduleScriptTool = QueryScheduleScriptTool;
88
- QueryScheduleScriptTool.toolId = "QueryScheduleScript";
89
- function reverseTimeline(timeline, accept) {
90
- if (!timeline)
91
- return;
92
- const len = timeline.length;
93
- for (let i = 0; i < len; i++) {
94
- const timeEntry = timeline.getEntry(i);
95
- const valueEntry = timeline.getEntry(len - i - 1);
96
- (0, core_bentley_1.assert)(undefined !== timeEntry);
97
- (0, core_bentley_1.assert)(undefined !== valueEntry);
98
- accept(timeEntry.time, valueEntry);
99
- }
100
- }
101
- /** A tool that modifies the [RenderSchedule.Script]($common), if any, associated with the selected [Viewport]($frontend) such that the entries in each
102
- * of its [RenderSchedule.ElementTimeline]($common)s are reversed.
103
- * @beta
104
- */
105
- class ReverseScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
106
- async execute(vp) {
107
- const script = vp?.displayStyle.scheduleScript;
108
- if (!script || script.modelTimelines.some((x) => x.omitsElementIds))
109
- return false;
110
- const builder = new core_common_1.RenderSchedule.ScriptBuilder();
111
- for (const modelTimeline of script.modelTimelines) {
112
- const modelBuilder = builder.addModelTimeline(modelTimeline.modelId);
113
- for (const elemTimeline of modelTimeline.elementTimelines) {
114
- const elemBuilder = modelBuilder.addElementTimeline(elemTimeline.elementIds);
115
- reverseTimeline(elemTimeline.visibility, (time, entry) => elemBuilder.addVisibility(time, entry.value, entry.interpolation));
116
- reverseTimeline(elemTimeline.color, (time, entry) => elemBuilder.addColor(time, entry.value, entry.interpolation));
117
- reverseTimeline(elemTimeline.transform, (time, entry) => elemBuilder.addTransform(time, entry.value, entry.components, entry.interpolation));
118
- reverseTimeline(elemTimeline.cuttingPlane, (time, entry) => elemBuilder.addCuttingPlane(time, entry.value, entry.interpolation));
119
- }
120
- }
121
- const scriptProps = builder.finish();
122
- const newScript = core_common_1.RenderSchedule.Script.fromJSON(scriptProps);
123
- (0, core_bentley_1.assert)(undefined !== newScript);
124
- vp.displayStyle.scheduleScript = newScript;
125
- return true;
126
- }
127
- async parse() {
128
- return true;
129
- }
130
- }
131
- exports.ReverseScheduleScriptTool = ReverseScheduleScriptTool;
132
- ReverseScheduleScriptTool.toolId = "ReverseScheduleScript";
133
- /** A tool that changes or removes the [RenderSchedule.Script]($common) associated with the selected [Viewport]($frontend).
134
- * @beta
135
- */
136
- class SetScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
137
- static get minArgs() { return 0; }
138
- static get maxArgs() { return 1; }
139
- async parse(args) {
140
- if (args.length === 0)
141
- return true; // clear schedule script.
142
- try {
143
- this._script = core_common_1.RenderSchedule.Script.fromJSON(JSON.parse(args[0]));
144
- }
145
- catch (ex) {
146
- if (ex instanceof Error)
147
- alert(ex.toString());
148
- }
149
- return undefined !== this._script;
150
- }
151
- async execute(vp) {
152
- vp.displayStyle.scheduleScript = this._script;
153
- return true;
154
- }
155
- }
156
- exports.SetScheduleScriptTool = SetScheduleScriptTool;
157
- SetScheduleScriptTool.toolId = "SetScheduleScript";
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.SetScheduleScriptTool = exports.ReverseScheduleScriptTool = exports.QueryScheduleScriptTool = void 0;
8
+ /** @packageDocumentation
9
+ * @module Tools
10
+ */
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_common_1 = require("@itwin/core-common");
13
+ const ClipboardUtilities_1 = require("../ClipboardUtilities");
14
+ const parseArgs_1 = require("./parseArgs");
15
+ const DisplayStyleTools_1 = require("./DisplayStyleTools");
16
+ /** Query the schedule script JSON from an element.
17
+ * @beta
18
+ */
19
+ class QueryScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
20
+ constructor() {
21
+ super(...arguments);
22
+ this._action = "copy";
23
+ this._includeElementIds = false;
24
+ this._countElementIds = false;
25
+ this._expandElementIds = false;
26
+ }
27
+ static get minArgs() { return 0; }
28
+ static get maxArgs() { return 3; }
29
+ async parse(input, vp) {
30
+ const args = (0, parseArgs_1.parseArgs)(input);
31
+ // eslint-disable-next-line deprecation/deprecation
32
+ this._sourceId = args.get("i") ?? vp.displayStyle.scheduleScriptReference?.sourceId;
33
+ if (!this._sourceId)
34
+ return false;
35
+ const action = args.get("a") ?? "";
36
+ this._action = action.length > 0 && "b" === action[0].toLowerCase() ? "break" : "copy";
37
+ this._includeElementIds = this._countElementIds = this._expandElementIds = false;
38
+ const ids = args.get("e");
39
+ if (ids && ids.length > 0) {
40
+ switch (ids[0].toLowerCase()) {
41
+ case "i":
42
+ this._includeElementIds = true;
43
+ break;
44
+ case "c":
45
+ this._includeElementIds = this._countElementIds = true;
46
+ break;
47
+ case "e":
48
+ this._includeElementIds = this._expandElementIds = true;
49
+ break;
50
+ }
51
+ }
52
+ return true;
53
+ }
54
+ async execute(vp) {
55
+ if (!this._sourceId || !this._action)
56
+ return false;
57
+ const opts = {
58
+ displayStyle: { omitScheduleScriptElementIds: !this._includeElementIds },
59
+ renderTimeline: { omitScriptElementIds: !this._includeElementIds },
60
+ };
61
+ let script;
62
+ const props = await vp.iModel.elements.loadProps(this._sourceId, opts);
63
+ if (props.script)
64
+ script = JSON.parse(props.script.script);
65
+ else if (props.jsonProperties?.styles?.scheduleScript)
66
+ script = props.jsonProperties.styles.scheduleScript;
67
+ if (!script)
68
+ return false;
69
+ if (this._countElementIds || this._expandElementIds) {
70
+ for (const model of script) {
71
+ for (const elem of model.elementTimelines) {
72
+ const elemIds = typeof elem.elementIds === "string" ? core_bentley_1.CompressedId64Set.decompressArray(elem.elementIds) : elem.elementIds;
73
+ if (this._countElementIds)
74
+ elem.elementIds = elemIds.length;
75
+ else
76
+ elem.elementIds = elemIds;
77
+ }
78
+ }
79
+ }
80
+ if (this._action === "break")
81
+ debugger; // eslint-disable-line no-debugger
82
+ else
83
+ (0, ClipboardUtilities_1.copyStringToClipboard)(JSON.stringify(script, null, 2));
84
+ return true;
85
+ }
86
+ }
87
+ exports.QueryScheduleScriptTool = QueryScheduleScriptTool;
88
+ QueryScheduleScriptTool.toolId = "QueryScheduleScript";
89
+ function reverseTimeline(timeline, accept) {
90
+ if (!timeline)
91
+ return;
92
+ const len = timeline.length;
93
+ for (let i = 0; i < len; i++) {
94
+ const timeEntry = timeline.getEntry(i);
95
+ const valueEntry = timeline.getEntry(len - i - 1);
96
+ (0, core_bentley_1.assert)(undefined !== timeEntry);
97
+ (0, core_bentley_1.assert)(undefined !== valueEntry);
98
+ accept(timeEntry.time, valueEntry);
99
+ }
100
+ }
101
+ /** A tool that modifies the [RenderSchedule.Script]($common), if any, associated with the selected [Viewport]($frontend) such that the entries in each
102
+ * of its [RenderSchedule.ElementTimeline]($common)s are reversed.
103
+ * @beta
104
+ */
105
+ class ReverseScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
106
+ async execute(vp) {
107
+ const script = vp?.displayStyle.scheduleScript;
108
+ if (!script || script.modelTimelines.some((x) => x.omitsElementIds))
109
+ return false;
110
+ const builder = new core_common_1.RenderSchedule.ScriptBuilder();
111
+ for (const modelTimeline of script.modelTimelines) {
112
+ const modelBuilder = builder.addModelTimeline(modelTimeline.modelId);
113
+ for (const elemTimeline of modelTimeline.elementTimelines) {
114
+ const elemBuilder = modelBuilder.addElementTimeline(elemTimeline.elementIds);
115
+ reverseTimeline(elemTimeline.visibility, (time, entry) => elemBuilder.addVisibility(time, entry.value, entry.interpolation));
116
+ reverseTimeline(elemTimeline.color, (time, entry) => elemBuilder.addColor(time, entry.value, entry.interpolation));
117
+ reverseTimeline(elemTimeline.transform, (time, entry) => elemBuilder.addTransform(time, entry.value, entry.components, entry.interpolation));
118
+ reverseTimeline(elemTimeline.cuttingPlane, (time, entry) => elemBuilder.addCuttingPlane(time, entry.value, entry.interpolation));
119
+ }
120
+ }
121
+ const scriptProps = builder.finish();
122
+ const newScript = core_common_1.RenderSchedule.Script.fromJSON(scriptProps);
123
+ (0, core_bentley_1.assert)(undefined !== newScript);
124
+ vp.displayStyle.scheduleScript = newScript;
125
+ return true;
126
+ }
127
+ async parse() {
128
+ return true;
129
+ }
130
+ }
131
+ exports.ReverseScheduleScriptTool = ReverseScheduleScriptTool;
132
+ ReverseScheduleScriptTool.toolId = "ReverseScheduleScript";
133
+ /** A tool that changes or removes the [RenderSchedule.Script]($common) associated with the selected [Viewport]($frontend).
134
+ * @beta
135
+ */
136
+ class SetScheduleScriptTool extends DisplayStyleTools_1.DisplayStyleTool {
137
+ static get minArgs() { return 0; }
138
+ static get maxArgs() { return 1; }
139
+ async parse(args) {
140
+ if (args.length === 0)
141
+ return true; // clear schedule script.
142
+ try {
143
+ this._script = core_common_1.RenderSchedule.Script.fromJSON(JSON.parse(args[0]));
144
+ }
145
+ catch (ex) {
146
+ if (ex instanceof Error)
147
+ alert(ex.toString());
148
+ }
149
+ return undefined !== this._script;
150
+ }
151
+ async execute(vp) {
152
+ vp.displayStyle.scheduleScript = this._script;
153
+ return true;
154
+ }
155
+ }
156
+ exports.SetScheduleScriptTool = SetScheduleScriptTool;
157
+ SetScheduleScriptTool.toolId = "SetScheduleScript";
158
158
  //# sourceMappingURL=ScheduleScriptTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleScriptTools.js","sourceRoot":"","sources":["../../../src/tools/ScheduleScriptTools.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 { assert, CompressedId64Set } from \"@itwin/core-bentley\";\r\nimport {\r\n ElementLoadOptions, RenderSchedule, RenderTimelineProps,\r\n} from \"@itwin/core-common\";\r\nimport { Viewport } from \"@itwin/core-frontend\";\r\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\r\nimport { parseArgs } from \"./parseArgs\";\r\nimport { DisplayStyleTool } from \"./DisplayStyleTools\";\r\n\r\n/** Query the schedule script JSON from an element.\r\n * @beta\r\n */\r\nexport class QueryScheduleScriptTool extends DisplayStyleTool {\r\n private _sourceId?: string;\r\n private _action: \"copy\" | \"break\" = \"copy\";\r\n private _includeElementIds = false;\r\n private _countElementIds = false;\r\n private _expandElementIds = false;\r\n\r\n public static override toolId = \"QueryScheduleScript\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 3; }\r\n\r\n public async parse(input: string[], vp: Viewport) {\r\n const args = parseArgs(input);\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n this._sourceId = args.get(\"i\") ?? vp.displayStyle.scheduleScriptReference?.sourceId;\r\n if (!this._sourceId)\r\n return false;\r\n\r\n const action = args.get(\"a\") ?? \"\";\r\n this._action = action.length > 0 && \"b\" === action[0].toLowerCase() ? \"break\" : \"copy\";\r\n\r\n this._includeElementIds = this._countElementIds = this._expandElementIds = false;\r\n const ids = args.get(\"e\");\r\n if (ids && ids.length > 0) {\r\n switch (ids[0].toLowerCase()) {\r\n case \"i\":\r\n this._includeElementIds = true;\r\n break;\r\n case \"c\":\r\n this._includeElementIds = this._countElementIds = true;\r\n break;\r\n case \"e\":\r\n this._includeElementIds = this._expandElementIds = true;\r\n break;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public async execute(vp: Viewport) {\r\n if (!this._sourceId || !this._action)\r\n return false;\r\n\r\n const opts: ElementLoadOptions = {\r\n displayStyle: { omitScheduleScriptElementIds: !this._includeElementIds },\r\n renderTimeline: { omitScriptElementIds: !this._includeElementIds },\r\n };\r\n\r\n let script;\r\n const props = await vp.iModel.elements.loadProps(this._sourceId, opts) as any;\r\n if (props.script)\r\n script = JSON.parse((props.script as RenderTimelineProps).script) as RenderSchedule.ScriptProps;\r\n else if (props.jsonProperties?.styles?.scheduleScript)\r\n script = props.jsonProperties.styles.scheduleScript as RenderSchedule.ScriptProps;\r\n\r\n if (!script)\r\n return false;\r\n\r\n if (this._countElementIds || this._expandElementIds) {\r\n for (const model of script) {\r\n for (const elem of model.elementTimelines) {\r\n const elemIds = typeof elem.elementIds === \"string\" ? CompressedId64Set.decompressArray(elem.elementIds) : elem.elementIds;\r\n if (this._countElementIds)\r\n elem.elementIds = elemIds.length as any;\r\n else\r\n elem.elementIds = elemIds;\r\n }\r\n }\r\n }\r\n\r\n if (this._action === \"break\")\r\n debugger; // eslint-disable-line no-debugger\r\n else\r\n copyStringToClipboard(JSON.stringify(script, null, 2));\r\n\r\n return true;\r\n }\r\n}\r\n\r\ninterface Timeline<Entry extends RenderSchedule.TimelineEntry> {\r\n readonly length: number;\r\n getEntry(index: number): Entry | undefined;\r\n}\r\n\r\nfunction reverseTimeline<Entry extends RenderSchedule.TimelineEntry>(timeline: Timeline<Entry> | undefined, accept: (time: number, entry: Entry) => void): void {\r\n if (!timeline)\r\n return;\r\n\r\n const len = timeline.length;\r\n for (let i = 0; i < len; i++) {\r\n const timeEntry = timeline.getEntry(i);\r\n const valueEntry = timeline.getEntry(len - i - 1);\r\n assert(undefined !== timeEntry);\r\n assert(undefined !== valueEntry);\r\n accept(timeEntry.time, valueEntry);\r\n }\r\n}\r\n\r\n/** A tool that modifies the [RenderSchedule.Script]($common), if any, associated with the selected [Viewport]($frontend) such that the entries in each\r\n * of its [RenderSchedule.ElementTimeline]($common)s are reversed.\r\n * @beta\r\n */\r\nexport class ReverseScheduleScriptTool extends DisplayStyleTool {\r\n public static override toolId = \"ReverseScheduleScript\";\r\n\r\n public override async execute(vp: Viewport): Promise<boolean> {\r\n const script = vp?.displayStyle.scheduleScript;\r\n if (!script || script.modelTimelines.some((x) => x.omitsElementIds))\r\n return false;\r\n\r\n const builder = new RenderSchedule.ScriptBuilder();\r\n for (const modelTimeline of script.modelTimelines) {\r\n const modelBuilder = builder.addModelTimeline(modelTimeline.modelId);\r\n for (const elemTimeline of modelTimeline.elementTimelines) {\r\n const elemBuilder = modelBuilder.addElementTimeline(elemTimeline.elementIds);\r\n reverseTimeline(elemTimeline.visibility, (time, entry) => elemBuilder.addVisibility(time, entry.value, entry.interpolation));\r\n reverseTimeline(elemTimeline.color, (time, entry) => elemBuilder.addColor(time, entry.value, entry.interpolation));\r\n reverseTimeline(elemTimeline.transform, (time, entry) => elemBuilder.addTransform(time, entry.value, entry.components, entry.interpolation));\r\n reverseTimeline(elemTimeline.cuttingPlane, (time, entry) => elemBuilder.addCuttingPlane(time, entry.value, entry.interpolation));\r\n }\r\n }\r\n\r\n const scriptProps = builder.finish();\r\n const newScript = RenderSchedule.Script.fromJSON(scriptProps);\r\n assert(undefined !== newScript);\r\n\r\n vp.displayStyle.scheduleScript = newScript;\r\n return true;\r\n }\r\n\r\n public async parse() {\r\n return true;\r\n }\r\n}\r\n\r\n/** A tool that changes or removes the [RenderSchedule.Script]($common) associated with the selected [Viewport]($frontend).\r\n * @beta\r\n */\r\nexport class SetScheduleScriptTool extends DisplayStyleTool {\r\n public static override toolId = \"SetScheduleScript\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n private _script?: RenderSchedule.Script;\r\n\r\n public override async parse(args: string[]): Promise<boolean> {\r\n if (args.length === 0)\r\n return true; // clear schedule script.\r\n\r\n try {\r\n this._script = RenderSchedule.Script.fromJSON(JSON.parse(args[0]));\r\n } catch (ex) {\r\n if (ex instanceof Error)\r\n alert(ex.toString());\r\n }\r\n\r\n return undefined !== this._script;\r\n }\r\n\r\n public override async execute(vp: Viewport): Promise<boolean> {\r\n vp.displayStyle.scheduleScript = this._script;\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ScheduleScriptTools.js","sourceRoot":"","sources":["../../../src/tools/ScheduleScriptTools.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAE/F;;GAEG;AAEH,sDAAgE;AAChE,oDAE4B;AAE5B,8DAA8D;AAC9D,2CAAwC;AACxC,2DAAuD;AAEvD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,oCAAgB;IAA7D;;QAEU,YAAO,GAAqB,MAAM,CAAC;QACnC,uBAAkB,GAAG,KAAK,CAAC;QAC3B,qBAAgB,GAAG,KAAK,CAAC;QACzB,sBAAiB,GAAG,KAAK,CAAC;IA0EpC,CAAC;IAvEQ,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,KAAK,CAAC,KAAe,EAAE,EAAY;QAC9C,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,KAAK,CAAC,CAAC;QAE9B,mDAAmD;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,QAAQ,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,SAAS;YACjB,OAAO,KAAK,CAAC;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC5B,KAAK,GAAG;oBACN,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,MAAM;gBACR,KAAK,GAAG;oBACN,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBACvD,MAAM;gBACR,KAAK,GAAG;oBACN,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;oBACxD,MAAM;aACT;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,EAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO;YAClC,OAAO,KAAK,CAAC;QAEf,MAAM,IAAI,GAAuB;YAC/B,YAAY,EAAE,EAAE,4BAA4B,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACxE,cAAc,EAAE,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;SACnE,CAAC;QAEF,IAAI,MAAM,CAAC;QACX,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAQ,CAAC;QAC9E,IAAI,KAAK,CAAC,MAAM;YACd,MAAM,GAAG,IAAI,CAAC,KAAK,CAAE,KAAK,CAAC,MAA8B,CAAC,MAAM,CAA+B,CAAC;aAC7F,IAAI,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc;YACnD,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,cAA4C,CAAC;QAEpF,IAAI,CAAC,MAAM;YACT,OAAO,KAAK,CAAC;QAEf,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACnD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,EAAE;oBACzC,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,gCAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC3H,IAAI,IAAI,CAAC,gBAAgB;wBACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAa,CAAC;;wBAExC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;iBAC7B;aACF;SACF;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO;YAC1B,QAAQ,CAAC,CAAC,kCAAkC;;YAE5C,IAAA,0CAAqB,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC;IACd,CAAC;;AA9EH,0DA+EC;AAxEwB,8BAAM,GAAG,qBAAqB,CAAC;AA+ExD,SAAS,eAAe,CAA6C,QAAqC,EAAE,MAA4C;IACtJ,IAAI,CAAC,QAAQ;QACX,OAAO;IAET,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAA,qBAAM,EAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAChC,IAAA,qBAAM,EAAC,SAAS,KAAK,UAAU,CAAC,CAAC;QACjC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KACpC;AACH,CAAC;AAED;;;GAGG;AACH,MAAa,yBAA0B,SAAQ,oCAAgB;IAG7C,KAAK,CAAC,OAAO,CAAC,EAAY;QACxC,MAAM,MAAM,GAAG,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YACjE,OAAO,KAAK,CAAC;QAEf,MAAM,OAAO,GAAG,IAAI,4BAAc,CAAC,aAAa,EAAE,CAAC;QACnD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,cAAc,EAAE;YACjD,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACrE,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,gBAAgB,EAAE;gBACzD,MAAM,WAAW,GAAG,YAAY,CAAC,kBAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC7E,eAAe,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC7H,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnH,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC7I,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;aAClI;SACF;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,4BAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAA,qBAAM,EAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAEhC,EAAE,CAAC,YAAY,CAAC,cAAc,GAAG,SAAS,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;;AA9BH,8DA+BC;AA9BwB,gCAAM,GAAG,uBAAuB,CAAC;AAgC1D;;GAEG;AACH,MAAa,qBAAsB,SAAQ,oCAAgB;IAElD,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAIlC,KAAK,CAAC,KAAK,CAAC,IAAc;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YACnB,OAAO,IAAI,CAAC,CAAC,yBAAyB;QAExC,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,4BAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACpE;QAAC,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,YAAY,KAAK;gBACrB,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;SACxB;QAED,OAAO,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC;IACpC,CAAC;IAEe,KAAK,CAAC,OAAO,CAAC,EAAY;QACxC,EAAE,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;;AAxBH,sDAyBC;AAxBwB,4BAAM,GAAG,mBAAmB,CAAC","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 { assert, CompressedId64Set } from \"@itwin/core-bentley\";\nimport {\n ElementLoadOptions, RenderSchedule, RenderTimelineProps,\n} from \"@itwin/core-common\";\nimport { Viewport } from \"@itwin/core-frontend\";\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\nimport { parseArgs } from \"./parseArgs\";\nimport { DisplayStyleTool } from \"./DisplayStyleTools\";\n\n/** Query the schedule script JSON from an element.\n * @beta\n */\nexport class QueryScheduleScriptTool extends DisplayStyleTool {\n private _sourceId?: string;\n private _action: \"copy\" | \"break\" = \"copy\";\n private _includeElementIds = false;\n private _countElementIds = false;\n private _expandElementIds = false;\n\n public static override toolId = \"QueryScheduleScript\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 3; }\n\n public async parse(input: string[], vp: Viewport) {\n const args = parseArgs(input);\n\n // eslint-disable-next-line deprecation/deprecation\n this._sourceId = args.get(\"i\") ?? vp.displayStyle.scheduleScriptReference?.sourceId;\n if (!this._sourceId)\n return false;\n\n const action = args.get(\"a\") ?? \"\";\n this._action = action.length > 0 && \"b\" === action[0].toLowerCase() ? \"break\" : \"copy\";\n\n this._includeElementIds = this._countElementIds = this._expandElementIds = false;\n const ids = args.get(\"e\");\n if (ids && ids.length > 0) {\n switch (ids[0].toLowerCase()) {\n case \"i\":\n this._includeElementIds = true;\n break;\n case \"c\":\n this._includeElementIds = this._countElementIds = true;\n break;\n case \"e\":\n this._includeElementIds = this._expandElementIds = true;\n break;\n }\n }\n\n return true;\n }\n\n public async execute(vp: Viewport) {\n if (!this._sourceId || !this._action)\n return false;\n\n const opts: ElementLoadOptions = {\n displayStyle: { omitScheduleScriptElementIds: !this._includeElementIds },\n renderTimeline: { omitScriptElementIds: !this._includeElementIds },\n };\n\n let script;\n const props = await vp.iModel.elements.loadProps(this._sourceId, opts) as any;\n if (props.script)\n script = JSON.parse((props.script as RenderTimelineProps).script) as RenderSchedule.ScriptProps;\n else if (props.jsonProperties?.styles?.scheduleScript)\n script = props.jsonProperties.styles.scheduleScript as RenderSchedule.ScriptProps;\n\n if (!script)\n return false;\n\n if (this._countElementIds || this._expandElementIds) {\n for (const model of script) {\n for (const elem of model.elementTimelines) {\n const elemIds = typeof elem.elementIds === \"string\" ? CompressedId64Set.decompressArray(elem.elementIds) : elem.elementIds;\n if (this._countElementIds)\n elem.elementIds = elemIds.length as any;\n else\n elem.elementIds = elemIds;\n }\n }\n }\n\n if (this._action === \"break\")\n debugger; // eslint-disable-line no-debugger\n else\n copyStringToClipboard(JSON.stringify(script, null, 2));\n\n return true;\n }\n}\n\ninterface Timeline<Entry extends RenderSchedule.TimelineEntry> {\n readonly length: number;\n getEntry(index: number): Entry | undefined;\n}\n\nfunction reverseTimeline<Entry extends RenderSchedule.TimelineEntry>(timeline: Timeline<Entry> | undefined, accept: (time: number, entry: Entry) => void): void {\n if (!timeline)\n return;\n\n const len = timeline.length;\n for (let i = 0; i < len; i++) {\n const timeEntry = timeline.getEntry(i);\n const valueEntry = timeline.getEntry(len - i - 1);\n assert(undefined !== timeEntry);\n assert(undefined !== valueEntry);\n accept(timeEntry.time, valueEntry);\n }\n}\n\n/** A tool that modifies the [RenderSchedule.Script]($common), if any, associated with the selected [Viewport]($frontend) such that the entries in each\n * of its [RenderSchedule.ElementTimeline]($common)s are reversed.\n * @beta\n */\nexport class ReverseScheduleScriptTool extends DisplayStyleTool {\n public static override toolId = \"ReverseScheduleScript\";\n\n public override async execute(vp: Viewport): Promise<boolean> {\n const script = vp?.displayStyle.scheduleScript;\n if (!script || script.modelTimelines.some((x) => x.omitsElementIds))\n return false;\n\n const builder = new RenderSchedule.ScriptBuilder();\n for (const modelTimeline of script.modelTimelines) {\n const modelBuilder = builder.addModelTimeline(modelTimeline.modelId);\n for (const elemTimeline of modelTimeline.elementTimelines) {\n const elemBuilder = modelBuilder.addElementTimeline(elemTimeline.elementIds);\n reverseTimeline(elemTimeline.visibility, (time, entry) => elemBuilder.addVisibility(time, entry.value, entry.interpolation));\n reverseTimeline(elemTimeline.color, (time, entry) => elemBuilder.addColor(time, entry.value, entry.interpolation));\n reverseTimeline(elemTimeline.transform, (time, entry) => elemBuilder.addTransform(time, entry.value, entry.components, entry.interpolation));\n reverseTimeline(elemTimeline.cuttingPlane, (time, entry) => elemBuilder.addCuttingPlane(time, entry.value, entry.interpolation));\n }\n }\n\n const scriptProps = builder.finish();\n const newScript = RenderSchedule.Script.fromJSON(scriptProps);\n assert(undefined !== newScript);\n\n vp.displayStyle.scheduleScript = newScript;\n return true;\n }\n\n public async parse() {\n return true;\n }\n}\n\n/** A tool that changes or removes the [RenderSchedule.Script]($common) associated with the selected [Viewport]($frontend).\n * @beta\n */\nexport class SetScheduleScriptTool extends DisplayStyleTool {\n public static override toolId = \"SetScheduleScript\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n private _script?: RenderSchedule.Script;\n\n public override async parse(args: string[]): Promise<boolean> {\n if (args.length === 0)\n return true; // clear schedule script.\n\n try {\n this._script = RenderSchedule.Script.fromJSON(JSON.parse(args[0]));\n } catch (ex) {\n if (ex instanceof Error)\n alert(ex.toString());\n }\n\n return undefined !== this._script;\n }\n\n public override async execute(vp: Viewport): Promise<boolean> {\n vp.displayStyle.scheduleScript = this._script;\n return true;\n }\n}\n"]}
@@ -1,29 +1,29 @@
1
- /** @packageDocumentation
2
- * @module Tools
3
- */
4
- import { Id64Arg } from "@itwin/core-bentley";
5
- import { Tool } from "@itwin/core-frontend";
6
- /** Replaces the contents of the selection set with the set of element Ids specified.
7
- * Element Ids are separated by whitespace.
8
- * @beta
9
- */
10
- export declare class SelectElementsByIdTool extends Tool {
11
- static toolId: string;
12
- static get minArgs(): number;
13
- static get maxArgs(): undefined;
14
- run(ids?: Id64Arg): Promise<boolean>;
15
- parseAndRun(...args: string[]): Promise<boolean>;
16
- }
17
- /** A tool that outputs the Ids of the elements in the [SelectionSet]($frontend) of the [IModelConnection]($frontend) associated with the selected [Viewport]($frontend).
18
- * @beta
19
- */
20
- export declare class DumpSelectionSetTool extends Tool {
21
- static toolId: string;
22
- static get minArgs(): number;
23
- static get maxArgs(): number;
24
- private _format;
25
- private _copy?;
26
- run(): Promise<boolean>;
27
- parseAndRun(...input: string[]): Promise<boolean>;
28
- }
1
+ /** @packageDocumentation
2
+ * @module Tools
3
+ */
4
+ import { Id64Arg } from "@itwin/core-bentley";
5
+ import { Tool } from "@itwin/core-frontend";
6
+ /** Replaces the contents of the selection set with the set of element Ids specified.
7
+ * Element Ids are separated by whitespace.
8
+ * @beta
9
+ */
10
+ export declare class SelectElementsByIdTool extends Tool {
11
+ static toolId: string;
12
+ static get minArgs(): number;
13
+ static get maxArgs(): undefined;
14
+ run(ids?: Id64Arg): Promise<boolean>;
15
+ parseAndRun(...args: string[]): Promise<boolean>;
16
+ }
17
+ /** A tool that outputs the Ids of the elements in the [SelectionSet]($frontend) of the [IModelConnection]($frontend) associated with the selected [Viewport]($frontend).
18
+ * @beta
19
+ */
20
+ export declare class DumpSelectionSetTool extends Tool {
21
+ static toolId: string;
22
+ static get minArgs(): number;
23
+ static get maxArgs(): number;
24
+ private _format;
25
+ private _copy?;
26
+ run(): Promise<boolean>;
27
+ parseAndRun(...input: string[]): Promise<boolean>;
28
+ }
29
29
  //# sourceMappingURL=SelectionTools.d.ts.map
@@ -1,88 +1,88 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.DumpSelectionSetTool = exports.SelectElementsByIdTool = void 0;
8
- /** @packageDocumentation
9
- * @module Tools
10
- */
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- const core_frontend_1 = require("@itwin/core-frontend");
13
- const ClipboardUtilities_1 = require("../ClipboardUtilities");
14
- const parseArgs_1 = require("./parseArgs");
15
- /** Replaces the contents of the selection set with the set of element Ids specified.
16
- * Element Ids are separated by whitespace.
17
- * @beta
18
- */
19
- class SelectElementsByIdTool extends core_frontend_1.Tool {
20
- static get minArgs() { return 1; }
21
- static get maxArgs() { return undefined; }
22
- async run(ids) {
23
- const vp = core_frontend_1.IModelApp.viewManager.selectedView;
24
- if (undefined !== vp && undefined !== ids)
25
- vp.iModel.selectionSet.replace(ids);
26
- return true;
27
- }
28
- async parseAndRun(...args) {
29
- return this.run(args);
30
- }
31
- }
32
- exports.SelectElementsByIdTool = SelectElementsByIdTool;
33
- SelectElementsByIdTool.toolId = "SelectElementsById";
34
- /** A tool that outputs the Ids of the elements in the [SelectionSet]($frontend) of the [IModelConnection]($frontend) associated with the selected [Viewport]($frontend).
35
- * @beta
36
- */
37
- class DumpSelectionSetTool extends core_frontend_1.Tool {
38
- constructor() {
39
- super(...arguments);
40
- this._format = "list";
41
- }
42
- static get minArgs() { return 0; }
43
- static get maxArgs() { return 2; }
44
- async run() {
45
- const vp = core_frontend_1.IModelApp.viewManager.selectedView;
46
- if (!vp)
47
- return false;
48
- const elems = Array.from(vp.iModel.selectionSet.elements);
49
- core_bentley_1.OrderedId64Iterable.sortArray(elems);
50
- let output;
51
- switch (this._format) {
52
- case "compressed":
53
- output = core_bentley_1.CompressedId64Set.compressArray(elems);
54
- break;
55
- case "json":
56
- output = JSON.stringify(elems);
57
- break;
58
- default:
59
- output = elems.join(" ");
60
- break;
61
- }
62
- if (this._copy)
63
- (0, ClipboardUtilities_1.copyStringToClipboard)(output);
64
- const brief = `Selection set dumped${this._copy ? " to clipboard" : ""}.`;
65
- const details = new core_frontend_1.NotifyMessageDetails(core_frontend_1.OutputMessagePriority.Info, brief, output);
66
- core_frontend_1.IModelApp.notifications.outputMessage(details);
67
- return true;
68
- }
69
- async parseAndRun(...input) {
70
- const args = (0, parseArgs_1.parseArgs)(input);
71
- this._copy = args.getBoolean("c");
72
- const formatArg = args.get("f");
73
- if (formatArg) {
74
- switch (formatArg[0].toLowerCase()) {
75
- case "j":
76
- this._format = "json";
77
- break;
78
- case "c":
79
- this._format = "compressed";
80
- break;
81
- }
82
- }
83
- return this.run();
84
- }
85
- }
86
- exports.DumpSelectionSetTool = DumpSelectionSetTool;
87
- DumpSelectionSetTool.toolId = "DumpSelectionSet";
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DumpSelectionSetTool = exports.SelectElementsByIdTool = void 0;
8
+ /** @packageDocumentation
9
+ * @module Tools
10
+ */
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_frontend_1 = require("@itwin/core-frontend");
13
+ const ClipboardUtilities_1 = require("../ClipboardUtilities");
14
+ const parseArgs_1 = require("./parseArgs");
15
+ /** Replaces the contents of the selection set with the set of element Ids specified.
16
+ * Element Ids are separated by whitespace.
17
+ * @beta
18
+ */
19
+ class SelectElementsByIdTool extends core_frontend_1.Tool {
20
+ static get minArgs() { return 1; }
21
+ static get maxArgs() { return undefined; }
22
+ async run(ids) {
23
+ const vp = core_frontend_1.IModelApp.viewManager.selectedView;
24
+ if (undefined !== vp && undefined !== ids)
25
+ vp.iModel.selectionSet.replace(ids);
26
+ return true;
27
+ }
28
+ async parseAndRun(...args) {
29
+ return this.run(args);
30
+ }
31
+ }
32
+ exports.SelectElementsByIdTool = SelectElementsByIdTool;
33
+ SelectElementsByIdTool.toolId = "SelectElementsById";
34
+ /** A tool that outputs the Ids of the elements in the [SelectionSet]($frontend) of the [IModelConnection]($frontend) associated with the selected [Viewport]($frontend).
35
+ * @beta
36
+ */
37
+ class DumpSelectionSetTool extends core_frontend_1.Tool {
38
+ constructor() {
39
+ super(...arguments);
40
+ this._format = "list";
41
+ }
42
+ static get minArgs() { return 0; }
43
+ static get maxArgs() { return 2; }
44
+ async run() {
45
+ const vp = core_frontend_1.IModelApp.viewManager.selectedView;
46
+ if (!vp)
47
+ return false;
48
+ const elems = Array.from(vp.iModel.selectionSet.elements);
49
+ core_bentley_1.OrderedId64Iterable.sortArray(elems);
50
+ let output;
51
+ switch (this._format) {
52
+ case "compressed":
53
+ output = core_bentley_1.CompressedId64Set.compressArray(elems);
54
+ break;
55
+ case "json":
56
+ output = JSON.stringify(elems);
57
+ break;
58
+ default:
59
+ output = elems.join(" ");
60
+ break;
61
+ }
62
+ if (this._copy)
63
+ (0, ClipboardUtilities_1.copyStringToClipboard)(output);
64
+ const brief = `Selection set dumped${this._copy ? " to clipboard" : ""}.`;
65
+ const details = new core_frontend_1.NotifyMessageDetails(core_frontend_1.OutputMessagePriority.Info, brief, output);
66
+ core_frontend_1.IModelApp.notifications.outputMessage(details);
67
+ return true;
68
+ }
69
+ async parseAndRun(...input) {
70
+ const args = (0, parseArgs_1.parseArgs)(input);
71
+ this._copy = args.getBoolean("c");
72
+ const formatArg = args.get("f");
73
+ if (formatArg) {
74
+ switch (formatArg[0].toLowerCase()) {
75
+ case "j":
76
+ this._format = "json";
77
+ break;
78
+ case "c":
79
+ this._format = "compressed";
80
+ break;
81
+ }
82
+ }
83
+ return this.run();
84
+ }
85
+ }
86
+ exports.DumpSelectionSetTool = DumpSelectionSetTool;
87
+ DumpSelectionSetTool.toolId = "DumpSelectionSet";
88
88
  //# sourceMappingURL=SelectionTools.js.map