@itwin/frontend-devtools 3.0.0-dev.78 → 3.0.0-dev.82

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 (590) hide show
  1. package/lib/{ClipboardUtilities.d.ts → cjs/ClipboardUtilities.d.ts} +0 -0
  2. package/lib/cjs/ClipboardUtilities.d.ts.map +1 -0
  3. package/lib/{ClipboardUtilities.js → cjs/ClipboardUtilities.js} +0 -0
  4. package/lib/cjs/ClipboardUtilities.js.map +1 -0
  5. package/lib/{FrontEndDevTools.d.ts → cjs/FrontEndDevTools.d.ts} +0 -0
  6. package/lib/cjs/FrontEndDevTools.d.ts.map +1 -0
  7. package/lib/{FrontEndDevTools.js → cjs/FrontEndDevTools.js} +0 -0
  8. package/lib/cjs/FrontEndDevTools.js.map +1 -0
  9. package/lib/{effects → cjs/effects}/Convolution.d.ts +0 -0
  10. package/lib/cjs/effects/Convolution.d.ts.map +1 -0
  11. package/lib/{effects → cjs/effects}/Convolution.js +0 -0
  12. package/lib/cjs/effects/Convolution.js.map +1 -0
  13. package/lib/{effects → cjs/effects}/EffectTools.d.ts +0 -0
  14. package/lib/cjs/effects/EffectTools.d.ts.map +1 -0
  15. package/lib/{effects → cjs/effects}/EffectTools.js +0 -0
  16. package/lib/cjs/effects/EffectTools.js.map +1 -0
  17. package/lib/{effects → cjs/effects}/Explosion.d.ts +0 -0
  18. package/lib/cjs/effects/Explosion.d.ts.map +1 -0
  19. package/lib/{effects → cjs/effects}/Explosion.js +0 -0
  20. package/lib/cjs/effects/Explosion.js.map +1 -0
  21. package/lib/{effects → cjs/effects}/FlipImage.d.ts +0 -0
  22. package/lib/cjs/effects/FlipImage.d.ts.map +1 -0
  23. package/lib/{effects → cjs/effects}/FlipImage.js +0 -0
  24. package/lib/cjs/effects/FlipImage.js.map +1 -0
  25. package/lib/{effects → cjs/effects}/LensDistortion.d.ts +0 -0
  26. package/lib/cjs/effects/LensDistortion.d.ts.map +1 -0
  27. package/lib/{effects → cjs/effects}/LensDistortion.js +0 -0
  28. package/lib/cjs/effects/LensDistortion.js.map +1 -0
  29. package/lib/{effects → cjs/effects}/Random.d.ts +0 -0
  30. package/lib/cjs/effects/Random.d.ts.map +1 -0
  31. package/lib/{effects → cjs/effects}/Random.js +0 -0
  32. package/lib/cjs/effects/Random.js.map +1 -0
  33. package/lib/{effects → cjs/effects}/Saturation.d.ts +0 -0
  34. package/lib/cjs/effects/Saturation.d.ts.map +1 -0
  35. package/lib/{effects → cjs/effects}/Saturation.js +0 -0
  36. package/lib/cjs/effects/Saturation.js.map +1 -0
  37. package/lib/{effects → cjs/effects}/Snow.d.ts +0 -0
  38. package/lib/cjs/effects/Snow.d.ts.map +1 -0
  39. package/lib/{effects → cjs/effects}/Snow.js +1 -1
  40. package/lib/cjs/effects/Snow.js.map +1 -0
  41. package/lib/{effects → cjs/effects}/Vignette.d.ts +0 -0
  42. package/lib/cjs/effects/Vignette.d.ts.map +1 -0
  43. package/lib/{effects → cjs/effects}/Vignette.js +0 -0
  44. package/lib/cjs/effects/Vignette.js.map +1 -0
  45. package/lib/{frontend-devtools.d.ts → cjs/frontend-devtools.d.ts} +0 -0
  46. package/lib/cjs/frontend-devtools.d.ts.map +1 -0
  47. package/lib/{frontend-devtools.js → cjs/frontend-devtools.js} +0 -0
  48. package/lib/cjs/frontend-devtools.js.map +1 -0
  49. package/lib/{tools → cjs/tools}/AnimationIntervalTool.d.ts +0 -0
  50. package/lib/cjs/tools/AnimationIntervalTool.d.ts.map +1 -0
  51. package/lib/{tools → cjs/tools}/AnimationIntervalTool.js +0 -0
  52. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -0
  53. package/lib/{tools → cjs/tools}/ChangeUnitsTool.d.ts +0 -0
  54. package/lib/cjs/tools/ChangeUnitsTool.d.ts.map +1 -0
  55. package/lib/{tools → cjs/tools}/ChangeUnitsTool.js +0 -0
  56. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -0
  57. package/lib/{tools → cjs/tools}/ClipTools.d.ts +0 -0
  58. package/lib/cjs/tools/ClipTools.d.ts.map +1 -0
  59. package/lib/{tools → cjs/tools}/ClipTools.js +4 -1
  60. package/lib/cjs/tools/ClipTools.js.map +1 -0
  61. package/lib/{tools → cjs/tools}/DisplayStyleTools.d.ts +0 -0
  62. package/lib/cjs/tools/DisplayStyleTools.d.ts.map +1 -0
  63. package/lib/{tools → cjs/tools}/DisplayStyleTools.js +2 -2
  64. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -0
  65. package/lib/{tools → cjs/tools}/EmphasizeElementsTool.d.ts +0 -0
  66. package/lib/cjs/tools/EmphasizeElementsTool.d.ts.map +1 -0
  67. package/lib/{tools → cjs/tools}/EmphasizeElementsTool.js +0 -0
  68. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -0
  69. package/lib/{tools → cjs/tools}/FrustumDecoration.d.ts +0 -0
  70. package/lib/cjs/tools/FrustumDecoration.d.ts.map +1 -0
  71. package/lib/{tools → cjs/tools}/FrustumDecoration.js +0 -0
  72. package/lib/cjs/tools/FrustumDecoration.js.map +1 -0
  73. package/lib/{tools → cjs/tools}/InspectElementTool.d.ts +0 -0
  74. package/lib/cjs/tools/InspectElementTool.d.ts.map +1 -0
  75. package/lib/{tools → cjs/tools}/InspectElementTool.js +1 -1
  76. package/lib/cjs/tools/InspectElementTool.js.map +1 -0
  77. package/lib/{tools → cjs/tools}/MapLayerTool.d.ts +0 -0
  78. package/lib/cjs/tools/MapLayerTool.d.ts.map +1 -0
  79. package/lib/{tools → cjs/tools}/MapLayerTool.js +1 -1
  80. package/lib/cjs/tools/MapLayerTool.js.map +1 -0
  81. package/lib/{tools → cjs/tools}/MeasureTileLoadTime.d.ts +0 -0
  82. package/lib/cjs/tools/MeasureTileLoadTime.d.ts.map +1 -0
  83. package/lib/{tools → cjs/tools}/MeasureTileLoadTime.js +0 -0
  84. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -0
  85. package/lib/{tools → cjs/tools}/ModelAppearanceTools.d.ts +0 -0
  86. package/lib/cjs/tools/ModelAppearanceTools.d.ts.map +1 -0
  87. package/lib/{tools → cjs/tools}/ModelAppearanceTools.js +0 -0
  88. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -0
  89. package/lib/{tools → cjs/tools}/PlanProjectionTools.d.ts +0 -0
  90. package/lib/cjs/tools/PlanProjectionTools.d.ts.map +1 -0
  91. package/lib/{tools → cjs/tools}/PlanProjectionTools.js +0 -0
  92. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -0
  93. package/lib/{tools → cjs/tools}/PlanarMaskTools.d.ts +0 -0
  94. package/lib/cjs/tools/PlanarMaskTools.d.ts.map +1 -0
  95. package/lib/{tools → cjs/tools}/PlanarMaskTools.js +0 -0
  96. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -0
  97. package/lib/{tools → cjs/tools}/ProjectExtents.d.ts +0 -0
  98. package/lib/cjs/tools/ProjectExtents.d.ts.map +1 -0
  99. package/lib/{tools → cjs/tools}/ProjectExtents.js +0 -0
  100. package/lib/cjs/tools/ProjectExtents.js.map +1 -0
  101. package/lib/{tools → cjs/tools}/RealityModelTools.d.ts +0 -0
  102. package/lib/cjs/tools/RealityModelTools.d.ts.map +1 -0
  103. package/lib/{tools → cjs/tools}/RealityModelTools.js +0 -0
  104. package/lib/cjs/tools/RealityModelTools.js.map +1 -0
  105. package/lib/{tools → cjs/tools}/RealityTransitionTool.d.ts +0 -0
  106. package/lib/cjs/tools/RealityTransitionTool.d.ts.map +1 -0
  107. package/lib/{tools → cjs/tools}/RealityTransitionTool.js +9 -2
  108. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -0
  109. package/lib/{tools → cjs/tools}/RenderSystemTools.d.ts +0 -0
  110. package/lib/cjs/tools/RenderSystemTools.d.ts.map +1 -0
  111. package/lib/{tools → cjs/tools}/RenderSystemTools.js +0 -0
  112. package/lib/cjs/tools/RenderSystemTools.js.map +1 -0
  113. package/lib/{tools → cjs/tools}/RenderTargetTools.d.ts +0 -0
  114. package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -0
  115. package/lib/{tools → cjs/tools}/RenderTargetTools.js +0 -0
  116. package/lib/cjs/tools/RenderTargetTools.js.map +1 -0
  117. package/lib/{tools → cjs/tools}/ReportWebGLCompatibilityTool.d.ts +0 -0
  118. package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts.map +1 -0
  119. package/lib/{tools → cjs/tools}/ReportWebGLCompatibilityTool.js +0 -0
  120. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -0
  121. package/lib/{tools → cjs/tools}/SavedViews.d.ts +0 -0
  122. package/lib/cjs/tools/SavedViews.d.ts.map +1 -0
  123. package/lib/{tools → cjs/tools}/SavedViews.js +0 -0
  124. package/lib/cjs/tools/SavedViews.js.map +1 -0
  125. package/lib/{tools → cjs/tools}/SelectionTools.d.ts +0 -0
  126. package/lib/cjs/tools/SelectionTools.d.ts.map +1 -0
  127. package/lib/{tools → cjs/tools}/SelectionTools.js +0 -0
  128. package/lib/cjs/tools/SelectionTools.js.map +1 -0
  129. package/lib/{tools → cjs/tools}/SetGpuMemoryLimitTool.d.ts +0 -0
  130. package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts.map +1 -0
  131. package/lib/{tools → cjs/tools}/SetGpuMemoryLimitTool.js +0 -0
  132. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -0
  133. package/lib/{tools → cjs/tools}/SourceAspectIdTools.d.ts +0 -0
  134. package/lib/cjs/tools/SourceAspectIdTools.d.ts.map +1 -0
  135. package/lib/{tools → cjs/tools}/SourceAspectIdTools.js +5 -23
  136. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -0
  137. package/lib/{tools → cjs/tools}/TileRequestDecoration.d.ts +0 -0
  138. package/lib/cjs/tools/TileRequestDecoration.d.ts.map +1 -0
  139. package/lib/{tools → cjs/tools}/TileRequestDecoration.js +0 -0
  140. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -0
  141. package/lib/{tools → cjs/tools}/TileTreeBoundsDecoration.d.ts +0 -0
  142. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts.map +1 -0
  143. package/lib/{tools → cjs/tools}/TileTreeBoundsDecoration.js +0 -0
  144. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -0
  145. package/lib/{tools → cjs/tools}/ToolTipProvider.d.ts +0 -0
  146. package/lib/cjs/tools/ToolTipProvider.d.ts.map +1 -0
  147. package/lib/{tools → cjs/tools}/ToolTipProvider.js +0 -0
  148. package/lib/cjs/tools/ToolTipProvider.js.map +1 -0
  149. package/lib/{tools → cjs/tools}/ViewportTools.d.ts +0 -0
  150. package/lib/cjs/tools/ViewportTools.d.ts.map +1 -0
  151. package/lib/{tools → cjs/tools}/ViewportTools.js +0 -0
  152. package/lib/cjs/tools/ViewportTools.js.map +1 -0
  153. package/lib/{tools → cjs/tools}/parseArgs.d.ts +0 -0
  154. package/lib/cjs/tools/parseArgs.d.ts.map +1 -0
  155. package/lib/{tools → cjs/tools}/parseArgs.js +0 -0
  156. package/lib/cjs/tools/parseArgs.js.map +1 -0
  157. package/lib/{tools → cjs/tools}/parseBoolean.d.ts +0 -0
  158. package/lib/cjs/tools/parseBoolean.d.ts.map +1 -0
  159. package/lib/{tools → cjs/tools}/parseBoolean.js +0 -0
  160. package/lib/cjs/tools/parseBoolean.js.map +1 -0
  161. package/lib/{tools → cjs/tools}/parseToggle.d.ts +0 -0
  162. package/lib/cjs/tools/parseToggle.d.ts.map +1 -0
  163. package/lib/{tools → cjs/tools}/parseToggle.js +0 -0
  164. package/lib/cjs/tools/parseToggle.js.map +1 -0
  165. package/lib/{ui → cjs/ui}/Button.d.ts +0 -0
  166. package/lib/cjs/ui/Button.d.ts.map +1 -0
  167. package/lib/{ui → cjs/ui}/Button.js +0 -0
  168. package/lib/cjs/ui/Button.js.map +1 -0
  169. package/lib/{ui → cjs/ui}/CheckBox.d.ts +0 -0
  170. package/lib/cjs/ui/CheckBox.d.ts.map +1 -0
  171. package/lib/{ui → cjs/ui}/CheckBox.js +0 -0
  172. package/lib/cjs/ui/CheckBox.js.map +1 -0
  173. package/lib/{ui → cjs/ui}/ColorInput.d.ts +0 -0
  174. package/lib/cjs/ui/ColorInput.d.ts.map +1 -0
  175. package/lib/{ui → cjs/ui}/ColorInput.js +0 -0
  176. package/lib/cjs/ui/ColorInput.js.map +1 -0
  177. package/lib/{ui → cjs/ui}/ComboBox.d.ts +0 -0
  178. package/lib/cjs/ui/ComboBox.d.ts.map +1 -0
  179. package/lib/{ui → cjs/ui}/ComboBox.js +0 -0
  180. package/lib/cjs/ui/ComboBox.js.map +1 -0
  181. package/lib/{ui → cjs/ui}/DataList.d.ts +0 -0
  182. package/lib/cjs/ui/DataList.d.ts.map +1 -0
  183. package/lib/{ui → cjs/ui}/DataList.js +0 -0
  184. package/lib/cjs/ui/DataList.js.map +1 -0
  185. package/lib/{ui → cjs/ui}/NestedMenu.d.ts +0 -0
  186. package/lib/cjs/ui/NestedMenu.d.ts.map +1 -0
  187. package/lib/{ui → cjs/ui}/NestedMenu.js +0 -0
  188. package/lib/cjs/ui/NestedMenu.js.map +1 -0
  189. package/lib/{ui → cjs/ui}/NumericInput.d.ts +0 -0
  190. package/lib/cjs/ui/NumericInput.d.ts.map +1 -0
  191. package/lib/{ui → cjs/ui}/NumericInput.js +1 -1
  192. package/lib/cjs/ui/NumericInput.js.map +1 -0
  193. package/lib/{ui → cjs/ui}/RadioBox.d.ts +0 -0
  194. package/lib/cjs/ui/RadioBox.d.ts.map +1 -0
  195. package/lib/{ui → cjs/ui}/RadioBox.js +0 -0
  196. package/lib/cjs/ui/RadioBox.js.map +1 -0
  197. package/lib/{ui → cjs/ui}/Slider.d.ts +0 -0
  198. package/lib/cjs/ui/Slider.d.ts.map +1 -0
  199. package/lib/{ui → cjs/ui}/Slider.js +0 -0
  200. package/lib/cjs/ui/Slider.js.map +1 -0
  201. package/lib/{ui → cjs/ui}/TextBox.d.ts +0 -0
  202. package/lib/cjs/ui/TextBox.d.ts.map +1 -0
  203. package/lib/{ui → cjs/ui}/TextBox.js +0 -0
  204. package/lib/cjs/ui/TextBox.js.map +1 -0
  205. package/lib/{widgets → cjs/widgets}/DiagnosticsPanel.d.ts +0 -0
  206. package/lib/cjs/widgets/DiagnosticsPanel.d.ts.map +1 -0
  207. package/lib/{widgets → cjs/widgets}/DiagnosticsPanel.js +0 -0
  208. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -0
  209. package/lib/{widgets → cjs/widgets}/FpsTracker.d.ts +0 -0
  210. package/lib/cjs/widgets/FpsTracker.d.ts.map +1 -0
  211. package/lib/{widgets → cjs/widgets}/FpsTracker.js +0 -0
  212. package/lib/cjs/widgets/FpsTracker.js.map +1 -0
  213. package/lib/{widgets → cjs/widgets}/GpuProfiler.d.ts +0 -0
  214. package/lib/cjs/widgets/GpuProfiler.d.ts.map +1 -0
  215. package/lib/{widgets → cjs/widgets}/GpuProfiler.js +0 -0
  216. package/lib/cjs/widgets/GpuProfiler.js.map +1 -0
  217. package/lib/{widgets → cjs/widgets}/KeyinField.d.ts +0 -0
  218. package/lib/cjs/widgets/KeyinField.d.ts.map +1 -0
  219. package/lib/{widgets → cjs/widgets}/KeyinField.js +0 -0
  220. package/lib/cjs/widgets/KeyinField.js.map +1 -0
  221. package/lib/{widgets → cjs/widgets}/MemoryTracker.d.ts +0 -0
  222. package/lib/cjs/widgets/MemoryTracker.d.ts.map +1 -0
  223. package/lib/{widgets → cjs/widgets}/MemoryTracker.js +0 -0
  224. package/lib/cjs/widgets/MemoryTracker.js.map +1 -0
  225. package/lib/{widgets → cjs/widgets}/TileMemoryBreakdown.d.ts +0 -0
  226. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts.map +1 -0
  227. package/lib/{widgets → cjs/widgets}/TileMemoryBreakdown.js +0 -0
  228. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -0
  229. package/lib/{widgets → cjs/widgets}/TileStatisticsTracker.d.ts +0 -0
  230. package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -0
  231. package/lib/{widgets → cjs/widgets}/TileStatisticsTracker.js +0 -0
  232. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -0
  233. package/lib/{widgets → cjs/widgets}/ToolSettingsTracker.d.ts +0 -0
  234. package/lib/cjs/widgets/ToolSettingsTracker.d.ts.map +1 -0
  235. package/lib/{widgets → cjs/widgets}/ToolSettingsTracker.js +0 -0
  236. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -0
  237. package/lib/esm/ClipboardUtilities.d.ts +9 -0
  238. package/lib/esm/ClipboardUtilities.d.ts.map +1 -0
  239. package/lib/esm/ClipboardUtilities.js +23 -0
  240. package/lib/esm/ClipboardUtilities.js.map +1 -0
  241. package/lib/esm/FrontEndDevTools.d.ts +19 -0
  242. package/lib/esm/FrontEndDevTools.d.ts.map +1 -0
  243. package/lib/esm/FrontEndDevTools.js +200 -0
  244. package/lib/esm/FrontEndDevTools.js.map +1 -0
  245. package/lib/esm/effects/Convolution.d.ts +69 -0
  246. package/lib/esm/effects/Convolution.d.ts.map +1 -0
  247. package/lib/esm/effects/Convolution.js +156 -0
  248. package/lib/esm/effects/Convolution.js.map +1 -0
  249. package/lib/esm/effects/EffectTools.d.ts +34 -0
  250. package/lib/esm/effects/EffectTools.d.ts.map +1 -0
  251. package/lib/esm/effects/EffectTools.js +63 -0
  252. package/lib/esm/effects/EffectTools.js.map +1 -0
  253. package/lib/esm/effects/Explosion.d.ts +13 -0
  254. package/lib/esm/effects/Explosion.d.ts.map +1 -0
  255. package/lib/esm/effects/Explosion.js +164 -0
  256. package/lib/esm/effects/Explosion.js.map +1 -0
  257. package/lib/esm/effects/FlipImage.d.ts +31 -0
  258. package/lib/esm/effects/FlipImage.d.ts.map +1 -0
  259. package/lib/esm/effects/FlipImage.js +95 -0
  260. package/lib/esm/effects/FlipImage.js.map +1 -0
  261. package/lib/esm/effects/LensDistortion.d.ts +35 -0
  262. package/lib/esm/effects/LensDistortion.d.ts.map +1 -0
  263. package/lib/esm/effects/LensDistortion.js +105 -0
  264. package/lib/esm/effects/LensDistortion.js.map +1 -0
  265. package/lib/esm/effects/Random.d.ts +25 -0
  266. package/lib/esm/effects/Random.d.ts.map +1 -0
  267. package/lib/esm/effects/Random.js +42 -0
  268. package/lib/esm/effects/Random.js.map +1 -0
  269. package/lib/esm/effects/Saturation.d.ts +31 -0
  270. package/lib/esm/effects/Saturation.d.ts.map +1 -0
  271. package/lib/esm/effects/Saturation.js +81 -0
  272. package/lib/esm/effects/Saturation.js.map +1 -0
  273. package/lib/esm/effects/Snow.d.ts +77 -0
  274. package/lib/esm/effects/Snow.d.ts.map +1 -0
  275. package/lib/esm/effects/Snow.js +182 -0
  276. package/lib/esm/effects/Snow.js.map +1 -0
  277. package/lib/esm/effects/Vignette.d.ts +40 -0
  278. package/lib/esm/effects/Vignette.d.ts.map +1 -0
  279. package/lib/esm/effects/Vignette.js +104 -0
  280. package/lib/esm/effects/Vignette.js.map +1 -0
  281. package/lib/esm/frontend-devtools.d.ts +82 -0
  282. package/lib/esm/frontend-devtools.d.ts.map +1 -0
  283. package/lib/esm/frontend-devtools.js +86 -0
  284. package/lib/esm/frontend-devtools.js.map +1 -0
  285. package/lib/esm/tools/AnimationIntervalTool.d.ts +16 -0
  286. package/lib/esm/tools/AnimationIntervalTool.d.ts.map +1 -0
  287. package/lib/esm/tools/AnimationIntervalTool.js +27 -0
  288. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -0
  289. package/lib/esm/tools/ChangeUnitsTool.d.ts +16 -0
  290. package/lib/esm/tools/ChangeUnitsTool.d.ts.map +1 -0
  291. package/lib/esm/tools/ChangeUnitsTool.js +38 -0
  292. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -0
  293. package/lib/esm/tools/ClipTools.d.ts +68 -0
  294. package/lib/esm/tools/ClipTools.d.ts.map +1 -0
  295. package/lib/esm/tools/ClipTools.js +159 -0
  296. package/lib/esm/tools/ClipTools.js.map +1 -0
  297. package/lib/esm/tools/DisplayStyleTools.d.ts +99 -0
  298. package/lib/esm/tools/DisplayStyleTools.d.ts.map +1 -0
  299. package/lib/esm/tools/DisplayStyleTools.js +232 -0
  300. package/lib/esm/tools/DisplayStyleTools.js.map +1 -0
  301. package/lib/esm/tools/EmphasizeElementsTool.d.ts +61 -0
  302. package/lib/esm/tools/EmphasizeElementsTool.d.ts.map +1 -0
  303. package/lib/esm/tools/EmphasizeElementsTool.js +146 -0
  304. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -0
  305. package/lib/esm/tools/FrustumDecoration.d.ts +58 -0
  306. package/lib/esm/tools/FrustumDecoration.d.ts.map +1 -0
  307. package/lib/esm/tools/FrustumDecoration.js +365 -0
  308. package/lib/esm/tools/FrustumDecoration.js.map +1 -0
  309. package/lib/esm/tools/InspectElementTool.d.ts +42 -0
  310. package/lib/esm/tools/InspectElementTool.d.ts.map +1 -0
  311. package/lib/esm/tools/InspectElementTool.js +181 -0
  312. package/lib/esm/tools/InspectElementTool.js.map +1 -0
  313. package/lib/esm/tools/MapLayerTool.d.ts +248 -0
  314. package/lib/esm/tools/MapLayerTool.d.ts.map +1 -0
  315. package/lib/esm/tools/MapLayerTool.js +442 -0
  316. package/lib/esm/tools/MapLayerTool.js.map +1 -0
  317. package/lib/esm/tools/MeasureTileLoadTime.d.ts +13 -0
  318. package/lib/esm/tools/MeasureTileLoadTime.d.ts.map +1 -0
  319. package/lib/esm/tools/MeasureTileLoadTime.js +57 -0
  320. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -0
  321. package/lib/esm/tools/ModelAppearanceTools.d.ts +87 -0
  322. package/lib/esm/tools/ModelAppearanceTools.d.ts.map +1 -0
  323. package/lib/esm/tools/ModelAppearanceTools.js +173 -0
  324. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -0
  325. package/lib/esm/tools/PlanProjectionTools.d.ts +41 -0
  326. package/lib/esm/tools/PlanProjectionTools.d.ts.map +1 -0
  327. package/lib/esm/tools/PlanProjectionTools.js +144 -0
  328. package/lib/esm/tools/PlanProjectionTools.js.map +1 -0
  329. package/lib/esm/tools/PlanarMaskTools.d.ts +182 -0
  330. package/lib/esm/tools/PlanarMaskTools.d.ts.map +1 -0
  331. package/lib/esm/tools/PlanarMaskTools.js +350 -0
  332. package/lib/esm/tools/PlanarMaskTools.js.map +1 -0
  333. package/lib/esm/tools/ProjectExtents.d.ts +41 -0
  334. package/lib/esm/tools/ProjectExtents.d.ts.map +1 -0
  335. package/lib/esm/tools/ProjectExtents.js +102 -0
  336. package/lib/esm/tools/ProjectExtents.js.map +1 -0
  337. package/lib/esm/tools/RealityModelTools.d.ts +117 -0
  338. package/lib/esm/tools/RealityModelTools.d.ts.map +1 -0
  339. package/lib/esm/tools/RealityModelTools.js +256 -0
  340. package/lib/esm/tools/RealityModelTools.js.map +1 -0
  341. package/lib/esm/tools/RealityTransitionTool.d.ts +26 -0
  342. package/lib/esm/tools/RealityTransitionTool.d.ts.map +1 -0
  343. package/lib/esm/tools/RealityTransitionTool.js +113 -0
  344. package/lib/esm/tools/RealityTransitionTool.js.map +1 -0
  345. package/lib/esm/tools/RenderSystemTools.d.ts +46 -0
  346. package/lib/esm/tools/RenderSystemTools.d.ts.map +1 -0
  347. package/lib/esm/tools/RenderSystemTools.js +73 -0
  348. package/lib/esm/tools/RenderSystemTools.js.map +1 -0
  349. package/lib/esm/tools/RenderTargetTools.d.ts +101 -0
  350. package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -0
  351. package/lib/esm/tools/RenderTargetTools.js +153 -0
  352. package/lib/esm/tools/RenderTargetTools.js.map +1 -0
  353. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +12 -0
  354. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts.map +1 -0
  355. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +27 -0
  356. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -0
  357. package/lib/esm/tools/SavedViews.d.ts +47 -0
  358. package/lib/esm/tools/SavedViews.d.ts.map +1 -0
  359. package/lib/esm/tools/SavedViews.js +129 -0
  360. package/lib/esm/tools/SavedViews.js.map +1 -0
  361. package/lib/esm/tools/SelectionTools.d.ts +17 -0
  362. package/lib/esm/tools/SelectionTools.d.ts.map +1 -0
  363. package/lib/esm/tools/SelectionTools.js +24 -0
  364. package/lib/esm/tools/SelectionTools.js.map +1 -0
  365. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +16 -0
  366. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts.map +1 -0
  367. package/lib/esm/tools/SetGpuMemoryLimitTool.js +30 -0
  368. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -0
  369. package/lib/esm/tools/SourceAspectIdTools.d.ts +41 -0
  370. package/lib/esm/tools/SourceAspectIdTools.d.ts.map +1 -0
  371. package/lib/esm/tools/SourceAspectIdTools.js +81 -0
  372. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -0
  373. package/lib/esm/tools/TileRequestDecoration.d.ts +13 -0
  374. package/lib/esm/tools/TileRequestDecoration.d.ts.map +1 -0
  375. package/lib/esm/tools/TileRequestDecoration.js +80 -0
  376. package/lib/esm/tools/TileRequestDecoration.js.map +1 -0
  377. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +12 -0
  378. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts.map +1 -0
  379. package/lib/esm/tools/TileTreeBoundsDecoration.js +71 -0
  380. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -0
  381. package/lib/esm/tools/ToolTipProvider.d.ts +16 -0
  382. package/lib/esm/tools/ToolTipProvider.d.ts.map +1 -0
  383. package/lib/esm/tools/ToolTipProvider.js +63 -0
  384. package/lib/esm/tools/ToolTipProvider.js.map +1 -0
  385. package/lib/esm/tools/ViewportTools.d.ts +194 -0
  386. package/lib/esm/tools/ViewportTools.d.ts.map +1 -0
  387. package/lib/esm/tools/ViewportTools.js +429 -0
  388. package/lib/esm/tools/ViewportTools.js.map +1 -0
  389. package/lib/esm/tools/parseArgs.d.ts +24 -0
  390. package/lib/esm/tools/parseArgs.d.ts.map +1 -0
  391. package/lib/esm/tools/parseArgs.js +48 -0
  392. package/lib/esm/tools/parseArgs.js.map +1 -0
  393. package/lib/esm/tools/parseBoolean.d.ts +9 -0
  394. package/lib/esm/tools/parseBoolean.d.ts.map +1 -0
  395. package/lib/esm/tools/parseBoolean.js +23 -0
  396. package/lib/esm/tools/parseBoolean.js.map +1 -0
  397. package/lib/esm/tools/parseToggle.d.ts +9 -0
  398. package/lib/esm/tools/parseToggle.d.ts.map +1 -0
  399. package/lib/esm/tools/parseToggle.js +22 -0
  400. package/lib/esm/tools/parseToggle.js.map +1 -0
  401. package/lib/esm/ui/Button.d.ts +30 -0
  402. package/lib/esm/ui/Button.d.ts.map +1 -0
  403. package/lib/esm/ui/Button.js +23 -0
  404. package/lib/esm/ui/Button.js.map +1 -0
  405. package/lib/esm/ui/CheckBox.d.ts +24 -0
  406. package/lib/esm/ui/CheckBox.d.ts.map +1 -0
  407. package/lib/esm/ui/CheckBox.js +24 -0
  408. package/lib/esm/ui/CheckBox.js.map +1 -0
  409. package/lib/esm/ui/ColorInput.d.ts +28 -0
  410. package/lib/esm/ui/ColorInput.d.ts.map +1 -0
  411. package/lib/esm/ui/ColorInput.js +49 -0
  412. package/lib/esm/ui/ColorInput.js.map +1 -0
  413. package/lib/esm/ui/ComboBox.d.ts +29 -0
  414. package/lib/esm/ui/ComboBox.d.ts.map +1 -0
  415. package/lib/esm/ui/ComboBox.js +39 -0
  416. package/lib/esm/ui/ComboBox.js.map +1 -0
  417. package/lib/esm/ui/DataList.d.ts +28 -0
  418. package/lib/esm/ui/DataList.d.ts.map +1 -0
  419. package/lib/esm/ui/DataList.js +35 -0
  420. package/lib/esm/ui/DataList.js.map +1 -0
  421. package/lib/esm/ui/NestedMenu.d.ts +20 -0
  422. package/lib/esm/ui/NestedMenu.d.ts.map +1 -0
  423. package/lib/esm/ui/NestedMenu.js +43 -0
  424. package/lib/esm/ui/NestedMenu.js.map +1 -0
  425. package/lib/esm/ui/NumericInput.d.ts +35 -0
  426. package/lib/esm/ui/NumericInput.d.ts.map +1 -0
  427. package/lib/esm/ui/NumericInput.js +55 -0
  428. package/lib/esm/ui/NumericInput.js.map +1 -0
  429. package/lib/esm/ui/RadioBox.d.ts +29 -0
  430. package/lib/esm/ui/RadioBox.d.ts.map +1 -0
  431. package/lib/esm/ui/RadioBox.js +73 -0
  432. package/lib/esm/ui/RadioBox.js.map +1 -0
  433. package/lib/esm/ui/Slider.d.ts +25 -0
  434. package/lib/esm/ui/Slider.d.ts.map +1 -0
  435. package/lib/esm/ui/Slider.js +29 -0
  436. package/lib/esm/ui/Slider.js.map +1 -0
  437. package/lib/esm/ui/TextBox.d.ts +33 -0
  438. package/lib/esm/ui/TextBox.d.ts.map +1 -0
  439. package/lib/esm/ui/TextBox.js +53 -0
  440. package/lib/esm/ui/TextBox.js.map +1 -0
  441. package/lib/esm/widgets/DiagnosticsPanel.d.ts +36 -0
  442. package/lib/esm/widgets/DiagnosticsPanel.d.ts.map +1 -0
  443. package/lib/esm/widgets/DiagnosticsPanel.js +72 -0
  444. package/lib/{widgets → esm/widgets}/DiagnosticsPanel.js.map +1 -1
  445. package/lib/esm/widgets/FpsTracker.d.ts +20 -0
  446. package/lib/esm/widgets/FpsTracker.d.ts.map +1 -0
  447. package/lib/esm/widgets/FpsTracker.js +53 -0
  448. package/lib/esm/widgets/FpsTracker.js.map +1 -0
  449. package/lib/esm/widgets/GpuProfiler.d.ts +17 -0
  450. package/lib/esm/widgets/GpuProfiler.d.ts.map +1 -0
  451. package/lib/esm/widgets/GpuProfiler.js +189 -0
  452. package/lib/esm/widgets/GpuProfiler.js.map +1 -0
  453. package/lib/esm/widgets/KeyinField.d.ts +62 -0
  454. package/lib/esm/widgets/KeyinField.d.ts.map +1 -0
  455. package/lib/esm/widgets/KeyinField.js +184 -0
  456. package/lib/esm/widgets/KeyinField.js.map +1 -0
  457. package/lib/esm/widgets/MemoryTracker.d.ts +28 -0
  458. package/lib/esm/widgets/MemoryTracker.d.ts.map +1 -0
  459. package/lib/esm/widgets/MemoryTracker.js +239 -0
  460. package/lib/esm/widgets/MemoryTracker.js.map +1 -0
  461. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +31 -0
  462. package/lib/esm/widgets/TileMemoryBreakdown.d.ts.map +1 -0
  463. package/lib/esm/widgets/TileMemoryBreakdown.js +201 -0
  464. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -0
  465. package/lib/esm/widgets/TileStatisticsTracker.d.ts +22 -0
  466. package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -0
  467. package/lib/esm/widgets/TileStatisticsTracker.js +139 -0
  468. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -0
  469. package/lib/esm/widgets/ToolSettingsTracker.d.ts +10 -0
  470. package/lib/esm/widgets/ToolSettingsTracker.d.ts.map +1 -0
  471. package/lib/esm/widgets/ToolSettingsTracker.js +178 -0
  472. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -0
  473. package/package.json +16 -12
  474. package/lib/ClipboardUtilities.d.ts.map +0 -1
  475. package/lib/ClipboardUtilities.js.map +0 -1
  476. package/lib/FrontEndDevTools.d.ts.map +0 -1
  477. package/lib/FrontEndDevTools.js.map +0 -1
  478. package/lib/effects/Convolution.d.ts.map +0 -1
  479. package/lib/effects/Convolution.js.map +0 -1
  480. package/lib/effects/EffectTools.d.ts.map +0 -1
  481. package/lib/effects/EffectTools.js.map +0 -1
  482. package/lib/effects/Explosion.d.ts.map +0 -1
  483. package/lib/effects/Explosion.js.map +0 -1
  484. package/lib/effects/FlipImage.d.ts.map +0 -1
  485. package/lib/effects/FlipImage.js.map +0 -1
  486. package/lib/effects/LensDistortion.d.ts.map +0 -1
  487. package/lib/effects/LensDistortion.js.map +0 -1
  488. package/lib/effects/Random.d.ts.map +0 -1
  489. package/lib/effects/Random.js.map +0 -1
  490. package/lib/effects/Saturation.d.ts.map +0 -1
  491. package/lib/effects/Saturation.js.map +0 -1
  492. package/lib/effects/Snow.d.ts.map +0 -1
  493. package/lib/effects/Snow.js.map +0 -1
  494. package/lib/effects/Vignette.d.ts.map +0 -1
  495. package/lib/effects/Vignette.js.map +0 -1
  496. package/lib/frontend-devtools.d.ts.map +0 -1
  497. package/lib/frontend-devtools.js.map +0 -1
  498. package/lib/tools/AnimationIntervalTool.d.ts.map +0 -1
  499. package/lib/tools/AnimationIntervalTool.js.map +0 -1
  500. package/lib/tools/ChangeUnitsTool.d.ts.map +0 -1
  501. package/lib/tools/ChangeUnitsTool.js.map +0 -1
  502. package/lib/tools/ClipTools.d.ts.map +0 -1
  503. package/lib/tools/ClipTools.js.map +0 -1
  504. package/lib/tools/DisplayStyleTools.d.ts.map +0 -1
  505. package/lib/tools/DisplayStyleTools.js.map +0 -1
  506. package/lib/tools/EmphasizeElementsTool.d.ts.map +0 -1
  507. package/lib/tools/EmphasizeElementsTool.js.map +0 -1
  508. package/lib/tools/FrustumDecoration.d.ts.map +0 -1
  509. package/lib/tools/FrustumDecoration.js.map +0 -1
  510. package/lib/tools/InspectElementTool.d.ts.map +0 -1
  511. package/lib/tools/InspectElementTool.js.map +0 -1
  512. package/lib/tools/MapLayerTool.d.ts.map +0 -1
  513. package/lib/tools/MapLayerTool.js.map +0 -1
  514. package/lib/tools/MeasureTileLoadTime.d.ts.map +0 -1
  515. package/lib/tools/MeasureTileLoadTime.js.map +0 -1
  516. package/lib/tools/ModelAppearanceTools.d.ts.map +0 -1
  517. package/lib/tools/ModelAppearanceTools.js.map +0 -1
  518. package/lib/tools/PlanProjectionTools.d.ts.map +0 -1
  519. package/lib/tools/PlanProjectionTools.js.map +0 -1
  520. package/lib/tools/PlanarMaskTools.d.ts.map +0 -1
  521. package/lib/tools/PlanarMaskTools.js.map +0 -1
  522. package/lib/tools/ProjectExtents.d.ts.map +0 -1
  523. package/lib/tools/ProjectExtents.js.map +0 -1
  524. package/lib/tools/RealityModelTools.d.ts.map +0 -1
  525. package/lib/tools/RealityModelTools.js.map +0 -1
  526. package/lib/tools/RealityTransitionTool.d.ts.map +0 -1
  527. package/lib/tools/RealityTransitionTool.js.map +0 -1
  528. package/lib/tools/RenderSystemTools.d.ts.map +0 -1
  529. package/lib/tools/RenderSystemTools.js.map +0 -1
  530. package/lib/tools/RenderTargetTools.d.ts.map +0 -1
  531. package/lib/tools/RenderTargetTools.js.map +0 -1
  532. package/lib/tools/ReportWebGLCompatibilityTool.d.ts.map +0 -1
  533. package/lib/tools/ReportWebGLCompatibilityTool.js.map +0 -1
  534. package/lib/tools/SavedViews.d.ts.map +0 -1
  535. package/lib/tools/SavedViews.js.map +0 -1
  536. package/lib/tools/SelectionTools.d.ts.map +0 -1
  537. package/lib/tools/SelectionTools.js.map +0 -1
  538. package/lib/tools/SetGpuMemoryLimitTool.d.ts.map +0 -1
  539. package/lib/tools/SetGpuMemoryLimitTool.js.map +0 -1
  540. package/lib/tools/SourceAspectIdTools.d.ts.map +0 -1
  541. package/lib/tools/SourceAspectIdTools.js.map +0 -1
  542. package/lib/tools/TileRequestDecoration.d.ts.map +0 -1
  543. package/lib/tools/TileRequestDecoration.js.map +0 -1
  544. package/lib/tools/TileTreeBoundsDecoration.d.ts.map +0 -1
  545. package/lib/tools/TileTreeBoundsDecoration.js.map +0 -1
  546. package/lib/tools/ToolTipProvider.d.ts.map +0 -1
  547. package/lib/tools/ToolTipProvider.js.map +0 -1
  548. package/lib/tools/ViewportTools.d.ts.map +0 -1
  549. package/lib/tools/ViewportTools.js.map +0 -1
  550. package/lib/tools/parseArgs.d.ts.map +0 -1
  551. package/lib/tools/parseArgs.js.map +0 -1
  552. package/lib/tools/parseBoolean.d.ts.map +0 -1
  553. package/lib/tools/parseBoolean.js.map +0 -1
  554. package/lib/tools/parseToggle.d.ts.map +0 -1
  555. package/lib/tools/parseToggle.js.map +0 -1
  556. package/lib/ui/Button.d.ts.map +0 -1
  557. package/lib/ui/Button.js.map +0 -1
  558. package/lib/ui/CheckBox.d.ts.map +0 -1
  559. package/lib/ui/CheckBox.js.map +0 -1
  560. package/lib/ui/ColorInput.d.ts.map +0 -1
  561. package/lib/ui/ColorInput.js.map +0 -1
  562. package/lib/ui/ComboBox.d.ts.map +0 -1
  563. package/lib/ui/ComboBox.js.map +0 -1
  564. package/lib/ui/DataList.d.ts.map +0 -1
  565. package/lib/ui/DataList.js.map +0 -1
  566. package/lib/ui/NestedMenu.d.ts.map +0 -1
  567. package/lib/ui/NestedMenu.js.map +0 -1
  568. package/lib/ui/NumericInput.d.ts.map +0 -1
  569. package/lib/ui/NumericInput.js.map +0 -1
  570. package/lib/ui/RadioBox.d.ts.map +0 -1
  571. package/lib/ui/RadioBox.js.map +0 -1
  572. package/lib/ui/Slider.d.ts.map +0 -1
  573. package/lib/ui/Slider.js.map +0 -1
  574. package/lib/ui/TextBox.d.ts.map +0 -1
  575. package/lib/ui/TextBox.js.map +0 -1
  576. package/lib/widgets/DiagnosticsPanel.d.ts.map +0 -1
  577. package/lib/widgets/FpsTracker.d.ts.map +0 -1
  578. package/lib/widgets/FpsTracker.js.map +0 -1
  579. package/lib/widgets/GpuProfiler.d.ts.map +0 -1
  580. package/lib/widgets/GpuProfiler.js.map +0 -1
  581. package/lib/widgets/KeyinField.d.ts.map +0 -1
  582. package/lib/widgets/KeyinField.js.map +0 -1
  583. package/lib/widgets/MemoryTracker.d.ts.map +0 -1
  584. package/lib/widgets/MemoryTracker.js.map +0 -1
  585. package/lib/widgets/TileMemoryBreakdown.d.ts.map +0 -1
  586. package/lib/widgets/TileMemoryBreakdown.js.map +0 -1
  587. package/lib/widgets/TileStatisticsTracker.d.ts.map +0 -1
  588. package/lib/widgets/TileStatisticsTracker.js.map +0 -1
  589. package/lib/widgets/ToolSettingsTracker.d.ts.map +0 -1
  590. package/lib/widgets/ToolSettingsTracker.js.map +0 -1
