@itwin/frontend-devtools 4.0.0-dev.10 → 4.0.0-dev.101

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 (398) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/README.md +1 -1
  3. package/lib/cjs/ClipboardUtilities.d.ts +8 -8
  4. package/lib/cjs/ClipboardUtilities.js +26 -26
  5. package/lib/cjs/ClipboardUtilities.js.map +1 -1
  6. package/lib/cjs/FrontEndDevTools.d.ts +19 -19
  7. package/lib/cjs/FrontEndDevTools.js +221 -221
  8. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  9. package/lib/cjs/effects/Convolution.d.ts +68 -68
  10. package/lib/cjs/effects/Convolution.js +165 -165
  11. package/lib/cjs/effects/Convolution.js.map +1 -1
  12. package/lib/cjs/effects/EffectTools.d.ts +33 -33
  13. package/lib/cjs/effects/EffectTools.js +67 -68
  14. package/lib/cjs/effects/EffectTools.js.map +1 -1
  15. package/lib/cjs/effects/Explosion.d.ts +12 -12
  16. package/lib/cjs/effects/Explosion.js +168 -168
  17. package/lib/cjs/effects/Explosion.js.map +1 -1
  18. package/lib/cjs/effects/FlipImage.d.ts +30 -30
  19. package/lib/cjs/effects/FlipImage.js +99 -99
  20. package/lib/cjs/effects/FlipImage.js.map +1 -1
  21. package/lib/cjs/effects/LensDistortion.d.ts +34 -34
  22. package/lib/cjs/effects/LensDistortion.js +109 -109
  23. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  24. package/lib/cjs/effects/Random.d.ts +24 -24
  25. package/lib/cjs/effects/Random.js +49 -49
  26. package/lib/cjs/effects/Random.js.map +1 -1
  27. package/lib/cjs/effects/Saturation.d.ts +30 -30
  28. package/lib/cjs/effects/Saturation.js +85 -85
  29. package/lib/cjs/effects/Saturation.js.map +1 -1
  30. package/lib/cjs/effects/Snow.d.ts +76 -76
  31. package/lib/cjs/effects/Snow.js +187 -187
  32. package/lib/cjs/effects/Snow.js.map +1 -1
  33. package/lib/cjs/effects/Vignette.d.ts +39 -39
  34. package/lib/cjs/effects/Vignette.js +108 -108
  35. package/lib/cjs/effects/Vignette.js.map +1 -1
  36. package/lib/cjs/frontend-devtools.d.ts +82 -82
  37. package/lib/cjs/frontend-devtools.js +102 -98
  38. package/lib/cjs/frontend-devtools.js.map +1 -1
  39. package/lib/cjs/tools/AnimationIntervalTool.d.ts +15 -15
  40. package/lib/cjs/tools/AnimationIntervalTool.js +30 -30
  41. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  42. package/lib/cjs/tools/ChangeUnitsTool.d.ts +15 -15
  43. package/lib/cjs/tools/ChangeUnitsTool.js +41 -41
  44. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  45. package/lib/cjs/tools/ClipTools.d.ts +67 -67
  46. package/lib/cjs/tools/ClipTools.js +161 -164
  47. package/lib/cjs/tools/ClipTools.js.map +1 -1
  48. package/lib/cjs/tools/DisplayStyleTools.d.ts +145 -145
  49. package/lib/cjs/tools/DisplayStyleTools.js +368 -370
  50. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  51. package/lib/cjs/tools/EmphasizeElementsTool.d.ts +60 -60
  52. package/lib/cjs/tools/EmphasizeElementsTool.js +154 -154
  53. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  54. package/lib/cjs/tools/FrustumDecoration.d.ts +57 -57
  55. package/lib/cjs/tools/FrustumDecoration.js +374 -374
  56. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  57. package/lib/cjs/tools/InspectElementTool.d.ts +42 -42
  58. package/lib/cjs/tools/InspectElementTool.js +198 -198
  59. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  60. package/lib/cjs/tools/MapLayerTool.d.ts +264 -264
  61. package/lib/cjs/tools/MapLayerTool.d.ts.map +1 -1
  62. package/lib/cjs/tools/MapLayerTool.js +509 -507
  63. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  64. package/lib/cjs/tools/MeasureTileLoadTime.d.ts +12 -12
  65. package/lib/cjs/tools/MeasureTileLoadTime.js +63 -63
  66. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  67. package/lib/cjs/tools/ModelAppearanceTools.d.ts +86 -86
  68. package/lib/cjs/tools/ModelAppearanceTools.js +183 -183
  69. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  70. package/lib/cjs/tools/PlanProjectionTools.d.ts +40 -40
  71. package/lib/cjs/tools/PlanProjectionTools.js +149 -149
  72. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  73. package/lib/cjs/tools/PlanarMaskTools.d.ts +182 -182
  74. package/lib/cjs/tools/PlanarMaskTools.js +391 -393
  75. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  76. package/lib/cjs/tools/ProjectExtents.d.ts +41 -41
  77. package/lib/cjs/tools/ProjectExtents.js +110 -110
  78. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  79. package/lib/cjs/tools/RealityModelTools.d.ts +116 -116
  80. package/lib/cjs/tools/RealityModelTools.js +281 -281
  81. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  82. package/lib/cjs/tools/RealityTransitionTool.d.ts +25 -25
  83. package/lib/cjs/tools/RealityTransitionTool.js +115 -116
  84. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  85. package/lib/cjs/tools/RenderSystemTools.d.ts +38 -38
  86. package/lib/cjs/tools/RenderSystemTools.js +69 -70
  87. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  88. package/lib/cjs/tools/RenderTargetTools.d.ts +107 -107
  89. package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -1
  90. package/lib/cjs/tools/RenderTargetTools.js +174 -174
  91. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  92. package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  93. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +30 -30
  94. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  95. package/lib/cjs/tools/SavedViews.d.ts +46 -46
  96. package/lib/cjs/tools/SavedViews.js +136 -136
  97. package/lib/cjs/tools/SavedViews.js.map +1 -1
  98. package/lib/cjs/tools/ScheduleScriptTools.d.ts +37 -37
  99. package/lib/cjs/tools/ScheduleScriptTools.js +157 -159
  100. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  101. package/lib/cjs/tools/SelectionTools.d.ts +28 -28
  102. package/lib/cjs/tools/SelectionTools.js +87 -87
  103. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  104. package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  105. package/lib/cjs/tools/SetGpuMemoryLimitTool.js +33 -33
  106. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  107. package/lib/cjs/tools/SourceAspectIdTools.d.ts +40 -40
  108. package/lib/cjs/tools/SourceAspectIdTools.js +85 -86
  109. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  110. package/lib/cjs/tools/TileRequestDecoration.d.ts +12 -12
  111. package/lib/cjs/tools/TileRequestDecoration.js +83 -83
  112. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  113. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts +11 -11
  114. package/lib/cjs/tools/TileTreeBoundsDecoration.js +74 -74
  115. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  116. package/lib/cjs/tools/ToolTipProvider.d.ts +15 -15
  117. package/lib/cjs/tools/ToolTipProvider.js +66 -66
  118. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  119. package/lib/cjs/tools/ViewportTools.d.ts +218 -218
  120. package/lib/cjs/tools/ViewportTools.d.ts.map +1 -1
  121. package/lib/cjs/tools/ViewportTools.js +516 -516
  122. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  123. package/lib/cjs/tools/parseArgs.d.ts +23 -23
  124. package/lib/cjs/tools/parseArgs.js +51 -51
  125. package/lib/cjs/tools/parseArgs.js.map +1 -1
  126. package/lib/cjs/tools/parseBoolean.d.ts +8 -8
  127. package/lib/cjs/tools/parseBoolean.js +26 -26
  128. package/lib/cjs/tools/parseBoolean.js.map +1 -1
  129. package/lib/cjs/tools/parseToggle.d.ts +8 -8
  130. package/lib/cjs/tools/parseToggle.js +25 -25
  131. package/lib/cjs/tools/parseToggle.js.map +1 -1
  132. package/lib/cjs/ui/Button.d.ts +29 -29
  133. package/lib/cjs/ui/Button.d.ts.map +1 -1
  134. package/lib/cjs/ui/Button.js +26 -26
  135. package/lib/cjs/ui/Button.js.map +1 -1
  136. package/lib/cjs/ui/CheckBox.d.ts +23 -23
  137. package/lib/cjs/ui/CheckBox.d.ts.map +1 -1
  138. package/lib/cjs/ui/CheckBox.js +27 -27
  139. package/lib/cjs/ui/CheckBox.js.map +1 -1
  140. package/lib/cjs/ui/ColorInput.d.ts +27 -27
  141. package/lib/cjs/ui/ColorInput.d.ts.map +1 -1
  142. package/lib/cjs/ui/ColorInput.js +53 -53
  143. package/lib/cjs/ui/ColorInput.js.map +1 -1
  144. package/lib/cjs/ui/ComboBox.d.ts +28 -28
  145. package/lib/cjs/ui/ComboBox.d.ts.map +1 -1
  146. package/lib/cjs/ui/ComboBox.js +42 -42
  147. package/lib/cjs/ui/ComboBox.js.map +1 -1
  148. package/lib/cjs/ui/DataList.d.ts +27 -27
  149. package/lib/cjs/ui/DataList.d.ts.map +1 -1
  150. package/lib/cjs/ui/DataList.js +39 -39
  151. package/lib/cjs/ui/DataList.js.map +1 -1
  152. package/lib/cjs/ui/NestedMenu.d.ts +19 -19
  153. package/lib/cjs/ui/NestedMenu.d.ts.map +1 -1
  154. package/lib/cjs/ui/NestedMenu.js +46 -46
  155. package/lib/cjs/ui/NestedMenu.js.map +1 -1
  156. package/lib/cjs/ui/NumericInput.d.ts +35 -35
  157. package/lib/cjs/ui/NumericInput.d.ts.map +1 -1
  158. package/lib/cjs/ui/NumericInput.js +61 -61
  159. package/lib/cjs/ui/NumericInput.js.map +1 -1
  160. package/lib/cjs/ui/RadioBox.d.ts +29 -29
  161. package/lib/cjs/ui/RadioBox.d.ts.map +1 -1
  162. package/lib/cjs/ui/RadioBox.js +76 -76
  163. package/lib/cjs/ui/RadioBox.js.map +1 -1
  164. package/lib/cjs/ui/Slider.d.ts +28 -28
  165. package/lib/cjs/ui/Slider.d.ts.map +1 -1
  166. package/lib/cjs/ui/Slider.js +42 -42
  167. package/lib/cjs/ui/Slider.js.map +1 -1
  168. package/lib/cjs/ui/TextBox.d.ts +32 -32
  169. package/lib/cjs/ui/TextBox.d.ts.map +1 -1
  170. package/lib/cjs/ui/TextBox.js +56 -56
  171. package/lib/cjs/ui/TextBox.js.map +1 -1
  172. package/lib/cjs/widgets/DiagnosticsPanel.d.ts +37 -37
  173. package/lib/cjs/widgets/DiagnosticsPanel.js +81 -81
  174. package/lib/cjs/widgets/DiagnosticsPanel.js.map +1 -1
  175. package/lib/cjs/widgets/FpsTracker.d.ts +19 -19
  176. package/lib/cjs/widgets/FpsTracker.js +56 -56
  177. package/lib/cjs/widgets/FpsTracker.js.map +1 -1
  178. package/lib/cjs/widgets/GpuProfiler.d.ts +16 -16
  179. package/lib/cjs/widgets/GpuProfiler.js +192 -192
  180. package/lib/cjs/widgets/GpuProfiler.js.map +1 -1
  181. package/lib/cjs/widgets/KeyinField.d.ts +61 -61
  182. package/lib/cjs/widgets/KeyinField.js +186 -187
  183. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  184. package/lib/cjs/widgets/MemoryTracker.d.ts +27 -27
  185. package/lib/cjs/widgets/MemoryTracker.js +242 -243
  186. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  187. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +15 -15
  188. package/lib/cjs/widgets/RenderCommandBreakdown.js +67 -68
  189. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  190. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +30 -30
  191. package/lib/cjs/widgets/TileMemoryBreakdown.js +203 -204
  192. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  193. package/lib/cjs/widgets/TileStatisticsTracker.d.ts +21 -21
  194. package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -1
  195. package/lib/cjs/widgets/TileStatisticsTracker.js +144 -142
  196. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  197. package/lib/cjs/widgets/ToolSettingsTracker.d.ts +9 -9
  198. package/lib/cjs/widgets/ToolSettingsTracker.js +211 -211
  199. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  200. package/lib/esm/ClipboardUtilities.d.ts +8 -8
  201. package/lib/esm/ClipboardUtilities.js +22 -22
  202. package/lib/esm/ClipboardUtilities.js.map +1 -1
  203. package/lib/esm/FrontEndDevTools.d.ts +19 -19
  204. package/lib/esm/FrontEndDevTools.js +218 -217
  205. package/lib/esm/FrontEndDevTools.js.map +1 -1
  206. package/lib/esm/effects/Convolution.d.ts +68 -68
  207. package/lib/esm/effects/Convolution.js +161 -155
  208. package/lib/esm/effects/Convolution.js.map +1 -1
  209. package/lib/esm/effects/EffectTools.d.ts +33 -33
  210. package/lib/esm/effects/EffectTools.js +63 -62
  211. package/lib/esm/effects/EffectTools.js.map +1 -1
  212. package/lib/esm/effects/Explosion.d.ts +12 -12
  213. package/lib/esm/effects/Explosion.js +165 -164
  214. package/lib/esm/effects/Explosion.js.map +1 -1
  215. package/lib/esm/effects/FlipImage.d.ts +30 -30
  216. package/lib/esm/effects/FlipImage.js +96 -94
  217. package/lib/esm/effects/FlipImage.js.map +1 -1
  218. package/lib/esm/effects/LensDistortion.d.ts +34 -34
  219. package/lib/esm/effects/LensDistortion.js +106 -104
  220. package/lib/esm/effects/LensDistortion.js.map +1 -1
  221. package/lib/esm/effects/Random.d.ts +24 -24
  222. package/lib/esm/effects/Random.js +41 -41
  223. package/lib/esm/effects/Random.js.map +1 -1
  224. package/lib/esm/effects/Saturation.d.ts +30 -30
  225. package/lib/esm/effects/Saturation.js +82 -80
  226. package/lib/esm/effects/Saturation.js.map +1 -1
  227. package/lib/esm/effects/Snow.d.ts +76 -76
  228. package/lib/esm/effects/Snow.js +184 -182
  229. package/lib/esm/effects/Snow.js.map +1 -1
  230. package/lib/esm/effects/Vignette.d.ts +39 -39
  231. package/lib/esm/effects/Vignette.js +105 -103
  232. package/lib/esm/effects/Vignette.js.map +1 -1
  233. package/lib/esm/frontend-devtools.d.ts +82 -82
  234. package/lib/esm/frontend-devtools.js +86 -86
  235. package/lib/esm/frontend-devtools.js.map +1 -1
  236. package/lib/esm/tools/AnimationIntervalTool.d.ts +15 -15
  237. package/lib/esm/tools/AnimationIntervalTool.js +27 -26
  238. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  239. package/lib/esm/tools/ChangeUnitsTool.d.ts +15 -15
  240. package/lib/esm/tools/ChangeUnitsTool.js +38 -37
  241. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  242. package/lib/esm/tools/ClipTools.d.ts +67 -67
  243. package/lib/esm/tools/ClipTools.js +158 -158
  244. package/lib/esm/tools/ClipTools.js.map +1 -1
  245. package/lib/esm/tools/DisplayStyleTools.d.ts +145 -145
  246. package/lib/esm/tools/DisplayStyleTools.js +364 -356
  247. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  248. package/lib/esm/tools/EmphasizeElementsTool.d.ts +60 -60
  249. package/lib/esm/tools/EmphasizeElementsTool.js +150 -145
  250. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  251. package/lib/esm/tools/FrustumDecoration.d.ts +57 -57
  252. package/lib/esm/tools/FrustumDecoration.js +370 -367
  253. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  254. package/lib/esm/tools/InspectElementTool.d.ts +42 -42
  255. package/lib/esm/tools/InspectElementTool.js +195 -194
  256. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  257. package/lib/esm/tools/MapLayerTool.d.ts +264 -264
  258. package/lib/esm/tools/MapLayerTool.d.ts.map +1 -1
  259. package/lib/esm/tools/MapLayerTool.js +506 -485
  260. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  261. package/lib/esm/tools/MeasureTileLoadTime.d.ts +12 -12
  262. package/lib/esm/tools/MeasureTileLoadTime.js +60 -59
  263. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  264. package/lib/esm/tools/ModelAppearanceTools.d.ts +86 -86
  265. package/lib/esm/tools/ModelAppearanceTools.js +180 -172
  266. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  267. package/lib/esm/tools/PlanProjectionTools.d.ts +40 -40
  268. package/lib/esm/tools/PlanProjectionTools.js +146 -143
  269. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  270. package/lib/esm/tools/PlanarMaskTools.d.ts +182 -182
  271. package/lib/esm/tools/PlanarMaskTools.js +387 -377
  272. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  273. package/lib/esm/tools/ProjectExtents.d.ts +41 -41
  274. package/lib/esm/tools/ProjectExtents.js +105 -104
  275. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  276. package/lib/esm/tools/RealityModelTools.d.ts +116 -116
  277. package/lib/esm/tools/RealityModelTools.js +278 -268
  278. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  279. package/lib/esm/tools/RealityTransitionTool.d.ts +25 -25
  280. package/lib/esm/tools/RealityTransitionTool.js +112 -112
  281. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  282. package/lib/esm/tools/RenderSystemTools.d.ts +38 -38
  283. package/lib/esm/tools/RenderSystemTools.js +65 -63
  284. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  285. package/lib/esm/tools/RenderTargetTools.d.ts +107 -107
  286. package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -1
  287. package/lib/esm/tools/RenderTargetTools.js +169 -159
  288. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  289. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  290. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +27 -26
  291. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  292. package/lib/esm/tools/SavedViews.d.ts +46 -46
  293. package/lib/esm/tools/SavedViews.js +131 -128
  294. package/lib/esm/tools/SavedViews.js.map +1 -1
  295. package/lib/esm/tools/ScheduleScriptTools.d.ts +37 -37
  296. package/lib/esm/tools/ScheduleScriptTools.js +154 -153
  297. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  298. package/lib/esm/tools/SelectionTools.d.ts +28 -28
  299. package/lib/esm/tools/SelectionTools.js +84 -82
  300. package/lib/esm/tools/SelectionTools.js.map +1 -1
  301. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  302. package/lib/esm/tools/SetGpuMemoryLimitTool.js +30 -29
  303. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  304. package/lib/esm/tools/SourceAspectIdTools.d.ts +40 -40
  305. package/lib/esm/tools/SourceAspectIdTools.js +81 -80
  306. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  307. package/lib/esm/tools/TileRequestDecoration.d.ts +12 -12
  308. package/lib/esm/tools/TileRequestDecoration.js +80 -79
  309. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  310. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +11 -11
  311. package/lib/esm/tools/TileTreeBoundsDecoration.js +71 -70
  312. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  313. package/lib/esm/tools/ToolTipProvider.d.ts +15 -15
  314. package/lib/esm/tools/ToolTipProvider.js +63 -62
  315. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  316. package/lib/esm/tools/ViewportTools.d.ts +218 -218
  317. package/lib/esm/tools/ViewportTools.d.ts.map +1 -1
  318. package/lib/esm/tools/ViewportTools.js +511 -492
  319. package/lib/esm/tools/ViewportTools.js.map +1 -1
  320. package/lib/esm/tools/parseArgs.d.ts +23 -23
  321. package/lib/esm/tools/parseArgs.js +47 -47
  322. package/lib/esm/tools/parseArgs.js.map +1 -1
  323. package/lib/esm/tools/parseBoolean.d.ts +8 -8
  324. package/lib/esm/tools/parseBoolean.js +22 -22
  325. package/lib/esm/tools/parseBoolean.js.map +1 -1
  326. package/lib/esm/tools/parseToggle.d.ts +8 -8
  327. package/lib/esm/tools/parseToggle.js +21 -21
  328. package/lib/esm/tools/parseToggle.js.map +1 -1
  329. package/lib/esm/ui/Button.d.ts +29 -29
  330. package/lib/esm/ui/Button.d.ts.map +1 -1
  331. package/lib/esm/ui/Button.js +22 -22
  332. package/lib/esm/ui/Button.js.map +1 -1
  333. package/lib/esm/ui/CheckBox.d.ts +23 -23
  334. package/lib/esm/ui/CheckBox.d.ts.map +1 -1
  335. package/lib/esm/ui/CheckBox.js +23 -23
  336. package/lib/esm/ui/CheckBox.js.map +1 -1
  337. package/lib/esm/ui/ColorInput.d.ts +27 -27
  338. package/lib/esm/ui/ColorInput.d.ts.map +1 -1
  339. package/lib/esm/ui/ColorInput.js +48 -48
  340. package/lib/esm/ui/ColorInput.js.map +1 -1
  341. package/lib/esm/ui/ComboBox.d.ts +28 -28
  342. package/lib/esm/ui/ComboBox.d.ts.map +1 -1
  343. package/lib/esm/ui/ComboBox.js +38 -38
  344. package/lib/esm/ui/ComboBox.js.map +1 -1
  345. package/lib/esm/ui/DataList.d.ts +27 -27
  346. package/lib/esm/ui/DataList.d.ts.map +1 -1
  347. package/lib/esm/ui/DataList.js +34 -34
  348. package/lib/esm/ui/DataList.js.map +1 -1
  349. package/lib/esm/ui/NestedMenu.d.ts +19 -19
  350. package/lib/esm/ui/NestedMenu.d.ts.map +1 -1
  351. package/lib/esm/ui/NestedMenu.js +42 -42
  352. package/lib/esm/ui/NestedMenu.js.map +1 -1
  353. package/lib/esm/ui/NumericInput.d.ts +35 -35
  354. package/lib/esm/ui/NumericInput.d.ts.map +1 -1
  355. package/lib/esm/ui/NumericInput.js +56 -56
  356. package/lib/esm/ui/NumericInput.js.map +1 -1
  357. package/lib/esm/ui/RadioBox.d.ts +29 -29
  358. package/lib/esm/ui/RadioBox.d.ts.map +1 -1
  359. package/lib/esm/ui/RadioBox.js +72 -72
  360. package/lib/esm/ui/RadioBox.js.map +1 -1
  361. package/lib/esm/ui/Slider.d.ts +28 -28
  362. package/lib/esm/ui/Slider.d.ts.map +1 -1
  363. package/lib/esm/ui/Slider.js +38 -38
  364. package/lib/esm/ui/Slider.js.map +1 -1
  365. package/lib/esm/ui/TextBox.d.ts +32 -32
  366. package/lib/esm/ui/TextBox.d.ts.map +1 -1
  367. package/lib/esm/ui/TextBox.js +52 -52
  368. package/lib/esm/ui/TextBox.js.map +1 -1
  369. package/lib/esm/widgets/DiagnosticsPanel.d.ts +37 -37
  370. package/lib/esm/widgets/DiagnosticsPanel.js +77 -77
  371. package/lib/esm/widgets/DiagnosticsPanel.js.map +1 -1
  372. package/lib/esm/widgets/FpsTracker.d.ts +19 -19
  373. package/lib/esm/widgets/FpsTracker.js +52 -52
  374. package/lib/esm/widgets/FpsTracker.js.map +1 -1
  375. package/lib/esm/widgets/GpuProfiler.d.ts +16 -16
  376. package/lib/esm/widgets/GpuProfiler.js +188 -188
  377. package/lib/esm/widgets/GpuProfiler.js.map +1 -1
  378. package/lib/esm/widgets/KeyinField.d.ts +61 -61
  379. package/lib/esm/widgets/KeyinField.js +182 -183
  380. package/lib/esm/widgets/KeyinField.js.map +1 -1
  381. package/lib/esm/widgets/MemoryTracker.d.ts +27 -27
  382. package/lib/esm/widgets/MemoryTracker.js +237 -238
  383. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  384. package/lib/esm/widgets/RenderCommandBreakdown.d.ts +15 -15
  385. package/lib/esm/widgets/RenderCommandBreakdown.js +63 -64
  386. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  387. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +30 -30
  388. package/lib/esm/widgets/TileMemoryBreakdown.js +199 -200
  389. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  390. package/lib/esm/widgets/TileStatisticsTracker.d.ts +21 -21
  391. package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -1
  392. package/lib/esm/widgets/TileStatisticsTracker.js +140 -138
  393. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  394. package/lib/esm/widgets/ToolSettingsTracker.d.ts +9 -9
  395. package/lib/esm/widgets/ToolSettingsTracker.js +208 -207
  396. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  397. package/lib/public/locales/en/FrontendDevTools.json +484 -484
  398. package/package.json +15 -16
