@itwin/frontend-devtools 4.0.0-dev.7 → 4.0.0-dev.70

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 (359) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/ClipboardUtilities.d.ts +8 -8
  3. package/lib/cjs/ClipboardUtilities.js +26 -26
  4. package/lib/cjs/FrontEndDevTools.d.ts +19 -19
  5. package/lib/cjs/FrontEndDevTools.js +221 -221
  6. package/lib/cjs/FrontEndDevTools.js.map +1 -1
  7. package/lib/cjs/effects/Convolution.d.ts +68 -68
  8. package/lib/cjs/effects/Convolution.js +148 -148
  9. package/lib/cjs/effects/Convolution.js.map +1 -1
  10. package/lib/cjs/effects/EffectTools.d.ts +33 -33
  11. package/lib/cjs/effects/EffectTools.js +67 -68
  12. package/lib/cjs/effects/EffectTools.js.map +1 -1
  13. package/lib/cjs/effects/Explosion.d.ts +12 -12
  14. package/lib/cjs/effects/Explosion.js +168 -168
  15. package/lib/cjs/effects/Explosion.js.map +1 -1
  16. package/lib/cjs/effects/FlipImage.d.ts +30 -30
  17. package/lib/cjs/effects/FlipImage.js +79 -79
  18. package/lib/cjs/effects/FlipImage.js.map +1 -1
  19. package/lib/cjs/effects/LensDistortion.d.ts +34 -34
  20. package/lib/cjs/effects/LensDistortion.js +88 -88
  21. package/lib/cjs/effects/LensDistortion.js.map +1 -1
  22. package/lib/cjs/effects/Random.d.ts +24 -24
  23. package/lib/cjs/effects/Random.js +49 -49
  24. package/lib/cjs/effects/Saturation.d.ts +30 -30
  25. package/lib/cjs/effects/Saturation.js +59 -59
  26. package/lib/cjs/effects/Saturation.js.map +1 -1
  27. package/lib/cjs/effects/Snow.d.ts +76 -76
  28. package/lib/cjs/effects/Snow.js +187 -187
  29. package/lib/cjs/effects/Snow.js.map +1 -1
  30. package/lib/cjs/effects/Vignette.d.ts +39 -39
  31. package/lib/cjs/effects/Vignette.js +79 -79
  32. package/lib/cjs/effects/Vignette.js.map +1 -1
  33. package/lib/cjs/frontend-devtools.d.ts +82 -82
  34. package/lib/cjs/frontend-devtools.js +102 -98
  35. package/lib/cjs/frontend-devtools.js.map +1 -1
  36. package/lib/cjs/tools/AnimationIntervalTool.d.ts +15 -15
  37. package/lib/cjs/tools/AnimationIntervalTool.js +30 -30
  38. package/lib/cjs/tools/AnimationIntervalTool.js.map +1 -1
  39. package/lib/cjs/tools/ChangeUnitsTool.d.ts +15 -15
  40. package/lib/cjs/tools/ChangeUnitsTool.js +41 -41
  41. package/lib/cjs/tools/ChangeUnitsTool.js.map +1 -1
  42. package/lib/cjs/tools/ClipTools.d.ts +67 -67
  43. package/lib/cjs/tools/ClipTools.js +161 -164
  44. package/lib/cjs/tools/ClipTools.js.map +1 -1
  45. package/lib/cjs/tools/DisplayStyleTools.d.ts +145 -145
  46. package/lib/cjs/tools/DisplayStyleTools.js +368 -370
  47. package/lib/cjs/tools/DisplayStyleTools.js.map +1 -1
  48. package/lib/cjs/tools/EmphasizeElementsTool.d.ts +60 -60
  49. package/lib/cjs/tools/EmphasizeElementsTool.js +154 -154
  50. package/lib/cjs/tools/EmphasizeElementsTool.js.map +1 -1
  51. package/lib/cjs/tools/FrustumDecoration.d.ts +57 -57
  52. package/lib/cjs/tools/FrustumDecoration.js +374 -374
  53. package/lib/cjs/tools/FrustumDecoration.js.map +1 -1
  54. package/lib/cjs/tools/InspectElementTool.d.ts +42 -42
  55. package/lib/cjs/tools/InspectElementTool.js +198 -198
  56. package/lib/cjs/tools/InspectElementTool.js.map +1 -1
  57. package/lib/cjs/tools/MapLayerTool.d.ts +264 -264
  58. package/lib/cjs/tools/MapLayerTool.js +507 -507
  59. package/lib/cjs/tools/MapLayerTool.js.map +1 -1
  60. package/lib/cjs/tools/MeasureTileLoadTime.d.ts +12 -12
  61. package/lib/cjs/tools/MeasureTileLoadTime.js +63 -63
  62. package/lib/cjs/tools/MeasureTileLoadTime.js.map +1 -1
  63. package/lib/cjs/tools/ModelAppearanceTools.d.ts +86 -86
  64. package/lib/cjs/tools/ModelAppearanceTools.js +183 -183
  65. package/lib/cjs/tools/ModelAppearanceTools.js.map +1 -1
  66. package/lib/cjs/tools/PlanProjectionTools.d.ts +40 -40
  67. package/lib/cjs/tools/PlanProjectionTools.js +149 -149
  68. package/lib/cjs/tools/PlanProjectionTools.js.map +1 -1
  69. package/lib/cjs/tools/PlanarMaskTools.d.ts +182 -182
  70. package/lib/cjs/tools/PlanarMaskTools.js +391 -393
  71. package/lib/cjs/tools/PlanarMaskTools.js.map +1 -1
  72. package/lib/cjs/tools/ProjectExtents.d.ts +41 -41
  73. package/lib/cjs/tools/ProjectExtents.js +110 -110
  74. package/lib/cjs/tools/ProjectExtents.js.map +1 -1
  75. package/lib/cjs/tools/RealityModelTools.d.ts +116 -116
  76. package/lib/cjs/tools/RealityModelTools.js +281 -281
  77. package/lib/cjs/tools/RealityModelTools.js.map +1 -1
  78. package/lib/cjs/tools/RealityTransitionTool.d.ts +25 -25
  79. package/lib/cjs/tools/RealityTransitionTool.js +115 -116
  80. package/lib/cjs/tools/RealityTransitionTool.js.map +1 -1
  81. package/lib/cjs/tools/RenderSystemTools.d.ts +38 -38
  82. package/lib/cjs/tools/RenderSystemTools.js +69 -70
  83. package/lib/cjs/tools/RenderSystemTools.js.map +1 -1
  84. package/lib/cjs/tools/RenderTargetTools.d.ts +107 -107
  85. package/lib/cjs/tools/RenderTargetTools.d.ts.map +1 -1
  86. package/lib/cjs/tools/RenderTargetTools.js +174 -174
  87. package/lib/cjs/tools/RenderTargetTools.js.map +1 -1
  88. package/lib/cjs/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  89. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js +30 -30
  90. package/lib/cjs/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  91. package/lib/cjs/tools/SavedViews.d.ts +46 -46
  92. package/lib/cjs/tools/SavedViews.js +136 -136
  93. package/lib/cjs/tools/SavedViews.js.map +1 -1
  94. package/lib/cjs/tools/ScheduleScriptTools.d.ts +37 -37
  95. package/lib/cjs/tools/ScheduleScriptTools.js +157 -159
  96. package/lib/cjs/tools/ScheduleScriptTools.js.map +1 -1
  97. package/lib/cjs/tools/SelectionTools.d.ts +28 -28
  98. package/lib/cjs/tools/SelectionTools.js +87 -87
  99. package/lib/cjs/tools/SelectionTools.js.map +1 -1
  100. package/lib/cjs/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  101. package/lib/cjs/tools/SetGpuMemoryLimitTool.js +33 -33
  102. package/lib/cjs/tools/SetGpuMemoryLimitTool.js.map +1 -1
  103. package/lib/cjs/tools/SourceAspectIdTools.d.ts +40 -40
  104. package/lib/cjs/tools/SourceAspectIdTools.d.ts.map +1 -1
  105. package/lib/cjs/tools/SourceAspectIdTools.js +86 -86
  106. package/lib/cjs/tools/SourceAspectIdTools.js.map +1 -1
  107. package/lib/cjs/tools/TileRequestDecoration.d.ts +12 -12
  108. package/lib/cjs/tools/TileRequestDecoration.js +83 -83
  109. package/lib/cjs/tools/TileRequestDecoration.js.map +1 -1
  110. package/lib/cjs/tools/TileTreeBoundsDecoration.d.ts +11 -11
  111. package/lib/cjs/tools/TileTreeBoundsDecoration.js +74 -74
  112. package/lib/cjs/tools/TileTreeBoundsDecoration.js.map +1 -1
  113. package/lib/cjs/tools/ToolTipProvider.d.ts +15 -15
  114. package/lib/cjs/tools/ToolTipProvider.js +66 -66
  115. package/lib/cjs/tools/ToolTipProvider.js.map +1 -1
  116. package/lib/cjs/tools/ViewportTools.d.ts +218 -218
  117. package/lib/cjs/tools/ViewportTools.d.ts.map +1 -1
  118. package/lib/cjs/tools/ViewportTools.js +516 -516
  119. package/lib/cjs/tools/ViewportTools.js.map +1 -1
  120. package/lib/cjs/tools/parseArgs.d.ts +23 -23
  121. package/lib/cjs/tools/parseArgs.js +51 -51
  122. package/lib/cjs/tools/parseBoolean.d.ts +8 -8
  123. package/lib/cjs/tools/parseBoolean.js +26 -26
  124. package/lib/cjs/tools/parseToggle.d.ts +8 -8
  125. package/lib/cjs/tools/parseToggle.js +25 -25
  126. package/lib/cjs/ui/Button.d.ts +29 -29
  127. package/lib/cjs/ui/Button.d.ts.map +1 -1
  128. package/lib/cjs/ui/Button.js +26 -26
  129. package/lib/cjs/ui/CheckBox.d.ts +23 -23
  130. package/lib/cjs/ui/CheckBox.d.ts.map +1 -1
  131. package/lib/cjs/ui/CheckBox.js +27 -27
  132. package/lib/cjs/ui/ColorInput.d.ts +27 -27
  133. package/lib/cjs/ui/ColorInput.d.ts.map +1 -1
  134. package/lib/cjs/ui/ColorInput.js +53 -53
  135. package/lib/cjs/ui/ComboBox.d.ts +28 -28
  136. package/lib/cjs/ui/ComboBox.d.ts.map +1 -1
  137. package/lib/cjs/ui/ComboBox.js +42 -42
  138. package/lib/cjs/ui/DataList.d.ts +27 -27
  139. package/lib/cjs/ui/DataList.d.ts.map +1 -1
  140. package/lib/cjs/ui/DataList.js +39 -39
  141. package/lib/cjs/ui/NestedMenu.d.ts +19 -19
  142. package/lib/cjs/ui/NestedMenu.d.ts.map +1 -1
  143. package/lib/cjs/ui/NestedMenu.js +46 -46
  144. package/lib/cjs/ui/NumericInput.d.ts +35 -35
  145. package/lib/cjs/ui/NumericInput.d.ts.map +1 -1
  146. package/lib/cjs/ui/NumericInput.js +61 -61
  147. package/lib/cjs/ui/RadioBox.d.ts +29 -29
  148. package/lib/cjs/ui/RadioBox.d.ts.map +1 -1
  149. package/lib/cjs/ui/RadioBox.js +76 -76
  150. package/lib/cjs/ui/Slider.d.ts +28 -28
  151. package/lib/cjs/ui/Slider.d.ts.map +1 -1
  152. package/lib/cjs/ui/Slider.js +42 -42
  153. package/lib/cjs/ui/TextBox.d.ts +32 -32
  154. package/lib/cjs/ui/TextBox.d.ts.map +1 -1
  155. package/lib/cjs/ui/TextBox.js +56 -56
  156. package/lib/cjs/widgets/DiagnosticsPanel.d.ts +37 -37
  157. package/lib/cjs/widgets/DiagnosticsPanel.js +81 -81
  158. package/lib/cjs/widgets/FpsTracker.d.ts +19 -19
  159. package/lib/cjs/widgets/FpsTracker.js +56 -56
  160. package/lib/cjs/widgets/GpuProfiler.d.ts +16 -16
  161. package/lib/cjs/widgets/GpuProfiler.js +192 -192
  162. package/lib/cjs/widgets/KeyinField.d.ts +61 -61
  163. package/lib/cjs/widgets/KeyinField.js +186 -187
  164. package/lib/cjs/widgets/KeyinField.js.map +1 -1
  165. package/lib/cjs/widgets/MemoryTracker.d.ts +27 -27
  166. package/lib/cjs/widgets/MemoryTracker.js +242 -243
  167. package/lib/cjs/widgets/MemoryTracker.js.map +1 -1
  168. package/lib/cjs/widgets/RenderCommandBreakdown.d.ts +15 -15
  169. package/lib/cjs/widgets/RenderCommandBreakdown.js +67 -68
  170. package/lib/cjs/widgets/RenderCommandBreakdown.js.map +1 -1
  171. package/lib/cjs/widgets/TileMemoryBreakdown.d.ts +30 -30
  172. package/lib/cjs/widgets/TileMemoryBreakdown.js +203 -204
  173. package/lib/cjs/widgets/TileMemoryBreakdown.js.map +1 -1
  174. package/lib/cjs/widgets/TileStatisticsTracker.d.ts +21 -21
  175. package/lib/cjs/widgets/TileStatisticsTracker.d.ts.map +1 -1
  176. package/lib/cjs/widgets/TileStatisticsTracker.js +144 -142
  177. package/lib/cjs/widgets/TileStatisticsTracker.js.map +1 -1
  178. package/lib/cjs/widgets/ToolSettingsTracker.d.ts +9 -9
  179. package/lib/cjs/widgets/ToolSettingsTracker.js +211 -211
  180. package/lib/cjs/widgets/ToolSettingsTracker.js.map +1 -1
  181. package/lib/esm/ClipboardUtilities.d.ts +8 -8
  182. package/lib/esm/ClipboardUtilities.js +22 -22
  183. package/lib/esm/FrontEndDevTools.d.ts +19 -19
  184. package/lib/esm/FrontEndDevTools.js +218 -217
  185. package/lib/esm/FrontEndDevTools.js.map +1 -1
  186. package/lib/esm/effects/Convolution.d.ts +68 -68
  187. package/lib/esm/effects/Convolution.js +144 -138
  188. package/lib/esm/effects/Convolution.js.map +1 -1
  189. package/lib/esm/effects/EffectTools.d.ts +33 -33
  190. package/lib/esm/effects/EffectTools.js +63 -62
  191. package/lib/esm/effects/EffectTools.js.map +1 -1
  192. package/lib/esm/effects/Explosion.d.ts +12 -12
  193. package/lib/esm/effects/Explosion.js +165 -164
  194. package/lib/esm/effects/Explosion.js.map +1 -1
  195. package/lib/esm/effects/FlipImage.d.ts +30 -30
  196. package/lib/esm/effects/FlipImage.js +76 -74
  197. package/lib/esm/effects/FlipImage.js.map +1 -1
  198. package/lib/esm/effects/LensDistortion.d.ts +34 -34
  199. package/lib/esm/effects/LensDistortion.js +85 -83
  200. package/lib/esm/effects/LensDistortion.js.map +1 -1
  201. package/lib/esm/effects/Random.d.ts +24 -24
  202. package/lib/esm/effects/Random.js +41 -41
  203. package/lib/esm/effects/Saturation.d.ts +30 -30
  204. package/lib/esm/effects/Saturation.js +56 -54
  205. package/lib/esm/effects/Saturation.js.map +1 -1
  206. package/lib/esm/effects/Snow.d.ts +76 -76
  207. package/lib/esm/effects/Snow.js +184 -182
  208. package/lib/esm/effects/Snow.js.map +1 -1
  209. package/lib/esm/effects/Vignette.d.ts +39 -39
  210. package/lib/esm/effects/Vignette.js +76 -74
  211. package/lib/esm/effects/Vignette.js.map +1 -1
  212. package/lib/esm/frontend-devtools.d.ts +82 -82
  213. package/lib/esm/frontend-devtools.js +86 -86
  214. package/lib/esm/tools/AnimationIntervalTool.d.ts +15 -15
  215. package/lib/esm/tools/AnimationIntervalTool.js +27 -26
  216. package/lib/esm/tools/AnimationIntervalTool.js.map +1 -1
  217. package/lib/esm/tools/ChangeUnitsTool.d.ts +15 -15
  218. package/lib/esm/tools/ChangeUnitsTool.js +38 -37
  219. package/lib/esm/tools/ChangeUnitsTool.js.map +1 -1
  220. package/lib/esm/tools/ClipTools.d.ts +67 -67
  221. package/lib/esm/tools/ClipTools.js +158 -158
  222. package/lib/esm/tools/ClipTools.js.map +1 -1
  223. package/lib/esm/tools/DisplayStyleTools.d.ts +145 -145
  224. package/lib/esm/tools/DisplayStyleTools.js +364 -356
  225. package/lib/esm/tools/DisplayStyleTools.js.map +1 -1
  226. package/lib/esm/tools/EmphasizeElementsTool.d.ts +60 -60
  227. package/lib/esm/tools/EmphasizeElementsTool.js +150 -145
  228. package/lib/esm/tools/EmphasizeElementsTool.js.map +1 -1
  229. package/lib/esm/tools/FrustumDecoration.d.ts +57 -57
  230. package/lib/esm/tools/FrustumDecoration.js +370 -367
  231. package/lib/esm/tools/FrustumDecoration.js.map +1 -1
  232. package/lib/esm/tools/InspectElementTool.d.ts +42 -42
  233. package/lib/esm/tools/InspectElementTool.js +195 -194
  234. package/lib/esm/tools/InspectElementTool.js.map +1 -1
  235. package/lib/esm/tools/MapLayerTool.d.ts +264 -264
  236. package/lib/esm/tools/MapLayerTool.js +504 -485
  237. package/lib/esm/tools/MapLayerTool.js.map +1 -1
  238. package/lib/esm/tools/MeasureTileLoadTime.d.ts +12 -12
  239. package/lib/esm/tools/MeasureTileLoadTime.js +60 -59
  240. package/lib/esm/tools/MeasureTileLoadTime.js.map +1 -1
  241. package/lib/esm/tools/ModelAppearanceTools.d.ts +86 -86
  242. package/lib/esm/tools/ModelAppearanceTools.js +180 -172
  243. package/lib/esm/tools/ModelAppearanceTools.js.map +1 -1
  244. package/lib/esm/tools/PlanProjectionTools.d.ts +40 -40
  245. package/lib/esm/tools/PlanProjectionTools.js +146 -143
  246. package/lib/esm/tools/PlanProjectionTools.js.map +1 -1
  247. package/lib/esm/tools/PlanarMaskTools.d.ts +182 -182
  248. package/lib/esm/tools/PlanarMaskTools.js +387 -377
  249. package/lib/esm/tools/PlanarMaskTools.js.map +1 -1
  250. package/lib/esm/tools/ProjectExtents.d.ts +41 -41
  251. package/lib/esm/tools/ProjectExtents.js +105 -104
  252. package/lib/esm/tools/ProjectExtents.js.map +1 -1
  253. package/lib/esm/tools/RealityModelTools.d.ts +116 -116
  254. package/lib/esm/tools/RealityModelTools.js +278 -268
  255. package/lib/esm/tools/RealityModelTools.js.map +1 -1
  256. package/lib/esm/tools/RealityTransitionTool.d.ts +25 -25
  257. package/lib/esm/tools/RealityTransitionTool.js +112 -112
  258. package/lib/esm/tools/RealityTransitionTool.js.map +1 -1
  259. package/lib/esm/tools/RenderSystemTools.d.ts +38 -38
  260. package/lib/esm/tools/RenderSystemTools.js +65 -63
  261. package/lib/esm/tools/RenderSystemTools.js.map +1 -1
  262. package/lib/esm/tools/RenderTargetTools.d.ts +107 -107
  263. package/lib/esm/tools/RenderTargetTools.d.ts.map +1 -1
  264. package/lib/esm/tools/RenderTargetTools.js +169 -159
  265. package/lib/esm/tools/RenderTargetTools.js.map +1 -1
  266. package/lib/esm/tools/ReportWebGLCompatibilityTool.d.ts +11 -11
  267. package/lib/esm/tools/ReportWebGLCompatibilityTool.js +27 -26
  268. package/lib/esm/tools/ReportWebGLCompatibilityTool.js.map +1 -1
  269. package/lib/esm/tools/SavedViews.d.ts +46 -46
  270. package/lib/esm/tools/SavedViews.js +131 -128
  271. package/lib/esm/tools/SavedViews.js.map +1 -1
  272. package/lib/esm/tools/ScheduleScriptTools.d.ts +37 -37
  273. package/lib/esm/tools/ScheduleScriptTools.js +154 -153
  274. package/lib/esm/tools/ScheduleScriptTools.js.map +1 -1
  275. package/lib/esm/tools/SelectionTools.d.ts +28 -28
  276. package/lib/esm/tools/SelectionTools.js +84 -82
  277. package/lib/esm/tools/SelectionTools.js.map +1 -1
  278. package/lib/esm/tools/SetGpuMemoryLimitTool.d.ts +15 -15
  279. package/lib/esm/tools/SetGpuMemoryLimitTool.js +30 -29
  280. package/lib/esm/tools/SetGpuMemoryLimitTool.js.map +1 -1
  281. package/lib/esm/tools/SourceAspectIdTools.d.ts +40 -40
  282. package/lib/esm/tools/SourceAspectIdTools.d.ts.map +1 -1
  283. package/lib/esm/tools/SourceAspectIdTools.js +82 -80
  284. package/lib/esm/tools/SourceAspectIdTools.js.map +1 -1
  285. package/lib/esm/tools/TileRequestDecoration.d.ts +12 -12
  286. package/lib/esm/tools/TileRequestDecoration.js +80 -79
  287. package/lib/esm/tools/TileRequestDecoration.js.map +1 -1
  288. package/lib/esm/tools/TileTreeBoundsDecoration.d.ts +11 -11
  289. package/lib/esm/tools/TileTreeBoundsDecoration.js +71 -70
  290. package/lib/esm/tools/TileTreeBoundsDecoration.js.map +1 -1
  291. package/lib/esm/tools/ToolTipProvider.d.ts +15 -15
  292. package/lib/esm/tools/ToolTipProvider.js +63 -62
  293. package/lib/esm/tools/ToolTipProvider.js.map +1 -1
  294. package/lib/esm/tools/ViewportTools.d.ts +218 -218
  295. package/lib/esm/tools/ViewportTools.d.ts.map +1 -1
  296. package/lib/esm/tools/ViewportTools.js +511 -492
  297. package/lib/esm/tools/ViewportTools.js.map +1 -1
  298. package/lib/esm/tools/parseArgs.d.ts +23 -23
  299. package/lib/esm/tools/parseArgs.js +47 -47
  300. package/lib/esm/tools/parseBoolean.d.ts +8 -8
  301. package/lib/esm/tools/parseBoolean.js +22 -22
  302. package/lib/esm/tools/parseToggle.d.ts +8 -8
  303. package/lib/esm/tools/parseToggle.js +21 -21
  304. package/lib/esm/ui/Button.d.ts +29 -29
  305. package/lib/esm/ui/Button.d.ts.map +1 -1
  306. package/lib/esm/ui/Button.js +22 -22
  307. package/lib/esm/ui/CheckBox.d.ts +23 -23
  308. package/lib/esm/ui/CheckBox.d.ts.map +1 -1
  309. package/lib/esm/ui/CheckBox.js +23 -23
  310. package/lib/esm/ui/ColorInput.d.ts +27 -27
  311. package/lib/esm/ui/ColorInput.d.ts.map +1 -1
  312. package/lib/esm/ui/ColorInput.js +48 -48
  313. package/lib/esm/ui/ComboBox.d.ts +28 -28
  314. package/lib/esm/ui/ComboBox.d.ts.map +1 -1
  315. package/lib/esm/ui/ComboBox.js +38 -38
  316. package/lib/esm/ui/DataList.d.ts +27 -27
  317. package/lib/esm/ui/DataList.d.ts.map +1 -1
  318. package/lib/esm/ui/DataList.js +34 -34
  319. package/lib/esm/ui/NestedMenu.d.ts +19 -19
  320. package/lib/esm/ui/NestedMenu.d.ts.map +1 -1
  321. package/lib/esm/ui/NestedMenu.js +42 -42
  322. package/lib/esm/ui/NumericInput.d.ts +35 -35
  323. package/lib/esm/ui/NumericInput.d.ts.map +1 -1
  324. package/lib/esm/ui/NumericInput.js +56 -56
  325. package/lib/esm/ui/RadioBox.d.ts +29 -29
  326. package/lib/esm/ui/RadioBox.d.ts.map +1 -1
  327. package/lib/esm/ui/RadioBox.js +72 -72
  328. package/lib/esm/ui/Slider.d.ts +28 -28
  329. package/lib/esm/ui/Slider.d.ts.map +1 -1
  330. package/lib/esm/ui/Slider.js +38 -38
  331. package/lib/esm/ui/TextBox.d.ts +32 -32
  332. package/lib/esm/ui/TextBox.d.ts.map +1 -1
  333. package/lib/esm/ui/TextBox.js +52 -52
  334. package/lib/esm/widgets/DiagnosticsPanel.d.ts +37 -37
  335. package/lib/esm/widgets/DiagnosticsPanel.js +77 -77
  336. package/lib/esm/widgets/FpsTracker.d.ts +19 -19
  337. package/lib/esm/widgets/FpsTracker.js +52 -52
  338. package/lib/esm/widgets/GpuProfiler.d.ts +16 -16
  339. package/lib/esm/widgets/GpuProfiler.js +188 -188
  340. package/lib/esm/widgets/KeyinField.d.ts +61 -61
  341. package/lib/esm/widgets/KeyinField.js +182 -183
  342. package/lib/esm/widgets/KeyinField.js.map +1 -1
  343. package/lib/esm/widgets/MemoryTracker.d.ts +27 -27
  344. package/lib/esm/widgets/MemoryTracker.js +237 -238
  345. package/lib/esm/widgets/MemoryTracker.js.map +1 -1
  346. package/lib/esm/widgets/RenderCommandBreakdown.d.ts +15 -15
  347. package/lib/esm/widgets/RenderCommandBreakdown.js +63 -64
  348. package/lib/esm/widgets/RenderCommandBreakdown.js.map +1 -1
  349. package/lib/esm/widgets/TileMemoryBreakdown.d.ts +30 -30
  350. package/lib/esm/widgets/TileMemoryBreakdown.js +199 -200
  351. package/lib/esm/widgets/TileMemoryBreakdown.js.map +1 -1
  352. package/lib/esm/widgets/TileStatisticsTracker.d.ts +21 -21
  353. package/lib/esm/widgets/TileStatisticsTracker.d.ts.map +1 -1
  354. package/lib/esm/widgets/TileStatisticsTracker.js +140 -138
  355. package/lib/esm/widgets/TileStatisticsTracker.js.map +1 -1
  356. package/lib/esm/widgets/ToolSettingsTracker.d.ts +9 -9
  357. package/lib/esm/widgets/ToolSettingsTracker.js +208 -207
  358. package/lib/esm/widgets/ToolSettingsTracker.js.map +1 -1
  359. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"FrontEndDevTools.js","sourceRoot":"","sources":["../../src/FrontEndDevTools.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/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { EdgeDetectionEffect, EmbossEffect, GaussianBlurEffect, SharpenEffect, SharpnessEffect, UnsharpenEffect } from \"./effects/Convolution\";\r\nimport { ClearEffectsTool } from \"./effects/EffectTools\";\r\nimport { ExplosionEffect } from \"./effects/Explosion\";\r\nimport { FlipImageConfig, FlipImageEffect } from \"./effects/FlipImage\";\r\nimport { LensDistortionConfig, LensDistortionEffect } from \"./effects/LensDistortion\";\r\nimport { SaturationConfig, SaturationEffect } from \"./effects/Saturation\";\r\nimport { SnowEffect } from \"./effects/Snow\";\r\nimport { VignetteConfig, VignetteEffect } from \"./effects/Vignette\";\r\nimport {\r\n MaskBackgroundMapByElementTool, MaskBackgroundMapByExcludedElementTool, MaskBackgroundMapByModelTool, MaskBackgroundMapBySubCategoryTool, MaskRealityModelByElementTool, MaskRealityModelByExcludedElementTool,\r\n MaskRealityModelByModelTool, MaskRealityModelBySubCategoryTool, SetHigherPriorityRealityModelMasking, SetMapHigherPriorityMasking, UnmaskMapTool, UnmaskRealityModelTool,\r\n} from \"./tools/PlanarMaskTools\";\r\nimport {\r\n ChangeCameraTool, ChangeEmphasisSettingsTool, ChangeFlashSettingsTool, ChangeHiliteModeTool, ChangeHiliteSettingsTool, DefaultTileSizeModifierTool, FadeOutTool,\r\n FreezeSceneTool, SetAspectRatioSkewTool, ShowTileVolumesTool, Toggle3dManipulationsTool, ToggleDrawingGraphicsTool, ToggleSectionDrawingSpatialViewTool,\r\n ToggleTileTreeReferencesTool, ToggleViewAttachmentBoundariesTool, ToggleViewAttachmentClipShapesTool, ToggleViewAttachmentsTool, ViewportAddRealityModel,\r\n ViewportTileSizeModifierTool,\r\n} from \"./tools/ViewportTools\";\r\nimport { AnimationIntervalTool } from \"./tools/AnimationIntervalTool\";\r\nimport { ChangeUnitsTool } from \"./tools/ChangeUnitsTool\";\r\nimport { ClipColorTool, TestClipStyleTool, ToggleSectionCutTool } from \"./tools/ClipTools\";\r\nimport {\r\n ApplyRenderingStyleTool, ChangeBackgroundColorTool, ChangeViewFlagsTool, OverrideSubCategoryTool, SaveRenderingStyleTool, SkyCubeTool,\r\n SkySphereTool, ToggleSkyboxTool, ToggleWiremeshTool, WoWIgnoreBackgroundTool,\r\n} from \"./tools/DisplayStyleTools\";\r\nimport { QueryScheduleScriptTool, ReverseScheduleScriptTool, SetScheduleScriptTool } from \"./tools/ScheduleScriptTools\";\r\nimport {\r\n ClearEmphasizedElementsTool, ClearIsolatedElementsTool, EmphasizeSelectedElementsTool, EmphasizeVisibleElementsTool, IsolateSelectedElementsTool,\r\n} from \"./tools/EmphasizeElementsTool\";\r\nimport { ToggleFrustumSnapshotTool, ToggleSelectedViewFrustumTool, ToggleShadowFrustumTool } from \"./tools/FrustumDecoration\";\r\nimport { InspectElementTool } from \"./tools/InspectElementTool\";\r\nimport {\r\n AttachArcGISFeatureMapLayerByUrlTool,\r\n AttachArcGISMapLayerByUrlTool, AttachMapLayerTool, AttachMapOverlayTool, AttachModelMapLayerTool, AttachTileURLMapLayerByUrlTool, AttachWmsMapLayerByUrlTool,\r\n AttachWmtsMapLayerByUrlTool, DetachMapLayersTool, MapBaseColorTool, MapBaseTransparencyTool, MapBaseVisibilityTool, MapLayerSubLayerVisibilityTool,\r\n MapLayerTransparencyTool, MapLayerVisibilityTool, MapLayerZoomTool, ReorderMapLayers, SetMapBaseTool, ToggleTerrainTool,\r\n} from \"./tools/MapLayerTool\";\r\nimport { MeasureTileLoadTimeTool } from \"./tools/MeasureTileLoadTime\";\r\nimport {\r\n ClearModelAppearanceOverrides, SetModelColorTool, SetModelEmphasizedTool, SetModelIgnoresMaterialsTool, SetModelLineCodeTool,\r\n SetModelLineWeightTool, SetModelLocateTool, SetModelTransparencyTool,\r\n} from \"./tools/ModelAppearanceTools\";\r\nimport { ChangePlanProjectionSettingsTool, DumpPlanProjectionSettingsTool, OverrideSubCategoryPriorityTool } from \"./tools/PlanProjectionTools\";\r\nimport { ToggleProjectExtentsTool } from \"./tools/ProjectExtents\";\r\nimport {\r\n AttachCesiumAssetTool, AttachRealityModelTool, ClearRealityModelAppearanceOverrides, DetachRealityModelTool, SaveRealityModelTool,\r\n SetRealityModelColorTool, SetRealityModelEmphasizedTool, SetRealityModelLocateTool, SetRealityModelTransparencyTool, ToggleOSMBuildingDisplay,\r\n} from \"./tools/RealityModelTools\";\r\nimport { RealityTransitionTool } from \"./tools/RealityTransitionTool\";\r\nimport { CompileShadersTool, LoseWebGLContextTool, ToggleDPIForLODTool } from \"./tools/RenderSystemTools\";\r\nimport {\r\n SetAASamplesTool, ToggleDrapeFrustumTool, ToggleNormalMaps, TogglePrimitiveVisibilityTool, ToggleReadPixelsTool, ToggleRealityTileBounds, ToggleRealityTileFreeze,\r\n ToggleRealityTileLogging, ToggleRealityTilePreload, ToggleVolClassIntersect,\r\n} from \"./tools/RenderTargetTools\";\r\nimport { ReportWebGLCompatibilityTool } from \"./tools/ReportWebGLCompatibilityTool\";\r\nimport { ApplyViewByIdTool, ApplyViewTool, SaveViewTool } from \"./tools/SavedViews\";\r\nimport { DumpSelectionSetTool, SelectElementsByIdTool } from \"./tools/SelectionTools\";\r\nimport { SetGpuMemoryLimitTool } from \"./tools/SetGpuMemoryLimitTool\";\r\nimport { ElementIdFromSourceAspectIdTool, SourceAspectIdFromElementIdTool } from \"./tools/SourceAspectIdTools\";\r\nimport { ToggleTileRequestDecorationTool } from \"./tools/TileRequestDecoration\";\r\nimport { ToggleTileTreeBoundsDecorationTool } from \"./tools/TileTreeBoundsDecoration\";\r\nimport { ToggleToolTipsTool } from \"./tools/ToolTipProvider\";\r\n\r\n/** Entry-point for the package. Before using the package you *must* call [[FrontendDevTools.initialize]].\r\n * @beta\r\n */\r\nexport class FrontendDevTools {\r\n private static _initialized = false;\r\n\r\n /** Call this before using the package (e.g., before instantiating any of its widgets or attempting to use any of its tools.\r\n * To initialize when starting up your app:\r\n * ```ts\r\n * IModelApp.startup();\r\n * await FrontendDevTools.initialize();\r\n * ```\r\n * @beta\r\n */\r\n public static async initialize(): Promise<void> {\r\n if (this._initialized)\r\n return;\r\n\r\n this._initialized = true;\r\n\r\n // clean up if we're being shut down\r\n IModelApp.onBeforeShutdown.addListener(() => this.shutdown());\r\n\r\n const namespace = \"FrontendDevTools\";\r\n const namespacePromise = IModelApp.localization.registerNamespace(namespace);\r\n const tools = [\r\n AttachMapLayerTool,\r\n AttachMapOverlayTool,\r\n AttachModelMapLayerTool,\r\n AttachArcGISMapLayerByUrlTool,\r\n AttachArcGISFeatureMapLayerByUrlTool,\r\n AttachWmsMapLayerByUrlTool,\r\n AttachWmtsMapLayerByUrlTool,\r\n AttachTileURLMapLayerByUrlTool,\r\n AnimationIntervalTool,\r\n ApplyRenderingStyleTool,\r\n ApplyViewByIdTool,\r\n ApplyViewTool,\r\n ChangeBackgroundColorTool,\r\n ChangeCameraTool,\r\n ChangeEmphasisSettingsTool,\r\n ChangeFlashSettingsTool,\r\n ChangeHiliteModeTool,\r\n ChangeHiliteSettingsTool,\r\n ChangePlanProjectionSettingsTool,\r\n ChangeUnitsTool,\r\n ChangeViewFlagsTool,\r\n ClearEffectsTool,\r\n ClearEmphasizedElementsTool,\r\n ClearIsolatedElementsTool,\r\n ClipColorTool,\r\n CompileShadersTool,\r\n DefaultTileSizeModifierTool,\r\n DetachMapLayersTool,\r\n DumpPlanProjectionSettingsTool,\r\n DumpSelectionSetTool,\r\n EdgeDetectionEffect,\r\n EmbossEffect,\r\n ElementIdFromSourceAspectIdTool,\r\n EmphasizeSelectedElementsTool,\r\n EmphasizeVisibleElementsTool,\r\n ExplosionEffect,\r\n FadeOutTool,\r\n FlipImageConfig,\r\n FlipImageEffect,\r\n FreezeSceneTool,\r\n GaussianBlurEffect,\r\n InspectElementTool,\r\n IsolateSelectedElementsTool,\r\n LensDistortionConfig,\r\n LensDistortionEffect,\r\n LoseWebGLContextTool,\r\n MapLayerTransparencyTool,\r\n MapLayerVisibilityTool,\r\n MapLayerSubLayerVisibilityTool,\r\n MapLayerZoomTool,\r\n MapBaseColorTool,\r\n MapBaseTransparencyTool,\r\n MapBaseVisibilityTool,\r\n MeasureTileLoadTimeTool,\r\n OverrideSubCategoryTool,\r\n OverrideSubCategoryPriorityTool,\r\n QueryScheduleScriptTool,\r\n RealityTransitionTool,\r\n ReorderMapLayers,\r\n ReportWebGLCompatibilityTool,\r\n ReverseScheduleScriptTool,\r\n SaturationConfig,\r\n SaturationEffect,\r\n SaveRenderingStyleTool,\r\n SaveViewTool,\r\n SelectElementsByIdTool,\r\n SetAASamplesTool,\r\n SetAspectRatioSkewTool,\r\n SetScheduleScriptTool,\r\n ToggleVolClassIntersect,\r\n SetMapBaseTool,\r\n SharpenEffect,\r\n SharpnessEffect,\r\n ShowTileVolumesTool,\r\n SkyCubeTool,\r\n SkySphereTool,\r\n SnowEffect,\r\n SourceAspectIdFromElementIdTool,\r\n TestClipStyleTool,\r\n Toggle3dManipulationsTool,\r\n ToggleDrawingGraphicsTool,\r\n ToggleDPIForLODTool,\r\n ToggleDrapeFrustumTool,\r\n ToggleFrustumSnapshotTool,\r\n ToggleNormalMaps,\r\n TogglePrimitiveVisibilityTool,\r\n ToggleProjectExtentsTool,\r\n ToggleReadPixelsTool,\r\n ToggleSectionDrawingSpatialViewTool,\r\n ToggleSelectedViewFrustumTool,\r\n ToggleShadowFrustumTool,\r\n ToggleSkyboxTool,\r\n ToggleTileRequestDecorationTool,\r\n ToggleTileTreeBoundsDecorationTool,\r\n ToggleTileTreeReferencesTool,\r\n ToggleToolTipsTool,\r\n ToggleViewAttachmentBoundariesTool,\r\n ToggleViewAttachmentClipShapesTool,\r\n ToggleViewAttachmentsTool,\r\n ToggleWiremeshTool,\r\n ToggleRealityTileBounds,\r\n ToggleRealityTilePreload,\r\n ToggleRealityTileLogging,\r\n ToggleRealityTileFreeze,\r\n ToggleSectionCutTool,\r\n ToggleTerrainTool,\r\n UnsharpenEffect,\r\n ViewportAddRealityModel,\r\n ViewportTileSizeModifierTool,\r\n VignetteConfig,\r\n VignetteEffect,\r\n AttachRealityModelTool,\r\n DetachRealityModelTool,\r\n SaveRealityModelTool,\r\n SetGpuMemoryLimitTool,\r\n SetRealityModelLocateTool,\r\n SetRealityModelEmphasizedTool,\r\n SetRealityModelTransparencyTool,\r\n SetRealityModelColorTool,\r\n SetModelLocateTool,\r\n SetModelEmphasizedTool,\r\n SetModelTransparencyTool,\r\n SetModelColorTool,\r\n SetModelLineWeightTool,\r\n SetModelLineCodeTool,\r\n SetModelIgnoresMaterialsTool,\r\n ClearRealityModelAppearanceOverrides,\r\n ClearModelAppearanceOverrides,\r\n AttachCesiumAssetTool,\r\n ToggleOSMBuildingDisplay,\r\n SetHigherPriorityRealityModelMasking,\r\n SetMapHigherPriorityMasking,\r\n MaskRealityModelByModelTool,\r\n MaskRealityModelBySubCategoryTool,\r\n MaskRealityModelByElementTool,\r\n MaskRealityModelByExcludedElementTool,\r\n UnmaskRealityModelTool,\r\n MaskBackgroundMapByModelTool,\r\n MaskBackgroundMapBySubCategoryTool,\r\n MaskBackgroundMapByElementTool,\r\n MaskBackgroundMapByExcludedElementTool,\r\n UnmaskMapTool,\r\n WoWIgnoreBackgroundTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(namespace);\r\n\r\n return namespacePromise;\r\n }\r\n\r\n private static shutdown() {\r\n this._initialized = false;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"FrontEndDevTools.js","sourceRoot":"","sources":["../../src/FrontEndDevTools.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/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport { IModelApp } from \"@itwin/core-frontend\";\r\nimport { EdgeDetectionEffect, EmbossEffect, GaussianBlurEffect, SharpenEffect, SharpnessEffect, UnsharpenEffect } from \"./effects/Convolution\";\r\nimport { ClearEffectsTool } from \"./effects/EffectTools\";\r\nimport { ExplosionEffect } from \"./effects/Explosion\";\r\nimport { FlipImageConfig, FlipImageEffect } from \"./effects/FlipImage\";\r\nimport { LensDistortionConfig, LensDistortionEffect } from \"./effects/LensDistortion\";\r\nimport { SaturationConfig, SaturationEffect } from \"./effects/Saturation\";\r\nimport { SnowEffect } from \"./effects/Snow\";\r\nimport { VignetteConfig, VignetteEffect } from \"./effects/Vignette\";\r\nimport {\r\n MaskBackgroundMapByElementTool, MaskBackgroundMapByExcludedElementTool, MaskBackgroundMapByModelTool, MaskBackgroundMapBySubCategoryTool, MaskRealityModelByElementTool, MaskRealityModelByExcludedElementTool,\r\n MaskRealityModelByModelTool, MaskRealityModelBySubCategoryTool, SetHigherPriorityRealityModelMasking, SetMapHigherPriorityMasking, UnmaskMapTool, UnmaskRealityModelTool,\r\n} from \"./tools/PlanarMaskTools\";\r\nimport {\r\n ChangeCameraTool, ChangeEmphasisSettingsTool, ChangeFlashSettingsTool, ChangeHiliteModeTool, ChangeHiliteSettingsTool, DefaultTileSizeModifierTool, FadeOutTool,\r\n FreezeSceneTool, SetAspectRatioSkewTool, ShowTileVolumesTool, Toggle3dManipulationsTool, ToggleDrawingGraphicsTool, ToggleSectionDrawingSpatialViewTool,\r\n ToggleTileTreeReferencesTool, ToggleViewAttachmentBoundariesTool, ToggleViewAttachmentClipShapesTool, ToggleViewAttachmentsTool, ViewportAddRealityModel,\r\n ViewportTileSizeModifierTool,\r\n} from \"./tools/ViewportTools\";\r\nimport { AnimationIntervalTool } from \"./tools/AnimationIntervalTool\";\r\nimport { ChangeUnitsTool } from \"./tools/ChangeUnitsTool\";\r\nimport { ClipColorTool, TestClipStyleTool, ToggleSectionCutTool } from \"./tools/ClipTools\";\r\nimport {\r\n ApplyRenderingStyleTool, ChangeBackgroundColorTool, ChangeViewFlagsTool, OverrideSubCategoryTool, SaveRenderingStyleTool, SkyCubeTool,\r\n SkySphereTool, ToggleSkyboxTool, ToggleWiremeshTool, WoWIgnoreBackgroundTool,\r\n} from \"./tools/DisplayStyleTools\";\r\nimport { QueryScheduleScriptTool, ReverseScheduleScriptTool, SetScheduleScriptTool } from \"./tools/ScheduleScriptTools\";\r\nimport {\r\n ClearEmphasizedElementsTool, ClearIsolatedElementsTool, EmphasizeSelectedElementsTool, EmphasizeVisibleElementsTool, IsolateSelectedElementsTool,\r\n} from \"./tools/EmphasizeElementsTool\";\r\nimport { ToggleFrustumSnapshotTool, ToggleSelectedViewFrustumTool, ToggleShadowFrustumTool } from \"./tools/FrustumDecoration\";\r\nimport { InspectElementTool } from \"./tools/InspectElementTool\";\r\nimport {\r\n AttachArcGISFeatureMapLayerByUrlTool,\r\n AttachArcGISMapLayerByUrlTool, AttachMapLayerTool, AttachMapOverlayTool, AttachModelMapLayerTool, AttachTileURLMapLayerByUrlTool, AttachWmsMapLayerByUrlTool,\r\n AttachWmtsMapLayerByUrlTool, DetachMapLayersTool, MapBaseColorTool, MapBaseTransparencyTool, MapBaseVisibilityTool, MapLayerSubLayerVisibilityTool,\r\n MapLayerTransparencyTool, MapLayerVisibilityTool, MapLayerZoomTool, ReorderMapLayers, SetMapBaseTool, ToggleTerrainTool,\r\n} from \"./tools/MapLayerTool\";\r\nimport { MeasureTileLoadTimeTool } from \"./tools/MeasureTileLoadTime\";\r\nimport {\r\n ClearModelAppearanceOverrides, SetModelColorTool, SetModelEmphasizedTool, SetModelIgnoresMaterialsTool, SetModelLineCodeTool,\r\n SetModelLineWeightTool, SetModelLocateTool, SetModelTransparencyTool,\r\n} from \"./tools/ModelAppearanceTools\";\r\nimport { ChangePlanProjectionSettingsTool, DumpPlanProjectionSettingsTool, OverrideSubCategoryPriorityTool } from \"./tools/PlanProjectionTools\";\r\nimport { ToggleProjectExtentsTool } from \"./tools/ProjectExtents\";\r\nimport {\r\n AttachCesiumAssetTool, AttachRealityModelTool, ClearRealityModelAppearanceOverrides, DetachRealityModelTool, SaveRealityModelTool,\r\n SetRealityModelColorTool, SetRealityModelEmphasizedTool, SetRealityModelLocateTool, SetRealityModelTransparencyTool, ToggleOSMBuildingDisplay,\r\n} from \"./tools/RealityModelTools\";\r\nimport { RealityTransitionTool } from \"./tools/RealityTransitionTool\";\r\nimport { CompileShadersTool, LoseWebGLContextTool, ToggleDPIForLODTool } from \"./tools/RenderSystemTools\";\r\nimport {\r\n SetAASamplesTool, ToggleDrapeFrustumTool, ToggleNormalMaps, TogglePrimitiveVisibilityTool, ToggleReadPixelsTool, ToggleRealityTileBounds, ToggleRealityTileFreeze,\r\n ToggleRealityTileLogging, ToggleRealityTilePreload, ToggleVolClassIntersect,\r\n} from \"./tools/RenderTargetTools\";\r\nimport { ReportWebGLCompatibilityTool } from \"./tools/ReportWebGLCompatibilityTool\";\r\nimport { ApplyViewByIdTool, ApplyViewTool, SaveViewTool } from \"./tools/SavedViews\";\r\nimport { DumpSelectionSetTool, SelectElementsByIdTool } from \"./tools/SelectionTools\";\r\nimport { SetGpuMemoryLimitTool } from \"./tools/SetGpuMemoryLimitTool\";\r\nimport { ElementIdFromSourceAspectIdTool, SourceAspectIdFromElementIdTool } from \"./tools/SourceAspectIdTools\";\r\nimport { ToggleTileRequestDecorationTool } from \"./tools/TileRequestDecoration\";\r\nimport { ToggleTileTreeBoundsDecorationTool } from \"./tools/TileTreeBoundsDecoration\";\r\nimport { ToggleToolTipsTool } from \"./tools/ToolTipProvider\";\r\n\r\n/** Entry-point for the package. Before using the package you *must* call [[FrontendDevTools.initialize]].\r\n * @beta\r\n */\r\nexport class FrontendDevTools {\r\n private static _initialized = false;\r\n\r\n /** Call this before using the package (e.g., before instantiating any of its widgets or attempting to use any of its tools.\r\n * To initialize when starting up your app:\r\n * ```ts\r\n * IModelApp.startup();\r\n * await FrontendDevTools.initialize();\r\n * ```\r\n * @beta\r\n */\r\n public static async initialize(): Promise<void> {\r\n if (this._initialized)\r\n return;\r\n\r\n this._initialized = true;\r\n\r\n // clean up if we're being shut down\r\n IModelApp.onBeforeShutdown.addListener(() => this.shutdown());\r\n\r\n const namespace = \"FrontendDevTools\";\r\n const namespacePromise = IModelApp.localization.registerNamespace(namespace);\r\n const tools = [\r\n AttachMapLayerTool,\r\n AttachMapOverlayTool,\r\n AttachModelMapLayerTool,\r\n AttachArcGISMapLayerByUrlTool,\r\n AttachArcGISFeatureMapLayerByUrlTool,\r\n AttachWmsMapLayerByUrlTool,\r\n AttachWmtsMapLayerByUrlTool,\r\n AttachTileURLMapLayerByUrlTool,\r\n AnimationIntervalTool,\r\n ApplyRenderingStyleTool,\r\n ApplyViewByIdTool,\r\n ApplyViewTool,\r\n ChangeBackgroundColorTool,\r\n ChangeCameraTool,\r\n ChangeEmphasisSettingsTool,\r\n ChangeFlashSettingsTool,\r\n ChangeHiliteModeTool,\r\n ChangeHiliteSettingsTool,\r\n ChangePlanProjectionSettingsTool,\r\n ChangeUnitsTool,\r\n ChangeViewFlagsTool,\r\n ClearEffectsTool,\r\n ClearEmphasizedElementsTool,\r\n ClearIsolatedElementsTool,\r\n ClipColorTool,\r\n CompileShadersTool,\r\n DefaultTileSizeModifierTool,\r\n DetachMapLayersTool,\r\n DumpPlanProjectionSettingsTool,\r\n DumpSelectionSetTool,\r\n EdgeDetectionEffect,\r\n EmbossEffect,\r\n ElementIdFromSourceAspectIdTool,\r\n EmphasizeSelectedElementsTool,\r\n EmphasizeVisibleElementsTool,\r\n ExplosionEffect,\r\n FadeOutTool,\r\n FlipImageConfig,\r\n FlipImageEffect,\r\n FreezeSceneTool,\r\n GaussianBlurEffect,\r\n InspectElementTool,\r\n IsolateSelectedElementsTool,\r\n LensDistortionConfig,\r\n LensDistortionEffect,\r\n LoseWebGLContextTool,\r\n MapLayerTransparencyTool,\r\n MapLayerVisibilityTool,\r\n MapLayerSubLayerVisibilityTool,\r\n MapLayerZoomTool,\r\n MapBaseColorTool,\r\n MapBaseTransparencyTool,\r\n MapBaseVisibilityTool,\r\n MeasureTileLoadTimeTool,\r\n OverrideSubCategoryTool,\r\n OverrideSubCategoryPriorityTool,\r\n QueryScheduleScriptTool,\r\n RealityTransitionTool,\r\n ReorderMapLayers,\r\n ReportWebGLCompatibilityTool,\r\n ReverseScheduleScriptTool,\r\n SaturationConfig,\r\n SaturationEffect,\r\n SaveRenderingStyleTool,\r\n SaveViewTool,\r\n SelectElementsByIdTool,\r\n SetAASamplesTool,\r\n SetAspectRatioSkewTool,\r\n SetScheduleScriptTool,\r\n ToggleVolClassIntersect,\r\n SetMapBaseTool,\r\n SharpenEffect,\r\n SharpnessEffect,\r\n ShowTileVolumesTool,\r\n SkyCubeTool,\r\n SkySphereTool,\r\n SnowEffect,\r\n SourceAspectIdFromElementIdTool,\r\n TestClipStyleTool,\r\n Toggle3dManipulationsTool,\r\n ToggleDrawingGraphicsTool,\r\n ToggleDPIForLODTool,\r\n ToggleDrapeFrustumTool,\r\n ToggleFrustumSnapshotTool,\r\n ToggleNormalMaps,\r\n TogglePrimitiveVisibilityTool,\r\n ToggleProjectExtentsTool,\r\n ToggleReadPixelsTool,\r\n ToggleSectionDrawingSpatialViewTool,\r\n ToggleSelectedViewFrustumTool,\r\n ToggleShadowFrustumTool,\r\n ToggleSkyboxTool,\r\n ToggleTileRequestDecorationTool,\r\n ToggleTileTreeBoundsDecorationTool,\r\n ToggleTileTreeReferencesTool,\r\n ToggleToolTipsTool,\r\n ToggleViewAttachmentBoundariesTool,\r\n ToggleViewAttachmentClipShapesTool,\r\n ToggleViewAttachmentsTool,\r\n ToggleWiremeshTool,\r\n ToggleRealityTileBounds,\r\n ToggleRealityTilePreload,\r\n ToggleRealityTileLogging,\r\n ToggleRealityTileFreeze,\r\n ToggleSectionCutTool,\r\n ToggleTerrainTool,\r\n UnsharpenEffect,\r\n ViewportAddRealityModel,\r\n ViewportTileSizeModifierTool,\r\n VignetteConfig,\r\n VignetteEffect,\r\n AttachRealityModelTool,\r\n DetachRealityModelTool,\r\n SaveRealityModelTool,\r\n SetGpuMemoryLimitTool,\r\n SetRealityModelLocateTool,\r\n SetRealityModelEmphasizedTool,\r\n SetRealityModelTransparencyTool,\r\n SetRealityModelColorTool,\r\n SetModelLocateTool,\r\n SetModelEmphasizedTool,\r\n SetModelTransparencyTool,\r\n SetModelColorTool,\r\n SetModelLineWeightTool,\r\n SetModelLineCodeTool,\r\n SetModelIgnoresMaterialsTool,\r\n ClearRealityModelAppearanceOverrides,\r\n ClearModelAppearanceOverrides,\r\n AttachCesiumAssetTool,\r\n ToggleOSMBuildingDisplay,\r\n SetHigherPriorityRealityModelMasking,\r\n SetMapHigherPriorityMasking,\r\n MaskRealityModelByModelTool,\r\n MaskRealityModelBySubCategoryTool,\r\n MaskRealityModelByElementTool,\r\n MaskRealityModelByExcludedElementTool,\r\n UnmaskRealityModelTool,\r\n MaskBackgroundMapByModelTool,\r\n MaskBackgroundMapBySubCategoryTool,\r\n MaskBackgroundMapByElementTool,\r\n MaskBackgroundMapByExcludedElementTool,\r\n UnmaskMapTool,\r\n WoWIgnoreBackgroundTool,\r\n ];\r\n\r\n for (const tool of tools)\r\n tool.register(namespace);\r\n\r\n return namespacePromise;\r\n }\r\n\r\n private static shutdown() {\r\n this._initialized = false;\r\n }\r\n}\r\n"]}