@@ -0,0 +1,99 @@
1
+ /** @packageDocumentation
2
+ * @module Tools
3
+ */
4
+ import { ViewFlags } from "@itwin/core-common";
5
+ import { Tool, Viewport } from "@itwin/core-frontend";
6
+ /** Modifies the selected viewport's DisplayStyleState.
7
+ * @beta
8
+ */
9
+ export declare abstract class DisplayStyleTool extends Tool {
10
+ protected get require3d(): boolean;
11
+ protected abstract execute(vp: Viewport): boolean;
12
+ protected abstract parse(args: string[]): boolean;
13
+ run(): Promise<boolean>;
14
+ parseAndRun(...args: string[]): Promise<boolean>;
15
+ }
16
+ /** Modifies the selected viewport's ViewFlags.
17
+ * The keyin syntax is as follows:
18
+ * fdt change viewflags flag=value
19
+ * Where 'flag' is one of the BooleanFlagName values, or "renderMode"; and value is an integer.
20
+ * For boolean flags, value is 0 for false or 1 for true. For renderMode, value is one of the RenderMode enum values.
21
+ * Flag names are case-insensitive.
22
+ * @beta
23
+ */
24
+ export declare class ChangeViewFlagsTool extends Tool {
25
+ static toolId: string;
26
+ static get maxArgs(): undefined;
27
+ static get minArgs(): number;
28
+ run(vf: ViewFlags, vp?: Viewport): Promise<boolean>;
29
+ parseAndRun(...args: string[]): Promise<boolean>;
30
+ }
31
+ /** Toggles the skybox.
32
+ * @beta
33
+ */
34
+ export declare class ToggleSkyboxTool extends DisplayStyleTool {
35
+ static toolId: string;
36
+ get require3d(): boolean;
37
+ parse(_args: string[]): boolean;
38
+ execute(vp: Viewport): boolean;
39
+ }
40
+ /** Outputs (and optionally copies to the clipboard) a "rendering style" as a partial DisplayStyle3dSettingsProps JSON object based
41
+ * on the current view's display style settings.
42
+ * All arguments are optional, of the form "name=value" where `value` is 0 for false or 1 for true. All arguments default to `false` if omitted.
43
+ * @see [DisplayStyleSettings.toOverrides]($common) for details.
44
+ * Arguments:
45
+ * * `all`: include all settings.
46
+ * * `imodel`: include iModel-specific settings.
47
+ * * `project`: include iTwin-specific (formerly known as project) settings.
48
+ * * `map`: include background map settings.
49
+ * * `drawingaids`: include drawing aid decoration settings.
50
+ * * `copy`: copy result to system clipboarad.
51
+ * * `quote`: format the JSON so it can be parsed directly by [ApplyRenderingStyleTool].
52
+ * @beta
53
+ */
54
+ export declare class SaveRenderingStyleTool extends DisplayStyleTool {
55
+ private _options;
56
+ private _copyToClipboard;
57
+ private _quote;
58
+ static toolId: string;
59
+ static get minArgs(): number;
60
+ static get maxArgs(): number;
61
+ parse(inputArgs: string[]): boolean;
62
+ execute(vp: Viewport): boolean;
63
+ }
64
+ /** Given a "rendering style" as a partial DisplayStyle3dSettingsProperties JSON string, apply it to the selected viewport's display style.
65
+ * @see [DisplayStyleSettings.applyOverrides]($common) for details.
66
+ * @beta
67
+ */
68
+ export declare class ApplyRenderingStyleTool extends DisplayStyleTool {
69
+ private _overrides?;
70
+ static toolId: string;
71
+ static get minArgs(): number;
72
+ static get maxArgs(): number;
73
+ parse(args: string[]): boolean;
74
+ execute(vp: Viewport): boolean;
75
+ }
76
+ /** Apply appearance overrides to one or more subcategories in the active viewport.
77
+ * @beta
78
+ */
79
+ export declare class OverrideSubCategoryTool extends DisplayStyleTool {
80
+ private _overrideProps;
81
+ private _subcategoryIds;
82
+ static toolId: string;
83
+ static get minArgs(): number;
84
+ static get maxArgs(): number;
85
+ parse(inArgs: string[]): boolean;
86
+ execute(vp: Viewport): boolean;
87
+ }
88
+ /** Set whether background color is ignored when applying white-on-white reversal.
89
+ * @beta
90
+ */
91
+ export declare class WoWIgnoreBackgroundTool extends DisplayStyleTool {
92
+ private _ignore?;
93
+ static toolId: string;
94
+ static get minArgs(): number;
95
+ static get maxArgs(): number;
96
+ parse(args: string[]): boolean;
97
+ execute(vp: Viewport): boolean;
98
+ }
99
+ //# sourceMappingURL=DisplayStyleTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayStyleTools.d.ts","sourceRoot":"","sources":["../../../src/tools/DisplayStyleTools.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,EAC8G,SAAS,EAE7H,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACqF,IAAI,EAAE,QAAQ,EACzG,MAAM,sBAAsB,CAAC;AAiB9B;;GAEG;AACH,8BAAsB,gBAAiB,SAAQ,IAAI;IACjD,SAAS,KAAK,SAAS,YAAoB;IAE3C,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;IAEjD,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO;IAE3B,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;IAQvB,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAOvE;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,IAAI;IAC3C,OAAuB,MAAM,SAAqB;IAClD,WAA2B,OAAO,cAAwB;IAC1D,WAA2B,OAAO,WAAgB;IAE5B,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAOnD,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CA2CvE;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,gBAAgB;IACpD,OAAuB,MAAM,SAAkB;IAE/C,IAAoB,SAAS,YAAmB;IAEzC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE;IAErB,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;CAKtC;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,sBAAuB,SAAQ,gBAAgB;IAC1D,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAuB,MAAM,SAAwB;IAErD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAE3C,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE;IAiBzB,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;CAWtC;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,UAAU,CAAC,CAA8B;IAEjD,OAAuB,MAAM,SAAyB;IAEtD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAE3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE;IAUpB,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;CAMtC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAuB,MAAM,SAAyB;IACtD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAE3C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO;IAkBhC,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;CAOtC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,OAAO,CAAC,OAAO,CAAC,CAAU;IAE1B,OAAuB,MAAM,SAAyB;IACtD,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAE3C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO;IAS9B,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO;CAKtC"}
@@ -0,0 +1,232 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Tools
7
+ */
8
+ import { RenderMode, SubCategoryOverride, ViewFlags, WhiteOnWhiteReversalSettings, } from "@itwin/core-common";
9
+ import { Environment, IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, } from "@itwin/core-frontend";
10
+ import { copyStringToClipboard } from "../ClipboardUtilities";
11
+ import { parseArgs } from "./parseArgs";
12
+ import { parseToggle } from "./parseToggle";
13
+ // Compiler has the info to construct this array for us, but we have no access to it...
14
+ const booleanFlagNames = [
15
+ "dimensions", "patterns", "weights", "styles", "transparency", "fill", "textures", "materials", "acsTriad", "grid", "visibleEdges",
16
+ "hiddenEdges", "lighting", "shadows", "clipVolume", "constructions", "monochrome", "backgroundMap", "ambientOcclusion", "forceSurfaceDiscard",
17
+ ];
18
+ const lowercaseBooleanFlagNames = booleanFlagNames.map((name) => name.toLowerCase());
19
+ /** Modifies the selected viewport's DisplayStyleState.
20
+ * @beta
21
+ */
22
+ export class DisplayStyleTool extends Tool {
23
+ get require3d() { return false; }
24
+ async run() {
25
+ const vp = IModelApp.viewManager.selectedView;
26
+ if (undefined !== vp && (!this.require3d || vp.view.is3d()) && this.execute(vp))
27
+ vp.displayStyle = vp.view.displayStyle;
28
+ return true;
29
+ }
30
+ async parseAndRun(...args) {
31
+ const vp = IModelApp.viewManager.selectedView;
32
+ if (undefined !== vp && (!this.require3d || vp.view.is3d()) && this.parse(args))
33
+ return this.run();
34
+ else
35
+ return false;
36
+ }
37
+ }
38
+ /** Modifies the selected viewport's ViewFlags.
39
+ * The keyin syntax is as follows:
40
+ * fdt change viewflags flag=value
41
+ * Where 'flag' is one of the BooleanFlagName values, or "renderMode"; and value is an integer.
42
+ * For boolean flags, value is 0 for false or 1 for true. For renderMode, value is one of the RenderMode enum values.
43
+ * Flag names are case-insensitive.
44
+ * @beta
45
+ */
46
+ export class ChangeViewFlagsTool extends Tool {
47
+ static get maxArgs() { return undefined; }
48
+ static get minArgs() { return 1; }
49
+ async run(vf, vp) {
50
+ if (undefined !== vf && undefined !== vp)
51
+ vp.viewFlags = vf;
52
+ return true;
53
+ }
54
+ async parseAndRun(...args) {
55
+ const vp = IModelApp.viewManager.selectedView;
56
+ if (undefined === vp || 0 === args.length)
57
+ return true;
58
+ const vf = { ...vp.viewFlags };
59
+ for (const arg of args) {
60
+ const parts = arg.split("=");
61
+ if (2 !== parts.length)
62
+ continue;
63
+ const value = parseInt(parts[1], 10);
64
+ if (Number.isNaN(value))
65
+ continue;
66
+ const name = parts[0].toLowerCase();
67
+ if (name === "rendermode") {
68
+ switch (value) {
69
+ case RenderMode.SmoothShade:
70
+ case RenderMode.Wireframe:
71
+ case RenderMode.HiddenLine:
72
+ case RenderMode.SolidFill:
73
+ vf.renderMode = value;
74
+ vp.invalidateRenderPlan();
75
+ break;
76
+ }
77
+ continue;
78
+ }
79
+ if (0 !== value && 1 !== value)
80
+ continue;
81
+ const index = lowercaseBooleanFlagNames.indexOf(name);
82
+ if (-1 !== index) {
83
+ const propName = booleanFlagNames[index];
84
+ vf[propName] = 0 !== value;
85
+ vp.invalidateRenderPlan();
86
+ }
87
+ }
88
+ return this.run(new ViewFlags(vf), vp);
89
+ }
90
+ }
91
+ ChangeViewFlagsTool.toolId = "ChangeViewFlags";
92
+ /** Toggles the skybox.
93
+ * @beta
94
+ */
95
+ export class ToggleSkyboxTool extends DisplayStyleTool {
96
+ get require3d() { return true; }
97
+ parse(_args) { return true; } // no arguments
98
+ execute(vp) {
99
+ const style = vp.view.displayStyle;
100
+ style.environment = new Environment({ sky: { display: !style.environment.sky.display } });
101
+ return true;
102
+ }
103
+ }
104
+ ToggleSkyboxTool.toolId = "ToggleSkybox";
105
+ /** Outputs (and optionally copies to the clipboard) a "rendering style" as a partial DisplayStyle3dSettingsProps JSON object based
106
+ * on the current view's display style settings.
107
+ * All arguments are optional, of the form "name=value" where `value` is 0 for false or 1 for true. All arguments default to `false` if omitted.
108
+ * @see [DisplayStyleSettings.toOverrides]($common) for details.
109
+ * Arguments:
110
+ * * `all`: include all settings.
111
+ * * `imodel`: include iModel-specific settings.
112
+ * * `project`: include iTwin-specific (formerly known as project) settings.
113
+ * * `map`: include background map settings.
114
+ * * `drawingaids`: include drawing aid decoration settings.
115
+ * * `copy`: copy result to system clipboarad.
116
+ * * `quote`: format the JSON so it can be parsed directly by [ApplyRenderingStyleTool].
117
+ * @beta
118
+ */
119
+ export class SaveRenderingStyleTool extends DisplayStyleTool {
120
+ constructor() {
121
+ super(...arguments);
122
+ this._options = {};
123
+ this._copyToClipboard = false;
124
+ this._quote = false;
125
+ }
126
+ static get minArgs() { return 0; }
127
+ static get maxArgs() { return 7; }
128
+ parse(inputArgs) {
129
+ const args = parseArgs(inputArgs);
130
+ function getArg(name) {
131
+ return args.getBoolean(name) ? true : undefined;
132
+ }
133
+ this._options.includeAll = getArg("a");
134
+ this._options.includeIModelSpecific = getArg("i");
135
+ this._options.includeITwinSpecific = getArg("p"); // "p" for backwards compatibility with old "project" terminology
136
+ this._options.includeBackgroundMap = getArg("m");
137
+ this._options.includeDrawingAids = getArg("d");
138
+ this._copyToClipboard = true === getArg("c");
139
+ this._quote = true === getArg("q");
140
+ return true;
141
+ }
142
+ execute(vp) {
143
+ let json = JSON.stringify(vp.displayStyle.settings.toOverrides(this._options));
144
+ if (this._quote)
145
+ json = `"${json.replace(/"/g, '""')}"`;
146
+ IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, "Rendering style saved", json));
147
+ if (this._copyToClipboard)
148
+ copyStringToClipboard(json);
149
+ return false;
150
+ }
151
+ }
152
+ SaveRenderingStyleTool.toolId = "SaveRenderingStyle";
153
+ /** Given a "rendering style" as a partial DisplayStyle3dSettingsProperties JSON string, apply it to the selected viewport's display style.
154
+ * @see [DisplayStyleSettings.applyOverrides]($common) for details.
155
+ * @beta
156
+ */
157
+ export class ApplyRenderingStyleTool extends DisplayStyleTool {
158
+ static get minArgs() { return 1; }
159
+ static get maxArgs() { return 1; }
160
+ parse(args) {
161
+ try {
162
+ this._overrides = JSON.parse(args[0]);
163
+ return true;
164
+ }
165
+ catch {
166
+ IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, "Invalid JSON"));
167
+ return false;
168
+ }
169
+ }
170
+ execute(vp) {
171
+ if (this._overrides)
172
+ vp.overrideDisplayStyle(this._overrides);
173
+ return false;
174
+ }
175
+ }
176
+ ApplyRenderingStyleTool.toolId = "ApplyRenderingStyle";
177
+ /** Apply appearance overrides to one or more subcategories in the active viewport.
178
+ * @beta
179
+ */
180
+ export class OverrideSubCategoryTool extends DisplayStyleTool {
181
+ constructor() {
182
+ super(...arguments);
183
+ this._overrideProps = {};
184
+ this._subcategoryIds = [];
185
+ }
186
+ static get minArgs() { return 1; }
187
+ static get maxArgs() { return 7; }
188
+ parse(inArgs) {
189
+ const args = parseArgs(inArgs);
190
+ const ids = args.get("i");
191
+ if (ids)
192
+ this._subcategoryIds = ids.split(",");
193
+ const props = this._overrideProps;
194
+ props.color = args.getInteger("c");
195
+ props.weight = args.getInteger("w");
196
+ props.priority = args.getInteger("p");
197
+ props.transp = args.getFloat("t");
198
+ props.material = args.get("m");
199
+ const visible = args.getBoolean("v");
200
+ props.invisible = typeof visible === "boolean" ? !visible : undefined;
201
+ return true;
202
+ }
203
+ execute(vp) {
204
+ const ovr = SubCategoryOverride.fromJSON(this._overrideProps);
205
+ for (const id of this._subcategoryIds)
206
+ vp.displayStyle.overrideSubCategory(id, ovr);
207
+ return true;
208
+ }
209
+ }
210
+ OverrideSubCategoryTool.toolId = "OverrideSubCategory";
211
+ /** Set whether background color is ignored when applying white-on-white reversal.
212
+ * @beta
213
+ */
214
+ export class WoWIgnoreBackgroundTool extends DisplayStyleTool {
215
+ static get minArgs() { return 0; }
216
+ static get maxArgs() { return 1; }
217
+ parse(args) {
218
+ const ignore = parseToggle(args[0]);
219
+ if (typeof ignore === "string")
220
+ return false;
221
+ this._ignore = ignore;
222
+ return true;
223
+ }
224
+ execute(vp) {
225
+ var _a;
226
+ const ignoreBackgroundColor = (_a = this._ignore) !== null && _a !== void 0 ? _a : !vp.displayStyle.settings.whiteOnWhiteReversal.ignoreBackgroundColor;
227
+ vp.displayStyle.settings.whiteOnWhiteReversal = WhiteOnWhiteReversalSettings.fromJSON({ ignoreBackgroundColor });
228
+ return true;
229
+ }
230
+ }
231
+ WoWIgnoreBackgroundTool.toolId = "WoWIgnoreBackground";
232
+ //# sourceMappingURL=DisplayStyleTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayStyleTools.js","sourceRoot":"","sources":["../../../src/tools/DisplayStyleTools.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 {\r\n DisplayStyle3dSettingsProps, DisplayStyleOverridesOptions, RenderMode, SubCategoryAppearance, SubCategoryOverride, ViewFlags, ViewFlagsProperties,\r\n WhiteOnWhiteReversalSettings,\r\n} from \"@itwin/core-common\";\r\nimport {\r\n DisplayStyle3dState, Environment, IModelApp, NotifyMessageDetails, OutputMessagePriority, Tool, Viewport,\r\n} from \"@itwin/core-frontend\";\r\nimport { copyStringToClipboard } from \"../ClipboardUtilities\";\r\nimport { parseArgs } from \"./parseArgs\";\r\nimport { parseToggle } from \"./parseToggle\";\r\n\r\ntype BooleanFlagName =\r\n \"dimensions\" | \"patterns\" | \"weights\" | \"styles\" | \"transparency\" | \"fill\" | \"textures\" | \"materials\" | \"acsTriad\" | \"grid\" | \"visibleEdges\" |\r\n \"hiddenEdges\" | \"lighting\" | \"shadows\" | \"clipVolume\" | \"constructions\" | \"monochrome\" | \"backgroundMap\" | \"ambientOcclusion\" | \"forceSurfaceDiscard\";\r\n\r\n// Compiler has the info to construct this array for us, but we have no access to it...\r\nconst booleanFlagNames: BooleanFlagName[] = [\r\n \"dimensions\", \"patterns\", \"weights\", \"styles\", \"transparency\", \"fill\", \"textures\", \"materials\", \"acsTriad\", \"grid\", \"visibleEdges\",\r\n \"hiddenEdges\", \"lighting\", \"shadows\", \"clipVolume\", \"constructions\", \"monochrome\", \"backgroundMap\", \"ambientOcclusion\", \"forceSurfaceDiscard\",\r\n];\r\n\r\nconst lowercaseBooleanFlagNames = booleanFlagNames.map((name) => name.toLowerCase());\r\n\r\n/** Modifies the selected viewport's DisplayStyleState.\r\n * @beta\r\n */\r\nexport abstract class DisplayStyleTool extends Tool {\r\n protected get require3d() { return false; }\r\n // Return true if the display style was modified - we will invalidate the viewport's render plan.\r\n protected abstract execute(vp: Viewport): boolean;\r\n // Return false if failed to parse.\r\n protected abstract parse(args: string[]): boolean;\r\n\r\n public override async run(): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined !== vp && (!this.require3d || vp.view.is3d()) && this.execute(vp))\r\n vp.displayStyle = vp.view.displayStyle;\r\n\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined !== vp && (!this.require3d || vp.view.is3d()) && this.parse(args))\r\n return this.run();\r\n else\r\n return false;\r\n }\r\n}\r\n\r\n/** Modifies the selected viewport's ViewFlags.\r\n * The keyin syntax is as follows:\r\n * fdt change viewflags flag=value\r\n * Where 'flag' is one of the BooleanFlagName values, or \"renderMode\"; and value is an integer.\r\n * For boolean flags, value is 0 for false or 1 for true. For renderMode, value is one of the RenderMode enum values.\r\n * Flag names are case-insensitive.\r\n * @beta\r\n */\r\nexport class ChangeViewFlagsTool extends Tool {\r\n public static override toolId = \"ChangeViewFlags\";\r\n public static override get maxArgs() { return undefined; }\r\n public static override get minArgs() { return 1; }\r\n\r\n public override async run(vf: ViewFlags, vp?: Viewport): Promise<boolean> {\r\n if (undefined !== vf && undefined !== vp)\r\n vp.viewFlags = vf;\r\n\r\n return true;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp || 0 === args.length)\r\n return true;\r\n\r\n const vf: Partial<ViewFlagsProperties> = { ...vp.viewFlags };\r\n for (const arg of args) {\r\n const parts = arg.split(\"=\");\r\n if (2 !== parts.length)\r\n continue;\r\n\r\n const value = parseInt(parts[1], 10);\r\n if (Number.isNaN(value))\r\n continue;\r\n\r\n const name = parts[0].toLowerCase();\r\n if (name === \"rendermode\") {\r\n switch (value) {\r\n case RenderMode.SmoothShade:\r\n case RenderMode.Wireframe:\r\n case RenderMode.HiddenLine:\r\n case RenderMode.SolidFill:\r\n vf.renderMode = value;\r\n vp.invalidateRenderPlan();\r\n break;\r\n }\r\n\r\n continue;\r\n }\r\n\r\n if (0 !== value && 1 !== value)\r\n continue;\r\n\r\n const index = lowercaseBooleanFlagNames.indexOf(name);\r\n if (-1 !== index) {\r\n const propName = booleanFlagNames[index];\r\n vf[propName] = 0 !== value;\r\n vp.invalidateRenderPlan();\r\n }\r\n }\r\n\r\n return this.run(new ViewFlags(vf), vp);\r\n }\r\n}\r\n\r\n/** Toggles the skybox.\r\n * @beta\r\n */\r\nexport class ToggleSkyboxTool extends DisplayStyleTool {\r\n public static override toolId = \"ToggleSkybox\";\r\n\r\n public override get require3d() { return true; }\r\n\r\n public parse(_args: string[]) { return true; } // no arguments\r\n\r\n public execute(vp: Viewport): boolean {\r\n const style = vp.view.displayStyle as DisplayStyle3dState;\r\n style.environment = new Environment({ sky: { display: !style.environment.sky.display } });\r\n return true;\r\n }\r\n}\r\n\r\n/** Outputs (and optionally copies to the clipboard) a \"rendering style\" as a partial DisplayStyle3dSettingsProps JSON object based\r\n * on the current view's display style settings.\r\n * All arguments are optional, of the form \"name=value\" where `value` is 0 for false or 1 for true. All arguments default to `false` if omitted.\r\n * @see [DisplayStyleSettings.toOverrides]($common) for details.\r\n * Arguments:\r\n * * `all`: include all settings.\r\n * * `imodel`: include iModel-specific settings.\r\n * * `project`: include iTwin-specific (formerly known as project) settings.\r\n * * `map`: include background map settings.\r\n * * `drawingaids`: include drawing aid decoration settings.\r\n * * `copy`: copy result to system clipboarad.\r\n * * `quote`: format the JSON so it can be parsed directly by [ApplyRenderingStyleTool].\r\n * @beta\r\n */\r\nexport class SaveRenderingStyleTool extends DisplayStyleTool {\r\n private _options: DisplayStyleOverridesOptions = {};\r\n private _copyToClipboard = false;\r\n private _quote = false;\r\n\r\n public static override toolId = \"SaveRenderingStyle\";\r\n\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 7; }\r\n\r\n public parse(inputArgs: string[]) {\r\n const args = parseArgs(inputArgs);\r\n function getArg(name: string): true | undefined {\r\n return args.getBoolean(name) ? true : undefined;\r\n }\r\n\r\n this._options.includeAll = getArg(\"a\");\r\n this._options.includeIModelSpecific = getArg(\"i\");\r\n this._options.includeITwinSpecific = getArg(\"p\"); // \"p\" for backwards compatibility with old \"project\" terminology\r\n this._options.includeBackgroundMap = getArg(\"m\");\r\n this._options.includeDrawingAids = getArg(\"d\");\r\n this._copyToClipboard = true === getArg(\"c\");\r\n this._quote = true === getArg(\"q\");\r\n\r\n return true;\r\n }\r\n\r\n public execute(vp: Viewport): boolean {\r\n let json = JSON.stringify(vp.displayStyle.settings.toOverrides(this._options));\r\n if (this._quote)\r\n json = `\"${json.replace(/\"/g, '\"\"')}\"`;\r\n\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Info, \"Rendering style saved\", json));\r\n if (this._copyToClipboard)\r\n copyStringToClipboard(json);\r\n\r\n return false;\r\n }\r\n}\r\n\r\n/** Given a \"rendering style\" as a partial DisplayStyle3dSettingsProperties JSON string, apply it to the selected viewport's display style.\r\n * @see [DisplayStyleSettings.applyOverrides]($common) for details.\r\n * @beta\r\n */\r\nexport class ApplyRenderingStyleTool extends DisplayStyleTool {\r\n private _overrides?: DisplayStyle3dSettingsProps;\r\n\r\n public static override toolId = \"ApplyRenderingStyle\";\r\n\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n public parse(args: string[]) {\r\n try {\r\n this._overrides = JSON.parse(args[0]);\r\n return true;\r\n } catch {\r\n IModelApp.notifications.outputMessage(new NotifyMessageDetails(OutputMessagePriority.Error, \"Invalid JSON\"));\r\n return false;\r\n }\r\n }\r\n\r\n public execute(vp: Viewport): boolean {\r\n if (this._overrides)\r\n vp.overrideDisplayStyle(this._overrides);\r\n\r\n return false;\r\n }\r\n}\r\n\r\n/** Apply appearance overrides to one or more subcategories in the active viewport.\r\n * @beta\r\n */\r\nexport class OverrideSubCategoryTool extends DisplayStyleTool {\r\n private _overrideProps: SubCategoryAppearance.Props = {};\r\n private _subcategoryIds: string[] = [];\r\n\r\n public static override toolId = \"OverrideSubCategory\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 7; }\r\n\r\n public parse(inArgs: string[]): boolean {\r\n const args = parseArgs(inArgs);\r\n const ids = args.get(\"i\");\r\n if (ids)\r\n this._subcategoryIds = ids.split(\",\");\r\n\r\n const props = this._overrideProps;\r\n props.color = args.getInteger(\"c\");\r\n props.weight = args.getInteger(\"w\");\r\n props.priority = args.getInteger(\"p\");\r\n props.transp = args.getFloat(\"t\");\r\n props.material = args.get(\"m\");\r\n\r\n const visible = args.getBoolean(\"v\");\r\n props.invisible = typeof visible === \"boolean\" ? !visible : undefined;\r\n return true;\r\n }\r\n\r\n public execute(vp: Viewport): boolean {\r\n const ovr = SubCategoryOverride.fromJSON(this._overrideProps);\r\n for (const id of this._subcategoryIds)\r\n vp.displayStyle.overrideSubCategory(id, ovr);\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** Set whether background color is ignored when applying white-on-white reversal.\r\n * @beta\r\n */\r\nexport class WoWIgnoreBackgroundTool extends DisplayStyleTool {\r\n private _ignore?: boolean;\r\n\r\n public static override toolId = \"WoWIgnoreBackground\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n public parse(args: string[]): boolean {\r\n const ignore = parseToggle(args[0]);\r\n if (typeof ignore === \"string\")\r\n return false;\r\n\r\n this._ignore = ignore;\r\n return true;\r\n }\r\n\r\n public execute(vp: Viewport): boolean {\r\n const ignoreBackgroundColor = this._ignore ?? !vp.displayStyle.settings.whiteOnWhiteReversal.ignoreBackgroundColor;\r\n vp.displayStyle.settings.whiteOnWhiteReversal = WhiteOnWhiteReversalSettings.fromJSON({ ignoreBackgroundColor });\r\n return true;\r\n }\r\n}\r\n"]}
@@ -0,0 +1,61 @@
1
+ /** @packageDocumentation
2
+ * @module Tools
3
+ */
4
+ import { EmphasizeElements, ScreenViewport, Tool } from "@itwin/core-frontend";
5
+ /** Applies the `EmphasizeElements` API in some way to the selected Viewport.
6
+ * @beta
7
+ */
8
+ export declare abstract class EmphasizeElementsTool extends Tool {
9
+ protected get _wantCreate(): boolean;
10
+ protected get _wantClear(): boolean;
11
+ protected abstract execute(emph: EmphasizeElements, vp: ScreenViewport): void;
12
+ run(_args: any[]): Promise<boolean>;
13
+ }
14
+ /** If any elements are selected, emphasize them all by overriding their color to be orange; and de-emphasize all other elements by drawing them transparent grey.
15
+ * @beta
16
+ */
17
+ export declare class EmphasizeSelectedElementsTool extends EmphasizeElementsTool {
18
+ static toolId: string;
19
+ static get minArgs(): number;
20
+ static get maxArgs(): number;
21
+ private _type;
22
+ execute(emph: EmphasizeElements, vp: ScreenViewport): void;
23
+ parseAndRun(...args: string[]): Promise<boolean>;
24
+ }
25
+ /** Isolate all selected elements so that *only* those elements will be drawn.
26
+ * @beta
27
+ */
28
+ export declare class IsolateSelectedElementsTool extends EmphasizeElementsTool {
29
+ static toolId: string;
30
+ execute(emph: EmphasizeElements, vp: ScreenViewport): void;
31
+ }
32
+ /** Clear the set of isolated elements.
33
+ * @beta
34
+ */
35
+ export declare class ClearIsolatedElementsTool extends EmphasizeElementsTool {
36
+ static toolId: string;
37
+ protected get _wantCreate(): boolean;
38
+ execute(emph: EmphasizeElements, vp: ScreenViewport): void;
39
+ }
40
+ /** Reset [EmphasizeElements]($frontend) for the active [Viewport]($frontend).
41
+ * @beta
42
+ */
43
+ export declare class ClearEmphasizedElementsTool extends EmphasizeElementsTool {
44
+ static toolId: string;
45
+ protected get _wantCreate(): boolean;
46
+ protected get _wantClear(): boolean;
47
+ execute(emph: EmphasizeElements, vp: ScreenViewport): void;
48
+ }
49
+ /** Emphasize the set of elements currently visible in the view based on [Viewport.queryVisibleFeatures]($frontend).
50
+ * @beta
51
+ */
52
+ export declare class EmphasizeVisibleElementsTool extends EmphasizeElementsTool {
53
+ static toolId: string;
54
+ static get minArgs(): number;
55
+ static get maxArgs(): number;
56
+ private _options;
57
+ protected get _wantClear(): boolean;
58
+ parseAndRun(...input: string[]): Promise<boolean>;
59
+ execute(emph: EmphasizeElements, vp: ScreenViewport): void;
60
+ }
61
+ //# sourceMappingURL=EmphasizeElementsTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmphasizeElementsTool.d.ts","sourceRoot":"","sources":["../../../src/tools/EmphasizeElementsTool.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,iBAAiB,EAA0C,cAAc,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGvH;;GAEG;AACH,8BAAsB,qBAAsB,SAAQ,IAAI;IACtD,SAAS,KAAK,WAAW,IAAI,OAAO,CAAiB;IACrD,SAAS,KAAK,UAAU,IAAI,OAAO,CAAkB;IACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI;IAEvD,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAc1D;AASD;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,qBAAqB;IACtE,OAAuB,MAAM,SAA+B;IAC5D,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAClD,OAAO,CAAC,KAAK,CAAqB;IAE3B,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI;IAe3C,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAmBvE;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAuB,MAAM,SAA6B;IACnD,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI;CAGlE;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,qBAAqB;IAClE,OAAuB,MAAM,SAA2B;IACxD,cAAuB,WAAW,YAAoB;IAC/C,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI;CAGlE;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAuB,MAAM,SAA6B;IAC1D,cAAuB,WAAW,YAAoB;IACtD,cAAuB,UAAU,YAAmB;IAE7C,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI;CAIlE;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,qBAAqB;IACrE,OAAuB,MAAM,SAA8B;IAC3D,WAA2B,OAAO,WAAgB;IAClD,WAA2B,OAAO,WAAgB;IAClD,OAAO,CAAC,QAAQ,CAAqD;IACrE,cAAuB,UAAU,YAAmB;IAE9B,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBhE,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI;CAalE"}
@@ -0,0 +1,146 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Tools
7
+ */
8
+ import { Id64 } from "@itwin/core-bentley";
9
+ import { ColorDef } from "@itwin/core-common";
10
+ import { EmphasizeElements, IModelApp, Tool } from "@itwin/core-frontend";
11
+ import { parseArgs } from "./parseArgs";
12
+ /** Applies the `EmphasizeElements` API in some way to the selected Viewport.
13
+ * @beta
14
+ */
15
+ export class EmphasizeElementsTool extends Tool {
16
+ get _wantCreate() { return true; }
17
+ get _wantClear() { return false; }
18
+ async run(_args) {
19
+ const vp = IModelApp.viewManager.selectedView;
20
+ if (undefined === vp)
21
+ return true;
22
+ if (this._wantClear)
23
+ EmphasizeElements.clear(vp);
24
+ const emph = this._wantCreate ? EmphasizeElements.getOrCreate(vp) : EmphasizeElements.get(vp);
25
+ if (undefined !== emph)
26
+ this.execute(emph, vp);
27
+ return true;
28
+ }
29
+ }
30
+ /** If any elements are selected, emphasize them all by overriding their color to be orange; and de-emphasize all other elements by drawing them transparent grey.
31
+ * @beta
32
+ */
33
+ export class EmphasizeSelectedElementsTool extends EmphasizeElementsTool {
34
+ constructor() {
35
+ super(...arguments);
36
+ this._type = 0 /* None */;
37
+ }
38
+ static get minArgs() { return 0; }
39
+ static get maxArgs() { return 1; }
40
+ execute(emph, vp) {
41
+ if (0 /* None */ === (this._type & 1 /* Color */) || emph.overrideSelectedElements(vp, ColorDef.white, undefined, true, false)) {
42
+ emph.wantEmphasis = 0 /* None */ !== (this._type & 2 /* Emphasis */);
43
+ if (emph.emphasizeSelectedElements(vp, undefined, true)) {
44
+ vp.isFadeOutActive = true;
45
+ return;
46
+ }
47
+ }
48
+ // Empty selection set - clear any previous overrides.
49
+ EmphasizeElements.clear(vp);
50
+ emph.wantEmphasis = false;
51
+ vp.isFadeOutActive = false;
52
+ }
53
+ async parseAndRun(...args) {
54
+ if (1 === args.length) {
55
+ switch (args[0].toLowerCase()[0]) {
56
+ case "n":
57
+ break;
58
+ case "c":
59
+ this._type = 1 /* Color */;
60
+ break;
61
+ case "e":
62
+ this._type = 2 /* Emphasis */;
63
+ break;
64
+ case "b":
65
+ this._type = 3 /* Both */;
66
+ break;
67
+ }
68
+ }
69
+ return this.run(args);
70
+ }
71
+ }
72
+ EmphasizeSelectedElementsTool.toolId = "EmphasizeSelectedElements";
73
+ /** Isolate all selected elements so that *only* those elements will be drawn.
74
+ * @beta
75
+ */
76
+ export class IsolateSelectedElementsTool extends EmphasizeElementsTool {
77
+ execute(emph, vp) {
78
+ emph.isolateSelectedElements(vp, true, true);
79
+ }
80
+ }
81
+ IsolateSelectedElementsTool.toolId = "IsolateSelectedElements";
82
+ /** Clear the set of isolated elements.
83
+ * @beta
84
+ */
85
+ export class ClearIsolatedElementsTool extends EmphasizeElementsTool {
86
+ get _wantCreate() { return false; }
87
+ execute(emph, vp) {
88
+ emph.clearIsolatedElements(vp);
89
+ }
90
+ }
91
+ ClearIsolatedElementsTool.toolId = "ClearIsolatedElements";
92
+ /** Reset [EmphasizeElements]($frontend) for the active [Viewport]($frontend).
93
+ * @beta
94
+ */
95
+ export class ClearEmphasizedElementsTool extends EmphasizeElementsTool {
96
+ get _wantCreate() { return false; }
97
+ get _wantClear() { return true; }
98
+ execute(emph, vp) {
99
+ emph.clearEmphasizedElements(vp);
100
+ vp.isFadeOutActive = false;
101
+ }
102
+ }
103
+ ClearEmphasizedElementsTool.toolId = "ClearEmphasizedElements";
104
+ /** Emphasize the set of elements currently visible in the view based on [Viewport.queryVisibleFeatures]($frontend).
105
+ * @beta
106
+ */
107
+ export class EmphasizeVisibleElementsTool extends EmphasizeElementsTool {
108
+ constructor() {
109
+ super(...arguments);
110
+ this._options = { source: "screen" };
111
+ }
112
+ static get minArgs() { return 1; }
113
+ static get maxArgs() { return 2; }
114
+ get _wantClear() { return true; }
115
+ async parseAndRun(...input) {
116
+ const args = parseArgs(input);
117
+ const includeNonLocatable = args.getBoolean("n");
118
+ let source;
119
+ switch (input[0].toLowerCase()) {
120
+ case "screen":
121
+ source = "screen";
122
+ break;
123
+ case "tiles":
124
+ source = "tiles";
125
+ break;
126
+ default:
127
+ return false;
128
+ }
129
+ this._options = { source, includeNonLocatable };
130
+ return this.run(input);
131
+ }
132
+ execute(emph, vp) {
133
+ const elementIds = new Set();
134
+ vp.queryVisibleFeatures(this._options, (features) => {
135
+ for (const feature of features) {
136
+ if (feature.iModel === vp.iModel && Id64.isValid(feature.elementId))
137
+ elementIds.add(feature.elementId);
138
+ }
139
+ });
140
+ emph.wantEmphasis = true;
141
+ if (emph.emphasizeElements(elementIds, vp))
142
+ vp.isFadeOutActive = true;
143
+ }
144
+ }
145
+ EmphasizeVisibleElementsTool.toolId = "EmphasizeVisibleElements";
146
+ //# sourceMappingURL=EmphasizeElementsTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmphasizeElementsTool.js","sourceRoot":"","sources":["../../../src/tools/EmphasizeElementsTool.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAA+C,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACvH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,OAAgB,qBAAsB,SAAQ,IAAI;IACtD,IAAc,WAAW,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IACrD,IAAc,UAAU,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAGrC,KAAK,CAAC,GAAG,CAAC,KAAY;QACpC,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC;QAC9C,IAAI,SAAS,KAAK,EAAE;YAClB,OAAO,IAAI,CAAC;QAEd,IAAI,IAAI,CAAC,UAAU;YACjB,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,IAAI,SAAS,KAAK,IAAI;YACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AASD;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,qBAAqB;IAAxE;;QAIU,UAAK,gBAAqB;IAoCpC,CAAC;IAtCQ,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAG3C,OAAO,CAAC,IAAuB,EAAE,EAAkB;QACxD,IAAI,iBAAsB,CAAC,IAAI,CAAC,KAAK,gBAAqB,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YACxI,IAAI,CAAC,YAAY,GAAG,iBAAsB,CAAC,IAAI,CAAC,KAAK,mBAAwB,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,yBAAyB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;gBACvD,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC1B,OAAO;aACR;SACF;QAED,sDAAsD;QACtD,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,EAAE,CAAC,eAAe,GAAG,KAAK,CAAC;IAC7B,CAAC;IAEe,KAAK,CAAC,WAAW,CAAC,GAAG,IAAc;QACjD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;gBAChC,KAAK,GAAG;oBACN,MAAM;gBACR,KAAK,GAAG;oBACN,IAAI,CAAC,KAAK,gBAAqB,CAAC;oBAChC,MAAM;gBACR,KAAK,GAAG;oBACN,IAAI,CAAC,KAAK,mBAAwB,CAAC;oBACnC,MAAM;gBACR,KAAK,GAAG;oBACN,IAAI,CAAC,KAAK,eAAoB,CAAC;oBAC/B,MAAM;aACT;SACF;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;;AAtCsB,oCAAM,GAAG,2BAA2B,CAAC;AAyC9D;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,qBAAqB;IAE7D,OAAO,CAAC,IAAuB,EAAE,EAAkB;QACxD,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;;AAHsB,kCAAM,GAAG,yBAAyB,CAAC;AAM5D;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;IAElE,IAAuB,WAAW,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAuB,EAAE,EAAkB;QACxD,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;;AAJsB,gCAAM,GAAG,uBAAuB,CAAC;AAO1D;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,qBAAqB;IAEpE,IAAuB,WAAW,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IACtD,IAAuB,UAAU,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAE7C,OAAO,CAAC,IAAuB,EAAE,EAAkB;QACxD,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;QACjC,EAAE,CAAC,eAAe,GAAG,KAAK,CAAC;IAC7B,CAAC;;AAPsB,kCAAM,GAAG,yBAAyB,CAAC;AAU5D;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,qBAAqB;IAAvE;;QAIU,aAAQ,GAAgC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAmCvE,CAAC;IArCQ,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAc,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,IAAuB,UAAU,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAEpC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAe;QAClD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,MAA0B,CAAC;QAC/B,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;YAC9B,KAAK,QAAQ;gBACX,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,GAAG,OAAO,CAAC;gBACjB,MAAM;YACR;gBACE,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAEM,OAAO,CAAC,IAAuB,EAAE,EAAkB;QACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YAClD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;oBACjE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC;YACxC,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;;AArCsB,mCAAM,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/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport { Id64 } from \"@itwin/core-bentley\";\r\nimport { ColorDef } from \"@itwin/core-common\";\r\nimport { EmphasizeElements, IModelApp, QueryVisibleFeaturesOptions, ScreenViewport, Tool } from \"@itwin/core-frontend\";\r\nimport { parseArgs } from \"./parseArgs\";\r\n\r\n/** Applies the `EmphasizeElements` API in some way to the selected Viewport.\r\n * @beta\r\n */\r\nexport abstract class EmphasizeElementsTool extends Tool {\r\n protected get _wantCreate(): boolean { return true; }\r\n protected get _wantClear(): boolean { return false; }\r\n protected abstract execute(emph: EmphasizeElements, vp: ScreenViewport): void;\r\n\r\n public override async run(_args: any[]): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined === vp)\r\n return true;\r\n\r\n if (this._wantClear)\r\n EmphasizeElements.clear(vp);\r\n\r\n const emph = this._wantCreate ? EmphasizeElements.getOrCreate(vp) : EmphasizeElements.get(vp);\r\n if (undefined !== emph)\r\n this.execute(emph, vp);\r\n\r\n return true;\r\n }\r\n}\r\n\r\nconst enum OverrideType { // eslint-disable-line no-restricted-syntax\r\n None = 0,\r\n Color = 1 << 0,\r\n Emphasis = 1 << 1,\r\n Both = Color | Emphasis,\r\n}\r\n\r\n/** If any elements are selected, emphasize them all by overriding their color to be orange; and de-emphasize all other elements by drawing them transparent grey.\r\n * @beta\r\n */\r\nexport class EmphasizeSelectedElementsTool extends EmphasizeElementsTool {\r\n public static override toolId = \"EmphasizeSelectedElements\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n private _type = OverrideType.None;\r\n\r\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\r\n if (OverrideType.None === (this._type & OverrideType.Color) || emph.overrideSelectedElements(vp, ColorDef.white, undefined, true, false)) {\r\n emph.wantEmphasis = OverrideType.None !== (this._type & OverrideType.Emphasis);\r\n if (emph.emphasizeSelectedElements(vp, undefined, true)) {\r\n vp.isFadeOutActive = true;\r\n return;\r\n }\r\n }\r\n\r\n // Empty selection set - clear any previous overrides.\r\n EmphasizeElements.clear(vp);\r\n emph.wantEmphasis = false;\r\n vp.isFadeOutActive = false;\r\n }\r\n\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n if (1 === args.length) {\r\n switch (args[0].toLowerCase()[0]) {\r\n case \"n\":\r\n break;\r\n case \"c\":\r\n this._type = OverrideType.Color;\r\n break;\r\n case \"e\":\r\n this._type = OverrideType.Emphasis;\r\n break;\r\n case \"b\":\r\n this._type = OverrideType.Both;\r\n break;\r\n }\r\n }\r\n\r\n return this.run(args);\r\n }\r\n}\r\n\r\n/** Isolate all selected elements so that *only* those elements will be drawn.\r\n * @beta\r\n */\r\nexport class IsolateSelectedElementsTool extends EmphasizeElementsTool {\r\n public static override toolId = \"IsolateSelectedElements\";\r\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\r\n emph.isolateSelectedElements(vp, true, true);\r\n }\r\n}\r\n\r\n/** Clear the set of isolated elements.\r\n * @beta\r\n */\r\nexport class ClearIsolatedElementsTool extends EmphasizeElementsTool {\r\n public static override toolId = \"ClearIsolatedElements\";\r\n protected override get _wantCreate() { return false; }\r\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\r\n emph.clearIsolatedElements(vp);\r\n }\r\n}\r\n\r\n/** Reset [EmphasizeElements]($frontend) for the active [Viewport]($frontend).\r\n * @beta\r\n */\r\nexport class ClearEmphasizedElementsTool extends EmphasizeElementsTool {\r\n public static override toolId = \"ClearEmphasizedElements\";\r\n protected override get _wantCreate() { return false; }\r\n protected override get _wantClear() { return true; }\r\n\r\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\r\n emph.clearEmphasizedElements(vp);\r\n vp.isFadeOutActive = false;\r\n }\r\n}\r\n\r\n/** Emphasize the set of elements currently visible in the view based on [Viewport.queryVisibleFeatures]($frontend).\r\n * @beta\r\n */\r\nexport class EmphasizeVisibleElementsTool extends EmphasizeElementsTool {\r\n public static override toolId = \"EmphasizeVisibleElements\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 2; }\r\n private _options: QueryVisibleFeaturesOptions = { source: \"screen\" };\r\n protected override get _wantClear() { return true; }\r\n\r\n public override async parseAndRun(...input: string[]): Promise<boolean> {\r\n const args = parseArgs(input);\r\n const includeNonLocatable = args.getBoolean(\"n\");\r\n let source: \"screen\" | \"tiles\";\r\n switch (input[0].toLowerCase()) {\r\n case \"screen\":\r\n source = \"screen\";\r\n break;\r\n case \"tiles\":\r\n source = \"tiles\";\r\n break;\r\n default:\r\n return false;\r\n }\r\n\r\n this._options = { source, includeNonLocatable };\r\n return this.run(input);\r\n }\r\n\r\n public execute(emph: EmphasizeElements, vp: ScreenViewport): void {\r\n const elementIds = new Set<string>();\r\n vp.queryVisibleFeatures(this._options, (features) => {\r\n for (const feature of features) {\r\n if (feature.iModel === vp.iModel && Id64.isValid(feature.elementId))\r\n elementIds.add(feature.elementId);\r\n }\r\n });\r\n\r\n emph.wantEmphasis = true;\r\n if (emph.emphasizeElements(elementIds, vp))\r\n vp.isFadeOutActive = true;\r\n }\r\n}\r\n"]}