@@ -1,159 +1,159 @@
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 { ClipStyle, ColorByName, ColorDef, LinePixels, RenderMode, RgbColor, } from "@itwin/core-common";
9
- import { IModelApp, Tool } from "@itwin/core-frontend";
10
- import { parseToggle } from "./parseToggle";
11
- import { parseBoolean } from "./parseBoolean";
12
- import { DisplayStyleTool } from "./DisplayStyleTools";
13
- /** This tool specifies or un-specifies a clip color to use for pixels inside or outside the clip region.
14
- * Arguments can be:
15
- * - clear
16
- * - inside <color string> | clear
17
- * - outside <color string> | clear
18
- * <color string> must be in one of the following forms:
19
- * "rgb(255,0,0)"
20
- * "rgba(255,0,0,255)"
21
- * "rgb(100%,0%,0%)"
22
- * "hsl(120,50%,50%)"
23
- * "#rrbbgg"
24
- * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
25
- * @see [ColorDef]
26
- * @beta
27
- */
28
- export class ClipColorTool extends Tool {
29
- static get minArgs() { return 1; }
30
- static get maxArgs() { return 2; }
31
- _clearClipColors() {
32
- var _a;
33
- const vp = IModelApp.viewManager.selectedView;
34
- if (undefined !== vp) {
35
- const props = (_a = vp.displayStyle.settings.clipStyle.toJSON()) !== null && _a !== void 0 ? _a : {};
36
- props.insideColor = props.outsideColor = undefined;
37
- vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);
38
- }
39
- }
40
- setClipColor(colStr, which) {
41
- var _a;
42
- const vp = IModelApp.viewManager.selectedView;
43
- if (vp) {
44
- const props = (_a = vp.displayStyle.settings.clipStyle.toJSON()) !== null && _a !== void 0 ? _a : {};
45
- props[which] = colStr === "clear" ? undefined : RgbColor.fromColorDef(ColorDef.fromString(colStr));
46
- vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);
47
- }
48
- }
49
- /** This runs the tool using the given arguments, specifying or unspecifying a clip color to use for pixels inside or outside the clip region.
50
- * Arguments can be:
51
- * - clear
52
- * - inside <color string> | clear
53
- * - outside <color string> | clear
54
- * <color string> must be in one of the following forms:
55
- * "rgb(255,0,0)"
56
- * "rgba(255,0,0,255)"
57
- * "rgb(100%,0%,0%)"
58
- * "hsl(120,50%,50%)"
59
- * "#rrbbgg"
60
- * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
61
- * @beta
62
- */
63
- async parseAndRun(...args) {
64
- if (1 === args.length) {
65
- if (args[0] === "clear")
66
- this._clearClipColors();
67
- return true;
68
- }
69
- const which = args[0];
70
- if (which === "inside" || which === "outside")
71
- this.setClipColor(args[1], "inside" === which ? "insideColor" : "outsideColor");
72
- return true;
73
- }
74
- }
75
- ClipColorTool.toolId = "ClipColorTool";
76
- /** Controls a view state's view details' flag for producing cut geometry for a clip style.
77
- * @beta
78
- */
79
- export class ToggleSectionCutTool extends Tool {
80
- static get minArgs() { return 0; }
81
- static get maxArgs() { return 1; }
82
- /** This method runs the tool, controlling a view state's view details' flag for producing cut geometry for a clip style.
83
- * @param produceCutGeometry whether to produce cut geometry
84
- */
85
- async run(produceCutGeometry) {
86
- const vp = IModelApp.viewManager.selectedView;
87
- if (vp) {
88
- const style = vp.view.displayStyle.settings.clipStyle;
89
- produceCutGeometry = produceCutGeometry !== null && produceCutGeometry !== void 0 ? produceCutGeometry : !style.produceCutGeometry;
90
- if (produceCutGeometry !== style.produceCutGeometry) {
91
- const json = {
92
- ...vp.view.displayStyle.settings.clipStyle.toJSON(),
93
- produceCutGeometry,
94
- };
95
- vp.view.displayStyle.settings.clipStyle = ClipStyle.fromJSON(json);
96
- vp.invalidateScene();
97
- }
98
- }
99
- return true;
100
- }
101
- /** Executes this tool's run method with args[0] containing `produceCutGeometry`.
102
- * @see [[run]]
103
- */
104
- async parseAndRun(...args) {
105
- const enable = parseToggle(args[0]);
106
- if (typeof enable !== "string")
107
- await this.run(enable);
108
- return true;
109
- }
110
- }
111
- ToggleSectionCutTool.toolId = "ToggleSectionCut";
112
- /** Simple tool that toggles a hard-coded clip style overriding various aspects of the cut geometry appearance.
113
- * @beta
114
- */
115
- export class TestClipStyleTool extends DisplayStyleTool {
116
- constructor() {
117
- super(...arguments);
118
- this._useStyle = false;
119
- }
120
- static get maxArgs() { return 1; }
121
- static get minArgs() { return 1; }
122
- get require3d() { return true; }
123
- async parse(args) {
124
- var _a;
125
- this._useStyle = (_a = parseBoolean(args[0])) !== null && _a !== void 0 ? _a : false;
126
- return true;
127
- }
128
- async execute(vp) {
129
- const props = { produceCutGeometry: true };
130
- if (this._useStyle) {
131
- props.cutStyle = {
132
- viewflags: {
133
- renderMode: RenderMode.SmoothShade,
134
- visibleEdges: true,
135
- hiddenEdges: false,
136
- },
137
- appearance: {
138
- rgb: { r: 0xff, g: 0x7f, b: 0 },
139
- transparency: 0.5,
140
- nonLocatable: true,
141
- },
142
- hiddenLine: {
143
- visible: {
144
- ovrColor: true,
145
- color: ColorByName.blue,
146
- pattern: LinePixels.Solid,
147
- width: 3,
148
- },
149
- },
150
- };
151
- }
152
- vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);
153
- vp.invalidateRenderPlan();
154
- vp.setFeatureOverrideProviderChanged();
155
- return true;
156
- }
157
- }
158
- TestClipStyleTool.toolId = "TestClipStyle";
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 { ClipStyle, ColorByName, ColorDef, LinePixels, RenderMode, RgbColor, } from "@itwin/core-common";
9
+ import { IModelApp, Tool } from "@itwin/core-frontend";
10
+ import { parseToggle } from "./parseToggle";
11
+ import { parseBoolean } from "./parseBoolean";
12
+ import { DisplayStyleTool } from "./DisplayStyleTools";
13
+ /** This tool specifies or un-specifies a clip color to use for pixels inside or outside the clip region.
14
+ * Arguments can be:
15
+ * - clear
16
+ * - inside <color string> | clear
17
+ * - outside <color string> | clear
18
+ * <color string> must be in one of the following forms:
19
+ * "rgb(255,0,0)"
20
+ * "rgba(255,0,0,255)"
21
+ * "rgb(100%,0%,0%)"
22
+ * "hsl(120,50%,50%)"
23
+ * "#rrbbgg"
24
+ * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
25
+ * @see [ColorDef]
26
+ * @beta
27
+ */
28
+ class ClipColorTool extends Tool {
29
+ static get minArgs() { return 1; }
30
+ static get maxArgs() { return 2; }
31
+ _clearClipColors() {
32
+ const vp = IModelApp.viewManager.selectedView;
33
+ if (undefined !== vp) {
34
+ const props = vp.displayStyle.settings.clipStyle.toJSON() ?? {};
35
+ props.insideColor = props.outsideColor = undefined;
36
+ vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);
37
+ }
38
+ }
39
+ setClipColor(colStr, which) {
40
+ const vp = IModelApp.viewManager.selectedView;
41
+ if (vp) {
42
+ const props = vp.displayStyle.settings.clipStyle.toJSON() ?? {};
43
+ props[which] = colStr === "clear" ? undefined : RgbColor.fromColorDef(ColorDef.fromString(colStr));
44
+ vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);
45
+ }
46
+ }
47
+ /** This runs the tool using the given arguments, specifying or unspecifying a clip color to use for pixels inside or outside the clip region.
48
+ * Arguments can be:
49
+ * - clear
50
+ * - inside <color string> | clear
51
+ * - outside <color string> | clear
52
+ * <color string> must be in one of the following forms:
53
+ * "rgb(255,0,0)"
54
+ * "rgba(255,0,0,255)"
55
+ * "rgb(100%,0%,0%)"
56
+ * "hsl(120,50%,50%)"
57
+ * "#rrbbgg"
58
+ * "blanchedAlmond" (see possible values from [[ColorByName]]). Case insensitive.
59
+ * @beta
60
+ */
61
+ async parseAndRun(...args) {
62
+ if (1 === args.length) {
63
+ if (args[0] === "clear")
64
+ this._clearClipColors();
65
+ return true;
66
+ }
67
+ const which = args[0];
68
+ if (which === "inside" || which === "outside")
69
+ this.setClipColor(args[1], "inside" === which ? "insideColor" : "outsideColor");
70
+ return true;
71
+ }
72
+ }
73
+ ClipColorTool.toolId = "ClipColorTool";
74
+ export { ClipColorTool };
75
+ /** Controls a view state's view details' flag for producing cut geometry for a clip style.
76
+ * @beta
77
+ */
78
+ class ToggleSectionCutTool extends Tool {
79
+ static get minArgs() { return 0; }
80
+ static get maxArgs() { return 1; }
81
+ /** This method runs the tool, controlling a view state's view details' flag for producing cut geometry for a clip style.
82
+ * @param produceCutGeometry whether to produce cut geometry
83
+ */
84
+ async run(produceCutGeometry) {
85
+ const vp = IModelApp.viewManager.selectedView;
86
+ if (vp) {
87
+ const style = vp.view.displayStyle.settings.clipStyle;
88
+ produceCutGeometry = produceCutGeometry ?? !style.produceCutGeometry;
89
+ if (produceCutGeometry !== style.produceCutGeometry) {
90
+ const json = {
91
+ ...vp.view.displayStyle.settings.clipStyle.toJSON(),
92
+ produceCutGeometry,
93
+ };
94
+ vp.view.displayStyle.settings.clipStyle = ClipStyle.fromJSON(json);
95
+ vp.invalidateScene();
96
+ }
97
+ }
98
+ return true;
99
+ }
100
+ /** Executes this tool's run method with args[0] containing `produceCutGeometry`.
101
+ * @see [[run]]
102
+ */
103
+ async parseAndRun(...args) {
104
+ const enable = parseToggle(args[0]);
105
+ if (typeof enable !== "string")
106
+ await this.run(enable);
107
+ return true;
108
+ }
109
+ }
110
+ ToggleSectionCutTool.toolId = "ToggleSectionCut";
111
+ export { ToggleSectionCutTool };
112
+ /** Simple tool that toggles a hard-coded clip style overriding various aspects of the cut geometry appearance.
113
+ * @beta
114
+ */
115
+ class TestClipStyleTool extends DisplayStyleTool {
116
+ constructor() {
117
+ super(...arguments);
118
+ this._useStyle = false;
119
+ }
120
+ static get maxArgs() { return 1; }
121
+ static get minArgs() { return 1; }
122
+ get require3d() { return true; }
123
+ async parse(args) {
124
+ this._useStyle = parseBoolean(args[0]) ?? false;
125
+ return true;
126
+ }
127
+ async execute(vp) {
128
+ const props = { produceCutGeometry: true };
129
+ if (this._useStyle) {
130
+ props.cutStyle = {
131
+ viewflags: {
132
+ renderMode: RenderMode.SmoothShade,
133
+ visibleEdges: true,
134
+ hiddenEdges: false,
135
+ },
136
+ appearance: {
137
+ rgb: { r: 0xff, g: 0x7f, b: 0 },
138
+ transparency: 0.5,
139
+ nonLocatable: true,
140
+ },
141
+ hiddenLine: {
142
+ visible: {
143
+ ovrColor: true,
144
+ color: ColorByName.blue,
145
+ pattern: LinePixels.Solid,
146
+ width: 3,
147
+ },
148
+ },
149
+ };
150
+ }
151
+ vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);
152
+ vp.invalidateRenderPlan();
153
+ vp.setFeatureOverrideProviderChanged();
154
+ return true;
155
+ }
156
+ }
157
+ TestClipStyleTool.toolId = "TestClipStyle";
158
+ export { TestClipStyleTool };
159
159
  //# sourceMappingURL=ClipTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClipTools.js","sourceRoot":"","sources":["../../../src/tools/ClipTools.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 ClipStyle, ClipStyleProps, ColorByName, ColorDef, LinePixels, RenderMode, RgbColor,\r\n} from \"@itwin/core-common\";\r\nimport { IModelApp, Tool, Viewport } from \"@itwin/core-frontend\";\r\nimport { parseToggle } from \"./parseToggle\";\r\nimport { parseBoolean } from \"./parseBoolean\";\r\nimport { DisplayStyleTool } from \"./DisplayStyleTools\";\r\n\r\n/** This tool specifies or un-specifies a clip color to use for pixels inside or outside the clip region.\r\n * Arguments can be:\r\n * - clear\r\n * - inside <color string> | clear\r\n * - outside <color string> | clear\r\n * <color string> must be in one of the following forms:\r\n * \"rgb(255,0,0)\"\r\n * \"rgba(255,0,0,255)\"\r\n * \"rgb(100%,0%,0%)\"\r\n * \"hsl(120,50%,50%)\"\r\n * \"#rrbbgg\"\r\n * \"blanchedAlmond\" (see possible values from [[ColorByName]]). Case insensitive.\r\n * @see [ColorDef]\r\n * @beta\r\n */\r\nexport class ClipColorTool extends Tool {\r\n public static override toolId = \"ClipColorTool\";\r\n public static override get minArgs() { return 1; }\r\n public static override get maxArgs() { return 2; }\r\n\r\n private _clearClipColors() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (undefined !== vp) {\r\n const props = vp.displayStyle.settings.clipStyle.toJSON() ?? {};\r\n props.insideColor = props.outsideColor = undefined;\r\n vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);\r\n }\r\n }\r\n\r\n private setClipColor(colStr: string, which: \"insideColor\" | \"outsideColor\") {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (vp) {\r\n const props = vp.displayStyle.settings.clipStyle.toJSON() ?? {};\r\n props[which] = colStr === \"clear\" ? undefined : RgbColor.fromColorDef(ColorDef.fromString(colStr));\r\n vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);\r\n }\r\n }\r\n\r\n /** This runs the tool using the given arguments, specifying or unspecifying a clip color to use for pixels inside or outside the clip region.\r\n * Arguments can be:\r\n * - clear\r\n * - inside <color string> | clear\r\n * - outside <color string> | clear\r\n * <color string> must be in one of the following forms:\r\n * \"rgb(255,0,0)\"\r\n * \"rgba(255,0,0,255)\"\r\n * \"rgb(100%,0%,0%)\"\r\n * \"hsl(120,50%,50%)\"\r\n * \"#rrbbgg\"\r\n * \"blanchedAlmond\" (see possible values from [[ColorByName]]). Case insensitive.\r\n * @beta\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n if (1 === args.length) {\r\n if (args[0] === \"clear\")\r\n this._clearClipColors();\r\n\r\n return true;\r\n }\r\n\r\n const which = args[0];\r\n if (which === \"inside\" || which === \"outside\")\r\n this.setClipColor(args[1], \"inside\" === which ? \"insideColor\" : \"outsideColor\");\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** Controls a view state's view details' flag for producing cut geometry for a clip style.\r\n * @beta\r\n */\r\nexport class ToggleSectionCutTool extends Tool {\r\n public static override toolId = \"ToggleSectionCut\";\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 1; }\r\n\r\n /** This method runs the tool, controlling a view state's view details' flag for producing cut geometry for a clip style.\r\n * @param produceCutGeometry whether to produce cut geometry\r\n */\r\n public override async run(produceCutGeometry?: boolean): Promise<boolean> {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (vp) {\r\n const style = vp.view.displayStyle.settings.clipStyle;\r\n produceCutGeometry = produceCutGeometry ?? !style.produceCutGeometry;\r\n if (produceCutGeometry !== style.produceCutGeometry) {\r\n const json = {\r\n ...vp.view.displayStyle.settings.clipStyle.toJSON(),\r\n produceCutGeometry,\r\n };\r\n\r\n vp.view.displayStyle.settings.clipStyle = ClipStyle.fromJSON(json);\r\n vp.invalidateScene();\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /** Executes this tool's run method with args[0] containing `produceCutGeometry`.\r\n * @see [[run]]\r\n */\r\n public override async parseAndRun(...args: string[]): Promise<boolean> {\r\n const enable = parseToggle(args[0]);\r\n if (typeof enable !== \"string\")\r\n await this.run(enable);\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** Simple tool that toggles a hard-coded clip style overriding various aspects of the cut geometry appearance.\r\n * @beta\r\n */\r\nexport class TestClipStyleTool extends DisplayStyleTool {\r\n public static override toolId = \"TestClipStyle\";\r\n public static override get maxArgs() { return 1; }\r\n public static override get minArgs() { return 1; }\r\n\r\n private _useStyle = false;\r\n\r\n protected override get require3d() { return true; }\r\n\r\n protected async parse(args: string[]): Promise<boolean> {\r\n this._useStyle = parseBoolean(args[0]) ?? false;\r\n return true;\r\n }\r\n\r\n protected async execute(vp: Viewport) {\r\n const props: ClipStyleProps = { produceCutGeometry: true };\r\n if (this._useStyle) {\r\n props.cutStyle = {\r\n viewflags: {\r\n renderMode: RenderMode.SmoothShade,\r\n visibleEdges: true,\r\n hiddenEdges: false,\r\n },\r\n appearance: {\r\n rgb: { r: 0xff, g: 0x7f, b: 0 },\r\n transparency: 0.5,\r\n nonLocatable: true,\r\n },\r\n hiddenLine: {\r\n visible: {\r\n ovrColor: true,\r\n color: ColorByName.blue,\r\n pattern: LinePixels.Solid,\r\n width: 3,\r\n },\r\n },\r\n };\r\n }\r\n\r\n vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);\r\n vp.invalidateRenderPlan();\r\n vp.setFeatureOverrideProviderChanged();\r\n\r\n return true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ClipTools.js","sourceRoot":"","sources":["../../../src/tools/ClipTools.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module Tools\n */\n\nimport {\n ClipStyle, ClipStyleProps, ColorByName, ColorDef, LinePixels, RenderMode, RgbColor,\n} from \"@itwin/core-common\";\nimport { IModelApp, Tool, Viewport } from \"@itwin/core-frontend\";\nimport { parseToggle } from \"./parseToggle\";\nimport { parseBoolean } from \"./parseBoolean\";\nimport { DisplayStyleTool } from \"./DisplayStyleTools\";\n\n/** This tool specifies or un-specifies a clip color to use for pixels inside or outside the clip region.\n * Arguments can be:\n * - clear\n * - inside <color string> | clear\n * - outside <color string> | clear\n * <color string> must be in one of the following forms:\n * \"rgb(255,0,0)\"\n * \"rgba(255,0,0,255)\"\n * \"rgb(100%,0%,0%)\"\n * \"hsl(120,50%,50%)\"\n * \"#rrbbgg\"\n * \"blanchedAlmond\" (see possible values from [[ColorByName]]). Case insensitive.\n * @see [ColorDef]\n * @beta\n */\nexport class ClipColorTool extends Tool {\n public static override toolId = \"ClipColorTool\";\n public static override get minArgs() { return 1; }\n public static override get maxArgs() { return 2; }\n\n private _clearClipColors() {\n const vp = IModelApp.viewManager.selectedView;\n if (undefined !== vp) {\n const props = vp.displayStyle.settings.clipStyle.toJSON() ?? {};\n props.insideColor = props.outsideColor = undefined;\n vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);\n }\n }\n\n private setClipColor(colStr: string, which: \"insideColor\" | \"outsideColor\") {\n const vp = IModelApp.viewManager.selectedView;\n if (vp) {\n const props = vp.displayStyle.settings.clipStyle.toJSON() ?? {};\n props[which] = colStr === \"clear\" ? undefined : RgbColor.fromColorDef(ColorDef.fromString(colStr));\n vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);\n }\n }\n\n /** This runs the tool using the given arguments, specifying or unspecifying a clip color to use for pixels inside or outside the clip region.\n * Arguments can be:\n * - clear\n * - inside <color string> | clear\n * - outside <color string> | clear\n * <color string> must be in one of the following forms:\n * \"rgb(255,0,0)\"\n * \"rgba(255,0,0,255)\"\n * \"rgb(100%,0%,0%)\"\n * \"hsl(120,50%,50%)\"\n * \"#rrbbgg\"\n * \"blanchedAlmond\" (see possible values from [[ColorByName]]). Case insensitive.\n * @beta\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n if (1 === args.length) {\n if (args[0] === \"clear\")\n this._clearClipColors();\n\n return true;\n }\n\n const which = args[0];\n if (which === \"inside\" || which === \"outside\")\n this.setClipColor(args[1], \"inside\" === which ? \"insideColor\" : \"outsideColor\");\n\n return true;\n }\n}\n\n/** Controls a view state's view details' flag for producing cut geometry for a clip style.\n * @beta\n */\nexport class ToggleSectionCutTool extends Tool {\n public static override toolId = \"ToggleSectionCut\";\n public static override get minArgs() { return 0; }\n public static override get maxArgs() { return 1; }\n\n /** This method runs the tool, controlling a view state's view details' flag for producing cut geometry for a clip style.\n * @param produceCutGeometry whether to produce cut geometry\n */\n public override async run(produceCutGeometry?: boolean): Promise<boolean> {\n const vp = IModelApp.viewManager.selectedView;\n if (vp) {\n const style = vp.view.displayStyle.settings.clipStyle;\n produceCutGeometry = produceCutGeometry ?? !style.produceCutGeometry;\n if (produceCutGeometry !== style.produceCutGeometry) {\n const json = {\n ...vp.view.displayStyle.settings.clipStyle.toJSON(),\n produceCutGeometry,\n };\n\n vp.view.displayStyle.settings.clipStyle = ClipStyle.fromJSON(json);\n vp.invalidateScene();\n }\n }\n\n return true;\n }\n\n /** Executes this tool's run method with args[0] containing `produceCutGeometry`.\n * @see [[run]]\n */\n public override async parseAndRun(...args: string[]): Promise<boolean> {\n const enable = parseToggle(args[0]);\n if (typeof enable !== \"string\")\n await this.run(enable);\n\n return true;\n }\n}\n\n/** Simple tool that toggles a hard-coded clip style overriding various aspects of the cut geometry appearance.\n * @beta\n */\nexport class TestClipStyleTool extends DisplayStyleTool {\n public static override toolId = \"TestClipStyle\";\n public static override get maxArgs() { return 1; }\n public static override get minArgs() { return 1; }\n\n private _useStyle = false;\n\n protected override get require3d() { return true; }\n\n protected async parse(args: string[]): Promise<boolean> {\n this._useStyle = parseBoolean(args[0]) ?? false;\n return true;\n }\n\n protected async execute(vp: Viewport) {\n const props: ClipStyleProps = { produceCutGeometry: true };\n if (this._useStyle) {\n props.cutStyle = {\n viewflags: {\n renderMode: RenderMode.SmoothShade,\n visibleEdges: true,\n hiddenEdges: false,\n },\n appearance: {\n rgb: { r: 0xff, g: 0x7f, b: 0 },\n transparency: 0.5,\n nonLocatable: true,\n },\n hiddenLine: {\n visible: {\n ovrColor: true,\n color: ColorByName.blue,\n pattern: LinePixels.Solid,\n width: 3,\n },\n },\n };\n }\n\n vp.displayStyle.settings.clipStyle = ClipStyle.fromJSON(props);\n vp.invalidateRenderPlan();\n vp.setFeatureOverrideProviderChanged();\n\n return true;\n }\n}\n"]}