@@ -1,69 +1,69 @@
1
- /** @packageDocumentation
2
- * @module Effects
3
- */
4
- import { ScreenSpaceEffectBuilder } from "@itwin/core-frontend";
5
- import { AddEffectTool } from "./EffectTools";
6
- /** Adds one of a collection of "convolution kernels" that alter a [Viewport]($frontend)'s image by blending neighboring pixels.
7
- * Based on https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html
8
- * @beta
9
- */
10
- export declare abstract class ConvolutionEffect extends AddEffectTool {
11
- static get minArgs(): number;
12
- static get maxArgs(): number;
13
- protected abstract get matrix(): number[];
14
- protected get textureCoordFromPosition(): boolean;
15
- protected get source(): {
16
- vertex: string;
17
- fragment: string;
18
- };
19
- protected defineEffect(builder: ScreenSpaceEffectBuilder): void;
20
- }
21
- /** Adds a gaussian blur screen-space effect to the selected Viewport.
22
- * @beta
23
- */
24
- export declare class GaussianBlurEffect extends ConvolutionEffect {
25
- static toolId: string;
26
- protected get effectName(): string;
27
- protected get matrix(): number[];
28
- }
29
- /** Adds a screen-space unsharpen effect to the selected Viewport.
30
- * @beta
31
- */
32
- export declare class UnsharpenEffect extends ConvolutionEffect {
33
- static toolId: string;
34
- protected get effectName(): string;
35
- protected get matrix(): number[];
36
- }
37
- /** Adds a screen-space emboss effect to the selected Viewport.
38
- * @beta
39
- */
40
- export declare class EmbossEffect extends ConvolutionEffect {
41
- static toolId: string;
42
- protected get effectName(): string;
43
- protected get matrix(): number[];
44
- }
45
- /** Adds a screen-space sharpen effect to the selected Viewport.
46
- * @beta
47
- */
48
- export declare class SharpenEffect extends ConvolutionEffect {
49
- static toolId: string;
50
- protected get effectName(): string;
51
- protected get matrix(): number[];
52
- }
53
- /** Adds a screen-space sharpness effect to the selected Viewport.
54
- * @beta
55
- */
56
- export declare class SharpnessEffect extends ConvolutionEffect {
57
- static toolId: string;
58
- protected get effectName(): string;
59
- protected get matrix(): number[];
60
- }
61
- /** Adds a screen-space edge-detection effect to the selected Viewport.
62
- * @beta
63
- */
64
- export declare class EdgeDetectionEffect extends ConvolutionEffect {
65
- static toolId: string;
66
- protected get effectName(): string;
67
- protected get matrix(): number[];
68
- }
1
+ /** @packageDocumentation
2
+ * @module Effects
3
+ */
4
+ import { ScreenSpaceEffectBuilder } from "@itwin/core-frontend";
5
+ import { AddEffectTool } from "./EffectTools";
6
+ /** Adds one of a collection of "convolution kernels" that alter a [Viewport]($frontend)'s image by blending neighboring pixels.
7
+ * Based on https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html
8
+ * @beta
9
+ */
10
+ export declare abstract class ConvolutionEffect extends AddEffectTool {
11
+ static get minArgs(): number;
12
+ static get maxArgs(): number;
13
+ protected abstract get matrix(): number[];
14
+ protected get textureCoordFromPosition(): boolean;
15
+ protected get source(): {
16
+ vertex: string;
17
+ fragment: string;
18
+ };
19
+ protected defineEffect(builder: ScreenSpaceEffectBuilder): void;
20
+ }
21
+ /** Adds a gaussian blur screen-space effect to the selected Viewport.
22
+ * @beta
23
+ */
24
+ export declare class GaussianBlurEffect extends ConvolutionEffect {
25
+ static toolId: string;
26
+ protected get effectName(): string;
27
+ protected get matrix(): number[];
28
+ }
29
+ /** Adds a screen-space unsharpen effect to the selected Viewport.
30
+ * @beta
31
+ */
32
+ export declare class UnsharpenEffect extends ConvolutionEffect {
33
+ static toolId: string;
34
+ protected get effectName(): string;
35
+ protected get matrix(): number[];
36
+ }
37
+ /** Adds a screen-space emboss effect to the selected Viewport.
38
+ * @beta
39
+ */
40
+ export declare class EmbossEffect extends ConvolutionEffect {
41
+ static toolId: string;
42
+ protected get effectName(): string;
43
+ protected get matrix(): number[];
44
+ }
45
+ /** Adds a screen-space sharpen effect to the selected Viewport.
46
+ * @beta
47
+ */
48
+ export declare class SharpenEffect extends ConvolutionEffect {
49
+ static toolId: string;
50
+ protected get effectName(): string;
51
+ protected get matrix(): number[];
52
+ }
53
+ /** Adds a screen-space sharpness effect to the selected Viewport.
54
+ * @beta
55
+ */
56
+ export declare class SharpnessEffect extends ConvolutionEffect {
57
+ static toolId: string;
58
+ protected get effectName(): string;
59
+ protected get matrix(): number[];
60
+ }
61
+ /** Adds a screen-space edge-detection effect to the selected Viewport.
62
+ * @beta
63
+ */
64
+ export declare class EdgeDetectionEffect extends ConvolutionEffect {
65
+ static toolId: string;
66
+ protected get effectName(): string;
67
+ protected get matrix(): number[];
68
+ }
69
69
  //# sourceMappingURL=Convolution.d.ts.map
@@ -1,31 +1,31 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Effects
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.EdgeDetectionEffect = exports.SharpnessEffect = exports.SharpenEffect = exports.EmbossEffect = exports.UnsharpenEffect = exports.GaussianBlurEffect = exports.ConvolutionEffect = void 0;
11
- const core_frontend_1 = require("@itwin/core-frontend");
12
- const EffectTools_1 = require("./EffectTools");
13
- /** Adds one of a collection of "convolution kernels" that alter a [Viewport]($frontend)'s image by blending neighboring pixels.
14
- * Based on https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html
15
- * @beta
16
- */
17
- class ConvolutionEffect extends EffectTools_1.AddEffectTool {
18
- static get minArgs() { return 0; }
19
- static get maxArgs() { return 0; }
20
- get textureCoordFromPosition() { return true; }
21
- get source() {
22
- return {
23
- // The vertex shader simply computes the texture coordinate for use in the fragment shader.
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Effects
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.EdgeDetectionEffect = exports.SharpnessEffect = exports.SharpenEffect = exports.EmbossEffect = exports.UnsharpenEffect = exports.GaussianBlurEffect = exports.ConvolutionEffect = void 0;
11
+ const core_frontend_1 = require("@itwin/core-frontend");
12
+ const EffectTools_1 = require("./EffectTools");
13
+ /** Adds one of a collection of "convolution kernels" that alter a [Viewport]($frontend)'s image by blending neighboring pixels.
14
+ * Based on https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html
15
+ * @beta
16
+ */
17
+ class ConvolutionEffect extends EffectTools_1.AddEffectTool {
18
+ static get minArgs() { return 0; }
19
+ static get maxArgs() { return 0; }
20
+ get textureCoordFromPosition() { return true; }
21
+ get source() {
22
+ return {
23
+ // The vertex shader simply computes the texture coordinate for use in the fragment shader.
24
24
  vertex: `
25
25
  void effectMain(vec4 pos) {
26
26
  v_texCoord = textureCoordFromPosition(pos);
27
- }`,
28
- // The fragment shader samples the pixel and its neighbors and applies the kernel.
27
+ }`,
28
+ // The fragment shader samples the pixel and its neighbors and applies the kernel.
29
29
  fragment: `
30
30
  vec4 effectMain() {
31
31
  vec2 onePixel = vec2(1.0, 1.0) / u_textureSize;
@@ -40,127 +40,127 @@ class ConvolutionEffect extends EffectTools_1.AddEffectTool {
40
40
  TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 0, 1)) * u_kernel[7] +
41
41
  TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 1, 1)) * u_kernel[8] ;
42
42
  return vec4((colorSum / u_kernelWeight).rgb, 1);
43
- }`,
44
- };
45
- }
46
- defineEffect(builder) {
47
- // Define the varying for the texture coordinate.
48
- builder.addVarying("v_texCoord", core_frontend_1.VaryingType.Vec2);
49
- // Hook up the uniforms.
50
- const matrix = this.matrix;
51
- builder.addUniform({
52
- name: "u_textureSize",
53
- type: core_frontend_1.UniformType.Vec2,
54
- bind: (uniform, context) => {
55
- const rect = context.viewport.viewRect;
56
- uniform.setUniform2fv([rect.width, rect.height]);
57
- },
58
- });
59
- builder.addUniformArray({
60
- name: "u_kernel",
61
- type: core_frontend_1.UniformType.Float,
62
- length: matrix.length,
63
- bind: (uniform) => uniform.setUniform1fv(matrix),
64
- });
65
- let weight = matrix.reduce((prev, curr) => prev + curr);
66
- if (weight <= 0)
67
- weight = 1;
68
- builder.addUniform({
69
- name: "u_kernelWeight",
70
- type: core_frontend_1.UniformType.Float,
71
- bind: (uniform) => uniform.setUniform1f(weight),
72
- });
73
- }
74
- }
75
- exports.ConvolutionEffect = ConvolutionEffect;
76
- /** Adds a gaussian blur screen-space effect to the selected Viewport.
77
- * @beta
78
- */
79
- class GaussianBlurEffect extends ConvolutionEffect {
80
- get effectName() { return "blur"; }
81
- get matrix() {
82
- return [
83
- 0.045, 0.122, 0.045,
84
- 0.122, 0.332, 0.122,
85
- 0.045, 0.122, 0.045,
86
- ];
87
- }
88
- }
89
- exports.GaussianBlurEffect = GaussianBlurEffect;
90
- GaussianBlurEffect.toolId = "GaussianBlurEffect";
91
- /** Adds a screen-space unsharpen effect to the selected Viewport.
92
- * @beta
93
- */
94
- class UnsharpenEffect extends ConvolutionEffect {
95
- get effectName() { return "unsharpen"; }
96
- get matrix() {
97
- return [
98
- -1, -1, -1,
99
- -1, 9, -1,
100
- -1, -1, -1,
101
- ];
102
- }
103
- }
104
- exports.UnsharpenEffect = UnsharpenEffect;
105
- UnsharpenEffect.toolId = "UnsharpenEffect";
106
- /** Adds a screen-space emboss effect to the selected Viewport.
107
- * @beta
108
- */
109
- class EmbossEffect extends ConvolutionEffect {
110
- get effectName() { return "emboss"; }
111
- get matrix() {
112
- return [
113
- -2, -1, 0,
114
- -1, 1, 1,
115
- 0, 1, 2,
116
- ];
117
- }
118
- }
119
- exports.EmbossEffect = EmbossEffect;
120
- EmbossEffect.toolId = "EmbossEffect";
121
- /** Adds a screen-space sharpen effect to the selected Viewport.
122
- * @beta
123
- */
124
- class SharpenEffect extends ConvolutionEffect {
125
- get effectName() { return "sharpen"; }
126
- get matrix() {
127
- return [
128
- 0, -1, 0,
129
- -1, 5, -1,
130
- 0, -1, 0,
131
- ];
132
- }
133
- }
134
- exports.SharpenEffect = SharpenEffect;
135
- SharpenEffect.toolId = "SharpenEffect";
136
- /** Adds a screen-space sharpness effect to the selected Viewport.
137
- * @beta
138
- */
139
- class SharpnessEffect extends ConvolutionEffect {
140
- get effectName() { return "sharpness"; }
141
- get matrix() {
142
- return [
143
- 0, -1, 0,
144
- -1, 5, -1,
145
- 0, -1, 0,
146
- ];
147
- }
148
- }
149
- exports.SharpnessEffect = SharpnessEffect;
150
- SharpnessEffect.toolId = "SharpnessEffect";
151
- /** Adds a screen-space edge-detection effect to the selected Viewport.
152
- * @beta
153
- */
154
- class EdgeDetectionEffect extends ConvolutionEffect {
155
- get effectName() { return "edgedetect"; }
156
- get matrix() {
157
- return [
158
- -5, 0, 0,
159
- 0, 0, 0,
160
- 0, 0, 5,
161
- ];
162
- }
163
- }
164
- exports.EdgeDetectionEffect = EdgeDetectionEffect;
165
- EdgeDetectionEffect.toolId = "EdgeDetectionEffect";
43
+ }`,
44
+ };
45
+ }
46
+ defineEffect(builder) {
47
+ // Define the varying for the texture coordinate.
48
+ builder.addVarying("v_texCoord", core_frontend_1.VaryingType.Vec2);
49
+ // Hook up the uniforms.
50
+ const matrix = this.matrix;
51
+ builder.addUniform({
52
+ name: "u_textureSize",
53
+ type: core_frontend_1.UniformType.Vec2,
54
+ bind: (uniform, context) => {
55
+ const rect = context.viewport.viewRect;
56
+ uniform.setUniform2fv([rect.width, rect.height]);
57
+ },
58
+ });
59
+ builder.addUniformArray({
60
+ name: "u_kernel",
61
+ type: core_frontend_1.UniformType.Float,
62
+ length: matrix.length,
63
+ bind: (uniform) => uniform.setUniform1fv(matrix),
64
+ });
65
+ let weight = matrix.reduce((prev, curr) => prev + curr);
66
+ if (weight <= 0)
67
+ weight = 1;
68
+ builder.addUniform({
69
+ name: "u_kernelWeight",
70
+ type: core_frontend_1.UniformType.Float,
71
+ bind: (uniform) => uniform.setUniform1f(weight),
72
+ });
73
+ }
74
+ }
75
+ exports.ConvolutionEffect = ConvolutionEffect;
76
+ /** Adds a gaussian blur screen-space effect to the selected Viewport.
77
+ * @beta
78
+ */
79
+ class GaussianBlurEffect extends ConvolutionEffect {
80
+ get effectName() { return "blur"; }
81
+ get matrix() {
82
+ return [
83
+ 0.045, 0.122, 0.045,
84
+ 0.122, 0.332, 0.122,
85
+ 0.045, 0.122, 0.045,
86
+ ];
87
+ }
88
+ }
89
+ GaussianBlurEffect.toolId = "GaussianBlurEffect";
90
+ exports.GaussianBlurEffect = GaussianBlurEffect;
91
+ /** Adds a screen-space unsharpen effect to the selected Viewport.
92
+ * @beta
93
+ */
94
+ class UnsharpenEffect extends ConvolutionEffect {
95
+ get effectName() { return "unsharpen"; }
96
+ get matrix() {
97
+ return [
98
+ -1, -1, -1,
99
+ -1, 9, -1,
100
+ -1, -1, -1,
101
+ ];
102
+ }
103
+ }
104
+ UnsharpenEffect.toolId = "UnsharpenEffect";
105
+ exports.UnsharpenEffect = UnsharpenEffect;
106
+ /** Adds a screen-space emboss effect to the selected Viewport.
107
+ * @beta
108
+ */
109
+ class EmbossEffect extends ConvolutionEffect {
110
+ get effectName() { return "emboss"; }
111
+ get matrix() {
112
+ return [
113
+ -2, -1, 0,
114
+ -1, 1, 1,
115
+ 0, 1, 2,
116
+ ];
117
+ }
118
+ }
119
+ EmbossEffect.toolId = "EmbossEffect";
120
+ exports.EmbossEffect = EmbossEffect;
121
+ /** Adds a screen-space sharpen effect to the selected Viewport.
122
+ * @beta
123
+ */
124
+ class SharpenEffect extends ConvolutionEffect {
125
+ get effectName() { return "sharpen"; }
126
+ get matrix() {
127
+ return [
128
+ 0, -1, 0,
129
+ -1, 5, -1,
130
+ 0, -1, 0,
131
+ ];
132
+ }
133
+ }
134
+ SharpenEffect.toolId = "SharpenEffect";
135
+ exports.SharpenEffect = SharpenEffect;
136
+ /** Adds a screen-space sharpness effect to the selected Viewport.
137
+ * @beta
138
+ */
139
+ class SharpnessEffect extends ConvolutionEffect {
140
+ get effectName() { return "sharpness"; }
141
+ get matrix() {
142
+ return [
143
+ 0, -1, 0,
144
+ -1, 5, -1,
145
+ 0, -1, 0,
146
+ ];
147
+ }
148
+ }
149
+ SharpnessEffect.toolId = "SharpnessEffect";
150
+ exports.SharpnessEffect = SharpnessEffect;
151
+ /** Adds a screen-space edge-detection effect to the selected Viewport.
152
+ * @beta
153
+ */
154
+ class EdgeDetectionEffect extends ConvolutionEffect {
155
+ get effectName() { return "edgedetect"; }
156
+ get matrix() {
157
+ return [
158
+ -5, 0, 0,
159
+ 0, 0, 0,
160
+ 0, 0, 5,
161
+ ];
162
+ }
163
+ }
164
+ EdgeDetectionEffect.toolId = "EdgeDetectionEffect";
165
+ exports.EdgeDetectionEffect = EdgeDetectionEffect;
166
166
  //# sourceMappingURL=Convolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Convolution.js","sourceRoot":"","sources":["../../../src/effects/Convolution.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/** @packageDocumentation\r\n * @module Effects\r\n */\r\n\r\nimport { ScreenSpaceEffectBuilder, UniformType, VaryingType } from \"@itwin/core-frontend\";\r\nimport { AddEffectTool } from \"./EffectTools\";\r\n\r\n/** Adds one of a collection of \"convolution kernels\" that alter a [Viewport]($frontend)'s image by blending neighboring pixels.\r\n * Based on https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html\r\n * @beta\r\n */\r\nexport abstract class ConvolutionEffect extends AddEffectTool {\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 0; }\r\n\r\n protected abstract get matrix(): number[];\r\n\r\n protected get textureCoordFromPosition() { return true; }\r\n\r\n protected get source() {\r\n return {\r\n // The vertex shader simply computes the texture coordinate for use in the fragment shader.\r\n vertex: `\r\n void effectMain(vec4 pos) {\r\n v_texCoord = textureCoordFromPosition(pos);\r\n }`,\r\n // The fragment shader samples the pixel and its neighbors and applies the kernel.\r\n fragment: `\r\n vec4 effectMain() {\r\n vec2 onePixel = vec2(1.0, 1.0) / u_textureSize;\r\n vec4 colorSum =\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2(-1, -1)) * u_kernel[0] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 0, -1)) * u_kernel[1] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 1, -1)) * u_kernel[2] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2(-1, 0)) * u_kernel[3] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 0, 0)) * u_kernel[4] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 1, 0)) * u_kernel[5] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2(-1, 1)) * u_kernel[6] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 0, 1)) * u_kernel[7] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 1, 1)) * u_kernel[8] ;\r\n return vec4((colorSum / u_kernelWeight).rgb, 1);\r\n }`,\r\n };\r\n }\r\n\r\n protected defineEffect(builder: ScreenSpaceEffectBuilder): void {\r\n // Define the varying for the texture coordinate.\r\n builder.addVarying(\"v_texCoord\", VaryingType.Vec2);\r\n\r\n // Hook up the uniforms.\r\n const matrix = this.matrix;\r\n builder.addUniform({\r\n name: \"u_textureSize\",\r\n type: UniformType.Vec2,\r\n bind: (uniform, context) => {\r\n const rect = context.viewport.viewRect;\r\n uniform.setUniform2fv([rect.width, rect.height]);\r\n },\r\n });\r\n builder.addUniformArray({\r\n name: \"u_kernel\",\r\n type: UniformType.Float,\r\n length: matrix.length,\r\n bind: (uniform) => uniform.setUniform1fv(matrix),\r\n });\r\n\r\n let weight = matrix.reduce((prev, curr) => prev + curr);\r\n if (weight <= 0)\r\n weight = 1;\r\n\r\n builder.addUniform({\r\n name: \"u_kernelWeight\",\r\n type: UniformType.Float,\r\n bind: (uniform) => uniform.setUniform1f(weight),\r\n });\r\n }\r\n}\r\n\r\n/** Adds a gaussian blur screen-space effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class GaussianBlurEffect extends ConvolutionEffect {\r\n public static override toolId = \"GaussianBlurEffect\";\r\n protected get effectName() { return \"blur\"; }\r\n protected get matrix() {\r\n return [\r\n 0.045, 0.122, 0.045,\r\n 0.122, 0.332, 0.122,\r\n 0.045, 0.122, 0.045,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space unsharpen effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class UnsharpenEffect extends ConvolutionEffect {\r\n public static override toolId = \"UnsharpenEffect\";\r\n protected get effectName() { return \"unsharpen\"; }\r\n protected get matrix() {\r\n return [\r\n -1, -1, -1,\r\n -1, 9, -1,\r\n -1, -1, -1,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space emboss effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class EmbossEffect extends ConvolutionEffect {\r\n public static override toolId = \"EmbossEffect\";\r\n protected get effectName() { return \"emboss\"; }\r\n protected get matrix() {\r\n return [\r\n -2, -1, 0,\r\n -1, 1, 1,\r\n 0, 1, 2,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space sharpen effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class SharpenEffect extends ConvolutionEffect {\r\n public static override toolId = \"SharpenEffect\";\r\n protected get effectName() { return \"sharpen\"; }\r\n protected get matrix() {\r\n return [\r\n 0, -1, 0,\r\n -1, 5, -1,\r\n 0, -1, 0,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space sharpness effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class SharpnessEffect extends ConvolutionEffect {\r\n public static override toolId = \"SharpnessEffect\";\r\n protected get effectName() { return \"sharpness\"; }\r\n protected get matrix() {\r\n return [\r\n 0, -1, 0,\r\n -1, 5, -1,\r\n 0, -1, 0,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space edge-detection effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class EdgeDetectionEffect extends ConvolutionEffect {\r\n public static override toolId = \"EdgeDetectionEffect\";\r\n protected get effectName() { return \"edgedetect\"; }\r\n protected get matrix() {\r\n return [\r\n -5, 0, 0,\r\n 0, 0, 0,\r\n 0, 0, 5,\r\n ];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Convolution.js","sourceRoot":"","sources":["../../../src/effects/Convolution.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/** @packageDocumentation\r\n * @module Effects\r\n */\r\n\r\nimport { ScreenSpaceEffectBuilder, UniformType, VaryingType } from \"@itwin/core-frontend\";\r\nimport { AddEffectTool } from \"./EffectTools\";\r\n\r\n/** Adds one of a collection of \"convolution kernels\" that alter a [Viewport]($frontend)'s image by blending neighboring pixels.\r\n * Based on https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html\r\n * @beta\r\n */\r\nexport abstract class ConvolutionEffect extends AddEffectTool {\r\n public static override get minArgs() { return 0; }\r\n public static override get maxArgs() { return 0; }\r\n\r\n protected abstract get matrix(): number[];\r\n\r\n protected get textureCoordFromPosition() { return true; }\r\n\r\n protected get source() {\r\n return {\r\n // The vertex shader simply computes the texture coordinate for use in the fragment shader.\r\n vertex: `\r\n void effectMain(vec4 pos) {\r\n v_texCoord = textureCoordFromPosition(pos);\r\n }`,\r\n // The fragment shader samples the pixel and its neighbors and applies the kernel.\r\n fragment: `\r\n vec4 effectMain() {\r\n vec2 onePixel = vec2(1.0, 1.0) / u_textureSize;\r\n vec4 colorSum =\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2(-1, -1)) * u_kernel[0] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 0, -1)) * u_kernel[1] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 1, -1)) * u_kernel[2] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2(-1, 0)) * u_kernel[3] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 0, 0)) * u_kernel[4] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 1, 0)) * u_kernel[5] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2(-1, 1)) * u_kernel[6] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 0, 1)) * u_kernel[7] +\r\n TEXTURE(u_diffuse, v_texCoord + onePixel * vec2( 1, 1)) * u_kernel[8] ;\r\n return vec4((colorSum / u_kernelWeight).rgb, 1);\r\n }`,\r\n };\r\n }\r\n\r\n protected defineEffect(builder: ScreenSpaceEffectBuilder): void {\r\n // Define the varying for the texture coordinate.\r\n builder.addVarying(\"v_texCoord\", VaryingType.Vec2);\r\n\r\n // Hook up the uniforms.\r\n const matrix = this.matrix;\r\n builder.addUniform({\r\n name: \"u_textureSize\",\r\n type: UniformType.Vec2,\r\n bind: (uniform, context) => {\r\n const rect = context.viewport.viewRect;\r\n uniform.setUniform2fv([rect.width, rect.height]);\r\n },\r\n });\r\n builder.addUniformArray({\r\n name: \"u_kernel\",\r\n type: UniformType.Float,\r\n length: matrix.length,\r\n bind: (uniform) => uniform.setUniform1fv(matrix),\r\n });\r\n\r\n let weight = matrix.reduce((prev, curr) => prev + curr);\r\n if (weight <= 0)\r\n weight = 1;\r\n\r\n builder.addUniform({\r\n name: \"u_kernelWeight\",\r\n type: UniformType.Float,\r\n bind: (uniform) => uniform.setUniform1f(weight),\r\n });\r\n }\r\n}\r\n\r\n/** Adds a gaussian blur screen-space effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class GaussianBlurEffect extends ConvolutionEffect {\r\n public static override toolId = \"GaussianBlurEffect\";\r\n protected get effectName() { return \"blur\"; }\r\n protected get matrix() {\r\n return [\r\n 0.045, 0.122, 0.045,\r\n 0.122, 0.332, 0.122,\r\n 0.045, 0.122, 0.045,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space unsharpen effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class UnsharpenEffect extends ConvolutionEffect {\r\n public static override toolId = \"UnsharpenEffect\";\r\n protected get effectName() { return \"unsharpen\"; }\r\n protected get matrix() {\r\n return [\r\n -1, -1, -1,\r\n -1, 9, -1,\r\n -1, -1, -1,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space emboss effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class EmbossEffect extends ConvolutionEffect {\r\n public static override toolId = \"EmbossEffect\";\r\n protected get effectName() { return \"emboss\"; }\r\n protected get matrix() {\r\n return [\r\n -2, -1, 0,\r\n -1, 1, 1,\r\n 0, 1, 2,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space sharpen effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class SharpenEffect extends ConvolutionEffect {\r\n public static override toolId = \"SharpenEffect\";\r\n protected get effectName() { return \"sharpen\"; }\r\n protected get matrix() {\r\n return [\r\n 0, -1, 0,\r\n -1, 5, -1,\r\n 0, -1, 0,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space sharpness effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class SharpnessEffect extends ConvolutionEffect {\r\n public static override toolId = \"SharpnessEffect\";\r\n protected get effectName() { return \"sharpness\"; }\r\n protected get matrix() {\r\n return [\r\n 0, -1, 0,\r\n -1, 5, -1,\r\n 0, -1, 0,\r\n ];\r\n }\r\n}\r\n\r\n/** Adds a screen-space edge-detection effect to the selected Viewport.\r\n * @beta\r\n */\r\nexport class EdgeDetectionEffect extends ConvolutionEffect {\r\n public static override toolId = \"EdgeDetectionEffect\";\r\n protected get effectName() { return \"edgedetect\"; }\r\n protected get matrix() {\r\n return [\r\n -5, 0, 0,\r\n 0, 0, 0,\r\n 0, 0, 5,\r\n ];\r\n }\r\n}\r\n"]}
@@ -1,34 +1,34 @@
1
- /** @packageDocumentation
2
- * @module Effects
3
- */
4
- import { ScreenSpaceEffectBuilder, ScreenSpaceEffectSource, Tool } from "@itwin/core-frontend";
5
- /** Adds a screen-space effect to the selected viewport.
6
- * @beta
7
- */
8
- export declare abstract class AddEffectTool extends Tool {
9
- private static readonly _registeredEffects;
10
- /** Name of effect as used in keyins like `fdt effect add`. Ideally one word. */
11
- protected abstract get effectName(): string;
12
- /** vertex, fragment, and optional sampleSourcePixel GLSL snippets. */
13
- protected abstract get source(): ScreenSpaceEffectSource;
14
- /** Whether the fragment shader should include built-in `textureCoordFromPosition` function. */
15
- protected abstract get textureCoordFromPosition(): boolean;
16
- /** Add uniforms, varyings, etc. */
17
- protected abstract defineEffect(builder: ScreenSpaceEffectBuilder): void;
18
- run(): Promise<boolean>;
19
- }
20
- /** Removes all screen-space effects from the selected viewport.
21
- * @beta
22
- */
23
- export declare class ClearEffectsTool extends Tool {
24
- static toolId: string;
25
- static get minArgs(): number;
26
- static get maxArgs(): number;
27
- run(): Promise<boolean>;
28
- }
29
- /** Requests that any viewport to which the specified effect has been applied redraw its contents.
30
- * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.
31
- * @beta
32
- */
33
- export declare function refreshViewportsForEffect(effectName: string): void;
1
+ /** @packageDocumentation
2
+ * @module Effects
3
+ */
4
+ import { ScreenSpaceEffectBuilder, ScreenSpaceEffectSource, Tool } from "@itwin/core-frontend";
5
+ /** Adds a screen-space effect to the selected viewport.
6
+ * @beta
7
+ */
8
+ export declare abstract class AddEffectTool extends Tool {
9
+ private static readonly _registeredEffects;
10
+ /** Name of effect as used in keyins like `fdt effect add`. Ideally one word. */
11
+ protected abstract get effectName(): string;
12
+ /** vertex, fragment, and optional sampleSourcePixel GLSL snippets. */
13
+ protected abstract get source(): ScreenSpaceEffectSource;
14
+ /** Whether the fragment shader should include built-in `textureCoordFromPosition` function. */
15
+ protected abstract get textureCoordFromPosition(): boolean;
16
+ /** Add uniforms, varyings, etc. */
17
+ protected abstract defineEffect(builder: ScreenSpaceEffectBuilder): void;
18
+ run(): Promise<boolean>;
19
+ }
20
+ /** Removes all screen-space effects from the selected viewport.
21
+ * @beta
22
+ */
23
+ export declare class ClearEffectsTool extends Tool {
24
+ static toolId: string;
25
+ static get minArgs(): number;
26
+ static get maxArgs(): number;
27
+ run(): Promise<boolean>;
28
+ }
29
+ /** Requests that any viewport to which the specified effect has been applied redraw its contents.
30
+ * Used by tools like [[VignetteConfig]] to update the view after the effect parameters are modified.
31
+ * @beta
32
+ */
33
+ export declare function refreshViewportsForEffect(effectName: string): void;
34
34
  //# sourceMappingURL=EffectTools.d.ts.map